﻿/* Isleem Care — canonical spacing and card system, August 2026. */
:root{
  --space-section:48px;
  --space-section-mobile:34px;
  --space-card-block:20px;
  --space-card-inline:22px;
  --text-leading:1.62;
}
html[lang="ar"]{--text-leading:1.78}

body{line-height:var(--text-leading)}
p,li,.card p,.content p,.content li,.local-panel p,.check-item{line-height:var(--text-leading)}
h1,h2,h3,h4,h5,h6{line-height:1.22}

/* Deliberate type scale: page titles are the only large headings. */
main .page-hero h1,
main .home-hero h1{font-size:40px!important;line-height:1.18!important}
html[lang] body main#main h2{font-size:25px!important;line-height:1.3!important}
html[lang] body main#main .question-cta h2{font-size:20px!important;line-height:1.35!important}
@media (min-width:1200px){
  body.baby-page main#main .page-hero h1{font-size:38px!important;white-space:nowrap!important}
}
main .medical-basis-page .page-hero h1,
body.medical-basis-page main .page-hero h1{font-size:38px!important;white-space:nowrap!important}

/* Compact, repeatable page rhythm. */
.page-hero{height:auto;min-height:0;padding:44px 0 36px!important}
.page-hero h1{margin-top:12px!important;margin-bottom:12px!important}
.page-hero>.container>p{margin-bottom:0!important}
.practice-summary .meta>div:first-child>strong:not(.opening-hours-list){
  flex:0 0 auto!important;
  white-space:nowrap!important;
  direction:ltr;
  unicode-bidi:isolate;
}
.practice-summary .meta>div:first-child{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(112px,.36fr);
  align-items:baseline;
  column-gap:18px;
}
html:not([lang="ar"]) .practice-summary .meta>div:first-child>span{text-align:left !important}
html:not([lang="ar"]) .practice-summary .meta>div:first-child>strong:not(.opening-hours-list){text-align:center !important}
html[lang="ar"] .practice-summary .meta>div:first-child{
  direction:ltr;
  grid-template-columns:minmax(112px,.36fr) minmax(0,1fr)!important;
}
html[lang="ar"] .practice-summary .meta>div:first-child>span{grid-column:2;grid-row:1;text-align:right !important;direction:rtl}
.practice-summary .meta>div:first-child:has(.opening-hours-list){display:block!important}
.practice-summary .meta>div:first-child:has(.opening-hours-list)>span{display:none !important}
.practice-summary .opening-hours-list{display:grid!important;width:100%;gap:4px!important}
.practice-summary .opening-hours-row{
  display:grid !important;
  direction:ltr;
  grid-template-columns:minmax(0,1fr) minmax(112px,.36fr)!important;
  align-items:baseline;
  column-gap:18px!important;
}
.practice-summary .opening-day{text-align:left!important}
.practice-summary .opening-time{text-align:center!important;direction:ltr;unicode-bidi:isolate;white-space:nowrap!important}
html[lang="ar"] .practice-summary .opening-hours-row{grid-template-columns:minmax(112px,.36fr) minmax(0,1fr)!important;grid-template-areas:"time day"}
html[lang="ar"] .practice-summary .opening-day{grid-area:day;text-align:right!important;direction:rtl}
html[lang="ar"] .practice-summary .opening-time{grid-area:time;text-align:center !important}
@media (min-width:1200px){
  .home-hero .hero-title-sub{font-size:22px;white-space:nowrap!important}
}
.breadcrumbs{margin-bottom:14px}
.section{height:auto;min-height:0;padding:var(--space-section) 0!important}
.compact-section{padding:30px 0!important}
.page-hero+.section{padding-top:40px!important}
main>.section:has(+.question-cta-section){padding-bottom:30px!important}
main>.section+.question-cta-section{padding-top:0!important}
.section-head{height:auto;min-height:0;gap:20px!important;margin-bottom:24px!important}
.content-wrap,.hero-grid,.section-head,.section-head .copy{height:auto;min-height:0}
.content-wrap{gap:40px!important;align-items:start}
.content>section{height:auto;min-height:0;padding:24px 0!important}
.content>section:first-child{padding-top:0!important}
.content>section:last-child{padding-bottom:0!important;border-bottom:0}
.content p{margin-bottom:12px}

