/*
 * EPSP 2.1 — hard brand enforcement layer.
 * Loaded after the main stylesheet so stale theme/plugin rules cannot reintroduce green.
 */
:root{
  --epsp-blue:#194461;
  --epsp-blue-2:#2b648d;
  --epsp-blue-3:#7fa9c7;
  --epsp-navy:#0d293d;
  --epsp-ink:#132b3f;
  --epsp-text:#51677a;
  --epsp-muted:#74889a;
  --epsp-bg:#f5f8fc;
  --epsp-card:#fff;
  --epsp-line:rgba(25,68,97,.10);
  --epsp-line-strong:rgba(25,68,97,.17);
  --epsp-gradient:linear-gradient(135deg,#194461 0%,#2b648d 58%,#7fa9c7 100%);
}

/* Hero — force a clean blue/white Apple-style presentation even if old CSS is cached. */
body.epsp-has-service-page .epsp-wrap .epsp-hero,
body.epsp-has-service-page .epsp-wrap section.epsp-hero{
  position:relative!important;
  color:var(--epsp-text)!important;
  background:
    radial-gradient(circle at 83% 12%,rgba(127,169,199,.24),transparent 28%),
    radial-gradient(circle at 12% 92%,rgba(43,100,141,.07),transparent 24%),
    linear-gradient(180deg,#ffffff 0%,#f2f7fc 100%)!important;
  background-image:
    radial-gradient(circle at 83% 12%,rgba(127,169,199,.24),transparent 28%),
    radial-gradient(circle at 12% 92%,rgba(43,100,141,.07),transparent 24%),
    linear-gradient(180deg,#ffffff 0%,#f2f7fc 100%)!important;
  border-bottom:1px solid rgba(25,68,97,.09)!important;
  box-shadow:none!important;
}
body.epsp-has-service-page .epsp-wrap .epsp-hero-overlay::before,
body.epsp-has-service-page .epsp-wrap .epsp-hero-overlay::after{display:none!important}
body.epsp-has-service-page .epsp-wrap .epsp-shell-hero{min-height:auto!important;color:var(--epsp-text)!important}
body.epsp-has-service-page .epsp-wrap .epsp-hero h1{color:var(--epsp-navy)!important;text-shadow:none!important}
body.epsp-has-service-page .epsp-wrap .epsp-hero .eyebrow,
body.epsp-has-service-page .epsp-wrap .epsp-hero .epsp-eyebrow{
  background:rgba(127,169,199,.16)!important;
  border:1px solid rgba(25,68,97,.07)!important;
  color:var(--epsp-blue)!important;
  box-shadow:none!important;
}
body.epsp-has-service-page .epsp-wrap .epsp-hero-meta,
body.epsp-has-service-page .epsp-wrap .epsp-hours,
body.epsp-has-service-page .epsp-wrap .epsp-hero-intro{color:var(--epsp-text)!important}
body.epsp-has-service-page .epsp-wrap .epsp-hero-phone{color:var(--epsp-blue)!important;text-shadow:none!important}

/* Buttons — include old v1 generic .btn classes and current v2 names. */
body.epsp-has-service-page .epsp-wrap .btn-primary,
body.epsp-has-service-page .epsp-wrap .epsp-btn-primary,
body.epsp-has-service-page .epsp-wrap button[type="submit"]{
  background:var(--epsp-gradient)!important;
  background-color:var(--epsp-blue)!important;
  color:#fff!important;
  border-color:transparent!important;
  box-shadow:0 12px 30px rgba(25,68,97,.18)!important;
}
body.epsp-has-service-page .epsp-wrap .epsp-btn-secondary,
body.epsp-has-service-page .epsp-wrap .btn-secondary{
  background:#fff!important;color:var(--epsp-blue)!important;border:1px solid rgba(25,68,97,.16)!important;
}

/* Cards / CTA */
body.epsp-has-service-page .epsp-wrap .epsp-side-card{
  color:var(--epsp-text)!important;
  background:linear-gradient(180deg,#fff 0%,#f6f9fd 100%)!important;
  border:1px solid rgba(25,68,97,.10)!important;
  box-shadow:0 18px 46px rgba(13,41,61,.08)!important;
}
body.epsp-has-service-page .epsp-wrap .epsp-side-card h3{color:var(--epsp-navy)!important}
body.epsp-has-service-page .epsp-wrap .epsp-side-card p,
body.epsp-has-service-page .epsp-wrap .epsp-side-note{color:var(--epsp-text)!important}
body.epsp-has-service-page .epsp-wrap .epsp-side-phone{color:var(--epsp-blue)!important}
body.epsp-has-service-page .epsp-wrap .epsp-card-kicker{background:rgba(127,169,199,.15)!important;color:var(--epsp-blue)!important}
body.epsp-has-service-page .epsp-wrap .epsp-side-features span::before,
body.epsp-has-service-page .epsp-wrap .epsp-list li::before,
body.epsp-has-service-page .epsp-wrap .epsp-quote-icon svg{color:var(--epsp-blue-2)!important}

/* Media / lower bands — no green tint. */
body.epsp-has-service-page .epsp-wrap .epsp-lower-band{background:#f4f8fc!important;border-color:rgba(25,68,97,.09)!important}
body.epsp-has-service-page .epsp-wrap .epsp-media-overlay{background:linear-gradient(180deg,rgba(13,41,61,.04),rgba(13,41,61,.84))!important}
body.epsp-has-service-page .epsp-wrap .epsp-media-tile,
body.epsp-has-service-page .epsp-wrap .epsp-quote-panel,
body.epsp-has-service-page .epsp-wrap .epsp-copy-block,
body.epsp-has-service-page .epsp-wrap .epsp-about-doctor-card{border-color:rgba(25,68,97,.10)!important}

/* Current visual card */
body.epsp-has-service-page .epsp-wrap .epsp-hero-visual{
  background:rgba(255,255,255,.86)!important;
  border:1px solid rgba(25,68,97,.10)!important;
  box-shadow:0 28px 72px rgba(13,41,61,.11)!important;
  backdrop-filter:blur(18px)!important;
}
body.epsp-has-service-page .epsp-wrap .epsp-hero-visual-image{
  filter:saturate(.96) contrast(1.01)!important;
}
body.epsp-has-service-page .epsp-wrap .epsp-hero-visual-badge{
  color:var(--epsp-navy)!important;background:rgba(255,255,255,.94)!important;
}
body.epsp-has-service-page .epsp-wrap .epsp-badge-dot{background:var(--epsp-blue-2)!important;box-shadow:0 0 0 5px rgba(43,100,141,.12)!important}

/* Gallery / lightbox */
body.epsp-gallery-active .wp-block-gallery > figure,
body.epsp-gallery-active .gallery > .gallery-item,
.epsp-gallery-item{background:#eef4fa!important;border-color:rgba(25,68,97,.10)!important;box-shadow:0 14px 34px rgba(13,41,61,.07)!important}
.epsp-lightbox-backdrop{background:rgba(7,24,39,.92)!important}
.epsp-lightbox-close,.epsp-lightbox-prev,.epsp-lightbox-next{color:var(--epsp-navy)!important;border-color:rgba(255,255,255,.16)!important}

/* Remove any legacy green presentation values from EPSP-controlled text. */
body.epsp-has-service-page .epsp-wrap a:not(.epsp-btn):not(.btn){color:var(--epsp-blue-2)!important}

@media(max-width:640px){
  body.epsp-has-service-page .epsp-wrap .epsp-hero{padding:24px 0 22px!important}
  body.epsp-has-service-page .epsp-wrap .epsp-hero-grid{gap:16px!important}
  body.epsp-has-service-page .epsp-wrap .epsp-hero-visual{min-height:235px!important;border-radius:22px!important}
  body.epsp-has-service-page .epsp-wrap .epsp-hero-visual-image{border-radius:15px!important}
}
