/* Playful & Blue - one shared theme for every Samaritan Recovery / Daniel Glass page.
   Tokens come from the booking page. Loaded AFTER each page's own <style>, so it re-skins
   existing markup without touching content, forms or scripts. */

:root {
  --ink: #121826;
  --muted: #60708a;
  --line: #dbe6f5;
  --blue: #2d7ff9;
  --blue-2: #5db7ff;
  --blue-deep: #1a64cc;
  --gold: #d8a75b;
  --paper: #ffffff;
  --wash: #eef6ff;
  --radius: 22px;
  --shadow-soft: 0 24px 80px rgba(31, 88, 154, .14);
  --shadow-card: 0 12px 40px rgba(31, 88, 154, .10);
  --font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Public Sans", sans-serif;

  /* names the existing pages already use */
  --bg: #f7fbff;
  --surface: #ffffff;
  --surface-2: #eef6ff;
  --border: #dbe6f5;
  --accent: #2d7ff9;
  --accent2: #1a64cc;
  --accent-2: #1a64cc;
  --rust: #d8a75b;
  --pink: #d8a75b;
  --glow: rgba(45, 127, 249, .14);
  --text: #121826;
}

html { scroll-behavior: smooth; }

body {
  min-height: 100vh;
  background:
    radial-gradient(circle at top left, rgba(93, 183, 255, .34), transparent 34rem),
    radial-gradient(circle at 92% 18%, rgba(216, 167, 91, .12), transparent 26rem),
    linear-gradient(135deg, #f7fbff 0%, #eaf4ff 54%, #fff8ee 100%);
  color: var(--ink);
  font-family: var(--font);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4 { color: var(--ink); font-family: var(--font); letter-spacing: 0; }
h1 { font-weight: 900; line-height: 1.02; }
h2 { font-weight: 900; }
p, li { color: inherit; }
a { color: var(--blue-deep); }

/* ---------- navigation ---------- */
nav {
  background: rgba(247, 251, 255, .80) !important;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(219, 230, 245, .8) !important;
  box-shadow: none !important;
}
.nav-brand, .brand { color: var(--ink) !important; font-weight: 900; letter-spacing: 0; }
.nav-brand span, nav .brand span { color: #b07a1f !important; -webkit-text-fill-color: #b07a1f !important; background: none !important; }
.nav-links a, .nav-link { color: var(--muted); font-weight: 800; text-decoration: none; }
.nav-links a:hover, .nav-link:hover { color: var(--ink); }
.nav-cta, .nav-links a.nav-cta {
  background: linear-gradient(135deg, var(--blue), var(--blue-2)) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff;
  border-radius: 999px;
  box-shadow: 0 10px 28px rgba(45, 127, 249, .28) !important;
  font-weight: 900;
}

/* ---------- hero ---------- */
.hero { color: var(--ink); }
.hero::before {
  background:
    radial-gradient(circle at 18% 12%, rgba(93, 183, 255, .38), transparent 26rem),
    radial-gradient(circle at 88% 8%, rgba(216, 167, 91, .22), transparent 22rem) !important;
  opacity: 1 !important;
  filter: none !important;
}
.hero::after { background: linear-gradient(transparent, rgba(247, 251, 255, .0)) !important; }
.hero-glow { background: radial-gradient(ellipse at center, rgba(45, 127, 249, .18) 0%, transparent 65%) !important; }
.hero-eyebrow, .eyebrow {
  border: 1px solid rgba(45, 127, 249, .18) !important;
  color: var(--blue-deep) !important;
  background: rgba(45, 127, 249, .08) !important;
  border-radius: 999px;
  font-weight: 900;
  letter-spacing: .08em;
}
.hero-sub, .hero p { color: var(--muted) !important; }
.grad, h1 .grad {
  background: linear-gradient(135deg, var(--blue), var(--blue-2), var(--gold)) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
}

/* ---------- buttons ---------- */
.hero-btn, .button-primary, .submit-btn, .submit, button.primary {
  background: linear-gradient(135deg, var(--blue), var(--blue-2)) !important;
  color: #fff !important;
  border: 0;
  box-shadow: 0 16px 36px rgba(45, 127, 249, .28) !important;
  font-weight: 900;
}
.hero-btn:hover, .button-primary:hover, .submit-btn:hover { box-shadow: 0 20px 44px rgba(45, 127, 249, .38) !important; }
.button-secondary {
  background: #fff !important;
  color: var(--ink) !important;
  border: 1px solid var(--line) !important;
  box-shadow: var(--shadow-card);
}

/* ---------- sections and cards ---------- */
.trust-bar {
  background: rgba(255, 255, 255, .72) !important;
  border-top: 1px solid var(--line) !important;
  border-bottom: 1px solid var(--line) !important;
}
.trust-item, .trust-item span { color: var(--muted); }
.trust-item span { color: var(--blue-deep); }
.signs-bg, .steps-bg, .surface { background: rgba(255, 255, 255, .58) !important; }
#form-section { background: transparent !important; }
.section-label, .info-label, .step-num { color: var(--blue-deep) !important; font-weight: 900; }
.section-sub, .about-text p, .about-copy p, .stat-label, .card p, .step p, .sign-card p { color: var(--muted) !important; }

.sign-card, .stat-card, .card, .info-panel, .form-wrapper, .form-shell, .portal, .callout, .panel, .box {
  background: rgba(255, 255, 255, .92) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--radius) !important;
  box-shadow: var(--shadow-card);
}
.form-wrapper, .form-shell { border-radius: 30px !important; box-shadow: var(--shadow-soft); }
.sign-card:hover, .stat-card:hover, .card:hover { border-color: rgba(45, 127, 249, .45) !important; box-shadow: var(--shadow-soft); }
.steps { background: var(--line) !important; border-radius: var(--radius); }
.step { background: #fff !important; }
.stat-num, footer .brand {
  background: linear-gradient(135deg, var(--blue), var(--blue-2)) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}
.about-photo-wrap {
  background: linear-gradient(#fff, #fff) padding-box, linear-gradient(135deg, var(--blue), var(--blue-2), var(--gold)) border-box !important;
  box-shadow: var(--shadow-soft);
}
.info-value { color: var(--ink) !important; }
.info-row { border-color: var(--line) !important; }

/* ---------- forms ---------- */
label { color: #254267 !important; font-weight: 900; }
label .optional { color: var(--muted) !important; }
input, select, textarea,
input[type="text"], input[type="email"], input[type="tel"] {
  background: #fff !important;
  color: var(--ink) !important;
  border: 1px solid var(--line) !important;
  border-radius: 14px;
}
input::placeholder, textarea::placeholder { color: #8aa0bf !important; }
input:focus, select:focus, textarea:focus {
  border-color: var(--blue) !important;
  box-shadow: 0 0 0 3px rgba(45, 127, 249, .14) !important;
}
.radio-label { background: #fff !important; border: 1px solid var(--line) !important; color: var(--ink) !important; border-radius: 14px; }
.radio-label:hover { border-color: var(--blue) !important; }
.radio-label.selected { border-color: var(--blue) !important; background: var(--wash) !important; color: var(--blue-deep) !important; }
.form-disclaimer, .form-note, .fine, .form-note * { color: var(--muted) !important; }
.success-msg h3, .success h3 { color: var(--blue-deep) !important; -webkit-text-fill-color: var(--blue-deep) !important; background: none !important; }
.success-msg p, .success p { color: var(--muted) !important; }
.status.err, .status-line.err { color: #c24135 !important; }

/* ---------- footer ---------- */
footer {
  background: rgba(255, 255, 255, .72) !important;
  border-top: 1px solid var(--line) !important;
  color: var(--muted);
}
footer p, footer .fine-print { color: var(--muted) !important; }
.footer-links a, footer a { color: var(--blue-deep) !important; font-weight: 800; }
.footer-links a:hover, footer a:hover { color: var(--blue) !important; }

/* ---------- inline icons that were drawn in the old palette ---------- */
[stroke="#c58a45"], [stroke="#b56a4f"] { stroke: #2d7ff9; }
[stroke="#e7c98a"] { stroke: #5db7ff; }
[stroke="#d97a63"] { stroke: #d8a75b; }
[fill="#c58a45"] { fill: #2d7ff9; }
[fill="#e7c98a"] { fill: #5db7ff; }
[fill="#d97a63"] { fill: #d8a75b; }
stop[stop-color="#c58a45"] { stop-color: #2d7ff9; }
stop[stop-color="#e7c98a"] { stop-color: #5db7ff; }
stop[stop-color="#d97a63"] { stop-color: #d8a75b; }
.card-icon, .sign-icon, .step-icon, .icon { color: var(--blue); }

/* ---------- long-form pages (articles, legal, directory) ---------- */
article, .article, .prose, .content, .legal, .doc, .page { color: var(--ink); }
article p, .article p, .prose p, .content p, .legal p, .doc p { color: #34455f; }
blockquote { border-left: 4px solid var(--blue-2); background: var(--wash); border-radius: 0 16px 16px 0; color: var(--ink); }
table { border-color: var(--line); }
th { background: var(--wash); color: var(--ink); }
td, th { border-color: var(--line) !important; }
hr { border-color: var(--line); }
code, pre { background: var(--wash); color: var(--ink); border-radius: 10px; }

@media (max-width: 700px) {
  .form-wrapper, .form-shell { border-radius: 24px !important; }
  nav { gap: 10px; }
  .nav-brand { font-size: .92rem; line-height: 1.2; }
  .nav-cta, .nav-links a.nav-cta { white-space: nowrap; padding: 9px 15px !important; font-size: .8rem; }
}

/* ---------- page-specific palettes folded into the same theme ---------- */
:root {
  --soft: #34455f;
  --dark-bg: #f7fbff;
  --dark-surface: #ffffff;
  --dark-border: #dbe6f5;
  --dark-text: #121826;
  --dark-muted: #60708a;
  --dark-soft: #34455f;
  --paper: #f7fbff;
  --paper-raise: #ffffff;
  --paper-border: #dbe6f5;
  --paper-border-soft: #e8f0fb;
  --ink-soft: #4a5b76;
  --ink-faint: #6b7c96;
  --accent-deep: #1a64cc;
}

/* photo / dark heroes become the soft blue wash used on the booking page */
.hero {
  background:
    radial-gradient(circle at 18% 12%, rgba(93, 183, 255, .38), transparent 26rem),
    radial-gradient(circle at 88% 8%, rgba(216, 167, 91, .20), transparent 22rem) !important;
}
.hero::before { background: none !important; }
.hero h1 em, .hero h1 .grad {
  background: linear-gradient(135deg, var(--blue), var(--blue-2), var(--gold)) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  font-style: normal;
}
.hero-stat b { color: var(--blue-deep) !important; font-family: var(--font) !important; font-weight: 900; }
.hero-stat span { color: var(--muted) !important; }
.hero-notice { background: rgba(216, 167, 91, .12) !important; border: 1px solid rgba(216, 167, 91, .35) !important; color: #5b4520 !important; }
.hero-notice svg { color: #b07a1f !important; }

/* callouts and dark call-to-action blocks */
.pull { color: #5b4520 !important; background: rgba(216, 167, 91, .14) !important; border-left-color: var(--gold) !important; border-radius: 0 16px 16px 0; }
.notice { color: var(--soft) !important; background: rgba(45, 127, 249, .08) !important; border-color: rgba(45, 127, 249, .22) !important; }
.cta-band, .cta-box, .fit-card {
  background: linear-gradient(135deg, #2d7ff9, #68c7ff) !important;
  border: 0 !important;
  color: #fff !important;
  box-shadow: 0 24px 80px rgba(31, 88, 154, .22);
}
.cta-section { background: transparent !important; }
.cta-box::before { display: none !important; }
.cta-band h2, .cta-band h3, .cta-box h2, .cta-box h3, .fit-card h2, .fit-card h3, .fit-card .kicker,
.cta-band p, .cta-box p, .fit-card p { color: #fff !important; }
.cta-band .button-primary, .cta-box .button-primary, .fit-card .button-primary {
  background: #fff !important; color: var(--blue-deep) !important; box-shadow: 0 14px 36px rgba(18, 24, 38, .18) !important;
}
.cta-band .button-secondary, .cta-box .button-secondary, .fit-card .button-secondary {
  background: rgba(255, 255, 255, .16) !important; color: #fff !important; border: 1px solid rgba(255, 255, 255, .55) !important;
}
.kicker { color: var(--blue-deep) !important; }
.pcard-mono, .about-portrait { font-family: var(--font) !important; font-weight: 900; }
.about { background: rgba(255, 255, 255, .6) !important; }
.legal-disclaimer { color: #6b7c96 !important; opacity: 1 !important; }

/* article pages with a translucent dark reading panel */
article {
  background: rgba(255, 255, 255, .92) !important;
  border: 1px solid var(--line) !important;
  border-radius: 28px !important;
  box-shadow: var(--shadow-soft) !important;
}
article h1, article h2, article h3 { color: var(--ink) !important; }
article p, article li { color: #34455f !important; }
.cta { background: linear-gradient(135deg, rgba(45, 127, 249, .10), rgba(216, 167, 91, .14)) !important; border: 1px solid rgba(45, 127, 249, .25) !important; color: var(--ink); }
.cta a { background: linear-gradient(135deg, var(--blue), var(--blue-2)) !important; color: #fff !important; }
