@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600&family=Work+Sans:wght@400;500;600&display=swap');

:root{
  --black: #0B0B0A;
  --charcoal: #1A1917;
  --cream: #F7F2E7;
  --gold: #D9A62E;
  --gold-soft: #E8C87A;
  --coral: #C6425A;
  --jade: #3A6B4F;
  --ink-soft: #B8AF9E;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{
  background:var(--cream);
  color:var(--black);
  font-family:'Work Sans', sans-serif;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.serif{font-family:'Fraunces', serif;font-weight:500;letter-spacing:-0.01em;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:1120px;margin:0 auto;padding:0 28px;}

/* NAV */
nav{
  position:sticky;top:0;z-index:50;
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 28px;max-width:1120px;margin:0 auto;
  background:var(--cream);
}
.logo{display:flex;align-items:center;gap:12px;font-family:'Fraunces', serif;font-size:1.05rem;font-weight:600;color:var(--black);}
.logo img{width:44px;height:44px;border-radius:50%;object-fit:cover;flex-shrink:0;}
.logo em{font-style:italic;color:var(--coral);display:block;font-size:0.7rem;font-weight:400;}
.navlinks{display:flex;gap:34px;font-size:0.9rem;color:var(--black);opacity:0.75;}
.navlinks a:hover{opacity:1;}
.nav-cta{
  background:var(--coral);color:#fff;padding:12px 22px;border-radius:24px;
  font-size:0.86rem;font-weight:600;white-space:nowrap;
}
.nav-right{display:flex;align-items:center;gap:16px;}
.burger{
  display:none;width:40px;height:40px;border-radius:50%;background:var(--black);
  align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;
}
.burger span, .burger span::before, .burger span::after{
  content:'';display:block;width:16px;height:2px;background:var(--cream);position:relative;
}
.burger span::before{position:absolute;top:-5px;}
.burger span::after{position:absolute;top:5px;}
.mobile-menu{
  display:none;position:fixed;inset:0;top:0;background:var(--black);z-index:100;
  flex-direction:column;padding:28px;color:var(--cream);
}
.mobile-menu.open{display:flex;}
.mobile-menu-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:50px;}
.mobile-menu-close{
  width:40px;height:40px;border-radius:50%;background:rgba(247,242,231,0.12);
  display:flex;align-items:center;justify-content:center;color:var(--cream);font-size:1.4rem;
}
.mobile-menu a{display:block;font-family:'Fraunces',serif;font-size:1.6rem;padding:16px 0;border-bottom:1px solid rgba(247,242,231,0.15);}
.mobile-menu .nav-cta{margin-top:30px;text-align:center;}

/* FESTE MOBIL-NAVIGATIONSLEISTE UNTEN */
.bottom-nav{display:none;}

/* ANKER-SPRUNGZIELE: Abstand nach oben, damit die fixe Nav-Leiste beim Sprung zu
   #kurse, #story, #shop, einer Kategorie oder einem einzelnen Kurs nicht den
   Anfang des Zielbereichs verdeckt. */
section[id], .kategorie-block, .kurs{scroll-margin-top:90px;}

