
  :root{
    --bg:#F8FAFC;
    --surface:#FFFFFF;
    --surface-soft:#EFF4FF;
    --border:#E2E8F0;
    --text:#0D1C2E;
    --text-muted:#475569;
    --navy:#0F2942;
    --navy-hover:#1E3A8A;
    --teal:#0D9488;
    --teal-soft:#F0FDFA;
    --teal-border:#99E6DD;
    --amber:#D97706;
    --amber-soft:#FEF3C7;
    --btn-primary-bg:#0F2942;
    --btn-primary-bg-hover:#1E3A8A;
    --btn-primary-fg:#FFFFFF;
    --navy-surface:#0F2942;
    --navy-surface-fg:#EAF1FF;
    --shadow-1:0 4px 20px -2px rgba(15,41,66,0.06);
    --shadow-2:0 12px 32px -4px rgba(15,41,66,0.12);
    --font-display:'Newsreader', Georgia, 'Times New Roman', serif;
    --font-body:'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  }
  @media (prefers-color-scheme: dark){
    :root:not([data-theme="light"]){
      --bg:#0B1826;
      --surface:#12233A;
      --surface-soft:#16283F;
      --border:#25415C;
      --text:#EAF1FF;
      --text-muted:#A9BCD4;
      --navy:#DCE9FF;
      --navy-hover:#B0C9E8;
      --teal:#5FE0D0;
      --teal-soft:#0F2E2A;
      --teal-border:#1F5A50;
      --amber:#FFB74D;
      --amber-soft:#3A2A0E;
      --btn-primary-bg:#0D9488;
      --btn-primary-bg-hover:#14B8A6;
      --btn-primary-fg:#06201C;
      --shadow-1:0 4px 20px -2px rgba(0,0,0,0.35);
      --shadow-2:0 12px 32px -4px rgba(0,0,0,0.5);
    }
  }
  :root[data-theme="dark"]{
    --bg:#0B1826;
    --surface:#12233A;
    --surface-soft:#16283F;
    --border:#25415C;
    --text:#EAF1FF;
    --text-muted:#A9BCD4;
    --navy:#DCE9FF;
    --navy-hover:#B0C9E8;
    --teal:#5FE0D0;
    --teal-soft:#0F2E2A;
    --teal-border:#1F5A50;
    --amber:#FFB74D;
    --amber-soft:#3A2A0E;
    --btn-primary-bg:#0D9488;
    --btn-primary-bg-hover:#14B8A6;
    --btn-primary-fg:#06201C;
    --shadow-1:0 4px 20px -2px rgba(0,0,0,0.35);
    --shadow-2:0 12px 32px -4px rgba(0,0,0,0.5);
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  @media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
  body{
    margin:0;
    padding-inline:0;
    background:var(--bg);
    color:var(--text);
    font-family:var(--font-body);
    font-size:16px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  img{max-width:100%;display:block;}
  a{color:inherit;}
  h1,h2,h3{
    font-family:var(--font-display);
    font-weight:500;
    color:var(--text);
    text-wrap:balance;
    margin:0;
  }
  .wrap{max-width:1180px;margin-inline:auto;padding-inline:1.25rem;}
  @media (min-width:768px){.wrap{padding-inline:2rem;}}

  /* ---- top strip ---- */
  .topstrip{
    background:var(--navy-surface);
    color:var(--navy-surface-fg);
  }
  .topstrip .wrap{
    display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;
    justify-content:space-between;align-items:center;
    padding-block:.5rem;font-size:.8rem;color:#CBDCF5;
  }
  .topstrip a{text-decoration:none;}
  .topstrip strong{color:#fff;font-weight:600;}

  /* ---- header ---- */
  header.site{
    position:sticky;top:env(safe-area-inset-top,0px);
    background:var(--surface);
    border-bottom:1px solid var(--border);
    z-index:20;
  }
  .nav{
    display:flex;align-items:center;justify-content:space-between;
    gap:1rem;padding-block:.9rem;
  }
  .logo{
    display:flex;align-items:center;gap:.6rem;
    font-family:var(--font-display);font-size:1.25rem;color:var(--text);
    text-decoration:none;white-space:nowrap;
  }
  .logo .mark{
    width:34px;height:34px;border-radius:50%;
    background:#fff;
    box-shadow:inset 0 0 0 1px rgba(0,0,0,.08);
    flex:none;object-fit:contain;padding:3px;
  }
  .logo b{font-weight:600;}
  nav.links{display:none;gap:1.6rem;font-size:.92rem;font-weight:500;}
  nav.links a{text-decoration:none;color:var(--text-muted);padding-block:.25rem;border-bottom:2px solid transparent;}
  nav.links a:hover{color:var(--text);border-color:var(--teal);}
  nav.links a.shop{color:var(--teal);font-weight:700;}
  @media (min-width:960px){nav.links{display:flex;}}

  /* ---- mobile nav ---- */
  .nav-toggle{
    display:inline-flex;align-items:center;justify-content:center;
    width:44px;height:44px;flex:none;border-radius:.65rem;
    border:1.5px solid var(--border);background:var(--surface);color:var(--text);
    cursor:pointer;padding:0;
  }
  .nav-toggle svg{width:22px;height:22px;}
  .nav-toggle:hover{border-color:var(--teal);color:var(--teal);}
  @media (min-width:960px){.nav-toggle{display:none;}}

  .mobile-nav{
    position:fixed;inset:0;z-index:50;display:none;
    background:rgba(13,28,46,.55);
  }
  .mobile-nav.open{display:block;}
  .mobile-nav .panel{
    position:absolute;top:0;right:0;bottom:0;width:min(320px,85vw);
    background:var(--surface);box-shadow:var(--shadow-2);
    padding:1.1rem 1.25rem calc(2rem + env(safe-area-inset-bottom,0px));
    display:flex;flex-direction:column;overflow-y:auto;
    -webkit-overflow-scrolling:touch;
  }
  .mobile-nav .panel-head{
    display:flex;align-items:center;justify-content:space-between;
    gap:1rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border);
  }
  .mobile-nav .panel-head .logo{text-decoration:none;}
  .mobile-nav nav{display:flex;flex-direction:column;}
  .mobile-nav nav a{
    display:flex;align-items:center;min-height:52px;
    padding:.7rem .3rem;font-size:1.05rem;font-weight:600;color:var(--text);
    text-decoration:none;border-bottom:1px solid var(--border);
  }
  .mobile-nav nav a:last-child{border-bottom:none;}
  .mobile-nav nav a.active{color:var(--teal);}
  .mobile-nav nav a.shop{color:var(--teal);}
  body.nav-open{overflow:hidden;}
  @media (min-width:960px){.mobile-nav{display:none !important;}}
  .btn{
    display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
    border-radius:.75rem;padding:.75rem 1.4rem;font-weight:600;font-size:.92rem;
    text-decoration:none;border:1.5px solid transparent;cursor:pointer;
    font-family:var(--font-body);
    transition:transform .15s ease, background .15s ease, box-shadow .15s ease, border-color .15s ease;
  }
  .btn-primary{background:var(--btn-primary-bg);color:var(--btn-primary-fg);}
  .btn-primary:hover{background:var(--btn-primary-bg-hover);transform:translateY(-2px);box-shadow:var(--shadow-1);}
  .btn-secondary{background:transparent;border-color:var(--teal);color:var(--teal);}
  .btn-secondary:hover{background:var(--teal-soft);transform:translateY(-2px);}
  .btn-ghost{background:transparent;color:var(--text);padding-inline:.2rem;}
  .btn-ghost:hover{color:var(--teal);}
  .btn:active{transform:translateY(0);}
  a:focus-visible, button:focus-visible, .btn:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible{
    outline:2px solid var(--teal);outline-offset:3px;border-radius:.25rem;
  }
  .header-ctas{display:flex;align-items:center;gap:.5rem;}
  .header-ctas .btn{padding:.6rem 1.1rem;font-size:.85rem;}
  .header-ctas .btn-secondary{display:none;}
  @media (min-width:640px){.header-ctas .btn-secondary{display:inline-flex;}}
  .cart-icon{width:18px;height:18px;flex:none;display:none;}
  @media (max-width:479px){
    .logo{font-size:1.05rem;gap:.4rem;}
    .logo b{display:inline;}
    .header-ctas{gap:.4rem;}
    .cart-btn .cart-label{display:none;}
    .cart-btn{padding:.6rem;width:44px;height:44px;}
    .cart-icon{display:inline-block;}
  }

  /* ---- hero ---- */
  .hero{padding-block:2.75rem 3.5rem;}
  .hero .grid{display:grid;grid-template-columns:minmax(0,1fr);gap:2.5rem;align-items:center;}
  @media (min-width:960px){.hero .grid{grid-template-columns:1.05fr .95fr;gap:3rem;}}
  .eyebrow{
    display:inline-flex;align-items:center;gap:.4rem;
    background:var(--teal-soft);color:var(--teal);
    border:1px solid var(--teal-border);
    padding:.3rem .8rem;border-radius:999px;
    font-size:.78rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;
  }
  .hero h1{font-size:2.3rem;line-height:1.15;margin-block:1rem .9rem;}
  @media (min-width:640px){.hero h1{font-size:3rem;}}
  .hero h1 em{font-style:normal;color:var(--teal);}
  .hero p.lead{font-size:1.08rem;color:var(--text-muted);max-width:46ch;margin-bottom:1.6rem;}
  .hero .actions{display:flex;flex-wrap:wrap;gap:.9rem;margin-bottom:1.6rem;}
  .trust-line{display:flex;flex-wrap:wrap;gap:.6rem;font-size:.82rem;color:var(--text-muted);align-items:center;}
  .trust-line .chip{
    background:var(--surface-soft);border:1px solid var(--border);
    border-radius:999px;padding:.25rem .7rem;font-weight:600;color:var(--text);
  }

  .hero-art{
    position:relative;background:radial-gradient(circle at 50% 38%, var(--teal-soft) 0%, var(--surface) 62%);
    border:1px solid var(--border);
    border-radius:1.5rem;box-shadow:var(--shadow-2);padding:2.2rem;
    display:flex;align-items:center;justify-content:center;min-height:280px;
    transition:transform .3s ease, box-shadow .3s ease;
  }
  .hero-art:hover{transform:translateY(-4px);}
  .hero-art svg{width:100%;max-width:280px;height:auto;}
  .hero-art .caption{
    position:absolute;left:1.4rem;bottom:1.2rem;right:1.4rem;
    font-family:var(--font-display);font-size:1rem;color:var(--text-muted);
    text-align:center;
  }

  /* ---- section shell ---- */
  section{padding-block:3.25rem;scroll-margin-top:5.5rem;}
  .section-head{max-width:62ch;margin-bottom:2rem;}
  .section-head .eyebrow{margin-bottom:.9rem;}
  .section-head h2{font-size:1.9rem;margin-bottom:.6rem;}
  .section-head p{color:var(--text-muted);font-size:1.02rem;}
  .band{background:var(--surface-soft);}
  .band + .band, .band + .band-navy, .band-navy + .band{border-top:1px solid var(--border);}
  .band-navy{background:var(--navy-surface);color:var(--navy-surface-fg);}
  .band-navy .section-head h2, .band-navy h3{color:#fff;}
  .band-navy .section-head p{color:#B9CBE4;}

  /* ---- cards grid ---- */
  .cards{display:grid;gap:1.25rem;}
  .cards.cols-3{grid-template-columns:minmax(0,1fr);}
  @media (min-width:700px){.cards.cols-3{grid-template-columns:repeat(2,minmax(0,1fr));}}
  @media (min-width:1000px){.cards.cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}}
  .cards.cols-2{grid-template-columns:minmax(0,1fr);}
  @media (min-width:760px){.cards.cols-2{grid-template-columns:repeat(2,1fr);}}

  .card{
    background:var(--surface);border:1px solid var(--border);border-radius:1.25rem;
    padding:1.75rem;box-shadow:var(--shadow-1);display:flex;flex-direction:column;gap:.85rem;
    transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  }
  .card:hover{transform:translateY(-4px);box-shadow:var(--shadow-2);border-color:var(--teal-border);}
  .card .icon{
    width:44px;height:44px;border-radius:.75rem;background:var(--teal-soft);
    color:var(--teal);display:flex;align-items:center;justify-content:center;flex:none;
    font-size:1.25rem;transition:transform .2s ease;
  }
  .card:hover .icon{transform:scale(1.08);}
  .card h3{font-size:1.1rem;font-family:var(--font-body);font-weight:700;}
  .card p{color:var(--text-muted);font-size:.94rem;margin:0;flex:1;}
  .card .tag{
    align-self:flex-start;font-size:.72rem;font-weight:700;text-transform:uppercase;
    letter-spacing:.03em;color:var(--amber);background:var(--amber-soft);
    padding:.2rem .6rem;border-radius:999px;
  }
  .card a.more{font-size:.88rem;font-weight:700;color:var(--teal);text-decoration:none;display:inline-block;transition:transform .15s ease;}
  .card a.more:hover{transform:translateX(3px);text-decoration:underline;}

  /* pillars */
  .pillar{border-top:3px solid var(--teal);}
  .pillar ul{margin:0;padding-left:1.1rem;color:var(--text-muted);font-size:.92rem;display:flex;flex-direction:column;gap:.35rem;}

  /* process steps */
  .steps{display:grid;grid-template-columns:minmax(0,1fr);gap:1.5rem;counter-reset:step;}
  @media (min-width:760px){.steps{grid-template-columns:repeat(3,1fr);}}
  .step{position:relative;padding-left:3rem;}
  .step .num{
    position:absolute;left:0;top:0;width:2.1rem;height:2.1rem;border-radius:50%;
    background:var(--navy-surface);color:var(--navy-surface-fg);display:flex;align-items:center;justify-content:center;
    font-family:var(--font-display);font-weight:600;
  }
  .step h3{font-size:1rem;margin-bottom:.3rem;}
  .step p{color:var(--text-muted);font-size:.9rem;margin:0;}

  /* product cards */
  .product{
    background:var(--surface);border:1px solid var(--border);border-radius:1.25rem;
    overflow:hidden;box-shadow:var(--shadow-1);display:flex;flex-direction:column;
    transition:transform .2s ease, box-shadow .2s ease;
  }
  .product:hover{transform:translateY(-4px);box-shadow:var(--shadow-2);}
  .product .thumb{
    aspect-ratio:4/3;background:linear-gradient(135deg,var(--navy-surface),#1c3a57);
    display:flex;align-items:center;justify-content:center;color:#cfe0f5;
  }
  .product .thumb svg{width:56px;height:56px;}
  .product .body{padding:1.25rem 1.25rem 1.5rem;display:flex;flex-direction:column;gap:.5rem;flex:1;}
  .product .format{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--teal);font-weight:700;}
  .product h3{font-size:1rem;font-family:var(--font-body);font-weight:700;}
  .product .price{
    margin-top:auto;display:flex;align-items:center;justify-content:space-between;
    padding-top:.75rem;border-top:1px solid var(--border);
  }
  .product .price strong{font-family:var(--font-display);font-size:1.25rem;font-variant-numeric:tabular-nums;}

  .shop-more{
    display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.75rem;
  }
  .shop-more .chip{
    background:var(--surface);border:1px solid var(--border);border-radius:999px;
    padding:.4rem .9rem;font-size:.85rem;color:var(--text-muted);
  }

  /* termine */
  .notice{
    display:flex;gap:.9rem;align-items:flex-start;background:var(--amber-soft);
    border:1px solid var(--amber);border-radius:1rem;padding:1.1rem 1.3rem;color:var(--text);
    font-size:.92rem;
  }
  .notice svg{flex:none;color:var(--amber);width:22px;height:22px;margin-top:.1rem;}

  /* was ist hypnose */
  .split{display:grid;grid-template-columns:minmax(0,1fr);gap:2.5rem;align-items:center;}
  @media (min-width:920px){.split{grid-template-columns:1fr 1fr;}}
  .split .facts{display:flex;flex-direction:column;gap:1.1rem;}
  .fact{display:flex;gap:.9rem;align-items:flex-start;}
  .fact .dot{width:8px;height:8px;border-radius:50%;background:var(--teal);margin-top:.55rem;flex:none;}
  .fact h3{font-size:1rem;margin-bottom:.2rem;}
  .fact p{margin:0;color:var(--text-muted);font-size:.92rem;}

  /* CTA / kontakt */
  .cta-box{
    background:var(--navy-surface);color:var(--navy-surface-fg);border-radius:1.5rem;padding:2.5rem;
    display:grid;grid-template-columns:minmax(0,1fr);gap:2rem;
  }
  @media (min-width:900px){.cta-box{grid-template-columns:1fr 1fr;padding:3rem;}}
  .cta-box h2{color:#fff;font-size:1.7rem;margin-bottom:.7rem;}
  .cta-box p{color:#C4D5EC;margin-bottom:1.4rem;}
  .contact-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.7rem;font-size:.95rem;}
  .contact-list li{display:flex;gap:.7rem;align-items:flex-start;color:#DCE9FF;}
  .contact-list svg{flex:none;width:18px;height:18px;margin-top:.15rem;color:var(--amber);}
  .form-card{background:#12233A;border:1px solid #22405C;border-radius:1.1rem;padding:1.5rem;display:flex;flex-direction:column;gap:.8rem;}
  .form-card input,.form-card select{
    width:100%;background:#0E1D30;border:1px solid #2A4A68;color:#fff;
    border-radius:.6rem;padding:.65rem .8rem;font-family:var(--font-body);font-size:.9rem;
    transition:border-color .15s ease, box-shadow .15s ease;
  }
  .form-card input:focus,.form-card select:focus{
    outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(13,148,136,.25);
  }
  .form-card label{font-size:.78rem;color:#9FB6D3;font-weight:600;}
  .form-row{display:flex;flex-direction:column;gap:.3rem;}

  /* footer */
  footer{border-top:1px solid var(--border);padding-block:2.5rem 1.5rem;background:var(--surface-soft);}
  .footer-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:2rem;}
  @media (min-width:760px){.footer-grid{grid-template-columns:1.3fr repeat(3,1fr);}}
  .footer-grid h4{font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin:0 0 .8rem;}
  .footer-grid ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem;font-size:.88rem;}
  .footer-grid ul a{text-decoration:none;color:var(--text-muted);}
  .footer-grid ul a:hover{color:var(--teal);}
  .footer-bottom{
    margin-top:2.2rem;padding-top:1.4rem;border-top:1px solid var(--border);
    display:flex;flex-wrap:wrap;gap:.8rem;justify-content:space-between;
    font-size:.8rem;color:var(--text-muted);
  }
  .footer-bottom a{text-decoration:none;color:var(--text-muted);}

  .draft-flag{
    background:var(--amber-soft);border-bottom:1px solid var(--amber);
    color:#5b3a00;font-size:.8rem;text-align:center;padding:.5rem 1rem;
  }
  :root[data-theme="dark"] .draft-flag, @media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .draft-flag{color:#ffd699;}}

/* === Shop === */

.shopnav{position:sticky;top:calc(env(safe-area-inset-top,0px) + 61px);background:var(--surface);border-bottom:1px solid var(--border);z-index:19;overflow-x:auto;}
.shopnav .wrap{display:flex;gap:.6rem;padding-block:.7rem;white-space:nowrap;}
.shopnav-pill{display:inline-block;flex:none;white-space:nowrap;padding:.4rem .9rem;border-radius:999px;background:var(--surface-soft);border:1px solid var(--border);color:var(--text-muted);text-decoration:none;font-size:.85rem;font-weight:600;cursor:pointer;}
.shopnav-pill:hover{color:var(--teal);border-color:var(--teal-border);}
.old-price{text-decoration:line-through;color:var(--text-muted);font-size:.82rem;margin-right:auto;font-variant-numeric:tabular-nums;}
.hero-shop{padding-block:2.5rem 1.5rem;}
.hero-shop h1{font-size:2.1rem;margin-block:.8rem .6rem;}
@media (min-width:640px){.hero-shop h1{font-size:2.6rem;}}
.trust-mini{display:flex;flex-wrap:wrap;gap:1.2rem;margin-top:1.2rem;font-size:.86rem;color:var(--text-muted);}
.trust-mini span{display:flex;align-items:center;gap:.4rem;}
.trust-mini svg{width:18px;height:18px;color:var(--teal);flex:none;}
.product{cursor:pointer;}
.cart-btn{position:relative;}
.cart-badge{position:absolute;top:-8px;right:-8px;background:var(--teal);color:#06201C;font-size:.7rem;font-weight:800;border-radius:999px;min-width:18px;height:18px;display:flex;align-items:center;justify-content:center;padding:0 4px;}
.breadcrumb{font-size:.85rem;color:var(--text-muted);margin-bottom:1rem;}
.breadcrumb a{color:var(--teal);text-decoration:none;cursor:pointer;}
.pd-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:2.5rem;}
@media (min-width:960px){.pd-grid{grid-template-columns:1fr 1fr;align-items:start;}}
.pd-hero{border-radius:1.25rem;overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow-1);}
.pd-hero img{width:100%;display:block;aspect-ratio:4/3;object-fit:cover;}
.pd-price-box{background:var(--surface);border:1px solid var(--border);border-radius:1.25rem;padding:1.5rem;box-shadow:var(--shadow-1);display:flex;flex-direction:column;gap:1rem;}
.pd-price-row{display:flex;align-items:baseline;gap:.7rem;}
.pd-price-row strong{font-family:var(--font-display);font-size:2rem;font-variant-numeric:tabular-nums;}
.qty-stepper{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:.75rem;overflow:hidden;}
.qty-stepper button, .qty-stepper a{background:var(--surface-soft);border:none;width:36px;height:36px;font-size:1.1rem;cursor:pointer;color:var(--text);display:flex;align-items:center;justify-content:center;text-decoration:none;}
.qty-stepper span, .qty-stepper input{width:44px;text-align:center;font-variant-numeric:tabular-nums;font-weight:700;border:none;background:transparent;color:var(--text);}
@media (max-width:639px){
  .qty-stepper button, .qty-stepper a{width:44px;height:44px;}
}
.delivery-box{display:flex;gap:.7rem;background:var(--teal-soft);border:1px solid var(--teal-border);border-radius:1rem;padding:1rem 1.1rem;font-size:.86rem;color:var(--text);}
.delivery-box svg{flex:none;width:20px;height:20px;color:var(--teal);margin-top:.1rem;}
.pd-desc p{color:var(--text-muted);margin:0 0 1rem;}
table.cart-table{width:100%;border-collapse:collapse;}
table.cart-table th{text-align:left;font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);padding-bottom:.6rem;border-bottom:1px solid var(--border);}
table.cart-table td{padding:1rem 0;border-bottom:1px solid var(--border);vertical-align:middle;}
table.cart-table td.num{text-align:right;font-variant-numeric:tabular-nums;}
@media (max-width:639px){
  /* Spalten passen auf schmalen Bildschirmen nicht mehr nebeneinander -
     jede Zeile wird stattdessen zu einer eigenen kleinen Karte gestapelt. */
  table.cart-table thead{display:none;}
  table.cart-table, table.cart-table tbody, table.cart-table tr, table.cart-table td{display:block;width:100%;}
  table.cart-table tr{padding:.75rem 0;}
  table.cart-table td{border-bottom:none;padding:.3rem 0;text-align:left !important;}
  table.cart-table td[data-label]::before{content:attr(data-label);display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);margin-bottom:.15rem;}
}
.remove-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:.82rem;text-decoration:underline;padding:.65rem .4rem;margin:-.65rem -.4rem;display:inline-flex;align-items:center;min-height:44px;}
.cart-summary{background:var(--surface);border:1px solid var(--border);border-radius:1.25rem;padding:1.5rem;box-shadow:var(--shadow-1);position:sticky;top:120px;}
.cart-summary .row{display:flex;justify-content:space-between;padding-block:.4rem;font-size:.92rem;color:var(--text-muted);}
.cart-summary .row.total{font-weight:800;color:var(--text);font-size:1.1rem;border-top:1px solid var(--border);margin-top:.6rem;padding-top:.8rem;}
.empty-state{text-align:center;padding:4rem 1rem;color:var(--text-muted);}
.checkout-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:2rem;}
@media (min-width:960px){.checkout-grid{grid-template-columns:1.3fr 1fr;align-items:start;}}
.form-block{background:var(--surface);border:1px solid var(--border);border-radius:1.25rem;padding:1.75rem;box-shadow:var(--shadow-1);margin-bottom:1.5rem;}
.form-block h3{font-size:1.05rem;margin-bottom:1rem;}
.form-grid{display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
.form-grid.full{grid-template-columns:1fr;}
.field label{display:block;font-size:.8rem;font-weight:600;color:var(--text-muted);margin-bottom:.35rem;}
.field input, .field textarea{width:100%;border:1px solid var(--border);border-radius:.65rem;padding:.65rem .8rem;font-family:var(--font-body);font-size:.92rem;background:var(--surface);color:var(--text);}
.field textarea{min-height:120px;resize:vertical;}
.field input:focus, .field textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(13,148,136,.15);}
.pay-option{border:1.5px solid var(--border);border-radius:1rem;padding:1rem 1.1rem;margin-bottom:.8rem;cursor:pointer;display:block;}
.pay-option.active{border-color:var(--teal);background:var(--teal-soft);}
.pay-option .head{display:flex;align-items:center;gap:.6rem;font-weight:700;}
.pay-option p{margin:.5rem 0 0;font-size:.85rem;color:var(--text-muted);}
.legal label{display:flex;gap:.6rem;font-size:.84rem;color:var(--text-muted);margin-bottom:.7rem;align-items:flex-start;cursor:pointer;}
.legal input{margin-top:.2rem;}
.confirm-box{max-width:640px;margin:0 auto;text-align:center;padding-block:2rem;}
.confirm-icon{width:64px;height:64px;border-radius:50%;background:var(--teal-soft);color:var(--teal);display:flex;align-items:center;justify-content:center;margin:0 auto 1.2rem;}
.confirm-icon svg{width:32px;height:32px;}
.related-row{display:grid;gap:1.25rem;grid-template-columns:minmax(0,1fr);margin-top:1rem;}
@media (min-width:700px){.related-row{grid-template-columns:repeat(3,1fr);}}
.alert-error{background:#FEF2F2;border:1px solid #FCA5A5;color:#991B1B;border-radius:.75rem;padding:.9rem 1.1rem;margin-bottom:1.5rem;font-size:.9rem;}
.alert-success{background:var(--teal-soft);border:1px solid var(--teal-border);color:var(--text);border-radius:.75rem;padding:.9rem 1.1rem;margin-bottom:1.5rem;font-size:.9rem;}

/* === Leistungen === */

.lp-hero{padding-block:2.5rem 1.5rem;}
.lp-hero h1{font-size:2rem;margin-block:.8rem .6rem;}
@media (min-width:640px){.lp-hero h1{font-size:2.5rem;}}
.lp-nav{position:sticky;top:calc(env(safe-area-inset-top,0px) + 61px);background:var(--surface);border-bottom:1px solid var(--border);z-index:19;overflow-x:auto;}
.lp-nav .wrap{display:flex;gap:.6rem;padding-block:.7rem;white-space:nowrap;}
.lp-pill{display:inline-block;padding:.45rem 1rem;border-radius:999px;background:var(--surface-soft);border:1px solid var(--border);color:var(--text-muted);text-decoration:none;font-size:.85rem;font-weight:600;cursor:pointer;}
.lp-pill.active{background:var(--navy);color:#fff;border-color:var(--navy);}
.lp-pill:hover{color:var(--teal);border-color:var(--teal-border);}
.lp-split{display:grid;grid-template-columns:minmax(0,1fr);gap:2.5rem;align-items:center;}
@media (min-width:900px){.lp-split{grid-template-columns:1fr 1fr;}}
.lp-split img{width:100%;border-radius:1.25rem;border:1px solid var(--border);box-shadow:var(--shadow-1);object-fit:cover;}
.lp-fact-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:1.5rem;margin-top:2rem;}
@media (min-width:760px){.lp-fact-grid{grid-template-columns:1fr 1fr;}}
.lp-fact{background:var(--surface);border:1px solid var(--border);border-radius:1.25rem;padding:1.5rem;box-shadow:var(--shadow-1);}
.lp-fact h3{font-size:1.05rem;margin-bottom:.5rem;}
.lp-fact p{color:var(--text-muted);font-size:.92rem;margin:0;}
.lp-steps{display:flex;flex-direction:column;gap:1.3rem;margin-top:1.5rem;}
.lp-condition-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.6rem;margin-top:1.5rem;}
.lp-chip{background:var(--teal-soft);border:1px solid var(--teal-border);color:var(--text);border-radius:.65rem;padding:.55rem .8rem;font-size:.84rem;text-align:center;}
.lp-video-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:1.5rem;margin-top:1.5rem;}
@media (min-width:760px){.lp-video-grid{grid-template-columns:1fr 1fr;}}
.lp-video{border-radius:1.25rem;overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow-1);aspect-ratio:16/9;}
.lp-video iframe{width:100%;height:100%;border:0;display:block;}
.lp-notice{display:flex;gap:.9rem;background:var(--teal-soft);border:1px solid var(--teal-border);border-radius:1rem;padding:1.2rem 1.4rem;margin-top:1.5rem;}
.lp-notice svg{flex:none;width:22px;height:22px;color:var(--teal);margin-top:.1rem;}
.lp-online-box{display:flex;gap:1rem;background:var(--surface);border:1.5px solid var(--teal);border-radius:1.25rem;padding:1.4rem 1.6rem;margin-top:2rem;box-shadow:var(--shadow-1);align-items:flex-start;}
.lp-online-box svg{flex:none;width:28px;height:28px;color:var(--teal);}
.lp-mod-chips{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem;}
.lp-mod-chip{background:var(--surface-soft);border:1px solid var(--border);border-radius:999px;padding:.4rem .9rem;font-size:.82rem;color:var(--text-muted);}
.sem-card{background:var(--surface);border:1px solid var(--border);border-radius:1.25rem;padding:1.6rem;box-shadow:var(--shadow-1);display:flex;flex-direction:column;gap:.8rem;}
.sem-card .badge-new{background:#FEF3C7;color:var(--amber);border-radius:999px;padding:.2rem .7rem;font-size:.7rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase;display:inline-block;width:fit-content;}
.sem-status{font-size:.8rem;color:var(--text-muted);background:var(--surface-soft);border-radius:.6rem;padding:.5rem .8rem;}
.trainer-box{display:flex;gap:1.4rem;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:1.25rem;padding:1.5rem;box-shadow:var(--shadow-1);margin-top:2rem;}
.trainer-box img{width:88px;height:88px;border-radius:999px;object-fit:cover;border:2px solid var(--teal);flex:none;}

/* === Kontakt/Rechtliches/Admin === */

.kr-nav{position:sticky;top:calc(env(safe-area-inset-top,0px) + 61px);background:var(--surface);border-bottom:1px solid var(--border);z-index:19;overflow-x:auto;}
.kr-nav .wrap{display:flex;gap:.6rem;padding-block:.7rem;white-space:nowrap;}
.kr-pill{display:inline-block;padding:.45rem 1rem;border-radius:999px;background:var(--surface-soft);border:1px solid var(--border);color:var(--text-muted);text-decoration:none;font-size:.85rem;font-weight:600;cursor:pointer;}
.kr-pill.active{background:var(--navy);color:#fff;border-color:var(--navy);}
.kr-pill:hover{color:var(--teal);border-color:var(--teal-border);}
.kr-hero h1{font-size:2rem;margin-block:.8rem .6rem;}
@media (min-width:640px){.kr-hero h1{font-size:2.4rem;}}
.kr-split{display:grid;grid-template-columns:minmax(0,1fr);gap:2.5rem;}
@media (min-width:900px){.kr-split{grid-template-columns:1.1fr .9fr;align-items:start;}}
.kr-card{background:var(--surface);border:1px solid var(--border);border-radius:1.25rem;padding:1.6rem;box-shadow:var(--shadow-1);}
.kr-card h3{font-size:1rem;margin-bottom:.8rem;}
.kr-info-row{display:flex;gap:.8rem;align-items:flex-start;padding-block:.6rem;border-bottom:1px solid var(--border);font-size:.9rem;}
.kr-info-row:last-child{border-bottom:none;}
.kr-info-row svg{flex:none;width:20px;height:20px;color:var(--teal);margin-top:.1rem;}
.legal-warning{display:flex;gap:.9rem;background:#FEF3C7;border:1px solid #FCD34D;border-radius:1rem;padding:1.2rem 1.4rem;margin-bottom:2rem;color:#78350F;}
.legal-warning svg{flex:none;width:24px;height:24px;color:#D97706;margin-top:.1rem;}
.legal-warning strong{color:#78350F;}
.legal-body{max-width:72ch;}
.legal-body h2{font-size:1.25rem;margin-top:2.2rem;margin-bottom:.7rem;font-family:var(--font-body);font-weight:700;}
.legal-body h3{font-size:1.05rem;margin-top:1.6rem;margin-bottom:.5rem;}
.legal-body p{color:var(--text-muted);margin:0 0 1rem;}
.legal-body ul{color:var(--text-muted);margin:0 0 1rem;padding-left:1.3rem;}
.legal-body li{margin-bottom:.4rem;}
.todo-mark{background:#FEF3C7;border:1px dashed #D97706;border-radius:.5rem;padding:.15rem .5rem;color:#92400E;font-weight:700;font-size:.85em;}
.kr-quicklinks{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem;}
.admin-table{width:100%;border-collapse:collapse;font-size:.9rem;}
.admin-table th{text-align:left;padding:.6rem .8rem;background:var(--surface-soft);border-bottom:1px solid var(--border);font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);}
.admin-table td{padding:.7rem .8rem;border-bottom:1px solid var(--border);vertical-align:middle;}
.admin-table td{vertical-align:top;}
.order-details{margin-top:.45rem;font-size:.84rem;}
.order-details summary{cursor:pointer;color:var(--teal);font-weight:600;}
.order-details ul{margin:.5rem 0 .4rem;padding-left:1.1rem;}
.order-details li{margin-bottom:.35rem;}
.order-details a{color:var(--teal);}
.order-details .addr{margin-top:.4rem;color:var(--text-muted);}
.status-pill{display:inline-block;padding:.25rem .7rem;border-radius:999px;font-size:.75rem;font-weight:700;}
.status-pill.pending{background:#FEF3C7;color:#92400E;}
.status-pill.paid{background:var(--teal-soft);color:#0D5B54;}
.status-pill.fulfilled{background:#DCFCE7;color:#166534;}
.status-pill.cancelled{background:#FEE2E2;color:#991B1B;}

/* ===================================================================
   Leistungen-Unterseiten (Themenseiten, Ausbildungsmodule, Seminare)
   1:1 aus dem abgestimmten Leistungen-Entwurf übernommen (23.09.2026)
   =================================================================== */
.lp-page .lp-hero{padding-block:0 1.5rem;}
.lp-pill{text-decoration:none;}
.lp-pill.active,.kr-pill.active{background:var(--btn-primary-bg);color:var(--btn-primary-fg);border-color:var(--btn-primary-bg);}
.lp-video-link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.8rem;width:100%;height:100%;background:linear-gradient(135deg,var(--navy-surface),#0D9488);text-decoration:none;transition:filter .15s ease;}
.lp-video-link:hover{filter:brightness(1.1);}
.lp-video-play{width:58px;height:58px;border-radius:50%;background:#D97706;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 24px rgba(0,0,0,.28);flex-shrink:0;}
.lp-video-play svg{width:22px;height:22px;fill:#fff;margin-left:3px;}
.lp-video-label{color:#fff;font-size:.88rem;font-weight:600;text-align:center;padding:0 1.2rem;}
.lp-video-sub{color:rgba(255,255,255,.8);font-size:.76rem;text-align:center;}
.lp-study{display:flex;gap:1rem;background:var(--amber-soft);border:1px solid var(--amber);border-radius:1rem;padding:1.3rem 1.5rem;margin-top:1.8rem;align-items:flex-start;}
.lp-study svg{flex:none;width:24px;height:24px;color:var(--amber);margin-top:.15rem;}
.lp-study strong{color:var(--navy);}
.lp-study a{color:var(--teal);font-weight:700;overflow-wrap:anywhere;}
.lp-thema-body p{color:var(--text-muted);font-size:1.02rem;line-height:1.75;margin-bottom:1.1rem;}
.lp-thema-body h2{font-size:1.5rem;margin:2.2rem 0 .8rem;color:var(--navy);}
.lp-thema-back{display:inline-flex;align-items:center;gap:.4rem;color:var(--teal);font-weight:600;font-size:.92rem;text-decoration:none;margin-bottom:1.2rem;cursor:pointer;}
.lp-thema-hero-img{width:100%;border-radius:1.25rem;overflow:hidden;box-shadow:var(--shadow-1);margin-top:1.6rem;}
.lp-thema-hero-img img{width:100%;display:block;max-height:420px;object-fit:cover;}
.lp-thema-hero-cap{font-size:.85rem;color:var(--text-muted);margin-top:.6rem;text-align:center;}
.lp-thema-inline-img{display:flex;gap:1.6rem;align-items:center;background:var(--surface-soft);border:1px solid var(--border);border-radius:1.25rem;padding:1.2rem;margin:2rem 0;}
.lp-thema-inline-img img{width:42%;min-width:220px;border-radius:.9rem;box-shadow:var(--shadow-1);flex:none;object-fit:cover;}
.lp-thema-inline-img p{margin:0;color:var(--text-muted);font-size:.95rem;line-height:1.65;}
.lp-thema-inline-img strong{color:var(--navy);}
@media (max-width:640px){.lp-thema-inline-img{flex-direction:column;}.lp-thema-inline-img img{width:100%;min-width:0;}}
.lp-chip-link{text-decoration:none;position:relative;}
.lp-chip-link .lp-chip{cursor:pointer;transition:background .15s,color .15s;}
.lp-chip-link:hover .lp-chip{background:var(--teal);color:#fff;border-color:var(--teal);}
.lp-mod-list{display:grid;gap:.7rem;margin:1.2rem 0 1.8rem;padding:0;list-style:none;}
@media (min-width:760px){.lp-mod-list.cols-2{grid-template-columns:1fr 1fr;}}
.lp-mod-list li{display:flex;gap:.7rem;align-items:flex-start;color:var(--text-muted);font-size:.98rem;line-height:1.55;}
.lp-mod-list li svg{flex:none;width:19px;height:19px;color:var(--teal);margin-top:.2rem;}
.lp-mod-audience{display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0 1.8rem;}
.lp-mod-audience span{background:var(--surface-soft);border:1px solid var(--border);border-radius:999px;padding:.35rem .85rem;font-size:.82rem;color:var(--navy);}
.lp-mod-quote{background:var(--teal-soft);border:1px solid var(--teal-border);border-radius:1rem;padding:1.2rem 1.4rem;margin:1.6rem 0;font-style:italic;color:var(--navy);font-size:.98rem;}
.lp-mod-quote cite{display:block;margin-top:.5rem;font-style:normal;font-size:.82rem;color:var(--text-muted);}
a.card-link{text-decoration:none;color:inherit;}
[data-href]{cursor:pointer;}

/* Shop: Produktbeschreibung (Fettschrift, Bilder, Video-Vorschau) */
.pd-desc p{color:var(--text-muted);margin:0 0 1rem;line-height:1.7;}
.pd-desc strong{color:var(--text);}
.pd-desc img{width:100%;max-width:480px;border-radius:12px;margin:1.2rem 0;display:block;box-shadow:var(--shadow-1);}
.pd-video{margin-top:2rem;}
.pd-video a{display:flex;align-items:center;gap:1rem;padding:1rem 1.2rem;border:1px solid var(--border);border-radius:10px;text-decoration:none;color:inherit;background:var(--surface-soft);}
.pd-video-play{flex:0 0 auto;width:48px;height:48px;border-radius:50%;background:#ff0000;display:flex;align-items:center;justify-content:center;}
.pd-video strong{display:block;}
.pd-video-sub{color:var(--text-muted);font-size:.9rem;}
