@font-face{font-family:"Inter";font-style:normal;font-display:swap;font-weight:100 900;src:url("/assets/fonts/inter-latin-wght-normal.woff2") format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-display:swap;font-weight:100 900;src:url("/assets/fonts/inter-latin-ext-wght-normal.woff2") format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --ink:#132b2a;--ink-2:#284342;--muted:#607170;--line:#dce8e5;--paper:#ffffff;
  --soft:#f5faf8;--soft-2:#eef7f3;--brand:#0d6b5c;--brand-2:#0a554a;--accent:#c9923b;
  --danger-bg:#fff4f3;--shadow:0 18px 50px rgba(17,58,52,.10);
  --radius:22px;--max:1180px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}body[dir="rtl"]{font-family:Arial,Tahoma,sans-serif;letter-spacing:0}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{font:inherit}.container{width:min(var(--max),calc(100% - 40px));margin-inline:auto}.skip{position:absolute;inset-inline-start:12px;top:-70px;background:var(--ink);color:white;padding:10px 14px;border-radius:8px;z-index:999}.skip:focus{top:12px}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.95);backdrop-filter:blur(16px);border-bottom:1px solid rgba(220,232,229,.9)}.header-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;min-width:255px}.brand img{width:48px;height:48px;object-fit:contain}.brand-text strong{display:block;font-size:1rem;line-height:1.25;white-space:nowrap}.brand-text span{display:block;color:var(--muted);font-size:.78rem;white-space:nowrap}.main-nav{display:flex;align-items:center;gap:26px;font-size:.94rem;font-weight:700}.main-nav>a,.nav-group>summary{padding:27px 0;cursor:pointer;list-style:none}.nav-group{position:relative}.nav-group>summary::-webkit-details-marker{display:none}.nav-group>summary:after{content:"⌄";font-size:.78rem;margin-inline-start:5px}.dropdown{position:absolute;inset-inline-start:-22px;top:68px;width:320px;background:white;border:1px solid var(--line);border-radius:18px;padding:10px;box-shadow:var(--shadow)}.dropdown a{display:block;padding:10px 12px;border-radius:10px;font-weight:650;color:var(--ink-2)}.dropdown a:hover,.dropdown a:focus{background:var(--soft-2);color:var(--brand)}.header-actions{display:flex;align-items:center;gap:10px}.language{display:flex;border:1px solid var(--line);border-radius:999px;padding:3px;background:var(--soft)}.language a{padding:7px 9px;border-radius:999px;font-size:.75rem;font-weight:800}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 18px;border-radius:999px;border:1px solid transparent;background:var(--brand);color:white;font-weight:800;transition:.2s ease;cursor:pointer}.btn:hover{background:var(--brand-2);transform:translateY(-1px)}.btn.outline{background:white;border-color:var(--line);color:var(--ink)}.btn.outline:hover{border-color:var(--brand);color:var(--brand)}.btn.light{background:white;color:var(--brand)}.mobile-toggle{display:none;border:1px solid var(--line);background:white;border-radius:12px;width:44px;height:44px;font-size:1.35rem}.mobile-nav{display:none;border-top:1px solid var(--line);padding:12px 20px 20px;background:white}.mobile-nav.open{display:block}.mobile-nav a,.mobile-nav summary{display:block;padding:11px 4px;font-weight:750;list-style:none}.mobile-nav details div{padding-inline-start:16px;border-inline-start:2px solid var(--line)}