/* Content-driven cards: 20px vertical breathing room, no artificial blank rows. */
.cards,.baby-info-cards,.path{align-items:stretch}
.baby-compare,.compare{grid-template-columns:repeat(2,minmax(0,1fr))}
.baby-compare>article,.compare>article,.baby-compare .card-link-wrap{min-width:0;max-width:100%}
.baby-compare .baby-compare-title{white-space:normal!important}
.card,.path-item,.compare>article,.baby-compare>article,.local-panel,.callout,.check-item,.emergency{
  height:auto;
  min-height:0;
}
.card,.path-item,.compare>article{
  padding:var(--space-card-block) var(--space-card-inline)!important;
}
.card h3,.path-item h3,.compare h3{margin-top:10px;margin-bottom:6px}
.card .more,.path-item .more,.compare .more{margin-top:14px}
.cards,.cards.two,.baby-info-cards,.path,.baby-compare,.compare{align-items:stretch}
.cards>.card,.baby-info-cards>.card,.path>.path-item,.baby-compare>article,.compare>article{
  display:flex!important;
  flex-direction:column;
  height:100%;
}
.cards>.card .more,.baby-info-cards>.card .more,.path>.path-item .more,.baby-compare>article .more,.compare>article .more{margin-top:auto!important;padding-top:14px}
.baby-compare .card-link-wrap{display:flex!important;flex-direction:column;height:100%}
.baby-page .baby-compare>article.callout{margin:0!important}
.baby-page .baby-compare>article .more,
html[lang="ar"] .baby-page .baby-compare>article .more{margin-top:auto!important}
.baby-page .baby-compare>article .card-link-wrap{justify-content:flex-start}
.semantic-card-heading{font-size:20px;line-height:1.3 !important;margin:10px 0 7px!important}
/* Font-independent location marker; avoids missing-glyph squares in Cairo/Inter. */
.location-card .badge:before{
  content:""!important;
  display:inline-block!important;
  width:6px!important;
  height:6px!important;
  margin-inline-end:8px!important;
  border:1.5px solid var(--accent)!important;
  transform:rotate(45deg)!important;
  vertical-align:middle!important;
}
.local-panel{padding:20px 24px!important}
.local-panel>:last-child{margin-bottom:0}
.callout{padding:16px 18px!important;margin:18px 0!important}
.check-grid{align-items:stretch;gap:10px;margin:16px 0}
.check-item{display:flex;align-items:flex-start;height:100%;padding:12px 14px!important;font-size:14px;line-height:var(--text-leading) !important}
.emergency-grid{align-items:start!important}
.emergency{display:block!important;grid-template-rows:none!important;padding:20px 22px!important}
.info-strip>div{padding:16px 20px!important}
.faq summary{padding-block:15px}
.faq .answer{padding-bottom:15px}

/* Location cards keep equal outer heights, but every inner row follows its content. */
.location-grid{align-items:stretch}
.local-layout{align-items:stretch!important}
.local-layout>.local-panel{display:flex !important;flex-direction:column;height:100%}
.location-grid>.location-card,
.contact-page .location-grid>.location-card{
  display:flex!important;
  flex-direction:column;
  grid-template-rows:none!important;
  height:100%;
  min-height:0!important;
  padding:20px 28px!important;
}
.location-card .location-top>div,
.contact-page .location-card .location-top>div{
  height:auto;
  min-height:0!important;
}
.location-card .schedule,
.contact-page .location-card .schedule{
  box-sizing:border-box;
  width:100%;
  height:auto!important;
  min-height:var(--paired-schedule-height,104px)!important;
  display:flex !important;
  flex-direction:column;
  justify-content:center;
  margin:18px 0 0!important;
  padding:13px 16px!important;
}
html:not([lang="ar"]) .schedule .hours-row,
html:not([lang="ar"]) .location-option-hours .hours-row{
  display:grid !important;
  direction:ltr;
  grid-template-columns:minmax(0,1fr) minmax(112px,.34fr)!important;
  grid-template-areas:"day time";
  column-gap:18px!important;
  align-items:baseline!important;
}
html:not([lang="ar"]) .schedule .hours-row>span,
html:not([lang="ar"]) .location-option-hours .hours-row>span{
  grid-area:day!important;
  text-align:left !important;
  min-width:0;
}
html:not([lang="ar"]) .schedule .hours-row>strong,
html:not([lang="ar"]) .location-option-hours .hours-row>strong{
  grid-area:time!important;
  text-align:center!important;
  white-space:nowrap!important;
}
html[lang="ar"] .location-card .schedule .hours-row,
html[lang="ar"] .location-option-hours .hours-row{
  display:grid !important;
  direction:ltr!important;
  grid-template-columns:minmax(112px,.34fr) minmax(0,1fr)!important;
  grid-template-areas:"time day";
  column-gap:18px!important;
  align-items:baseline!important;
}
html[lang="ar"] .location-card .schedule .hours-row>span,
html[lang="ar"] .location-option-hours .hours-row>span{
  grid-area:day!important;
  direction:rtl;
  text-align:right !important;
  min-width:0;
}
html[lang="ar"] .location-card .schedule .hours-row>strong,
html[lang="ar"] .location-option-hours .hours-row>strong{
  grid-area:time!important;
  direction:ltr;
  unicode-bidi:isolate;
  text-align:center!important;
  white-space:nowrap!important;
}
html[lang="ar"] .location-card .schedule .hours-row>span,
html[lang="ar"] .location-card .schedule .hours-row>strong{font-size:14px!important}
.location-card .location-actions,
.contact-page .location-card .location-actions{
  width:100%;
  margin-top:auto !important;
  padding-top:20px!important;
  align-self:stretch;
  align-items:center;
  justify-content:space-between;
  gap:14px!important;
}
.location-card .location-actions .btn,
.location-option-actions .btn{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  text-align:center !important;
  line-height:1.25 !important;
  min-height:46px!important;
}
.location-card .location-actions .btn>span,
.location-option-actions .btn>span{display:inline-flex!important;align-items:center;line-height:1.25 !important}
.location-card .location-actions .btn .phone,
.location-option-actions .btn .phone{display:inline-block;text-align:center!important}
html[lang="ar"] .location-card .location-actions{
  display:flex!important;
  margin-top:auto !important;
  padding-top:20px!important;
  align-self:stretch;
  align-items:center;
  justify-content:space-between;
}
html[lang="ar"] .location-card.ar-location-card .location-actions{
  margin-top:auto !important;
  align-self:stretch;
}
html[lang="ar"] .ar-home-locations .location-card .location-actions>a.btn[href^="tel:"]{
  transform:none;
  translate:none;
}

