/* ============================================================
   CLiXX Child · custom.css
   Projekt: HNO Privatpraxis Dr. med. Jörn Finnern · Krefeld
   Stand: 22.08.2026
   ------------------------------------------------------------
   Teil A: CLiXX-Basis (Typo, Listen, Kontaktformular, Mobile-Menü)
   Teil B: HNO-Design-System (ehem. hno-finnern-global.css)
           · Breakpoints: 900px Tablet / 600px Mobil
           · Jameda-Dock v2 (ausfahrbares Panel)
   ============================================================ */

/* ============================================================
   Web-Fonts · lokal gehostet (DSGVO) · Pfad relativ zu css/custom.css
   ============================================================ */
@font-face{font-family:"DM Sans";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/dm-sans-latin-400-normal.woff2") format("woff2");}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/dm-sans-latin-500-normal.woff2") format("woff2");}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/dm-sans-latin-700-normal.woff2") format("woff2");}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:800;font-display:swap;src:url("../fonts/dm-sans-latin-800-normal.woff2") format("woff2");}
@font-face{font-family:"Playfair Display";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/playfair-display-latin-500-normal.woff2") format("woff2");}
@font-face{font-family:"Playfair Display";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/playfair-display-latin-600-normal.woff2") format("woff2");}
@font-face{font-family:"Playfair Display";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/playfair-display-latin-700-normal.woff2") format("woff2");}
@font-face{font-family:"Playfair Display";font-style:italic;font-weight:500;font-display:swap;src:url("../fonts/playfair-display-latin-500-italic.woff2") format("woff2");}
@font-face{font-family:"Playfair Display";font-style:italic;font-weight:600;font-display:swap;src:url("../fonts/playfair-display-latin-600-italic.woff2") format("woff2");}


/* ############################################################
   TEIL A · CLiXX-BASIS
   ############################################################ */

:root{ --clr-accent:#2E4A3B; }

/* Silbentrennung – sanft */
.et_pb_text p,.et_pb_text li,.et_pb_toggle_content p,.et_pb_toggle_content li,
.et_pb_accordion .et_pb_toggle_content p,.et_pb_accordion .et_pb_toggle_content li,
.entry-content p,.entry-content li{
  -webkit-hyphens:auto;-ms-hyphens:auto;hyphens:auto;
  overflow-wrap:break-word;word-break:normal;white-space:normal !important;
  hyphenate-limit-chars:8 3 3;-ms-hyphenate-limit-chars:8 3 3;
  -webkit-hyphenate-limit-before:3;-webkit-hyphenate-limit-after:3;
}
.et_pb_text a,.entry-content a{ overflow-wrap:anywhere;word-break:break-word; }
h1,h2,h3,h4,h5,h6,.et_pb_button,.nav li a,.menu a{
  hyphens:manual !important;overflow-wrap:normal;word-break:normal;
}

/* Listen-Marker */
.et_pb_text ul,.et_pb_toggle_content ul,.entry-content ul{
  list-style:disc outside;padding-left:1.2rem;margin:.4rem 0 1rem;
}
.et_pb_text ul li,.et_pb_toggle_content ul li,.entry-content ul li{ margin:.25rem 0; }
.et_pb_text ul li::marker,.et_pb_toggle_content ul li::marker,.entry-content ul li::marker{
  color:var(--clr-accent);font-size:1.1em;
}
.et_pb_text ol li::marker,.et_pb_toggle_content ol li::marker,.entry-content ol li::marker{
  color:var(--clr-accent);font-weight:700;
}
.no-hyphen{
  -webkit-hyphens:none !important;-ms-hyphens:none !important;hyphens:none !important;
  overflow-wrap:normal !important;word-break:normal !important;
}
.no-csm ul,.no-csm ol{ list-style:initial;padding-left:initial; }

/* Kontaktformular Labelproblem umgehen */
.et_pb_contact_form_label{ display:block !important;color:rgba(0,0,0,0); }




/* ############################################################
   TEIL B · HNO-DESIGN-SYSTEM
   ############################################################ */

:root{
  --sage:        #A2C5AC;
  --sage-85:     rgba(162,197,172,.85);
  --sage-soft:   #DCEAE0;
  --sage-pale:   #F2F7F3;
  --deep:        #2E4A3B;
  --deep-dark:   #1C2B23;
  --ink:         #22302A;
  --ink-soft:    #44534B;
  --cream:       #FAFAF7;
  --white:       #FFFFFF;
  --line:        #E3E8E4;
  --red:         #9C2B2E;
  --red-dark:    #7E2225;
  --jameda:      #B36F00;
  --sand:        #EBC7A3;
  --sand-pale:   #F7EDE1;
  --terra:       #8F5430;
  --grad-green:        linear-gradient(180deg,#EFF6F1 0%,#DCEAE0 100%);
  --grad-rose:         linear-gradient(180deg,#FBF2E9 0%,#F3E1CE 100%);
  --grad-green-strong: linear-gradient(135deg,#B7D4BF 0%,#DCEAE0 100%);
  --grad-deep:         linear-gradient(135deg,#2E4A3B 0%,#1C2B23 100%);
  --font-display:'Playfair Display', Georgia, serif;
  --font-body:   'DM Sans', -apple-system, Segoe UI, sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}

body{
  font-family:var(--font-body);
  font-size:.9vw;
  line-height:1.7;
  color:var(--ink);
  background:var(--white);
  -webkit-font-smoothing:antialiased;
}
@media (max-width:900px){ body{font-size:2.2vw} }
@media (max-width:600px){ body{font-size:3.6vw} }

img{max-width:100%;height:auto;display:block}
a{color:var(--deep)}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{
  outline:3px solid var(--deep);outline-offset:2px;border-radius:2px}

h1,h2,h3{font-family:var(--font-display);font-weight:600;line-height:1.18;color:var(--ink)}
h1{font-size:3.1em;letter-spacing:-.01em}
h2{font-size:2.3em;letter-spacing:-.01em}
h3{font-size:1.35em}
h1 em,h2 em{font-style:italic;color:var(--deep)}
p{margin:0 0 1em}

.wrap{width:min(1240px,92%);margin-inline:auto}
.eyebrow{display:inline-flex;align-items:center;gap:.6em;font-size:.82em;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;color:var(--deep);margin-bottom:1.1em}
.eyebrow::before{content:"";width:2.4em;height:2px;background:var(--sage)}

.bg-green{background:var(--grad-green)}
.bg-rose{background:var(--grad-rose)}

/* ---------- Buttons ---------- */
.btn{display:inline-block;padding:.95em 1.9em;border-radius:.45em;font-weight:700;font-size:1em;
  text-decoration:none;border:2px solid transparent;cursor:pointer;transition:background .18s,color .18s,border-color .18s}
.btn-primary{background:var(--deep);color:#fff}
.btn-primary:hover{background:var(--deep-dark)}
.btn-sage{background:var(--sage);color:var(--ink)}
.btn-sage:hover{background:#8FB89B}
.btn-outline{background:transparent;color:var(--deep);border-color:var(--deep)}
.btn-outline:hover{background:var(--deep);color:#fff}
.btn-light-outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.75)}
.btn-light-outline:hover{background:#fff;color:var(--deep-dark)}
.btn-red{background:var(--deep);color:#fff}
.btn-red:hover{background:var(--deep-dark)}
.btn-red-outline{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn-red-outline:hover{background:var(--ink);color:#fff}

/* ---------- Topbar ---------- */
.topbar{background:var(--sage-soft);color:var(--ink);font-size:.88em}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:1em;padding:.5em 0;flex-wrap:wrap}
.topbar a{color:var(--ink);text-decoration:none;font-weight:500}
.topbar a:hover{text-decoration:underline}
.topbar .tb-left{display:flex;gap:1.6em;flex-wrap:wrap}
.topbar .tb-right{display:flex;gap:1.6em;flex-wrap:wrap}

/* ---------- Header / Navigation ---------- */
.site-header{background:var(--white);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:900}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:1.5em;padding:.7em 0}
.logo{text-decoration:none;line-height:1.15;display:flex;align-items:center;gap:12px}
.logo .logo-mark{height:46px;width:auto;display:block}
@media (max-width:600px){.logo .logo-mark{height:38px}}
.logo .logo-name{font-family:var(--font-display);font-weight:600;font-size:1.45em;color:var(--ink);display:block}
.logo .logo-sub{font-size:.68em;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft)}
.nav-toggle{display:none;background:none;border:2px solid var(--deep);border-radius:.4em;
  color:var(--deep);font-size:1.05em;font-weight:700;padding:.4em .8em}
nav.main-nav>ul{display:flex;align-items:center;gap:1.7em;list-style:none}
nav.main-nav a{color:var(--ink);text-decoration:none;font-weight:500;font-size:1em;padding:.5em 0;display:inline-block}
nav.main-nav a:hover{color:var(--deep)}
nav.main-nav li{position:relative}
nav.main-nav li ul{position:absolute;left:0;top:100%;min-width:16em;background:var(--white);
  border:1px solid var(--line);border-radius:.5em;box-shadow:0 12px 30px rgba(28,43,35,.12);
  padding:.5em 0;list-style:none;display:none;z-index:950}
nav.main-nav li:hover>ul,nav.main-nav li:focus-within>ul{display:block}
nav.main-nav li ul a{display:block;padding:.55em 1.2em;font-size:.95em}
nav.main-nav li ul a:hover{background:var(--sage-pale)}
.header-cta{white-space:nowrap}

@media (max-width:900px){
  .nav-toggle{display:inline-block}
  nav.main-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--white);
    border-bottom:1px solid var(--line);box-shadow:0 18px 30px rgba(28,43,35,.14)}
  nav.main-nav.open{display:block}
  nav.main-nav>ul{flex-direction:column;align-items:stretch;gap:0;padding:.6em 0}
  nav.main-nav>ul>li>a{padding:.8em 6%;display:block}
  nav.main-nav li ul{position:static;display:block;border:0;box-shadow:none;padding:0 0 .4em;border-radius:0}
  nav.main-nav li ul a{padding:.55em 10%}
  .header-cta{display:none}
}

/* ---------- Hero (Startseite) ---------- */
.hero{position:relative;isolation:isolate;color:#fff;min-height:78vh;display:flex;align-items:flex-end}
.hero .hero-bg{position:absolute;inset:0;z-index:-2;object-fit:cover;width:100%;height:100%}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(100deg,rgba(28,43,35,.82) 0%,rgba(28,43,35,.55) 42%,rgba(28,43,35,.15) 75%)}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:3em;
  align-items:end;padding:7em 0 3.2em}
.hero h1{color:#fff;font-size:3.6em}
.hero .eyebrow{color:var(--sage-soft)}
.hero .eyebrow::before{background:var(--sage)}
.hero p.lead{max-width:34em;font-size:1.08em;color:#EDF3EE;margin:1.1em 0 1.6em}
.hero .hero-actions{display:flex;gap:1em;flex-wrap:wrap}

.rating-card{background:var(--white);color:var(--ink);border-radius:.8em;
  box-shadow:0 24px 50px rgba(28,43,35,.28);padding:1.5em;max-width:24em;justify-self:end;align-self:end}
.rating-card .rc-label{font-size:.78em;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:.8em}
.rating-card .rc-score{display:flex;align-items:center;gap:1em;background:var(--sage-pale);
  border:1px solid var(--sage-soft);border-radius:.6em;padding:.9em 1em;margin-bottom:1em}
.rating-card .rc-brand{font-weight:800;color:var(--jameda);font-size:1.05em}
.rating-card .rc-stars{color:var(--jameda);letter-spacing:.1em}
.rating-card .rc-num{font-size:1.5em;font-weight:800;line-height:1}
.rating-card .rc-sub{font-size:.82em;color:var(--ink-soft)}
.rating-card ul{list-style:none}
.rating-card li{border-top:1px solid var(--line)}
.rating-card li a{display:flex;gap:.9em;align-items:center;padding:.75em .2em;text-decoration:none;color:var(--ink)}
.rating-card li a:hover .rc-line-main{text-decoration:underline}
.rating-card .rc-line-label{font-size:.75em;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);display:block}
.rating-card .rc-line-main{font-weight:700}

@media (max-width:900px){
  .hero{min-height:0}
  .hero .wrap{grid-template-columns:1fr;padding:4.5em 0 2.4em}
  .rating-card{justify-self:start;max-width:none;width:100%}
}

/* ---------- Notfall-Banner (Legacy-Klassen) ---------- */
.notfall-banner{background:var(--grad-green-strong);color:var(--ink)}
.notfall-banner .wrap{display:flex;align-items:center;gap:1.6em;padding:1.1em 0;flex-wrap:wrap}
.notfall-banner .nb-icon{font-size:1.7em}
.notfall-banner .nb-text{flex:1;min-width:16em}
.notfall-banner .nb-title{font-weight:800;font-size:1.06em}
.notfall-banner p{margin:0;font-size:.95em;color:#2F3E35}
.notfall-banner .nb-actions{display:flex;gap:.8em;flex-wrap:wrap}

/* ---------- Sektionen ---------- */
.section{padding:5.5em 0}
.section-cream{background:var(--cream)}
.section-sage{background:var(--sage-soft)}
.section-head{max-width:44em;margin-bottom:3em}
.section-head p{color:var(--ink-soft);font-size:1.05em;margin:1em 0 0}

/* ---------- Leistungs-Grid ---------- */
.grid-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4em}
@media (max-width:900px){.grid-cards{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.grid-cards{grid-template-columns:1fr}}
.card{background:var(--white);border:1px solid var(--line);border-radius:.7em;padding:1.7em;
  display:flex;flex-direction:column;gap:.7em;text-decoration:none;color:var(--ink);
  transition:transform .18s,box-shadow .18s,border-color .18s}
.card:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(28,43,35,.12);border-color:var(--sage)}
.card .card-icon{width:2.6em;height:2.6em;border-radius:.55em;background:var(--sage-pale);
  border:1px solid var(--sage-soft);display:grid;place-items:center;font-size:1.05em}
.card .card-icon-chip{width:3.4em;height:3.4em;border-radius:50%;background:var(--sage-soft);
  display:grid;place-items:center}
.card .card-icon-chip svg{width:1.7em;height:1.7em;stroke:var(--deep);fill:none;
  stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.card h3{font-size:1.12em;font-family:var(--font-body);font-weight:700}
.card p{font-size:.92em;color:var(--ink-soft);margin:0;flex:1}
.card .card-more{font-weight:700;color:var(--deep);font-size:.95em}
.card:hover .card-more{text-decoration:underline}

/* ---------- Arzt-Sektion ---------- */
.arzt{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:4em;align-items:center}
@media (max-width:900px){.arzt{grid-template-columns:1fr;gap:2.5em}}
.arzt-photo{position:relative}
.arzt-photo img{border-radius:.8em;box-shadow:0 24px 50px rgba(28,43,35,.18)}
.arzt-badge{position:absolute;right:-1em;bottom:-1em;background:var(--white);border:1px solid var(--line);
  border-radius:.7em;box-shadow:0 14px 30px rgba(28,43,35,.16);padding:.9em 1.3em;text-align:center}
.arzt-badge strong{display:block;font-size:1.4em;color:var(--deep)}
.arzt-badge span{font-size:.8em;color:var(--ink-soft)}
.quali{list-style:none;margin:1.4em 0 1.8em;display:grid;gap:.55em}
.quali li{padding-left:1.5em;position:relative;color:var(--ink-soft)}
.quali li::before{content:"✓";position:absolute;left:0;color:var(--deep);font-weight:800}

/* ---------- Bewertungen ---------- */
.reviews{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:3.5em;align-items:start}
@media (max-width:900px){.reviews{grid-template-columns:1fr}}
.review-stats{display:flex;gap:1em;flex-wrap:wrap;margin:1.6em 0}
.review-stats .stat{background:var(--white);border:1px solid var(--line);border-radius:.7em;
  padding:1em 1.4em;text-align:center;min-width:8.5em}
.review-stats strong{display:block;font-size:1.55em;color:var(--deep)}
.review-stats span{font-size:.82em;color:var(--ink-soft)}
.badge-row{display:flex;gap:.9em;flex-wrap:wrap;margin-bottom:1.2em}
.badge{display:inline-flex;align-items:center;gap:.6em;background:var(--white);border:1px solid var(--line);
  border-radius:2em;padding:.55em 1.2em;text-decoration:none;color:var(--ink);font-weight:700;font-size:.95em}
.badge .b-stars{color:var(--jameda)}
.badge:hover{border-color:var(--deep)}
.quote{background:var(--white);border:1px solid var(--line);border-left:4px solid var(--sage);
  border-radius:.6em;padding:1.3em 1.5em;margin-bottom:1.1em}
.quote .q-stars{color:var(--jameda);letter-spacing:.12em;margin-bottom:.4em}
.quote p{margin:0;font-style:italic}
.quote footer{margin-top:.6em;font-size:.85em;color:var(--ink-soft)}

/* ---------- Info-Row ---------- */
.info-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4em}
@media (max-width:900px){.info-row{grid-template-columns:1fr}}
.info-card{background:var(--white);border:1px solid var(--line);border-radius:.7em;padding:1.8em}
.info-card h3{display:flex;gap:.6em;align-items:center;font-family:var(--font-body);font-weight:800;
  font-size:1.06em;margin-bottom:.9em;color:var(--deep)}
.info-card p{font-size:.95em;color:var(--ink-soft)}
.info-card a{font-weight:700}
.hours{width:100%;border-collapse:collapse;font-size:.95em}
.hours td{padding:.45em 0;border-bottom:1px solid var(--line)}
.hours td:last-child{text-align:right;font-weight:700}

/* ---------- Ihr Besuch ---------- */
.section-sand{background:linear-gradient(115deg,#FDFAF5 0%,var(--sand-pale) 55%,#F2E2CE 100%)}
.besuch{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:6em;align-items:center}
@media (max-width:900px){.besuch{grid-template-columns:1fr;gap:2.5em}}
.besuch-photo{position:relative}
.besuch-photo img{border-radius:.8em;box-shadow:0 24px 50px rgba(28,43,35,.16)}
.besuch-badge{position:absolute;left:-1em;bottom:-1em;background:var(--sand);border-radius:.7em;
  box-shadow:0 14px 30px rgba(143,84,48,.22);padding:.9em 1.3em;text-align:center}
.besuch-badge strong{display:block;font-size:1.15em;color:var(--ink)}
.besuch-badge span{font-size:.8em;color:#3A3128}
@media (max-width:900px){.besuch-badge{left:1em}}
.besuch .steps a{font-weight:700}

/* ---------- Anfahrt (Legacy-Klassen) ---------- */
.anfahrt{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:3em;align-items:start}
@media (max-width:900px){.anfahrt{grid-template-columns:1fr}}
.map-frame{border:1px solid var(--line);border-radius:.8em;overflow:hidden;box-shadow:0 16px 36px rgba(28,43,35,.1)}
.map-frame iframe{display:block;width:100%;height:26em;border:0}
.kontakt-list{list-style:none;display:grid;gap:1.1em;margin-bottom:1.6em}
.kontakt-list li{display:flex;gap:1em}
.kontakt-list .k-icon{width:2.5em;height:2.5em;flex:none;border-radius:.55em;background:var(--sage-pale);
  border:1px solid var(--sage-soft);display:grid;place-items:center}
.kontakt-list .k-label{font-size:.78em;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);display:block}
.kontakt-list a{font-weight:700;text-decoration:none}
.kontakt-list a:hover{text-decoration:underline}
.parken{display:inline-flex;gap:.6em;align-items:center;background:var(--sage-pale);
  border:1px solid var(--sage-soft);border-radius:.55em;padding:.7em 1.1em;font-size:.92em;font-weight:600}

/* ---------- CTA ---------- */
.cta{background:var(--grad-deep);color:#fff}
.cta .wrap{padding:5em 0;max-width:52em}
.cta h2{color:#fff}
.cta p{color:#DDE8E0;max-width:36em;margin:1em 0 1.8em}
.cta .cta-actions{display:flex;gap:1em;flex-wrap:wrap}
.cta .wrap.cta-split{max-width:none;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  gap:3.5em;align-items:center;padding:4em 0}
.cta-img{margin:0}
.cta-img img{width:100%;height:17em;object-fit:cover;border-radius:.8em;
  box-shadow:0 20px 45px rgba(0,0,0,.35)}
.cta-img figcaption{font-size:.85em;color:rgba(255,255,255,.75);margin-top:.7em}
@media (max-width:900px){
  .cta .wrap.cta-split{grid-template-columns:1fr;gap:2em;padding:3.5em 0}
  .cta-img img{height:13em}
}
.cta .btn-sage{background:var(--sage);color:var(--ink)}
.cta .btn-sage:hover{background:#8FB89B}
.cta .btn-light-outline{color:#fff;border-color:rgba(255,255,255,.75)}
.cta .btn-light-outline:hover{background:#fff;color:var(--deep-dark)}

/* ---------- Unterseiten ---------- */
.page-hero{background:linear-gradient(180deg,var(--sage-soft) 0%,var(--sage-pale) 100%);
  border-bottom:1px solid var(--line)}
.page-hero .wrap{padding:3.6em 0 3em;max-width:56em;margin-inline:auto}
.page-hero.ph-red{background:linear-gradient(180deg,#F7E9E9 0%,var(--cream) 100%)}
.page-hero h1{font-size:2.7em;margin:.35em 0 .4em}
.page-hero .lead{font-size:1.12em;color:var(--ink-soft);max-width:40em;margin:0}
.breadcrumb{list-style:none;display:flex;flex-wrap:wrap;gap:.5em;font-size:.85em;color:var(--ink-soft)}
.breadcrumb li+li::before{content:"›";margin-right:.5em;color:var(--sage)}
.breadcrumb a{color:var(--ink-soft);text-decoration:none}
.breadcrumb a:hover{color:var(--deep);text-decoration:underline}

.page-layout{display:grid;grid-template-columns:minmax(0,1fr) 21.5em;gap:3.5em;align-items:start;padding:4.5em 0}
@media (max-width:900px){.page-layout{grid-template-columns:1fr;gap:2.5em;padding:3em 0}}
.content h2{font-size:1.85em;margin:1.8em 0 .7em}
.content h2:first-child{margin-top:0}
.content h3{font-size:1.2em;font-family:var(--font-body);font-weight:800;margin:1.5em 0 .5em}
.content p{color:var(--ink-soft)}
.content ul{margin:0 0 1.2em 1.2em;color:var(--ink-soft)}
.content li{margin-bottom:.35em}
.content .img-block{margin:1.8em 0}
.content .img-block img{border-radius:.7em}
.content .img-block figcaption{font-size:.85em;color:var(--ink-soft);margin-top:.6em}
.hinweis{background:var(--sage-pale);border:1px solid var(--sage-soft);border-left:4px solid var(--deep);
  border-radius:.6em;padding:1.2em 1.4em;margin:1.6em 0}
.hinweis p{margin:0}
.hinweis-red{background:#F9EFEF;border-color:#EBD4D4;border-left-color:var(--red)}

.op-quote{border-left:4px solid var(--sage);background:var(--sage-soft);color:var(--ink);
  font-family:var(--font-display);font-style:italic;font-size:1.25em;line-height:1.5;
  padding:1.5em 2em;margin:2.5em 0;border-radius:0 .6em .6em 0}
.op-quote cite{display:block;margin-top:.8em;font-family:var(--font-body);font-style:normal;
  font-size:.7em;letter-spacing:.05em;text-transform:uppercase;color:var(--deep)}

.cols-2{display:grid;grid-template-columns:1fr 1fr;gap:.2em 2.5em}
@media (max-width:600px){.cols-2{grid-template-columns:1fr}}

/* ---------- Sidebar ---------- */
.sidebar{position:sticky;top:6.5em;display:grid;gap:1.4em}
@media (max-width:900px){.sidebar{position:static}}
.side-card{background:var(--white);border:1px solid var(--line);border-radius:.7em;padding:1.6em}
.side-card.side-cta{background:var(--deep);color:#fff;border-color:var(--deep)}
.side-card.side-cta h3{color:#fff}
.side-card.side-cta p{color:#DDE8E0;font-size:.93em}
.side-card h3{font-family:var(--font-body);font-weight:800;font-size:1.05em;margin-bottom:.8em}
.side-card .side-tel{display:block;font-size:1.25em;font-weight:800;color:#fff;text-decoration:none;margin:.6em 0}
.side-card ul{list-style:none;display:grid;gap:.5em}
.side-card ul a{text-decoration:none;font-weight:600;font-size:.95em}
.side-card ul a:hover{text-decoration:underline}
.side-nap{font-size:.95em;color:var(--ink-soft)}
.side-nap strong{color:var(--ink)}

/* ---------- FAQ ---------- */
.faq{display:grid;gap:.9em;margin-top:1em}
.faq details{background:var(--white);border:1px solid var(--line);border-radius:.6em;padding:0 1.3em}
.faq summary{cursor:pointer;font-weight:700;padding:1.1em 0;list-style:none;position:relative;padding-right:2em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:.1em;top:50%;transform:translateY(-50%);
  font-size:1.4em;color:var(--deep);font-weight:400}
.faq details[open] summary::after{content:"–"}
.faq details p{color:var(--ink-soft);padding-bottom:1.1em}

/* ---------- Notfall-Spezifika ---------- */
.symptom-grid{display:grid;grid-template-columns:1fr 1fr;gap:1em;margin:1.4em 0}
@media (max-width:600px){.symptom-grid{grid-template-columns:1fr}}
.symptom{background:var(--white);border:1px solid var(--line);border-left:4px solid var(--red);
  border-radius:.55em;padding:1em 1.2em;font-weight:600}
.steps{list-style:none;counter-reset:step;display:grid;gap:1.1em;margin:1.4em 0}
.steps li{counter-increment:step;display:flex;gap:1.1em;align-items:flex-start}
.steps li::before{content:counter(step);flex:none;width:2.2em;height:2.2em;border-radius:50%;
  background:var(--sage);color:var(--ink);font-weight:800;display:grid;place-items:center}

/* ---------- Tabellen (Abrechnung) ---------- */
.tbl{width:100%;border-collapse:collapse;margin:1.4em 0;background:var(--white);
  border:1px solid var(--line);border-radius:.6em;overflow:hidden;font-size:.97em}
.tbl th{background:var(--sage-soft);color:var(--ink);text-align:left;padding:.85em 1.1em;font-size:.9em;
  letter-spacing:.06em;text-transform:uppercase}
.tbl td{padding:.85em 1.1em;border-top:1px solid var(--line);color:var(--ink-soft)}
.tbl td:last-child{text-align:right;font-weight:700;color:var(--ink);white-space:nowrap}

/* ---------- Formular (Kontakt) ---------- */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.1em}
@media (max-width:600px){.form-grid{grid-template-columns:1fr}}
.form-grid .full{grid-column:1/-1}
label{display:block;font-weight:700;font-size:.92em;margin-bottom:.35em}
input,textarea{width:100%;padding:.85em 1em;border:1px solid var(--line);border-radius:.5em;
  font:inherit;color:var(--ink);background:var(--white)}
input:focus,textarea:focus{border-color:var(--deep)}
.form-note{font-size:.85em;color:var(--ink-soft)}

/* ---------- Footer (Legacy-Klassen) ---------- */
.site-footer{background:rgba(162,197,172,0.61);border-top:1px solid var(--line);color:var(--ink)}
.site-footer a{color:var(--ink);text-decoration:none}
.site-footer a:hover{text-decoration:underline}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr .9fr .9fr;gap:2.5em;padding:4em 0 2.5em}
@media (max-width:900px){.footer-grid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.footer-grid{grid-template-columns:1fr}}
.site-footer h4{color:var(--ink);font-size:.85em;letter-spacing:.16em;text-transform:uppercase;margin-bottom:1em}
.site-footer ul{list-style:none;display:grid;gap:.5em;font-size:.95em}
.footer-brand .logo-name{color:var(--ink)}
.footer-brand .logo-sub{color:var(--ink-soft)}
.footer-brand p{font-size:.92em;margin:1em 0}
.footer-bottom{border-top:1px solid rgba(34,48,42,.22);padding:1.4em 0;display:flex;
  justify-content:space-between;gap:1em;flex-wrap:wrap;font-size:.88em;color:var(--ink-soft)}
.footer-legal{display:flex;gap:1.4em;flex-wrap:wrap}

/* ---------- Utility ---------- */
.skip-link{position:absolute;left:-999em;top:0;background:var(--deep);color:#fff;padding:.8em 1.4em;z-index:1200}
.skip-link:focus{left:0}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ============================================================
   JAMEDA-DOCK v2 · ausfahrbares Panel rechts / Mobil-Leiste unten
   HTML: Divi > Theme-Optionen > Integration > "Code zum <body>"
   JS:   /js/custom.js
   ============================================================ */
.jdock{
  --jd-ease:cubic-bezier(.34,1.4,.64,1);
  position:fixed; top:50%; right:0; z-index:9990;
  width:22em;
  font-family:var(--font-body); font-size:clamp(14px,.9vw,17px);
  transform:translate(100%,-50%);
  transition:transform .55s var(--jd-ease);
  will-change:transform;
}
.jdock.open{ transform:translate(0,-50%); }

.jdock-tab{
  position:absolute; right:100%; top:50%;
  transform:translateY(-50%) rotate(180deg);
  writing-mode:vertical-rl;
  display:flex; align-items:center; gap:.55em;
  margin:0; padding:1em .7em; border:0; cursor:pointer;
  font:inherit; font-weight:600; font-size:.95em; letter-spacing:.02em; white-space:nowrap;
  color:#fff; background:var(--deep);
  border-radius:0 .8em .8em 0;
  box-shadow:-.3em .2em 1.2em rgba(28,43,35,.28);
  transition:background-color .25s ease, padding-right .3s var(--jd-ease);
}
.jdock-tab:hover{ background:var(--deep-dark); padding-right:1em; }
.jdock-tab:focus-visible{ outline:.15em solid var(--terra); outline-offset:.15em; }
.jdock-tab-icon svg{ width:1.25em; height:1.25em; transform:rotate(90deg); }
.jdock-tab-chev{ display:inline-flex; transition:transform .45s var(--jd-ease); }
.jdock-tab-chev svg{ width:1em; height:1em; transform:rotate(90deg); }
.jdock.open .jdock-tab-chev{ transform:rotate(180deg); }

.jdock-panel{
  position:relative;
  background:#fff; color:var(--ink);
  border:.07em solid rgba(34,48,42,.14); border-right:0;
  border-radius:1em 0 0 1em;
  padding:1.8em 1.6em 1.6em;
  box-shadow:-.6em .4em 2.4em rgba(28,43,35,.18);
}
.jdock-panel > *{
  opacity:0; transform:translateX(.8em);
  transition:opacity .35s ease, transform .45s var(--jd-ease);
}
.jdock.open .jdock-panel > *{ opacity:1; transform:none; }
.jdock.open .jdock-panel > :nth-child(2){ transition-delay:.12s; }
.jdock.open .jdock-panel > :nth-child(3){ transition-delay:.18s; }
.jdock.open .jdock-panel > :nth-child(4){ transition-delay:.24s; }
.jdock.open .jdock-panel > :nth-child(5){ transition-delay:.30s; }

.jdock-panel h3{
  font-family:var(--font-display);
  font-size:1.35em; font-weight:600; color:var(--deep);
  margin:0 .6em .4em 0; padding:0; line-height:1.2; letter-spacing:0; text-transform:none;
}
.jdock-hint{ margin:0 0 1.2em; padding:0; font-size:.92em; color:var(--ink-soft); line-height:1.5; }
.jdock-tel{ margin:1.1em 0 0; }
.jdock-tel a{ color:var(--deep); text-decoration:none; }
.jdock-tel a:hover{ text-decoration:underline; }

.jdock-btn{
  display:flex; justify-content:center; align-items:center; gap:.4em;
  font-weight:600; font-size:1em; text-decoration:none;
  color:#fff; background:var(--deep);
  border-radius:2.4em; padding:.9em 1.4em;
  transition:background-color .2s ease, transform .2s ease;
}
.jdock-btn:hover{ background:var(--deep-dark); transform:translateY(-.1em); }
.jdock-btn:focus-visible{ outline:.15em solid var(--terra); outline-offset:.2em; }

.jdock-close{
  position:absolute; top:.8em; right:.8em;
  width:2em; height:2em; padding:.4em; border:0; border-radius:50%;
  background:var(--sage-soft); color:var(--deep); cursor:pointer;
  display:inline-flex; align-items:center; justify-content:center;
  transition:background-color .2s ease;
}
.jdock-close svg{ width:100%; height:100%; }
.jdock-close:hover{ background:var(--sage); }
.jdock-close:focus-visible{ outline:.15em solid var(--terra); outline-offset:.1em; }

.jdock-mobile{ display:none; }
@media (max-width:900px){
  .jdock{ display:none; }
  .jdock-mobile{
    display:block; position:fixed; left:0; right:0; bottom:0; z-index:9990;
    background:var(--deep); box-shadow:0 -.3em 1.2em rgba(28,43,35,.25);
    padding-bottom:env(safe-area-inset-bottom);
  }
  .jdock-mobile a{
    display:block; text-align:center; padding:1em 1.2em;
    font-family:var(--font-body); font-weight:600; font-size:clamp(15px,2.2vw,18px);
    color:#fff; text-decoration:none;
  }
  body{ padding-bottom:3.6em; }
}
@media (prefers-reduced-motion:reduce){
  .jdock, .jdock-tab, .jdock-tab-chev, .jdock-panel > *, .jdock-btn{ transition:none; }
}

/* ---------- Mobile-Feinschliff ---------- */
@media (max-width:600px){
  .section{padding:3.5em 0}
  .notfall-banner .wrap{gap:1em}
  .notfall-banner .nb-actions{width:100%;display:flex;gap:.7em}
  .notfall-banner .nb-actions .btn{flex:1;text-align:center;padding:.9em .4em;font-size:.95em;white-space:nowrap}
  .hero-actions .btn{flex:1;text-align:center;padding:.95em .6em;white-space:nowrap}
}
