/* ==========================================================================
   Mother Hospitals — Design Layer
   Loaded last on every page. Gives all page templates one consistent
   visual system: tokens, type scale, spacing, surfaces, buttons, chrome.
   ========================================================================== */

/* 1 · Tokens ------------------------------------------------------------- */
:root{
  --purple:#58037c;--purple-mid:#6e0f99;--purple-dark:#3d0256;
  --purple-light:#e8d5f5;--purple-pale:#f7f3fa;--purple-border:#eadcf2;
  --magenta:#aa045a;--magenta-light:#f7d0e8;
  --white:#fff;--cream:#fff;--bg-brand:#f7f3fa;--off-white:#f7f3fa;--pale:#f7f3fa;
  --text:#1e0a2e;--text-mid:#4a2d5e;--text-soft:#6b4d7f;--grey:#6b4d7f;
  --gold:#7f651e;--gold-light:#f6efd9;

  /* Legacy names used by older templates but never defined */
  --navy:#1c0430;--teal:var(--purple);--teal-mid:var(--purple-mid);--teal-light:var(--purple-pale);
  --rose:var(--magenta);--rose-light:#fbe9f2;--accent2:var(--magenta);
  --sage:var(--purple-mid);--sage-mid:var(--purple-mid);--sage-light:var(--purple-pale);
  --amber:#8a5200;--amber-mid:#b86e00;--amber-light:#fff6e6;
  --radius:16px;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--radius-xl:24px;
  --shadow:0 1px 2px rgba(30,10,46,.04),0 10px 30px rgba(30,10,46,.06);
  --nav-h:76px;

  /* System */
  --mh-hair:rgba(30,10,46,.09);
  --mh-surface-2:#f7f3fa;
  --mh-r-sm:12px;--mh-r:18px;--mh-r-lg:26px;
  --mh-shadow:0 1px 2px rgba(30,10,46,.04),0 10px 30px rgba(30,10,46,.06);
  --mh-shadow-hover:0 2px 6px rgba(30,10,46,.05),0 20px 44px rgba(30,10,46,.10);
  --mh-ease:cubic-bezier(.25,.1,.25,1);
  --mh-hero:linear-gradient(160deg,#1c0430 0%,#2c0a4c 58%,#470640 100%);
  --mh-hero-accent:#f6c4e1;
  --mh-wa:#14833f;
}

/* 2 · Base --------------------------------------------------------------- */
html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
body{background:#fff;color:var(--text)}
::selection{background:var(--purple-light);color:var(--text)}
a.logo-wrap,a.logo-wrap *{text-decoration:none}
img{height:auto}

h1,h2{font-family:var(--font-d)!important;letter-spacing:-.012em}
h1{line-height:1.08}
h2{line-height:1.15}
h3,h4{line-height:1.3}
p{text-wrap:pretty}
h1,h2,h3{text-wrap:balance}

/* 3 · Top bar ------------------------------------------------------------ */
.top-bar{font-size:.75rem;padding:.42rem 5%;letter-spacing:.01em;background:var(--purple)}
@media(max-width:768px){
  .top-bar{font-size:0;padding:.38rem 4%;justify-content:center;gap:0}
  .top-bar>span:first-child{display:none}
  .top-bar a[href^="mailto"]{display:none}
  .top-bar a[href^="tel"]{font-size:.8rem;font-weight:500}
}

/* 4 · Navigation --------------------------------------------------------- */
nav.main-nav{background:rgba(255,255,255,.86);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--mh-hair);box-shadow:none}
nav.main-nav .nav-wrap{height:var(--nav-h)}
nav.main-nav .logo-img{width:54px;height:54px}
nav.main-nav .logo-name{font-size:1.4rem;line-height:1.1;color:var(--purple)}
nav.main-nav .logo-sub{font-size:.7rem;letter-spacing:.14em;color:var(--text-soft)}
nav.main-nav .nav-links a{font-size:.875rem;font-weight:500;color:var(--text);letter-spacing:0}
nav.main-nav .nav-links a:hover{color:var(--purple);background:var(--purple-pale)}
nav.main-nav .nav-links .btn-free{background:transparent!important;color:var(--text)!important;padding:.35rem .7rem!important;font-weight:500!important;font-size:.875rem!important;box-shadow:none}
nav.main-nav .nav-links .btn-free:hover{background:var(--purple-pale)!important;color:var(--purple)!important}
nav.main-nav .nav-links .btn-nav{background:var(--purple)!important;box-shadow:none!important;padding:.55rem 1.15rem!important;font-weight:600!important;font-size:.84rem!important}
nav.main-nav .nav-links .btn-nav:hover{background:var(--purple-mid)!important;transform:none}
nav.main-nav .mob-menu{position:absolute;top:100%;left:0;right:0;max-height:calc(100vh - var(--nav-h));overflow-y:auto;background:#fff}
.mob-menu a{color:var(--text);font-size:1rem;border-bottom-color:var(--mh-hair)}

/* 5 · Trust bar ---------------------------------------------------------- */
.trust-bar{background:var(--mh-surface-2);border-bottom:1px solid var(--mh-hair);box-shadow:none}
.trust-inner{height:40px}
.trust-item{font-size:.74rem;font-weight:500;color:var(--text-mid);border-right-color:var(--mh-hair)}
.trust-item>span{filter:grayscale(1);opacity:.65;font-size:.8rem}

/* 6 · Dark heroes (service & location pages) ----------------------------- */
body .page-hero,body .hero:not(.hero-light){background:var(--mh-hero);color:#fff}
body .page-hero{padding:clamp(56px,7vw,96px) 5% clamp(48px,6vw,80px)}
body .page-hero h1,body .page-hero .hero-h1,body .page-hero .page-h1,body .hero:not(.hero-light) h1{color:#fff;font-size:clamp(2rem,4.2vw,3.4rem);font-weight:700;line-height:1.08;letter-spacing:-.015em;margin-bottom:1rem}
body .page-hero h1 em,body .page-hero .hero-h1 em,body .page-hero .page-h1 em,body .hero:not(.hero-light) h1 em,
body .page-hero h1 .her,body .hero:not(.hero-light) h1 .her{color:var(--mh-hero-accent)!important;-webkit-text-fill-color:var(--mh-hero-accent)!important;background:none!important;font-style:italic}
body .page-hero p,body .page-hero .page-sub,body .page-hero .hero-sub,body .hero:not(.hero-light) .hero-sub{color:rgba(255,255,255,.82)!important;font-size:clamp(1rem,1.3vw,1.125rem);line-height:1.7;max-width:660px}
body .page-hero .breadcrumb,body .page-hero .breadcrumb a{color:rgba(255,255,255,.62)}
body .page-hero .hero-badge,body .hero:not(.hero-light) .hero-badge{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);color:#fff}
.hero:not(.hero-light) .hero-chip{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);color:#fff;font-weight:500}

/* Text-only inner heroes stack in one column (photo heroes keep their grid) */
body .hero:not(.hero-light)>.hero-inner:not(:has(img)){display:block;max-width:900px}
body .hero:not(.hero-light) .hero-badge{display:inline-block;margin-bottom:1.1rem}
body .hero:not(.hero-light) .hero-chips{margin:1.4rem 0 1.6rem}

/* Hero-less templates: give the opening section a light header band */
body section.section:has(>.section-inner>h1:first-child){background:linear-gradient(180deg,#f7f3fa 0,#fff 440px)!important;padding-top:clamp(48px,6vw,88px)!important}
body section.section:has(>.section-inner>h1:first-child) h1{font-size:clamp(2.1rem,4.2vw,3.3rem);line-height:1.08;color:var(--text);margin-bottom:clamp(24px,3.5vw,40px)}
body section.section h1 em{color:var(--purple);font-style:italic}

/* Doctor strip inside heroes: one consistent glass card */
body .page-hero .dr-strip,body .hero:not(.hero-light) .dr-strip{background:rgba(255,255,255,.07)!important;border:1px solid rgba(255,255,255,.16)!important;border-radius:var(--mh-r);box-shadow:none}
body .page-hero .dr-strip *,body .hero:not(.hero-light) .dr-strip *{color:#fff}
body .page-hero .dr-strip p,body .page-hero .dr-strip .dr-info p,body .page-hero .dr-strip small{color:rgba(255,255,255,.75)!important}
/* Badges and stat figures that were designed for light headers */
body .page-hero .badge,body .page-hero .distance-pill{background:rgba(255,255,255,.1)!important;border:1px solid rgba(255,255,255,.22)!important;color:#fff!important}
body .hero:not(.hero-light) .stat-box strong{color:#f1d58a!important}
body .hero:not(.hero-light) .stat-box span{color:rgba(255,255,255,.75)!important}

/* 7 · Light heroes (articles & blog) ------------------------------------- */
body .article-hero,body .blog-hero{background:linear-gradient(180deg,#f7f3fa 0%,#fff 100%);padding:clamp(48px,6vw,88px) 5% clamp(32px,4vw,56px)}
body .article-hero h1,body .blog-hero h1,h1.article-title{font-size:clamp(2rem,3.8vw,3.1rem);font-weight:700;line-height:1.1;color:var(--text);letter-spacing:-.015em}
body .article-hero h1 em,body .blog-hero h1 em{color:var(--purple);font-style:italic;-webkit-text-fill-color:currentColor;background:none}
.article-meta,.blog-sub{color:var(--text-soft)}
body :is(.article-hero,.blog-hero) .page-sub{color:var(--text-mid)!important}
body .page-sub:not(:is(.page-hero,.hero:not(.hero-light),section[style*="#2d1b3d"],.cta-box,.cta-section.is-dark) .page-sub){color:var(--text-mid)!important}
body .blog-hero .blog-meta,body .blog-hero .blog-meta *,body .article-hero .article-meta *{color:var(--text-soft)!important}
.article-hero .tag,.blog-hero .tag{background:#fff;border:1px solid var(--mh-hair);color:var(--text-mid);font-weight:500}

/* 8 · Article reading column --------------------------------------------- */
body .article-body{max-width:760px;margin-left:auto;margin-right:auto;padding-left:clamp(20px,4vw,24px);padding-right:clamp(20px,4vw,24px);font-size:1.0625rem;line-height:1.75;color:var(--text)}
body .blog-main .article-body{padding-left:0;padding-right:0}
body .article-body>p,body .article-body>ul>li,body .article-body>ol>li{font-size:1.0625rem;line-height:1.75}
body .article-body>h2{font-size:clamp(1.55rem,2.6vw,2rem);border-bottom:none;padding-bottom:0;margin:2.6rem 0 .9rem}
body .article-body>h3{font-family:var(--font-b);font-size:1.15rem;font-weight:600;margin:1.8rem 0 .6rem}
body .article-body>ul,body .article-body>ol{padding-left:1.4rem;margin:.6rem 0 1.2rem}
body .article-body>:is(p,ul,ol) a:not([class]){text-decoration:underline;text-decoration-color:rgba(88,3,124,.3);text-underline-offset:3px}
body .article-body>:is(p,ul,ol) a:not([class]):hover{text-decoration-color:currentColor}
body .article-body table{font-size:.95rem}
/* Headings placed directly inside dark, white-text boxes stay white */
body [style*="color:#fff"]>:is(h2,h3,h4),body [style*="color: #fff"]>:is(h2,h3,h4),body [style*="color:white"]>:is(h2,h3,h4){color:#fff!important}
body .article-hero+.direct-answer,body .blog-hero+.direct-answer{width:min(712px,calc(100% - 40px))!important}
.blog-layout{max-width:820px}
.author-box{background:var(--mh-surface-2);border:1px solid var(--mh-hair);border-radius:var(--mh-r)}

/* 9 · Sections & containers ---------------------------------------------- */
.section-label{font-size:.75rem;font-weight:600;letter-spacing:.14em;color:var(--magenta)}
body .section-title{font-size:clamp(1.9rem,3.4vw,2.75rem);font-weight:700;line-height:1.12;color:var(--text)}
body .section-title em{color:var(--purple);-webkit-text-fill-color:currentColor;background:none}
.section-sub{font-size:1.0625rem;line-height:1.7;color:var(--text-mid)}
.section-inner,.container,.wrapper,.section-wrap{max-width:1160px;margin-left:auto;margin-right:auto}
/* FAQ items that an older script appended outside the content column */
.section>.faq-item,.faq-section>.faq-item{max-width:1160px;margin-left:auto;margin-right:auto}
/* Blog index: label aligned with the article grid */
.hero-light+.section-label{max-width:1240px;margin:clamp(36px,5vw,56px) auto 0;padding:0 5%}
/* Contact page grid */
.contact-grid{width:min(1160px,calc(100% - 40px));margin:clamp(32px,5vw,56px) auto;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.contact-card{border:1px solid var(--mh-hair)!important;border-radius:var(--mh-r)!important;box-shadow:var(--mh-shadow)}
@media(max-width:860px){.contact-grid{grid-template-columns:1fr}}

/* 10 · Summary / quick-answer box ---------------------------------------- */
.direct-answer,.quick-answer,.answer-box{background:var(--mh-surface-2)!important;border:1px solid var(--mh-hair)!important;border-left:1px solid var(--mh-hair)!important;border-radius:var(--mh-r)!important;padding:1.25rem 1.5rem!important;color:var(--text-mid);font-size:1rem;line-height:1.7;box-shadow:none!important}
.direct-answer{width:min(1080px,calc(100% - 40px));max-width:none!important;margin:clamp(24px,4vw,40px) auto!important}
.direct-answer strong:first-child,.qa-label{color:var(--purple)}

/* 11 · Cards & surfaces -------------------------------------------------- */
.card,.content-card,.cause-card,.cond-card,.svc-card,.service-card,.treatment-card,.type-card,.step-card,.col-card,.review-card,.sidebar-card,.price-card,.info-card,.why-card,.feature-card{
  background:#fff;border:1px solid var(--mh-hair);border-radius:var(--mh-r);box-shadow:var(--mh-shadow);transition:box-shadow .3s var(--mh-ease),transform .3s var(--mh-ease)}
a.card:hover,a.content-card:hover,.card:hover,.svc-card:hover,.service-card:hover,.treatment-card:hover{box-shadow:var(--mh-shadow-hover);transform:translateY(-2px)}
.related-card,.rel-card,.related-link,.rel-link{background:#fff;border:1px solid var(--mh-hair);border-radius:var(--mh-r-sm);box-shadow:none}
.related-card:hover,.rel-card:hover{border-color:rgba(88,3,124,.35);box-shadow:var(--mh-shadow);transform:translateY(-1px)}
.highlight-box,.info-box,.heart-box,.hope-box,.voice-box{background:var(--mh-surface-2);border:1px solid var(--mh-hair);border-left-width:1px;border-radius:var(--mh-r)}
.warn-box,.warning-box{border-radius:var(--mh-r)}
/* Step cards are the positioning context for their watermark numerals */
:has(>.step-num){position:relative}

/* 12 · Buttons ----------------------------------------------------------- */
.btn-primary,.btn-call,.btn-secondary,.btn-wa,.btn-white,.btn-outline,.btn-wa-white,.btn-wa-cta,.btn-outline-w,.btn-outline-light{border-radius:999px;font-weight:600;letter-spacing:0;transition:background-color .2s var(--mh-ease),color .2s var(--mh-ease),box-shadow .2s var(--mh-ease),transform .2s var(--mh-ease)}
.btn-primary,.btn-call{background:var(--purple);color:#fff;box-shadow:none;border:none}
.btn-primary:hover,.btn-call:hover{background:var(--purple-mid);transform:none;box-shadow:0 6px 18px rgba(88,3,124,.25)}
.btn-wa,.btn-wa-cta{background:var(--mh-wa);color:#fff;border:none}
.btn-wa:hover,.btn-wa-cta:hover{background:#0f6e34;transform:none}
.btn-secondary{border:1.5px solid rgba(88,3,124,.45);color:var(--purple)}
/* On dark heroes: Apple-style white primary + glass secondary */
body .page-hero .btn-primary,body .page-hero .btn-call,body .hero:not(.hero-light) .btn-call,body .hero:not(.hero-light) .btn-primary{background:#fff!important;color:var(--purple)!important;border:none!important;box-shadow:none!important}
body .page-hero .btn-primary:hover,body .page-hero .btn-call:hover{background:#f3eaf8!important}
body .page-hero .btn-secondary,body .page-hero .btn-outline-w,body .page-hero .btn-outline-light,body .hero:not(.hero-light) .btn-secondary,body .hero:not(.hero-light) .btn-outline-w,body .hero:not(.hero-light) .btn-outline-light{background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.4)!important;color:#fff!important}

/* 13 · FAQ --------------------------------------------------------------- */
.faq-section details,.faq-item,.faq-list details{border:1px solid var(--mh-hair);border-radius:var(--mh-r-sm);background:#fff;overflow:hidden}
.faq-section summary,.faq-q,.faq-item summary,.faq-list details summary{background:#fff;color:var(--text);font-weight:600;font-size:1rem;padding:1.1rem 1.35rem}
.faq-section details[open]>summary,.faq-item[open]>summary,.faq-list details[open]>summary{background:#fff;color:var(--purple);border-bottom:1px solid var(--mh-hair);border-radius:0}
.faq-body,.faq-a,.faq-answer{background:#fff;color:var(--text-mid);font-size:.975rem;line-height:1.75;border-top:none}

/* 14 · Dark containers ------------------------------------------------- */
/* Heroes, CTA bands and any box a page designed with white text (.is-dark) */
.cta-box,.cta-section .cta-inner{border-radius:var(--mh-r-lg)}
body :is(.cta-box,.cta-section.is-dark,.highlight-box.is-dark,.info-box.is-dark){background:var(--mh-hero)!important;color:#fff;border-color:transparent!important}
body :is(.page-hero,.hero:not(.hero-light),.cta-box,.cta-strip,.timeline-bar,.stats-bar,.cta-section.is-dark,.highlight-box.is-dark,.info-box.is-dark,.m9-box,section[style*="#2d1b3d"]) :is(h2,h3,h4):not(:is(.page-hero,.hero:not(.hero-light),.cta-box,.cta-strip,.timeline-bar,.stats-bar,.cta-section.is-dark,.highlight-box.is-dark,.info-box.is-dark,.m9-box,section[style*="#2d1b3d"]) :is(a,button,[class*="card"],[class*="form"],[style*="background:#fff"],[style*="background: #fff"],[style*="background:white"]) *){color:#fff!important}
body :is(.page-hero,.hero:not(.hero-light),.cta-box,.cta-strip,.timeline-bar,.stats-bar,.cta-section.is-dark,.highlight-box.is-dark,.info-box.is-dark,.m9-box) :is(p,li):not(:is(.page-hero,.hero:not(.hero-light),.cta-box,.cta-strip,.timeline-bar,.stats-bar,.cta-section.is-dark,.highlight-box.is-dark,.info-box.is-dark,.m9-box) :is(a,button,[class*="card"],[class*="form"],[style*="background:#fff"],[style*="background: #fff"],[style*="background:white"]) *){color:rgba(255,255,255,.86)}
body :is(.cta-box,.cta-strip,.timeline-bar,.cta-section.is-dark,.highlight-box.is-dark,.info-box.is-dark) :is(strong,b){color:inherit!important}
body :is(.cta-box,.cta-strip,.cta-section.is-dark,.highlight-box.is-dark,.info-box.is-dark) a:not([class]):not([style*="background"]):not(.cta-box>a){color:#fff!important;text-decoration:underline;text-underline-offset:3px}
body .cta-box>a:not([class]){display:inline-flex;align-items:center;gap:.4rem;background:#fff;color:var(--purple)!important;padding:.8rem 1.6rem;border-radius:999px;font-weight:600;text-decoration:none!important;margin-top:.4rem}
body :is(.page-hero,.hero:not(.hero-light),section[style*="#2d1b3d"]) :is(.page-label,.hero-label,.eyebrow,.trust-chip){background:rgba(255,255,255,.1)!important;border:1px solid rgba(255,255,255,.22)!important;color:#fff!important}

/* 15 · Sticky contact bars ----------------------------------------------- */
/* Desktop: no full-width fixed bars; WhatsApp stays in the nav + float button */
@media(min-width:769px){
  .sticky-cta,.sticky-mob,.mob-sticky,.sticky-bar{display:none!important}
}
/* Mobile: exactly one bottom bar */
@media(max-width:768px){
  body:has(.mob-cta-bar) .sticky-cta,body:has(.mob-cta-bar) .sticky-mob,body:has(.mob-cta-bar) .mob-sticky,body:has(.mob-cta-bar) .sticky-bar{display:none!important}
  body:has(.mob-cta-bar) .wa-float{display:none!important}
  .mob-cta-bar{background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--mh-hair);box-shadow:0 -6px 24px rgba(30,10,46,.06)}
  .mob-cta-bar-inner{gap:8px;padding:8px 10px calc(8px + env(safe-area-inset-bottom));height:auto}
  .mob-cta-btn{border-radius:12px;border:none;min-height:48px;font-size:.78rem;font-weight:600;letter-spacing:.01em}
  .mob-cta-call{background:var(--purple)}
  .mob-cta-wa{background:var(--mh-wa)}
  .mob-cta-book{background:var(--mh-surface-2);color:var(--purple)}
  body:has(.mob-cta-bar){padding-bottom:calc(72px + env(safe-area-inset-bottom))}
}

/* 16 · Footer ------------------------------------------------------------ */
footer .fl-img{width:42px;height:42px}
.mh-footnote{max-width:1160px;margin:0 auto;padding:28px 5% 32px;border-top:1px solid var(--mh-hair);text-align:center;color:var(--text-soft);font-size:.85rem;line-height:1.7}
.mh-footnote p+p{margin-top:.35rem}
.mh-footnote a{color:var(--purple)}
.mh-disclaimer{font-size:.8rem;font-style:italic}

/* 17 · Components that appear on both light and dark backgrounds --------- */
/* Doctor card and stat boxes: white card on light pages */
body .dr-strip:not(:is(.page-hero,.hero:not(.hero-light),.cta-box,.cta-section.is-dark) .dr-strip){background:#fff!important;border:1px solid var(--mh-hair)!important;border-radius:var(--mh-r)!important;box-shadow:var(--mh-shadow)!important;color:var(--text)!important}
body .dr-strip:not(:is(.page-hero,.hero:not(.hero-light),.cta-box,.cta-section.is-dark) .dr-strip) :is(h2,h3,h4,.dr-name,.dr-info strong){color:var(--text)!important}
body .dr-strip:not(:is(.page-hero,.hero:not(.hero-light),.cta-box,.cta-section.is-dark) .dr-strip) :is(p,small,span:not([class*="btn"])):not(a *){color:var(--text-mid)!important}
body .stat-box:not(:is(.page-hero,.hero:not(.hero-light),.cta-box,.cta-section.is-dark,.stats-bar) .stat-box){background:#fff!important;border:1px solid var(--mh-hair)!important;border-radius:var(--mh-r)!important;box-shadow:var(--mh-shadow)!important;color:var(--text)!important}
body .stat-box:not(:is(.page-hero,.hero:not(.hero-light),.cta-box,.cta-section.is-dark,.stats-bar) .stat-box) :is(.stat-num,.stat-number,strong){color:var(--purple)!important;-webkit-text-fill-color:currentColor!important;background:none!important}
body .stat-box:not(:is(.page-hero,.hero:not(.hero-light),.cta-box,.cta-section.is-dark,.stats-bar) .stat-box) :is(.stat-label,span,small){color:var(--text-mid)!important}
/* ...and glass on dark headers, CTA bands and stat bars */
body :is(.page-hero,.hero:not(.hero-light),.cta-box,.cta-section.is-dark,.stats-bar) :is(.stat-box,.stat-item,.hero-stats){background:rgba(255,255,255,.07)!important;border:1px solid rgba(255,255,255,.16)!important;box-shadow:none!important}
body :is(.page-hero,.hero:not(.hero-light),.cta-box,.cta-section.is-dark,.stats-bar) :is(.stat-num,.stat-number){color:#fff!important;-webkit-text-fill-color:#fff!important;background:none!important}
body :is(.page-hero,.hero:not(.hero-light),.cta-box,.cta-section.is-dark,.stats-bar) :is(.stat-label,.stat-lbl){color:rgba(255,255,255,.75)!important}
body :is(.cta-box,.cta-section.is-dark) .dr-strip :is(h3,h4,p,span){color:#fff!important}
/* Buttons inside dark containers: white primary, glass secondary */
body :is(.cta-box,.cta-strip,.cta-section.is-dark,.highlight-box.is-dark,.stats-bar,section[style*="#2d1b3d"]) :is(.btn-primary,.btn-call,.btn-white){background:#fff!important;color:var(--purple)!important;border:none!important}
body :is(.page-hero,.hero:not(.hero-light),.cta-box,.cta-strip,.cta-section.is-dark,.highlight-box.is-dark,section[style*="#2d1b3d"]) :is(.btn-secondary,.btn-outline,.btn-outline-w,.btn-outline-light,.btn-video){background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.4)!important;color:#fff!important}
/* A purple-text primary button on a light section becomes the white variant */
.btn-primary[style*="color:var(--purple)"]{background:#fff!important;border:1px solid rgba(88,3,124,.25)!important}
/* One accessible WhatsApp green everywhere */
.btn-wa,.btn-wa2,.btn-wa-cta,.sticky-wa,a.wa,.nri-wa,.s-wa,.ms-wa,.cta-btns .wa,.sticky-mob .wa,a[style*="background:#25D366"],a[style*="background:#25d366"],a[style*="background: #25D366"],a[style*="background: #25d366"]{background:var(--mh-wa)!important;color:#fff!important}
body .m9-box :is(p,span):not(a *){color:#fff!important}
/* Section subtitles written for dark bands, used on light sections */
body .section-sub:not(:is(.page-hero,.hero:not(.hero-light),.cta-box,.cta-section.is-dark,.stats-bar,section[style*="#2d1b3d"]) .section-sub){color:var(--text-mid)!important}
/* Review stars: darker amber that stays readable on white */
p[style*="color:#f59e0b"]{color:#9a6100!important}

/* 18 · Inline-styled location templates ---------------------------------- */
/* Their styles live in style="" attributes, so they are matched by pattern. */
section[style*="#2d1b3d"]{background:var(--mh-hero)!important}
section[style*="linear-gradient(150deg,#2d1b3d"]{padding:clamp(56px,7vw,96px) 5% clamp(48px,6vw,80px)!important}
section[style*="linear-gradient(150deg,#2d1b3d"] h1{font-size:clamp(2rem,4.2vw,3.2rem)!important;line-height:1.1!important;letter-spacing:-.015em;margin-bottom:1.1rem!important}
section[style*="linear-gradient(150deg,#2d1b3d"] h1 em{color:var(--mh-hero-accent)!important;font-style:italic!important;display:block;font-size:.62em;margin-top:.45rem;line-height:1.25}
section[style*="#2d1b3d"] a[style*="background:#aa045a"]{background:#fff!important;color:var(--purple)!important}
section[style*="padding:3rem 5%"]:not([style*="#2d1b3d"]){padding:clamp(56px,7vw,96px) 5%!important}
section[style*="background:#f8f4ff"],section[style*="background:#fff2ff"],section[style*="linear-gradient(135deg,#f5edfb 0%,#fff2ff"]{background:var(--mh-surface-2)!important}
section[style*="border-top:3px solid var(--purple)"]{border-top:1px solid var(--mh-hair)!important;border-bottom-color:var(--mh-hair)!important}
h2[style*="font-size:clamp(1.5rem,3vw,2rem)"],h2[style*="font-size:1.6rem"],h2[style*="font-size:clamp(1.4rem,3vw,2rem)"]{font-size:clamp(1.75rem,3vw,2.4rem)!important;line-height:1.15!important;margin-bottom:1.6rem!important}
div[style*="border-radius:14px"][style*="border-left:4px solid var(--"]{border:1px solid var(--mh-hair)!important;border-radius:var(--mh-r)!important;box-shadow:var(--mh-shadow);padding:1.5rem!important}
h3[style*="font-size:0.98rem"]{font-size:1.05rem!important;font-weight:600!important;line-height:1.35!important}
p[style*="color:var(--text-mid);font-size:0.88rem;line-height:1.7"]{font-size:.95rem!important;line-height:1.65!important}
details[style*="border:1px solid #e8d5f0"]{border-color:var(--mh-hair)!important;background:#fff}
details[style*="border:1px solid #e8d5f0"]>summary{color:var(--text)!important;font-size:1rem}
details[style*="border:1px solid #e8d5f0"][open]>summary{color:var(--purple)!important}
iframe[style*="border-radius:12px"]{border-radius:var(--mh-r)!important;box-shadow:var(--mh-shadow)!important}

/* 19 · Motion preference ------------------------------------------------- */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* 20 · Small screens ----------------------------------------------------- */
@media(max-width:768px){
  .two-col,.main,.contact-grid{grid-template-columns:minmax(0,1fr)!important}
  :is(.two-col,.main,.contact-grid,[class*="grid"],[style*="display:grid"])>*{min-width:0}
  [style*="grid-template-columns:repeat(4,1fr)"],[style*="grid-template-columns:repeat(3,1fr)"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  [style*="grid-template-columns:1fr 1fr"],[style*="grid-template-columns: 1fr 1fr"],[style*="grid-template-columns:repeat(2,1fr)"]{grid-template-columns:minmax(0,1fr)!important}
  .contact-value,.footer-emergency a{overflow-wrap:anywhere}
  .article-body table,.blog-body table,table.comparison-table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
}

/* 21 · Festival & national-day ribbon (assets/js/seasonal-banner.js) ------ */
.mh-season{--sa:#ffb76b;--sb:#ffffff;--sc:#7ee29a;position:relative;overflow:hidden;color:#fff;background:linear-gradient(115deg,#14012b 0%,#2c0a4c 55%,#1d0638 100%);animation:mhSeasonIn .6s var(--mh-ease) both}
.mh-season::before,.mh-season::after{content:'';position:absolute;left:0;right:0;background:linear-gradient(90deg,var(--sa),var(--sb),var(--sc))}
.mh-season::before{top:0;height:3px}
.mh-season::after{bottom:0;height:2px;opacity:.55}
.mh-season--tricolor{background:linear-gradient(115deg,#14012b 0%,#2c0a4c 52%,#0d2a1a 100%)}
.mh-season--tricolor::before,.mh-season--tricolor::after{background:linear-gradient(90deg,#ff9933 0 33.33%,#fff 33.33% 66.66%,#138808 66.66% 100%)}
.mh-season--diya{--sa:#ff9f43;--sb:#ffe08a;--sc:#ffb347}
.mh-season--dasara{--sa:#ffcf6b;--sb:#ff9f68;--sc:#ff7b8a}
.mh-season--bathukamma{--sa:#ff8cc6;--sb:#ffe066;--sc:#8ce99a}
.mh-season--sankranti{--sa:#ffc078;--sb:#ffe066;--sc:#8fd3ff}
.mh-season--ugadi{--sa:#a9e34b;--sb:#ffe066;--sc:#ffa94d}
.mh-season--ganesha{--sa:#ffa94d;--sb:#ffe08a;--sc:#ff8787}
.mh-season--rama{--sa:#ff9933;--sb:#ffd8a8;--sc:#ffb347}
.mh-season--lakshmi{--sa:#ffd43b;--sb:#ffc9de;--sc:#ffb347}
.mh-season--rakhi{--sa:#ff9cbd;--sb:#ffe08a;--sc:#d0a8ff}
.mh-season--krishna{--sa:#74c0fc;--sb:#96f2d7;--sc:#ffe066}
.mh-season--shiva{--sa:#a5b4ff;--sb:#e5dbff;--sc:#8fd3ff}
.mh-season--holi{--sa:#ff8cc6;--sb:#ffe066;--sc:#74c0fc}
.mh-season--eid{--sa:#63e6be;--sb:#fff3bf;--sc:#ffd43b}
.mh-season--christmas{--sa:#ff8787;--sb:#fff3bf;--sc:#8ce99a}
.mh-season--newyear{--sa:#ffd43b;--sb:#ffffff;--sc:#e599f7}
.mh-season--tangedu{--sa:#ffd43b;--sb:#ffe8a3;--sc:#ff9cbd}
.mh-season--bonalu{--sa:#ffd43b;--sb:#ff8787;--sc:#8ce99a}
.mh-season--womens{--sa:#e599f7;--sb:#ffffff;--sc:#8ce99a}
.mh-season--mothers{--sa:#ffa8c5;--sb:#ffe3e3;--sc:#ffc078}
.mh-season--doctors{--sa:#74c0fc;--sb:#ffffff;--sc:#63e6be}
.mh-season--ivf{--sa:#f783ac;--sb:#ffffff;--sc:#b197fc}
.mh-season--girlchild{--sa:#ffa8c5;--sb:#ffffff;--sc:#d0bfff}
.mh-season--health{--sa:#63e6be;--sb:#ffffff;--sc:#74c0fc}
.mh-season--fathers{--sa:#74c0fc;--sb:#e7f5ff;--sc:#ffd43b}
.mh-season--kids{--sa:#ffd43b;--sb:#ff8787;--sc:#74c0fc}
.mh-season-inner{position:relative;max-width:1160px;margin:0 auto;padding:13px 60px 13px 20px;display:flex;align-items:center;justify-content:center;gap:14px;text-align:center}
.mh-season-text{margin:0;font-size:.95rem;line-height:1.5;color:#fff}
.mh-season-title{font-weight:700;letter-spacing:.01em;background:linear-gradient(90deg,var(--sa) 0%,var(--sb) 50%,var(--sc) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.mh-season-native{font-weight:600;color:#fff;unicode-bidi:isolate}
.mh-season-sep{margin:0 .45rem;opacity:.5}
.mh-season-msg{color:rgba(255,255,255,.88)}
.mh-season-sig{color:rgba(255,255,255,.6);font-size:.82rem;white-space:nowrap}
.mh-season-icon{flex:none;font-size:1.35rem;line-height:1;animation:mhSeasonWave 2.6s ease-in-out infinite}
.mh-season-chakra{display:inline-flex;flex:none;background:#fff;border-radius:50%;padding:3px;color:#06038d;box-shadow:0 0 0 3px rgba(255,255,255,.12)}
.mh-season-chakra svg{display:block;animation:mhSeasonSpin 12s linear infinite}
.mh-season-shine{position:absolute;inset:0;background:linear-gradient(100deg,transparent 35%,rgba(255,255,255,.09) 50%,transparent 65%);transform:translateX(-100%);animation:mhSeasonShine 5s ease-in-out infinite;pointer-events:none}
.mh-season-close{position:absolute;right:14px;top:50%;transform:translateY(-50%);width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.08);color:#fff;font-size:1.05rem;line-height:1;cursor:pointer;transition:background .2s var(--mh-ease)}
.mh-season-close:hover{background:rgba(255,255,255,.2)}
@keyframes mhSeasonIn{from{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:none}}
@keyframes mhSeasonShine{0%{transform:translateX(-100%)}55%,100%{transform:translateX(100%)}}
@keyframes mhSeasonSpin{to{transform:rotate(360deg)}}
@keyframes mhSeasonWave{0%,100%{transform:rotate(0)}50%{transform:rotate(-8deg) scale(1.08)}}
@media(max-width:600px){
  .mh-season-inner{padding:11px 50px 11px 14px;gap:10px}
  .mh-season-text{font-size:.85rem}
  .mh-season-sig,.mh-season-chakra{display:none}
  .mh-season.has-native .mh-season-msg{display:none}
  .mh-season-native{display:block}
  .mh-season-sep{display:none}
}

/* 404 */
.error-wrap a.btn-primary{color:#fff!important}