.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#f4faf7 0%,#fff 58%,#f7f3ea 100%);border-bottom:1px solid var(--line)}.hero:after{content:"";position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(13,107,92,.10),rgba(13,107,92,0) 68%);inset-inline-end:-130px;top:-160px}.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.12fr .88fr;gap:58px;align-items:center}.eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--brand);font-weight:900;text-transform:uppercase;letter-spacing:.11em}
html:not([lang="nl"]):not([lang="ar"]) .eyebrow{font-size:.8rem;}.eyebrow:before{content:"";width:28px;height:2px;background:var(--accent)}body[dir="rtl"] .eyebrow{letter-spacing:0}.hero h1,.page-hero h1{margin:16px 0 22px;max-width:850px;}html:not([lang="nl"]):not([lang="ar"]) .hero h1,html:not([lang="nl"]):not([lang="ar"]) .page-hero h1{line-height:1.04;letter-spacing:-.045em;}
html:not([lang="nl"]):not([lang="ar"]) .hero h1,html:not([lang="nl"]):not([lang="ar"]) .page-hero h1{font-size:clamp(2.45rem,5vw,4.6rem);}body[dir="rtl"] .hero h1,body[dir="rtl"] .page-hero h1{letter-spacing:0;}.hero p,.page-hero p{color:var(--ink-2);max-width:700px;margin:0 0 28px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.about-intro .portrait-card{position:relative;margin-inline-start:auto}.about-intro .portrait-frame{background:linear-gradient(145deg,#dcece6,#f8fbfa);padding:15px;border-radius:34px;box-shadow:var(--shadow)}.about-intro .portrait-frame img{border-radius:24px}.section.soft{background:var(--soft)}.section-head{display:flex;justify-content:space-between;align-items:end}.section-head .copy{max-width:710px}.section h2,.content h2{margin:8px 0 12px;}html:not([lang="nl"]):not([lang="ar"]) .section h2,html:not([lang="nl"]):not([lang="ar"]) .content h2{letter-spacing:-.025em;}body[dir="rtl"] .section h2,body[dir="rtl"] .content h2{letter-spacing:0;}.section-head p{color:var(--muted);margin:0}.kicker{font-size:.76rem;text-transform:uppercase;letter-spacing:.12em;color:var(--brand);font-weight:900}body[dir="rtl"] .kicker{letter-spacing:0}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.cards.two{grid-template-columns:repeat(2,1fr)}.card{background:white;border:1px solid var(--line);border-radius:var(--radius);transition:.2s ease;position:relative;overflow:hidden}.card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#bfd8d1}.card h3{margin:14px 0 7px}.card p{color:var(--muted);margin:0}.card .more{display:inline-block;margin-top:18px;color:var(--brand);font-weight:850}.icon-box{width:46px;height:46px;border-radius:13px;background:var(--soft-2);display:grid;place-items:center;color:var(--brand);font-weight:900;font-size:1rem}.number-card .icon-box{background:var(--ink);color:white}.card.highlight{background:linear-gradient(145deg,var(--brand),var(--brand-2));color:white;border:0}.card.highlight p,.card.highlight .more{color:#d8efea}.card.highlight .icon-box{background:rgba(255,255,255,.15);color:white}
.info-strip{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:20px;overflow:hidden;background:white;box-shadow:0 10px 32px rgba(24,72,66,.07)}.info-strip>div{border-inline-end:1px solid var(--line)}.info-strip>div:last-child{border-inline-end:0}.info-strip span{display:block;color:var(--muted);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.info-strip strong{display:block;margin-top:4px;font-size:1.05rem}
.path{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;counter-reset:step}.path-item{background:white;border:1px solid var(--line);border-radius:18px;padding:24px}.path-item:before{counter-increment:step;content:"0" counter(step);display:block;color:var(--accent);font-weight:900;font-size:.78rem;letter-spacing:.08em}.path-item p{margin:0;color:var(--muted)}
.location-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.location-card{border:1px solid var(--line)}.location-top{display:flex;justify-content:space-between;gap:18px;align-items:start}.badge{display:inline-block;padding:6px 10px;border-radius:999px;background:var(--soft-2);color:var(--brand);font-size:.76rem;font-weight:900}.schedule{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 0;margin:16px 0}.schedule div{display:flex;justify-content:space-between;gap:20px;padding:4px 0}.schedule span{color:var(--muted)}.location-actions{display:flex;gap:10px;flex-wrap:wrap}.phone{direction:ltr;unicode-bidi:isolate;display:inline-block}
.page-hero{background:linear-gradient(135deg,var(--soft) 0%,#fff 70%);border-bottom:1px solid var(--line)}.page-hero .container{position:relative}.breadcrumbs{color:var(--muted)}
html:not([lang="nl"]):not([lang="ar"]) .breadcrumbs{font-size:.83rem;}.breadcrumbs a{color:var(--brand);font-weight:750}.hero-meta{margin-top:30px}.content-wrap{display:grid;grid-template-columns:minmax(0,1fr) 300px}.content{min-width:0}.content>section{border-bottom:1px solid var(--line)}.content h2{margin-top:0;}html:not([lang="nl"]):not([lang="ar"]) .content h2{font-size:1.8rem;}.content p{color:var(--ink-2);margin:0 0 15px}.content ul{padding-inline-start:22px;margin:14px 0}.content li{margin:8px 0;color:var(--ink-2)}.side-nav{position:sticky;top:110px;background:var(--soft);border:1px solid var(--line);border-radius:18px;padding:18px}.side-nav strong{display:block;margin-bottom:9px}.side-nav a{display:block;padding:8px 10px;border-radius:9px;color:var(--ink-2);font-size:.9rem;font-weight:700}.side-nav a:hover{background:white;color:var(--brand)}
.callout{border:1px solid #cfe2dd;background:var(--soft);border-radius:16px}.callout>strong{display:block;margin-bottom:5px}.callout p strong,.callout p b,.callout li strong,.callout li b{display:inline;margin:0}.callout.gold{background:#fff9ee;border-color:#ead8b8}.check-grid{display:grid;grid-template-columns:repeat(2,1fr)}.check-item{background:var(--soft);border-radius:12px;color:var(--ink-2);font-weight:650}.check-item:before{content:"✓";color:var(--brand);font-weight:900;margin-inline-end:9px}.compare{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.compare article{border:1px solid var(--line);border-radius:18px;padding:24px}.faq{display:grid;gap:10px}.faq details{border:1px solid var(--line);border-radius:14px;background:white}.faq summary{cursor:pointer;list-style:none;padding:18px 48px 18px 18px;font-weight:850;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";position:absolute;inset-inline-end:18px;top:15px;color:var(--brand);font-size:1.35rem}.faq details[open] summary:after{content:"−"}.faq .answer{padding:0 18px 18px;color:var(--ink-2)}.faq .answer p{margin:0}
.source-list{display:grid;gap:10px}.source-list a{display:block;border:1px solid var(--line);border-radius:12px;padding:14px 16px;background:white}.source-list a strong{display:block}.source-list a span{display:block;color:var(--muted);font-size:.86rem}.source-list a:hover{border-color:var(--brand)}
.cta{background:linear-gradient(135deg,var(--brand),#08473f);color:white;border-radius:30px;padding:42px;display:flex;justify-content:space-between;gap:30px;align-items:center;overflow:hidden;position:relative}.cta:after{content:"";position:absolute;width:300px;height:300px;border-radius:50%;background:rgba(255,255,255,.07);inset-inline-end:-90px;top:-120px}.cta>div,.cta>a{position:relative;z-index:2}.cta h2{margin:0 0 8px;}.cta p{margin:0;color:#d6ebe6;max-width:700px}
.emergency-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.emergency{border-radius:20px;border:1px solid var(--line)}.emergency.danger{background:var(--danger-bg);border-color:#efcfcc}.emergency.urgent{background:#fff9ee;border-color:#ead8b8}.emergency strong{font-size:1.2rem;display:block;margin-bottom:6px}.emergency .number{font-size:2.2rem;font-weight:950;line-height:1;margin-top:14px;direction:ltr;unicode-bidi:isolate;display:inline-block}
.footer{background:#102927;color:white}.footer-grid{display:grid}.footer .brand{min-width:0}.footer .brand-text span{color:#adc4c0}.footer p{color:#bcd0cc}.footer h3{margin:0 0 12px;color:#e8f3f1}.footer a{display:block;color:#bcd0cc;margin:7px 0}.footer a:hover{color:white}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding-top:20px;display:flex;gap:20px;color:#9bb6b1}.floating-wa{position:fixed;inset-inline-end:20px;bottom:20px;z-index:40;background:#1f8f72;color:white;border-radius:999px;padding:13px 17px;font-weight:850;box-shadow:0 12px 30px rgba(16,80,66,.28)}
.not-found{text-align:center;padding:110px 0}.not-found .code{font-size:6rem;line-height:1;font-weight:950;color:var(--brand)}
@media (max-width:1000px){.main-nav,.header-actions>.btn{display:none}.mobile-toggle{display:block}.header-actions{margin-inline-start:auto}.hero-grid{grid-template-columns:1fr .72fr;gap:32px}.cards{grid-template-columns:repeat(2,1fr)}.path{grid-template-columns:repeat(2,1fr)}.content-wrap{grid-template-columns:1fr}.side-nav{position:static;order:-1}}
@media (max-width:760px){.language{display:none}.hero-grid{grid-template-columns:1fr}
html:not([lang="nl"]):not([lang="ar"]) .hero h1,html:not([lang="nl"]):not([lang="ar"]) .page-hero h1{font-size:2.55rem;}.portrait-card{max-width:340px;margin:8px auto 0}.section-head{align-items:start;flex-direction:column}.cards,.cards.two,.location-grid,.compare,.emergency-grid,.footer-grid{grid-template-columns:1fr}.info-strip{grid-template-columns:1fr}.info-strip>div{border-inline-end:0;border-bottom:1px solid var(--line)}.info-strip>div:last-child{border-bottom:0}.path{grid-template-columns:1fr}.check-grid{grid-template-columns:1fr}.cta{align-items:start;flex-direction:column}.footer-bottom{flex-direction:column}.schedule div{flex-direction:column;gap:0}.location-top{flex-direction:column}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto;transition:none!important}}


body{font-size:16px}
.hero-grid{padding:58px 0 68px}
.hero h1{max-width:760px;margin:14px 0 19px;}html:not([lang="nl"]):not([lang="ar"]) .hero h1{line-height:1.06;letter-spacing:-.035em;}
html:not([lang="nl"]):not([lang="ar"]) .hero h1{font-size:clamp(39px,4.6vw,56px);}
html:not([lang="nl"]):not([lang="ar"]) .page-hero h1{line-height:1.08;letter-spacing:-.03em;}
html:not([lang="nl"]):not([lang="ar"]) .page-hero h1{font-size:clamp(38px,4.7vw,58px);}
.hero p,.page-hero p{line-height:1.65}
html:not([lang="nl"]):not([lang="ar"]) .hero p,html:not([lang="nl"]):not([lang="ar"]) .page-hero p{font-size:17px;}
html:not([lang="nl"]):not([lang="ar"]) .section h2,html:not([lang="nl"]):not([lang="ar"]) .content h2{font-size:clamp(30px,3.4vw,42px);line-height:1.15;}
.section-head p{font-size:16px}
.card{padding:24px}
.card h3{font-size:20px;line-height:1.22}
.card p{font-size:14px}.path-item p{font-size:14px}.content p,.content li{font-size:16px}

/* Three concise trust facts, replacing the old contact bar */
.quick-facts{position:relative;z-index:3;display:grid;grid-template-columns:repeat(3,max-content);justify-content:start;gap:34px;padding-top:18px;color:var(--muted);font-size:12px}
.quick-check{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--brand);color:#fff;font-size:11px;font-weight:900}

/* Stronger family-doctor section on the homepage */

/* Walk-in clarification */
.walkin-clarity{margin-top:0}

/* Local landing pages */
.local-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:20px}
.local-panel{border:1px solid var(--line);border-radius:22px;background:#fff}
.local-panel h2{margin:8px 0 14px;}html:not([lang="nl"]):not([lang="ar"]) .local-panel h2{font-size:clamp(27px,3vw,36px);}
.local-panel h3{margin:24px 0 10px;font-size:19px}
.local-panel p{color:var(--ink-2)}
.map-frame{overflow:hidden;border:1px solid var(--line);border-radius:22px;background:var(--soft);box-shadow:0 10px 30px rgba(17,58,52,.07)}
.map-frame iframe{display:block;width:100%;height:390px;border:0}
.local-switch{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px;padding:0 4px;color:var(--muted);font-size:14px}
.local-switch a{color:var(--brand);font-weight:850}

/* Care and location selector */
.care-dialog{width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:18px;border:0;background:rgba(8,40,36,.78);color:var(--ink)}
.care-dialog::backdrop{background:rgba(8,40,36,.78);backdrop-filter:blur(4px)}
.care-dialog[open]{display:grid;place-items:center}
.care-dialog-panel{position:relative;width:min(900px,100%);max-height:calc(100vh - 36px);overflow:auto;padding:30px;border-radius:22px;background:#fcfbf8;box-shadow:0 30px 90px rgba(0,0,0,.28)}
.care-dialog-close{position:absolute;inset-inline-end:20px;top:20px;display:grid;place-items:center;width:44px;height:44px;border:1px solid #d8ddd9;border-radius:50%;background:#fff;color:var(--ink);font-size:27px;line-height:1;cursor:pointer}
.care-dialog-panel>h2{margin:14px 56px 26px 0;}html:not([lang="nl"]):not([lang="ar"]) .care-dialog-panel>h2{font-size:36px;line-height:1.12;letter-spacing:-.025em;}
body[dir="rtl"] .care-dialog-panel>h2{margin:14px 0 26px 56px;}body[dir="rtl"] .care-dialog-panel>h2{letter-spacing:0;}
.care-dialog-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.care-choice{padding:24px;border-radius:16px}
.care-choice-light{background:#f2eee5}
.care-choice-dark{background:#074b3f;color:#fff}
.choice-head{display:flex;align-items:start;justify-content:space-between;gap:18px}
.choice-head h3{margin:0;font-size:24px;line-height:1.2}
.choice-head span{color:var(--accent);font-size:15px}
.care-choice>p{min-height:38px;margin:22px 0;color:var(--muted);font-size:13px}
.care-choice-dark>p{color:#b8d2cd}
.choice-location{padding:17px 0;border-top:1px solid rgba(19,43,42,.14)}
.choice-location strong,.choice-location small{display:block}
.choice-location strong{font-size:15px}.choice-location small{margin:7px 0 12px;color:var(--muted);font-size:12px}
.choice-button{display:flex;align-items:center;justify-content:center;width:100%;min-height:46px;padding:10px 14px;border:1px solid #d6dcda;border-radius:12px;background:#fff;color:#06483d;font-weight:850;text-align:center}
.choice-button.gold{margin:22px 0;background:#d8a24e;border-color:#d8a24e;color:#0d3932}
.care-choice-dark>small{display:block;color:#bfd1cd;font-size:12px;line-height:1.6}
.circumcision-request-card{display:flex;flex-direction:column;gap:12px}
.circumcision-request-card .circumcision-location-alert{display:block;color:#fff;font-size:14px;line-height:1.65}
.circumcision-request-card>p{min-height:0;margin:0;line-height:1.7}
.circumcision-request-card .choice-button.gold{margin:2px 0 0}
.circumcision-request-card .circumcision-request-pending{font-size:11px;line-height:1.7}
.circumcision-request-card .circumcision-whatsapp-button{margin-top:2px;background:transparent;border-color:rgba(255,255,255,.58);color:#fff;font-weight:700}
.circumcision-request-card .circumcision-emergency{margin-top:2px;padding-top:11px;border-top:1px solid rgba(255,255,255,.18);line-height:1.75}
.circumcision-request-card .circumcision-whatsapp-explanation,
.circumcision-request-card .circumcision-whatsapp-helper{min-height:0;margin:0;line-height:1.7;color:#b8d2cd;font-size:13px}
.circumcision-request-card .circumcision-whatsapp-helper{margin-top:1px;font-weight:700;color:#fff}
.circumcision-request-card .circumcision-whatsapp-number{white-space:nowrap;unicode-bidi:isolate}
.circumcision-request-card .circumcision-booking-button{overflow-wrap:normal;word-break:normal}
html[lang="en"] .circumcision-request-card .circumcision-request-pending{font-size:12px}
html[lang="en"] .circumcision-request-card .choice-button.circumcision-whatsapp-button{justify-content:center;gap:5px;color:#fff;font-size:14px;text-align:center}
html[lang="en"] .circumcision-request-card .choice-button.circumcision-whatsapp-button .circumcision-whatsapp-label,html[lang="en"] .circumcision-request-card .choice-button.circumcision-whatsapp-button .circumcision-whatsapp-number{color:#fff}
html[lang="en"] .circumcision-request-card .circumcision-emergency strong{font-weight:700}
html[lang^="fr"] .circumcision-request-card .choice-button.circumcision-whatsapp-button{flex-direction:column;justify-content:center;gap:2px;color:#fff;text-align:center;line-height:1.35}
html[lang^="fr"] .circumcision-request-card .choice-button.circumcision-whatsapp-button .circumcision-whatsapp-label,html[lang^="fr"] .circumcision-request-card .choice-button.circumcision-whatsapp-button .circumcision-whatsapp-number{display:block;color:#fff}
@media (min-width:481px){html[lang="en"] .circumcision-request-card .choice-button.circumcision-whatsapp-button{flex-wrap:nowrap;white-space:nowrap}}
@media (max-width:480px){html[lang="en"] .circumcision-request-card .choice-button.circumcision-whatsapp-button{flex-wrap:wrap;row-gap:2px;white-space:normal}html[lang="en"] .circumcision-request-card .circumcision-whatsapp-label{flex:1 0 100%}html[lang="en"] .circumcision-request-card .circumcision-whatsapp-inline-separator{display:none}}
@media (min-width:700px){.circumcision-request-card .circumcision-booking-button{white-space:nowrap}html[lang^="fr"] .circumcision-request-card .circumcision-booking-button{white-space:normal;overflow-wrap:anywhere;word-break:normal}}
@media (max-width:360px){.circumcision-request-card .circumcision-whatsapp-button{font-size:12px;padding-inline:8px}}
body.modal-open{overflow:hidden}

@media (max-width:1000px){
  .quick-facts{gap:20px}
  .local-layout{grid-template-columns:1fr}
}
@media (max-width:760px){
  html:not([lang="nl"]):not([lang="ar"]) .hero h1{line-height:1.09;}
html:not([lang="nl"]):not([lang="ar"]) .hero h1{font-size:35px;}
html:not([lang="nl"]):not([lang="ar"]) .page-hero h1{font-size:36px;}
html:not([lang="nl"]):not([lang="ar"]) .hero p,html:not([lang="nl"]):not([lang="ar"]) .page-hero p{font-size:15px;}
  html:not([lang="nl"]):not([lang="ar"]) .section h2,html:not([lang="nl"]):not([lang="ar"]) .content h2{font-size:30px;}
  .quick-facts{grid-template-columns:1fr;gap:9px;padding-top:14px}
  .quick-facts>div{white-space:normal}
  .local-switch{align-items:flex-start;flex-direction:column;gap:5px}
  .care-dialog-panel>h2{margin-top:18px;}
  .care-dialog-grid{grid-template-columns:1fr}
}


/* Step 2 refinements — requested August 2026 */
/* Keep the Besnijdenis arrow vertically centred with the word. */
.main-nav .nav-group>summary{display:inline-flex;align-items:center;gap:6px;line-height:1.2}
.main-nav .nav-group>summary:after{content:"▾";margin-inline-start:0;font-size:.7rem;line-height:1;transform:translateY(-1px)}

/* Homepage hero: bordered medical card and clean portrait, based on supplied reference. */
.home-hero{padding:10px 0 0;background:#fff;border-bottom:0;overflow:visible}
.home-hero:after{display:none}
.home-hero .hero-grid{width:min(100% - 40px,var(--max));margin:0 auto;border:1px solid var(--line);border-radius:26px;background:linear-gradient(135deg,#fff 0%,#f4faf7 100%)}
.home-hero h1{max-width:760px;}html:not([lang="nl"]):not([lang="ar"]) .home-hero h1{line-height:1.08;}
html:not([lang="nl"]):not([lang="ar"]) .home-hero h1{font-size:clamp(38px,4vw,52px);}

/* Clinic cards styled like the supplied location-card reference. */
.location-card{border-radius:18px;padding:28px;background:#fff}
.location-card .location-top{display:block}
.location-card .location-top>div{display:flex;flex-direction:column}
.location-card .badge{order:1;padding:0;background:transparent;border-radius:0;color:var(--brand);font-size:11px;font-weight:900;letter-spacing:.025em;text-transform:uppercase}
.location-card .badge:before{color:var(--accent);font-weight:500}
.location-card h3{order:2;margin:5px 0 5px;line-height:1.2}
.location-card .address{order:3;margin:0 0 8px;font-size:14px}
.location-card .location-service{order:4;display:block;color:var(--muted);font-size:12px;font-weight:700}
.location-card .schedule{border:0;border-radius:12px;background:#f3eee4}
.location-card .schedule div{padding:2px 0}
.location-card .schedule div:first-child span,.location-card .schedule div:first-child strong{color:var(--ink);font-weight:850}
.location-card .schedule div:last-child span{font-size:12px;color:var(--muted)}
.location-card .location-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:nowrap}
.location-card .location-actions .btn:not(.outline){min-width:165px;min-height:47px;border-radius:12px}
.location-card .location-actions .btn.outline{min-height:auto;border:0;background:transparent;color:var(--brand);font-weight:900}
.location-card .location-actions .btn.outline:hover{background:transparent;color:var(--brand-2);transform:none}
.location-card .location-actions .btn.outline:after{content:" →"}
body[dir="rtl"] .location-card .location-actions .btn.outline:after{content:" ←"}

/* Contact heading and intro stay on one line on desktop. */
.contact-hero h1,.contact-hero p{max-width:none;}
html:not([lang="nl"]) .contact-hero p{white-space:nowrap;}html:not([lang="nl"]) /* Contact heading and intro stay on one line on desktop. */ .contact-hero h1{white-space:nowrap;}

@media (max-width:1000px){
  .home-hero .hero-grid{padding:42px 38px;min-height:0}
}
@media (max-width:760px){
  .location-card .location-actions{align-items:stretch;flex-direction:column}
html:not([lang="nl"]) .contact-hero p{white-space:normal;}html:not([lang="nl"]) .contact-hero h1{white-space:normal;}
}
/* Final homepage heading balance for the longer approved title. */
html:not([lang="nl"]):not([lang="ar"]) /* Final homepage heading balance for the longer approved title. */ .home-hero h1{font-size:clamp(36px,3.45vw,44px);}
@media (max-width:1000px){
html:not([lang="nl"]):not([lang="ar"]) .home-hero h1{font-size:36px;}}


/* Step 3 refinements — requested August 2026 */
/* Keep these two requested labels on one line on desktop. */
.desktop-single-line{white-space:nowrap}
.single-line-button{white-space:nowrap;flex-shrink:0}

/* Restore the three trust facts 15% larger than the former 12px treatment. */

/* Make the complete homepage clinic card clickable while preserving its phone and route controls. */
.location-card{position:relative}
.location-card-link{position:absolute;inset:0;z-index:1;border-radius:inherit}
.location-card .location-top,.location-card .schedule{position:relative;z-index:1;pointer-events:none}
.location-card .location-actions{position:relative;z-index:2}
.location-card:has(.location-card-link):hover{border-color:#bfd8d1;box-shadow:var(--shadow);transform:translateY(-2px);transition:.2s ease}

/* Smaller footer typography, while the logo, physician name and subtitle retain their current size. */
.footer p{font-size:13px;line-height:1.55}
.footer h3{font-size:12.5px;line-height:1.35;margin-bottom:10px}
.footer-grid>div:not(:first-child) a{font-size:13px;line-height:1.45;margin:6px 0}
.footer-bottom{font-size:11.5px}
.footer .brand img{width:46px;height:46px}
.footer .brand-text strong{font-size:1rem}
.footer .brand-text span{font-size:.78rem}

@media (max-width:1000px){
  .desktop-single-line{white-space:normal}
  .quick-facts.quick-facts-large{gap:20px}
}
@media (max-width:760px){
  .quick-facts.quick-facts-large{font-size:13.8px;gap:9px}
  .single-line-button{white-space:nowrap;width:auto;max-width:100%}
}


/* Step 4 refinements — requested August 2026 */
.home-hero .hero-title-sub{letter-spacing:-.02em;font-weight:800}
.home-hero .hero-copy{max-width:760px}
.home-hero .hero-actions .btn.outline{border-color:#7ab7ab}
.quick-facts.quick-facts-large{font-size:15.9px;gap:28px}.quick-facts.quick-facts-large .quick-check{width:23px;height:23px;font-size:12.5px}
.quick-facts>div{display:flex;align-items:center;gap:8px;white-space:nowrap}
.page-hero.about-hero{padding-bottom:34px}.about-intro .content p{font-size:1.08rem;line-height:1.72}.about-intro .quick-facts{margin-top:18px}.page-hero.about-hero h1{margin-bottom:12px}.page-hero.about-hero p{max-width:850px}
.huisarts-page .page-hero{padding-bottom:42px}.huisarts-page .page-hero p{max-width:780px}.huisarts-page .hero-facts{margin-top:18px}.huisarts-page .cards-section{padding-top:46px}.huisarts-page .cards .card p{font-size:1.015rem;line-height:1.62}.huisarts-page .cards .icon-box{width:38px;height:38px;border-radius:11px;font-size:.92rem}.huisarts-page .section-head.tight{margin-bottom:18px}
.local-fd-page .page-hero{padding-bottom:42px}.local-fd-page .page-hero h1{max-width:520px;}html:not([lang="nl"]):not([lang="ar"]) .local-fd-page .page-hero h1{line-height:1.08;}.local-fd-page .page-hero p{max-width:620px}.local-fd-page .hero-buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.local-fd-page .local-layout{margin-top:8px;align-items:start}.local-fd-page .practice-summary{background:#fff;border:1px solid var(--line);border-radius:22px;padding:26px;box-shadow:0 10px 30px rgba(17,58,52,.06)}.local-fd-page .practice-summary p{margin:0 0 5px;color:var(--ink-2)}.local-fd-page .practice-summary .meta{display:grid;gap:8px;margin-top:18px}.local-fd-page .practice-summary .meta div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line)}.local-fd-page .practice-summary .meta div:first-child{border-top:0;padding-top:0}.local-fd-page .cards .icon-box{width:38px;height:38px;border-radius:11px;font-size:.92rem}
.local-fd-page .practice-summary .opening-hours-list{display:grid;gap:7px;min-width:190px;width:100%}.local-fd-page .practice-summary .opening-hours-row{display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:baseline;column-gap:24px;min-height:24px;width:100%}.local-fd-page .practice-summary .opening-day{text-align:start}.local-fd-page .practice-summary .opening-time{direction:ltr;unicode-bidi:isolate;white-space:nowrap;font:inherit;font-weight:800;text-align:end}
@media(max-width:760px){.local-fd-page .practice-summary .opening-hours-row{column-gap:16px}}
.contact-page .location-card{position:relative}.contact-page .location-card-link{position:absolute;inset:0;z-index:1;border-radius:inherit}.contact-page .location-card .location-top,.contact-page .location-card .schedule{position:relative;z-index:1;pointer-events:none}.contact-page .location-card .location-actions{position:relative;z-index:2}.contact-page .location-card:hover{border-color:#bfd8d1;box-shadow:var(--shadow);transform:translateY(-2px);transition:.2s ease}
@media (max-width:1000px){.about-intro .hero-grid{grid-template-columns:1fr .72fr}.local-fd-page .local-layout{grid-template-columns:1fr}}
@media (max-width:760px){.contact-hero p{white-space:normal;}html:not([lang="nl"]):not([lang="ar"]) .contact-hero h1,html:not([lang="nl"]):not([lang="ar"]) .cta h2.desktop-single-line{white-space:normal;}}


/* Step 5 refinements — requested August 2026 */
.footer-grid{grid-template-columns:1.38fr 1.02fr .92fr .92fr;align-items:start}
.footer .brand{margin-top:-2px;align-items:center}
.footer .brand img{margin-top:0}
.footer-grid>div:first-child{padding-top:0}
.footer-grid>div:not(:first-child) a,.footer .nowrap-link{white-space:nowrap}
.footer h3{margin-top:2px}
.home-hero .hero-grid{grid-template-columns:1.28fr .72fr;gap:52px;padding:42px 54px 28px;min-height:auto}
.home-hero .hero-title-sub{line-height:1.14;margin:-6px 0 16px;max-width:560px}
.home-hero .hero-copy>p{max-width:760px}
.home-hero .hero-actions{gap:14px}
.home-hero .hero-actions .btn{min-width:240px}
.home-hero .hero-actions .btn.outline{background:#d9efe8;border:1px solid #8fc0b3;color:#0b4f45;box-shadow:none}
.home-hero .hero-actions .btn.outline:hover{background:#cfe8e0;border-color:#78ab9d}
.home-hero .quick-facts.quick-facts-large{font-size:17px;gap:22px;margin-top:24px}
.home-hero .quick-facts.quick-facts-large .quick-check{width:24px;height:24px;font-size:13px}
.about-intro.section{padding-bottom:46px}
.about-intro .hero-grid{padding-top:0}
.huisarts-page .hero-facts{font-size:15.8px}
html:not([lang="nl"]):not([lang="ar"]) .huisarts-page .page-hero p{font-size:1.08rem;}
.local-fd-page .cards-section{padding-top:24px}
.local-fd-page .cards .card p{font-size:1rem;line-height:1.62}
html:not([lang="nl"]):not([lang="ar"]) .cta h2.desktop-single-line{font-size:1.8rem;white-space:nowrap;}
@media (max-width:1000px){
  .footer-grid{grid-template-columns:repeat(2,1fr)}
  .home-hero .hero-grid{grid-template-columns:1fr .74fr;gap:30px}
html:not([lang="nl"]):not([lang="ar"]) .huisarts-page .page-hero h1{white-space:normal;}
}
@media (max-width:760px){
  .home-hero .hero-grid{grid-template-columns:1fr}
  .home-hero .hero-actions .btn{min-width:0}
  .about-intro.section{padding-top:16px}
  html:not([lang="nl"]):not([lang="ar"]) .huisarts-page .page-hero h1,html:not([lang="nl"]):not([lang="ar"]) .cta h2.desktop-single-line{white-space:normal;}
}


/* Step 6 refinements — requested August 2026 */
/* Footer: top-align first block with Zorgaanbod / Informatie / Contact, no size/spacing redesign. */
.footer-grid>div:first-child{position:relative;top:-5px}
.footer-bottom{justify-content:flex-start}

/* Homepage approved heading/paragraph balance. */
.home-hero .hero-title-sub{font-size:clamp(23px,1.92vw,27px)}

/* Contact: heading 10% smaller only. */

/* Over mij: title 10% smaller and make main text + portrait start close under divider. */
html:not([lang="nl"]) /* Over mij: title 10% smaller and make main text + portrait start close under divider. */ .about-page .about-hero h1{font-size:clamp(2.02rem,4.05vw,3.6rem);}
.about-intro.section{padding-top:19px}
.about-intro .hero-grid{grid-template-columns:minmax(0,1fr) 330px;gap:30px;align-items:start}
.about-intro .content{max-width:none}
.about-intro .about-first-paragraph{max-width:850px}
.about-intro .portrait-card{max-width:330px;margin-top:0}

/* Huisartsenzorg: headline 15% smaller, regular intro, location heading 15% smaller. */
html:not([lang="nl"]):not([lang="ar"]) .huisarts-page .page-hero h1{font-size:clamp(1.5rem,2.3vw,2.45rem);white-space:nowrap;}
.huisarts-page .page-hero p{font-weight:400}
html:not([lang="nl"]) .huisarts-page .section-head.tight h2{font-size:1.53rem;}

/* Local GP pages: heading about 10% smaller, exact two-line break retained. */
html:not([lang="nl"]):not([lang="ar"]) .local-fd-page .page-hero h1{font-size:clamp(1.75rem,3.15vw,2.95rem);}
.local-fd-page .page-hero .local-layout{align-items:start}

/* CTA heading under pages: 10% smaller and one line on desktop everywhere. */
html:not([lang="nl"]):not([lang="ar"]) .cta h2{font-size:1.8rem;white-space:nowrap;}

@media (max-width:1000px){
  html:not([lang="nl"]):not([lang="ar"]) .huisarts-page .page-hero h1,html:not([lang="nl"]):not([lang="ar"]) .cta h2{white-space:normal;}
}
@media (max-width:760px){
  .about-intro .hero-grid{grid-template-columns:1fr;gap:24px}
  .about-intro .portrait-card{max-width:330px}
html:not([lang="nl"]):not([lang="ar"]) .huisarts-page .page-hero h1{font-size:2rem;white-space:normal;}
  html:not([lang="nl"]):not([lang="ar"]) .cta h2{font-size:1.62rem;white-space:normal;}
}


/* Step 7 refinements — requested August 2026 */
/* Huisartsenzorg now has the same dropdown behavior as Besnijdenis. */
.main-nav .huisarts-nav>summary{display:inline-flex;align-items:center;gap:6px;line-height:1.2}
.main-nav .huisarts-nav>summary:after{content:"▾";margin-inline-start:0;font-size:.72rem;line-height:1;transform:translateY(-1px)}
.main-nav .huisarts-dropdown{width:275px}

/* Make only the Besnijdenis chevron more visible. */
.main-nav .circumcision-nav>summary:after{font-size:.95rem;transform:translateY(-1px)}

/* Contact title: approximately 10% smaller than the base page-hero title. */
html:not([lang="nl"]) /* Contact title: approximately 10% smaller than the base page-hero title. */ .contact-page .contact-hero h1{font-size:clamp(1.95rem,3.65vw,3.35rem);}


/* Step 8 refinements */
.hero-facts-home{grid-template-columns:repeat(2,max-content);gap:16px 24px;align-items:start}
.hero-facts-home .full-line{grid-column:1/-1}
html:not([lang="nl"]):not([lang="ar"]) .local-fd-page .page-hero h1.local-title-two-lines{font-size:clamp(1.5rem,2.7vw,2.5rem);}
html:not([lang="nl"]):not([lang="ar"]) .baby-page .page-hero h1.baby-hero-title{font-size:clamp(2rem,3.8vw,3.4rem);}
html:not([lang="nl"]):not([lang="ar"]) .baby-page .section-head .copy h2.baby-section-title-sm{font-size:clamp(1.58rem,2.2vw,2.06rem);white-space:nowrap;}
.baby-page .section-head p{font-size:14.4px}
.baby-page .baby-info-cards{grid-template-columns:repeat(4,1fr);gap:16px}
.baby-page .baby-info-cards .card{padding:24px 24px 22px}
.baby-page .baby-info-cards .card h3{font-size:1.07rem}
.baby-page .baby-info-cards .card p{font-size:.92rem;line-height:1.55}
.baby-page .baby-compare{align-items:stretch}
.baby-page .baby-compare > article{display:flex;flex-direction:column;height:100%}
.baby-page .baby-compare .more{margin-top:auto}
@media (max-width:1100px){.baby-page .baby-info-cards{grid-template-columns:repeat(2,1fr)} html:not([lang="nl"]):not([lang="ar"]) .baby-page .section-head .copy h2.baby-section-title-sm{white-space:normal;}}
@media (max-width:760px){.hero-facts-home{grid-template-columns:1fr} .hero-facts-home .full-line{grid-column:auto} .baby-page .baby-info-cards{grid-template-columns:1fr}}


/* Step 9 — force local huisarts titles to exactly two lines on desktop */
.local-fd-page .page-hero h1.local-title-two-lines{max-width:none;}html:not([lang="nl"]):not([lang="ar"]) .local-fd-page .page-hero h1.local-title-two-lines{line-height:1.1;}
html:not([lang="nl"]):not([lang="ar"]) /* Step 9 — force local huisarts titles to exactly two lines on desktop */ .local-fd-page .page-hero h1.local-title-two-lines{font-size:clamp(1.5rem,2.25vw,2.15rem);}

/* Step 11: requested alignment only */
.baby-page .baby-compare > article.callout{margin:0}
.baby-page .baby-compare > article{align-self:stretch}

/* Step 12 — desktop header and Over de arts refinements only */
@media (min-width:1001px){
  .header-inner{gap:14px}
  .site-header .brand{min-width:225px}
  .main-nav{gap:15px;font-size:.89rem;white-space:nowrap}
  .main-nav>a,.main-nav .nav-group>summary{white-space:nowrap}
  .header-actions{gap:8px;flex-shrink:0}
  .header-actions>.btn{min-width:174px;padding-inline:17px;white-space:nowrap}
  .site-header .brand-text span{color:#536966}
}
.about-intro .quick-facts{display:flex;flex-wrap:wrap;gap:12px 22px;max-width:100%;align-items:center}
.about-intro .quick-facts>div{white-space:nowrap;max-width:100%}
@media (max-width:760px){
  .about-intro .quick-facts{display:grid;grid-template-columns:1fr;gap:9px}
  .about-intro .quick-facts>div{white-space:normal}
}


/* Step 13 circumcision-page refinements */
html:not([lang="nl"]):not([lang="ar"]) /* Step 13 circumcision-page refinements */ .baby-page .page-hero h1.baby-hero-title{font-size:clamp(1.7rem,3.2vw,2.9rem);}
.baby-page .info-strip > div:last-child strong{white-space:nowrap;font-size:.94rem}
.baby-page .baby-compare .baby-compare-title{font-size:clamp(1.28rem,1.8vw,1.62rem)}
.baby-page .baby-compare .card-link-wrap{display:block;text-decoration:none;color:inherit;height:100%}
.baby-page .baby-compare .card-link-wrap:hover .more{text-decoration:underline}
.baby-page .section-head .copy p.compact-single-line{font-size:14px;white-space:nowrap}
.baby-page .baby-compare .callout.gold{display:flex;flex-direction:column}
.baby-page .baby-compare .callout.gold .more{margin-top:auto}
@media (max-width:1100px){.baby-page .info-strip > div:last-child strong{white-space:normal;font-size:1rem}}


/* Step 15: requested desktop info-strip refinement only */
@media (min-width:901px){
  .baby-page .info-strip{grid-template-columns:1.05fr 1.2fr 1.5fr}
  .baby-page .info-strip>div{padding-inline:16px}
  .baby-page .info-strip strong{white-space:nowrap;font-size:.90rem}
}


/* Step 18: requested navigation-only refinements */
@media (min-width:1200px){
  .baby-page .baby-compare .baby-compare-title{white-space:nowrap;font-size:1.34rem}
}


/* Step 19 — contact cards only; no layout redesign */
.contact-page .location-grid{align-items:stretch}
.contact-page .location-card{
  display:grid;
  grid-template-rows:auto minmax(104px,auto) auto;
  height:100%;
}
.contact-page .location-card .location-top>div{
  min-height:118px;
}
.contact-page .location-card .address{
  color:#536966;
}
.contact-page .location-card .schedule{
  min-height:104px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  margin:18px 0;
  padding:13px 16px;
}
.contact-page .location-card .schedule div{
  min-height:24px;
  align-items:center;
}
.contact-page .location-card .schedule .hours-row{
  display:grid;
  grid-template-columns:38px 1fr;
  gap:16px;
  justify-content:initial;
  padding:1px 0;
}
.contact-page .location-card .schedule .hours-row strong{
  text-align:left;
}
.contact-page .location-card .schedule .schedule-note{
  margin-top:3px;
  padding-top:3px;
}
.contact-page .location-card .location-actions{
  align-self:end;
}
.contact-page .location-card .location-actions .btn.outline{
  padding:10px 8px;
}
.contact-page .location-card .location-actions .btn.outline:after{
  display:inline-block;
  transition:transform .18s ease;
}
.contact-page .location-card .location-actions .btn.outline:hover:after{
  transform:translateX(3px);
}
.contact-page .emergency-grid{align-items:stretch}
.contact-page .emergency{
  display:grid;
  grid-template-rows:auto auto 1fr;
  height:100%;
}
.contact-page .emergency.danger{
  background:#fff1f0;
  border-color:#e8c3bf;
}
.contact-page .emergency.urgent{
  background:#fff6df;
  border-color:#e7d2a3;
}
.contact-page .emergency strong{
  min-height:29px;
}
.contact-page .emergency p{
  margin:0;
}
.contact-page .emergency .number{
  font-size:2.5rem;
  margin-top:9px;
  align-self:end;
}
@media (max-width:760px){
  .contact-page .location-card{grid-template-rows:auto auto auto}
  .contact-page .location-card .location-top>div{min-height:0}
  .contact-page .location-card .schedule{min-height:0}
  .contact-page .location-card .schedule .hours-row{grid-template-columns:38px 1fr}
  .contact-page .emergency strong{min-height:0}
}


/* Step 20 — merge method cards and standardize opening-hours blocks sitewide */
@media (min-width:1200px){
  .baby-page .baby-info-cards.five-cards{grid-template-columns:repeat(5,1fr);gap:12px}
  .baby-page .baby-info-cards.five-cards .card{padding:20px 18px}
  .baby-page .baby-info-cards.five-cards .card h3{font-size:1rem}
  .baby-page .baby-info-cards.five-cards .card p{font-size:.86rem}
}
@media (min-width:760px) and (max-width:1199px){.baby-page .baby-info-cards.five-cards{grid-template-columns:repeat(3,1fr)}}
.location-card{display:grid;grid-template-rows:auto minmax(104px,auto) auto;height:100%}
.location-card .location-top>div{min-height:118px}
.location-card .location-card-link ~ .location-top>div{min-height:118px}
.location-card h3{font-size:23px;font-weight:900}
.location-card .address{color:#536966}
.location-card .schedule{min-height:104px;display:flex;flex-direction:column;justify-content:center;margin:18px 0;padding:13px 16px}
.location-card .schedule .hours-row{display:grid;grid-template-columns:58px minmax(0,1fr);gap:16px;align-items:center;justify-content:initial;padding:1px 0}
body[dir="rtl"] .location-card .schedule .hours-row{grid-template-columns:minmax(0,1fr) 72px}
body[dir="rtl"] .location-card .schedule .hours-row span{order:2;text-align:right}
body[dir="rtl"] .location-card .schedule .hours-row strong{order:1;text-align:left}
.location-card .schedule .hours-row span{color:var(--ink);font-weight:700;font-size:.96rem;line-height:1.45}
.location-card .schedule .hours-row strong{color:var(--ink);font-weight:850;font-size:.96rem;line-height:1.45;text-align:left}
.location-card .schedule .schedule-note{margin-top:4px;padding-top:4px;min-height:auto}
.location-card .schedule .schedule-note span{display:block;color:var(--muted);font-size:12px;line-height:1.45}
.location-card .location-actions{align-self:end}
.location-card .location-actions .btn.outline{padding:10px 8px}
.location-card .location-actions .btn.outline:after{display:inline-block;transition:transform .18s ease}
.location-card .location-actions .btn.outline:hover:after{transform:translateX(3px)}
body[dir="rtl"] .location-card .location-actions .btn.outline:hover:after{transform:translateX(-3px)}
@media (max-width:760px){
  .location-card .location-top>div{min-height:0}
}


/* Step 21 — reuse Contact emergency-card layout on Alarmsignalen only */


/* Step 22 — Kortenberg shared opening hours on one line */
@media (min-width:761px){
  .schedule.kortenberg-single .hours-row:first-child{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:20px;
    align-items:center;
  }
  .schedule.kortenberg-single .hours-row:first-child span,
  .schedule.kortenberg-single .hours-row:first-child strong{white-space:nowrap}
}


/* Step 26 — medical-basis typography only */
.medical-basis-page .page-hero h1{max-width:none}
html:not([lang="nl"]):not([lang="ar"]) /* Step 26 — medical-basis typography only */ .medical-basis-page .page-hero h1{font-size:clamp(32px,4vw,49px);white-space:nowrap;}
html:not([lang="nl"]):not([lang="ar"]) .medical-basis-page .content h2{font-size:clamp(27px,3vw,38px);}
@media (max-width:760px){
html:not([lang="nl"]):not([lang="ar"]) .medical-basis-page .page-hero h1{font-size:31px;white-space:normal;}
  html:not([lang="nl"]):not([lang="ar"]) .medical-basis-page .content h2{font-size:27px;}
}


/* Step 29 — requested locations note and pain-page title sizing */
.locations-note{margin:18px 0 0;color:var(--ink-2)}
.pain-page .page-hero h1{max-width:none}
html:not([lang="nl"]):not([lang="ar"]) .pain-page .page-hero h1{font-size:clamp(32px,4vw,49px);white-space:nowrap;}
html:not([lang="nl"]):not([lang="ar"]) .pain-page .content h2{font-size:clamp(27px,3vw,38px);}
@media (max-width:760px){
html:not([lang="nl"]):not([lang="ar"]) .pain-page .page-hero h1{font-size:31px;white-space:normal;}
  html:not([lang="nl"]):not([lang="ar"]) .pain-page .content h2{font-size:27px;}
}


/* Step 30 — Locaties & afspraken: equal, fully clickable location options */
.locations-appointments-page .locations-options-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.locations-appointments-page .location-option-card{position:relative;display:grid;grid-template-rows:auto minmax(126px,auto) minmax(104px,auto) auto minmax(220px,1fr) auto;height:100%;gap:0;transition:.2s ease}
.locations-appointments-page .location-option-link{position:absolute;inset:0;z-index:1;border-radius:inherit}
.locations-appointments-page .location-option-card:hover{border-color:#bfd8d1;box-shadow:var(--shadow);transform:translateY(-2px)}
.locations-appointments-page .location-option-head,.locations-appointments-page .location-option-summary,.locations-appointments-page .location-option-hours,.locations-appointments-page .location-option-access{position:relative;z-index:0;pointer-events:none}
.locations-appointments-page .location-option-address{margin:0;color:var(--ink-2)}
.locations-appointments-page .location-option-summary{margin:14px 0 0}
.locations-appointments-page .location-option-hours .hours-row{display:grid;gap:16px;align-items:center;padding:1px 0}
.locations-appointments-page .location-option-hours .hours-row span{color:var(--ink);font-weight:700;font-size:.96rem;line-height:1.45}
.locations-appointments-page .location-option-hours .hours-row strong{color:var(--ink);font-weight:850;font-size:.96rem;line-height:1.45;text-align:left}
.locations-appointments-page .location-option-actions{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:10px;flex-wrap:nowrap}
.locations-appointments-page .location-option-actions .btn{width:100%;min-height:46px;padding:0 14px;white-space:nowrap}
.locations-appointments-page .location-option-access h3{margin:8px 0 10px;font-size:19px}
.locations-appointments-page .location-option-access p{margin:0 0 12px}
.locations-appointments-page .location-option-more{position:relative;z-index:2;align-self:end;display:inline-block}
@media (max-width:1000px){.locations-appointments-page .locations-options-grid{grid-template-columns:1fr}}
@media (max-width:760px){
  .locations-appointments-page .location-option-summary,.locations-appointments-page .location-option-hours,.locations-appointments-page .location-option-access{min-height:0}
}


/* Step 32 — locations refinements only */
.locations-appointments-page .locations-note{margin:0 0 22px;padding:15px 18px;background:var(--soft);border-color:var(--line)}
.locations-appointments-page .location-option-hours .hours-row{grid-template-columns:150px minmax(0,1fr)}


/* Step 33 — privacy typography only */
html:not([lang="nl"]):not([lang="ar"]) /* Step 33 — privacy typography only */ .privacy-page .page-hero h1{font-size:clamp(32px,4vw,49px);}
html:not([lang="nl"]):not([lang="ar"]) .privacy-page .content h2{font-size:clamp(26px,2.9vw,36px);}
@media (max-width:760px){
html:not([lang="nl"]):not([lang="ar"]) .privacy-page .page-hero h1{font-size:31px;}
  html:not([lang="nl"]):not([lang="ar"]) .privacy-page .content h2{font-size:26px;}
}

/* Step 34 — mobile-only refinement. Desktop/tablet >=761px intentionally unchanged. */
@media (max-width:760px){
  html{scroll-padding-top:72px}
  body{overflow-x:visible;font-size:15.5px}
  .container{width:calc(100% - 32px)}

  /* Header + mobile navigation */
  .header-inner{min-height:64px;gap:10px}
  .brand{flex:1 1 auto;min-width:0;max-width:calc(100% - 54px);gap:9px}
  .brand img{width:38px;height:38px;flex:0 0 auto}
  .brand-text{min-width:0;max-width:100%}
  .brand-text strong,.brand-text span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .brand-text strong{font-size:.84rem}
  .brand-text span{font-size:.62rem;line-height:1.35}
  .header-actions{gap:6px;flex:0 0 auto}
  .mobile-toggle{width:42px;height:42px;border-radius:11px;flex:0 0 auto}
  .mobile-nav{max-height:calc(100dvh - 64px);overflow-y:auto;padding:8px 16px 18px;box-shadow:0 14px 30px rgba(17,58,52,.08)}
  .mobile-nav a,.mobile-nav summary{padding:11px 6px;font-size:.93rem;line-height:1.35}
  .mobile-nav details div{padding-inline-start:12px;margin-inline-start:4px}
  .mobile-nav details div a{font-size:.88rem;font-weight:700}
  .mobile-nav .language{display:flex;width:max-content;margin-top:8px}

  /* Hero areas */
  .hero-grid{padding:36px 0 42px;gap:24px}
  .home-hero{padding-top:6px}
  .home-hero .hero-grid{padding:24px 18px 22px;border-radius:18px;gap:22px}
  .home-hero h1{margin:12px 0 14px;}html:not([lang="nl"]):not([lang="ar"]) .home-hero h1{line-height:1.1;}
html:not([lang="nl"]):not([lang="ar"]) .home-hero h1{font-size:29px;}
  .home-hero .hero-title-sub{font-size:20px;line-height:1.25;margin:-2px 0 13px}
  .home-hero .hero-copy>p{line-height:1.62;margin-bottom:18px}
  html:not([lang="nl"]) .home-hero .hero-copy>p{font-size:15px}
  .home-hero .hero-actions{display:grid;grid-template-columns:1fr;gap:9px}
  .home-hero .hero-actions .btn{width:100%;min-height:44px}
  .home-hero .quick-facts.quick-facts-large{font-size:13.5px;gap:8px;margin-top:18px}
html:not([lang="nl"]):not([lang="ar"]) .page-hero h1,html:not([lang="nl"]):not([lang="ar"]) .medical-basis-page .page-hero h1,html:not([lang="nl"]):not([lang="ar"]) .pain-page .page-hero h1,html:not([lang="nl"]):not([lang="ar"]) .privacy-page .page-hero h1{white-space:normal;}
  .eyebrow,.kicker{font-size:.7rem;line-height:1.4}
  .hero-meta{margin-top:20px}
  .hero-actions{display:grid;grid-template-columns:1fr;gap:9px}
  .hero-actions .btn{width:100%;min-height:44px}

  /* General spacing and headings */
  .content p{line-height:1.68}

  /* On-page navigation as compact horizontal chips */
  .side-nav{overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .side-nav::-webkit-scrollbar{display:none}
  .side-nav a{flex:0 0 auto}

  /* Cards and information blocks */
  .cards,.cards.two,.baby-page .baby-info-cards,.baby-page .baby-info-cards.five-cards{grid-template-columns:1fr;gap:12px}
  .card,.path-item{padding:19px;border-radius:17px}
  .card h3{font-size:1.08rem;margin:11px 0 6px}
  .card p{font-size:.92rem;line-height:1.55}
  .card .more{margin-top:13px}
  .icon-box{width:40px;height:40px;border-radius:11px}
  .compare{gap:12px}
  .compare article{padding:19px;border-radius:17px}
  .baby-page .baby-compare .baby-compare-title{white-space:normal}
  .callout{border-radius:14px}
  .check-grid{gap:8px}

  /* Info strips */
  .info-strip{border-radius:16px}
  .info-strip span{font-size:.7rem}
  .info-strip strong,.baby-page .info-strip strong,.baby-page .info-strip>div:last-child strong{font-size:.93rem;line-height:1.42;white-space:normal}

  /* FAQ */
  .faq{gap:8px}
  .faq details{border-radius:12px}
  .faq summary{padding:15px 42px 15px 15px;font-size:.94rem;line-height:1.45}
  .faq summary:after{inset-inline-end:15px;top:12px}
  .faq .answer{padding:0 15px 15px;font-size:.94rem;line-height:1.65}

  /* Location and practical cards */
  .location-grid{gap:14px}
  .location-card{border-radius:17px;grid-template-rows:auto auto auto}
  .location-card .location-top>div,.location-card .location-card-link~.location-top>div{min-height:0}
  .location-card h3{margin-top:5px}
  .location-card .address{font-size:13px}
  .location-card .schedule{min-height:0}
  .location-card .schedule .hours-row{grid-template-columns:minmax(0,1fr) auto;gap:10px}
  .location-card .schedule .hours-row span,.location-card .schedule .hours-row strong{font-size:.88rem;white-space:normal}
  body[dir="rtl"] .location-card .schedule .hours-row{grid-template-columns:minmax(0,1fr) auto}
  .location-card .location-actions .btn{width:100%;min-width:0}
  .location-card .location-actions .btn.outline{min-height:40px;padding:8px}
  .local-panel,.local-fd-page .practice-summary{padding:19px;border-radius:17px}
  .local-fd-page .practice-summary .meta{gap:0;margin-top:14px}
  .local-fd-page .practice-summary .meta div{display:grid;grid-template-columns:1fr;gap:2px;padding:9px 0}
  .map-frame{border-radius:17px}

  /* Locaties & afspraken */
  .locations-appointments-page .location-option-card{grid-template-rows:auto auto auto auto auto auto}
  html:not([lang="nl"]):not([lang="ar"]) .locations-appointments-page .location-option-head h2{line-height:1.2;}
  .locations-appointments-page .location-option-summary{margin-top:10px}
  .locations-appointments-page .location-option-hours .hours-row span,.locations-appointments-page .location-option-hours .hours-row strong{font-size:.88rem;white-space:normal}
  .locations-appointments-page .location-option-actions{grid-template-columns:1fr}

  /* Emergency cards */
  .emergency-grid{gap:12px}
  .emergency,.emergency-grid.emergency-contact-style .emergency,.contact-page .emergency{border-radius:16px}
  .emergency strong{line-height:1.35}
  .emergency .number,.emergency-grid.emergency-contact-style .emergency .number,.contact-page .emergency .number{margin-top:8px}

  /* CTA */
  .cta{border-radius:20px}
  .cta h2,.cta h2.desktop-single-line{margin-bottom:6px;}html:not([lang="nl"]):not([lang="ar"]) .cta h2,html:not([lang="nl"]):not([lang="ar"]) .cta h2.desktop-single-line{white-space:normal;}
  .cta p{line-height:1.55}
  .cta .btn,.cta .single-line-button{width:100%;white-space:normal}

  /* Modal */
  .care-dialog{padding:6px}
  .care-dialog-panel{max-height:calc(100dvh - 12px);padding:20px 15px;border-radius:16px}
  .care-dialog-panel>h2{margin:14px 0 18px;}html:not([lang="nl"]):not([lang="ar"]) .care-dialog-panel>h2{font-size:26px;}
  .care-dialog-grid{gap:10px}
  .care-choice{padding:17px;border-radius:14px}
  .choice-head h3{font-size:19px}
  .choice-location{padding:13px 0}

  /* Footer */
  .footer-grid>div:first-child{top:0}
  .footer-grid>div:not(:first-child) a,.footer .nowrap-link{white-space:normal}
  .footer .brand{align-items:center}
  .footer .brand img{width:40px;height:40px}
  .footer .brand-text strong{font-size:.92rem}
  .footer .brand-text span{font-size:.7rem}
  .footer p{margin-top:12px}
  .footer h3{margin:0 0 8px;font-size:.82rem}
  .footer-bottom{padding-top:16px;gap:5px;font-size:.72rem;line-height:1.5}
  .floating-wa{inset-inline-end:12px;bottom:12px;padding:10px 13px;font-size:.76rem}
}

@media (max-width:390px){
  .container{width:calc(100% - 24px)}
  .brand-text strong{font-size:.8rem}
  .brand-text span{font-size:.58rem}
  .home-hero .hero-grid{width:calc(100% - 16px);padding:22px 15px}
html:not([lang="nl"]):not([lang="ar"]) .home-hero h1{font-size:27px;}
  .home-hero .hero-title-sub{font-size:18px}
  html:not([lang="nl"]):not([lang="ar"]) .section h2,html:not([lang="nl"]):not([lang="ar"]) .content h2,html:not([lang="nl"]):not([lang="ar"]) .medical-basis-page .content h2,html:not([lang="nl"]):not([lang="ar"]) .pain-page .content h2,html:not([lang="nl"]):not([lang="ar"]) .privacy-page .content h2{font-size:23px;}
}

/* Step 35 — inner-page mobile polish only. Desktop >=761px unchanged. */
@media (max-width:760px){
  /* Inner page hero: calmer and more compact */
  .page-hero h1,.medical-basis-page .page-hero h1,.pain-page .page-hero h1,.privacy-page .page-hero h1{margin:10px 0 11px;}html:not([lang="nl"]):not([lang="ar"]) .page-hero h1,html:not([lang="nl"]):not([lang="ar"]) .medical-basis-page .page-hero h1,html:not([lang="nl"]):not([lang="ar"]) .pain-page .page-hero h1,html:not([lang="nl"]):not([lang="ar"]) .privacy-page .page-hero h1{line-height:1.14;}
html:not([lang="nl"]):not([lang="ar"]) .page-hero h1,html:not([lang="nl"]):not([lang="ar"]) .medical-basis-page .page-hero h1,html:not([lang="nl"]):not([lang="ar"]) .pain-page .page-hero h1,html:not([lang="nl"]):not([lang="ar"]) .privacy-page .page-hero h1{font-size:clamp(26px,7.2vw,29px);}
  .page-hero p{line-height:1.58;margin-bottom:15px}
html:not([lang="nl"]):not([lang="ar"]) .page-hero p{font-size:14.7px;}
  .breadcrumbs{margin-bottom:10px;line-height:1.4}
html:not([lang="nl"]):not([lang="ar"]) .breadcrumbs{font-size:.74rem;}
html:not([lang="nl"]):not([lang="ar"]) .eyebrow{font-size:.67rem;}

  /* Back-to-overview buttons on circumcision inner pages: no oversized full-width pill */

  /* On-page navigation: wrap cleanly instead of clipping/side-scrolling */
  .content-wrap{gap:16px}
  .side-nav{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
    overflow:visible;
    padding:11px;
    margin:0 0 8px;
    background:var(--soft);
    border:1px solid var(--line);
    border-radius:14px;
  }
  .side-nav strong{
    display:block;
    grid-column:1/-1;
    margin:0 0 2px;
    padding:0 2px;
    color:var(--muted);
    font-size:.68rem;
    line-height:1.35;
    text-transform:uppercase;
    letter-spacing:.06em;
  }
  .side-nav a{
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:0;
    min-height:38px;
    white-space:normal;
    text-align:center;
    line-height:1.3;
    padding:7px 8px;
    border:1px solid var(--line);
    border-radius:9px;
    background:#fff;
    font-size:.76rem;
  }

  /* Main reading area: less vertical bulk, consistent typography */
  html:not([lang="nl"]):not([lang="ar"]) .section h2,html:not([lang="nl"]):not([lang="ar"]) .content h2,html:not([lang="nl"]):not([lang="ar"]) .medical-basis-page .content h2,html:not([lang="nl"]):not([lang="ar"]) .pain-page .content h2,html:not([lang="nl"]):not([lang="ar"]) .privacy-page .content h2{font-size:22.5px;line-height:1.23;}
  .content p,.content li{font-size:14.7px;line-height:1.62}
  .content ul{padding-inline-start:19px;margin:11px 0}
  .content li{margin:6px 0}

  /* Cards on inner circumcision pages */
  .path{gap:10px}
  .path-item{padding:16px}
  .path-item p{font-size:.84rem;line-height:1.5}
  .local-layout{gap:13px}
  .local-panel{border-radius:16px}
  html:not([lang="nl"]):not([lang="ar"]) .local-panel h2{font-size:22px;line-height:1.22;}
  .local-panel h3{font-size:17px;margin:18px 0 8px}
  .local-panel p{font-size:14.3px;line-height:1.58}

  /* Compact mobile meta/info strips */
  .info-strip strong,
  .baby-page .info-strip strong,
  .baby-page .info-strip>div:last-child strong{font-size:.88rem;line-height:1.38}

  /* Locations & appointments */
  .locations-appointments-page .location-option-card{padding:16px;border-radius:16px}
  html:not([lang="nl"]):not([lang="ar"]) .locations-appointments-page .location-option-head h2{font-size:21px;}
  .locations-appointments-page .location-option-address{font-size:13.5px}
  .locations-appointments-page .location-option-summary,
  .locations-appointments-page .location-option-access p{font-size:14px;line-height:1.56}
  .locations-appointments-page .location-option-hours{margin:12px 0;padding:10px 11px}
  .locations-appointments-page .location-option-hours .hours-row{grid-template-columns:minmax(0,1fr) auto;gap:8px}
  .locations-appointments-page .location-option-actions{gap:7px;margin-bottom:14px}
  .locations-appointments-page .location-option-actions .btn{min-height:42px;font-size:.86rem;padding:0 10px}
  .locations-appointments-page .location-option-access h3{font-size:17px;margin:6px 0 8px}
  .locations-appointments-page .locations-note{padding:12px 13px;margin-bottom:12px;font-size:.9rem}

  /* Local Kortenberg/Antwerpen page maps + buttons */
  .map-frame iframe{height:220px}
  .location-card{padding:16px}
  .location-card h3{font-size:19px}
  .location-card .schedule{margin:12px 0;padding:10px 11px}
  .location-card .location-actions{gap:7px}
  .location-card .location-actions .btn{min-height:42px;font-size:.86rem}

  /* Emergency blocks */
  .emergency,.emergency-grid.emergency-contact-style .emergency,.contact-page .emergency{padding:16px}
  .emergency strong{font-size:1rem}
  .emergency .number,.emergency-grid.emergency-contact-style .emergency .number,.contact-page .emergency .number{font-size:2rem}

  /* CTA on inner pages */
  .cta{padding:19px 17px;gap:13px}
  html:not([lang="nl"]):not([lang="ar"]) .cta h2,html:not([lang="nl"]):not([lang="ar"]) .cta h2.desktop-single-line{font-size:21px;line-height:1.2;}
  .cta p{font-size:.88rem}
  .cta .btn,.cta .single-line-button{min-height:42px;font-size:.86rem}

  /* Keep the existing floating WhatsApp action available on narrow screens. */
  .floating-wa{display:inline-flex}

  /* Footer: keep content, reduce visual bulk */
  .footer-grid{gap:20px}
  .footer-grid>div:not(:first-child) a{margin:4px 0;font-size:.8rem;line-height:1.4}
  .footer p{font-size:.8rem;line-height:1.5}
}

@media (max-width:390px){
  .side-nav{grid-template-columns:1fr 1fr;padding:9px;gap:6px}
  .side-nav a{font-size:.73rem;padding:7px 6px}
html:not([lang="nl"]):not([lang="ar"]) .page-hero h1,html:not([lang="nl"]):not([lang="ar"]) .medical-basis-page .page-hero h1,html:not([lang="nl"]):not([lang="ar"]) .pain-page .page-hero h1,html:not([lang="nl"]):not([lang="ar"]) .privacy-page .page-hero h1{font-size:26px;}
}

/* Step 36 — mobile-only refinement for the main Besnijdenis bij kinderen page */
@media (max-width:760px){
  /* Prevent the phase introduction from being clipped on narrow screens. */
  .baby-page .section-head .copy,
  .baby-page .section-head .copy p,
  .baby-page .section-head .copy p.compact-single-line{
    max-width:100%;
    white-space:normal;
    overflow-wrap:anywhere;
  }

  /* Main hero: compact but still clearly hierarchical. */
  .baby-page .page-hero{padding:26px 0 22px}
  .baby-page .page-hero h1.baby-hero-title{margin:10px 0 11px;max-width:100%;}html:not([lang="nl"]):not([lang="ar"]) .baby-page .page-hero h1.baby-hero-title{line-height:1.13;}
html:not([lang="nl"]):not([lang="ar"]) .baby-page .page-hero h1.baby-hero-title{font-size:26px;white-space:normal;}
  .baby-page .page-hero> .container>p{
    /* font-size unified for Dutch in canonical Hero typography below */
    line-height:1.58;
    margin-bottom:14px;
  }
  html:not([lang="nl"]) .baby-page .page-hero> .container>p{font-size:14.5px;}
  .baby-page .hero-meta{margin-top:14px}

  /* Age / price / locations: compact rows rather than three tall blocks. */
  .baby-page .info-strip{
    display:grid;
    grid-template-columns:1fr;
    border-radius:14px;
  }
  .baby-page .info-strip>div{
    display:grid;
    grid-template-columns:76px minmax(0,1fr);
    align-items:start;
    gap:10px;
    padding:11px 13px;
  }
  .baby-page .info-strip span{
    padding-top:1px;
    font-size:.66rem;
    line-height:1.35;
  }
  .baby-page .info-strip strong,
  .baby-page .info-strip>div:last-child strong{
    margin:0;
    font-size:.84rem;
    line-height:1.38;
    text-align:left;
    white-space:normal;
    overflow-wrap:break-word;
  }

  /* Phase section: reduce excess whitespace. */
  .baby-page .section.soft{padding:34px 0}
  .baby-page .section-head{margin-bottom:16px;gap:8px}
  .baby-page .section-head .copy h2.baby-section-title-sm{margin:6px 0 8px;}html:not([lang="nl"]):not([lang="ar"]) .baby-page .section-head .copy h2.baby-section-title-sm{font-size:22px;line-height:1.2;white-space:normal;}
  .baby-page .section-head .copy p.compact-single-line{
    font-size:14px;
    line-height:1.52;
  }

  /* Five phase cards become compact list-style rows on mobile. */
  .baby-page .baby-info-cards.five-cards{
    display:grid;
    grid-template-columns:1fr;
    gap:9px;
  }
  .baby-page .baby-info-cards.five-cards .card{
    display:grid;
    grid-template-columns:42px minmax(0,1fr);
    grid-template-areas:
      "icon title"
      "icon text"
      "icon link";
    column-gap:12px;
    row-gap:3px;
    align-items:start;
    min-height:0;
    padding:14px 15px;
    border-radius:14px;
  }
  .baby-page .baby-info-cards.five-cards .icon-box{
    grid-area:icon;
    width:42px;
    height:42px;
    margin:0;
    align-self:start;
  }
  .baby-page .baby-info-cards.five-cards .card h3{
    grid-area:title;
    margin:0;
    font-size:1rem;
    line-height:1.28;
    white-space:normal;
  }
  .baby-page .baby-info-cards.five-cards .card p{
    grid-area:text;
    margin:1px 0 0;
    font-size:.84rem;
    line-height:1.45;
  }
  .baby-page .baby-info-cards.five-cards .card .more{
    grid-area:link;
    margin:5px 0 0;
    font-size:.8rem;
  }

  /* The two explanatory cards remain full-width but less bulky. */
  .baby-page .baby-compare{gap:10px}
  .baby-page .baby-compare>article{
    padding:16px;
    border-radius:15px;
  }
  .baby-page .baby-compare .baby-compare-title{
    font-size:20px;
    line-height:1.22;
    margin:6px 0 8px;
  }
  .baby-page .baby-compare p{
    font-size:14px;
    line-height:1.55;
  }
  .baby-page .baby-compare .more{font-size:.82rem}

  /* Risks / FAQ: tighter rhythm on the long main page. */
  .baby-page .compact-section{padding:30px 0}
  .baby-page .compact-section .callout{
    margin:0;
    padding:15px 16px;
  }
  .baby-page .faq summary{
    padding:14px 40px 14px 14px;
    font-size:.9rem;
    line-height:1.42;
  }
  .baby-page .faq .answer{
    padding:0 14px 14px;
    font-size:.9rem;
    line-height:1.58;
  }
}

@media (max-width:380px){
html:not([lang="nl"]):not([lang="ar"]) .baby-page .page-hero h1.baby-hero-title{font-size:24px;}
  .baby-page .info-strip>div{grid-template-columns:68px minmax(0,1fr);gap:8px;padding:10px 11px}
  .baby-page .baby-info-cards.five-cards .card{grid-template-columns:38px minmax(0,1fr);column-gap:10px;padding:13px}
  .baby-page .baby-info-cards.five-cards .icon-box{width:38px;height:38px;font-size:.82rem}
}


/* Step 37 — mobile overflow hardening only; desktop unchanged */
@media (max-width:760px){
  html,body{width:100%;max-width:100%;overflow-x:visible}
  main,header,footer,section,.container,.hero-grid,.hero-copy,.section-head,.section-head .copy,.content-wrap,.content,.cards,.location-grid,.footer-grid{min-width:0;max-width:100%}
  *{box-sizing:border-box}
  img,iframe,video,svg{max-width:100%}

  /* Prevent long flex/grid children from determining the mobile page width. */
  .hero-grid>* , .section-head>* , .footer-grid>* , .quick-facts>* , .quick-facts span{min-width:0;max-width:100%}
  .quick-facts>div,.hero-facts>div,.hero-facts-home>div{white-space:normal}
  .quick-facts span,.hero-facts span,.hero-facts-home span{white-space:normal;overflow-wrap:anywhere}

  /* Home hero: width includes padding and can never exceed the viewport. */
  .home-hero .hero-grid{width:calc(100% - 24px);max-width:calc(100% - 24px);margin-inline:auto}
  .home-hero .hero-copy{width:100%}

  /* CTA decorations/text must stay inside the card. */
  .cta{max-width:100%;overflow:hidden}
  .cta>div,.cta>a{min-width:0;max-width:100%}
}

/* Step 37b — ultra-narrow text safety */
@media (max-width:760px){
  .content h2,.content h3,.section h2,.page-hero h1{overflow-wrap:anywhere;word-break:normal}
}


html[lang="nl"] .page-hero .breadcrumbs,
html[lang="nl"] .home-hero .breadcrumbs,
html[lang="nl"] [class*="hero"] .breadcrumbs {
  font-size:clamp(12px, calc(11.06px + 0.294vw), 14px);
}

html[lang="nl"] .home-hero .eyebrow,
html[lang="nl"] .page-hero .eyebrow,
html[lang="nl"] .contact-hero .eyebrow,
html[lang="nl"] .about-hero .eyebrow,
html[lang="nl"] [class*="hero"] .eyebrow {
  font-size:clamp(11px, calc(10.53px + 0.147vw), 12px);
}


html[lang="nl"] .home-hero .hero-copy > p,
html[lang="nl"] .page-hero > .container > p,
html[lang="nl"] .contact-hero > .container > p,
html[lang="nl"] .about-hero > .container > p {
  font-size:clamp(15px, calc(14.53px + 0.147vw), 16px);
}

/* Location H1 is split into spans in HTML; make it behave as one natural heading in Dutch. */


/* Dutch heading typography — single canonical source.
   H1 and H2 are visually identical; semantic distinction stays in HTML only. */
html[lang="nl"] h1,
html[lang="nl"] h2 {
  font-family:Inter,Arial,Helvetica,sans-serif;
  font-size:clamp(28px, calc(22.35px + 1.765vw), 40px);
  font-weight:700;
  line-height:1.08;
  letter-spacing:-.03em;
  white-space:normal;
}

/* Arabic-only eyebrow / section-label size */
html[lang="ar"] :is(
  .eyebrow,
  .section-label,
  .hero-eyebrow,
  .page-eyebrow,
  .page-hero__eyebrow,
  .hero__eyebrow,
  .kicker,
  .overline
) {
  font-size: 12px !important;
}

/* Antwerpen circumcision page: keep bold emphasis inline inside the Belangrijk verschil paragraphs. */
.callout p strong,
.callout p b,
.callout li strong,
.callout li b {
  display: inline;
  margin: 0 !important;
  font-weight: bolder;
}

/* Permanent Isleem Care blue theme. Red danger states remain unchanged. */
html[data-color-theme="blue"]{
  --ink:#12384F;
  --ink-2:#355567;
  --muted:#4F6874;
  --line:#D7E8EF;
  --paper:#FFFFFF;
  --soft:#F4FAFC;
  --soft-2:#E9F6FB;
  --brand:#11749B;
  --brand-2:#0E5E7D;
  --accent:#805615;
  --shadow:0 18px 50px rgba(17,74,102,.10);
}

/* Core chrome, navigation and decorative brand tints */
html[data-color-theme="blue"] .site-header{border-bottom-color:rgba(215,232,239,.95)}
html[data-color-theme="blue"] .hero{background:linear-gradient(135deg,#F4FAFC 0%,#fff 58%,#E9F6FB 100%)}
html[data-color-theme="blue"] .hero:after{background:radial-gradient(circle,rgba(27,149,197,.12),rgba(27,149,197,0) 68%)}
html[data-color-theme="blue"] .home-hero .hero-grid{background:linear-gradient(135deg,#fff 0%,#F4FAFC 100%)}
html[data-color-theme="blue"] .portrait-frame{background:linear-gradient(145deg,#E9F6FB,#F4FAFC)}
html[data-color-theme="blue"] .card:hover,
html[data-color-theme="blue"] .location-card:has(.location-card-link):hover,
html[data-color-theme="blue"] .contact-page .location-card:hover,
html[data-color-theme="blue"] .locations-appointments-page .location-option-card:hover{border-color:#A9D5E6}
html[data-color-theme="blue"] .card.highlight p,
html[data-color-theme="blue"] .card.highlight .more{color:#E5F6FC}
html[data-color-theme="blue"] .callout:not(.danger):not(.gold){border-color:#CBE5EF}

/* CTA and dark medical surfaces */
html[data-color-theme="blue"] .cta{background:linear-gradient(135deg,#11749B,#0E5E7D)}
html[data-color-theme="blue"] .cta p{color:#E8F7FC}
html[data-color-theme="blue"] .care-dialog,
html[data-color-theme="blue"] .care-dialog::backdrop{background:rgba(10,42,61,.80)}
html[data-color-theme="blue"] .care-choice-dark{background:#12384F}
html[data-color-theme="blue"] .care-dialog-panel{background:#F4FAFC}
html[data-color-theme="blue"] .care-choice-light{background:#E9F6FB}
html[data-color-theme="blue"] .choice-location{border-top-color:rgba(18,56,79,.14)}
html[data-color-theme="blue"] .care-dialog-close{border-color:#D7E8EF}
html[data-color-theme="blue"] .care-choice-dark>p{color:#C3D9E4}
html[data-color-theme="blue"] .care-choice-dark>small{color:#B9D2DE}
html[data-color-theme="blue"] .choice-button:not(.gold){color:#11749B;border-color:#D1E5ED}
html[data-color-theme="blue"] .choice-button.gold{color:#12384F}

/* Footer becomes medical navy; gold and danger semantics stay untouched */
html[data-color-theme="blue"] .footer{background:#0E3045}
html[data-color-theme="blue"] .footer .brand-text span{color:#B9D4DF}
html[data-color-theme="blue"] .footer p,
html[data-color-theme="blue"] .footer a{color:#C6DCE5}
html[data-color-theme="blue"] .footer h3{color:#F0F7FA}
html[data-color-theme="blue"] .footer-bottom{color:#9FBCC9}
html[data-color-theme="blue"] .floating-wa{background:#11749B;box-shadow:0 12px 30px rgba(17,116,155,.26)}

/* Keep the home-page outline CTA aligned with the permanent blue brand palette. */
html[data-color-theme="blue"] .home-hero .hero-actions .btn.outline{background:#E9F6FB;border-color:#8BC9E0;color:#11749B}
html[data-color-theme="blue"] .home-hero .hero-actions .btn.outline:hover{background:#DDF1F9;border-color:#61B4D4;color:#11749B}
html[data-color-theme="blue"] .site-header .brand-text span{color:#5F7885}
html[data-color-theme="blue"] .location-card .address,
html[data-color-theme="blue"] .contact-page .location-card .address{color:#4F6874}
html[data-color-theme="blue"] .location-card .schedule{background:#F4FAFC}
html[data-color-theme="blue"][lang="ar"] body.about-page .about-hero .breadcrumbs{color:#4F6874}

/* Neutral blue brand shadows */
html[data-color-theme="blue"] .info-strip{box-shadow:0 10px 32px rgba(17,74,102,.07)}
html[data-color-theme="blue"] .map-frame{box-shadow:0 10px 30px rgba(17,74,102,.07)}
html[data-color-theme="blue"] .local-fd-page .practice-summary{box-shadow:0 10px 30px rgba(17,74,102,.06)}
html[data-color-theme="blue"] .mobile-nav{box-shadow:0 14px 30px rgba(17,74,102,.08)}

/* English only — force Inter variable font */
html[lang="en"] body, html[lang="en"] body * { font-family: "Inter", Arial, Helvetica, sans-serif !important; font-optical-sizing:auto; }

/* Public language visibility is controlled centrally from Studio. */
html,body{max-width:100%;overflow-x:visible}

/* One compact, content-safe question CTA across all languages and pages. */
.question-cta-section{padding-block:42px!important;transform:none}
.question-cta h2{margin:0!important;font-size:clamp(1.35rem,2.2vw,1.8rem);line-height:1.2;white-space:normal!important}
@media(min-width:761px) and (max-width:1000px){.question-cta{width:100%;min-height:100px;height:100px}}
@media(max-width:760px){.question-cta-section{padding-block:30px!important}}

@media(max-width:1000px){
  html,body{width:100%;max-width:100%;overflow-x:visible}
  .hero-facts.quick-facts{grid-template-columns:1fr;gap:9px!important}
  .hero-facts.quick-facts>div,.hero-facts.quick-facts span{min-width:0;max-width:100%;white-space:normal!important;overflow-wrap:anywhere}
}

/* Arabic schedule: day at the physical right, time at the physical left. */
html[lang="ar"] body.huisarts-page .location-card .schedule .hours-row:has(.studio-schedule-day){display:grid;direction:ltr;grid-template-columns:max-content minmax(0,1fr)!important;grid-template-areas:"time day";gap:16px!important;align-items:baseline}
html[lang="ar"] body.huisarts-page .location-card .schedule .studio-schedule-day{grid-area:day!important;direction:rtl;text-align:right;order:initial}
html[lang="ar"] body.huisarts-page .location-card .schedule .studio-schedule-hours{grid-area:time!important;direction:ltr;unicode-bidi:isolate;text-align:left!important;order:initial;white-space:nowrap!important}

/* ------------------------------------------------------------------------------------------
   Tap targets on phones (T51).
   Footer navigation links, the cookie-settings button and the consent privacy link rendered at
   17–21px tall on a 360px viewport. That is a line of text, not a target: adjacent footer links
   sat under 20px apart, which on a phone means a parent aiming for "Contact" reaches "Privacy".
   WCAG 2.5.8 asks for 24×24 CSS pixels as the minimum, and this is the cheapest possible way to
   get there — vertical padding only, so nothing moves horizontally and no layout is redesigned.
   Scoped to the phone breakpoint, because the pointer is the problem, not the design.
   ------------------------------------------------------------------------------------------ */
@media (max-width: 640px) {
  .footer-grid a,
  .footer-location-details a,
  .footer-bottom a,
  .footer-bottom button,
  .breadcrumbs a,
  .ic-consent-settings,
  .ic-consent-privacy {
    display: inline-block;
    min-height: 24px;
    padding-block: 4px;
  }
  /* An icon-only link has no text to give it width, so it needs the minimum in both axes. */
  .footer-grid a:empty,
  .footer-grid a > svg:only-child,
  .footer-bottom a:empty {
    min-width: 24px;
  }
  /* Icon links carry their size in an inline style attribute, which outranks any rule here
     without !important. Used deliberately and only for the minimum target size. */
  .footer-grid a[aria-label],
  .footer-bottom a[aria-label] {
    min-width: 24px;
    min-height: 24px;
  }
  /* The cross-location link ("the procedure takes place in Antwerpen") rendered at 23px. It is
     the link that resolves the single most confusable fact on the site, so it should not be the
     hardest one to hit. */
  .local-switch a {
    display: inline-block;
    min-height: 24px;
    padding-block: 4px;
  }
}

/* THE ARABIC TYPEFACE IS CAIRO, AND ONLY CAIRO (owner rule, 26/09/2026). Latin pages are set in Inter,
   which has no Arabic letters, so an Arabic word on a Dutch, English or French page (the language line
   "Nederlands · عربية · English" on the home pages) fell back to the device's own Arabic font. The Cairo
   Arabic subset joins the Inter family for the Arabic range only: Latin text is untouched, and the file
   is downloaded only by a page that actually shows Arabic letters. */
@font-face{font-family:"Inter";font-style:normal;font-display:swap;font-weight:100 900;src:url("/assets/fonts/cairo-arabic-wght-normal.woff2") format("woff2-variations");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
