/* =====================================================================
   Soft theme, site-wide (client approved 24/09/2026: "the purple change on the
   home page should be applied to all pages"). Loaded last on every page.
   Dusty plum for text, buttons and accents; lavender for large areas; white
   header; soft white scrolled pill; lavender footer with a plum bottom bar.
   ===================================================================== */
:root{
  --soft-plum:#553f63; --soft-plum-2:#7a6390; --soft-violet:#a58bbb;
  --soft-lav:#f3edf7; --soft-lav-2:#e7ddef; --soft-lilac:#d4c5e3; --soft-mist:#faf7fc;
  --soft-ink:#3f3346; --soft-body:#62576a; --soft-gold:#8c6a2c;
  /* the old saturated brand purple, remapped */
  --brand:#553f63; --brand-dk:#43304f; --brand-700:#3f2f48;
  --brand-50:#faf7fc; --brand-100:#f3edf7; --brand-200:#e7ddef;
}

/* ---------- header: white bar, plum text ---------- */
html body .site-header:not(.is-floating){ background:rgba(255,255,255,.97) !important; border-bottom:1px solid var(--soft-lav-2) !important;
  box-shadow:none !important; backdrop-filter:none !important; -webkit-backdrop-filter:none !important; }
html body .site-header .brand-logo-dark, html body .site-header .brand-logo-pill{ display:none !important; }
html body .site-header .brand-logo-light{ display:block !important; opacity:1 !important; }
html body .site-header.is-floating .brand-logo-light{ display:none !important; }
html body .site-header.is-floating .brand-logo-pill{ display:block !important; }
html body .site-header .primary-nav .nav-root > li > a,
html body.is-immersive-page .site-header .primary-nav .nav-root > li > a,
html body.is-immersive-page .site-header.is-floating .primary-nav .nav-root > li > a{ color:var(--soft-plum) !important; }
html body .site-header .primary-nav .nav-root > li > a:hover,
html body .site-header .primary-nav .nav-root > li > a:focus-visible,
html body.is-immersive-page .site-header .primary-nav .nav-root > li > a:hover,
html body.is-immersive-page .site-header.is-floating .primary-nav .nav-root > li > a:hover,
html body.is-immersive-page .site-header.is-floating .primary-nav .nav-root > li > a:focus-visible{ color:var(--soft-plum-2) !important; }
html body .site-header .primary-nav .nav-root > li > a.nav-cta,
html body.is-immersive-page .site-header .primary-nav .nav-root > li > a.nav-cta,
html body.is-immersive-page .site-header.is-floating .primary-nav .nav-root > li > a.nav-cta{ color:#fff !important; background:var(--soft-plum) !important; border-color:var(--soft-plum) !important; }
html body .site-header svg, html body .site-header .nav-utility a, html body .site-header .nav-utility button{ color:var(--soft-plum) !important; }
html body .site-header .bmb-nav-toggle-bar, html body .site-header.is-floating .bmb-nav-toggle-bar{ background:var(--soft-plum) !important; }
/* final audit 24/09/2026: in the scrolled pill the logo link was 77x40 on desktop and 58x30 on phones, under
   the 44px touch target. The link box is now at least 44px tall with the logo centred in it; the logo keeps
   its size and the pill keeps its height. */
html body .site-header .brand{ min-height:44px !important; align-items:center; }
/* dropdown panels */
html body .site-header .sub-menu, html body .site-header .primary-nav ul ul{ background:#fff !important; border-color:var(--soft-lav-2) !important; }
html body .site-header .sub-menu a, html body .site-header .primary-nav ul ul a{ color:var(--soft-ink) !important; }
html body .site-header .sub-menu a:hover, html body .site-header .primary-nav ul ul a:hover{ background:var(--soft-lav) !important; color:var(--soft-plum) !important; }
/* phone menu drawer (menu fix 24/09/2026): the rules above colour the links plum for the white bar, and
   style.css paints the open drawer purple, so the labels could not be read and the open submenu showed as
   a white box. At phone width the drawer is a light panel with plum labels and no boxes. The Contact us
   pill keeps its own colours. Same values as home-brochure.css, clinic-proto.css and clinic-sleep.css. */
@media (max-width:768px){
  html body.mobile-nav-open .site-header.site-header{ background:#fff !important; border-bottom:1px solid var(--soft-lav-2) !important; }
  html body.mobile-nav-open .site-header .primary-nav{ background:var(--soft-mist) !important; }
  html body .site-header .primary-nav .nav-root > li.has-submenu{ border-bottom-color:var(--soft-lav-2) !important; }
  html body .site-header .primary-nav .nav-root > li > a:not(.nav-cta){ color:var(--soft-plum) !important; }
  html body .site-header .primary-nav .nav-root > li.has-submenu.is-expanded > a{ color:var(--soft-plum-2) !important; }
  html body .site-header .primary-nav .submenu{ background:transparent !important; border-color:transparent !important; box-shadow:none !important; }
  html body .site-header .primary-nav .submenu a{ color:var(--soft-ink) !important; background:transparent !important; }
  html body .site-header .primary-nav .submenu a:hover, html body .site-header .primary-nav .submenu a:focus-visible{ color:var(--soft-plum-2) !important; background:transparent !important; }
  html body .site-header .primary-nav .nav-search-item .nav-search-btn{ background:#fff !important; border-color:var(--soft-lilac) !important; color:var(--soft-body) !important; }
  html body .site-header .primary-nav .nav-search-item .nav-search-label{ color:var(--soft-body) !important; }
  html body .site-header .primary-nav .nav-root > li.nav-account-item > a.nav-account,
  html body .site-header .primary-nav .nav-root > li.nav-cart-item > a.nav-cart{ background:var(--soft-lav) !important; border-color:var(--soft-lav-2) !important; color:var(--soft-plum) !important; }
  html body .site-header .nav-account .nav-account-face, html body .site-header .nav-cart .nav-cart-face{ border-color:var(--soft-violet) !important; }
  html body .site-header .nav-account.is-in .nav-account-face{ background:var(--soft-plum) !important; border-color:var(--soft-plum) !important; color:#fff !important; }
  html body .site-header .primary-nav .nav-root > li.nav-tel-item > a.nav-tel{ color:var(--soft-body) !important; }
  html body .site-header .primary-nav .nav-tel strong{ color:var(--soft-plum) !important; }
  html body.mobile-nav-open .site-header button.bmb-nav-toggle > span.bmb-nav-toggle-bar{ background:var(--soft-plum) !important; }
}

/* ---------- footer: lavender with a plum bottom bar ---------- */
html body .site-footer{ background:var(--soft-mist) !important; border-top:1px solid var(--soft-lav-2) !important; }
html body .site-footer, html body .site-footer a, html body .site-footer p, html body .site-footer li,
html body .site-footer h2, html body .site-footer h3, html body .site-footer h4{ color:var(--soft-body) !important; }
html body .site-footer .footer-col-head{ color:var(--soft-plum) !important; }
html body .site-footer > *:last-child{ background:var(--soft-plum) !important; margin:2rem calc(50% - 50vw) 0 !important; padding:1rem 22px !important; max-width:none !important; width:auto !important; }
html body .site-footer > *:last-child, html body .site-footer > *:last-child *{ color:rgba(255,255,255,.9) !important; }
/* final audit 24/09/2026: the footer's own bottom padding left a 20 to 27px lavender strip under the plum
   bar on every page. The bar is always the last child and carries its own padding, so it now sits flush. */
html body .site-footer{ padding-bottom:0 !important; }
/* phone: footer links were 20px tall and the social icons 28px; pad the tap area to 44px without moving
   anything (the negative margin gives the space back; the rows are already 60px apart) */
@media (max-width:768px){
  html body .site-footer li a{ display:inline-block !important; padding-top:12px !important; padding-bottom:12px !important; margin-top:-12px !important; margin-bottom:-12px !important; }
  html body .site-footer .footer-social a{ padding:12px !important; margin:-12px !important; }
  /* at the very bottom the fixed WhatsApp button sat on top of the copyright line ("All rig..."); keep the
     text clear of it, as the service pages already do */
  html body .site-footer > *:last-child{ padding-left:84px !important; padding-right:84px !important; }
}

/* ---------- shared buttons and links ---------- */
html body .bmb-cta--primary, html body .cta:not(section), html body .button-primary{ background:var(--soft-plum) !important; border-color:var(--soft-plum) !important; color:#fff !important; }
/* final audit 24/09/2026: where no page family sets its own, style.css still gave the plum primary the old
   near-black aubergine shadow and, on hover, flipped it to a white button (homepage "Book Now", the sleep
   clinic booking button). Soft plum shadow, and hover goes one step deeper plum like the header pill. */
html :where(body:not(.home-concept)) .bmb-cta--primary{ box-shadow:0 10px 24px -8px rgba(85,63,99,.3) !important; } /* low weight: the homepage keeps its approved shadow */
html body .bmb-cta--primary:hover, html body .bmb-cta--primary:focus-visible{ background:var(--brand-dk) !important; border-color:var(--brand-dk) !important; color:#fff !important; box-shadow:0 12px 28px -8px rgba(85,63,99,.38) !important; }
/* header Contact us pill: at the top of the page its hover changed nothing (only the pill state darkened);
   now both states darken, and its shadow is plum instead of near-black */
html body .site-header .primary-nav .nav-root > li > a.nav-cta{ box-shadow:0 4px 12px -4px rgba(85,63,99,.35) !important; }
html body .site-header .primary-nav .nav-root > li > a.nav-cta:hover,
html body .site-header .primary-nav .nav-root > li > a.nav-cta:focus-visible{ background:var(--brand-dk) !important; border-color:var(--brand-dk) !important; color:#fff !important; box-shadow:0 6px 16px -4px rgba(85,63,99,.42) !important; }

/* ---------- cookie banner ---------- */
html body .bmb-consent-btn--primary{ background:var(--soft-plum) !important; border-color:var(--soft-plum) !important; }
html body .bmb-consent-btn--secondary{ color:var(--soft-plum) !important; border-color:var(--soft-plum) !important; }
html body .bmb-consent-text a{ color:var(--soft-plum) !important; }
/* final audit 24/09/2026: the focus ring was pale pink #efd9f3 (about 1.2:1 on white, invisible to keyboard
   users), the secondary hover was the same pink, and the buttons were 39px tall (44px touch target at every
   width now, so touch tablets get it too) */
html body .bmb-consent-btn:focus-visible, html body .bmb-consent-pref input[type=checkbox]:focus-visible{ outline:2px solid var(--soft-plum-2) !important; outline-offset:2px !important; }
html body .bmb-consent-btn--secondary:hover{ background:var(--soft-lav) !important; }
html body .bmb-consent-btn--primary:hover{ background:var(--brand-dk) !important; border-color:var(--brand-dk) !important; opacity:1 !important; }
html body .bmb-consent-actions .bmb-consent-btn{ min-height:44px !important; }

/* ---------- menus: desktop dropdowns and the phone drawer (they painted themselves with the old purple --bg/--bg-2) ---------- */
html body .primary-nav .submenu, html body .primary-nav .flyout, html body .primary-nav .flyout-panel{ background:#ffffff !important; border-color:var(--soft-lav-2) !important; box-shadow:0 18px 40px -14px rgba(85,63,99,.22) !important; }
html body .primary-nav .submenu a, html body .primary-nav .flyout-cat-label{ color:var(--soft-body) !important; }
html body .primary-nav .submenu a:hover, html body .primary-nav .submenu a:focus-visible,
html body .primary-nav .flyout-cat.is-open > .flyout-cat-label{ color:var(--soft-plum) !important; background:var(--soft-lav) !important; }
html body .site-header .nav-cart:focus-visible, html body .site-header .nav-account:focus-visible,
html body .site-header .primary-nav a:focus-visible{ outline:2px solid var(--soft-violet) !important; outline-offset:3px !important; }
@media (max-width:768px){
  html body.mobile-nav-open.mobile-nav-open .site-header.site-header, html body.mobile-nav-open.mobile-nav-open .site-header.is-floating{ background:#ffffff !important; border-bottom:1px solid var(--soft-lav-2) !important; }
  html body.mobile-nav-open.mobile-nav-open .primary-nav.primary-nav, html body .primary-nav.primary-nav{ background:rgba(255,255,255,.98) !important; }
  html body .primary-nav .nav-root > li{ border-bottom-color:var(--soft-lav-2) !important; }
  html body .primary-nav .nav-root > li > a, html body .primary-nav .nav-root > li > button,
  html body .primary-nav .submenu-toggle, html body .primary-nav .nav-root > li > a svg{ color:var(--soft-plum) !important; }
  html body .primary-nav .submenu{ background:transparent !important; box-shadow:none !important; }
  html body .primary-nav .nav-search-item .nav-search-btn{ background:#ffffff !important; border-color:var(--soft-lilac) !important; color:var(--soft-body) !important; }
  html body .primary-nav .nav-search-item .nav-search-btn:hover, html body .primary-nav .nav-search-item .nav-search-btn:focus-visible{ background:var(--soft-mist) !important; border-color:var(--soft-violet) !important; }
  html body .primary-nav .nav-root > li.nav-account-item > a.nav-account,
  html body .primary-nav .nav-root > li.nav-cart-item > a.nav-cart{ background:#ffffff !important; border-color:var(--soft-lilac) !important; color:var(--soft-plum) !important; }
  html body .primary-nav .nav-root > li.nav-account-item > a.nav-account:hover,
  html body .primary-nav .nav-root > li.nav-cart-item > a.nav-cart:hover{ background:var(--soft-mist) !important; border-color:var(--soft-violet) !important; }
  html body .nav-account .nav-account-face, html body .nav-cart .nav-cart-face{ border-color:var(--soft-violet) !important; color:var(--soft-plum) !important; }
  html body .nav-account.is-in .nav-account-face{ background:var(--soft-plum) !important; border-color:var(--soft-plum) !important; color:#ffffff !important; }
  html body .primary-nav .nav-root > li.nav-tel-item > a.nav-tel{ color:var(--soft-body) !important; }
  html body .primary-nav .nav-tel strong{ color:var(--soft-plum) !important; }
  html body.mobile-nav-open .bmb-nav-toggle-bar{ background:var(--soft-plum) !important; }
  /* final audit 24/09/2026: the open drawer covers the whole screen, including the header, so it hid the
     logo; and at 98% white with a blur the page headline showed through behind the menu labels. Solid
     lavender-white drawer (the value home-brochure.css and the clinic pages ask for), logo lifted above it. */
  html body.mobile-nav-open #primary-nav{ background:var(--soft-mist) !important; -webkit-backdrop-filter:none !important; backdrop-filter:none !important; }
  html body.mobile-nav-open .site-header .brand{ position:relative !important; z-index:96 !important; }
  /* on that solid drawer the search field and the Sign in / Cart tiles are white with a lilac edge on every
     page (some families had made them the same lavender-white as the drawer, so they disappeared into it) */
  html body.mobile-nav-open #primary-nav .nav-search-item .nav-search-btn,
  html body.mobile-nav-open #primary-nav .nav-root > li.nav-account-item > a.nav-account:not(.is-in),
  html body.mobile-nav-open #primary-nav .nav-root > li.nav-cart-item > a.nav-cart{ background:#ffffff !important; border-color:var(--soft-lilac) !important; }
  html body.mobile-nav-open #primary-nav .nav-search-item .nav-search-btn:is(:hover, :focus-visible),
  html body.mobile-nav-open #primary-nav .nav-root > li.nav-account-item > a.nav-account:not(.is-in):is(:hover, :focus-visible),
  html body.mobile-nav-open #primary-nav .nav-root > li.nav-cart-item > a.nav-cart:is(:hover, :focus-visible){ background:var(--soft-lav) !important; border-color:var(--soft-violet) !important; }
  /* submenu links: one ink colour on every page (the service family had them a shade lighter) */
  html body.mobile-nav-open #primary-nav .submenu a{ color:var(--soft-ink) !important; }
  html body.mobile-nav-open #primary-nav .submenu a:is(:hover, :focus-visible){ color:var(--soft-plum-2) !important; }
  /* "Call us" was 42px tall; 44px tap target */
  html body.mobile-nav-open #primary-nav .nav-tel{ min-height:44px !important; }
}


/* ================= page family: A_service ================= */
/* =====================================================================
   Soft theme, family A_service: the service pages, /blogs/ and /faq/
   (every one is body.svc-cream, styled by service.css + service-cream.css
   [+ blogs.css]). Loaded after soft-base.css. Brings the page bodies in
   line with the approved homepage: white page, lavender bands and cards,
   dusty plum headings, links and buttons, a soft lavender final band,
   gold stars. Colours only (no text, layout or spacing changes), apart
   from section 9, which stops one hero photo being cropped, section 9b,
   which moves one scroll cue off a footnote, and the footer padding in
   section 5, which keeps the copyright line clear of the booking pill.
   ===================================================================== */
/* Scope: every rule starts with html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split),
   which matches only this family's 17 pages (the 14 photo-hero service pages, /blogs/,
   /faq/ and /bump-to-birth-hands-on-crash-course/), not the store, account or clinic
   pages that share body.svc-cream. */

/* ---------- 1. palette: remap the cream theme + the old purple tokens ---------- */
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split){
  /* service-cream.css tokens (its !important rules all read these) */
  --c-paper:#ffffff; --c-card:#ffffff; --c-soft:#f3edf7; --c-line:#e7ddef;
  --c-ink:#3f3346; --c-body:#62576a; --c-muted:#7a6390;
  --c-plum:#553f63; --c-purple:#7a6390;
  /* style.css / service.css tokens that still carried saturated purple or blue */
  --bg:#ffffff; --bg-2:#f3edf7; --bg-3:#e7ddef;
  --navy:#553f63; --accent:#a58bbb; --accent-ink:#7a6390;
  --gold:#a58bbb; --gold-dk:#7a6390;
  --spectrum-1:#7a6390; --spectrum-4:#a58bbb; --spectrum-5:#a58bbb;
  --brand:#553f63; --brand-dk:#43304f; --brand-700:#3f2f48;
  --brand-50:#faf7fc; --brand-100:#f3edf7; --brand-200:#e7ddef;
  background:#ffffff !important;
}
/* final audit 24/09/2026: html itself still took style.css var(--bg), the saturated #8d319b, which shows in
   phone overscroll above the header and below the footer. Same white as the page. */
html:has(> body.svc-cream):has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split){ background:#ffffff !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) main{ background:#ffffff !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview,
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview--immersive{ background:#ffffff !important; }

/* ---------- 2. text: plum headings, plum-2 accents, readable body ---------- */
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview > :not(.service-hero--immersive) :is(h1,h2,h3,h4){ color:#553f63 !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview > :not(.service-hero--immersive) :is(h1,h2,h3,h4) em{ color:#7a6390 !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview > :not(.service-hero--immersive) .bmb-eyebrow{ color:#7a6390 !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview > :not(.service-hero--immersive) .bmb-eyebrow::before,
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview > :not(.service-hero--immersive) .bmb-eyebrow::after{ background:#a58bbb !important; border-color:#a58bbb !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview > :not(.service-hero--immersive) strong{ color:#553f63 !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview > :not(.service-hero--immersive) a:not(.bmb-cta):not(.service-floating-cta){ color:#553f63; text-decoration-color:#a58bbb; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview > :not(.service-hero--immersive) a:not(.bmb-cta):not(.service-floating-cta):hover{ color:#7a6390; text-decoration-color:#7a6390; }
/* links inside running copy: plum sits too close to the body text (1.36:1) to be
   spotted by colour alone, so underline them in violet (titles stay plain) */
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview > :not(.service-hero--immersive) :is(p,li,dd):not([class*="title"]) > a:not(.bmb-cta):not(.service-related-cta):not(.service-floating-cta){
  text-decoration-line:underline !important; text-decoration-color:#a58bbb !important; text-decoration-thickness:1px; text-underline-offset:3px; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview > :not(.service-hero--immersive) :is(p,li,dd):not([class*="title"]) > a:not(.bmb-cta):not(.service-related-cta):not(.service-floating-cta):is(:hover,:focus-visible){
  color:#7a6390 !important; text-decoration-color:#7a6390 !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-faq-body a{ color:#553f63 !important; text-decoration-color:#a58bbb !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-faq-body a:hover{ color:#7a6390 !important; text-decoration-color:#7a6390 !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .service-related-cta,
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .service-related-cta:hover{ color:#553f63 !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .service-related-bullets .bmb-bullet-heart{ color:#a58bbb !important; }

/* lean + split heroes (/blogs/, /faq/, bump-to-birth): no purple glow, plum type */
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .service-hero::before{
  background:radial-gradient(circle, rgba(165,139,187,.22) 0%, rgba(165,139,187,0) 65%) !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .service-hero::after{
  background:radial-gradient(circle, rgba(212,197,227,.30) 0%, rgba(212,197,227,0) 65%) !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .service-hero:not(.service-hero--immersive) .service-hero-eyebrow{ color:#7a6390 !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .service-hero:not(.service-hero--immersive) .service-hero-display{ color:#553f63 !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .service-hero:not(.service-hero--immersive) .service-hero-display em{ color:#7a6390 !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .service-hero:not(.service-hero--immersive) .service-hero-lead{ color:#62576a !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .service-hero-meta > div{ background:#f3edf7 !important; border-color:#e7ddef !important; color:#3f3346 !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .service-hero-meta > div span{ color:#7a6390 !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .service-hero-figure{ background:linear-gradient(135deg,#f3edf7,#e7ddef) !important; }

/* immersive photo hero: keep the photo, light type, lilac eyebrow (was pink) */
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-hero--immersive .bmb-eyebrow{ color:#e7ddef !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-hero--immersive strong{ color:#ffffff !important; }

/* ---------- 3. surfaces: white sections, lavender cards and bands ---------- */
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview :is(.service-intro,.service-oils,.service-areas,.service-prep,
  .service-related,.service-banner,.service-benefits,.service-process,.service-results){ background:#ffffff !important; border-top-color:#f3edf7 !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview :is(.service-intro--alt,.service-areas--alt){ background:#faf7fc !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .service-testimonials{ background:linear-gradient(180deg,#faf7fc 0%,#f3edf7 100%) !important; }

html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) :is(.service-benefit-card,.service-prep-card,.service-story,.service-related-figure,.service-card-figure),
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .service-benefits-grid li,
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .service-related-grid li,
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .service-discomforts-grid li,
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .service-process-grid > li{ background:#f3edf7 !important; border-color:#e7ddef !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .service-story:hover{ background:#f3edf7 !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .service-discomforts-grid li:hover{ border-color:#d4c5e3 !important; }
/* final audit 24/09/2026: service.css still shadowed these cards in near-black aubergine (rgba(31,8,36)); plum like the rest */
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .service-discomforts-grid li{ box-shadow:0 6px 18px -10px rgba(85,63,99,.28) !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .service-discomforts-grid li:hover{ box-shadow:0 12px 26px -12px rgba(85,63,99,.36) !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-testimonials-grid > li,
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .service-testimonials .service-story{ background:#ffffff !important; border-color:#e7ddef !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-testimonials-grid > li::before{ color:#d4c5e3 !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .service-story-stars{ color:#8c6a2c !important; } /* final audit: gold #b8924f was 2.9:1 on white, under the 3:1 a star rating needs; this is 5:1 */
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .service-story-tag{ background:#e7ddef !important; color:#553f63 !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .service-story footer,
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .service-faq-answer{ border-top-color:#e7ddef !important; }
/* card hover lift: lilac edge + plum-tinted shadow (was periwinkle) */
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .service-benefits-grid li:hover,
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .service-related-grid li:hover,
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .service-story:hover{ border-color:#d4c5e3 !important; box-shadow:0 12px 30px -14px rgba(85,63,99,.18) !important; }
/* soft corner glows on cards and the reviews band: lavender instead of blue */
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .service-prep-card::before{ background:radial-gradient(circle, rgba(165,139,187,.16) 0%, transparent 60%) !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .service-testimonials::before{ background:radial-gradient(ellipse, rgba(165,139,187,.10) 0%, transparent 65%) !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .service-benefit-num{ color:#7a6390 !important; }

html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .service-prep-note{ background:#ffffff !important; border-color:#e7ddef !important; border-left-color:#a58bbb !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview :is(.service-intro-figure,.service-areas-figure,.service-banner-figure,.service-card-figure){
  background:#e7ddef !important; border-color:#e7ddef !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) :is(.service-banner-figure,.service-course-gallery) figcaption,
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .service-intro-figure figcaption{ color:#553f63 !important; }

/* ---------- 4. FAQ accordions ---------- */
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview details.service-faq,
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .service-faq-list details{ background:#faf7fc !important; border-color:#e7ddef !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview details.service-faq[open],
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .service-faq-list details[open]{ background:#ffffff !important; border-color:#d4c5e3 !important; box-shadow:0 12px 30px -16px rgba(85,63,99,.18) !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .service-faq > summary,
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .service-faq-list summary{ color:#3f3346 !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .service-faq > summary:hover,
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .service-faq-list summary:hover{ color:#553f63 !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .service-faq > summary::after{ color:#a58bbb !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .service-faq-list summary::after{ border-color:#a58bbb !important; }
/* the FAQ band is see-through: over the hero photo on photo-hero pages (keep light type),
   over the white page on /faq/ (dark type, it was white on white) */
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview--immersive section:is(.service-faq,.service-faqs){ background-image:linear-gradient(rgba(38,28,44,.34),rgba(38,28,44,.34)) !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview--immersive section:is(.service-faq,.service-faqs) > .bmb-section-head h2{ color:#ffffff !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview--immersive section:is(.service-faq,.service-faqs) > .bmb-section-head .bmb-eyebrow{ color:#e7ddef !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview:not(.service-preview--immersive) section:is(.service-faq,.service-faqs) > .bmb-section-head h2{ color:#553f63 !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview:not(.service-preview--immersive) section:is(.service-faq,.service-faqs) > .bmb-section-head .bmb-eyebrow{ color:#7a6390 !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview:not(.service-preview--immersive) section.service-faqs--alt{ background:#faf7fc !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview :is(.service-faqs--alt,.service-intro--alt) details.service-faq:not([open]),
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview :is(.service-faqs--alt,.service-intro--alt) .service-faq-list details:not([open]){ background:#ffffff !important; }

/* ---------- 5. buttons ---------- */
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .bmb-cta--primary{ background:#553f63 !important; border-color:#553f63 !important; color:#fff !important;
  box-shadow:0 10px 24px rgba(85,63,99,.20) !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .bmb-cta--primary:hover{ background:#43304f !important; box-shadow:0 12px 28px rgba(85,63,99,.26) !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .bmb-cta--ghost{ background:#ffffff !important; color:#553f63 !important; border:1px solid #d4c5e3 !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .bmb-cta--ghost:hover{ background:#f3edf7 !important; color:#553f63 !important; border-color:#a58bbb !important; }
/* on the photo hero the buttons stay light so they read on the photo */
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .service-hero-ctas--immersive .bmb-cta--primary{ background:#ffffff !important; border-color:#ffffff !important; color:#553f63 !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .service-hero-ctas--immersive .bmb-cta--ghost{ background:transparent !important; color:#fff !important; border-color:rgba(255,255,255,.7) !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .service-hero-ctas--immersive .bmb-cta--ghost:hover{ background:rgba(255,255,255,.14) !important; color:#fff !important; }
/* floating booking pill: plum like every other primary button, with a white ring so
   it stays a separate button over the plum footer bar and the plum button in the
   final band */
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-floating-cta{ background:#553f63 !important; color:#fff !important;
  box-shadow:0 0 0 2px rgba(255,255,255,.92), 0 14px 36px -10px rgba(63,51,70,.45), 0 4px 10px -3px rgba(63,51,70,.25) !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-floating-cta:is(:hover,:focus-visible){ background:#43304f !important; color:#fff !important;
  box-shadow:0 0 0 2px #ffffff, 0 18px 44px -8px rgba(63,51,70,.5), 0 5px 12px -2px rgba(63,51,70,.3) !important; }
/* at the very bottom the fixed pill used to sit on the copyright line: give the
   plum bar room underneath so the whole line stays readable. On phones the
   WhatsApp button (fixed, bottom right, lifted above the pill on these pages)
   then reaches the line's right end, so keep the wrapped line clear of it. */
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split):has(.service-floating-cta) .site-footer > p.copyright:last-child{ padding-bottom:calc(1rem + 48px) !important; }
@media (max-width:720px){
  html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split):has(.service-floating-cta) .site-footer > p.copyright:last-child{ padding-left:84px !important; padding-right:84px !important; }
}

/* ---------- 6. final band: soft lavender like the homepage's last band ---------- */
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .service-cta{ background:linear-gradient(120deg,#efe6f5 0%,#e2d5ee 100%) !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .service-cta :is(h1,h2,h3){ color:#553f63 !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .service-cta :is(h1,h2,h3) em{ color:#7a6390 !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .service-cta :is(p,li,span,dt,dd){ color:#62576a !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .service-cta .bmb-eyebrow{ color:#7a6390 !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .service-cta strong{ color:#553f63 !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .service-cta .bmb-cta--primary,
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .service-cta .bmb-cta--primary *{ color:#fff !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .service-cta .bmb-cta--ghost,
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .service-cta .bmb-cta--ghost *{ color:#553f63 !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .service-cta .bmb-cta--ghost{ background:#ffffff !important; border-color:#d4c5e3 !important; }
/* final audit 24/09/2026: the white rule above outranked the hover in section 3, so this button had no hover */
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .service-cta .bmb-cta--ghost:hover,
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .service-cta .bmb-cta--ghost:focus-visible{ background:#f3edf7 !important; border-color:#a58bbb !important; }

/* ---------- 7. /blogs/ archive ---------- */
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview--archive .service-archive-section{ border-top-color:#f3edf7 !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview--archive .service-archive-section:nth-of-type(even){ background:linear-gradient(120deg,#efe6f5 0%,#e2d5ee 100%) !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview--archive .service-archive-section:nth-of-type(even) :is(h2,.service-section-lead){ color:#553f63 !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview--archive .service-archive-section:nth-of-type(even) .bmb-eyebrow{ color:#7a6390 !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview--archive .service-archive-section:nth-of-type(even) .bmb-eyebrow::before{ background:#a58bbb !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview--archive .service-archive-more a,
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview--archive .service-archive-section:nth-of-type(even) .service-archive-more a{ color:#553f63 !important; border-color:#a58bbb !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview--archive .service-archive-more a:hover,
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview--archive .service-archive-section:nth-of-type(even) .service-archive-more a:hover{ color:#7a6390 !important; }
/* featured picks: sat on the deep purple band, now on lavender */
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .blog-index .blog-feature{ background:rgba(255,255,255,.72) !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .blog-index .blog-feature:hover{ background:#ffffff !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .blog-index .blog-featured-list:not([data-view="topic"]) > .blog-feature:first-child,
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .blog-index .blog-featured-list[data-view="topic"] > .blog-feature:not([hidden]){ background:transparent !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .blog-index .blog-feature-media{ background:#e7ddef !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .blog-index .blog-feature:has(a:focus-visible){ outline-color:#a58bbb !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .blog-feature-topic{ color:#7a6390 !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .blog-feature-title{ color:#553f63 !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .blog-feature-excerpt,
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .blog-featured-list:not([data-view="topic"]) > .blog-feature:first-child .blog-feature-excerpt,
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .blog-featured-list[data-view="topic"] > .blog-feature:not([hidden]) .blog-feature-excerpt{ color:#62576a !important; }
/* archive cards: white with a lavender hairline (were cream) */
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview--archive .post-grid--archive .bmb-post-card{ background:#ffffff !important; box-shadow:0 0 0 1px #e7ddef, 0 12px 30px -18px rgba(85,63,99,.22) !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview--archive .post-grid--archive .bmb-post-card:hover{ box-shadow:0 0 0 1px #d4c5e3, 0 10px 26px rgba(85,63,99,.10), 0 30px 60px rgba(85,63,99,.08) !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview--archive .post-grid--archive .bmb-post-card-img,
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview--archive .post-grid--archive .bmb-post-card-img--empty{ background:linear-gradient(135deg,#faf7fc,#f3edf7) !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .blog-index .post-grid--archive .bmb-post-card[data-topic] .bmb-post-card-img::after{ background:rgba(85,63,99,.88) !important; color:#fff !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview--archive .post-grid--archive .bmb-post-card-cta{ color:#553f63 !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview--archive .post-grid--archive .bmb-post-card:hover .bmb-post-card-cta,
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview--archive .post-grid--archive h3 a:hover{ color:#7a6390 !important; }
/* search, topic pills, suggestions */
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .blog-index .blog-search{ border-color:#e7ddef !important; box-shadow:0 1px 2px rgba(63,51,70,.04), 0 14px 34px -20px rgba(85,63,99,.28) !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .blog-index .blog-search:focus-within{ border-color:#a58bbb !important; box-shadow:0 0 0 4px rgba(165,139,187,.22), 0 14px 34px -20px rgba(85,63,99,.28) !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .blog-index .blog-search-topic{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23553f63' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .blog-index .blog-search-icon{ color:#7a6390 !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .blog-index .blog-suggest-title mark{ color:#553f63 !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .blog-suggest-topic{ background:#f3edf7 !important; color:#553f63 !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .blog-index .blog-empty-action--primary:hover,
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview a.blog-empty-action--primary:hover{ background:#43304f !important; }

/* ---------- 8. lactation / results blocks that hard-code the old purple ---------- */
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview :is(.lc-issues-title,.lc-hours-time,.lc-fee-price,.service-result-num){ color:#553f63 !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .colostrum-box h3{ color:#553f63 !important; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .lc-bio-toggle:focus-visible{ outline-color:#a58bbb !important; }

/* ---------- 9. bump-to-birth split hero: show the whole photo ----------
   The flyer photo is 1083x800 (landscape) but the split-hero frame is a 4:5
   portrait with object-fit:cover, which cut off the right-hand parent and the
   circle. Let the frame follow the photo's own shape so nothing is cropped. */
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .service-hero--split .service-hero-figure{ aspect-ratio:auto !important; background:#ffffff !important; align-self:center; }
html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview .service-hero--split .service-hero-figure img{ height:auto !important; object-fit:contain !important; }

/* ---------- 9b. photo-hero legibility (desktop) ----------
   Prenatal (the only right-aligned hero) had its copy on the bright side of the
   left-to-right scrim, so the eyebrow, stat labels and title washed out on the
   beige wall. Mirror the scrim so the dark side sits under the copy.
   MLD: the centred scroll cue sat on the last line of the results footnote.
   Move it to the right edge of the content column (MLD only: hero-anchor-right is
   unique to it, and the facial and lighten-legs heroes do not collide). */
@media (min-width:721px){
  html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview--hero-right .service-hero-bg-scrim{
    background:
      linear-gradient(270deg, rgba(20,14,12,.72) 0%, rgba(20,14,12,.55) 28%, rgba(20,14,12,.25) 55%, rgba(20,14,12,.05) 85%, rgba(20,14,12,.10) 100%),
      linear-gradient(180deg, rgba(20,14,12,0) 0%, rgba(20,14,12,0) 70%, rgba(20,14,12,.45) 100%) !important;
  }
  html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview--hero-anchor-right .service-hero--immersive:has(.service-hero-results-note) .service-hero-scroll{
    left:auto !important; right:max(3rem, calc((100vw - var(--service-max)) / 2 + 1rem)) !important;
    /* the photo is paler there than in the centre, so firm up the halo */
    color:#ffffff !important; text-shadow:0 1px 3px rgba(20,14,12,.55), 0 1px 12px rgba(20,14,12,.5) !important;
  }
  html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .service-preview--hero-anchor-right .service-hero--immersive:has(.service-hero-results-note) .service-hero-scroll > span{ color:#ffffff !important; }
}

/* ---------- 10. phone menu drawer ----------
   The drawer paints itself with var(--bg)/var(--bg-2), which section 1 turns
   white/lavender on these pages, so its light-on-purple details need plum. */
@media (max-width:768px){
  html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .primary-nav .nav-root > li.has-submenu{ border-bottom-color:#e7ddef !important; }
  html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .primary-nav .submenu a,
  html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .primary-nav .flyout-cat-label{ color:#62576a !important; }
  html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .primary-nav .submenu a:hover,
  html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .primary-nav .submenu a:focus-visible,
  html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .primary-nav .flyout-cat.is-open > .flyout-cat-label{ color:#553f63 !important; }
  html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .primary-nav .nav-search-item .nav-search-btn{ background:#ffffff !important; border-color:#d4c5e3 !important; color:#62576a !important; }
  html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .primary-nav .nav-search-item .nav-search-btn:hover,
  html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .primary-nav .nav-search-item .nav-search-btn:focus-visible{ background:#faf7fc !important; border-color:#a58bbb !important; }
  html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .primary-nav .nav-root > li.nav-account-item > a.nav-account,
  html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .primary-nav .nav-root > li.nav-cart-item > a.nav-cart{ background:#ffffff !important; border-color:#d4c5e3 !important; }
  html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .primary-nav .nav-root > li.nav-account-item > a.nav-account:hover,
  html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .primary-nav .nav-root > li.nav-account-item > a.nav-account:focus-visible,
  html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .primary-nav .nav-root > li.nav-cart-item > a.nav-cart:hover,
  html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .primary-nav .nav-root > li.nav-cart-item > a.nav-cart:focus-visible{ background:#faf7fc !important; border-color:#a58bbb !important; }
  html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .nav-account .nav-account-face,
  html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .nav-cart .nav-cart-face{ border-color:#a58bbb !important; }
  html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .nav-account.is-in .nav-account-face{ background:#553f63 !important; border-color:#553f63 !important; color:#ffffff !important; }
  html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .primary-nav .nav-root > li.nav-tel-item > a.nav-tel{ color:#62576a !important; }
  html body.svc-cream:has(.service-preview--immersive,.service-preview--archive,.service-preview > section.service-faqs,.service-preview > section.service-hero--split) .primary-nav .nav-tel strong{ color:#553f63 !important; }
}


/* ================= page family: B_article ================= */
/* =====================================================================
   Soft theme, family B: article + product-detail pages (47 URLs).
   Scope: every rule starts with html:has(link[href*="/css/pages/article.css"]),
   because article.css is loaded by exactly these 47 pages and by no other page
   (checked against templates.json, 24/09/2026). CSS only; no text changes.
   Palette: plum #553f63, plum-2 #7a6390, violet #a58bbb, lavender #f3edf7 /
   #e7ddef, lilac #d4c5e3, mist #faf7fc, ink #3f3346, body #62576a, white.
   ===================================================================== */

/* ---------- 1. tokens: the purple-theme variables, remapped for these pages ---------- */
html:has(link[href*="/css/pages/article.css"]){
  --bg:#faf7fc; --bg-2:#faf7fc; --bg-3:#faf7fc;
  --navy:#553f63; --navy-dk:#7a6390;
  --gold:#a58bbb; --gold-dk:#7a6390;
  --accent:#a58bbb; --accent-ink:#7a6390;
  --spectrum-1:#553f63;
  --surface:#ffffff;
  background:#faf7fc !important;
}
html:has(link[href*="/css/pages/article.css"]) body :is(main, .bmb-magazine-preview, .bmb-article-preview, .bmb-promo-pause){
  --ink:#3f3346; --ink-2:#62576a; --muted:#7a6390; --line:#e7ddef; --line-rose:#d4c5e3;
}
/* the article "cream theme" tokens (article.css, bottom) */
html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-magazine-preview, .bmb-article-preview){
  --c-paper:#faf7fc; --c-card:#ffffff; --c-soft:#f3edf7; --c-ink:#553f63;
  --c-body:#62576a; --c-muted:#7a6390; --c-plum:#553f63; --c-purple:#553f63;
  --c-line:#e7ddef;
}

/* ---------- 2. page surface: mist, no purple drench at the sides ---------- */
html:has(link[href*="/css/pages/article.css"]) body,
html:has(link[href*="/css/pages/article.css"]) body main,
html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-magazine-preview, .bmb-article-preview){
  background:#faf7fc !important; background-image:none !important;
}

/* six articles still point the header logo at the CREAM file (made for the old purple bar),
   so on the new white header the logo nearly vanished; show the blue logo the other pages use */
html:has(link[href*="/css/pages/article.css"]) body .site-header img.brand-logo[src*="bmb-logo-cream"]{ content:url("/img/bmb-logo-blue.webp"); }

/* ---------- 3. type ---------- */
html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-magazine-preview, .bmb-article-preview) :is(h1,h2,h3,h4,h5,h6){ color:#553f63 !important; }
html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-magazine-preview, .bmb-article-preview) strong{ color:#553f63 !important; }
html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-magazine-preview, .bmb-article-preview) :is(.bmb-mag-meta, .bmb-mag-byline){ color:#7a6390 !important; }
html:has(link[href*="/css/pages/article.css"]) body .bmb-magazine-preview .bmb-mag-meta-sep{ color:#a58bbb !important; }

/* links: plum text, violet underline; hover plum-2 (never white) */
html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-magazine-preview, .bmb-article-preview) a:not(.bmb-cta):not(.bmb-mag-category):not(.product-card-cta):not(.bmb-product-card-cta):not(.product-card-thumb):not(.bmb-shop-card-cta),
html:has(link[href*="/css/pages/article.css"]) body .bmb-magazine-preview .bmb-mag-byline .bmb-mag-author{
  color:#553f63 !important; text-decoration-color:#a58bbb !important;
}
html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-magazine-preview, .bmb-article-preview) a:not(.bmb-cta):not(.bmb-mag-category):not(.product-card-cta):not(.bmb-product-card-cta):not(.bmb-shop-card-cta):is(:hover, :focus-visible){
  color:#7a6390 !important; text-decoration-color:#7a6390 !important;
}

/* ---------- 4. magazine article parts ---------- */
html:has(link[href*="/css/pages/article.css"]) body .bmb-magazine-preview .bmb-mag-category{ background:#553f63 !important; color:#fff !important; }
html:has(link[href*="/css/pages/article.css"]) body .bmb-magazine-preview .bmb-mag-category:is(:hover, :focus-visible){ background:#7a6390 !important; color:#fff !important; }
html:has(link[href*="/css/pages/article.css"]) body .bmb-magazine-preview .bmb-mag-hero{ background:#f3edf7 !important; }

html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-magazine-preview, .bmb-article-preview) .bmb-mag-pullquote{
  background:#f3edf7 !important; border:1px solid #d4c5e3 !important; }
html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-magazine-preview, .bmb-article-preview) .bmb-mag-pullquote::before{ color:#a58bbb !important; }
html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-magazine-preview, .bmb-article-preview) .bmb-mag-pullquote p{ color:#553f63 !important; }

html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-magazine-preview, .bmb-article-preview) .bmb-mag-remedy{
  background:#fff !important; border-color:#e7ddef !important; }
html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-magazine-preview, .bmb-article-preview) .bmb-mag-remedy:hover{ border-color:#d4c5e3 !important; }
html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-magazine-preview, .bmb-article-preview) .bmb-mag-remedy::before{ color:#a58bbb !important; }

html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-magazine-preview, .bmb-article-preview) .bmb-mag-bottomline{
  background:#f3edf7 !important; border:1px solid #e7ddef !important; } /* final audit: no side stripe; a hairline all round, like the pull-quote card */
html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-magazine-preview, .bmb-article-preview) .bmb-mag-bottomline h3{ color:#7a6390 !important; }
html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-magazine-preview, .bmb-article-preview) .bmb-mag-bottomline p{ color:#62576a !important; }

html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-magazine-preview, .bmb-article-preview) .bmb-mag-ornament,
html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-magazine-preview, .bmb-article-preview) .bmb-mag-ornament::before{ color:#a58bbb !important; }
html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-magazine-preview, .bmb-article-preview) .bmb-mag-footer{ border-top-color:#e7ddef !important; }

/* FAQ accordions */
html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-magazine-preview, .bmb-article-preview) .bmb-faq-item{
  background:#fff !important; border-color:#e7ddef !important; }
html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-magazine-preview, .bmb-article-preview) .bmb-faq-item summary{ color:#3f3346 !important; }

/* ---------- 5. buttons ---------- */
/* primary: plum pill, white text */
html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-magazine-preview, .bmb-article-preview) .bmb-cta:not(.bmb-cta--ghost),
html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-magazine-preview, .bmb-article-preview) .bmb-cta--primary{
  background:#553f63 !important; background-image:none !important; color:#fff !important; border-color:#553f63 !important;
  box-shadow:0 10px 24px rgba(85,63,99,.18) !important; }
html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-magazine-preview, .bmb-article-preview) .bmb-cta:not(.bmb-cta--ghost):is(:hover, :focus-visible){
  background:#43304f !important; border-color:#43304f !important; color:#fff !important; } /* final audit: hover goes one step deeper plum on every page family, like the header pill */
/* ghost: white pill, plum text, lilac border (was purple-on-purple, text invisible) */
html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-magazine-preview, .bmb-article-preview) .bmb-cta.bmb-cta--ghost{
  background:#fff !important; background-image:none !important; color:#553f63 !important; border:1px solid #d4c5e3 !important;
  box-shadow:none !important; }
html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-magazine-preview, .bmb-article-preview) .bmb-cta.bmb-cta--ghost:is(:hover, :focus-visible){
  background:#f3edf7 !important; color:#553f63 !important; border-color:#a58bbb !important; }

/* ---------- 6. pricing-update notice (product pages) ---------- */
html:has(link[href*="/css/pages/article.css"]) body .bmb-promo-pause{
  background:#f3edf7 !important; background-image:none !important; border:1px solid #e7ddef !important; } /* final audit: the 4px plum side stripe is gone */
html:has(link[href*="/css/pages/article.css"]) body .bmb-promo-pause-eyebrow{ color:#7a6390 !important; }
html:has(link[href*="/css/pages/article.css"]) body .bmb-promo-pause-msg{ color:#62576a !important; }
html:has(link[href*="/css/pages/article.css"]) body .bmb-promo-pause-msg a{ color:#553f63 !important; text-decoration-color:#a58bbb !important; }
html:has(link[href*="/css/pages/article.css"]) body .bmb-promo-pause-msg a:is(:hover, :focus-visible){ color:#7a6390 !important; }

/* ---------- 7. product cards (related products) ---------- */
html:has(link[href*="/css/pages/article.css"]) body :is(.product-card-cta, .bmb-product-card-cta){
  color:#553f63 !important; border-color:#d4c5e3 !important; }
html:has(link[href*="/css/pages/article.css"]) body :is(.product-card-cta, .bmb-product-card-cta):is(:hover, :focus-visible){
  background:#f3edf7 !important; color:#553f63 !important; border-color:#a58bbb !important; }

/* ---------- 7b. product-page blocks: specs as lavender chips, violet bullets ---------- */
html:has(link[href*="/css/pages/article.css"]) body .bmb-article-preview .bmb-service-spec{ background:#f3edf7 !important; border-color:#e7ddef !important; }
html:has(link[href*="/css/pages/article.css"]) body .bmb-article-preview .bmb-service-spec dt{ color:#7a6390 !important; }
html:has(link[href*="/css/pages/article.css"]) body .bmb-article-preview :is(.bmb-benefit-col, .bmb-bundle-card, .bmb-shop-card, .related-products .product-card){ border-color:#e7ddef !important; }
html:has(link[href*="/css/pages/article.css"]) body .bmb-article-preview :is(.bmb-benefit-col ul li, .bmb-bundle-list li + li, .bmb-bundle-spec-row + .bmb-bundle-spec-row)::before{ background:#a58bbb !important; }
html:has(link[href*="/css/pages/article.css"]) body .bmb-article-preview .bmb-shop-card-badge svg{ fill:#a58bbb !important; }
/* shop-beauty hero: lavender wash instead of the purple drench; the two ambient blobs in violet and lilac */
html:has(link[href*="/css/pages/article.css"]) body .bmb-article-preview .bmb-shop-hero{ background:linear-gradient(180deg,#faf7fc 0%,#f3edf7 100%) !important; }
html:has(link[href*="/css/pages/article.css"]) body .bmb-article-preview .bmb-shop-hero::before{ background:radial-gradient(circle, rgba(165,139,187,.30) 0%, rgba(165,139,187,0) 65%) !important; }
html:has(link[href*="/css/pages/article.css"]) body .bmb-article-preview .bmb-shop-hero::after{ background:radial-gradient(circle, rgba(212,197,227,.45) 0%, rgba(212,197,227,0) 65%) !important; }
html:has(link[href*="/css/pages/article.css"]) body .bmb-article-preview .bmb-shop-hero-display em{ color:#7a6390 !important; }

/* layout fix (was broken before this change): a two-card benefits grid kept its two
   280px columns on phones (the :has() rule outranks the 720px one-column rule), so
   /product/membership/ and similar pages ran off both edges at 390px. */
@media (max-width:720px){
  html:has(link[href*="/css/pages/article.css"]) body .bmb-article-preview .bmb-benefits-grid{ grid-template-columns:1fr !important; }
}

/* ---------- 8. in-article tools (inline <style> blocks in the page HTML) ----------
   checklists, tabs, quizzes, route/step accordions: beige box -> white card with a
   lavender hairline; purple fills/borders/selected states -> plum; purple washes -> lavender */
html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-sleepreg-checker, .bmb-spa-explorer, .bmb-wrap-steps, .bmb-symptom-check, .bmb-jb-quiz,
  .bmb-route-compare, .bmb-cc-chooser, .bmb-cfood-tabs, .bmb-cfood-checklist, .bmb-vet-checklist, .bmb-nanny-checklist, .bmb-fert-checklist,
  .bmb-newborn-checklist, .bmb-postex-tracker, .bmb-rw, .bmb-jb-comparer){
  background:#fff !important; border-color:#e7ddef !important; }
html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-sleepreg-sub, .bmb-sleepreg-count, .bmb-spa-sub, .bmb-spa-note, .bmb-wrap-steps-sub, .bmb-route-sub,
  .bmb-cc-sub, .bmb-cc-note, .bmb-cfood-sub, .bmb-cfood-check-sub, .bmb-cfood-count, .bmb-vet-sub, .bmb-checklist-progress, .bmb-fert-sub, .bmb-fert-count,
  .bmb-newborn-sub, .bmb-newborn-count, .bmb-postex-sub, .bmb-postex-count, .bmb-rw-sub, .bmb-jb-sub){ color:#7a6390 !important; }
/* progress bars */
html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-sleepreg-bar, .bmb-cfood-bar, .bmb-checklist-bar, .bmb-fert-bar, .bmb-newborn-bar, .bmb-postex-bar){ background:#e7ddef !important; }
html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-sleepreg-bar-fill, .bmb-cfood-bar-fill, .bmb-checklist-bar span, .bmb-fert-bar-fill, .bmb-newborn-bar-fill, .bmb-postex-bar-fill){ background:#553f63 !important; }
/* list rows and their dividers */
html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-sleepreg-item, .bmb-cfood-item, .bmb-fert-item, .bmb-newborn-item, .bmb-postex-item, .bmb-check-item, .bmb-vet-item){ border-bottom-color:#e7ddef !important; }
html:has(link[href*="/css/pages/article.css"]) body .bmb-cfood-panel{ border-top-color:#e7ddef !important; }
/* checkboxes / radios */
html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-magazine-preview, .bmb-article-preview) input:is([type="checkbox"], [type="radio"]){ accent-color:#553f63 !important; }
/* checked-state text (purple -> plum; strike line violet) */
html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-sleepreg-item, .bmb-cfood-item, .bmb-fert-item, .bmb-newborn-item, .bmb-postex-item).is-checked :is(span, strong){
  color:#553f63 !important; text-decoration-color:#a58bbb !important; }
html:has(link[href*="/css/pages/article.css"]) body .bmb-check-item input:checked + span{ color:#7a6390 !important; }
/* verdict / result boxes */
html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-sleepreg-verdict, .bmb-cc-result, .bmb-jb-quiz-result, .bmb-postex-caveat, #bmb-sc-result.is-info){
  background:#f3edf7 !important; border-color:#d4c5e3 !important; color:#553f63 !important; }
/* print buttons */
html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-cfood-print, .bmb-fert-print, .bmb-newborn-print, .bmb-postex-print, .bmb-checklist-print){
  background:#f3edf7 !important; border-color:#d4c5e3 !important; color:#553f63 !important; }
html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-cfood-print, .bmb-fert-print, .bmb-newborn-print, .bmb-postex-print, .bmb-checklist-print):is(:hover, :focus-visible){
  background:#e7ddef !important; }
/* tabs (baby spa, confinement food, JB comparer) */
html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-spa-tab, .bmb-cfood-tab, .bmb-jb-tab){ background:#fff !important; border-color:#d4c5e3 !important; color:#553f63 !important; }
html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-spa-tab, .bmb-cfood-tab, .bmb-jb-tab):hover{ background:#f3edf7 !important; border-color:#a58bbb !important; }
html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-spa-tab, .bmb-cfood-tab, .bmb-jb-tab)[aria-selected="true"]{ background:#553f63 !important; border-color:#553f63 !important; color:#fff !important; }
html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-spa-panel, .bmb-jb-panel){ background:#f3edf7 !important; border-color:#d4c5e3 !important; }
html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-spa-panel h5, .bmb-jb-panel dt, .bmb-cfood-panel .bmb-cfood-label){ color:#553f63 !important; }
html:has(link[href*="/css/pages/article.css"]) body .bmb-spa-safety{ background:#fff !important; border-left-color:#553f63 !important; color:#62576a !important; }
/* accordions: step / route / red-flag / vet checklist */
html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-wrap-step, .bmb-route, .bmb-rw-item){ background:#fff !important; border-color:#d4c5e3 !important; }
html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-wrap-step, .bmb-route, .bmb-rw-item)[open]{ background:#f3edf7 !important; border-color:#a58bbb !important; }
html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-wrap-step, .bmb-route, .bmb-rw-item, .bmb-vet-item) summary{ color:#3f3346 !important; }
html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-wrap-step, .bmb-route, .bmb-rw-item, .bmb-vet-item) summary:hover,
html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-rw-item, .bmb-vet-item)[open] summary{ color:#553f63 !important; }
html:has(link[href*="/css/pages/article.css"]) body .bmb-route summary::after{ color:#7a6390 !important; }
html:has(link[href*="/css/pages/article.css"]) body .bmb-vet-why{ border-left-color:#d4c5e3 !important; color:#62576a !important; }
/* keyboard focus rings: plum instead of purple */
html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-spa-tab, .bmb-jb-tab, .bmb-wrap-step summary, .bmb-route summary, .bmb-rw-item summary, .bmb-vet-item summary):focus-visible,
html:has(link[href*="/css/pages/article.css"]) body .bmb-choose-chip input:focus-visible + span{ outline-color:#553f63 !important; }
/* blocked-ducts symptom checker */
html:has(link[href*="/css/pages/article.css"]) body .bmb-symptom-check label{ background:#fff !important; border-color:#e7ddef !important; }
html:has(link[href*="/css/pages/article.css"]) body .bmb-sc-btn{ background:#553f63 !important; color:#fff !important; }
html:has(link[href*="/css/pages/article.css"]) body .bmb-sc-btn:is(:hover, :focus-visible){ background:#43304f !important; }
html:has(link[href*="/css/pages/article.css"]) body .bmb-mag-faqs details{ background:#fff !important; border-color:#e7ddef !important; }
/* JB quiz rows + FAQ */
html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-jb-quiz-item, .bmb-jb-faq-item){ background:#fff !important; border-color:#e7ddef !important; }
/* how-to-choose: comparison table + priority chips */
html:has(link[href*="/css/pages/article.css"]) body .bmb-choose-table :is(th, td){ border-color:#e7ddef !important; }
html:has(link[href*="/css/pages/article.css"]) body .bmb-choose-table thead th{ background:#f3edf7 !important; }
html:has(link[href*="/css/pages/article.css"]) body .bmb-choose-picker{ background:#f3edf7 !important; border-color:#d4c5e3 !important; }
html:has(link[href*="/css/pages/article.css"]) body .bmb-choose-chip span{ background:#fff !important; border-color:#d4c5e3 !important; color:#553f63 !important; }
html:has(link[href*="/css/pages/article.css"]) body .bmb-choose-chip:hover span{ border-color:#a58bbb !important; }
html:has(link[href*="/css/pages/article.css"]) body .bmb-choose-chip input:checked + span{ background:#553f63 !important; border-color:#553f63 !important; color:#fff !important; }
html:has(link[href*="/css/pages/article.css"]) body .bmb-choose-faq details{ border-bottom-color:#e7ddef !important; }

/* =====================================================================
   9. fixes from the combined review (24/09/2026)
   ===================================================================== */

/* ---------- 9a. hero photos: show the whole photo (user report: "Image is cut off") ----------
   article.css forced every hero into a 16:9 cover box, so the 940x788 and square
   photos lost a third or more of their height (heads, bumps, the oil bowl). Show the
   photo at its own ratio, centred, capped at 620px tall; true 16:9 heroes still fill
   the full width as before. The img also inherited .wp-content img{margin:1rem 0},
   which showed the frame as bands above and below: margin removed, frame transparent. */
html:has(link[href*="/css/pages/article.css"]) body .bmb-magazine-preview .bmb-mag-hero{ background:transparent !important; }
html:has(link[href*="/css/pages/article.css"]) body .bmb-magazine-preview .bmb-mag-hero img{
  display:block !important; margin:0 auto !important; aspect-ratio:auto !important; object-fit:contain !important;
  width:auto !important; height:auto !important; max-width:100% !important; max-height:min(620px, 75vh) !important;
  border-radius:14px !important; }
/* product-page hero: the same inherited 1rem margin pushed the photo 17px down in its frame */
html:has(link[href*="/css/pages/article.css"]) body .bmb-article-preview .bmb-service-hero-img img{ margin:0 !important; }
/* ...and at phone/tablet width the frame turns into a 5:3 letterbox, which cut the square
   and portrait product photos to about half their height; let the frame follow the photo
   (the logo tile in 9b keeps its 5:3 frame) */
@media (max-width:880px){
  html:has(link[href*="/css/pages/article.css"]) body .bmb-article-preview .bmb-service-hero-img:not(:has(img[src*="bmb-logo-purple"])){ aspect-ratio:auto !important; }
  html:has(link[href*="/css/pages/article.css"]) body .bmb-article-preview .bmb-service-hero-img:not(:has(img[src*="bmb-logo-purple"])) img{ height:auto !important; aspect-ratio:auto !important; }
}

/* ---------- 9b. the old dark-purple logo tile (gift vouchers, sweet bundles, shop cards) ----------
   not a photo: the logo on a solid #5f2167 square. Show the transparent logo on the
   homepage's lavender final-band gradient instead; box size and ratio unchanged. */
html:has(link[href*="/css/pages/article.css"]) body .bmb-article-preview :is(.bmb-service-hero-img, .bmb-shop-card-img):has(img[src*="bmb-logo-purple"]){
  background:linear-gradient(120deg,#efe6f5 0%,#e2d5ee 100%) !important; }
html:has(link[href*="/css/pages/article.css"]) body .bmb-article-preview img[src*="bmb-logo-purple"]{
  content:url("/wp-content/uploads/2025/05/bmb-logo_p2985c_rgb_fa_v2-768x399.webp");
  object-fit:contain !important; padding:0 16% !important; box-sizing:border-box !important; background:transparent !important; }

/* ---------- 9c. FAQ accordions: hover / open / keyboard feedback ----------
   section 4 pinned the card border and summary colour, which also flattened the
   article.css :hover/[open] states; the focus ring was #e7ddef on white (~1.2:1). */
html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-magazine-preview, .bmb-article-preview) .bmb-faq-item:is(:hover, [open]){ border-color:#d4c5e3 !important; }
html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-magazine-preview, .bmb-article-preview) .bmb-faq-item summary:is(:hover, :focus-visible){ color:#553f63 !important; }
html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-magazine-preview, .bmb-article-preview) .bmb-faq-item summary:focus-visible{ outline:2px solid #7a6390 !important; outline-offset:-2px !important; }
/* final audit 24/09/2026: the newer guides (how to choose a prenatal massage, blocked ducts, chiropractic
   care in Johor Bahru and others) wrote their FAQ as a plain <details> list with small triangle markers,
   while the older articles use the white card accordion with a chevron. Same card here: white fill, lilac
   hairline, 14px corners, the question in the card type with a chevron on the right, the answer under a
   hairline. Layout only; no words change. */
html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-choose-faq, .bmb-mag-faqs, .bmb-jb-faq) > details:not(.bmb-faq-item){
  background:#fff !important; border:1px solid #e7ddef !important; border-radius:14px !important; margin:0 0 .8rem !important; padding:0 !important;
  overflow:hidden; box-shadow:0 1px 3px rgba(80,55,95,.05), 0 6px 16px rgba(80,55,95,.06) !important; transition:border-color .2s ease, box-shadow .2s ease; }
html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-choose-faq, .bmb-mag-faqs, .bmb-jb-faq) > details:not(.bmb-faq-item):is(:hover, [open]){ border-color:#d4c5e3 !important; }
html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-choose-faq, .bmb-mag-faqs, .bmb-jb-faq) > details:not(.bmb-faq-item)[open]{ box-shadow:0 4px 14px rgba(80,55,95,.08) !important; }
html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-choose-faq, .bmb-mag-faqs, .bmb-jb-faq) > details:not(.bmb-faq-item) > summary{
  list-style:none; cursor:pointer; position:relative; margin:0 !important; padding:1.1rem 3rem 1.1rem 1.4rem !important;
  font-family:var(--serif, Quicksand, system-ui, sans-serif) !important; font-size:1.15rem !important; font-weight:500 !important; line-height:1.35 !important;
  letter-spacing:-.003em; color:#3f3346 !important; }
html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-choose-faq, .bmb-mag-faqs, .bmb-jb-faq) > details:not(.bmb-faq-item) > summary::-webkit-details-marker{ display:none; }
html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-choose-faq, .bmb-mag-faqs, .bmb-jb-faq) > details:not(.bmb-faq-item) > summary::marker{ content:""; }
html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-choose-faq, .bmb-mag-faqs, .bmb-jb-faq) > details:not(.bmb-faq-item) > summary::after{
  content:""; position:absolute; right:1.4rem; top:50%; width:10px; height:10px;
  border-right:2px solid #43304f; border-bottom:2px solid #43304f; transform:translateY(-70%) rotate(45deg); transition:transform .25s cubic-bezier(.2,.7,.3,1); }
html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-choose-faq, .bmb-mag-faqs, .bmb-jb-faq) > details:not(.bmb-faq-item)[open] > summary::after{ transform:translateY(-30%) rotate(-135deg); }
html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-choose-faq, .bmb-mag-faqs, .bmb-jb-faq) > details:not(.bmb-faq-item) > summary:is(:hover, :focus-visible){ color:#553f63 !important; }
html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-choose-faq, .bmb-mag-faqs, .bmb-jb-faq) > details:not(.bmb-faq-item) > summary:focus-visible{ outline:2px solid #7a6390 !important; outline-offset:-2px !important; }
html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-choose-faq, .bmb-mag-faqs, .bmb-jb-faq) > details:not(.bmb-faq-item) > :not(summary){ margin:0 !important; padding:0 1.4rem !important; }
html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-choose-faq, .bmb-mag-faqs, .bmb-jb-faq) > details:not(.bmb-faq-item) > summary + *{ border-top:1px solid #f3edf7; padding-top:1rem !important; }
html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-choose-faq, .bmb-mag-faqs, .bmb-jb-faq) > details:not(.bmb-faq-item) > :not(summary) + :not(summary){ padding-top:.8rem !important; }
html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-choose-faq, .bmb-mag-faqs, .bmb-jb-faq) > details:not(.bmb-faq-item) > :not(summary):last-child{ padding-bottom:1.2rem !important; }
@media (max-width:640px){
  html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-choose-faq, .bmb-mag-faqs, .bmb-jb-faq) > details:not(.bmb-faq-item) > summary{ font-size:1.05rem !important; padding:.95rem 2.6rem .95rem 1.1rem !important; }
  html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-choose-faq, .bmb-mag-faqs, .bmb-jb-faq) > details:not(.bmb-faq-item) > :not(summary){ padding-left:1.1rem !important; padding-right:1.1rem !important; }
  html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-choose-faq, .bmb-mag-faqs, .bmb-jb-faq) > details:not(.bmb-faq-item) > :not(summary):last-child{ padding-bottom:1rem !important; }
}

/* ---------- 9d. small readability / layout fixes (all older than the soft theme) ---------- */
/* home-remedy card numbers 01-06: violet at 40% opacity was ~1.5:1 on white */
html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-magazine-preview, .bmb-article-preview) .bmb-mag-remedy::before{ color:#7a6390 !important; opacity:.75 !important; }
/* JB self-check "See my result": a bare .bmb-cta on a <button> kept the browser's
   default font and padding; give it the plum pill shape the other CTAs have */
html:has(link[href*="/css/pages/article.css"]) body .bmb-magazine-preview .bmb-jb-quiz .bmb-jb-quiz-btn{
  font:600 1rem/1.2 Mulish, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif !important;
  padding:.8rem 1.6rem !important; border-radius:999px !important; border:0 !important; cursor:pointer;
  margin:.85rem 0 .6rem !important; }
/* bengkung wrap steps: the opened answer ran flush against the panel's left edge */
html:has(link[href*="/css/pages/article.css"]) body .bmb-magazine-preview .bmb-mag-body .bmb-wrap-step > p{ margin:.1rem .9rem .8rem !important; }

/* ---------- 9e. "Live event" strip above the header: teal/blue gradient -> thin plum bar ---------- */
html:has(link[href*="/css/pages/article.css"]) body .bmb-event-strip{ background:#553f63 !important; background-image:none !important; color:#fff !important; }
html:has(link[href*="/css/pages/article.css"]) body .bmb-event-strip :is(a, strong){ color:#fff !important; }
html:has(link[href*="/css/pages/article.css"]) body .bmb-event-strip a:is(:hover, :focus-visible){ color:#f3edf7 !important; }
html:has(link[href*="/css/pages/article.css"]) body .bmb-event-strip a:focus-visible{ outline:2px solid #fff !important; outline-offset:2px; }
html:has(link[href*="/css/pages/article.css"]) body .bmb-event-strip .bmb-event-strip-tag{ background:rgba(255,255,255,.18) !important; color:#fff !important; }
/* with the phone menu open the strip (z-index 60) sat over the header (50) and swallowed taps on the close X */
html:has(link[href*="/css/pages/article.css"]) body.mobile-nav-open .bmb-event-strip{ z-index:40 !important; }

/* ---------- 9f. header icons (search / account / cart): hover fill and focus ring ----------
   style.css and js/bmb-search.js still use a white ring and a white 16% fill, both
   invisible on the white header; signed-in initials were #8d319b */
html:has(link[href*="/css/pages/article.css"]) body .site-header :is(.nav-search-btn, .nav-account, .nav-cart):focus-visible{ outline:2px solid #553f63 !important; outline-offset:2px !important; }
@media (min-width:769px){
  html:has(link[href*="/css/pages/article.css"]) body .site-header :is(.nav-search-btn, .nav-account, .nav-cart):is(:hover, :focus-visible){ background:#f3edf7 !important; border-color:#d4c5e3 !important; }
  html:has(link[href*="/css/pages/article.css"]) body .site-header .primary-nav .nav-root > li.nav-account-item > a.nav-account.is-in{ background:#553f63 !important; border-color:#553f63 !important; color:#fff !important; }
}

/* ---------- 9g. phone menu drawer ----------
   section 1 turns --bg/--bg-2 mist, so the open drawer is mist, but style.css still
   draws its details for the old purple: cream label and phone number, white tile
   borders and fills, cream hairlines. Same approach as the A, C and F fragments. */
@media (max-width:768px){
  html:has(link[href*="/css/pages/article.css"]) body .site-header .primary-nav .nav-root > li.has-submenu{ border-bottom-color:#e7ddef !important; }
  html:has(link[href*="/css/pages/article.css"]) body .site-header .primary-nav .nav-root > li.has-submenu.is-expanded > a{ color:#7a6390 !important; }
  html:has(link[href*="/css/pages/article.css"]) body .site-header .primary-nav .submenu{ background:transparent !important; }
  html:has(link[href*="/css/pages/article.css"]) body .site-header .primary-nav .submenu a,
  html:has(link[href*="/css/pages/article.css"]) body .site-header .primary-nav .flyout-cat-label{ color:#3f3346 !important; background:transparent !important; }
  html:has(link[href*="/css/pages/article.css"]) body .site-header .primary-nav .submenu a:is(:hover, :focus-visible),
  html:has(link[href*="/css/pages/article.css"]) body .site-header .primary-nav .flyout-cat.is-open > .flyout-cat-label{ color:#553f63 !important; }
  /* search field */
  html:has(link[href*="/css/pages/article.css"]) body .site-header .primary-nav .nav-search-item .nav-search-btn{
    background:#fff !important; border-color:#d4c5e3 !important; color:#62576a !important; }
  html:has(link[href*="/css/pages/article.css"]) body .site-header .primary-nav .nav-search-item .nav-search-btn:is(:hover, :focus-visible){
    background:#f3edf7 !important; border-color:#a58bbb !important; }
  html:has(link[href*="/css/pages/article.css"]) body .site-header .primary-nav .nav-search-item .nav-search-label{ color:#62576a !important; }
  /* Sign in / Cart tiles */
  html:has(link[href*="/css/pages/article.css"]) body .site-header .primary-nav .nav-root > li.nav-account-item > a.nav-account,
  html:has(link[href*="/css/pages/article.css"]) body .site-header .primary-nav .nav-root > li.nav-cart-item > a.nav-cart,
  html:has(link[href*="/css/pages/article.css"]) body .site-header .primary-nav .nav-root > li.nav-account-item > a.nav-account.is-in{
    background:#fff !important; border-color:#d4c5e3 !important; color:#553f63 !important; }
  html:has(link[href*="/css/pages/article.css"]) body .site-header .primary-nav .nav-root > li.nav-account-item > a.nav-account:is(:hover, :focus-visible),
  html:has(link[href*="/css/pages/article.css"]) body .site-header .primary-nav .nav-root > li.nav-cart-item > a.nav-cart:is(:hover, :focus-visible){
    background:#f3edf7 !important; border-color:#a58bbb !important; }
  html:has(link[href*="/css/pages/article.css"]) body .site-header .primary-nav :is(.nav-account-face, .nav-cart-face){ border-color:#a58bbb !important; }
  html:has(link[href*="/css/pages/article.css"]) body .site-header .primary-nav .nav-account.is-in .nav-account-face{
    background:#553f63 !important; border-color:#553f63 !important; color:#fff !important; }
  /* phone line */
  html:has(link[href*="/css/pages/article.css"]) body .site-header .primary-nav .nav-root > li.nav-tel-item > a.nav-tel{ color:#62576a !important; }
  html:has(link[href*="/css/pages/article.css"]) body .site-header .primary-nav .nav-tel strong{ color:#553f63 !important; }
}

/* ---------- 9h. search overlay (styles injected by js/bmb-search.js) ----------
   deep-purple page scrim, #8d319b focus ring and icon, #6e2479-on-pink result tags */
html:has(link[href*="/css/pages/article.css"]) body .bmb-search-backdrop{ background:rgba(63,51,70,.28) !important; }
html:has(link[href*="/css/pages/article.css"]) body .bmb-search-panel{
  background:#fff !important; border-color:#e7ddef !important; box-shadow:0 30px 70px -28px rgba(63,51,70,.35) !important; }
html:has(link[href*="/css/pages/article.css"]) body .bmb-search-field{ border-color:#d4c5e3 !important; }
html:has(link[href*="/css/pages/article.css"]) body .bmb-search-field:focus-within{ border-color:#553f63 !important; box-shadow:0 0 0 3px rgba(212,197,227,.55) !important; }
html:has(link[href*="/css/pages/article.css"]) body .bmb-search-field svg{ color:#553f63 !important; }
html:has(link[href*="/css/pages/article.css"]) body .bmb-search-input{ color:#3f3346 !important; }
html:has(link[href*="/css/pages/article.css"]) body .bmb-search-input::-webkit-search-cancel-button{ filter:grayscale(1) !important; }
html:has(link[href*="/css/pages/article.css"]) body .bmb-search-opt{ color:#3f3346 !important; }
html:has(link[href*="/css/pages/article.css"]) body :is(.bmb-search-opt:hover, .bmb-search-opt.is-active){ background:#f3edf7 !important; }
html:has(link[href*="/css/pages/article.css"]) body .bmb-search-opt-c{ color:#553f63 !important; background:#e7ddef !important; }
html:has(link[href*="/css/pages/article.css"]) body .bmb-search-close:is(:hover, :focus-visible){ color:#553f63 !important; }


/* ================= page family: C_cream ================= */
/* =====================================================================
   Soft theme, family C_cream: the body.cream-page pages (about, contact,
   partners, portfolio, terms + data protection, the six blog category
   archives, promotions, events + the event page) and the classless 404.
   Loaded after soft-base.css. Colour only: no text, layout or spacing
   changes. Palette: plum #553f63, plum-2 #7a6390, violet #a58bbb,
   lavender #f3edf7 / #e7ddef, lilac #d4c5e3, mist #faf7fc, ink #3f3346,
   body #62576a, gold #8c6a2c (stars only), white.
   Rules that must beat the page CSS's own body.cream-page ... !important
   overrides use the prefix "html body.cream-page:not(#_c)" (one id's
   worth of specificity, still only matching these pages).
   ===================================================================== */

/* ---------- 1. page surface + tokens ---------- */
html:has(> body.cream-page){ background:#fff !important; }
html body.cream-page{
  background:#fff !important;
  /* cream-page.css tokens -> soft palette */
  --c-paper:#fff; --c-cream:#f3edf7; --c-soft:#f3edf7; --c-card:#fff;
  --c-ink:#553f63; --c-body:#62576a; --c-muted:#7a6390;  /* headings plum, like the homepage */
  --c-plum:#553f63; --c-purple:#553f63; --c-line:#e7ddef;
  /* style.css tokens still pointing at the old deep purples */
  --navy:#553f63; --navy-dk:#43304f; --spectrum-5:#a58bbb;
}
/* surface tokens are remapped inside <main> only: the header's mobile menu
   panel still uses --bg-2 / --cream outside it */
html body.cream-page main{
  background:#fff !important;
  --bg:#f3edf7; --bg-2:#f3edf7; --bg-3:#e7ddef;
  /* beige card surfaces -> lavender, like the homepage cards */
  --cream:#f3edf7; --surface:#f3edf7;
  --line-rose:#d4c5e3;
  /* style.css "--gold" is periwinkle #7fa8e8 (numerals, bullets, quote marks):
     not in the soft palette, and ~2.1:1 as text on lavender */
  --gold:#7a6390; --gold-dk:#553f63;
}

/* ---------- 2. shared type accents ---------- */
html body.cream-page main :is(h1,h2,h3,h4) em{ color:#7a6390 !important; }
html body.cream-page main [class*="-hero-display"] em{ color:#7a6390 !important; }
html body.cream-page main .bmb-eyebrow{ color:#553f63 !important; }
html body.cream-page main .bmb-eyebrow::before{ background:#a58bbb !important; }
html body.cream-page main strong{ color:#553f63 !important; }
html body.cream-page main a:not(.bmb-cta):not([class*="btn"]){ color:#553f63; text-decoration-color:rgba(85,63,99,.35); }
html body.cream-page main a:not(.bmb-cta):not([class*="btn"]):hover,
html body.cream-page main a:not(.bmb-cta):not([class*="btn"]):focus-visible{ color:#7a6390 !important; text-decoration-color:#7a6390; }

/* ---------- 3. buttons ---------- */
html body.cream-page main .bmb-cta--primary,
html body.cream-page main .contact-form-submit{
  background:#553f63 !important; color:#fff !important; border-color:#553f63 !important;
  box-shadow:0 10px 24px -8px rgba(85,63,99,.30) !important; }
html body.cream-page main .bmb-cta--primary:hover,
html body.cream-page main .contact-form-submit:hover{
  background:#43304f !important; color:#fff !important; box-shadow:0 14px 30px -10px rgba(85,63,99,.36) !important; }
html body.cream-page main .bmb-cta--primary svg,
html body.cream-page main .bmb-cta--primary svg *{ fill:currentColor !important; }
html body.cream-page main .bmb-cta--ghost{
  background:#fff !important; color:#553f63 !important; border:1px solid #d4c5e3 !important; box-shadow:none !important; }
html body.cream-page main .bmb-cta--ghost:hover,
html body.cream-page main .bmb-cta--ghost:focus-visible{
  background:#f3edf7 !important; color:#553f63 !important; border-color:#a58bbb !important; }

/* ---------- 4. forms ---------- */
html body.cream-page main :is(input,select,textarea):not([type="checkbox"]):not([type="radio"]){ border-color:#d4c5e3 !important; }
html body.cream-page main :is(input,select,textarea):focus{
  border-color:#a58bbb !important; box-shadow:0 0 0 3px rgba(165,139,187,.28) !important; }
html body.cream-page main input[type="checkbox"]{ accent-color:#553f63 !important; }

/* ---------- 5. hero glows: lavender instead of purple / blue ---------- */
html body.cream-page main :is(.about-hero,.contact-hero,.partners-hero,.portfolio-hero,.terms-hero)::before,
html body.cream-page main :is(.about-hero,.contact-hero,.partners-hero,.portfolio-hero,.terms-hero)::after{
  background:radial-gradient(circle, rgba(212,197,227,.55) 0%, rgba(231,221,239,.28) 50%, rgba(231,221,239,0) 70%) !important; }
html body.cream-page main .partners-hero{ background:linear-gradient(180deg,#f3edf7 0%,rgba(243,237,247,0) 70%) !important; }
html body.cream-page:not(#_c) main [class*="-hero-h1"]{ color:#7a6390 !important; }
html body.cream-page:not(#_c) main [class*="-hero-display"]{ color:#553f63 !important; }
html body.cream-page:not(#_c) main [class*="-hero-display"] em{ color:#7a6390 !important; }
html body.cream-page:not(#_c) main [class*="-hero-lead"]{ color:#62576a !important; }

/* ---------- 6. big purple bands -> the homepage's lavender final band ---------- */
html body.cream-page:not(#_c) main :is(.about-cta,.contact-cta,.partners-cta,.portfolio-cta,.terms-cta,.about-numbers,.portfolio-stats){
  background:linear-gradient(120deg,#efe6f5 0%,#e2d5ee 100%) !important; }
html body.cream-page:not(#_c) main :is(.about-cta,.contact-cta,.partners-cta,.portfolio-cta,.terms-cta,.about-numbers,.portfolio-stats) :is(h1,h2,h3,h4){ color:#553f63 !important; }
html body.cream-page:not(#_c) main :is(.about-cta,.contact-cta,.partners-cta,.portfolio-cta,.terms-cta,.about-numbers,.portfolio-stats) :is(p,li,span,dd,dt,blockquote,figcaption,small):not(.bmb-cta):not(.bmb-eyebrow):not([class*="-stat-"]){ color:#62576a !important; }
html body.cream-page:not(#_c) main :is(.about-cta,.contact-cta,.partners-cta,.portfolio-cta,.terms-cta,.about-numbers,.portfolio-stats) :is(em){ color:#7a6390 !important; }
html body.cream-page:not(#_c) main :is(.about-cta,.contact-cta,.partners-cta,.portfolio-cta,.terms-cta,.about-numbers,.portfolio-stats) strong{ color:#553f63 !important; }
/* small uppercase eyebrows on the band: plum (#7a6390 was ~3.7:1 on #e2d5ee) */
html body.cream-page:not(#_c) main :is(.about-cta,.contact-cta,.partners-cta,.portfolio-cta,.terms-cta,.about-numbers,.portfolio-stats) .bmb-eyebrow{ color:#553f63 !important; }
html body.cream-page:not(#_c) main :is(.about-cta,.contact-cta,.partners-cta,.portfolio-cta,.terms-cta) .bmb-cta--primary{
  background:#553f63 !important; color:#fff !important; border:1px solid #553f63 !important; box-shadow:0 10px 24px -8px rgba(85,63,99,.30) !important; }
html body.cream-page:not(#_c) main :is(.about-cta,.contact-cta,.partners-cta,.portfolio-cta,.terms-cta) .bmb-cta--primary:hover{ background:#43304f !important; color:#fff !important; }
html body.cream-page:not(#_c) main :is(.about-cta,.contact-cta,.partners-cta,.portfolio-cta,.terms-cta) .bmb-cta--ghost{
  background:#fff !important; color:#553f63 !important; border:1px solid #d4c5e3 !important; }
html body.cream-page:not(#_c) main :is(.about-cta,.contact-cta,.partners-cta,.portfolio-cta,.terms-cta) .bmb-cta--ghost:hover{
  background:#f3edf7 !important; color:#553f63 !important; border-color:#a58bbb !important; }

/* stat figures on those bands: solid plum numbers, gold stars */
html body.cream-page:not(#_c) main :is(.about-stat-num,.portfolio-stat-num,.contact-stat-num){
  background:none !important; -webkit-background-clip:border-box !important; background-clip:border-box !important;
  color:#553f63 !important; -webkit-text-fill-color:#553f63 !important; }
html body.cream-page:not(#_c) main :is(.about-stat-plus,.portfolio-stat-suffix,.contact-stat-suffix){ color:#7a6390 !important; -webkit-text-fill-color:#7a6390 !important; }
/* final audit 24/09/2026: gold #b8924f was 2.1 to 2.5:1 on these lavender bands (3:1 needed for the star
   rating); #8c6a2c is 3.6:1 or better on every band and 5:1 on white */
html body.cream-page:not(#_c) main :is(.about-stat-star,.portfolio-stat-suffix[aria-hidden="true"]){ color:#8c6a2c !important; -webkit-text-fill-color:#8c6a2c !important; }
html body.cream-page:not(#_c) main :is(.about-stat-label,.portfolio-stat-label,.contact-stat-label){ color:#553f63 !important; }
html body.cream-page:not(#_c) main :is(.about-stat-detail,.portfolio-stat-detail){ color:#62576a !important; }
html body.cream-page main :is(.about-stat,.portfolio-stats-grid li,.contact-stat):not(:last-child)::after{
  background:linear-gradient(180deg, transparent, #d4c5e3, transparent) !important; }
html body.cream-page main :is(.portfolio-stats,.contact-stats)::before{ background:radial-gradient(ellipse, rgba(255,255,255,.35) 0%, transparent 65%) !important; }

/* ---------- 7. about-us ---------- */
html body.cream-page:not(#_c) main .about-founder-quote{
  background:#f3edf7 !important; border:1px solid #e7ddef !important; box-shadow:0 14px 30px -18px rgba(85,63,99,.18) !important; }
html body.cream-page:not(#_c) main .about-founder-quote :is(p,blockquote,span,li,em,strong){ color:#553f63 !important; }
html body.cream-page:not(#_c) main .about-founder-quote :is(figcaption,cite,small),
html body.cream-page:not(#_c) main .about-founder-quote figcaption *{ color:#7a6390 !important; }
html body.cream-page:not(#_c) main .about-founder-quote::before{ color:#a58bbb !important; }
html body.cream-page main .about-hero-visual{ outline-color:#e7ddef !important; box-shadow:0 24px 60px -20px rgba(85,63,99,.22) !important; }
html body.cream-page main .about-award:hover{ filter:drop-shadow(0 8px 24px rgba(85,63,99,.16)) !important; }
html body.cream-page main .about-mission{ background:#f3edf7 !important; }
html body.cream-page main .about-mission-body::before,
html body.cream-page main .about-mission-body::after{ background:#a58bbb !important; }
html body.cream-page main :is(.about-pillars li,.about-journey-grid li){ background:#fff !important; border-color:#e7ddef !important; }
html body.cream-page main :is(.about-pillars li,.about-journey-grid li):hover{ border-color:#d4c5e3 !important; box-shadow:0 16px 40px -18px rgba(85,63,99,.20) !important; }
html body.cream-page main .about-pillars li:hover h3{ color:#553f63 !important; }
/* phone: the 5/4 crop was centred and cut the "BEAUTY MUMS &" shop sign off the top */
@media (max-width:900px){
  html body.cream-page main .about-preview .about-hero-visual{ background-position:50% 0 !important; }
}
html body.cream-page main .about-pillar-num{ color:#7a6390 !important; }
html body.cream-page main .about-philosophy-body p::first-letter{ color:#553f63 !important; }
html body.cream-page main .about-journey-grid li::before{ color:rgba(165,139,187,.30) !important; -webkit-text-fill-color:rgba(165,139,187,.30) !important; }
html body.cream-page:not(#_c) main .about-journey-when{ color:#7a6390 !important; }

/* ---------- 8. contact-us ---------- */
html body.cream-page main .contact-channel{ border-color:#e7ddef !important; }
html body.cream-page main .contact-channel:hover{ border-color:#d4c5e3 !important; box-shadow:0 16px 36px -16px rgba(85,63,99,.18) !important; }
html body.cream-page main .contact-channel-icon{ background:#fff !important; color:#553f63 !important; }
html body.cream-page main :is(.contact-location,.contact-form){ border-color:#e7ddef !important; }
html body.cream-page main .contact-location:hover{ border-color:#d4c5e3 !important; box-shadow:0 16px 36px -16px rgba(85,63,99,.18) !important; }
html body.cream-page main .contact-preview .contact-location-meta{ border-top-color:#e7ddef !important; border-bottom-color:#e7ddef !important; }
/* "WhatsApp us directly" in the form intro: plum text alone read as body copy.
   Its own underline was border-bottom var(--brand-100), now #f3edf7 = invisible */
html body.cream-page main .contact-preview .contact-form-lead a{
  font-weight:600 !important; border-bottom:1px solid #a58bbb !important; }
html body.cream-page main .contact-preview .contact-form-lead a:hover,
html body.cream-page main .contact-preview .contact-form-lead a:focus-visible{ border-bottom-color:#553f63 !important; }
/* phone: the Johor Bahru email could not wrap and ran out of the card */
@media (max-width:600px){
  html body.cream-page main .contact-preview .contact-location-meta{ grid-template-columns:min-content minmax(0,1fr); }
  html body.cream-page main .contact-preview .contact-location-meta dd a[href^="mailto:"]{ overflow-wrap:anywhere; }
}

/* ---------- 9. partners ---------- */
html body.cream-page main .partner-eyebrow{ color:#553f63 !important; }
html body.cream-page main .partner-eyebrow::before{ background:#a58bbb !important; }
html body.cream-page main .partner-logo{ background:#f3edf7 !important; border-color:#e7ddef !important; }
html body.cream-page main .partner-logo::before{ background:radial-gradient(circle, rgba(255,255,255,.7) 0%, transparent 60%) !important; }
html body.cream-page main .partners-loc-contact a{ border-bottom-color:#d4c5e3 !important; }
html body.cream-page main .partners-loc-contact a:hover{ border-bottom-color:#7a6390 !important; }
html body.cream-page main :is(.partners-why-grid li,.partners-location,.partners-hero-meta > *){ border-color:#e7ddef !important; }
html body.cream-page main :is(.partners-why-grid li,.partners-location):hover{ border-color:#d4c5e3 !important; box-shadow:0 16px 36px -16px rgba(85,63,99,.18) !important; }
html body.cream-page main .partner-perks li::before,
html body.cream-page main .partner-card li::before{ background:#a58bbb !important; }

/* ---------- 10. portfolio ---------- */
html body.cream-page main :is(.portfolio-story,.portfolio-platform a,.portfolio-press-grid li){ border-color:#e7ddef !important; }
html body.cream-page main :is(.portfolio-story,.portfolio-platform a):hover{ border-color:#d4c5e3 !important; box-shadow:0 16px 36px -16px rgba(85,63,99,.18) !important; }
html body.cream-page main .portfolio-press-grid li{ background:#fff !important; color:#3f3346 !important; box-shadow:0 6px 18px -10px rgba(85,63,99,.25) !important; }
html body.cream-page main .portfolio-press-grid li:hover{ box-shadow:0 10px 24px -10px rgba(85,63,99,.32) !important; }
html body.cream-page main .portfolio-story-tag{ background:#fff !important; color:#553f63 !important; border-color:#e7ddef !important; }
html body.cream-page:not(#_c) main .portfolio-story-tag :is(span,p,em,strong){ color:#553f63 !important; }
html body.cream-page main .portfolio-platform a:hover .portfolio-platform-cta{ color:#7a6390 !important; }
/* testimonial stars gold, like the homepage (cream-page.css forces every span body-grey) */
html body.cream-page:not(#_c) main .portfolio-story-stars{ color:#8c6a2c !important; }
html body.cream-page main .portfolio-preview .portfolio-story::before{ color:#a58bbb !important; }
html body.cream-page main .portfolio-preview .portfolio-story footer{ border-top-color:#d4c5e3 !important; }

/* ---------- 11. terms + data protection ---------- */
html body.cream-page main .terms-hero-meta{ border-top-color:#e7ddef !important; }
html body.cream-page main :is(.terms-glance,.terms-group){ border-color:#e7ddef !important; }
html body.cream-page main :is(.terms-glance-stat,.terms-toc-inner,.terms-article,.terms-table-wrap){ border-color:#e7ddef !important; }
html body.cream-page main :is(.terms-glance-stat,.terms-article):hover{ border-color:#d4c5e3 !important; box-shadow:0 16px 36px -18px rgba(85,63,99,.16) !important; }
html body.cream-page main .terms-article-head{ border-bottom-color:#e7ddef !important; }
html body.cream-page main .terms-preview :is(th,td){ border-bottom-color:#e7ddef !important; }
html body.cream-page main .terms-toc-list a:hover{ border-bottom-color:#7a6390 !important; }
/* TOC numerals + list bullets were periwinkle var(--gold) */
html body.cream-page main .terms-preview .terms-toc-list a::before{ color:#7a6390 !important; }
html body.cream-page main .terms-preview .terms-article ul li::before{ background:#a58bbb !important; }
/* table caption was var(--cream) on a light card: invisible */
html body.cream-page main .terms-table caption{ color:#7a6390 !important; }
html body.cream-page main .terms-table th{ background:#faf7fc !important; color:#553f63 !important; }

/* ---------- 12. blog category archives + promotions ---------- */
html body.cream-page main :is(.categories-preview .bmb-post-card h3 a,.products-preview .bmb-product-card h3 a){ color:#553f63 !important; }
html body.cream-page main :is(.categories-preview .bmb-post-card h3 a,.products-preview .bmb-product-card h3 a):hover{ color:#7a6390 !important; }
html body.cream-page main :is(.bmb-post-card-cta,.bmb-product-card-cta){ color:#553f63 !important; }
html body.cream-page main :is(.bmb-post-card-cta,.bmb-product-card-cta):hover{ color:#7a6390 !important; }
html body.cream-page main :is(.bmb-post-card-img,.bmb-product-card-img){ background:linear-gradient(135deg,#faf7fc,#f3edf7) !important; }
html body.cream-page main :is(.bmb-post-card-img--empty,.bmb-product-card-img--empty)::after{ color:#d4c5e3 !important; }
/* phone: categories.css forces 2 x minmax(280px,360px) for 2- and 4-card archives
   with :has() rules that outrank its own mobile 1fr, so the cards ran off both edges */
@media (max-width:720px){
  html body.cream-page main .categories-preview .bmb-post-grid{ grid-template-columns:minmax(0,1fr) !important; }
}
/* promo cards: the square 300x300 graphic was cropped top and bottom by a 4/3 box */
html body.cream-page main .products-preview .bmb-product-card-img{ aspect-ratio:1/1 !important; }
html body.cream-page main .bmb-promo-pause{
  background:#faf7fc !important; border:1px solid #e7ddef !important; } /* final audit: the 4px plum side stripe is gone */
html body.cream-page main .bmb-promo-pause-eyebrow{ color:#7a6390 !important; }
html body.cream-page main .bmb-promo-pause-msg a{ color:#553f63 !important; }
html body.cream-page main .bmb-promo-pause-msg a:hover{ color:#7a6390 !important; }

/* ---------- 13. events index ---------- */
html body.cream-page main .bmb-events-empty{ background:#f3edf7 !important; border:1px solid #e7ddef; color:#62576a !important; }
html body.cream-page main .bmb-events-card{ background:#fff !important; border-color:#e7ddef !important; }
html body.cream-page main .bmb-events-grid--past .bmb-events-card{ background:#f3edf7 !important; }
html body.cream-page main :is(.bmb-events-card-tag,.bmb-events-card-cta){ color:#7a6390 !important; }
html body.cream-page main .bmb-events-card-cta span{ color:inherit !important; }
html body.cream-page main .bmb-events-card-name{ color:#553f63 !important; }

/* ---------- 14. event page (photo hero keeps its photo; scrim goes neutral) ---------- */
html body.cream-page .bmb-event{
  --evt-card:#f3edf7; --evt-ink:#3f3346; --evt-body:#62576a; --evt-muted:#7a6390;
  --evt-line:#e7ddef; --evt-accent:#553f63; --evt-accent-soft:#e7ddef; }
html body.cream-page .bmb-event-hero--brand{ background:linear-gradient(135deg,#553f63 0%,#7a6390 100%) !important; }
html body.cream-page .bmb-event-hero-scrim{
  background:linear-gradient(180deg, rgba(47,38,53,.22) 0%, rgba(47,38,53,.42) 40%, rgba(40,32,46,.86) 100%) !important; }
/* cream-page.css paints every heading/paragraph in <main> dark; on the photo that was unreadable */
html body.cream-page:not(#_c) main .bmb-event-hero-content :is(h1,h2,p,span,li,small,time,strong){ color:#fff !important; }
html body.cream-page:not(#_c) main .bmb-event-hero-content .bmb-event-h1 em{ color:#e7ddef !important; }
html body.cream-page:not(#_c) main .bmb-event-hero-content .bmb-event-eyebrow{ color:#f3edf7 !important; }
html body.cream-page:not(#_c) main .bmb-event-hero-content .bmb-event-lead{ color:rgba(255,255,255,.94) !important; }
html body.cream-page:not(#_c) main .bmb-event-hero .bmb-event-hero-ctas .bmb-cta--primary{
  background:#553f63 !important; color:#fff !important; border:1px solid #553f63 !important; box-shadow:0 12px 30px -10px rgba(20,14,24,.55) !important; }
html body.cream-page:not(#_c) main .bmb-event-hero .bmb-event-hero-ctas .bmb-cta--primary:hover{ background:#43304f !important; }
html body.cream-page:not(#_c) main .bmb-event-hero .bmb-event-hero-ctas .bmb-cta--primary *{ color:#fff !important; fill:#fff !important; }
html body.cream-page:not(#_c) main .bmb-event-hero .bmb-event-hero-ctas .bmb-cta--ghost{
  background:rgba(47,38,53,.42) !important; color:#fff !important; border:1.5px solid rgba(255,255,255,.8) !important; }
html body.cream-page:not(#_c) main .bmb-event-hero .bmb-event-hero-ctas .bmb-cta--ghost:hover{ background:rgba(47,38,53,.62) !important; border-color:#fff !important; }
html body.cream-page:not(#_c) main .bmb-event-hero .bmb-event-hero-ctas .bmb-cta--ghost *{ color:#fff !important; }
html body.cream-page main :is(.bmb-event-factbar,.bmb-event-days li,.bmb-event-why-card,.bmb-event-related a,.bmb-event-form-section,.bmb-event .bmb-faq-item){
  box-shadow:0 10px 28px -18px rgba(85,63,99,.30) !important; }
html body.cream-page main .bmb-event-related a:hover{ background:#e7ddef !important; box-shadow:0 14px 30px -16px rgba(85,63,99,.34) !important; }
html body.cream-page:not(#_c) main .bmb-event-why-num{ background:#553f63 !important; color:#fff !important; }
html body.cream-page main .bmb-event-form-section .contact-form :is(input,select,textarea){ border-color:#d4c5e3 !important; background:#fff !important; }
html body.cream-page main .bmb-event-form-section .contact-form-consent a{ color:#553f63 !important; }

/* ---------- 15. 404 (no body class; the only page whose <main> is just section.hero) ---------- */
html:has(> body:not([class]) > main > section.hero:only-child){ background:#fff !important; }
html body:not([class]) > main:has(> section.hero:only-child){ background:#fff !important; }
html body:not([class]) > main > section.hero:only-child{ background:linear-gradient(180deg,#faf7fc 0%,#f3edf7 100%) !important; border-radius:24px; }
html body:not([class]) > main > section.hero:only-child h1{ color:#553f63 !important; }
html body:not([class]) > main > section.hero:only-child p{ color:#62576a !important; }
html body:not([class]) > main > section.hero:only-child a:not(.cta){ color:#553f63 !important; }
html body:not([class]) > main > section.hero:only-child a:not(.cta):hover{ color:#7a6390 !important; }
/* quick links read as plain text without an underline */
html body:not([class]) > main > section.hero:only-child ul a{
  text-decoration:underline; text-decoration-color:#a58bbb; text-decoration-thickness:1px; text-underline-offset:3px; }
html body:not([class]) > main > section.hero:only-child ul a:hover{ text-decoration-color:#7a6390; }
html body:not([class]) > main > section.hero:only-child .cta{ background:#553f63 !important; color:#fff !important; border-color:#553f63 !important; }
html body:not([class]) > main > section.hero:only-child .cta:hover{ background:#43304f !important; }

/* ---------- 16. phone menu drawer (header chrome, not covered by soft-base.css) ----------
   With the base loaded the open drawer was still #6e2479 with plum links on it, which
   could not be read. Scoped to these pages only; the same block would suit soft-base.css. */
@media (max-width:768px){
  html body.cream-page .site-header .primary-nav{ background:#fff !important; }
  html body.cream-page .site-header .primary-nav .nav-root > li,
  html body.cream-page .site-header .primary-nav .nav-root > li.has-submenu{ border-bottom-color:#e7ddef !important; }
  html body.cream-page .site-header .primary-nav .has-submenu.is-expanded > a{ color:#7a6390 !important; }
  html body.cream-page .site-header .primary-nav .submenu a,
  html body.cream-page .site-header .primary-nav .flyout-cat-label{ color:#3f3346 !important; }
  html body.cream-page .site-header .primary-nav .submenu a:hover,
  html body.cream-page .site-header .primary-nav .submenu a:focus-visible,
  html body.cream-page .site-header .primary-nav .flyout-cat.is-open > .flyout-cat-label{ color:#553f63 !important; }
  html body.cream-page .site-header .primary-nav .nav-search-item .nav-search-btn{
    background:#faf7fc !important; border-color:#e7ddef !important; color:#62576a !important; }
  html body.cream-page .site-header .primary-nav .nav-search-item .nav-search-btn *{ color:#62576a !important; }
  html body.cream-page .site-header .primary-nav .nav-root > li.nav-account-item > a,
  html body.cream-page .site-header .primary-nav .nav-root > li.nav-cart-item > a{
    background:#faf7fc !important; border-color:#e7ddef !important; color:#553f63 !important; }
  html body.cream-page .site-header .primary-nav .nav-root > li.nav-account-item > a *,
  html body.cream-page .site-header .primary-nav .nav-root > li.nav-cart-item > a *{ color:#553f63 !important; }
  html body.cream-page .site-header .primary-nav :is(.nav-account-face,.nav-cart-face){ border-color:#a58bbb !important; }
  html body.cream-page .site-header .primary-nav .nav-account.is-in .nav-account-face{ background:#553f63 !important; border-color:#553f63 !important; color:#fff !important; }
  html body.cream-page .site-header .primary-nav .nav-root > li.nav-tel-item > a.nav-tel,
  html body.cream-page .site-header .primary-nav .nav-root > li.nav-tel-item > a.nav-tel svg{ color:#62576a !important; }
  html body.cream-page .site-header .primary-nav .nav-tel strong{ color:#553f63 !important; }
}


/* ================= page family: D_hubs ================= */
/* =====================================================================
   Soft theme, family D (hub + package pages on css/pages/pregnancy.css):
   /mums-and-babies/ /beauty-and-wellness/ /wellness-therapies/ /feeding-baby/
   /clinics/ /courses/ /pregnancy/ /recovery/. All share body.preg-page
   (used by no other page), so every rule is scoped to it.
   Matches the approved homepage: light lavender wash on the hero photo with
   plum type, lavender bands instead of deep purple blocks, lilac borders,
   plum buttons and small accents. Colour only; no text or layout changes.
   ===================================================================== */

/* ---------- tokens: the old deep purple used by pregnancy.css, remapped ---------- */
html:has(> body.preg-page){ background:#faf7fc; }
html body.preg-page{ --navy:#553f63; --navy-dk:#43304f; --cream:#faf7fc; background:#faf7fc !important; }
html body.preg-page main.preg, html body.preg-page .preg{ background:#faf7fc; color:#3f3346; }

/* ---------- hero: light lavender wash from the left, plum type (as the homepage) ---------- */
/* --hx = left edge of the centred 1140px text column, so the wash follows the text at every width */
html body.preg-page .preg-hero{ color:#3f3346; --hx:max(0px, 50% - 570px); }
html body.preg-page .preg-hero::after{ background:
  linear-gradient(90deg, rgba(250,247,252,.93) 0, rgba(250,247,252,.88) calc(var(--hx) + 600px), rgba(250,247,252,.45) calc(var(--hx) + 760px), rgba(250,247,252,0) calc(var(--hx) + 920px)),
  linear-gradient(0deg, rgba(243,237,247,.7) 0%, rgba(243,237,247,0) 32%) !important; }
/* /pregnancy/ has the longest eyebrow and note line (to ~880px), over darker skin: carry the wash further */
html body.preg-page .preg-hero:has([data-sku="pregnancy-package"])::after{ background:
  linear-gradient(90deg, rgba(250,247,252,.93) 0, rgba(250,247,252,.88) calc(var(--hx) + 600px), rgba(250,247,252,.74) calc(var(--hx) + 900px), rgba(250,247,252,0) calc(var(--hx) + 1100px)),
  linear-gradient(0deg, rgba(243,237,247,.7) 0%, rgba(243,237,247,0) 32%) !important; }
html body.preg-page .preg-hero .bmb-eyebrow{ color:#553f63 !important; text-shadow:none !important; }
html body.preg-page .preg-hero h1{ color:#553f63 !important; text-shadow:none !important; }
html body.preg-page .preg-hero-lead{ color:#3f3346 !important; text-shadow:none !important; }
html body.preg-page .preg-hero-note{ color:#3f3346 !important; text-shadow:none !important; }
html body.preg-page .preg-price{ background:rgba(255,255,255,.82); border:1px dashed #a58bbb; }
html body.preg-page .preg-price b{ color:#553f63; }
html body.preg-page .preg-price span, html body.preg-page .preg-price s{ color:#7a6390; }
@media (max-width:1180px){
  /* package hero text runs almost the full width below the 1140px column: an even wash */
  html body.preg-page .preg-hero:has(.preg-hero-note)::after{ background:
    linear-gradient(90deg, rgba(250,247,252,.9) 0%, rgba(250,247,252,.84) 60%, rgba(250,247,252,.8) 100%) !important; }
}
@media (max-width:720px){
  /* text runs the full width on phones: an even wash, a little lighter at the top so the photo still reads */
  html body.preg-page .preg-hero::after, html body.preg-page .preg-hero:has(.preg-hero-note)::after{ background:
    linear-gradient(180deg, rgba(250,247,252,.52) 0%, rgba(250,247,252,.8) 26%, rgba(250,247,252,.84) 100%) !important; }
}

/* ---------- buttons: plum primary, white ghost with plum text (homepage pair) ----------
   final audit 24/09/2026: the primary and cart buttons hover one step deeper plum (#43304f), like every other page */
html body.preg-page .preg .bmb-cta--primary{ background:#553f63 !important; color:#fff !important; border:1px solid #553f63 !important;
  box-shadow:0 10px 24px rgba(85,63,99,.2) !important; }
html body.preg-page .preg .bmb-cta--primary:hover, html body.preg-page .preg .bmb-cta--primary:focus-visible{
  background:#43304f !important; color:#fff !important; border-color:#43304f !important; box-shadow:0 12px 28px rgba(85,63,99,.26) !important; }
html body.preg-page .preg .bmb-cta--ghost{ background:#fff !important; color:#553f63 !important; border:1px solid #d4c5e3 !important; box-shadow:none !important; }
html body.preg-page .preg .bmb-cta--ghost:hover, html body.preg-page .preg .bmb-cta--ghost:focus-visible{
  background:#f3edf7 !important; color:#553f63 !important; border-color:#a58bbb !important; }
html body.preg-page .preg .bmb-cta:focus-visible{ outline:3px solid #d4c5e3; outline-offset:3px; }

/* ---------- section heads ---------- */
html body.preg-page .preg .bmb-eyebrow{ color:#553f63; }
html body.preg-page .preg-incl-head h2, html body.preg-page .preg-alc-head h2{ color:#553f63; }
html body.preg-page .preg-incl-head p, html body.preg-page .preg-alc-head p{ color:#62576a; }
html body.preg-page .preg-crumb{ background:#faf7fc; border-bottom-color:#e7ddef; color:#62576a; }
html body.preg-page .preg-crumb a{ color:#62576a; }
html body.preg-page .preg-crumb a:hover{ color:#553f63; }
html body.preg-page .preg-crumb b{ color:#553f63; }

/* ---------- what's included: white rows, lavender therapy badges, lilac active ring ---------- */
html body.preg-page .preg-incl-list li{ border-color:#e7ddef; box-shadow:0 10px 26px -22px rgba(85,63,99,.35); }
html body.preg-page .preg-incl-list b{ color:#3f3346; }
html body.preg-page .preg-incl-list small{ color:#62576a; }
html body.preg-page .preg-visit{ background:#efe6f5; color:#553f63; box-shadow:inset 0 0 0 1px #d4c5e3; }
html body.preg-page .preg-tick{ background:#f3edf7; color:#553f63; }
html body.preg-page .preg-incl-list--interactive > li:hover{ border-color:#d4c5e3; }
html body.preg-page .preg-incl-list--interactive > li.is-active{ border-color:#a58bbb; box-shadow:0 12px 28px -18px rgba(85,63,99,.4); }
html body.preg-page .preg-incl-list--interactive > li.is-active .preg-visit{ background:#553f63; color:#fff; box-shadow:none; }
html body.preg-page .preg-incl-hint{ color:#7a6390; }
html body.preg-page .preg-incl-note{ color:#62576a; }
html body.preg-page .preg-incl-media, html body.preg-page #preg-visit-media.is-mobile-sticky{ box-shadow:0 22px 50px -28px rgba(85,63,99,.4); }

/* benefits banner */
html body.preg-page .preg-benefit-banner{ background:#f3edf7; border-color:#e7ddef; }
html body.preg-page .preg-benefit-lead, html body.preg-page .preg-benefit-list b{ color:#553f63; }
html body.preg-page .preg-benefit-list span{ color:#62576a; }
html body.preg-page .preg-benefit-list span::before{ color:#a58bbb; }
html body.preg-page .preg-benefit-note{ color:#62576a; }
html body.preg-page .preg-benefit-banner .preg-benefit-note{ border-top-color:#d4c5e3; }
html body.preg-page .preg-benefit-chips li{ border-color:#d4c5e3; color:#553f63; }

/* "Why the package" card: was a deep purple block */
html body.preg-page .preg-benefits{ background:linear-gradient(120deg,#efe6f5 0%,#e2d5ee 100%); color:#62576a; border:1px solid #e7ddef; }
html body.preg-page .preg-benefits h3{ color:#553f63; }
html body.preg-page .preg-benefits li{ color:#62576a; }
html body.preg-page .preg-benefits li svg{ color:#7a6390; }

/* ---------- booking band + consultation nudge: lavender bands (homepage final band) ---------- */
html body.preg-page .preg-book-band, html body.preg-page .preg-nudge-inner{
  background:linear-gradient(120deg,#efe6f5 0%,#e2d5ee 100%) !important; color:#62576a; box-shadow:0 18px 40px rgba(85,63,99,.10); }
html body.preg-page .preg-book-price{ color:#553f63; }
html body.preg-page .preg-book-price span{ color:#7a6390; }
html body.preg-page .preg-book-note{ color:#62576a; }
html body.preg-page .preg-nudge-inner h2{ color:#553f63; }
html body.preg-page .preg-nudge-inner p{ color:#62576a; }

/* ---------- journey divider: two hairlines on the page tint, no fill (a lavender fill
   made a box wider than the content column whose edges lined up with nothing) ---------- */
html body.preg-page .preg-divider{ background:transparent; border-top-color:#e7ddef; border-bottom-color:#e7ddef; }
html body.preg-page .preg-divider p{ color:#553f63; }
html body.preg-page .preg-divider span{ color:#62576a; }

/* ---------- a la carte cards + hub cards: white on the tint, lilac edges, plum links ---------- */
html body.preg-page .preg-svc, html body.preg-page .preg-hub-card{ border-color:#e7ddef; box-shadow:0 18px 40px -28px rgba(85,63,99,.35); }
html body.preg-page .preg-svc:hover, html body.preg-page .preg-hub-card:hover{ border-color:#d4c5e3; box-shadow:0 24px 48px -28px rgba(85,63,99,.45); }
html body.preg-page .preg-svc:focus-visible, html body.preg-page .preg-hub-card:focus-visible{ outline:3px solid #d4c5e3; outline-offset:3px; }
html body.preg-page .preg-svc h3, html body.preg-page .preg-hub-body h3{ color:#553f63; }
html body.preg-page .preg-svc p, html body.preg-page .preg-hub-body p{ color:#62576a; }
html body.preg-page .preg-svc .preg-link, html body.preg-page .preg-hub-link{ color:#553f63; }
html body.preg-page .preg-svc:hover .preg-link, html body.preg-page .preg-hub-card:hover .preg-hub-link{ color:#7a6390; }
html body.preg-page .preg-svc-media{ background:#f3edf7; }

/* ---------- floating cart button (pregnancy + recovery load store-cart.css) ---------- */
html body.preg-page .bmb-cart-fab{ background:#553f63; box-shadow:0 14px 30px -12px rgba(85,63,99,.45); }
html body.preg-page .bmb-cart-fab:hover, html body.preg-page .bmb-cart-fab:focus-visible{ background:#43304f; box-shadow:0 20px 38px -14px rgba(85,63,99,.5); }
html body.preg-page .bmb-cart-fab__badge{ background:#e7ddef; color:#553f63; box-shadow:0 2px 6px -1px rgba(85,63,99,.35); }

/* ---------- phone menu drawer (header chrome) ----------
   style.css paints the open drawer var(--bg-2) (#6e2479) and, once scrolled, the header
   bar var(--bg) (#8d319b); the base turns the menu links plum, which left plum on purple.
   Light panel, plum type, lavender tiles, as on the homepage. */
@media (max-width:768px){
  html body.preg-page.mobile-nav-open .site-header,
  html body.preg-page.mobile-nav-open .site-header.is-floating{ background:#fff !important; border-bottom:1px solid #e7ddef !important; }
  html body.preg-page .site-header .primary-nav{ background:#fff !important; }
  html body.preg-page .site-header .primary-nav .submenu,
  html body.preg-page .site-header .primary-nav .flyout-panel{ background:transparent !important; }
  html body.preg-page .site-header .primary-nav .submenu a:hover,
  html body.preg-page .site-header .primary-nav .submenu a:focus-visible{ background:transparent !important; }
  html body.preg-page .site-header .primary-nav .nav-root > li,
  html body.preg-page .site-header .primary-nav .nav-root > li.has-submenu{ border-bottom-color:#e7ddef !important; }
  html body.preg-page .site-header .primary-nav .has-submenu.is-expanded > a{ color:#7a6390 !important; }
  html body.preg-page .site-header .primary-nav .submenu a,
  html body.preg-page .site-header .primary-nav .flyout-cat-label{ color:#3f3346 !important; }
  html body.preg-page .site-header .primary-nav .submenu a:hover,
  html body.preg-page .site-header .primary-nav .submenu a:focus-visible,
  html body.preg-page .site-header .primary-nav .flyout-cat.is-open > .flyout-cat-label{ color:#553f63 !important; }
  html body.preg-page .site-header .primary-nav .nav-search-item .nav-search-btn{ background:#faf7fc !important; border-color:#e7ddef !important; color:#62576a !important; }
  html body.preg-page .site-header .primary-nav .nav-search-item .nav-search-btn:hover,
  html body.preg-page .site-header .primary-nav .nav-search-item .nav-search-btn:focus-visible{ background:#f3edf7 !important; border-color:#d4c5e3 !important; }
  html body.preg-page .site-header .primary-nav .nav-search-item .nav-search-btn *{ color:#62576a !important; }
  html body.preg-page .site-header .primary-nav .nav-root > li.nav-account-item > a,
  html body.preg-page .site-header .primary-nav .nav-root > li.nav-cart-item > a{ background:#faf7fc !important; border-color:#e7ddef !important; color:#553f63 !important; }
  html body.preg-page .site-header .primary-nav .nav-root > li.nav-account-item > a:hover,
  html body.preg-page .site-header .primary-nav .nav-root > li.nav-account-item > a:focus-visible,
  html body.preg-page .site-header .primary-nav .nav-root > li.nav-cart-item > a:hover,
  html body.preg-page .site-header .primary-nav .nav-root > li.nav-cart-item > a:focus-visible{ background:#f3edf7 !important; border-color:#d4c5e3 !important; }
  html body.preg-page .site-header .primary-nav .nav-root > li.nav-account-item > a *,
  html body.preg-page .site-header .primary-nav .nav-root > li.nav-cart-item > a *{ color:#553f63 !important; }
  html body.preg-page .site-header .primary-nav :is(.nav-account-face,.nav-cart-face){ border-color:#a58bbb !important; }
  html body.preg-page .site-header .primary-nav .nav-account.is-in .nav-account-face{ background:#553f63 !important; border-color:#553f63 !important; color:#fff !important; }
  html body.preg-page .site-header .primary-nav .nav-account.is-in .nav-account-face *{ color:#fff !important; }
  html body.preg-page .site-header .primary-nav .nav-root > li.nav-tel-item > a.nav-tel,
  html body.preg-page .site-header .primary-nav .nav-root > li.nav-tel-item > a.nav-tel :is(svg,span){ color:#62576a !important; }
  html body.preg-page .site-header .primary-nav .nav-root > li.nav-tel-item > a.nav-tel:hover,
  html body.preg-page .site-header .primary-nav .nav-root > li.nav-tel-item > a.nav-tel:focus-visible{ color:#553f63 !important; }
  html body.preg-page .site-header .primary-nav .nav-tel strong{ color:#553f63 !important; }
  html body.preg-page .site-header .primary-nav .nav-root > li.nav-cart-item > a .nav-cart-badge{ background:#553f63 !important; color:#fff !important; }
}
html body.preg-page .site-header :is(.nav-account,.nav-cart,.nav-search-btn):focus-visible{ outline-color:#a58bbb !important; }


/* ================= page family: E_store ================= */
/* =====================================================================
   Soft theme, family E (store + account). Loaded after soft-base.css.
   Pages: /store/, /store/checkout/, /store/gift-card/, /store/pay/,
   /store/promotions/, /store/thank-you/, /account/.
   Scope: these are the only svc-cream pages that load store-cart.css or
   bmb-account.css (/pregnancy/ and /recovery/ also load store-cart.css but
   are body.preg-page, so the body.svc-cream half keeps them out).
   Colours only (no text or spacing changes), plus one fix for card photos
   that were pushed down and clipped at the bottom (see the tiles section).
   ===================================================================== */

/* ---------- tokens: flip service-cream's cream + saturated purple to mist + plum ---------- */
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream{
  --c-paper:#faf7fc; --c-card:#ffffff; --c-soft:#f3edf7; --c-ink:#3f3346;
  --c-body:#62576a; --c-muted:#7a6390; --c-plum:#553f63; --c-purple:#7a6390;
  --c-line:#e7ddef;
  background:#faf7fc !important;
}
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream main{ background:#faf7fc !important; }
/* final audit 24/09/2026: html itself still took style.css var(--bg), the saturated #8d319b, which shows in
   phone overscroll above the header and below the footer. Same mist as the page. */
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]):has(> body.svc-cream){ background:#faf7fc !important; }

/* ---------- phone menu (open drawer): light panel, plum type ----------
   style.css + service.css (body.is-immersive-page.mobile-nav-open) paint the open header
   and drawer var(--bg) (#8d319b), and the base turns the menu links plum, which left plum
   type on saturated purple (~1.3:1). Same light drawer as the clinic pages (F fragment). */
@media (max-width:768px){
  html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream.mobile-nav-open .site-header,
  html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream.mobile-nav-open .site-header.is-floating{
    background:#fff !important; border-bottom:1px solid #e7ddef !important; }
  html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream.mobile-nav-open .primary-nav{ background:#faf7fc !important; }
  /* close (X): service.css pins it #232527 while open; plum like the rest of the header */
  html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream.mobile-nav-open .site-header .bmb-nav-toggle-bar{ background:#553f63 !important; }
  /* section rows: cream hairline (invisible on light) -> lavender */
  html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .site-header .primary-nav .nav-root > li.has-submenu{ border-bottom-color:#e7ddef !important; }
  html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .site-header .primary-nav .nav-root > li.has-submenu.is-expanded > a{ color:#7a6390 !important; }
  /* expanded submenu: the base's white dropdown panel would sit as a white box in the drawer */
  html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .site-header .primary-nav .submenu{ background:transparent !important; border-color:transparent !important; }
  html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .site-header .primary-nav .submenu a{ color:#3f3346 !important; background:transparent !important; }
  html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .site-header .primary-nav .submenu a:hover,
  html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .site-header .primary-nav .submenu a:focus-visible{ color:#553f63 !important; background:transparent !important; }
  /* search field */
  html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .site-header .primary-nav .nav-search-item .nav-search-btn{
    background:#fff !important; border-color:#d4c5e3 !important; color:#62576a !important; }
  html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .site-header .primary-nav .nav-search-item .nav-search-btn:hover,
  html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .site-header .primary-nav .nav-search-item .nav-search-btn:focus-visible{
    background:#f3edf7 !important; border-color:#a58bbb !important; }
  html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .site-header .primary-nav .nav-search-item .nav-search-label{ color:#62576a !important; }
  /* account + cart tiles (signed in or not) */
  html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .site-header .primary-nav .nav-root > li.nav-account-item > a.nav-account,
  html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .site-header .primary-nav .nav-root > li.nav-cart-item > a.nav-cart{
    background:#f3edf7 !important; border-color:#e7ddef !important; color:#553f63 !important; }
  html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .site-header .primary-nav .nav-root > li.nav-account-item > a.nav-account:hover,
  html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .site-header .primary-nav .nav-root > li.nav-account-item > a.nav-account:focus-visible,
  html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .site-header .primary-nav .nav-root > li.nav-cart-item > a.nav-cart:hover,
  html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .site-header .primary-nav .nav-root > li.nav-cart-item > a.nav-cart:focus-visible{
    background:#e7ddef !important; border-color:#d4c5e3 !important; }
  html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .site-header .primary-nav :is(.nav-account-label,.nav-cart-label){ color:#553f63 !important; }
  html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .site-header .primary-nav :is(.nav-account-face,.nav-cart-face){ border-color:#a58bbb !important; }
  html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .site-header .primary-nav .nav-account.is-in .nav-account-face{
    background:#553f63 !important; border-color:#553f63 !important; color:#fff !important; }
  /* phone line */
  html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .site-header .primary-nav .nav-root > li.nav-tel-item > a.nav-tel,
  html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .site-header .primary-nav .nav-root > li.nav-tel-item > a.nav-tel span{ color:#62576a !important; }
  html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .site-header .primary-nav .nav-root > li.nav-tel-item > a.nav-tel:hover,
  html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .site-header .primary-nav .nav-root > li.nav-tel-item > a.nav-tel:focus-visible{ color:#553f63 !important; }
  html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .site-header .primary-nav .nav-tel strong{ color:#553f63 !important; }
}
/* header icons: in the desktop bar the signed-in initials circle was white with #8d319b type
   (the drawer tile keeps its lavender frame; its face is plum above); cart badge and focus
   ring (white, invisible on the white header) move to plum / plum-2 in bar and drawer */
@media (min-width:769px){
  html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .site-header .primary-nav .nav-root > li.nav-account-item > a.nav-account.is-in{
    background:#553f63 !important; border-color:#553f63 !important; color:#fff !important; }
}
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .site-header .primary-nav .nav-root > li.nav-cart-item > a.nav-cart .nav-cart-badge{ background:#553f63 !important; color:#fff !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .site-header :is(.nav-account,.nav-cart,.nav-search-btn):focus-visible{ outline-color:#7a6390 !important; }

/* ---------- lean hero: lavender haze instead of the purple/blue glow ---------- */
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .service-hero::before{ background:radial-gradient(circle, rgba(165,139,187,.30) 0%, rgba(165,139,187,0) 65%) !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .service-hero::after{ background:radial-gradient(circle, rgba(212,197,227,.42) 0%, rgba(212,197,227,0) 65%) !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .service-hero .service-hero-eyebrow,
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .bmb-eyebrow{ color:#7a6390 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .service-hero-display{ color:#553f63 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .service-hero-display em{ color:#7a6390 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .service-hero-lead{ color:#62576a !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .bmb-section-head :is(h1,h2){ color:#553f63 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview :is(h1,h2,h3) em{ color:#7a6390 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview strong{ color:#553f63 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview a:not(.bmb-cta):not(.promo-buy):not(.store-cat){ color:#553f63; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview a:not(.bmb-cta):not(.promo-buy):not(.store-cat):hover{ color:#7a6390; }

/* promotions hero fireworks: violet / plum sparks instead of pink and the old saturated purple */
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .promo-fw--a{ color:#a58bbb !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .promo-fw--b{ color:#7a6390 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .promo-fw--c{ color:#a58bbb !important; }

/* ---------- shared buttons inside the page body ----------
   final audit 24/09/2026: every plum button in this family now hovers one step deeper (#43304f, the header
   pill's hover) instead of lighter, the same direction as the rest of the site */
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .bmb-cta--primary{ background:#553f63 !important; border:1px solid #553f63 !important; color:#fff !important;
  box-shadow:0 10px 24px -8px rgba(85,63,99,.38) !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .bmb-cta--primary:hover,
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .bmb-cta--primary:focus-visible{ background:#43304f !important; border-color:#43304f !important; color:#fff !important;
  box-shadow:0 14px 30px -10px rgba(85,63,99,.42) !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .bmb-cta--ghost{ background:#fff !important; color:#553f63 !important; border:1px solid #d4c5e3 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .bmb-cta--ghost:hover,
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .bmb-cta--ghost:focus-visible{ background:#f3edf7 !important; color:#553f63 !important; border-color:#a58bbb !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .bmb-cta:focus-visible{ outline:2px solid #553f63 !important; outline-offset:3px; }

/* ---------- final CTA band: soft lavender like the homepage final band ---------- */
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .service-cta{ background:linear-gradient(120deg,#efe6f5 0%,#e2d5ee 100%) !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .service-cta h2{ color:#553f63 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .service-cta :is(p,li,span,dt,dd):not(.bmb-eyebrow){ color:#62576a !important; }
/* eyebrow: plum-2 measured 3.7-4.3:1 on this gradient (small letter-spaced caps); plum is 6.6-7.6:1 */
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .service-cta .bmb-eyebrow{ color:#553f63 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .service-cta strong{ color:#553f63 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .service-cta .bmb-cta--primary{ background:#553f63 !important; color:#fff !important; border-color:#553f63 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .service-cta .bmb-cta--ghost,
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .service-cta .bmb-cta:not(.bmb-cta--primary){ background:#fff !important; color:#553f63 !important; border:1px solid #d4c5e3 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .service-cta .bmb-cta--primary:hover{ background:#43304f !important; border-color:#43304f !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .service-cta .bmb-cta--ghost:hover,
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .service-cta .bmb-cta:not(.bmb-cta--primary):hover{ background:#f3edf7 !important; color:#553f63 !important; border-color:#a58bbb !important; }

/* ---------- /store/ category tiles ---------- */
/* Image cut off: style.css `.wp-content img{ margin:1rem 0; border-radius:8px }` leaks into the
   tile and bundle-card frames (the gift-tier frames already opt out), pushing each photo 17px
   down inside an overflow:hidden 16:10 box, so a strip of frame shows on top and the bottom
   17px of the photo is clipped. Same opt-out the gift tiers use. */
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream :is(.store-cat-media,.gift-card-media) img{ margin:0 !important; border-radius:0 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .store-cat{ border-color:#e7ddef !important; box-shadow:0 18px 44px -30px rgba(85,63,99,.40) !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .store-cat:hover{ border-color:#d4c5e3 !important; box-shadow:0 30px 64px -28px rgba(85,63,99,.42) !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .store-cat:focus-visible{ outline:3px solid #553f63 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .store-cat-media{ background:#f3edf7 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .store-cat-foot{ border-top-color:#e7ddef !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .store-cat-title{ color:#3f3346 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .store-cat-desc{ color:#62576a !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .store-cat-meta{ color:#7a6390 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .store-cat-cta{ color:#553f63 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .store-cat--soon, html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .store-cat--soon:hover{ background:#faf7fc !important; border:1px dashed #d4c5e3 !important; box-shadow:none !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .store-cat-soon-label{ color:#7a6390 !important; }

/* ---------- /store/gift-card/ + /store/promotions/: bundle cards ---------- */
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .gift-card{ border-color:#e7ddef !important; box-shadow:0 18px 44px -30px rgba(85,63,99,.40) !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .gift-card:hover{ border-color:#d4c5e3 !important; box-shadow:0 30px 64px -30px rgba(85,63,99,.45) !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .gift-card-media, html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .gift-tier-media{ background:#f3edf7 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .gift-card-list li::before{ background:#a58bbb !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .gift-card-price{ border-top-color:#e7ddef !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .gift-card-title{ color:#3f3346 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .gift-card-list li,
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .gift-note{ color:#62576a !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .gift-card-amount{ color:#553f63 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .gift-card-gst,
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .gift-or{ color:#7a6390 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .gift-card-go{ color:#553f63 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .gift-card-badge{ color:#553f63 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .gift-card:focus-visible, html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .gift-tier:focus-visible{ outline:3px solid #553f63 !important; }

/* voucher band: was the page's one saturated plum-to-purple block -> soft lavender */
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .gift-voucher{ background:linear-gradient(120deg,#efe6f5 0%,#e2d5ee 100%) !important;
  box-shadow:0 26px 60px -38px rgba(85,63,99,.35) !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .gift-voucher::after{ background:radial-gradient(circle, rgba(255,255,255,.55) 0%, rgba(255,255,255,0) 70%) !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .gift-voucher-title{ color:#553f63 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .gift-voucher-sub{ color:#62576a !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .gift-voucher-badge{ color:#553f63 !important; background:rgba(255,255,255,.7) !important; border-color:#d4c5e3 !important; }

/* voucher amount cards: white on the lavender band, lilac hairline, plum type */
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .gift-tier{ background:#fff !important; border:1px solid #d4c5e3 !important; box-shadow:0 14px 32px -20px rgba(85,63,99,.40) !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .gift-tier:hover{ background:#fff !important; box-shadow:0 26px 50px -28px rgba(85,63,99,.50) !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .gift-tier,
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .gift-tier-amount{ color:#553f63 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .gift-tier-note{ color:#62576a !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .gift-tier-go{ color:#553f63 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .gift-tier-label{ color:#7a6390 !important; }
/* arcs run light to dark inside the palette: lavender, lilac, plum */
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .gift-tier[data-sku="voucher-100"]{ --tier-arc:#f3edf7 !important; --tier-ink:#553f63 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .gift-tier[data-sku="voucher-200"]{ --tier-arc:#d4c5e3 !important; --tier-ink:#553f63 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .gift-tier[data-sku="voucher-300"]{ --tier-arc:#553f63 !important; --tier-ink:#ffffff !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .gift-tier-plate,
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .gift-tier-plate .gift-tier-label,
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .gift-tier-plate .gift-tier-amount{ color:var(--tier-ink,#553f63) !important; }

/* ---------- /store/promotions/ offer cards ---------- */
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .promo-card{ border-color:#e7ddef !important; box-shadow:0 18px 44px -30px rgba(85,63,99,.38) !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .promo-card:hover{ border-color:#d4c5e3 !important; box-shadow:0 26px 54px -30px rgba(85,63,99,.45) !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .promo-price{ border-top-color:#e7ddef !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .promo-flag{ background:#f3edf7 !important; color:#553f63 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .promo-title{ color:#3f3346 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .promo-sub,
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .promo-list li{ color:#62576a !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .promo-now,
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .promo-net{ color:#553f63 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .promo-was{ color:#7a6390 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .promo-ends{ color:#62576a !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .promo-buy{ background:#553f63 !important; color:#fff !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .promo-buy:hover, html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .promo-buy:focus-visible{ background:#43304f !important; color:#fff !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .promo-buy:focus-visible{ outline:2px solid #553f63; outline-offset:3px; }

/* ---------- checkout / pay / thank-you ---------- */
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .co-step{ color:#7a6390 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .co-step-num{ background:#e7ddef !important; color:#62576a !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .co-step.is-current,
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .co-step.is-done{ color:#553f63 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .co-step.is-current .co-step-num,
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .co-step.is-done .co-step-num{ background:#553f63 !important; color:#fff !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .co-step-bar{ background:#e7ddef !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .co-step-bar.is-done{ background:#553f63 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .co-head-sub{ color:#62576a !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .co-summary, html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .pay-summary, html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .pay-card{ border-color:#e7ddef !important; box-shadow:0 18px 44px -30px rgba(85,63,99,.38) !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview :is(.co-summary-h,.pay-card-h,.co-empty-title,.co-row-name,.co-qty-val){ color:#3f3346 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .co-summary-line span:first-child{ color:#3f3346 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .co-summary-line span:last-child,
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .pay-total span:last-child,
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .co-row-line{ color:#553f63 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview :is(.co-empty-sub,.co-summary-note,.co-row-unit,.pay-pending,.pay-line,.pay-line span){ color:#62576a !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .pay-secure{ color:#7a6390 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .co-summary{ border-top-color:#e7ddef !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .pay-lines{ border-bottom-color:#e7ddef !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .co-row{ border-color:#e7ddef !important; box-shadow:0 12px 30px -24px rgba(85,63,99,.45) !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .co-row:hover{ border-color:#d4c5e3 !important; box-shadow:0 16px 36px -24px rgba(85,63,99,.5) !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .co-qty{ border-color:#e7ddef !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .co-qty-btn{ color:#553f63 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .co-qty-btn:hover{ background:#f3edf7 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .co-remove{ color:#7a6390 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview a.co-alt{ color:#553f63 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview a.co-alt:hover{ color:#7a6390 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .co-clear{ color:#62576a !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .co-clear:hover{ color:#3f3346 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .co-checkout-btn,
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .pay-wa{ background:#553f63 !important; color:#fff !important; border-color:#553f63 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .co-checkout-btn:hover,
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .pay-wa:hover{ background:#43304f !important; color:#fff !important; border-color:#43304f !important; }
/* gift personalisation step on /store/pay/ */
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .gift-note-card{ background:#faf7fc !important; border-color:#e7ddef !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .gift-note-field input, html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .gift-note-field textarea{ border-color:#d4c5e3 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .gift-note-field input:focus, html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .gift-note-field textarea:focus{ outline-color:#e7ddef !important; border-color:#553f63 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .gift-note-check input{ accent-color:#553f63 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview :is(.gift-note-h,.gift-note-item){ color:#3f3346 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview :is(.gift-note-sub,.gift-note-check,.gift-note-field > span){ color:#62576a !important; }

/* floating cart button + add-to-cart toast */
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .bmb-cart-fab{ background:#553f63 !important; color:#fff !important; box-shadow:0 14px 30px -12px rgba(85,63,99,.55) !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .bmb-cart-fab:hover, html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .bmb-cart-fab:focus-visible{ background:#43304f !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .bmb-cart-fab__badge{ background:#e7ddef !important; color:#553f63 !important; box-shadow:0 2px 6px -1px rgba(85,63,99,.4) !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .bmb-cart-toast{ background:#553f63 !important; color:#fff !important; }

/* phone-number modal (injected by bmb-account.js at checkout) */
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .bmb-modal-overlay{ background:rgba(63,51,70,.45) !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .bmb-modal-title{ color:#3f3346 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .bmb-modal-sub, html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .bmb-modal-label{ color:#62576a !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .bmb-modal-input{ background:#faf7fc !important; border-color:#e7ddef !important; color:#3f3346 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .bmb-modal-input:focus{ border-color:#553f63 !important; background:#fff !important; box-shadow:0 0 0 3px rgba(212,197,227,.55) !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .bmb-modal-btn--ghost{ color:#553f63 !important; border-color:#d4c5e3 !important; background:#fff !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .bmb-modal-btn--ghost:hover{ background:#f3edf7 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .bmb-modal-btn--primary{ background:#553f63 !important; border-color:#553f63 !important; color:#fff !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .bmb-modal-btn--primary:hover{ background:#43304f !important; border-color:#43304f !important; }

/* ---------- /account/ ---------- */
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream :is(.acc-gate,.acc-staff,.acc-card){ border-color:#e7ddef !important; box-shadow:0 24px 60px -38px rgba(85,63,99,.45) !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview :is(.acc-gate-title,.acc-staff-title,.acc-h1,.acc-card-h,.acc-orders-empty-title,.acc-order-id,.acc-gc-name){ color:#3f3346 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview :is(.acc-gate-sub,.acc-staff-sub,.acc-orders-empty-sub,.acc-admin-sub,.acc-order-items,.acc-gc-foot,.acc-admin-empty){ color:#62576a !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview :is(.acc-label,.acc-field span,.acc-orders-sub){ color:#62576a !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .acc-eyebrow{ color:#7a6390 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .acc-alt :is(a,button){ color:#553f63 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .acc-alt :is(a,button):hover{ color:#7a6390 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .acc-google{ border-color:#d4c5e3 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .acc-google:hover{ background:#faf7fc !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .acc-field input, html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .acc-form input, html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .acc-form textarea, html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .acc-admin-tools :is(select,input){
  background:#faf7fc !important; border-color:#e7ddef !important; color:#3f3346 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .acc-field input:focus, html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .acc-form input:focus, html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .acc-form textarea:focus, html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .acc-admin-tools :is(select,input):focus{
  outline:none !important; border-color:#553f63 !important; background:#fff !important; box-shadow:0 0 0 3px rgba(212,197,227,.55) !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .acc-form input:disabled{ background:#f3edf7 !important; color:#7a6390 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .acc-staff-submit{ background:#553f63 !important; color:#fff !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .acc-staff-submit:hover{ background:#43304f !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .acc-btn--primary{ background:#553f63 !important; border-color:#553f63 !important; color:#fff !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .acc-btn--primary:hover{ background:#43304f !important; border-color:#43304f !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .acc-btn--ghost{ background:#fff !important; color:#553f63 !important; border-color:#d4c5e3 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .acc-btn--ghost:hover{ background:#f3edf7 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .acc-btn--soft{ background:#f3edf7 !important; color:#553f63 !important; border-color:#e7ddef !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .acc-btn--soft:hover{ background:#e7ddef !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview :is(.acc-order-repeat,.acc-gc-copy):not(.is-done){ background:#f3edf7 !important; color:#553f63 !important; border-color:#d4c5e3 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview :is(.acc-order-repeat,.acc-gc-copy):not(.is-done):hover{ background:#e7ddef !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream :is(.acc-order,.acc-gc){ background:#faf7fc !important; border-color:#e7ddef !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .acc-gc--unclaimed{ background:linear-gradient(180deg,#fff 0%,#faf7fc 100%) !important; border-color:#d4c5e3 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .acc-order-status:not(.acc-status-fulfilled):not(.acc-status-awaiting-payment){ background:#f3edf7 !important; color:#553f63 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .acc-order-total,
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .acc-gc-foot strong{ color:#553f63 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .acc-code{ background:#f3edf7 !important; color:#553f63 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview :is(.acc-gc--claimed,.acc-gc--void) .acc-code{ background:#efeff1 !important; color:#6a6572 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .acc-admin-tag{ background:#f3edf7 !important; color:#553f63 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .acc-tab{ color:#62576a !important; border-color:#d4c5e3 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .acc-tab:hover{ background:#f3edf7 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .acc-tab.is-on{ background:#553f63 !important; border-color:#553f63 !important; color:#fff !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .acc-tab-n{ background:#f3edf7 !important; color:#553f63 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .service-preview .acc-tab.is-on .acc-tab-n{ background:#e7ddef !important; color:#553f63 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .acc-admin-table th{ border-bottom-color:#e7ddef !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .acc-admin-table td{ border-bottom-color:#f3edf7 !important; }
html:has(link[href*="store-cart.css"],link[href*="bmb-account.css"]) body.svc-cream .acc-spinner{ border-color:#e7ddef !important; border-top-color:#553f63 !important; }


/* ================= page family: F_home_clinics ================= */
/* =====================================================================
   Soft theme, family F: the homepage and the clinic pages
   (The Sleep Training Clinic + its three sub-pages, The Lactation Clinic,
   Care of Newborn Course, Antenatal / Prenatal Breastfeeding Class).
   These pages already carry their own soft styling (home-brochure.css,
   clinic-sleep.css, clinic-proto.css); this layer only removes the purple
   that is left and keeps the site-wide base from clashing with them.
   Scopes:  homepage      html body.home-concept
            clinic pages  html body main.proto-page   (lactation, newborn, antenatal)
            sleep pages   html body main.proto-sleep  (sleep clinic + sub-pages)
   Chrome outside <main> (the phone menu) is scoped with :has(main.proto-*).
   ===================================================================== */

/* ---------- phone menu (open drawer): light panel, plum type ----------
   style.css paints the open drawer var(--bg)/var(--bg-2) (#8d319b / #6e2479)
   and the base turns the menu links plum, which left plum text on purple. */
@media (max-width:768px){
  html body.home-concept.mobile-nav-open .site-header,
  html body.home-concept.mobile-nav-open .site-header.is-floating,
  html body.mobile-nav-open:has(main.proto-page) .site-header,
  html body.mobile-nav-open:has(main.proto-page) .site-header.is-floating,
  html body.mobile-nav-open:has(main.proto-sleep) .site-header,
  html body.mobile-nav-open:has(main.proto-sleep) .site-header.is-floating{
    background:#fff !important; border-bottom:1px solid #e7ddef !important; }
  html body.home-concept.mobile-nav-open .primary-nav,
  html body.mobile-nav-open:has(main.proto-page) .primary-nav,
  html body.mobile-nav-open:has(main.proto-sleep) .primary-nav{
    background:#faf7fc !important; }
  html body:is(.home-concept, :has(main.proto-page), :has(main.proto-sleep)) .primary-nav .nav-root > li.has-submenu{ border-bottom-color:#e7ddef !important; }
  html body:is(.home-concept, :has(main.proto-page), :has(main.proto-sleep)) .primary-nav .nav-root > li.has-submenu.is-expanded > a{ color:#7a6390 !important; }
  html body:is(.home-concept, :has(main.proto-page), :has(main.proto-sleep)) .primary-nav .submenu{ background:transparent !important; }
  html body:is(.home-concept, :has(main.proto-page), :has(main.proto-sleep)) .primary-nav .submenu a{ color:#3f3346 !important; }
  html body:is(.home-concept, :has(main.proto-page), :has(main.proto-sleep)) .primary-nav .nav-search-item .nav-search-btn{
    background:#fff !important; border-color:#d4c5e3 !important; color:#62576a !important; }
  html body:is(.home-concept, :has(main.proto-page), :has(main.proto-sleep)) .primary-nav .nav-search-item .nav-search-btn:hover,
  html body:is(.home-concept, :has(main.proto-page), :has(main.proto-sleep)) .primary-nav .nav-search-item .nav-search-btn:focus-visible{
    background:#f3edf7 !important; border-color:#a58bbb !important; }
  html body:is(.home-concept, :has(main.proto-page), :has(main.proto-sleep)) .primary-nav .nav-search-item .nav-search-label{ color:#62576a !important; }
  html body:is(.home-concept, :has(main.proto-page), :has(main.proto-sleep)) .primary-nav .nav-root > li.nav-account-item > a.nav-account,
  html body:is(.home-concept, :has(main.proto-page), :has(main.proto-sleep)) .primary-nav .nav-root > li.nav-cart-item > a.nav-cart{
    background:#f3edf7 !important; border-color:#e7ddef !important; color:#553f63 !important; }
  html body:is(.home-concept, :has(main.proto-page), :has(main.proto-sleep)) .primary-nav .nav-root > li.nav-account-item > a.nav-account:hover,
  html body:is(.home-concept, :has(main.proto-page), :has(main.proto-sleep)) .primary-nav .nav-root > li.nav-account-item > a.nav-account:focus-visible,
  html body:is(.home-concept, :has(main.proto-page), :has(main.proto-sleep)) .primary-nav .nav-root > li.nav-cart-item > a.nav-cart:hover,
  html body:is(.home-concept, :has(main.proto-page), :has(main.proto-sleep)) .primary-nav .nav-root > li.nav-cart-item > a.nav-cart:focus-visible{
    background:#e7ddef !important; border-color:#d4c5e3 !important; }
  html body:is(.home-concept, :has(main.proto-page), :has(main.proto-sleep)) .nav-account .nav-account-face,
  html body:is(.home-concept, :has(main.proto-page), :has(main.proto-sleep)) .nav-cart .nav-cart-face{ border-color:#a58bbb !important; }
  html body:is(.home-concept, :has(main.proto-page), :has(main.proto-sleep)) .nav-account.is-in .nav-account-face{
    background:#553f63 !important; border-color:#553f63 !important; color:#fff !important; }
  html body:is(.home-concept, :has(main.proto-page), :has(main.proto-sleep)) .primary-nav .nav-root > li.nav-tel-item > a.nav-tel,
  html body:is(.home-concept, :has(main.proto-page), :has(main.proto-sleep)) .primary-nav .nav-root > li.nav-tel-item > a.nav-tel span{ color:#62576a !important; }
  html body:is(.home-concept, :has(main.proto-page), :has(main.proto-sleep)) .primary-nav .nav-tel strong{ color:#553f63 !important; }
}
html body:is(.home-concept, :has(main.proto-page), :has(main.proto-sleep)) .nav-account:focus-visible,
html body:is(.home-concept, :has(main.proto-page), :has(main.proto-sleep)) .nav-cart:focus-visible{ outline-color:#a58bbb !important; }

/* =====================================================================
   HOMEPAGE (body.home-concept) — only what the approved brochure layer
   left purple; nothing else on the page is restyled.
   ===================================================================== */
/* page surface behind everything (html is var(--bg) #8d319b site-wide; shows on overscroll) */
html:has(> body.home-concept){ background:#fff !important; }
html body.home-concept{
  --c-plum:#553f63; --c-purple:#7a6390;
  --bg:#faf7fc; --bg-2:#f3edf7; --bg-3:#e7ddef;
}
/* behind the hero photo (was #8d319b, only visible before the image paints) */
html body.home-concept .home-preview .bmb-stage,
html body.home-concept .home-preview .bmb-stage--calm{ background-color:#f3edf7 !important; }

/* circle of care: dots, centre link, hover and focus */
html body.home-concept .home-preview .bmb-circle{
  --pregnancy:#553f63; --pregnancy-dot:#553f63; --recovery:#d4c5e3; --recovery-dot:#a58bbb; }
html body.home-concept .home-preview .bmb-circle-core-cta,
html body.home-concept .home-preview .bmb-circle-core-cta *{ color:#7a6390 !important; -webkit-text-fill-color:#7a6390 !important; }
html body.home-concept .home-preview .bmb-circle-core:hover{ background:#faf7fc !important; }
html body.home-concept .home-preview .bmb-circle-core:focus-visible,
html body.home-concept .home-preview .bmb-circle-stage:focus-visible{ outline-color:#d4c5e3 !important; }
html body.home-concept .home-preview .bmb-circle-stage:hover{ background:#faf7fc !important; }
html body.home-concept .home-preview .bmb-circle-stage:hover .bmb-circle-stage-line{ color:#553f63 !important; }
html body.home-concept .home-preview .bmb-circle-stage-label{ color:#7a6390 !important; }

/* consultation band photo: lavender fade instead of a deep purple wash */
html body.home-concept .home-preview .bmb-consult-media::after{
  background:linear-gradient(90deg, rgba(231,221,239,.55), rgba(231,221,239,0) 40%) !important; }
/* why BMB ambient glow (when shown on wide screens) */
html body.home-concept .home-preview .bmb-why::after{
  background:radial-gradient(circle, rgba(212,197,227,.45) 0%, rgba(212,197,227,.16) 55%, rgba(212,197,227,0) 75%) !important; }

/* hover states that still pointed at the old purple or went unreadable */
/* ghost buttons: style.css hovers them to cream text on a 14% cream fill (made for the
   purple page), which vanishes on the light hero; hover to lavender with plum text */
html body.home-concept .home-preview .bmb-cta--ghost:hover,
html body.home-concept .home-preview .bmb-cta--ghost:focus-visible,
html body.home-concept .home-preview .bmb-stage-frame > .bmb-hero .bmb-cta.bmb-cta--ghost:hover{
  background:#f3edf7 !important; color:#553f63 !important; border-color:#a58bbb !important; }
html body.home-concept .home-preview .bmb-stage-services a:hover{ border-color:#a58bbb !important; }
html body.home-concept .home-preview .bmb-loc-maplink:hover,
html body.home-concept .home-preview .bmb-loc-maplink:focus-visible{ background:#553f63 !important; border-color:#553f63 !important; color:#fff !important; }
html body.home-concept .home-preview .bmb-location-card .bmb-loc-social-link:hover{ color:#553f63 !important; border-color:#553f63 !important; background:#f3edf7 !important; }
html body.home-concept .home-preview .bmb-why-pillars li:hover{ border-color:#d4c5e3 !important; }
html body.home-concept .home-preview .bmb-why-pillars li:hover h3{ color:#553f63 !important; }
html body.home-concept .bmb-review-arrow:hover:not(:disabled){ background:#553f63 !important; border-color:#553f63 !important; color:#fff !important; }
html body.home-concept .bmb-review-dot.is-active{ background:#553f63 !important; }

/* why BMB reasons below 1100px: the brochure turned the hairline list into white
   cards, but the list rows have no side padding and no gap, so the copy sat on
   the card edge and the cards touched. Give the cards their inner space back. */
@media (max-width:1099px){
  html body.home-concept .bmb-why-pillars{ row-gap:.75rem !important; }
  html body.home-concept .bmb-why-pillars > li{ padding:1.15rem 1.3rem !important; }
}

/* =====================================================================
   SLEEP TRAINING CLINIC pages (main.proto-sleep)
   ===================================================================== */
/* the vivid accent (#7d4ba6) on eyebrows, quote rule, text links, class cards */
html body main.proto-sleep{ --accent-purple:#7a6390; --accent-lilac:#f3edf7; }
html body main.proto-sleep .consultant{ border-top-color:#e7ddef !important; border-bottom-color:#e7ddef !important; }
html body main.proto-sleep .class-option:hover,
html body main.proto-sleep .class-option:focus-visible{ border-color:#a58bbb !important; }

/* the full-width plum quote band becomes the homepage's lavender final band */
html body main.proto-sleep .quote-band{ background:linear-gradient(120deg,#efe6f5 0%,#e2d5ee 100%) !important; color:#553f63 !important; }
html body main.proto-sleep .quote-band blockquote{ color:#553f63 !important; }
html body main.proto-sleep .quote-band p{ color:#7a6390 !important; }

/* booking form + FAQ (page-local <style> on the sleep clinic page used #8d319b / #5a1f63) */
html body main.proto-sleep .stc-form input:focus-visible,
html body main.proto-sleep .stc-form select:focus-visible{ border-color:#553f63 !important; box-shadow:0 0 0 3px rgba(165,139,187,.35) !important; }
html body main.proto-sleep .stc-form select{
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath fill='%23553f63' d='M1.4 0 7 5.6 12.6 0 14 1.4 7 8.4 0 1.4z'/%3E%3C/svg%3E") !important; }
html body main.proto-sleep .stc-form-fallback a{ color:#553f63 !important; }
html body main.proto-sleep .stc-faq .bmb-faq-item summary::after{ color:#7a6390 !important; }
html body main.proto-sleep .stc-faq .bmb-faq-item summary:focus-visible{ outline-color:#a58bbb !important; }

/* =====================================================================
   LACTATION CLINIC / CARE OF NEWBORN COURSE / ANTENATAL CLASS (main.proto-page)
   ===================================================================== */
/* "Sister Yasa's guidance" halves of the concern cards: plum blocks -> lavender cards */
html body main.proto-page .concern-back{ background:#efe6f5 !important; color:#3f3346 !important; border-color:#e2d5ee !important; }
html body main.proto-page .concern-back small{ color:#7a6390 !important; }
html body main.proto-page .concern-back span{ color:#3f3346 !important; }
html body main.proto-page .concern-card:focus-visible{ outline-color:#a58bbb !important; }

/* =====================================================================
   PAGE SURFACE + PHONE LAYOUT FIXES on the clinic pages
   ===================================================================== */
/* html is var(--bg) #8d319b site-wide: it shows in iOS overscroll and past clipped overflow */
html:has(main.proto-page), html:has(main.proto-sleep){ background:#fff !important; }

/* Existing phone breakage (present before this theme, found while checking): these grids
   kept two or three columns on a 390px phone, so the right-hand card or column ran past
   the screen edge and was cut off (html has overflow-x:clip, so it cannot be scrolled to).
   Stack them on phones, as the rest of these pages already do at 760px. */
@media (max-width:760px){
  html body main:is(.proto-page, .proto-sleep) .service-prep-grid,
  html body main:is(.proto-page, .proto-sleep) .service-faq-list,
  html body main:is(.proto-page, .proto-sleep) .lc-extras,
  html body main:is(.proto-page, .proto-sleep) .merge-pair{ grid-template-columns:1fr !important; }
  html body main:is(.proto-page, .proto-sleep) .merge-pair > .merge-section:first-child{ padding-right:clamp(1.5rem,7vw,8rem) !important; }
  html body main:is(.proto-page, .proto-sleep) .merge-pair > .merge-section:last-child{ padding-left:clamp(1.5rem,7vw,8rem) !important; padding-top:0 !important; }
}
/* Sleep Training Consultation, "Meet Estee Chew": the profile grid's later rule re-set two
   columns (min 300px + the rest), which left the text column 0px wide on phones */
@media (max-width:900px){
  html body main.proto-sleep .specialist-profile{ grid-template-columns:1fr !important; }
}
/* Care of Newborn Course + Antenatal class registration: 300px + 520px minimum columns
   overflowed tablets between 761px and ~1040px (form cut off at the right); stack there too */
@media (max-width:1040px){
  html body main.proto-page .registration-section{ grid-template-columns:minmax(0,1fr) !important; }
}

/* =====================================================================
   FIX PASS 2 (review of all fragments combined)
   ===================================================================== */

/* ---------- Sleep Training Clinic: small caps text back above 4.5:1 ---------- */
/* quote-band attribution on the lavender gradient (plum-2 was 4.0:1; body text is 4.85:1 at the darkest end) */
html body main.proto-sleep .quote-band p{ color:#62576a !important; }
/* "Start with a conversation" eyebrow on the pale pink final band (plum-2 was 4.46:1; plum is 7.6:1) */
html body main.proto-sleep .cta .eyebrow{ color:#553f63 !important; }

/* ---------- Lactation Clinic: "Sister Yasa's guidance" label on the lavender card back ---------- */
/* plum-2 on #efe6f5 was 4.31:1 at 11.5px caps; plum is 7.6:1 */
html body main.proto-page .concern-back small{ color:#553f63 !important; }

/* ---------- Clinic pages: intro figure photo squashed ----------
   The goodie-bag photo on the antenatal class page carries width="1300" height="731";
   clinic-proto.css only sets width:100%, so the 731px height attribute stayed and the
   landscape photo was squeezed 2.4x (desktop) to 4x (phone). Let it keep its shape. */
html body main:is(.proto-page, .proto-sleep) .service-intro-figure img{ height:auto !important; }

/* ---------- Lactation Clinic: class-card photos cut in half on desktop ----------
   Above 1060px each card put its 3:2 photo in a ~270px-wide portrait column with
   object-fit:cover, which threw away half of each scene. Stack the card as it already
   is below 1060px, with the photo at its own 3:2 shape. */
@media (min-width:1061px){
  html body main.proto-page .class-link-card{ grid-template-columns:minmax(0,1fr) !important; }
  html body main.proto-page .class-link-card > img{ min-height:0 !important; height:auto !important; aspect-ratio:3 / 2; object-fit:cover; object-position:center; }
}

/* ---------- Header between 769 and 1219px (homepage + clinic pages) ----------
   The desktop nav did not fit one row there: the logo sat on its own row, the links on a
   second and, from 820 to 1024px, "Contact us" on a third row by itself (header 150-190px).
   Keep the nav on one row, scale the links down with the width, and drop the negative
   margins that paired the icons (they assumed the 1.75rem gap). From 900px the whole
   header is one row; from 769 to 899px it is a tidy logo row plus one nav row. */
@media (min-width:769px) and (max-width:1219px){
  html body:is(.home-concept, :has(main.proto-page), :has(main.proto-sleep)) .site-header .primary-nav .nav-root{
    flex-wrap:nowrap !important; gap:0 clamp(10px,1.3vw,18px) !important; }
  html body:is(.home-concept, :has(main.proto-page), :has(main.proto-sleep)) .site-header .primary-nav .nav-root > li > a{
    font-size:clamp(13.5px, calc(3vw - 14px), 20.74px) !important; white-space:nowrap !important; }
  html body:is(.home-concept, :has(main.proto-page), :has(main.proto-sleep)) .site-header .primary-nav .nav-root > li.nav-account-item,
  html body:is(.home-concept, :has(main.proto-page), :has(main.proto-sleep)) .site-header .primary-nav .nav-root > li.nav-cart-item,
  html body:is(.home-concept, :has(main.proto-page), :has(main.proto-sleep)) .site-header .primary-nav .nav-root > li.nav-cta-item{ margin-left:0 !important; }
}
@media (min-width:769px) and (max-width:899px){
  html body:is(.home-concept, :has(main.proto-page), :has(main.proto-sleep)) .site-header .primary-nav .nav-root > li > a{ font-size:14.5px !important; }
}

/* ---------- Homepage: review carousel controls, photo shadows, card borders ----------
   low-alpha tints of the old deep purple (#5a1f63 / #2e1034 / #8d319b) left in home-concept.css + home.css */
html body.home-concept .bmb-review-arrow{ border-color:#d4c5e3 !important; }
html body.home-concept .bmb-review-dot:not(.is-active){ background:#d4c5e3 !important; }
html body.home-concept .home-preview .bmb-why-marquee-track img,
html body.home-concept .home-preview .bmb-why-bg img{ box-shadow:0 12px 26px -16px rgba(85,63,99,.32) !important; }
html body.home-concept .home-preview .bmb-why-pillars li{ border-color:#e7ddef !important; }

/* ---------- Homepage hero on tablets and narrow windows (721-1099px) ----------
   The 16:9 family photo was set to cover the whole hero + stats frame (1000-1400px
   tall), so at the 12% position only the left third showed: lavender, then the
   grandmother, with the mother and baby cut off (portrait tablets showed just a slice of
   the grandmother's cheek). Show the whole photo as a band straight under the header,
   as the phone layout does, then the heading, buttons and stats on lavender below it.
   --header-h is the header height + main's 2rem top padding (set by the page script);
   everything here is measured from the same origin, so it holds even when that value
   is stale after the nav reflows.
   Final audit 24/09/2026: landscape screens from 960px (a 1024x768 tablet or small
   laptop window) now take the desktop layout below instead: stacked, the photo band
   filled the whole first screen and only the lead-in showed above the fold. */
@media (min-width:721px) and (max-width:959px), (min-width:960px) and (max-width:1099px) and (max-aspect-ratio:1333/1000){
  html body.home-concept .bmb-stage--calm .bmb-hero-bgimg::before{ top:0 !important; bottom:auto !important;
    height:calc(var(--header-h, 115px) - 2rem + 56.25vw) !important;
    background-size:100% auto !important; background-position:50% 100% !important; }
  html body.home-concept .bmb-stage--calm .bmb-hero-scrim{ background:
    linear-gradient(180deg, rgba(250,247,252,0) 0, rgba(250,247,252,0) calc(var(--header-h, 115px) - 2rem + 56.25vw - 70px), #faf7fc calc(var(--header-h, 115px) - 2rem + 56.25vw), #f3edf7 100%) !important; }
  html body.home-concept .bmb-stage--calm .bmb-stage-frame{ min-height:0 !important; }
  html body.home-concept .bmb-stage--calm .bmb-stage-frame > .bmb-hero{ padding:calc(var(--header-h, 115px) - 2rem + 56.25vw + 2rem) 0 0 !important; min-height:0 !important; }
  html body.home-concept .bmb-stage--calm .bmb-stage-frame > .bmb-hero > .bmb-hero-core{ padding:0 clamp(22px,6vw,56px) !important; max-width:none !important; width:100% !important; transform:none !important; }
  /* the decorative leaf beside the lead-in hung off the right edge once the text column went full width */
  html body.home-concept .bmb-stage--calm .bmb-hero-core::after{ display:none !important; }
}

/* =====================================================================
   FIX PASS 3: homepage photos cut off, and the last deep purple
   ===================================================================== */

/* ---------- Homepage hero photo on desktop (1100px and wider) ----------
   home-brochure.css sizes the 16:9 family photo to the whole stage frame, which is
   the hero plus the 298px stats strip (1075-1440px tall). "cover" then scaled the
   photo so wide that its right third fell off screen: at 1280x720 and 1366x768 only
   a sliver of the baby showed, and at 1440x900 the baby's face was cut in half.
   Size the photo to the hero alone: from just under the 81px header down to the
   top of the stats strip, never taller than the photo drawn at the full window
   width, and fading into the lavender behind the stats circles.
   Final audit 24/09/2026: the copy still ran onto the photo at every common laptop
   size (1280x720, 1280x800, 1366x768, 1440x900 and up to about 1900px): the lead-in
   touched the grandmother's hair, "maternity care" and "Singapore for Mums" sat on
   her shoulder and hand, and the paragraph crossed her sleeve. The family starts a
   third of the way across the photo (33.5% of its width), so the photo is now
   drawn at about the window width and moved right just far enough that the family starts
   16px past the widest line of copy. What gives way is the photo's plain lavender
   left side (faded into the page) and the flowers on the far right; the baby stays
   whole. The text column (the hero's 34px side padding + --hero-pad + --hero-text)
   is held to the width of the display line, so the paragraph never reaches further
   than "maternity care", which stays on one line. Below about 1480px the photo is
   drawn a little narrower than the window (--hero-img) so the baby keeps 24px or more
   from the right edge. From about 2200px the photo needs no move and sits where it
   did. Landscape windows from 960px (1024x768) use this layout too. */
@media (min-width:1100px), (min-width:960px) and (min-aspect-ratio:1333/1000){
  html body.home-concept .bmb-stage--calm{ --hero-pad:clamp(2rem,5vw,7.5rem); --hero-text:min(36vw,562px); --hero-img:min(100vw, calc(109vw - 136px)); }
  html body.home-concept .bmb-stage--calm .bmb-hero-bgimg::before{
    top:64px !important; bottom:auto !important; height:min(calc(100% - 362px), .5625 * var(--hero-img)) !important;
    left:max(0px, calc(34px + var(--hero-pad) + var(--hero-text) + 16px - .335 * var(--hero-img))) !important; right:0 !important; width:auto !important;
    background-size:var(--hero-img) auto !important; background-position:0 20% !important;
    -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 16vw),linear-gradient(180deg,#000 84%,transparent 100%) !important;
    mask-image:linear-gradient(90deg,transparent 0,#000 16vw),linear-gradient(180deg,#000 84%,transparent 100%) !important;
    -webkit-mask-composite:source-in !important; mask-composite:intersect !important; }
  html body.home-concept .bmb-stage--calm .bmb-stage-frame > .bmb-hero > .bmb-hero-core{
    padding-left:var(--hero-pad) !important; max-width:calc(var(--hero-pad) + var(--hero-text)) !important; }
}
/* 960-1279px: drop the decorative leaf beside the lead-in, which sat on her hair */
@media (min-width:960px) and (max-width:1279px){
  html body.home-concept .bmb-stage--calm .bmb-hero-core::after{ display:none !important; }
}

/* ---------- Homepage massage photo band ("Gentle comfort for expecting mothers") ----------
   The band was clamp(260px,31vw,460px) tall, which showed only 57% of the photo's
   height, and the 42% focus put the crop line through the therapist's face. Make
   the band tall enough to show her whole head and the client's face between the
   two waves, at the same crop on every width from 721px (phones keep their layout). */
@media (min-width:721px){
  html body.home-concept .home-preview .bmb-spa-band{ height:clamp(320px,47vw,1220px) !important; }
  html body.home-concept .home-preview .bmb-spa-img{ object-position:50% 0% !important; }
}

/* ---------- Homepage consultation card on small tablets (761-899px) ----------
   The card kept its copy | photo split, so the 16:9 photo was squeezed into a
   nearly square column: the pregnant mother was cut in half at the left and the
   consultant's face was off the right edge. Stack it as it already is below 761px
   and give the photo its own shape. */
@media (min-width:761px) and (max-width:899px){
  html body.home-concept .home-preview .bmb-consult{ grid-template-columns:minmax(0,1fr) !important; }
}
/* stacked (up to 899px): the photo keeps its 16:9 shape instead of a fixed 200px strip,
   which on large phones and small tablets cut the people off at the head and knees */
@media (max-width:899px){
  html body.home-concept .home-preview .bmb-consult-media{ min-height:0 !important; aspect-ratio:1300 / 729; }
}

/* ---------- Homepage colours (D17, 24/09/2026) ----------
   The client approved the brochure homepage, so its own colours stay: deep plum
   headlines and trust line from home-brochure.css, and the deep plum contact band
   above the footer with white icons and a white WhatsApp pill. This file does not
   recolour them; the soft header and footer at the top of this file still apply. */
