/* =====================================================================
   Clean Pharma — shared subpage theme (cp-site.css)
   Loaded after each subpage's own <style>, so it wins the cascade.
   Matches the homepage: dark glass header, paper body, gold accents,
   dark footer.
   ===================================================================== */
:root {
  --cp-ink: #0d0b09;
  --cp-gold: #D4B96B;
  --cp-gold-hi: #EBDBA5;
  --cp-gold-lo: #B0914A;
  --cp-paper: #FAF7F0;
  --cp-ease: cubic-bezier(.2,.8,.2,1);
}
html { scroll-behavior: smooth; }
body { background: var(--cp-paper) !important; }
::selection { background: rgba(212,185,107,.35); }

/* Header */
header.site {
  position: sticky; top: 0; z-index: 100;
  background: rgba(13,11,9,.97) !important;
  border-bottom: 1px solid rgba(244,236,216,.08) !important;
  -webkit-backdrop-filter: saturate(140%) blur(14px); backdrop-filter: saturate(140%) blur(14px);
}
header.site .logo, header.site .logo .logo-tail { color: #F4ECD8 !important; }
header.site .back-link, header.site a:not(.logo) {
  color: rgba(244,236,216,.75) !important; border-color: rgba(244,236,216,.28) !important;
  transition: color .2s, border-color .2s, background .2s;
}
header.site .back-link:hover, header.site a:not(.logo):hover { color: #120f0c !important; background: var(--cp-gold) !important; border-color: var(--cp-gold) !important; }
.promo-banner { background: linear-gradient(90deg, #15110d, #221b13 50%, #15110d) !important; color: #F4ECD8 !important; border-bottom: 1px solid rgba(212,185,107,.22) !important; }
.promo-banner a { color: var(--cp-gold-hi) !important; }

/* Page title area — ink on paper with a gold accent rule */
section.page { position: relative; }
section.page .eyebrow { color: var(--cp-gold-lo) !important; letter-spacing: .32em; }
section.page .page-title, section.page h1 { color: #111 !important; letter-spacing: -.02em; }
section.page .page-title::after, section.page > .container > h1::after {
  content: ''; display: block; width: 56px; height: 3px; margin-top: 18px; border-radius: 3px;
  background: linear-gradient(90deg, var(--cp-gold-lo), var(--cp-gold-hi));
}
section.page .lead { color: #3A3A3A; }
@supports (-webkit-background-clip: text) {
  section.page .page-title em, section.page h1 em {
    background: linear-gradient(100deg, var(--cp-gold-lo), #9a7d33 45%, var(--cp-gold-lo));
    -webkit-background-clip: text; background-clip: text; color: transparent;
  }
}
/* content below the band returns to ink-on-paper */
section.page .content, section.page .content p, section.page .content li { color: #3A3A3A; }
section.page .content h2, section.page .content h3 { color: #111; }
section.page .content a { color: var(--cp-gold-lo); text-decoration: underline; text-underline-offset: 3px; }
section.page .content h2 { position: relative; padding-top: 6px; }
section.page .content h2::before { content: ''; display: block; width: 28px; height: 2px; background: var(--cp-gold); margin-bottom: 14px; }

/* Cards / tables used across subpages */
.contact-card, .policy-card, .summary-card, .step, .card, .form-card, .track-card, .result-card {
  background: #fff !important; border: 1px solid rgba(17,17,17,.08) !important; border-radius: 18px !important;
  box-shadow: 0 20px 44px -30px rgba(26,20,16,.4);
  transition: transform .35s var(--cp-ease), box-shadow .35s;
}
.contact-card:hover, .policy-card:hover, .summary-card:hover { transform: translateY(-3px); box-shadow: 0 26px 54px -30px rgba(26,20,16,.5); }
table { border-radius: 14px; overflow: hidden; }
thead th { background: var(--cp-ink) !important; color: var(--cp-gold-hi) !important; }

/* Buttons & form controls */
button[type=submit], .btn-primary, .submit-btn {
  background: linear-gradient(100deg, var(--cp-gold-hi), var(--cp-gold) 45%, var(--cp-gold-lo)) !important;
  color: #120f0c !important; border: 0 !important; border-radius: 999px !important;
  box-shadow: 0 10px 28px -10px rgba(212,185,107,.6);
  transition: transform .2s var(--cp-ease), box-shadow .3s;
}
button[type=submit]:hover, .btn-primary:hover, .submit-btn:hover { transform: translateY(-1px); box-shadow: 0 16px 36px -12px rgba(212,185,107,.75); }
input:focus, textarea:focus, select:focus { outline: none; border-color: var(--cp-gold-lo) !important; box-shadow: 0 0 0 3px rgba(212,185,107,.2); }

/* Footer */
footer.site { background: #080706 !important; color: rgba(244,236,216,.7); border-top: 1px solid rgba(212,185,107,.15) !important; padding-top: 70px !important; }
footer.site .logo, footer.site .logo .logo-tail { color: #F4ECD8 !important; }
footer.site .foot-grid h5 { color: var(--cp-gold) !important; }
footer.site .foot-grid a { color: rgba(244,236,216,.62) !important; }
footer.site .foot-grid a:hover { color: var(--cp-gold-hi) !important; }
footer.site p { color: rgba(244,236,216,.55) !important; }
footer.site .disclaimer { border-top-color: rgba(244,236,216,.08) !important; color: rgba(244,236,216,.42) !important; }
footer.site .disclaimer strong { color: rgba(244,236,216,.78); }
footer.site .disclaimer a { color: inherit !important; }

a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible { outline: 2px solid var(--cp-gold); outline-offset: 2px; }