/* PAGE HEADER (für Unterseiten wie Buchung, Rechtstexte) */
.page-header{background:#fff;border-bottom:1px solid #E4DCC9;padding:36px 0;}
.page-header h1{font-size:1.6rem;}
.page-header p{color:#6b6357;margin-top:8px;}

/* HERO */
.hero{
  position:relative;height:640px;display:flex;align-items:flex-end;
  background:var(--cream);color:var(--black);overflow:hidden;
}
.hero-bg{
  position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;
}
.hero-bg img{
  width:100%;height:100%;object-fit:contain;object-position:center 30%;
}
.hero-fade{
  position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(247,242,231,0.15) 0%, rgba(247,242,231,0.35) 40%, rgba(247,242,231,0.85) 68%, rgba(247,242,231,0.98) 85%, rgba(247,242,231,1) 100%);
}
.hero .wrap{display:flex;justify-content:flex-start;}
.hero-content{position:relative;z-index:2;padding:36px 0 60px;max-width:640px;}
.hero-eyebrow{color:var(--coral);font-size:0.82rem;margin-bottom:14px;letter-spacing:0.01em;}
.hero h1{font-size:2.15rem;line-height:1.16;margin-bottom:16px;color:var(--black);}
.hero h1 em{font-style:italic;color:var(--jade);}
.hero p{font-size:0.98rem;color:#5c554a;max-width:480px;margin-bottom:24px;}
.hero-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap;}
.btn-primary{
  background:var(--coral);color:#fff;padding:15px 28px;border-radius:24px;font-weight:600;
  border:none;font-size:1rem;cursor:pointer;display:inline-block;
}
.btn-ghost{color:var(--jade);border-bottom:1px solid var(--jade);padding-bottom:2px;font-size:0.95rem;}

/* CATEGORY STRIP */
.cat-strip{background:var(--black);padding:0 0 56px;color:var(--cream);}
.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(247,242,231,0.12);border-top:1px solid rgba(247,242,231,0.12);}
.cat{background:var(--black);padding:34px 30px;transition:background 0.15s ease;}
.cat:hover{background:#1A1917;}
.cat .dur{color:var(--gold);font-size:0.82rem;margin-bottom:10px;}
.cat h3{font-size:1.3rem;margin-bottom:8px;}
.cat p{font-size:0.9rem;color:var(--ink-soft);}
.cat .from{margin-top:16px;font-size:0.95rem;color:var(--cream);}
.cat .from b{color:var(--gold-soft);}

/* STORY */
.story{padding:90px 0;background:var(--cream);}
.story .wrap{display:grid;grid-template-columns:0.55fr 1fr;gap:60px;align-items:center;}
.story-quote{
  font-family:'Fraunces', serif;font-size:1.5rem;font-style:italic;line-height:1.4;color:var(--black);
  border-left:3px solid var(--coral);padding-left:24px;
}
.story-name{margin-top:16px;font-size:0.85rem;color:var(--ink-soft);padding-left:27px;}
.story-body h2{font-size:2rem;margin-bottom:16px;}
.story-body p{color:#4a453d;max-width:520px;}

/* SECTIONS / KURSE DETAIL */
.section{padding:90px 0;}
.section-head{max-width:600px;margin-bottom:50px;}
.section-head .kicker{color:var(--coral);font-size:0.85rem;margin-bottom:10px;}
.section-head h2{font-size:2.1rem;}
.section-head p{margin-top:14px;color:#6b6357;}

.kurse-dark{background:var(--black);color:var(--cream);}
.kurse-dark .kicker{color:var(--gold);}
.kurse-dark .section-head p{color:var(--ink-soft);}
.kurse-dark .kategorie-block{border-color:#2a2925;}
.kurse-dark .kategorie-toggle{background:#161513;}
.kurse-dark .kategorie-toggle h3{color:var(--gold-soft);}
.kurse-dark .kategorie-toggle .kategorie-meta{color:var(--ink-soft);}
.kategorie-preview{width:56px;height:56px;border-radius:6px;object-fit:cover;flex-shrink:0;margin-right:16px;}
.kategorie-info{flex:1;}
.kurse-dark .kurs-grid{background:var(--cream);border-top:none;}
.kurse-dark .card{background:#161513;border-color:#2a2925;color:var(--ink-soft);}
.kurse-dark .card .title{color:var(--cream);}
.kurse-dark .card a{color:var(--gold-soft);}

.kategorie-block{margin-bottom:16px;border:1px solid #E4DCC9;border-radius:8px;overflow:hidden;}
.kategorie-toggle{
  width:100%;background:#fff;border:none;padding:16px 22px;cursor:pointer;
  display:flex;align-items:center;justify-content:space-between;text-align:left;font-family:inherit;
}
.kategorie-toggle h3{font-size:1.1rem;color:var(--jade);margin-bottom:4px;}
.kategorie-toggle .kategorie-meta{font-size:0.85rem;color:#8a8377;margin-bottom:0;}
.kategorie-chevron{font-size:1.2rem;color:var(--coral);transition:transform 0.2s ease;flex-shrink:0;margin-left:16px;}
.kategorie-block.offen .kategorie-chevron{transform:rotate(180deg);}
.kategorie-block .kurs-grid{
  display:none;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid #E4DCC9;
}
.kategorie-block.offen .kurs-grid{display:grid;}
.kurs{
  padding:26px 22px;border-bottom:1px solid #E4DCC9;border-right:1px solid #E4DCC9;
  display:flex;flex-direction:column;
}
.kurs:nth-child(3n){border-right:none;}
.kurs h4{font-size:1.05rem;margin-bottom:8px;}
.kurs p{font-size:0.88rem;color:#8a8377;flex-grow:1;}
.kurs .price{margin-top:14px;font-size:0.95rem;color:var(--jade);font-weight:600;border-top:1px dashed #E4DCC9;padding-top:12px;}
.kurs .btn-buchen{
  margin-top:14px;background:var(--coral);color:#fff;text-align:center;padding:10px;
  border-radius:20px;font-size:0.85rem;font-weight:600;
}
.kurs .ausgebucht-hinweis{margin-top:14px;color:#8a8377;font-size:0.82rem;text-align:center;}

/* SHOP-VORSCHAU (Produktkacheln auf der Startseite) */
.shop-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.product{
  display:flex;flex-direction:column;justify-content:space-between;min-width:0;min-height:110px;
  background:#fff;border:1px solid #E4DCC9;padding:18px;border-radius:2px;cursor:pointer;
}
.product h4{font-size:0.98rem;font-weight:600;overflow-wrap:break-word;word-break:break-word;}
.product-price{color:var(--jade);font-weight:600;font-size:0.92rem;margin-top:6px;}

/* GUTSCHEIN */
.gutschein{background:var(--jade);color:#EAF2EC;padding:70px 0;}
.gutschein .wrap{display:grid;grid-template-columns:1fr 0.8fr;gap:50px;align-items:center;}
.gutschein h2{font-size:2rem;color:#fff;margin-bottom:16px;}
.gutschein p{color:#CEE0D5;max-width:440px;}
.gutschein-card{
  background:#fff;color:var(--black);padding:30px;border-radius:4px;
}
.gutschein-card .label{font-size:0.8rem;color:var(--jade);margin-bottom:14px;}
.gutschein-card .cta{
  background:var(--jade);color:#fff;text-align:center;padding:14px;border-radius:2px;
  font-weight:500;display:block;margin-top:18px;
}

/* KARTEN / FORMULARE (Buchung, Gutschein-Kauf, Danke-Seiten) */
.card{background:#fff;border:1px solid #E4DCC9;border-radius:8px;padding:26px;margin-bottom:22px;}
.card .title{font-weight:600;font-size:1.1rem;margin-bottom:6px;}
.card .meta{font-size:0.9rem;color:#8a8377;}
.card .beschreibung{font-size:0.92rem;color:#4a443c;margin-top:12px;line-height:1.5;}
.card .price{color:var(--jade);font-weight:700;font-size:1.2rem;margin-top:10px;}

label{display:block;font-size:0.85rem;color:#5c554a;margin-bottom:4px;margin-top:14px;}
label:first-child{margin-top:0;}
input[type=text], input[type=email], input[type=tel], textarea, select{
  width:100%;padding:10px;border:1px solid #D8D0BE;border-radius:4px;font-size:0.95rem;font-family:inherit;
}
.upsell{
  display:flex;align-items:center;gap:10px;background:#F1EADA;
  border-radius:6px;padding:14px;margin-top:12px;
}
.upsell .label{font-weight:600;font-size:0.9rem;}
.upsell .desc{font-size:0.82rem;color:#8a8377;}
.child-consent{background:#FBEAEA;border-radius:6px;padding:14px;margin-top:16px;font-size:0.85rem;}
.gutschein-vorschlaege{margin-bottom:16px;}
.gutschein-vorschlaege .hinweis{font-size:0.8rem;color:#8a8377;display:block;margin-bottom:8px;}
.gutschein-vorschlaege-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.gutschein-vorschlag-chip{
  border:1px solid #D8D0BE;border-radius:20px;padding:10px;text-align:center;font-size:0.9rem;
  cursor:pointer;user-select:none;background:#fff;color:var(--black);font-family:inherit;
}
.gutschein-vorschlag-chip:hover{border-color:var(--coral);}
.gutschein-vorschlag-chip.active{background:var(--coral);color:#fff;border-color:var(--coral);}
.gutschein-zeile{display:flex;gap:8px;align-items:flex-start;margin-bottom:10px;}
.gutschein-zeile input[type=text]{margin-top:0;}
.gutschein-entfernen{
  margin-top:0;background:none;border:1px solid #D8D0BE;border-radius:4px;width:38px;height:38px;
  color:#8a8377;cursor:pointer;flex-shrink:0;font-size:0.9rem;
}
.gutschein-entfernen:hover{border-color:#9C3B3B;color:#9C3B3B;}
.gutschein-hinzufuegen-btn{background:none;border:none;padding:0;cursor:pointer;font-size:0.9rem;}
details.gutschein-add-block{padding:0;}
details.gutschein-add-block summary{
  cursor:pointer;padding:14px;font-weight:600;font-size:0.9rem;color:var(--jade);list-style:none;
}
details.gutschein-add-block summary::-webkit-details-marker{display:none;}
details.gutschein-add-block summary::before{content:'▸ ';}
details.gutschein-add-block[open] summary::before{content:'▾ ';}
details.gutschein-add-block .gutschein-add-inhalt{padding:0 14px 14px;}
.agb-row{display:flex;align-items:flex-start;gap:8px;margin-top:20px;font-size:0.85rem;}
.error{background:#FBEAEA;color:#9C3B3B;padding:12px;border-radius:4px;margin-bottom:16px;font-size:0.9rem;}
.empty-state{text-align:center;color:#8a8377;padding:40px 0;}

/* PORTFOLIO: Deckblatt oben auf der Seite (Porträt + Name), angelehnt an Mooks Portfolio-PDF */
.portfolio-hero{background:var(--cream);padding:80px 0 70px;}
.portfolio-hero .wrap{display:grid;grid-template-columns:1fr 0.75fr;gap:50px;align-items:center;}
.portfolio-hero .kicker{color:var(--coral);font-size:0.9rem;margin-bottom:10px;}
.portfolio-hero h1{font-size:3.4rem;line-height:1;}
.portfolio-hero .name{font-family:'Fraunces',serif;font-size:1.5rem;margin-top:26px;}
.portfolio-hero .rolle{color:#6b6357;margin-top:6px;font-size:0.95rem;}
.portfolio-hero img{width:100%;max-width:340px;margin:0 auto;display:block;}

/* PORTFOLIO: abwechselnde Bild/Text-Zeilen, eine pro Werk (Bild und Text tauschen die Seite) */
.werk-row{display:flex;align-items:stretch;min-height:460px;background:#fff;}
.werk-rows .werk-row:nth-child(even){flex-direction:row-reverse;background:var(--cream);}
.werk-row .werk-bild{flex:1 1 50%;min-width:0;}
.werk-row .werk-bild img{width:100%;height:100%;min-height:460px;object-fit:cover;display:block;}
.werk-row .werk-text{flex:1 1 50%;display:flex;flex-direction:column;justify-content:center;padding:50px 8%;}
.werk-row .werk-text h2{font-size:1.9rem;margin-bottom:16px;}
.werk-row .werk-text p{color:#4a453d;font-size:1rem;max-width:440px;}

/* FOOTER */
footer{background:var(--black);color:var(--ink-soft);padding:56px 0 30px;}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px;}
footer h4{font-family:'Fraunces',serif;color:var(--cream);font-size:1.1rem;margin-bottom:8px;}
footer p{font-size:0.88rem;max-width:320px;}
.footer-links{display:flex;flex-direction:column;gap:8px;font-size:0.88rem;}
.footer-bottom{
  margin-top:40px;padding-top:20px;border-top:1px solid #2a2925;
  font-size:0.78rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;
}

/* LEGAL PAGES (Impressum, AGB, Widerruf, Datenschutz) */
.legal{padding:50px 0 90px;line-height:1.7;}
.legal h2{font-size:1.15rem;margin-top:28px;margin-bottom:10px;}
.legal p, .legal li{margin-bottom:10px;font-size:0.95rem;color:#3a352e;}
.legal ul{padding-left:20px;}
.legal a{color:var(--coral);}

@media (max-width: 820px){
  .cat-grid{grid-template-columns:1fr;}
  .story .wrap{grid-template-columns:1fr;}
  .kategorie-block .kurs-grid{grid-template-columns:1fr;}
  .kurs{border-right:none !important;}
  .gutschein .wrap{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
  .portfolio-hero .wrap{grid-template-columns:1fr;text-align:center;}
  .portfolio-hero img{max-width:240px;}
  .werk-row{flex-direction:column !important;min-height:auto;}
  .werk-row .werk-bild img{min-height:320px;}
  .werk-row .werk-text{padding:36px 8%;}
  .shop-grid{grid-template-columns:repeat(2,1fr);gap:14px;}
  .product{min-height:100px;padding:16px;}
}

/* Nav/Hamburger/Bottom-Nav bewusst mit engerem Umbruch nur für echte Handys,
   damit Tablets weiterhin die normale Desktop-Navigation oben bekommen. */
@media (max-width: 640px){
  nav{padding:14px 20px;}
  .logo{font-size:0.95rem;}
  .logo img{width:38px;height:38px;}
  .navlinks{display:none;}
  .nav-cta{display:none;}
  .burger{display:flex;}
  .hero{
    height:auto;min-height:auto;display:block;position:static;background:var(--cream);overflow:visible;
  }
  .hero-bg{position:static;display:block;height:auto;}
  .hero-bg img{
    height:auto;width:100%;max-width:none;object-fit:cover;
    margin-top:0;display:block;max-height:44vh;object-position:center 20%;
  }
  .hero-fade{display:none;}
  .hero-content{
    position:static;background:none;border-radius:0;
    margin:0;padding:24px 20px 8px;max-width:none;
  }
  .hero h1{font-size:2rem;}
  .hero p{font-size:0.98rem;}
  .bottom-nav{
    display:flex;position:fixed;bottom:0;left:0;right:0;z-index:60;
    background:var(--black);padding:8px 6px calc(8px + env(safe-area-inset-bottom));
    justify-content:space-around;box-shadow:0 -2px 10px rgba(0,0,0,0.15);
  }
  .bottom-nav a{
    display:flex;flex-direction:column;align-items:center;gap:2px;
    color:var(--ink-soft);font-size:0.68rem;padding:4px 8px;flex:1;text-align:center;
  }
  .bottom-nav a .icon{font-size:1.15rem;}
  body{padding-bottom:64px;}
  .portfolio-hero h1{font-size:2.6rem;}
}

/* KURS-LINKS in der Übersicht (Bild, Titel, Text führen zur Detailseite) */
.kurs-link{display:flex;flex-direction:column;flex-grow:1;color:inherit;text-decoration:none;}
.kurs-link img{transition:opacity 0.2s ease;}
.kurs-link:hover img{opacity:0.88;}
.kurs-link:hover h4{color:var(--coral);}
.kurs .kurs-mehr{margin-top:10px;font-size:0.85rem;color:var(--coral);font-weight:600;}
.kurs a.ausgebucht-hinweis{display:block;text-decoration:none;}
.kurs a.ausgebucht-hinweis:hover{color:var(--coral);}

/* KURS-DETAILSEITE */
.kursdetail{padding-top:26px;padding-bottom:70px;}
.kursdetail-zurueck{display:inline-block;margin-bottom:22px;color:var(--jade);font-size:0.92rem;}
.kursdetail-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;}
.kursdetail-bild img{width:100%;border-radius:8px;display:block;position:sticky;top:90px;}
.kursdetail-kicker{color:var(--coral);font-size:0.85rem;margin-bottom:10px;}
.kursdetail-info h1{font-size:1.9rem;line-height:1.2;margin-bottom:12px;}
.kursdetail-preis{font-size:1.5rem;font-weight:700;color:var(--jade);margin-bottom:20px;}
.kursdetail-preis span{font-size:0.85rem;font-weight:400;color:#8a8377;}
.kursdetail-text{color:#4a453d;line-height:1.7;margin-bottom:14px;}
.kursdetail-listentitel{font-weight:600;margin-bottom:6px;}
.kursdetail-liste{padding-left:20px;color:#4a453d;line-height:1.8;margin-bottom:18px;}
.kursdetail-fakten{list-style:none;padding:14px 0;margin:6px 0 24px;border-top:1px dashed #E4DCC9;border-bottom:1px dashed #E4DCC9;font-size:0.9rem;color:#5c554a;line-height:1.9;}
.kursdetail-fakten li::before{content:"✓ ";color:var(--jade);font-weight:700;}
.kursdetail-termine h2{font-size:1.25rem;margin-bottom:12px;}
.termin-zeile{display:flex;justify-content:space-between;align-items:center;gap:14px;background:#fff;border:1px solid #E4DCC9;border-radius:8px;padding:14px 16px;margin-bottom:10px;}
.termin-datum{font-weight:600;}
.termin-plaetze{font-size:0.85rem;color:#8a8377;margin-top:2px;}
.termin-plaetze.knapp{color:var(--coral);font-weight:600;}
.termin-buchen{padding:10px 22px;white-space:nowrap;}
.termin-anfrage-klein{font-size:0.88rem;color:#8a8377;margin-top:6px;}
.termin-anfrage-klein a, .kursdetail-gutschein a{color:var(--coral);font-weight:600;}
.keine-termine{background:#fff;border:1px solid #E4DCC9;border-radius:8px;padding:22px;}
.keine-termine p{color:#6b6357;margin:8px 0 18px;font-size:0.93rem;}
.keine-termine .btn-primary{display:inline-block;}
.kursdetail-gutschein{margin-top:22px;background:#F1EBDD;border-radius:8px;padding:16px 18px;font-size:0.9rem;color:#4a453d;line-height:1.6;}
.kursdetail-weitere{margin-top:64px;}
.kursdetail-weitere h2{font-size:1.35rem;margin-bottom:18px;}
.weitere-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.weitere-karte{display:flex;flex-direction:column;background:#fff;border:1px solid #E4DCC9;border-radius:8px;overflow:hidden;color:inherit;text-decoration:none;}
.weitere-karte img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;}
.weitere-titel{padding:12px 14px 4px;font-weight:600;font-size:0.92rem;line-height:1.35;}
.weitere-preis{padding:0 14px 14px;color:var(--jade);font-weight:600;font-size:0.88rem;margin-top:auto;}
.weitere-karte:hover .weitere-titel{color:var(--coral);}
@media (max-width: 820px){
  .kursdetail-grid{grid-template-columns:1fr;gap:24px;}
  .kursdetail-bild img{position:static;}
  .kursdetail-info h1{font-size:1.55rem;}
  .weitere-grid{grid-template-columns:repeat(2,1fr);gap:12px;}
}
@media (max-width: 640px){
  .kursdetail{padding-bottom:110px;}
  .termin-zeile{flex-direction:column;align-items:stretch;text-align:left;}
  .termin-buchen{text-align:center;}
}

/* TERMINANFRAGE (Formular auf der Kurs-Detailseite) */
.anfrage-box{margin-top:14px;}
.anfrage-details{background:#fff;border:1px solid #E4DCC9;border-radius:8px;padding:0;}
.anfrage-details summary{cursor:pointer;padding:16px 18px;font-weight:600;color:var(--coral);list-style:none;}
.anfrage-details summary::-webkit-details-marker{display:none;}
.anfrage-details summary::after{content:" ▾";}
.anfrage-details[open] summary::after{content:" ▴";}
.anfrage-form{padding:0 18px 18px;}
.anfrage-form label{display:block;font-size:0.85rem;font-weight:600;margin:12px 0 5px;color:#4a453d;}
.anfrage-form input, .anfrage-form select, .anfrage-form textarea{
  width:100%;padding:11px 12px;border:1px solid #D8D0BE;border-radius:6px;font:inherit;font-size:0.95rem;background:#fff;
}
.anfrage-form input:focus, .anfrage-form select:focus, .anfrage-form textarea:focus{outline:none;border-color:var(--jade);}
.anfrage-reihe{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.anfrage-senden{margin-top:18px;border:none;cursor:pointer;width:100%;font-size:1rem;}
.anfrage-hinweis{font-size:0.78rem;color:#8a8377;margin-top:10px;line-height:1.5;}
.anfrage-hinweis a{color:var(--jade);}
.anfrage-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.feld-fehler{color:var(--coral);font-size:0.8rem;margin-top:4px;}
.anfrage-fehler-box{margin:0 18px 6px;background:#FBE9EC;color:#8a2a3b;border-radius:6px;padding:10px 12px;font-size:0.88rem;}
.anfrage-erfolg{background:#E7F0EA;border:1px solid #BFD6C7;border-radius:8px;padding:18px;color:#2d5540;}
.anfrage-erfolg p{margin-top:6px;font-size:0.92rem;}
.keine-termine{margin-bottom:0;}
@media (max-width: 640px){
  .anfrage-reihe{grid-template-columns:1fr;gap:0;}
  .anfrage-form input, .anfrage-form select, .anfrage-form textarea{font-size:16px;}
}

/* Sprungziele auf der Kursseite unterhalb des fixierten Headers landen lassen */
#anfrage, #termine{scroll-margin-top:100px;}

/* Kurskarten liegen im dunklen Bereich, haben aber hellen Hintergrund: Schrift dunkel halten */
.kurse-dark .kurs-grid{color:var(--black);}

/* Hinweis Kleinunternehmerregelung bei Preisen */
.ust-hinweis{font-size:0.78rem;color:#8a8377;margin-top:4px;}
