:root{
  --navy:#2F377F; --navy-deep:#1F285D; --orange:#ED691F; --orange-action:#A94310;
  --apricot:#FBC7A0; --ink:#24305C; --muted:#536183; --line:#DCE2EF;
  --paper:#FFFFFF; --wash:#F7F9FD; --warm:#FFF5EC;
  --space-1:.375rem; --space-2:.75rem; --space-3:1rem; --space-4:1.5rem;
  --space-5:2rem; --space-6:3rem; --space-7:4.5rem;
  --radius-sm:.5rem; --radius-md:1rem; --radius-lg:1.5rem;
  --shadow-card:0 12px 36px rgba(36,48,92,.08); --shadow-header:0 4px 22px rgba(36,48,92,.08);
  --container:80rem; --body-size:1rem; --small-size:.875rem;
  --section-title:clamp(2rem,3vw,2.9rem); --hero-title:clamp(2.35rem,4.4vw,4.55rem);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:6.5rem}
body{margin:0;background:var(--paper);color:var(--ink);font:400 var(--body-size)/1.6 system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
body.modal-open{overflow:hidden}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
a{color:var(--navy)}
a:hover{text-decoration-thickness:2px}
img{max-width:100%;height:auto}
:focus-visible{outline:3px solid var(--orange-action);outline-offset:4px}
[hidden]{display:none!important}
.container{width:min(calc(100% - 2.5rem),var(--container));margin-inline:auto}
.skip-link{position:fixed;z-index:100;top:-5rem;left:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--navy);color:white;border-radius:var(--radius-sm)}
.skip-link:focus{top:var(--space-3)}
.site-header{position:sticky;top:0;z-index:30;background:var(--paper);box-shadow:var(--shadow-header)}
.header-inner{display:flex;align-items:center;gap:var(--space-3);min-height:5.6rem}
.brand{display:flex;align-items:center;flex:0 0 auto;width:clamp(10rem,18vw,15.2rem)}
.brand img{display:block;width:100%}
.site-nav{display:flex;align-items:center;justify-content:flex-end;gap:clamp(.5rem,1.35vw,1.25rem);flex:1}
.site-nav>a{font-size:var(--small-size);font-weight:600;text-decoration:none;white-space:nowrap;padding:.75rem .1rem;border-bottom:2px solid transparent}
.site-nav>a:hover,.site-nav>a[aria-current="location"]{border-color:var(--orange-action);color:var(--orange-action)}
.nav-service{display:inline-flex;align-items:center;gap:.6rem;border:0;border-radius:var(--radius-sm);padding:.75rem 1rem;color:white;background:var(--orange-action);font-weight:700;white-space:nowrap}
.nav-service:hover,.button--orange:hover{background:#883608}
.language-switch{display:flex;align-items:center;gap:.2rem;flex:0 0 auto;padding-left:var(--space-2);border-left:1px solid var(--line)}
.language-switch a{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .42rem;text-decoration:none;border-radius:var(--radius-sm);font-size:.75rem;font-weight:700}
.language-switch a[aria-current]{box-shadow:inset 0 -2px var(--orange-action)}
.language-switch img{display:block;width:1.5rem;height:1.5rem}
.menu-toggle{display:none;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);width:2.8rem;height:2.8rem;padding:.55rem;align-items:center;justify-content:center;flex-direction:column;gap:.25rem}
.menu-toggle span{display:block;width:1.2rem;height:2px;background:var(--navy)}
.hero{position:relative;overflow:hidden;min-height:34rem;background:#687086;border-bottom:1px solid var(--line)}
.hero-media{position:absolute;inset:0;background:linear-gradient(135deg,#687086,#3F485F)}
.hero-media img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 50%}
.hero-media--empty{background:linear-gradient(135deg,#667083 0%,#39445C 100%)}
.hero-inner{position:relative;z-index:2;display:flex;align-items:center;min-height:34rem}
.hero-copy{width:min(100%,48rem);padding:var(--space-7) 0}
.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:var(--orange-action);font-weight:800;font-size:.72rem;margin:0 0 var(--space-2)}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{color:var(--navy-deep);line-height:1.16;letter-spacing:-.025em}
h1{font-size:var(--hero-title);margin-bottom:var(--space-2);max-width:13ch}
h2{font-size:var(--section-title);margin-bottom:var(--space-3)}
h3{font-size:1.23rem;margin-bottom:var(--space-2)}
.hero .eyebrow{color:#FFD5B6;text-shadow:0 1px 3px rgba(0,0,0,.35)}
.hero h1,.hero h2{color:white;text-shadow:0 2px 14px rgba(0,0,0,.38)}
.hero-lead{font-size:clamp(1.25rem,2vw,1.65rem);font-weight:700;color:white;margin-bottom:var(--space-3);text-shadow:0 1px 8px rgba(0,0,0,.42)}
.hero-body{max-width:42rem;color:#F5F7FC;font-size:1.07rem;text-shadow:0 1px 8px rgba(0,0,0,.5)}
.hero-actions,.modal__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-top:var(--space-5)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:1rem;min-height:3.15rem;border-radius:var(--radius-sm);border:1px solid transparent;padding:.72rem 1.3rem;font-weight:750;text-decoration:none;line-height:1.25}
.button--orange{background:var(--orange-action);color:white}
.button--outline{background:white;color:var(--navy-deep);border-color:var(--navy)}
.button--outline:hover{background:var(--navy);color:white}
.button--quiet{background:white;color:var(--navy-deep);border-color:var(--line)}
.button--quiet:hover{border-color:var(--navy)}
.button:disabled{opacity:.6;cursor:not-allowed}
.button--disabled{background:var(--line);color:var(--navy-deep)}
.hero-controls{display:flex;align-items:center;gap:.6rem;margin-top:var(--space-4)}
.hero-controls button{border:1px solid var(--line);border-radius:var(--radius-sm);background:white;color:var(--navy);padding:.4rem .7rem;font-weight:700}
.hero-controls button:hover{border-color:var(--navy)}
.hero-controls span{font-weight:700;color:white;text-shadow:0 1px 5px rgba(0,0,0,.5)}
.hero-quick-info{display:none}
.section{padding:var(--space-7) 0;scroll-margin-top:6.5rem}
.section-grid{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:var(--space-6)}
.section-lead{max-width:43rem;font-size:1.08rem;color:var(--muted)}
.practice-card{padding:var(--space-5);background:var(--warm);border-radius:var(--radius-lg);border:1px solid #F5D5BF;min-height:12rem}
.practice-card__mark{display:inline-grid;place-items:center;width:3rem;height:3rem;border-radius:50%;background:var(--orange);color:var(--navy-deep);font-size:1.8rem;font-weight:700;margin-bottom:var(--space-3)}
.practice-card p{color:var(--muted);margin:0}
.services{background:var(--wash)}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:var(--space-5);margin-bottom:var(--space-5)}
.section-heading p:last-child{max-width:31rem;color:var(--muted)}
.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}
.service-card{background:white;border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-5);box-shadow:var(--shadow-card);display:flex;flex-direction:column;min-height:17rem}
.service-card__icon{display:grid;place-items:center;width:3.8rem;height:3.8rem;border-radius:50%;font-weight:800;font-size:1.18rem;margin-bottom:var(--space-4)}
.service-card__icon--1{background:var(--orange);color:var(--navy-deep)}
.service-card__icon--2{background:var(--apricot);color:var(--navy-deep)}
.service-card__icon--3{background:var(--navy);color:white}
.service-card h3{max-width:20ch}
.service-card p{color:var(--muted);flex:1}
.text-link{display:inline-flex;align-items:center;gap:.6rem;align-self:flex-start;border:0;border-bottom:1px solid currentColor;background:transparent;color:var(--orange-action);font-weight:700;text-decoration:none;padding:0 0 .12rem}
.text-link:hover{color:var(--navy)}
.hours-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6);align-items:start}
.hours-grid>div:first-child p:last-child{color:var(--muted);max-width:35rem}
.hours-card{border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-card)}
.hours-card__head,.hours-card__row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);padding:.55rem 0}
.hours-card__head{font-size:var(--small-size);font-weight:800;color:var(--navy);border-bottom:2px solid var(--orange)}
.hours-card__row{border-bottom:1px solid var(--line)}
.hours-card__row:last-child{border-bottom:0}
.hours-card__row--vacation-today{padding-inline:.65rem;border-left:4px solid var(--orange-action);border-radius:var(--radius-sm);background:#fff5eb}
.hours-card__row--vacation-today>span:first-child{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}
.hours-card__today--vacation{display:inline-flex;align-items:center;padding:.2rem .55rem;border:1px solid #edb98f;border-radius:999px;background:#fff;color:var(--orange-action);font-size:.68rem;font-weight:850;line-height:1.2;text-transform:uppercase}
.hours-card__today--vacation::before{width:.42rem;height:.42rem;border-radius:50%;background:currentColor;box-shadow:0 0 0 .2rem #fff0e4;content:"";margin-right:.4rem}
.hours-card__vacation-status{display:grid;gap:.2rem;min-width:0}
.hours-card__vacation-closed{display:flex;align-items:center;gap:.45rem;color:#a93622;font-size:1rem;font-weight:850}
.hours-card__vacation-closed-icon{width:1.15rem;height:1.15rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.hours-card__vacation-regular{color:var(--muted);font-size:.75rem;font-weight:650;line-height:1.4}
@media(max-width:430px){.hours-card__row--vacation-today{padding-inline:.5rem}.hours-card__today--vacation{font-size:.61rem}.hours-card__vacation-closed{font-size:.9rem}.hours-card__vacation-regular{font-size:.7rem}}
.contact{background:var(--wash)}
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:var(--space-5);margin-top:var(--space-5)}
.contact-stack{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}
.contact-info,.arrival-card,.contact-form-card{background:white;border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-4)}
.contact-info h3,.arrival-card h3{font-size:1rem;margin-bottom:.35rem}
.contact-info p,.arrival-card p{color:var(--muted);margin-bottom:0}
.contact-info a{overflow-wrap:anywhere}
.arrival-card{grid-column:1/-1;min-height:11rem;background:linear-gradient(135deg,#F8FAFE,#ECF1FB)}
.arrival-card .muted{margin-top:var(--space-3);font-size:var(--small-size)}
.contact-form-card{box-shadow:var(--shadow-card)}
.preview-note{padding:var(--space-3);border-left:4px solid var(--orange-action);background:var(--warm);font-weight:650;color:var(--navy-deep)}
.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);margin:var(--space-4) 0}
.field{min-width:0}
.field:has(textarea){grid-column:1/-1}
.field label{display:block;font-weight:700;font-size:var(--small-size);margin-bottom:.3rem}
.field__hint{display:inline;margin-left:.35rem;font-weight:400;color:var(--muted)}
.field input,.field select,.field textarea{display:block;width:100%;max-width:100%;min-width:0;border:1px solid #7B87A5;border-radius:var(--radius-sm);padding:.65rem .75rem;background:white;color:var(--ink)}
.field textarea{resize:vertical;min-height:6rem}
.field__error{display:block;color:#9D281E;font-size:var(--small-size)}
.privacy-confirm{display:flex;align-items:flex-start;gap:.65rem;font-size:var(--small-size);font-weight:650}
.privacy-confirm input{margin-top:.25rem;width:1rem;height:1rem;flex:0 0 auto}
.form-note{font-size:var(--small-size);color:var(--muted);margin:.5rem 0}
.form-note--urgent{color:#7A2B21;font-weight:650}
.contact-form-card>.button{margin-top:var(--space-3)}
.emergency{background:var(--navy-deep);color:white}
.emergency-inner{display:flex;align-items:center;gap:var(--space-5);padding-block:var(--space-5)}
.emergency h2{font-size:1.5rem;color:white;margin:0;flex:0 0 12rem}
.emergency p{margin:0}
.site-footer{background:var(--navy-deep);color:#F4F5FB;padding:var(--space-6) 0 var(--space-3)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:var(--space-5)}
.footer-brand img{display:block;width:min(100%,17rem);background:white;border-radius:var(--radius-sm);padding:.4rem;margin-bottom:var(--space-3)}
.footer-brand p{color:#DDE3F4}
.site-footer h2{color:white;font-size:1rem;margin-bottom:var(--space-3)}
.site-footer a,.footer-link{display:block;color:#F4F5FB;text-decoration:none;margin:.45rem 0}
.site-footer a:hover,.footer-link:hover{text-decoration:underline}
.footer-link{background:none;border:0;padding:0;text-align:left;font:inherit}
.footer-bottom{border-top:1px solid rgba(255,255,255,.22);padding-top:var(--space-3);margin-top:var(--space-5);color:#C9D1E8}
.legal-page{min-height:24rem}
.legal-card{max-width:60rem}
.modal{width:min(calc(100vw - 2rem),39rem);max-height:min(90dvh,52rem);overflow:auto;border:0;border-radius:var(--radius-lg);padding:0;color:var(--ink);background:white;box-shadow:0 28px 90px rgba(13,20,55,.35)}
.modal--form{width:min(calc(100vw - 2rem),47rem)}
.modal::backdrop{background:rgba(19,27,68,.67)}
.modal__inner{position:relative;padding:var(--space-5)}
.modal__inner>h2{padding-right:2rem}
.modal__close{position:absolute;right:1rem;top:1rem;display:grid;place-items:center;border:1px solid var(--line);background:white;color:var(--navy-deep);border-radius:50%;width:2.45rem;height:2.45rem;font-size:1.7rem;line-height:1}
.modal__close:hover{background:var(--wash)}
.modal .field-grid{margin-block:var(--space-5)}
.cookie-option{border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--space-3);margin:var(--space-3) 0}
.cookie-option p{color:var(--muted);margin:0}
.cookie-banner{position:fixed;z-index:50;bottom:1rem;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);width:min(calc(100% - 2rem),70rem);padding:var(--space-3) var(--space-4);background:white;border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:0 16px 60px rgba(13,20,55,.22)}
.cookie-banner strong{color:var(--navy-deep)}
.cookie-banner p{font-size:var(--small-size);margin:0;color:var(--muted)}
.cookie-banner__actions{display:flex;flex-wrap:wrap;gap:.5rem;flex:0 0 auto}
.cookie-banner__actions .button{min-height:2.6rem;font-size:var(--small-size);padding:.5rem .7rem}
.noscript-note{position:fixed;bottom:0;margin:0;padding:.7rem 1rem;background:var(--warm);color:var(--ink);width:100%;z-index:60}
.muted{color:var(--muted)}
@media(max-width:1120px){
 .header-inner{flex-wrap:wrap;padding-block:.45rem}
 .menu-toggle{display:flex;order:2;margin-left:auto}
 .language-switch{order:3}
 .site-nav{order:4;width:100%;flex-basis:100%;justify-content:flex-start;flex-wrap:wrap;gap:.35rem .9rem}
 .js .site-nav{display:none}
 .js .site-nav.is-open{display:flex}
 .site-nav>a{white-space:normal}
 .nav-service{margin:.4rem 0}
}
@media(max-width:900px){
  .hero-copy{padding:var(--space-6) 0}
 .section-grid,.hours-grid,.contact-grid{grid-template-columns:1fr}
 .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .footer-grid{grid-template-columns:1.5fr 1fr 1fr}
}
@media(max-width:640px){
 :root{--space-7:3.5rem;--space-6:2.4rem}
 .container{width:min(calc(100% - 2rem),var(--container))}
 .header-inner{min-height:4.7rem}
 .brand{width:clamp(9rem,41vw,12.2rem)}
 .hero,.hero-inner{min-height:32rem}
 h1{max-width:none}
 .hero-actions{align-items:stretch}
 .hero-actions .button{width:100%}
 .section-heading{display:block}
 .service-grid,.field-grid,.contact-stack,.footer-grid{grid-template-columns:1fr}
 .arrival-card{grid-column:auto}
 .emergency-inner{display:block}
 .emergency h2{margin-bottom:.5rem}
 .modal__inner{padding:var(--space-4)}
 .cookie-banner{display:block;bottom:.5rem;padding:var(--space-3)}
 .cookie-banner__actions{margin-top:var(--space-3)}
 .cookie-banner__actions .button{flex:1 1 auto}
}
@media(max-width:380px){
 .brand{width:8.7rem}
 .language-switch{gap:0;padding-left:.3rem}
 .language-switch a{padding:.2rem}
 .language-switch a span{display:none}
 .menu-toggle{width:2.5rem;height:2.5rem;padding:.4rem}
 .modal{width:calc(100vw - 1rem);max-height:95dvh}
 .modal__inner{padding:var(--space-3)}
 .cookie-banner{width:calc(100% - 1rem)}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}
.spam-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.receipt-reference{display:inline-block;padding:.6rem 1rem;border:2px solid var(--orange-action);border-radius:var(--radius-sm);font-size:1.3rem;font-weight:800;color:var(--navy-deep);overflow-wrap:anywhere}


.form-errors{padding:var(--space-3);border-left:4px solid #9D281E;background:#FFF5EC;color:#7A2B21;font-weight:700;margin:var(--space-3) 0}

.preview-watermark{position:sticky;top:0;z-index:1000;background:#ed691f;color:#1f285d;text-align:center;padding:.55rem;font-weight:700}
.service-card__image{display:block;width:100%;max-height:190px;object-fit:cover;border-radius:10px;margin-bottom:1rem}
.footer-extra{display:flex;gap:1rem;flex-wrap:wrap;padding-bottom:1rem}.footer-extra a{color:#fff;text-decoration:underline}
.legal-body{white-space:normal;max-width:72ch;line-height:1.7}
.footer-contact{font-style:normal;line-height:1.7;margin-top:.8rem}.footer-contact a{color:inherit;text-decoration:underline}

/* Phase 10 Korrektur: verschachtelte Datenschutz- und Cookie-Dialoge */
.privacy-confirm label{min-width:0}.privacy-confirm a{font-weight:800}.modal--privacy{width:min(calc(100vw - 2rem),52rem)}.modal__scroll{max-height:min(58dvh,34rem);overflow:auto;padding:.8rem 1rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--wash)}.cookie-option{min-inline-size:0}.cookie-option legend{font-weight:800;color:var(--navy-deep);padding:0 .25rem}.cookie-choice{display:flex;align-items:flex-start;gap:.65rem;margin-top:.65rem;font-weight:650}.cookie-choice input{flex:0 0 auto;width:1rem;height:1rem;margin-top:.25rem}.cookie-choice input:disabled+span{color:var(--muted)}

/* Phase 10: Praxisurlaub */
.vacation-banner-wrap{padding-top:1rem}.vacation-banner,.vacation-notice{border:2px solid var(--orange-action);border-radius:var(--radius-md);background:#fff5ec;color:var(--navy-deep);padding:1rem 1.25rem;box-shadow:var(--shadow-card)}.vacation-banner h2,.vacation-notice h2{font-size:clamp(1.2rem,3vw,1.6rem);margin:0 0 .45rem;color:var(--navy-deep)}.vacation-banner p,.vacation-notice p{margin:.35rem 0}.vacation-notice{margin:1rem 0;box-shadow:none}.vacation-representative{margin-top:.85rem;padding-top:.75rem;border-top:1px solid #e6b78f}.vacation-representative h3{font-size:1rem;margin:0 0 .35rem;color:var(--navy-deep)}@media(max-width:380px){.vacation-banner,.vacation-notice{padding:.85rem}}

/* Strukturierte Abwesenheits- und Vertretungsanzeige */
.vacation-card{display:grid;gap:1rem;overflow:hidden}.vacation-card__header{display:block}.vacation-card__eyebrow{display:block;margin:0 0 .1rem;color:#9b4d18;font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.07em}.vacation-card__period{font-size:.84rem;font-weight:750;color:#77543e}.vacation-card__text{margin:0!important;white-space:normal}.vacation-representative{margin:0;padding:.95rem 1rem;border:1px solid #c8daf2;border-radius:.75rem;background:#edf5ff}.vacation-representative__eyebrow{display:block;margin-bottom:.15rem;color:#39689f;font-size:.7rem;font-weight:850;text-transform:uppercase;letter-spacing:.065em}.vacation-representative h3{margin:0 0 .45rem}.vacation-representative address{color:#334d6c;font-style:normal;white-space:pre-line}.vacation-representative__phone,.vacation-representative__note{color:#334d6c}.vacation-representative a{font-weight:750}.vacation-popup{width:min(calc(100vw - 1.5rem),46rem);background:linear-gradient(145deg,#fff,#fff8f1)}.vacation-popup .modal__inner{padding:clamp(1.1rem,4vw,2rem)}.vacation-popup__eyebrow{margin:0 3rem .7rem 0;color:#9b4d18;font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.vacation-popup__card{padding:1.15rem;border:1px solid #f0c6a7;border-left:5px solid var(--orange-action);border-radius:var(--radius-md);background:#fffaf6;box-shadow:none}.vacation-popup__actions{margin-top:1rem}.vacation-popup__actions .button{width:100%}@media(max-width:420px){.vacation-card{gap:.8rem}.vacation-representative{padding:.8rem}.vacation-popup{width:calc(100vw - 1rem);max-height:calc(100dvh - 1rem)}.vacation-popup__card{padding:.9rem}}

/* Kompakter Urlaubshinweis auf der Startseite und in Formularen */
.vacation-compact{--vacation-accent:var(--orange-action);color:var(--navy-deep)}
.vacation-compact--banner{display:grid;grid-template-columns:2.9rem minmax(0,1fr) auto;gap:1rem;align-items:center;min-height:5.35rem;padding:.9rem 1.15rem;border:1px solid #efc29f;border-left:5px solid var(--vacation-accent);border-radius:var(--radius-md);background:linear-gradient(105deg,#fff7ef,#fff 72%);box-shadow:0 14px 34px rgba(31,40,93,.1)}
.vacation-compact__icon{display:grid;place-items:center;width:2.8rem;height:2.8rem;border-radius:50%;background:#fff;color:var(--vacation-accent);box-shadow:0 7px 18px rgba(169,67,16,.14)}
.vacation-compact__icon-svg{width:1.65rem;height:1.65rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.vacation-compact__copy{display:block;min-width:0}
.vacation-compact__meta{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;margin-bottom:.18rem}
.vacation-compact__eyebrow{color:#9b4d18;font-size:.7rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase}
.vacation-compact__period{display:inline-flex;align-items:center;padding:.14rem .48rem;border-radius:99rem;background:#fff0e4;color:#80543a;font-size:.74rem;font-weight:750;white-space:nowrap}
.vacation-compact__message{display:flex;align-items:baseline;gap:.75rem;min-width:0}
.vacation-compact__title{margin:0;color:var(--navy-deep);font-size:clamp(1.05rem,2vw,1.3rem);line-height:1.25}
.vacation-compact__message p,.vacation-compact__short{margin:0;color:#536176;font-size:.9rem;line-height:1.45}
.vacation-compact__action{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.7rem;padding:.55rem .85rem;border:1px solid var(--vacation-accent);border-radius:.7rem;background:#fff;color:var(--vacation-accent);font:inherit;font-size:.84rem;font-weight:800;line-height:1.2;white-space:nowrap;cursor:pointer}
button.vacation-compact__action:hover,button.vacation-compact__action:focus-visible{background:var(--vacation-accent);color:#fff}
.vacation-compact--form{margin:1rem 0;border:1px solid #efc29f;border-left:4px solid var(--vacation-accent);border-radius:var(--radius-md);background:#fff9f4;overflow:hidden}
.vacation-compact__summary{display:grid;grid-template-columns:2.65rem minmax(0,1fr) auto;gap:.85rem;align-items:center;padding:.85rem 1rem;list-style:none;cursor:pointer}
.vacation-compact__summary::-webkit-details-marker{display:none}
.vacation-compact__summary::marker{content:""}
.vacation-compact--form .vacation-compact__icon{width:2.55rem;height:2.55rem;box-shadow:none}
.vacation-compact--form .vacation-compact__icon-svg{width:1.45rem;height:1.45rem}
.vacation-compact--form .vacation-compact__title{display:block;margin:.08rem 0;font-size:1rem}
.vacation-compact__short{display:block;font-size:.82rem}
.vacation-compact--form .vacation-compact__action{border:0;background:transparent;padding:.35rem;color:var(--vacation-accent)}
.vacation-compact__less{display:none}
.vacation-compact__chevron{font-size:1.15rem;transition:transform .18s ease}
.vacation-compact--form[open] .vacation-compact__more{display:none}
.vacation-compact--form[open] .vacation-compact__less{display:inline}
.vacation-compact--form[open] .vacation-compact__chevron{transform:rotate(180deg)}
.vacation-compact__details{display:grid;gap:.8rem;margin:0 1rem;padding:1rem 0;border-top:1px solid #eed5c2}
.vacation-compact__details>.vacation-card__text{margin:0!important;color:#46566c;line-height:1.6}
@media(max-width:620px){.vacation-banner-wrap{padding-top:.65rem}.vacation-compact--banner{grid-template-columns:2.45rem minmax(0,1fr);gap:.7rem;min-height:0;padding:.72rem .8rem}.vacation-compact__icon{width:2.35rem;height:2.35rem}.vacation-compact__icon-svg{width:1.4rem;height:1.4rem}.vacation-compact__message{display:block}.vacation-compact__message p{margin-top:.12rem;font-size:.8rem}.vacation-compact--banner .vacation-compact__action{grid-column:2;justify-content:flex-start;min-height:1.75rem;width:max-content;padding:.1rem 0;border:0;background:transparent;font-size:.8rem}.vacation-compact__period{font-size:.68rem}.vacation-compact__eyebrow{font-size:.64rem}.vacation-compact__summary{grid-template-columns:2.35rem minmax(0,1fr);gap:.65rem;padding:.72rem .75rem}.vacation-compact--form .vacation-compact__icon{width:2.25rem;height:2.25rem}.vacation-compact--form .vacation-compact__action{grid-column:2;justify-content:flex-start;width:max-content;min-height:1.6rem;padding:.12rem 0;font-size:.76rem}.vacation-compact--form .vacation-compact__title{font-size:.93rem}.vacation-compact__short{font-size:.76rem}.vacation-compact__details{margin:0 .75rem;padding:.8rem 0}}

/* Responsiver Zwei-Zeilen-Header und dynamischer Sticky-Abstand */
:root{--preview-bar-height:0px;--site-header-height:6.5rem;--sticky-offset:calc(var(--preview-bar-height) + var(--site-header-height))}
html{scroll-padding-top:calc(var(--sticky-offset) + 1rem)}
.site-header{position:sticky;top:var(--preview-bar-height);z-index:40;background:#fff;transition:box-shadow .18s ease}
.site-header.is-scrolled{box-shadow:0 7px 24px rgba(31,40,93,.16)}
.header-tools{display:flex;align-items:center;gap:var(--space-2);flex:0 0 auto}
.mobile-service{position:relative}
.nav-service--mobile{display:none}
.mobile-service-menu{position:absolute;z-index:3;top:calc(100% + .45rem);left:0;width:max-content;min-width:13.5rem;padding:.35rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow-header)}
.mobile-service-menu button{display:block;width:100%;min-height:2.75rem;padding:.65rem .8rem;border:0;border-bottom:1px solid var(--line);background:#fff;color:var(--navy-deep);font-weight:750;text-align:left}
.mobile-service-menu button:last-child{border-bottom:0}
.mobile-service-menu button:hover{background:var(--warm);color:var(--orange-action)}
.section,.hero{scroll-margin-top:calc(var(--sticky-offset) + 1rem)}
.preview-watermark{position:sticky;top:0;z-index:45}
.modal{z-index:2000}

@media(max-width:1120px){
 .header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:.75rem;row-gap:.35rem;min-height:0;padding-block:.4rem}
 .brand{grid-column:1;grid-row:1;width:clamp(8.8rem,36vw,11.5rem)}
 .menu-toggle{display:flex;grid-column:2;grid-row:1;margin:0;width:2.75rem;height:2.75rem;min-width:2.75rem;min-height:2.75rem}
 .header-tools{grid-column:1/-1;grid-row:2;display:flex;justify-content:space-between;width:100%;gap:.5rem;padding-top:.35rem;border-top:1px solid var(--line)}
 .nav-service--mobile{display:inline-flex;min-height:2.75rem;padding:.55rem .8rem}
 .language-switch{order:initial;margin-left:auto;padding:0;border:0;gap:.15rem}
 .language-switch a{min-width:2.75rem;min-height:2.75rem;justify-content:center;padding:.25rem .35rem;border:1px solid transparent}
 .language-switch a[aria-current]{color:var(--navy-deep);background:var(--warm);border-color:var(--orange-action);box-shadow:none}
 .language-switch a span{display:inline}
 .site-nav{grid-column:1/-1;grid-row:3;order:initial;width:100%;display:flex;align-items:stretch;justify-content:flex-start;flex-direction:column;flex-basis:auto;gap:0;margin:.2rem 0 0;padding:.15rem 0;background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
 .js .site-nav{display:none}
 .js .site-nav.is-open{display:flex}
 .site-nav>a{display:flex;align-items:center;width:100%;min-height:2.75rem;padding:.7rem .25rem;border:0;border-bottom:1px solid var(--line);white-space:normal}
 .site-nav>a:last-of-type{border-bottom:0}
 .site-nav>a:hover,.site-nav>a[aria-current="location"]{padding-left:.65rem;border-color:var(--line);background:var(--wash);color:var(--orange-action)}
 .nav-service--desktop{display:none}
 .mobile-service-menu{max-width:calc(100vw - 2rem)}
}
@media(max-width:380px){
 .menu-toggle{width:2.75rem;height:2.75rem;padding:.45rem}
 .language-switch a{padding:.2rem .3rem}
}

.hero-filter{position:absolute;z-index:1;inset:0;width:100%;height:100%;pointer-events:none}.hero-media img{position:relative;z-index:0}.modal__inner>p,.contact-form-card>p,.form-note,.preview-note,.contact-info p,.arrival-card p,.footer-contact{white-space:pre-line}
.action--recipe,.action--referral,.action--online{background:var(--action-bg)!important;color:var(--action-text)!important;border-color:var(--action-border)!important}
.action--recipe:hover,.action--referral:hover,.action--online:hover{background:var(--action-hover-bg)!important;color:var(--action-hover-text)!important;border-color:var(--action-hover-border)!important}

.mobile-service-menu .action--recipe,.mobile-service-menu .action--referral{background:var(--action-bg)!important;color:var(--action-text)!important;border-color:var(--action-border)!important}
.mobile-service-menu .action--recipe:hover,.mobile-service-menu .action--referral:hover{background:var(--action-hover-bg)!important;color:var(--action-hover-text)!important;border-color:var(--action-hover-border)!important}

/* Aktuelles: funktionale Grunddarstellung für alle öffentlichen Designs */
.news{background:var(--wash)}.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2.4vw,1.75rem)}.news-card{display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;box-shadow:var(--shadow-card)}.news-card__image{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}.news-card__body{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:clamp(1rem,2.4vw,1.45rem)}.news-card time,.news-detail__date{display:block;margin-bottom:.45rem;color:var(--muted);font-size:.82rem;font-weight:750}.news-card h3{margin:0 0 1rem;color:var(--navy-deep);font-size:clamp(1.15rem,2.2vw,1.45rem)}.news-card .text-link{margin-top:auto}.news-detail{width:min(calc(100vw - 2rem),50rem)}.news-detail__image{display:block;width:100%;max-height:22rem;margin:0 0 1.25rem;object-fit:cover;border-radius:var(--radius-sm)}.news-detail__image[hidden],.news-detail__date[hidden]{display:none}@media(max-width:820px){.news-grid{grid-template-columns:minmax(0,1fr)}}

/* Footer-Kontaktzeilen und Leistungsdetail */
.footer-contact{display:grid;gap:.55rem;white-space:normal}.footer-contact__row{display:grid;grid-template-columns:1.25rem minmax(0,1fr);gap:.6rem;align-items:start}.footer-contact__icon{width:1.1rem;height:1.1rem;margin-top:.25rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;color:var(--orange-action)}.footer-contact__row a{display:inline;margin:0}.service-detail-text{white-space:normal}.service-detail-text p{margin:0}.service-detail-text p+p{margin-top:1rem}@media(max-width:430px){.footer-contact__row{grid-template-columns:1.15rem minmax(0,1fr);gap:.5rem}.footer-contact__row span{min-width:0;overflow-wrap:anywhere}}

/* Praxis-V2: thematische Vorteilsicons und dynamische Sekundaerfarbe */
.practice-v2 .practice-v2__badge{color:var(--orange-action)}
.practice-v2 .practice-v2__badge>span,.practice-v2 .practice-v2__benefits span{display:grid;place-items:center;flex:0 0 auto;background:#fff4eb;background:color-mix(in srgb,var(--orange-action) 10%,#fff);color:var(--navy-deep)}
.practice-v2 .practice-v2__badge>span{width:2.15rem;height:2.15rem}
.practice-v2 .practice-v2__benefits span{width:2.25rem;height:2.25rem}
.practice-v2 .practice-v2__icon{width:1.35rem;height:1.35rem;fill:none;stroke:currentColor;vector-effect:non-scaling-stroke}
.practice-v2 .practice-v2__badge .practice-v2__icon{width:1.45rem;height:1.45rem;color:var(--orange-action)}
.practice-v2 .practice-v2__icon-accent{stroke:var(--orange-action)}
@media(max-width:420px){.practice-v2 .practice-v2__benefits span{width:2rem;height:2rem}.practice-v2 .practice-v2__benefits .practice-v2__icon{width:1.2rem;height:1.2rem}}

/* Aktiver Praxisurlaub in Infobar und Sprechzeiten */
.hours-vacation{grid-column:1/-1;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:1rem;align-items:center;padding:1rem 1.2rem;border:1px solid #efb986;border-left:5px solid var(--orange-action);border-radius:var(--radius-md);background:#fff8f1;color:var(--navy-deep)}.hours-vacation__icon{display:grid;place-items:center;width:2.75rem;height:2.75rem;color:var(--orange-action)}.hours-vacation__icon svg{width:2rem;height:2rem;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.hours-vacation h3,.hours-vacation p{margin:0}.hours-vacation p{margin-top:.25rem}.vacation-representative-dialog__content{display:grid;gap:.8rem}.vacation-representative-dialog__content h3,.vacation-representative-dialog__content p{margin:0}.vacation-representative-dialog__content address{font-style:normal;white-space:pre-line}.vacation-representative-dialog__content a{font-weight:800}@media(max-width:640px){.hours-vacation{grid-template-columns:auto minmax(0,1fr);padding:.9rem}.hours-vacation .button{grid-column:1/-1;width:100%}}