/* Detailed location choices: equal paired cards with content-led inner rows. */
.locations-appointments-page .locations-options-grid{align-items:stretch;gap:20px!important}
.locations-appointments-page .locations-options-grid>.location-option-card{
  display:flex !important;
  flex-direction:column;
  grid-template-rows:none!important;
  height:100%;
  min-height:0;
  padding:20px 24px!important;
}
.locations-appointments-page .location-option-head,
.locations-appointments-page .location-option-summary,
.locations-appointments-page .location-option-hours,
.locations-appointments-page .location-option-access{
  height:auto;
  min-height:0;
}
.locations-appointments-page .location-option-head h2{font-size:25px;line-height:1.24 !important;margin:7px 0 7px!important}
.locations-appointments-page .location-option-summary{margin-top:12px !important}
.locations-appointments-page .location-option-hours{
  box-sizing:border-box;
  width:100%;
  min-height:var(--paired-schedule-height,104px)!important;
  display:flex !important;
  flex-direction:column;
  justify-content:center;
  margin:16px 0!important;
  padding:12px 14px!important;
}
.locations-appointments-page .location-option-actions{margin:0 0 18px!important}
.locations-appointments-page .location-option-access{padding-top:0}
.locations-appointments-page .location-option-more{margin-top:auto !important;padding-top:12px}

@media (min-width:1200px){
  html[lang="ar"] .local-fd-page .page-hero h1.local-title-two-lines{
    max-width:none;
    font-size:38px;
    white-space:nowrap!important;
  }
}

html[lang="ar"] .content .check-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
html[lang="ar"] .content .check-item{font-size:13.5px}
html[lang="ar"] .content p,
html[lang="ar"] .content li,
html[lang="ar"] .page-hero p,
html[lang="ar"] .card p{line-height:1.78!important}

/* Contextual links inside medical copy must look interactive without relying on hover. */
.content a[href="/besnijdenis-bij-kinderen/alarmsignalen/"]{
  color:var(--brand);
  font-weight:750!important;
  text-decoration:underline!important;
  text-decoration-thickness:1.5px!important;
  text-underline-offset:.16em;
}
html[lang="ar"] .content section#health .check-item strong{margin-inline-start:.25em}

/* About portrait: honor the source aspect ratio instead of the HTML height attribute. */
.about-intro .portrait-frame img{
  display:block !important;
  width:100%;
  height:auto;
  aspect-ratio:4/5;
  object-fit:cover;
  object-position:center 24%;
}

/* The four preparation reminders use one equal desktop grid and compact, readable text. */
@media (min-width:1200px){
  html[lang="ar"] .content section#health .check-item{
    font-size:13px;
    white-space:nowrap!important;
  }
}

