/* ==========================================================================
   Landing page "Kurs Stresskompetenz" – page-scoped styles.
   Loaded only on the page with slug "kurs-stresskompetenz" (see functions.php).
   Relies on the design tokens (--color-*, --radius-*, --shadow-* …) and base
   components (.section, .container, .heading, .btn, .card …) defined in
   theme.css, which always loads first.
   ========================================================================== */

/* Prose / rich-text layer – zero-specificity so component classes always win */
:where(.prose) > *{margin-block:0}
:where(.prose) > * + *{margin-top:1.25rem}
:where(.prose) p{line-height:1.7}
:where(.prose) h2{font-size:clamp(1.6rem,3.5vw,2.1rem);font-weight:900;text-transform:uppercase;line-height:1.15;margin-top:2.75rem}
:where(.prose) h3{font-size:clamp(1.3rem,2.6vw,1.6rem);font-weight:800;margin-top:2rem}
:where(.prose) h4{font-size:1.2rem;font-weight:700;margin-top:1.5rem}
:where(.prose) h2 + *,:where(.prose) h3 + *,:where(.prose) h4 + *{margin-top:.75rem}
:where(.prose) ul,:where(.prose) ol{padding-left:1.5rem}
:where(.prose) ul{list-style:disc}
:where(.prose) ol{list-style:decimal}
:where(.prose) li{margin-bottom:.5rem}
:where(.prose) li::marker{color:var(--color-primary)}
:where(.prose) blockquote{margin:2rem 0;padding:.25rem 0 .25rem 1.5rem;border-left:4px solid var(--color-primary);font-style:italic;color:var(--color-text-muted)}
:where(.prose) blockquote > *{margin-block:.5rem}
:where(.prose) a{color:var(--color-primary-dark);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--color-primary-light)}
:where(.prose) a:hover{color:var(--color-accent);text-decoration-color:var(--color-accent)}
:where(.prose) figure{margin:2rem 0}
:where(.prose) img,:where(.prose) figure img{border-radius:var(--radius-md)}
:where(.prose) hr{border:none;border-top:1px solid var(--color-stone-light);margin:2.5rem 0}
:where(.prose) strong{font-weight:700}

/* Lead paragraph */
.lead{font-size:1.375rem;line-height:1.5;color:var(--color-text)}

/* Text + image two-column (hero, etc.) */
.media-text{display:grid;grid-template-columns:1fr;gap:2rem;align-items:center}
@media(min-width:768px){.media-text{grid-template-columns:1fr 1fr}.media-text--reverse .media-text__media{order:2}}
.media-text__media img{border-radius:var(--radius-lg);width:100%}

/* Callout – highlight box */
.callout{background:var(--color-white);border-radius:var(--radius-md);padding:1.5rem 1.75rem;box-shadow:var(--shadow-sm);font-weight:600;font-size:1.15rem;line-height:1.5}
.callout > *{margin:0}
.callout > * + *{margin-top:.75rem}

/* Stat / trust bar */
.stat-bar{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;margin-top:1.75rem;font-weight:600;color:var(--color-text-muted);font-size:.95rem;letter-spacing:.02em}
.stat-bar__item{display:inline-flex;align-items:center;padding:.15rem 1.15rem}
.stat-bar__item + .stat-bar__item{border-left:1px solid var(--color-stone-light)}

/* Checklist – checkmark grid */
.checklist{list-style:none;display:grid;grid-template-columns:1fr;gap:1rem;padding:0;margin:0}
@media(min-width:640px){.checklist{grid-template-columns:1fr 1fr;gap:1rem 2.5rem}}
.checklist__item{display:flex;align-items:flex-start;gap:.75rem;line-height:1.5}
.checklist__item::before{content:'✓';flex:0 0 1.6rem;width:1.6rem;height:1.6rem;display:inline-flex;align-items:center;justify-content:center;background:var(--color-primary);color:var(--color-white);border-radius:50%;font-size:.9rem;font-weight:900;margin-top:.1rem}

/* Pillar – icon + text block */
.pillar{display:grid;grid-template-columns:1fr;gap:1rem;align-items:start}
@media(min-width:640px){.pillar{grid-template-columns:72px 1fr;gap:1.75rem}}
.pillar + .pillar{margin-top:2.75rem}
.pillar__icon{width:72px;height:auto}
.pillar__title{font-family:var(--font-display);font-weight:900;text-transform:uppercase;font-size:clamp(1.25rem,2.5vw,1.5rem);margin-bottom:.5rem}
.pillar__body > * + *{margin-top:.85rem}

/* Price card – offer box */
.price-card{max-width:540px;margin-inline:auto;background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:2.5rem 2rem;text-align:center}
.price-card__price{font-family:var(--font-display);font-weight:900;font-size:clamp(2.5rem,7vw,3.5rem);line-height:1;color:var(--color-text)}
.price-card__price span{display:block;font-size:1rem;font-weight:600;color:var(--color-text-muted);margin-top:.5rem}
.price-card__intro{margin-top:1.25rem}
.price-card__list{list-style:none;text-align:left;padding:0;margin:1.5rem 0;display:grid;gap:.75rem}
.price-card__list li{display:flex;align-items:flex-start;gap:.75rem;line-height:1.5}
.price-card__list li::before{content:'✓';flex:0 0 1.4rem;width:1.4rem;height:1.4rem;display:inline-flex;align-items:center;justify-content:center;background:var(--color-primary);color:var(--color-white);border-radius:50%;font-size:.8rem;font-weight:900;margin-top:.1rem}
.price-card__note{font-size:.9rem;color:var(--color-text-muted);margin-top:1rem}

/* Avatar – small circular portrait (instructor) */
.avatar{width:170px;height:170px;border-radius:50%;object-fit:cover;object-position:center 22%;box-shadow:var(--shadow-md);margin-inline:auto;display:block}