/* Localized clinic details below the shared footer navigation. */
.footer-locations{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:28px;
  margin-top:34px;
  padding-top:30px;
  border-top:1px solid rgba(255,255,255,.14);
}
.footer-location{min-width:0}
.footer-location h4{margin:0 0 10px;color:#F0F7FA;font-size:16px;font-weight:700;line-height:1.45}
.footer-location p{margin:0 0 12px;font-size:14px;font-weight:500;line-height:1.75}
.footer-location strong{color:#F0F7FA}
.footer-location em{font-style:normal;color:#D7E8EF;font-size:13.5px;font-weight:500;line-height:1.65}
.footer-location a{display:inline-block !important;margin:5px 0 0!important;color:#F0F7FA!important;font-size:14px;font-weight:800}
.footer-location strong a{margin:0!important;text-decoration:underline;text-underline-offset:.16em}
.footer-location strong a:hover,.footer-location strong a:focus-visible{color:#fff!important}
.footer-location-details{display:grid;gap:9px;margin-top:8px;font-size:14px;font-weight:500}
.footer-detail-row{display:flex;align-items:flex-start;gap:8px;min-width:0;font-size:14px;line-height:1.7}
.footer-detail-row>span{min-width:0;overflow-wrap:anywhere}
.footer-detail-icon{width:18px;height:18px;flex:0 0 18px;margin-top:.28em;color:inherit}
.footer a[data-booking-footer-link]{display:flex !important;align-items:flex-start;gap:7px;white-space:normal!important}
.footer a[data-booking-footer-link] .footer-detail-icon{margin-top:.18em}
.footer-detail-row>a{display:inline !important;margin:0!important;white-space:nowrap}
.footer-phone-row{align-items:center}

/* Quiet doctor context directly below the homepage portrait. */
.home-doctor-summary{margin-top:14px;text-align:center;color:var(--muted,#52636d)}
.home-doctor-summary p{margin:0;font-size:14px;font-weight:700;line-height:1.55}
.home-doctor-summary .doctor-meta{display:flex;align-items:center;justify-content:center;gap:10px;font-weight:700}
.home-doctor-summary .doctor-meta>span:not(.doctor-meta-separator){min-width:0}
.home-doctor-summary .doctor-meta-separator{display:block;flex:0 0 auto;width:1px;height:1.15em;background:currentColor;opacity:.55}
.home-doctor-summary .home-doctor-button{display:inline-flex;width:auto;min-height:42px;margin-top:8px;padding:9px 16px;align-items:center;justify-content:center;gap:7px;font-size:14px;font-weight:800;line-height:1.2;text-decoration:none}
.home-doctor-summary svg{width:16px;height:16px;flex:0 0 16px}

@media (min-width:1200px){
  /* Homepage desktop hero: align the full text column with the portrait top while preserving internal spacing. */
  .home-hero .hero-copy{align-self:start}
  html[lang="ar"] .home-hero .hero-copy{padding-top:12px}
  html:is([lang="nl"],[lang="en"],[lang="fr"],[lang^="fr-"]) .home-hero .hero-copy{padding-top:12px}
  html:root .home-hero .home-doctor-summary p{font-size:clamp(12.5px,.95vw,14px);white-space:nowrap}
  /* Keep the approved separator gap visible when the translated labels are longer than Dutch. */
  html:root .home-hero .home-doctor-summary .doctor-meta>span:not(.doctor-meta-separator){flex:0 0 auto}
}

@media (max-width:1199px){
  .home-doctor-summary p{white-space:normal;overflow-wrap:anywhere}
}

@media (max-width:760px){
  .footer-locations{grid-template-columns:1fr;gap:22px;margin-top:28px;padding-top:24px}
}

/* One compact CTA everywhere. Fixed heights caused the former page overlap. */
.question-cta-section{height:auto;min-height:0;padding:28px 0!important}
.question-cta{
  box-sizing:border-box;
  width:min(100%,1020px);
  max-width:1020px;
  height:84px;
  min-height:84px!important;
  margin-inline:auto!important;
  padding:20px 28px!important;
  gap:20px!important;
  transform:none;
}
.question-cta>div{flex:1 1 auto!important;min-width:0}
.question-cta h2,
html[lang="nl"] .question-cta h2,
html[lang="ar"] .question-cta h2,
html[lang="en"] .question-cta h2{
  margin:0!important;
  font-size:20px;
  line-height:1.35 !important;
  letter-spacing:0!important;
  white-space:nowrap!important;
}
.question-cta .btn{flex:0 0 auto;height:44px!important;min-height:44px!important;padding-block:0!important}
.question-cta:has(>a[data-independent-booking-cta]){height:auto!important;min-height:84px!important}
.question-cta:has(>a[data-independent-booking-cta]) h2{white-space:normal!important}
.question-cta>a[data-independent-booking-cta]{max-width:310px;white-space:normal!important;text-align:center;line-height:1.25}

/* Footer contact labels and phone numbers remain on the same baseline. */
.footer{padding:44px 0 24px!important}
.footer-grid{gap:28px!important}
.footer-bottom{margin-top:28px!important}

/* The language control in the mobile drawer keeps its deliberate small gap. */
.mobile-nav>div:last-child{margin-top:10px}

/* Desktop single-line text is opt-in and becomes normal wrapping below 1200px. */
@media (min-width:1200px){
  .contact-hero h1{max-width:none;font-size:38px;white-space:nowrap!important}
  html[lang="ar"] .page-hero .hero-intro{max-width:none;white-space:nowrap!important;font-size:17px}
  html[lang="ar"] .footer-grid>div:first-child>p{font-size:14px;white-space:nowrap!important}
  html[lang="ar"] body.local-fd-page .page-hero .local-layout{
    grid-template-columns:minmax(0,1fr) minmax(540px,1.15fr);
  }
  html[lang="ar"] body.local-fd-page .page-hero h1.local-title-two-lines{
    max-width:560px!important;
    font-size:30px!important;
    line-height:1.35!important;
    white-space:normal!important;
  }
  html[lang="ar"] body.local-fd-page .practice-summary .meta>div:first-child>span{
    white-space:nowrap!important;
    font-size:15px;
  }
}

@media (min-width:761px){
  html[lang="nl"] body.local-fd-page .page-hero h1.local-title-two-lines{
    max-width:none;
    font-size:34px!important;
    white-space:nowrap!important;
  }
}

/* NL/EN home hero switches to a true tablet composition before either column can overflow. */
@media (min-width:761px) and (max-width:1199px){
  html:is([lang="nl"],[lang="en"]) .home-hero .hero-grid{
    grid-template-columns:minmax(0,1fr);
    gap:24px!important;
  }
}

/* Tablet header/footer: switch before the desktop row becomes crowded. */
@media (max-width:1199px){
  .site-header .main-nav,
  .site-header .header-actions>.btn{display:none !important}
  .site-header .mobile-toggle{display:block !important}
  .site-header .header-actions{margin-inline-start:auto}
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .footer-grid>div:not(:first-child) a,.footer .nowrap-link{white-space:normal!important}
  /* The decorative circle stays clipped inside the CTA; text height remains content-driven. */
  .question-cta{height:auto;min-height:100px!important;overflow:hidden!important}
  .question-cta h2,
  html[lang="nl"] .question-cta h2,
  html[lang="ar"] .question-cta h2,
  html[lang="en"] .question-cta h2,
  .contact-hero p,
  .compact-single-line{white-space:normal!important}
}

/* Stand-alone location pages use the same physical day/time alignment. */
html[lang="ar"] .local-panel .schedule .hours-row{
  display:grid !important;
  direction:ltr!important;
  grid-template-columns:minmax(88px,.34fr) minmax(0,1fr)!important;
  grid-template-areas:"time day";
  column-gap:14px!important;
  align-items:baseline!important;
}
html[lang="ar"] .local-panel .schedule .hours-row>span{
  grid-area:day!important;
  direction:rtl;
  text-align:right !important;
  min-width:0;
}
html[lang="ar"] .local-panel .schedule .hours-row>strong{
  grid-area:time!important;
  direction:ltr;
  unicode-bidi:isolate;
  text-align:center!important;
  white-space:nowrap!important;
}
.local-panel .location-actions .btn{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  text-align:center !important;
}

@media (max-width:1100px) and (min-width:761px){
  .location-card .location-actions,
  .location-option-card .location-option-actions,
  html[lang="ar"] .location-card .location-actions{
    display:grid !important;
    grid-template-columns:1fr;
  }
  .location-card .location-actions .btn,
  .location-option-card .location-option-actions .btn{width:100%;min-width:0}
}

@media (max-width:1000px){
  main .page-hero h1,
  main .home-hero h1{font-size:36px!important}
  main .medical-basis-page .page-hero h1,
  body.medical-basis-page main .page-hero h1{font-size:36px!important;white-space:normal!important}
  .page-hero{padding:38px 0 32px!important}
  .section{padding:42px 0!important}
  .page-hero+.section{padding-top:34px!important}
  .content-wrap{gap:22px!important}
  .question-cta{width:100%;padding:20px 22px!important;gap:14px!important}
  .question-cta .btn{padding-inline:12px!important;font-size:12px}
  html[lang="en"] .question-cta h2{font-size:18px}
  .footer-grid{gap:24px!important}
  .floating-wa{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    position:fixed;
    inset-inline-end:14px;
    bottom:max(14px,env(safe-area-inset-bottom));
    z-index:100;
    max-width:calc(100vw - 28px);
    white-space:nowrap;
  }
}

@media (max-width:480px){
  .floating-wa{
    inset-inline-end:12px;
    bottom:max(12px,env(safe-area-inset-bottom));
    padding:10px 13px;
    font-size:.78rem;
    max-width:calc(100vw - 24px);
  }
}

@media (max-width:760px){
  :root{--space-card-block:16px;--space-card-inline:17px}
  main .page-hero h1,
  main .home-hero h1{font-size:29px!important}
  .page-hero{padding:28px 0 24px!important}
  .page-hero h1{margin:9px 0 10px!important}
  .section{padding:var(--space-section-mobile) 0!important}
  .compact-section{padding:26px 0!important}
  .page-hero+.section{padding-top:28px!important}
  .section-head{gap:9px!important;margin-bottom:18px!important}
  .content>section{padding:20px 0!important}
  .local-panel{padding:16px 17px!important}
  .callout{padding:14px 15px!important;margin:15px 0!important}
  .check-item{padding:11px 13px!important;font-size:14px}
  html[lang="ar"] .content .check-grid{grid-template-columns:1fr!important}
  .info-strip>div{padding:12px 14px!important}
  .location-grid>.location-card,
  .contact-page .location-grid>.location-card{height:auto;padding:16px 17px!important}
  .location-card .schedule,
  .contact-page .location-card .schedule{min-height:0!important;margin-top:14px!important;padding:11px 12px!important}
  .location-card .location-actions,
  .contact-page .location-card .location-actions{margin-top:0 !important;padding-top:16px!important;gap:8px!important}
  html[lang="ar"] .location-card .location-actions{display:grid!important;grid-template-columns:1fr;margin-top:0 !important;padding-top:16px!important}
  .locations-appointments-page .locations-options-grid{gap:12px!important}
  .locations-appointments-page .locations-options-grid>.location-option-card{height:auto;padding:16px 17px!important}
  .locations-appointments-page .location-option-head h2{font-size:25px}
  .locations-appointments-page .location-option-hours{min-height:0!important}
  .question-cta-section{padding:24px 0!important}
  .question-cta{align-items:stretch;height:auto;min-height:160px!important;padding:20px!important;gap:16px!important}
  .question-cta h2,
  html[lang="nl"] .question-cta h2,
  html[lang="ar"] .question-cta h2,
  html[lang="en"] .question-cta h2{font-size:20px;white-space:normal!important}
  .question-cta .btn{width:100%;font-size:13px}
  .brand-text strong,
  .brand-text span{overflow:visible!important;text-overflow:clip}
  html:not([lang="ar"]) .local-panel .schedule .hours-row{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:10px!important;
  }
  html:not([lang="ar"]) .local-panel .schedule .hours-row:last-child>strong{white-space:normal!important}
  .footer{padding:32px 0 18px!important}
  .footer-grid{grid-template-columns:1fr!important}
  .footer-bottom{margin-top:20px!important}
}

/* Compact public Blue / Original Green control beside the language switcher. */
.theme-language-row{
  display:flex;
  align-items:center;
  gap:7px;
  flex:0 0 auto;
  min-width:0;
}
.theme-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 36px;
  width:36px;
  height:36px;
  padding:0;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--soft);
  color:var(--ink);
  cursor:pointer;
  box-shadow:none;
}
.theme-toggle:hover{border-color:var(--brand);background:var(--soft-2)}
.theme-toggle:focus-visible{outline:3px solid color-mix(in srgb,var(--brand) 30%,transparent);outline-offset:2px}
.theme-toggle-swatch{
  width:17px;
  height:17px;
  border:2px solid #fff;
  border-radius:50%;
  background:linear-gradient(135deg,#11749b 0 50%,#0d6b5c 50% 100%);
  box-shadow:0 0 0 1px rgba(18,56,79,.18);
}
.theme-toggle.is-green{background:#eef7f3;border-color:#bfd8d1}
.mobile-nav .theme-language-row{width:max-content;margin-top:8px}
.mobile-nav .theme-language-row .language{margin-top:0}

/* One recognisable warning-signs link treatment in all three languages — in the page text only. DA-19 (29/09/2026): the
   footer and menu links to the same page were given it too, and on the navy footer the brand blue read 2.61:1. */
main .aftercare-warning-link{
  color:var(--brand)!important;
  font-weight:800!important;
  text-decoration:underline!important;
  text-decoration-thickness:1.5px;
  text-underline-offset:3px;
}
main .aftercare-warning-link:hover,
main .aftercare-warning-link:focus-visible{
  color:var(--brand-2)!important;
  text-decoration-thickness:2px;
}
main .aftercare-warning-link:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:3px}

/* Arabic body copy follows the same calm rhythm in equivalent card, CTA and local-summary components. */
html[lang="ar"] .path-item p,
html[lang="ar"] .card p,
html[lang="ar"] .cta p,
html[lang="ar"] .location-option-summary,
html[lang="ar"] .location-option-access p{
  line-height:1.76!important;
}

@media (max-width:760px){
  .header-actions>.theme-language-row{display:none !important}
  .mobile-nav .theme-language-row{display:flex !important}
}

/* Keep the Arabic footer WhatsApp label on one line at tablet/desktop widths. */
@media (min-width:761px){
  html[lang="ar"] .footer-grid>div:last-child>a[href^="https://wa.me/32469451012"]{
    white-space:nowrap!important;
  }
}

/* Final mobile footer clearance: intentionally after every mobile footer shorthand. */
@media (max-width:480px){
  .footer{
    padding-bottom:calc(80px + env(safe-area-inset-bottom))!important;
  }
}

/* Kortenberg official address keeps the public practice address; access line points patients to the parking/entrance. */
.kortenberg-access-note{display:block;margin-top:3px;color:var(--muted,#52636d);font-size:.86em;font-weight:650;line-height:1.35}
.practice-summary .kortenberg-access-note{margin-top:4px;white-space:normal;font-size:.78em;font-weight:650}
.footer .kortenberg-access-note{margin-top:2px;color:#D7E8EF;font-size:.9em;font-style:normal}
html[lang="ar"] .kortenberg-access-note{direction:rtl;text-align:right}

/* Homepage portrait geometry is emitted from cms/seo.php only. */
.home-hero .hero-copy{min-width:0}

/* Keep the short location rows that were single-line before the Kortenberg access note single-line on desktop. */
.location-card .location-actions .phone,
.location-option-card .location-option-actions .phone,
.footer a.phone,
.footer .phone-number{white-space:nowrap!important;word-break:normal;overflow-wrap:normal}
.location-card .schedule .hours-row>strong,
.practice-summary .opening-time{white-space:nowrap!important}
@media (min-width:761px){
  .location-card .location-service{white-space:nowrap!important}
  .location-card .schedule .hours-row>span{white-space:nowrap!important}
}
@media (max-width:760px){
  .home-doctor-summary .doctor-meta{flex-direction:column;gap:6px}
  .home-doctor-summary .doctor-meta-separator{width:28px;height:1px}
  .location-card .location-service{white-space:normal!important}
  .location-card .schedule .hours-row>span{white-space:normal!important}
}

/* Footer clinic columns share one row system above mobile, so the Kortenberg access line cannot shift later rows. */
@media (min-width:761px){
  .footer-locations{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:repeat(5,auto);
    column-gap:28px;
    row-gap:0;
    align-items:start;
  }
  .footer-location,
  .footer-location-details{display:contents !important}

  .footer-location:nth-of-type(1)>h4{grid-column:1;grid-row:1}
  .footer-location:nth-of-type(2)>h4{grid-column:2;grid-row:1}
  .footer-location:nth-of-type(1)>p{grid-column:1;grid-row:2}
  .footer-location:nth-of-type(2)>p{grid-column:2;grid-row:2}
  .footer-location:nth-of-type(1) .footer-detail-row:nth-child(1){grid-column:1;grid-row:3;margin-top:8px}
  .footer-location:nth-of-type(2) .footer-detail-row:nth-child(1){grid-column:2;grid-row:3;margin-top:8px}
  .footer-location:nth-of-type(1) .footer-detail-row:nth-child(2){grid-column:1;grid-row:4;margin-top:9px}
  .footer-location:nth-of-type(2) .footer-detail-row:nth-child(2){grid-column:2;grid-row:4;margin-top:9px}
  .footer-location:nth-of-type(1) .footer-detail-row:nth-child(3){grid-column:1;grid-row:5;margin-top:9px}
  .footer-location:nth-of-type(2) .footer-detail-row:nth-child(3){grid-column:2;grid-row:5;margin-top:9px}
}
@media (min-width:1200px){
  .footer-hours-line,
  .footer-detail-row>a,
  .footer-phone-row>a{
    white-space:nowrap!important;
    word-break:normal;
    overflow-wrap:normal;
  }
}



.ic-consent-banner {
  position: fixed;
  inset-inline: 0;
  bottom: 0;
  z-index: 10000;
  border-top: 1px solid #cfe0e8;
  background: rgba(255, 255, 255, .97);
  box-shadow: 0 -4px 16px rgba(5, 48, 69, .08);
  color: #0b3346;
  backdrop-filter: blur(8px);
}

.ic-consent-banner[hidden],
.ic-consent-modal[hidden] {
  display: none !important;
}

.ic-consent-card {
  width: min(1180px, calc(100% - 32px));
  margin-inline: auto;
  padding: 9px 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
}

.ic-consent-copy h2,
.ic-consent-preferences h2 {
  margin: 0 0 2px !important;
  font-size: 19px !important;
  line-height: 1.25 !important;
}

.ic-consent-copy p,
.ic-consent-option p {
  margin: 0;
  color: #486675;
  font-size: 13.5px !important;
  line-height: 1.42 !important;
}

.ic-consent-privacy {
  display: inline-block;
  margin-top: 3px;
  color: #087fa8;
  font-size: 13px;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.ic-consent-actions,
.ic-consent-preference-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  align-items: center;
}

.ic-consent-actions button,
.ic-consent-preference-actions button {
  min-height: 38px;
  /* DA-19 (29/09/2026): #108eb9 gave white text 3.75:1; #0d7ba1 gives 4.81:1 (WCAG 2.2 1.4.3). */
  border: 1px solid #0d7ba1;
  border-radius: 999px;
  padding: 6px 13px;
  background: #0d7ba1;
  color: #fff;
  font-family: inherit;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  cursor: pointer;
}

.ic-consent-actions button.secondary,
.ic-consent-preference-actions button.secondary {
  background: #fff;
  color: #0b526b;
}

.ic-consent-actions button.text-button {
  border-color: transparent;
  background: transparent;
  color: #0b526b;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.ic-consent-actions button:focus-visible,
.ic-consent-preference-actions button:focus-visible,
.ic-consent-close:focus-visible,
.ic-consent-settings:focus-visible,
.ic-consent-privacy:focus-visible {
  outline: 3px solid #e0a020;
  outline-offset: 3px;
}

.ic-consent-modal {
  position: fixed;
  inset: 0;
  z-index: 10001;
  display: grid;
  place-items: center;
  padding: 16px;
  background: rgba(3, 34, 48, .58);
}

.ic-consent-preferences {
  position: relative;
  box-sizing: border-box;
  width: min(560px, 100%);
  max-height: calc(100dvh - 32px);
  overflow: auto;
  border-radius: 18px;
  background: #fff;
  padding: 18px;
  color: #0b3346;
  box-shadow: 0 16px 44px rgba(0, 0, 0, .24);
}

.ic-consent-close {
  position: absolute;
  inset-block-start: 8px;
  inset-inline-end: 10px;
  width: 38px;
  height: 38px;
  border: 0;
  border-radius: 50%;
  background: #eef6f8;
  color: #0b526b;
  font-family: inherit;
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
}

.ic-consent-preferences h2 {
  padding-inline-end: 44px;
  margin-bottom: 10px !important;
}

.ic-consent-option {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 10px 0;
  border-top: 1px solid #dce8ed;
}

.ic-consent-option strong {
  display: block;
  margin-bottom: 2px;
  font-size: 14px;
}

.ic-consent-option input {
  width: 22px;
  height: 22px;
  accent-color: #108eb9;
}

.ic-consent-preference-actions {
  margin-top: 12px;
}

.ic-consent-settings {
  border: 0;
  background: transparent;
  color: inherit;
  padding: 0;
  font: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}

.ic-consent-modal-open {
  overflow: hidden;
}

@media (max-width: 760px) {
  .ic-consent-card {
    width: min(100% - 24px, 680px);
    grid-template-columns: 1fr;
    gap: 7px;
    padding: 8px 0;
  }

  .ic-consent-copy h2,
  .ic-consent-preferences h2 {
    font-size: 19px !important;
  }

  .ic-consent-copy p,
  .ic-consent-option p {
    font-size: 13px !important;
    line-height: 1.4 !important;
  }

  .ic-consent-actions {
    gap: 7px;
  }

  .ic-consent-actions button {
    flex: 1 1 auto;
    min-height: 42px;
    font-size: 13px;
  }

  .ic-consent-actions button.text-button {
    flex-basis: 100%;
  }

  .ic-consent-preferences {
    padding: 16px 14px;
  }

  .ic-consent-modal {
    padding: 10px;
  }
}

@media (max-width: 380px) {
  .ic-consent-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .ic-consent-actions button.text-button {
    grid-column: 1 / -1;
  }

  .ic-consent-actions button {
    padding-inline: 10px;
  }

  .ic-consent-modal {
    padding: 7px;
  }

  .ic-consent-preferences {
    max-height: calc(100dvh - 14px);
  }
}

