/* Calculator pages — light card overlay on dark page background.
   Keeps hero dark + page bg dark, but renders form/result cards as readable light "documents".
   Applies to: yield-calculator, void-period-calculator, stamp-duty-calculator,
   compliance-checklist, renters-rights-checker, tenant-affordability. */

/* === SHARED: cards / tables / forms / inputs === */
.yc-card, .sd-card, .cc-card, .ta-card,
.yc-result, .yc-breakdown, .yc-cta-box,
.sd-breakdown, .sd-cta-box,
.cc-item-card, .cc-capture,
.ta-cta-box, .ta-capture {
  background: #fbf8ed !important;
  border: 1px solid #e2e8f0 !important;
  color: #1a1a1a !important;
  box-shadow: 0 1px 3px rgba(0,0,0,.04);
  border-radius: 12px;
}

.yc-card h3, .sd-card h3, .cc-card h3, .ta-card h3,
.yc-result h2, .yc-breakdown h3, .yc-cta-box h3,
.sd-breakdown h3, .sd-cta-box h3,
.cc-capture h3, .ta-capture h3, .ta-cta-box h3 {
  color: #0f1f3d !important;
  font-family: 'Cormorant Garamond', Georgia, serif !important;
}

.yc-help, .sd-help, .cc-help, .ta-help { color: #475569 !important; }
.yc-intro, .sd-intro, .cc-intro, .ta-intro {
  background: rgba(201,160,32,.06) !important;
  border: 1px solid rgba(201,160,32,.22) !important;
  color: #475569 !important;
  border-radius: 10px;
  padding: 16px 20px;
}
.yc-intro p, .sd-intro p, .cc-intro p, .ta-intro p { color: #475569 !important; }

/* Form labels + inputs */
.yc-form label, .sd-form label, .cc-form label, .ta-form label,
.rrc-cap-grid label, .cc-grid label, .sd-grid label, .yc-grid label, .ta-grid label {
  color: #334155 !important;
  font-weight: 600;
}
.yc-form input, .yc-form select, .yc-form textarea,
.sd-form input, .sd-form select, .sd-form textarea,
.cc-form input, .cc-form select, .cc-form textarea,
.ta-form input, .ta-form select, .ta-form textarea,
.cc-date-row input, .cc-date-row select,
.rrc-cap-grid input {
  background: #ffffff !important;
  border: 1px solid #cbd5e1 !important;
  color: #0f1f3d !important;
}
.yc-form input:focus, .yc-form select:focus, .yc-form textarea:focus,
.sd-form input:focus, .sd-form select:focus, .sd-form textarea:focus,
.cc-form input:focus, .cc-form select:focus, .cc-form textarea:focus,
.ta-form input:focus, .ta-form select:focus, .ta-form textarea:focus,
.rrc-cap-grid input:focus {
  border-color: #c9a020 !important;
  box-shadow: 0 0 0 3px rgba(201,160,32,.15);
  outline: none;
}

/* Headline metric tiles */
.yc-headline, .sd-headline, .ta-headline {
  background: #fbf8ed !important;
  border: 1px solid #e2e8f0 !important;
  color: #1a1a1a !important;
  border-radius: 10px;
}
.yc-h-lbl, .sd-h-lbl, .ta-h-lbl { color: #64748b !important; }
.yc-h-val, .sd-h-val, .ta-h-val { color: #0f1f3d !important; }
.yc-h-sub, .sd-h-sub, .ta-h-sub { color: #94a3b8 !important; }
.yc-h-primary, .sd-h-primary, .ta-h-primary {
  background: linear-gradient(135deg, #1e3a5f 0%, #0f1f3d 100%) !important;
  color: #fff !important;
  border-color: #1e3a5f !important;
}
.yc-h-primary .yc-h-val, .yc-h-primary .yc-h-lbl, .yc-h-primary .yc-h-sub,
.sd-h-primary .sd-h-val, .sd-h-primary .sd-h-lbl, .sd-h-primary .sd-h-sub,
.ta-h-primary .ta-h-val, .ta-h-primary .ta-h-lbl, .ta-h-primary .ta-h-sub {
  color: #fff !important;
}

/* Result eyebrow + heading */
.yc-eyebrow, .sd-eyebrow, .ta-eyebrow {
  color: #c9a020 !important; font-weight: 700 !important; letter-spacing: .12em !important;
}
.yc-result-head h2, .sd-result-head h2, .ta-result-head h2 { color: #0f1f3d !important; }
.yc-result-sub, .sd-result-sub, .ta-result-sub { color: #64748b !important; }

/* Breakdown table */
.yc-tbl, .sd-tbl { color: #1a1a1a !important; }
.yc-tbl td, .sd-tbl td { border-color: #e2e8f0 !important; color: #1a1a1a !important; }
.yc-tbl tr.yc-sub-total, .sd-tbl tr.sd-sub-total { background: #f8fafc !important; font-weight: 600; }
.yc-tbl tr.yc-total, .sd-tbl tr.sd-total { background: #fef3c7 !important; font-weight: 700; }
.yc-tbl td.neg, .sd-tbl td.neg { color: #dc2626 !important; }
.yc-tbl td.pos, .sd-tbl td.pos { color: #15803d !important; }

/* Extras row */
.yc-extras, .sd-extras { gap: 12px; }
.yc-extra, .sd-extra {
  background: #fbf8ed !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 10px;
  color: #1a1a1a !important;
}
.yc-extra-lbl, .sd-extra-lbl { color: #64748b !important; }
.yc-extra-val, .sd-extra-val { color: #0f1f3d !important; }
.yc-extra-sub, .sd-extra-sub { color: #94a3b8 !important; }

/* CTA box */
.yc-cta-box p, .sd-cta-box p, .ta-cta-box p { color: #475569 !important; }

/* Error / success */
.yc-error, .sd-error, .cc-error, .ta-error {
  background: #fee2e2 !important;
  border: 1px solid #fecaca !important;
  color: #991b1b !important;
}

/* Checkbox row */
.yc-check, .sd-check, .cc-check, .ta-check, .rrc-cap-check {
  color: #334155 !important;
  background: #fbf8ed !important;
}

/* === COMPLIANCE CHECKLIST specific === */
.cc-q-num { color: #c9a020 !important; }
.cc-q-text { color: #0f1f3d !important; }
.cc-q-help { color: #475569 !important; }
.cc-radio {
  background: #fbf8ed !important;
  border: 1px solid #cbd5e1 !important;
  color: #1a1a1a !important;
  border-radius: 8px;
}
.cc-radio:hover { background: #f8fafc !important; border-color: #c9a020 !important; }
.cc-radio.selected { background: rgba(201,160,32,.1) !important; border-color: #c9a020 !important; }
.cc-dl { color: #334155 !important; }
.cc-progress-track { background: #e2e8f0 !important; }
.cc-progress-text { color: #64748b !important; }
.cc-nav .cc-back, .cc-nav .cc-next {
  background: #fbf8ed !important;
  border-color: #cbd5e1 !important;
  color: #334155 !important;
}
.cc-nav .cc-back:hover, .cc-nav .cc-next:hover {
  background: #f8fafc !important;
  border-color: #c9a020 !important;
  color: #0f1f3d !important;
}
.cc-nav .cc-next.primary {
  background: #c9a020 !important; color: #000 !important; border-color: #c9a020 !important;
}

/* === RENTERS RIGHTS specific === */
.rrc-q {
  background: #fbf8ed !important;
  border: 1px solid #e2e8f0 !important;
  color: #1a1a1a !important;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(0,0,0,.04);
}
.rrc-q-num { color: #c9a020 !important; }
.rrc-q-text { color: #0f1f3d !important; }
.rrc-q-helper { color: #475569 !important; }
.rrc-q-answer {
  background: #fbf8ed !important;
  border: 1px solid #cbd5e1 !important;
  color: #1a1a1a !important;
}
.rrc-q-answer:hover { background: #f8fafc !important; border-color: #c9a020 !important; }
.rrc-q-answer.selected { background: rgba(201,160,32,.1) !important; border-color: #c9a020 !important; }
.rrc-capture {
  background: #fbf8ed !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(0,0,0,.04);
}
.rrc-cap-h { color: #0f1f3d !important; }
.rrc-cap-sub { color: #475569 !important; }
.rrc-progress-track { background: #e2e8f0 !important; }
.rrc-progress-text { color: #64748b !important; }
.rrc-nav .rrc-back, .rrc-nav .rrc-next {
  background: #fbf8ed !important;
  border-color: #cbd5e1 !important;
  color: #334155 !important;
}
.rrc-nav .rrc-back:hover, .rrc-nav .rrc-next:hover {
  background: #f8fafc !important;
  border-color: #c9a020 !important;
  color: #0f1f3d !important;
}
.rrc-nav .rrc-next.primary {
  background: #c9a020 !important; color: #000 !important; border-color: #c9a020 !important;
}

/* === Section background — keep dark page but lift card spacing === */
.yc-section, .section { padding-top: 60px !important; padding-bottom: 80px !important; }

/* === Body text inheritance sweep — force dark text inside all light cards === */
/* The global body color is #fff which inherits everywhere. Override across all card containers. */
.yc-card, .yc-card *, .sd-card, .sd-card *, .cc-card, .cc-card *, .ta-card, .ta-card *,
.yc-result, .yc-result *, .yc-breakdown, .yc-breakdown *,
.yc-cta-box, .yc-cta-box *, .sd-cta-box, .sd-cta-box *, .ta-cta-box, .ta-cta-box *,
.cc-item-card, .cc-item-card *, .cc-capture, .cc-capture *,
.ta-capture, .ta-capture *,
.yc-intro, .yc-intro *, .sd-intro, .sd-intro *, .cc-intro, .cc-intro *, .ta-intro, .ta-intro *,
.rrc-q, .rrc-q *, .rrc-capture, .rrc-capture *,
.yc-headline, .yc-headline *, .sd-headline, .sd-headline *, .ta-headline, .ta-headline *,
.yc-extra, .yc-extra *, .sd-extra, .sd-extra * {
  color: #1a1a1a;
}

/* Re-restore specific colored elements that should NOT be black */
.yc-card h3, .sd-card h3, .cc-card h3, .ta-card h3,
.yc-result h2, .yc-breakdown h3, .yc-cta-box h3, .sd-cta-box h3, .ta-cta-box h3,
.cc-capture h3, .ta-capture h3,
.cc-q-text, .rrc-q-text, .rrc-cap-h { color: #0f1f3d !important; }

.yc-eyebrow, .sd-eyebrow, .ta-eyebrow,
.yc-card h3 em, .sd-card h3 em, .ta-card h3 em,
.yc-result h2 em, .yc-cta-box h3 em,
.cc-q-num, .rrc-q-num { color: #c9a020 !important; }

.yc-help, .sd-help, .cc-help, .ta-help, .yc-q-help, .cc-q-help, .rrc-q-helper,
.yc-result-sub, .sd-result-sub, .ta-result-sub,
.yc-h-lbl, .sd-h-lbl, .ta-h-lbl,
.yc-extra-lbl, .sd-extra-lbl, .ta-extra-lbl,
.yc-extra-sub, .sd-extra-sub, .ta-extra-sub,
.yc-h-sub, .sd-h-sub, .ta-h-sub,
.rrc-cap-sub, .cc-progress-text, .rrc-progress-text { color: #475569 !important; }

.yc-h-val, .sd-h-val, .ta-h-val,
.yc-extra-val, .sd-extra-val, .ta-extra-val { color: #0f1f3d !important; }

/* Primary headline tile keeps white text on dark background */
.yc-h-primary, .yc-h-primary *,
.sd-h-primary, .sd-h-primary *,
.ta-h-primary, .ta-h-primary * { color: #fff !important; }

/* Negative / positive amounts in tables */
.yc-tbl td.neg, .sd-tbl td.neg { color: #dc2626 !important; }
.yc-tbl td.pos, .sd-tbl td.pos { color: #15803d !important; }

/* Total row keeps amber-ish dark text */
.yc-tbl tr.yc-total td, .sd-tbl tr.sd-total td { color: #78350f !important; font-weight: 700; }

/* Form inputs always dark text on white */
.yc-form input, .yc-form select, .yc-form textarea,
.sd-form input, .sd-form select, .sd-form textarea,
.cc-form input, .cc-form select, .cc-form textarea,
.ta-form input, .ta-form select, .ta-form textarea,
.cc-date-row input, .cc-date-row select, .rrc-cap-grid input { color: #0f1f3d !important; }

/* Labels in light cards */
.yc-form label, .sd-form label, .cc-form label, .ta-form label,
.yc-card label, .sd-card label, .cc-card label, .ta-card label,
.cc-grid label, .sd-grid label, .yc-grid label, .ta-grid label,
.rrc-cap-grid label, .yc-check span, .sd-check span, .cc-check span,
.ta-check span, .rrc-cap-check span,
.cc-dl, .cc-radio span, .cc-radio, .rrc-q-answer, .rrc-q-answer span { color: #334155 !important; }

/* Selected answer states keep gold-tinted */
.cc-radio.selected, .cc-radio.selected span,
.rrc-q-answer.selected, .rrc-q-answer.selected span { color: #78350f !important; }

/* Buttons inside CTAs and nav — preserve their themed colors */
.yc-cta-btns .btn-hp-gold, .sd-cta-btns .btn-hp-gold, .ta-cta-btns .btn-hp-gold,
.btn-hp-gold { color: #000 !important; }
.yc-cta-btns .btn-hp-outline, .sd-cta-btns .btn-hp-outline, .ta-cta-btns .btn-hp-outline,
.btn-hp-outline { color: #0f1f3d !important; }
.yc-submit, .sd-submit, .cc-submit, .ta-submit, .rrc-submit { color: #000 !important; }

/* === FIX: intro cards must be solid white like the other cards === */
.yc-intro, .sd-intro, .cc-intro, .ta-intro {
  background: #fbf8ed !important;
  border: 1px solid #e2e8f0 !important;
  border-left: 4px solid #c9a020 !important;
  color: #334155 !important;
  padding: 18px 22px !important;
  border-radius: 10px !important;
}
.yc-intro p, .sd-intro p, .cc-intro p, .ta-intro p,
.yc-intro *, .sd-intro *, .cc-intro *, .ta-intro * {
  color: #334155 !important;
  background: transparent !important;
}
.yc-intro strong, .sd-intro strong, .cc-intro strong, .ta-intro strong {
  color: #0f1f3d !important;
}

/* === FIX: hero subtitle contrast on the calc pages === */
.yc-hero .text-muted, .sd-hero .text-muted, .cc-hero .text-muted,
.ta-hero .text-muted, .rrc-hero .text-muted, .page-hero .text-muted {
  color: rgba(255,255,255,.78) !important;
  font-size: 15.5px !important;
  line-height: 1.7 !important;
}

/* Compliance and renters rights also have intro-style copy outside cards */
.rrc-section > .container > p:not(.rrc-q-helper),
.cc-section > .container > p { color: rgba(255,255,255,.85) !important; }

/* === Restore gold borders on light cards (replace gray) === */
.yc-card, .sd-card, .cc-card, .ta-card,
.yc-result, .yc-breakdown, .yc-cta-box,
.sd-breakdown, .sd-cta-box,
.cc-item-card, .cc-capture,
.ta-cta-box, .ta-capture,
.rrc-q, .rrc-capture,
.yc-headline, .sd-headline, .ta-headline,
.yc-extra, .sd-extra,
.yc-intro, .sd-intro, .cc-intro, .ta-intro {
  border: 1.5px solid rgba(201,160,32,.35) !important;
  transition: border-color .2s ease;
}
.yc-card:focus-within, .sd-card:focus-within, .cc-card:focus-within, .ta-card:focus-within,
.rrc-q:focus-within {
  border-color: rgba(201,160,32,.7) !important;
}
.yc-h-primary, .sd-h-primary, .ta-h-primary {
  border: 1.5px solid #c9a020 !important;
}
/* Intro: keep the gold left-stripe but make the rest of the border gold too */
.yc-intro, .sd-intro, .cc-intro, .ta-intro {
  border-left: 4px solid #c9a020 !important;
}

/* === STRONGER gold borders + apply to inputs/selects too === */
.yc-card, .sd-card, .cc-card, .ta-card,
.yc-result, .yc-breakdown, .yc-cta-box,
.sd-breakdown, .sd-cta-box,
.cc-item-card, .cc-capture,
.ta-cta-box, .ta-capture,
.rrc-q, .rrc-capture,
.yc-headline, .sd-headline, .ta-headline,
.yc-extra, .sd-extra,
.yc-intro, .sd-intro, .cc-intro, .ta-intro {
  border: 1.5px solid rgba(201,160,32,.55) !important;
  box-shadow: 0 1px 3px rgba(201,160,32,.08) !important;
}
.yc-card:focus-within, .sd-card:focus-within, .cc-card:focus-within, .ta-card:focus-within,
.rrc-q:focus-within {
  border-color: #c9a020 !important;
  box-shadow: 0 0 0 3px rgba(201,160,32,.12) !important;
}
.yc-h-primary, .sd-h-primary, .ta-h-primary {
  border: 1.5px solid #c9a020 !important;
}
.yc-intro, .sd-intro, .cc-intro, .ta-intro {
  border: 1.5px solid rgba(201,160,32,.55) !important;
  border-left: 4px solid #c9a020 !important;
}

/* Input / select / textarea borders — gold too */
.yc-form input, .yc-form select, .yc-form textarea,
.sd-form input, .sd-form select, .sd-form textarea,
.cc-form input, .cc-form select, .cc-form textarea,
.ta-form input, .ta-form select, .ta-form textarea,
.cc-date-row input, .cc-date-row select,
.rrc-cap-grid input {
  border: 1.5px solid rgba(201,160,32,.4) !important;
  background: #fbf8ed !important;
}
.yc-form input:hover, .yc-form select:hover, .yc-form textarea:hover,
.sd-form input:hover, .sd-form select:hover, .sd-form textarea:hover,
.cc-form input:hover, .cc-form select:hover, .cc-form textarea:hover,
.ta-form input:hover, .ta-form select:hover, .ta-form textarea:hover {
  border-color: rgba(201,160,32,.7) !important;
}
.yc-form input:focus, .yc-form select:focus, .yc-form textarea:focus,
.sd-form input:focus, .sd-form select:focus, .sd-form textarea:focus,
.cc-form input:focus, .cc-form select:focus, .cc-form textarea:focus,
.ta-form input:focus, .ta-form select:focus, .ta-form textarea:focus {
  border-color: #c9a020 !important;
  box-shadow: 0 0 0 3px rgba(201,160,32,.18) !important;
  outline: none;
}

/* Compliance & RRC radio answer cards also gold */
.cc-radio, .rrc-q-answer {
  border: 1.5px solid rgba(201,160,32,.4) !important;
}
.cc-radio:hover, .rrc-q-answer:hover {
  border-color: #c9a020 !important;
  background: rgba(201,160,32,.04) !important;
}
.cc-radio.selected, .rrc-q-answer.selected {
  border-color: #c9a020 !important;
  background: rgba(201,160,32,.12) !important;
}

/* === FINAL: solid gold 2px on every box === */
.yc-card, .sd-card, .cc-card, .ta-card,
.yc-result, .yc-breakdown, .yc-cta-box,
.sd-breakdown, .sd-cta-box,
.cc-item-card, .cc-capture,
.ta-cta-box, .ta-capture,
.rrc-q, .rrc-capture,
.yc-headline, .sd-headline, .ta-headline,
.yc-extra, .sd-extra {
  border: 2px solid #c9a020 !important;
  box-shadow: 0 2px 8px rgba(201,160,32,.12) !important;
}
.yc-intro, .sd-intro, .cc-intro, .ta-intro {
  border: 2px solid #c9a020 !important;
  border-left: 5px solid #c9a020 !important;
}
.yc-card:focus-within, .sd-card:focus-within, .cc-card:focus-within, .ta-card:focus-within,
.rrc-q:focus-within {
  border-color: #b3901c !important;
  box-shadow: 0 0 0 4px rgba(201,160,32,.18) !important;
}

/* Inputs / selects / textareas */
.yc-form input, .yc-form select, .yc-form textarea,
.sd-form input, .sd-form select, .sd-form textarea,
.cc-form input, .cc-form select, .cc-form textarea,
.ta-form input, .ta-form select, .ta-form textarea,
.cc-date-row input, .cc-date-row select,
.rrc-cap-grid input {
  border: 1.5px solid #c9a020 !important;
  background: #fbf8ed !important;
}
.yc-form input:hover, .yc-form select:hover, .yc-form textarea:hover,
.sd-form input:hover, .sd-form select:hover, .sd-form textarea:hover,
.cc-form input:hover, .cc-form select:hover, .cc-form textarea:hover,
.ta-form input:hover, .ta-form select:hover, .ta-form textarea:hover {
  border-color: #b3901c !important;
}
.yc-form input:focus, .yc-form select:focus, .yc-form textarea:focus,
.sd-form input:focus, .sd-form select:focus, .sd-form textarea:focus,
.cc-form input:focus, .cc-form select:focus, .cc-form textarea:focus,
.ta-form input:focus, .ta-form select:focus, .ta-form textarea:focus {
  border-color: #9d7d15 !important;
  box-shadow: 0 0 0 3px rgba(201,160,32,.22) !important;
  outline: none;
}

.cc-radio, .rrc-q-answer { border: 1.5px solid #c9a020 !important; }
.cc-radio:hover, .rrc-q-answer:hover { border-color: #b3901c !important; background: rgba(201,160,32,.05) !important; }
.cc-radio.selected, .rrc-q-answer.selected { border-color: #9d7d15 !important; background: rgba(201,160,32,.14) !important; }

/* === FINAL FIX: primary headline tile — gold treatment, not navy/black === */
.yc-h-primary, .sd-h-primary, .ta-h-primary {
  background: linear-gradient(135deg, #c9a020 0%, #b3901c 60%, #9d7d15 100%) !important;
  color: #1a1a1a !important;
  border: 2px solid #9d7d15 !important;
  box-shadow: 0 4px 12px rgba(201,160,32,.25) !important;
}
.yc-h-primary *, .sd-h-primary *, .ta-h-primary * {
  color: #1a1a1a !important;
}
.yc-h-primary .yc-h-val, .sd-h-primary .sd-h-val, .ta-h-primary .ta-h-val {
  color: #0a0a0a !important; text-shadow: 0 1px 2px rgba(255,255,255,.18);
}
.yc-h-primary .yc-h-lbl, .sd-h-primary .sd-h-lbl, .ta-h-primary .ta-h-lbl {
  color: rgba(26,26,26,.78) !important;
}
.yc-h-primary .yc-h-sub, .sd-h-primary .sd-h-sub, .ta-h-primary .ta-h-sub {
  color: rgba(26,26,26,.72) !important;
}

/* === FIX: button styling inside light cards (CTA + result panels) === */
/* Gold filled button — keep gold bg, dark text (more saturated, less faded) */
.yc-result .btn-hp-gold, .yc-cta-box .btn-hp-gold,
.sd-result .btn-hp-gold, .sd-cta-box .btn-hp-gold,
.ta-result .btn-hp-gold, .ta-cta-box .btn-hp-gold,
.yc-cta-btns .btn-hp-gold, .sd-cta-btns .btn-hp-gold, .ta-cta-btns .btn-hp-gold {
  background: #c9a020 !important;
  color: #0a0a0a !important;
  border: 2px solid #c9a020 !important;
  text-shadow: 0 1px 1px rgba(255,255,255,.15) !important;
  box-shadow: 0 3px 8px rgba(201,160,32,.28), inset 0 1px 0 rgba(255,255,255,.18) !important;
}
.yc-result .btn-hp-gold:hover, .yc-cta-box .btn-hp-gold:hover,
.sd-result .btn-hp-gold:hover, .sd-cta-box .btn-hp-gold:hover,
.ta-result .btn-hp-gold:hover, .ta-cta-box .btn-hp-gold:hover,
.yc-cta-btns .btn-hp-gold:hover, .sd-cta-btns .btn-hp-gold:hover, .ta-cta-btns .btn-hp-gold:hover {
  background: #b3901c !important; color: #000 !important; border-color: #9d7d15 !important;
}

/* Outline button — white bg, gold border, navy text (was dark bg with faded gold = "black box") */
.yc-result .btn-hp-outline, .yc-cta-box .btn-hp-outline,
.sd-result .btn-hp-outline, .sd-cta-box .btn-hp-outline,
.ta-result .btn-hp-outline, .ta-cta-box .btn-hp-outline,
.yc-cta-btns .btn-hp-outline, .sd-cta-btns .btn-hp-outline, .ta-cta-btns .btn-hp-outline {
  background: #fbf8ed !important;
  color: #0f1f3d !important;
  border: 2px solid #c9a020 !important;
  text-shadow: none !important;
  box-shadow: 0 2px 4px rgba(201,160,32,.12), inset 0 1px 0 rgba(255,255,255,.6) !important;
}
.yc-result .btn-hp-outline:hover, .yc-cta-box .btn-hp-outline:hover,
.sd-result .btn-hp-outline:hover, .sd-cta-box .btn-hp-outline:hover,
.ta-result .btn-hp-outline:hover, .ta-cta-box .btn-hp-outline:hover,
.yc-cta-btns .btn-hp-outline:hover, .sd-cta-btns .btn-hp-outline:hover, .ta-cta-btns .btn-hp-outline:hover {
  background: #fef6dc !important;
  color: #0a0a0a !important;
  border-color: #b3901c !important;
}

/* Submit buttons (form-level, not in CTA box) — keep gold for these too */
.yc-submit, .sd-submit, .cc-submit, .ta-submit, .rrc-submit, .fms-submit {
  background: #c9a020 !important;
  color: #0a0a0a !important;
  border: 2px solid #c9a020 !important;
  box-shadow: 0 3px 8px rgba(201,160,32,.28), inset 0 1px 0 rgba(255,255,255,.18) !important;
  text-shadow: 0 1px 1px rgba(255,255,255,.15) !important;
}
.yc-submit:hover, .sd-submit:hover, .cc-submit:hover, .ta-submit:hover, .rrc-submit:hover, .fms-submit:hover {
  background: #b3901c !important; color: #000 !important; border-color: #9d7d15 !important;
}

/* === FIX: tenant-affordability .ta-result panel — was missing from white-bg list === */
.ta-result {
  background: #fbf8ed !important;
  border: 2px solid #c9a020 !important;
  box-shadow: 0 2px 8px rgba(201,160,32,.12) !important;
  color: #1a1a1a !important;
}
.ta-result *, .ta-result h2, .ta-result-head h2, .ta-result-sub { color: #1a1a1a !important; }
.ta-result-head h2 { color: #0f1f3d !important; }
.ta-eyebrow { color: #c9a020 !important; }
.ta-result-sub { color: #64748b !important; }
.ta-result-head { border-bottom: 1px solid #e2e8f0 !important; }

/* ============================================================
   UNIVERSAL FORM CONSISTENCY — applies to tenant-application,
   contact, valuation, instant-valuation forms so they all
   match the calculator/light-card visual system.
   ============================================================ */

/* Wrapping cards / fieldsets / panels across all form prefixes */
.ta-fs, .ta-fs-toggle,
.contact-method-card,
.val-card, .val-form,
.iv-form, .iv-card, .iv-card-form, .iv-result,
.fms-card, .po-card {
  background: #fbf8ed !important;
  border: 2px solid #c9a020 !important;
  color: #1a1a1a !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 8px rgba(201,160,32,.12) !important;
  padding: 22px 24px !important;
}

/* All text inside light cards inherits dark navy */
.ta-fs, .ta-fs *, .ta-fs-toggle, .ta-fs-toggle *,
.contact-method-card, .contact-method-card *,
.val-card, .val-card *, .val-form, .val-form *,
.iv-form, .iv-form *, .iv-card, .iv-card *, .iv-result, .iv-result * {
  color: #1a1a1a;
}

/* Headings preserved in brand colors */
.ta-fs legend, .val-card h3, .val-card h2, .iv-card h3, .iv-result h2,
.contact-method-card h3, .iv-card-form h3 {
  color: #0f1f3d !important;
  font-family: 'Cormorant Garamond', Georgia, serif !important;
}
.ta-fs legend { color: #c9a020 !important; }

/* Labels muted slate (matches calc style) */
.ta-fs label, .contact-method-card label, .val-card label, .iv-form label, .iv-card label {
  color: #334155 !important;
  font-weight: 600;
}
.ta-subh { color: #c9a020 !important; }

/* Inputs/selects/textarea — gold border + white bg + navy text */
.ta-fs input, .ta-fs select, .ta-fs textarea,
.contact-method-card input, .contact-method-card select, .contact-method-card textarea,
.val-card input, .val-card select, .val-card textarea,
.iv-form input, .iv-form select, .iv-form textarea,
.iv-card input, .iv-card select, .iv-card textarea,
.ta-files input[type=file], .ta-files input[type=text] {
  background: #fbf8ed !important;
  border: 1.5px solid #c9a020 !important;
  color: #0f1f3d !important;
  font-family: inherit !important;
  font-size: 14px !important;
}
.ta-fs input:hover, .ta-fs select:hover, .ta-fs textarea:hover,
.contact-method-card input:hover, .val-card input:hover, .iv-form input:hover, .iv-card input:hover {
  border-color: #b3901c !important;
}
.ta-fs input:focus, .ta-fs select:focus, .ta-fs textarea:focus,
.contact-method-card input:focus, .val-card input:focus, .iv-form input:focus, .iv-card input:focus {
  border-color: #9d7d15 !important;
  box-shadow: 0 0 0 3px rgba(201,160,32,.22) !important;
  outline: none;
}

/* Helper / muted text */
.ta-help, .ta-fs p, .val-card p, .iv-form p, .iv-card p, .contact-method-card p {
  color: #475569 !important;
}

/* Buttons inside these forms */
.ta-fs .btn-hp-gold, .ta-submit, .iv-submit, .iv-btn-primary, .val-submit {
  background: #c9a020 !important;
  color: #0a0a0a !important;
  border: 2px solid #c9a020 !important;
  box-shadow: 0 3px 8px rgba(201,160,32,.28), inset 0 1px 0 rgba(255,255,255,.18) !important;
  text-shadow: 0 1px 1px rgba(255,255,255,.15) !important;
}

/* Acknowledgement boxes (tenant application disclaimers) */
.ta-disclaimer {
  background: #fff8e1 !important;
  border: 1.5px solid #c9a020 !important;
  color: #1a1a1a !important;
  padding: 16px 18px !important;
  border-radius: 8px !important;
}
.ta-disclaimer * { color: #1a1a1a !important; }

/* Section background — keep dark page but ensure forms float nicely on dark */
.ta-section, .val-section, .iv-section, .contact-section { padding-bottom: 60px !important; }

/* Property-overview font consistency — ensure all inputs inherit body font */
.yc-form input, .yc-form select, .yc-form textarea,
.sd-form input, .sd-form select, .sd-form textarea,
.ta-form input, .ta-form select, .ta-form textarea {
  font-family: inherit !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
}

/* ============================================================
   UNIVERSAL .form-* OVERRIDES — catches contact, valuation,
   maintenance, and any other generic forms using .form-input
   class family from style.css
   ============================================================ */

/* Each form input is a white gold-bordered field on the dark page */
body.has-subpage .form-input,
body.has-subpage .form-select,
body.has-subpage .form-textarea {
  background: #fbf8ed !important;
  border: 1.5px solid #c9a020 !important;
  color: #0f1f3d !important;
  font-family: inherit !important;
  font-size: 14px !important;
}
body.has-subpage .form-input::placeholder,
body.has-subpage .form-textarea::placeholder { color: #94a3b8 !important; }
body.has-subpage .form-input:hover,
body.has-subpage .form-select:hover,
body.has-subpage .form-textarea:hover {
  border-color: #b3901c !important;
}
body.has-subpage .form-input:focus,
body.has-subpage .form-select:focus,
body.has-subpage .form-textarea:focus {
  border-color: #9d7d15 !important;
  box-shadow: 0 0 0 3px rgba(201,160,32,.22) !important;
  outline: none !important;
}
body.has-subpage .form-select option {
  background: #fbf8ed !important;
  color: #0f1f3d !important;
}

/* Labels — gold uppercase tight (matches the brand calc style) */
body.has-subpage .form-label {
  color: #c9a020 !important;
  font-weight: 700 !important;
  letter-spacing: .04em !important;
}

/* Form wrapper — make ALL <form> elements on subpages a light gold-bordered card,
   EXCEPT those already styled by the calc-light system or special forms */
body.has-subpage form:not(.yc-form):not(.cc-form):not(.sd-form):not(.ta-form):not(.rrc-form):not(.iv-form):not(.nav-form):not(.search-form):not(.bell-form):not(.nav-search):not(.cookie-form) {
  background: #fbf8ed !important;
  border: 2px solid #c9a020 !important;
  border-radius: 12px !important;
  padding: 28px 30px !important;
  box-shadow: 0 4px 14px rgba(201,160,32,.14) !important;
  color: #0f1f3d !important;
}

/* Inside that wrapper, ALL text dark navy */
body.has-subpage form:not(.yc-form):not(.cc-form):not(.sd-form):not(.ta-form):not(.rrc-form):not(.iv-form):not(.nav-form):not(.search-form):not(.bell-form):not(.nav-search):not(.cookie-form) *:not(option) {
  color: #0f1f3d;
}
body.has-subpage form:not(.yc-form):not(.cc-form):not(.sd-form):not(.ta-form):not(.rrc-form):not(.iv-form):not(.nav-form):not(.search-form):not(.bell-form):not(.nav-search):not(.cookie-form) .form-label { color: #c9a020 !important; }

/* Submit buttons inside these forms — gold filled */
body.has-subpage form button[type="submit"],
body.has-subpage form input[type="submit"] {
  background: #c9a020 !important;
  color: #0a0a0a !important;
  border: 2px solid #c9a020 !important;
  font-weight: 700 !important;
  padding: 12px 26px !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  font-size: 14px !important;
  box-shadow: 0 3px 8px rgba(201,160,32,.28), inset 0 1px 0 rgba(255,255,255,.18) !important;
  text-shadow: 0 1px 1px rgba(255,255,255,.15) !important;
}
body.has-subpage form button[type="submit"]:hover {
  background: #b3901c !important;
  border-color: #b3901c !important;
}

/* Maintenance page — urgency cards */
body.has-subpage .urgency-card {
  background: #fbf8ed !important;
  border: 2px solid #c9a020 !important;
  color: #0f1f3d !important;
  box-shadow: 0 2px 8px rgba(201,160,32,.12) !important;
}
body.has-subpage .urgency-card * { color: #0f1f3d !important; }
body.has-subpage .urgency-card:hover { border-color: #b3901c !important; box-shadow: 0 4px 14px rgba(201,160,32,.22) !important; }

/* Right-rail cards on contact.php (office hours, quick links) — also white */
body.has-subpage .contact-method-card {
  background: #fbf8ed !important;
  border: 2px solid #c9a020 !important;
  color: #0f1f3d !important;
}
body.has-subpage .contact-method-card * { color: #0f1f3d !important; }
body.has-subpage .contact-method-card h3,
body.has-subpage .contact-method-card .label { color: #c9a020 !important; }
body.has-subpage .contact-method-card a { color: #0f1f3d !important; }
body.has-subpage .contact-method-card a:hover { color: #9d7d15 !important; }

/* The headings sitting above forms on dark page should stay white */
body.has-subpage h1, body.has-subpage h2, body.has-subpage .section h2 {
  /* preserved per page styling — no override */
}

/* ============================================================
   TENANT-APPLICATION SPECIFIC — high-specificity overrides
   because some .ta-fs rules in style.css were stubborn.
   ============================================================ */
body.has-subpage section.ta-section .ta-fs,
body.has-subpage form.ta-form fieldset.ta-fs,
body.has-subpage section.ta-section .ta-fs-toggle,
body.has-subpage form.ta-form fieldset.ta-fs-toggle {
  background: #fbf8ed !important;
  background-image: none !important;
  border: 2px solid #c9a020 !important;
  color: #1a1a1a !important;
  box-shadow: 0 2px 8px rgba(201,160,32,.12) !important;
}

body.has-subpage section.ta-section .ta-fs *:not(button):not(input):not(select):not(textarea):not(option),
body.has-subpage form.ta-form .ta-fs *:not(button):not(input):not(select):not(textarea):not(option) {
  color: #1a1a1a !important;
}

body.has-subpage section.ta-section .ta-fs legend,
body.has-subpage form.ta-form .ta-fs legend { color: #c9a020 !important; }

body.has-subpage section.ta-section .ta-subh,
body.has-subpage form.ta-form .ta-subh { color: #c9a020 !important; }

body.has-subpage section.ta-section .ta-help,
body.has-subpage form.ta-form .ta-help { color: #475569 !important; }

body.has-subpage section.ta-section .ta-fs input,
body.has-subpage section.ta-section .ta-fs select,
body.has-subpage section.ta-section .ta-fs textarea,
body.has-subpage form.ta-form input,
body.has-subpage form.ta-form select,
body.has-subpage form.ta-form textarea {
  background: #fbf8ed !important;
  border: 1.5px solid #c9a020 !important;
  color: #0f1f3d !important;
  font-family: inherit !important;
}

body.has-subpage form.ta-form input::placeholder,
body.has-subpage form.ta-form textarea::placeholder { color: #94a3b8 !important; }

body.has-subpage form.ta-form input:focus,
body.has-subpage form.ta-form select:focus,
body.has-subpage form.ta-form textarea:focus {
  border-color: #9d7d15 !important;
  box-shadow: 0 0 0 3px rgba(201,160,32,.22) !important;
  outline: none !important;
}

/* Disclaimer + check labels readable */
body.has-subpage section.ta-section .ta-disclaimer,
body.has-subpage form.ta-form .ta-disclaimer {
  background: #fff8e1 !important;
  border: 1.5px solid #c9a020 !important;
  color: #1a1a1a !important;
}
body.has-subpage section.ta-section .ta-disclaimer * { color: #1a1a1a !important; }

body.has-subpage section.ta-section .ta-check,
body.has-subpage form.ta-form .ta-check { color: #1a1a1a !important; }

/* Intro card on tenant-application */
body.has-subpage section.ta-section .ta-intro {
  background: #fbf8ed !important;
  border: 2px solid #c9a020 !important;
  border-left: 5px solid #c9a020 !important;
  color: #475569 !important;
}
body.has-subpage section.ta-section .ta-intro * { color: #475569 !important; }
body.has-subpage section.ta-section .ta-intro strong { color: #0f1f3d !important; }

/* Extra applicant + occupier rows (JS-injected nested cards) */
body.has-subpage section.ta-section .ta-extra-row,
body.has-subpage section.ta-section .ta-occ-row {
  background: #fafbfd !important;
  border: 1.5px solid #c9a020 !important;
  color: #1a1a1a !important;
}
body.has-subpage section.ta-section .ta-extra-row *,
body.has-subpage section.ta-section .ta-occ-row * { color: #1a1a1a !important; }
body.has-subpage section.ta-section .ta-extra-hd strong,
body.has-subpage section.ta-section .ta-occ-hd strong { color: #c9a020 !important; }

/* ============================================================
   LEGEND READABILITY FIX — legends float on the dark page bg
   because they sit OUTSIDE the fieldset border. Force gold +
   navy backdrop pill so they read regardless of position.
   ============================================================ */
body.has-subpage section.ta-section form.ta-form fieldset.ta-fs > legend,
body.has-subpage form.ta-form fieldset.ta-fs > legend,
body.has-subpage form.ta-form fieldset.ta-fs-toggle > legend {
  color: #c9a020 !important;
  background: #fbf8ed !important;
  padding: 4px 14px !important;
  border-radius: 6px !important;
  border: 1.5px solid #c9a020 !important;
  font-weight: 600 !important;
  font-size: 18px !important;
  letter-spacing: 0 !important;
}

/* ============================================================
   VALUATION + CONTACT PAGE — right rail / supporting cards
   ============================================================ */

/* Tab button at top of valuation form (was invisible white-on-white) */
body.has-subpage .tab-btn {
  color: #c9a020 !important;
  font-weight: 700 !important;
  background: transparent !important;
  border-bottom: 2px solid #c9a020 !important;
}
body.has-subpage .tab-btn:hover { color: #9d7d15 !important; }
body.has-subpage .tab-btn.active { color: #9d7d15 !important; border-bottom-color: #9d7d15 !important; }

/* "What to expect" step cards on valuation.php */
body.has-subpage .val-step {
  background: #fbf8ed !important;
  border: 2px solid #c9a020 !important;
  box-shadow: 0 2px 8px rgba(201,160,32,.12) !important;
  border-radius: 10px !important;
}
body.has-subpage .val-step:hover {
  background: #fff8e1 !important;
  border-color: #b3901c !important;
  box-shadow: 0 4px 14px rgba(201,160,32,.22) !important;
}
body.has-subpage .val-step-num { color: #c9a020 !important; }
body.has-subpage .val-step-title { color: #0f1f3d !important; }
body.has-subpage .val-step-desc { color: #475569 !important; }

/* Call-box — "Prefer to call?" sidebar */
body.has-subpage .call-box {
  background: #fbf8ed !important;
  border: 2px solid #c9a020 !important;
  box-shadow: 0 2px 8px rgba(201,160,32,.12) !important;
}
body.has-subpage .call-box-tag { color: #c9a020 !important; }
body.has-subpage .call-box-number { color: #0f1f3d !important; }
body.has-subpage .call-box-number:hover { color: #9d7d15 !important; }
body.has-subpage .call-box-hours { color: #475569 !important; }
body.has-subpage .call-box-email { color: #475569 !important; border-top-color: #e2e8f0 !important; }
body.has-subpage .call-box-email a { color: #c9a020 !important; }

/* Contact-method-card (Email us / Call us etc.) */
body.has-subpage .contact-method-card {
  background: #fbf8ed !important;
  border: 2px solid #c9a020 !important;
  box-shadow: 0 2px 8px rgba(201,160,32,.12) !important;
  color: #1a1a1a !important;
}
body.has-subpage .contact-method-card:hover { border-color: #b3901c !important; }
body.has-subpage .contact-method-tag { color: #c9a020 !important; }
body.has-subpage .contact-method-value { color: #0f1f3d !important; }
body.has-subpage .contact-method-note { color: #475569 !important; }
body.has-subpage .contact-method-icon {
  background: rgba(201,160,32,.10) !important;
  border-color: #c9a020 !important;
}

/* Info-block (OFFICE HOURS, QUICK LINKS containers on contact.php) */
body.has-subpage .info-block {
  background: #fbf8ed !important;
  border: 2px solid #c9a020 !important;
  box-shadow: 0 2px 8px rgba(201,160,32,.12) !important;
  color: #1a1a1a !important;
}
body.has-subpage .info-block-heading { color: #c9a020 !important; }
body.has-subpage .info-block * { color: #1a1a1a !important; }
body.has-subpage .info-block .info-block-heading { color: #c9a020 !important; }

/* Office hours rows / Quick links */
body.has-subpage .info-quick-link {
  color: #1a1a1a !important;
  border-bottom-color: #e2e8f0 !important;
}
body.has-subpage .info-quick-link:hover { color: #9d7d15 !important; }
body.has-subpage .info-quick-link span { color: #c9a020 !important; }

/* Sister-box (sister company TLG callout) */
body.has-subpage .sister-box {
  background: #fff8e1 !important;
  border: 2px solid #c9a020 !important;
  color: #1a1a1a !important;
}
body.has-subpage .sister-box * { color: #1a1a1a !important; }
body.has-subpage .sister-box a { color: #9d7d15 !important; font-weight: 700; }

/* ============================================================
   CONTACT PAGE — switch phone/email/address from Cormorant
   Garamond serif to DM Sans body font (functional, copyable)
   ============================================================ */
body.has-subpage .contact-method-card { padding: 24px 22px !important; }
body.has-subpage .contact-method-value {
  font-family: 'DM Sans', -apple-system, Helvetica, Arial, sans-serif !important;
  font-size: 19px !important;
  font-weight: 600 !important;
  color: #0f1f3d !important;
  line-height: 1.4 !important;
  letter-spacing: -.005em !important;
  word-break: break-word;
}
body.has-subpage .contact-method-icon {
  background: rgba(201,160,32,.20) !important;
  border-color: #c9a020 !important;
  width: 40px !important;
  height: 40px !important;
}
body.has-subpage .contact-method-icon svg { color: #c9a020 !important; }
body.has-subpage .contact-method-tag {
  font-size: 10.5px !important;
  letter-spacing: 2px !important;
  color: #c9a020 !important;
}
body.has-subpage .contact-method-note {
  color: #64748b !important;
  font-size: 12.5px !important;
}

/* ============================================================
   MAINTENANCE PAGE — labels + urgency cards use inline styles
   in source; beat them with !important
   ============================================================ */
body.has-subpage form label[style*="color:#888"],
body.has-subpage section.section form label {
  color: #334155 !important;
  font-weight: 600 !important;
}

/* Urgency cards beat inline dark styles */
body.has-subpage .urgency-card[style] {
  background: #fbf8ed !important;
  border: 2px solid #c9a020 !important;
  color: #1a1a1a !important;
  box-shadow: 0 2px 8px rgba(201,160,32,.12) !important;
  padding: 18px !important;
}
body.has-subpage .urgency-card[style]:hover {
  background: #fff8e1 !important;
  border-color: #b3901c !important;
}
body.has-subpage .urgency-card.selected,
body.has-subpage .urgency-card[style].active {
  background: #fef3c7 !important;
  border-color: #9d7d15 !important;
  box-shadow: 0 4px 14px rgba(201,160,32,.28) !important;
}

/* Urgency card inner divs — override inline color:#fff and color:#666 */
body.has-subpage .urgency-card div[style*="color:#fff"] { color: #0f1f3d !important; }
body.has-subpage .urgency-card div[style*="color:#666"] { color: #475569 !important; }

/* Maintenance form generic inputs (not using .form-input class) */
body.has-subpage section form input[type="text"][style],
body.has-subpage section form input[type="tel"][style],
body.has-subpage section form input[type="email"][style],
body.has-subpage section form select[style],
body.has-subpage section form textarea[style] {
  background: #fbf8ed !important;
  border: 1.5px solid #c9a020 !important;
  color: #0f1f3d !important;
  font-family: inherit !important;
}

/* ============================================================
   CREAM CARD OVERRIDE — pure white #fff swapped to warm cream
   #fbf8ed for all cards. Form INPUTS stay pure white below to
   remain distinct as interactive fields.
   ============================================================ */
body.has-subpage .form-input,
body.has-subpage .form-select,
body.has-subpage .form-textarea,
body.has-subpage .yc-form input, body.has-subpage .yc-form select, body.has-subpage .yc-form textarea,
body.has-subpage .sd-form input, body.has-subpage .sd-form select, body.has-subpage .sd-form textarea,
body.has-subpage .cc-form input, body.has-subpage .cc-form select, body.has-subpage .cc-form textarea,
body.has-subpage .ta-form input, body.has-subpage .ta-form select, body.has-subpage .ta-form textarea,
body.has-subpage form.ta-form input, body.has-subpage form.ta-form select, body.has-subpage form.ta-form textarea,
body.has-subpage .iv-form input, body.has-subpage .iv-form select, body.has-subpage .iv-form textarea,
body.has-subpage .val-card input, body.has-subpage .val-card select, body.has-subpage .val-card textarea,
body.has-subpage .contact-method-card input, body.has-subpage .contact-method-card select,
body.has-subpage form input[type="text"], body.has-subpage form input[type="email"], body.has-subpage form input[type="tel"],
body.has-subpage form input[type="number"], body.has-subpage form input[type="date"], body.has-subpage form input[type="search"],
body.has-subpage form input[type="url"], body.has-subpage form input[type="password"],
body.has-subpage form select, body.has-subpage form textarea {
  background: #ffffff !important;
}

/* Selected/highlighted radio cards stay slightly warmer cream */
body.has-subpage .cc-radio.selected,
body.has-subpage .rrc-q-answer.selected { background: #fef3c7 !important; }

/* Legend pill (tenant-application headings) stays pure white for max contrast against cream cards */
body.has-subpage section.ta-section form.ta-form fieldset.ta-fs > legend,
body.has-subpage form.ta-form fieldset.ta-fs > legend,
body.has-subpage form.ta-form fieldset.ta-fs-toggle > legend { background: #ffffff !important; }

/* ============================================================
   MOBILE FIXES — nav CTA + maintenance urgency cards
   ============================================================ */

/* 1) Free valuation CTA — pull to TOP of mobile menu so it's always
   visible even when the menu has many items below. The mobile menu
   JS sets flex-direction:column; using order:-1 lifts it to top. */
@media (max-width: 760px) {
  body.mobile-menu-open #nav-links .nav-cta {
    order: -1 !important;
    margin: 12px 24px 18px !important;
    flex-shrink: 0 !important;
  }
}

/* 2) Maintenance urgency cards (Routine / Urgent / Emergency) — inline
   grid-template-columns:repeat(3,1fr) wraps poorly on phones. Stack
   them vertically below 700px. */
@media (max-width: 700px) {
  body.has-subpage form div[style*="grid-template-columns:repeat(3,1fr)"],
  body.has-subpage form div[style*="grid-template-columns: repeat(3,1fr)"] {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
}

/* Also catch any inline radios/buttons rows that pack tight on mobile */
@media (max-width: 700px) {
  body.has-subpage .urgency-card[style] {
    width: 100% !important;
    box-sizing: border-box !important;
  }
}

/* ============================================================
   INSTANT VALUATION + PROPERTY OVERVIEW — text readability
   on cream cards (deep sweep so no white-on-cream slips through)
   ============================================================ */
body.has-subpage .iv-result,
body.has-subpage .iv-result *:not(button):not(input):not(select):not(textarea):not(option) {
  color: #0f1f3d !important;
}
body.has-subpage .iv-result h1,
body.has-subpage .iv-result h2,
body.has-subpage .iv-result h3,
body.has-subpage .iv-result h4 { color: #0f1f3d !important; }
body.has-subpage .iv-result .iv-eyebrow,
body.has-subpage .iv-result .iv-label,
body.has-subpage .iv-result .iv-tag { color: #c9a020 !important; }

/* Property overview: any text inside result panels stays dark */
body.has-subpage .yc-result,
body.has-subpage .yc-result *:not(button):not(input):not(select):not(textarea):not(option) {
  color: #0f1f3d !important;
}
body.has-subpage .yc-result h1,
body.has-subpage .yc-result h2,
body.has-subpage .yc-result h3 { color: #0f1f3d !important; }
body.has-subpage .yc-result .yc-eyebrow,
body.has-subpage .yc-result .yc-h-lbl { color: #c9a020 !important; }
body.has-subpage .yc-result .yc-result-sub { color: #475569 !important; }
body.has-subpage .yc-result .neg { color: #dc2626 !important; }
body.has-subpage .yc-result .pos { color: #15803d !important; }

/* Primary tile keeps black text on gold (already styled) */
body.has-subpage .yc-h-primary *,
body.has-subpage .ta-h-primary *,
body.has-subpage .sd-h-primary * { color: #0a0a0a !important; }

/* ============================================================
   INSTANT VALUATION COMPARABLES SECTION — was dark/unreadable
   ============================================================ */
body.has-subpage .iv-sales {
  background: #fbf8ed !important;
  border: 2px solid #c9a020 !important;
  border-radius: 12px !important;
  padding: 22px 24px !important;
  margin-top: 24px !important;
  box-shadow: 0 2px 8px rgba(201,160,32,.12) !important;
}
body.has-subpage .iv-sales * { color: #0f1f3d !important; }
body.has-subpage .iv-sales h3 {
  color: #0f1f3d !important;
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  margin: 0 0 8px !important;
}
body.has-subpage .iv-sales .src {
  color: #c9a020 !important;
  font-size: 10.5px !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  margin-bottom: 14px !important;
}
body.has-subpage .iv-calib-badge {
  background: #dcfce7 !important;
  color: #15803d !important;
  border: 1px solid #86efac !important;
  padding: 10px 14px !important;
  border-radius: 8px !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  margin-bottom: 14px !important;
}
body.has-subpage .iv-calib-badge * { color: #15803d !important; }
body.has-subpage .iv-sale {
  background: #fff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 8px !important;
  padding: 12px 14px !important;
  margin-bottom: 8px !important;
  display: grid !important;
  grid-template-columns: 1fr auto auto !important;
  gap: 12px !important;
  align-items: center !important;
}
body.has-subpage .iv-sale * { color: #0f1f3d !important; }
body.has-subpage .iv-sale .addr {
  font-weight: 600 !important;
  color: #0f1f3d !important;
}
body.has-subpage .iv-sale .iv-sale-tag {
  color: #64748b !important;
  font-size: 11px !important;
  margin-left: 6px !important;
  font-weight: 400 !important;
}
body.has-subpage .iv-sale .price {
  color: #c9a020 !important;
  font-weight: 700 !important;
  font-size: 15px !important;
}
body.has-subpage .iv-sale .date {
  color: #64748b !important;
  font-size: 12px !important;
}

/* Comparables: tighten layout when sq.ft / m² appear on same line */
body.has-subpage .iv-sale .addr { display: flex !important; flex-wrap: wrap !important; gap: 6px 10px !important; align-items: baseline !important; }
body.has-subpage .iv-sale .iv-sale-tag { background: rgba(201,160,32,.08) !important; padding: 2px 8px !important; border-radius: 10px !important; font-size: 10.5px !important; color: #475569 !important; }
body.has-subpage .iv-sale .iv-sale-ppsm { color: #c9a020 !important; font-weight: 600 !important; font-size: 11px !important; margin-left: auto !important; }

/* === WHITE-INPUT-FORCE-2026 (final cascade override) === */
.ta-fs input, .ta-fs select, .ta-fs textarea,
.ta-form input, .ta-form select, .ta-form textarea,
.yc-form input, .yc-form select, .yc-form textarea,
.sd-form input, .sd-form select, .sd-form textarea,
.cc-form input, .cc-form select, .cc-form textarea,
.cc-date-row input,
.rrc-cap-grid input, .rrc-cap-grid select, .rrc-cap-grid textarea,
.contact-method-card input, .contact-method-card select, .contact-method-card textarea,
section.ta-section .ta-fs input, section.ta-section .ta-fs select, section.ta-section .ta-fs textarea,
body.has-subpage section.ta-section .ta-fs input,
body.has-subpage section.ta-section .ta-fs select,
body.has-subpage section.ta-section .ta-fs textarea,
body.has-subpage .form-input,
body.has-subpage .form-select,
body.has-subpage .form-textarea {
  background: #ffffff !important;
  background-color: #ffffff !important;
}
.ta-fs input[type="submit"], .ta-form input[type="submit"],
.yc-form input[type="submit"], .sd-form input[type="submit"],
.cc-form input[type="submit"], .contact-method-card input[type="submit"] {
  background: #c9a020 !important;
  background-color: #c9a020 !important;
}


/* === FORM-LABEL-UNIFY-2026 — match instant-valuation canonical label style across every public form === */
.po-form label, .po-card label,
.mt-form label,
.ta-fs label, .ta-form label,
.yc-form label, .sd-form label, .cc-form label,
.rrc-cap-grid label, .contact-method-card label,
body.has-subpage .form-label,
body.has-subpage section.ta-section label,
body.has-subpage form label {
  color: #334155 !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
}
/* Keep the iv-form labels untouched as the reference */
/* Keep "Required" asterisks/markers within labels readable in gold accent */
.po-form label .req, .mt-form label .req, .ta-fs label .req,
.yc-form label .req, .sd-form label .req, .cc-form label .req,
body.has-subpage .form-label .req {
  color: #c9a020 !important;
}
/* Section legends (decorative) stay in Cormorant italic - leave alone */


/* === LABEL-UNIFY-V2 — beats body.has-subpage form label[style*="color:#888"] gold rule === */
body.has-subpage form label[style],
body.has-subpage form label[style*="color"],
body.has-subpage form label[style*="color:#888"],
body.has-subpage section.po-section form label,
body.has-subpage section.po-section form label[style],
body.has-subpage section.mt-section form label,
body.has-subpage section.mt-section form label[style],
body.has-subpage section.ta-section form label,
body.has-subpage section.ta-section form label[style],
body.has-subpage section.contact-section form label,
body.has-subpage section.contact-section form label[style],
body.has-subpage .po-form label, body.has-subpage .po-form label[style],
body.has-subpage .mt-form label, body.has-subpage .mt-form label[style],
body.has-subpage .ta-form label, body.has-subpage .ta-form label[style],
body.has-subpage .ta-fs label,  body.has-subpage .ta-fs label[style],
body.has-subpage .form-label, body.has-subpage .form-label[style] {
  color: #334155 !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
}
/* Also kill the .yc-card * generic colouring of labels */
body.has-subpage .yc-card label, body.has-subpage .yc-card label[style],
body.has-subpage .sd-card label, body.has-subpage .sd-card label[style],
body.has-subpage .cc-card label, body.has-subpage .cc-card label[style],
body.has-subpage .ta-card label, body.has-subpage .ta-card label[style],
body.has-subpage .po-card label, body.has-subpage .po-card label[style] {
  color: #334155 !important;
  font-weight: 600 !important;
  letter-spacing: 1.5px !important;
}


/* === LABEL-UNIFY-V4 hyper-specific === */
html body.has-subpage form label,
html body.has-subpage form label.form-label,
html body.has-subpage form .form-label,
html body.has-subpage .ta-fs label,
html body.has-subpage .ta-card label,
html body.has-subpage section form label,
html body.has-subpage section.section form label,
html body.has-subpage .contact-method-card label {
  color: #334155 !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
}


/* === WHITE-INPUT-V5 - section form inputs without card class === */
html body.has-subpage section form input,
html body.has-subpage section form select,
html body.has-subpage section form textarea,
html body.has-subpage section form input[type],
html body.has-subpage section form input[type][style],
html body.has-subpage section.section form input,
html body.has-subpage section.section form select,
html body.has-subpage section.section form textarea,
html body.has-subpage form input[type="text"],
html body.has-subpage form input[type="tel"],
html body.has-subpage form input[type="email"],
html body.has-subpage form input[type="number"],
html body.has-subpage form input[type="url"],
html body.has-subpage form input[type="date"],
html body.has-subpage form input[type="password"],
html body.has-subpage form select,
html body.has-subpage form textarea {
  background: #ffffff !important;
  background-color: #ffffff !important;
}
/* Buttons preserved */
html body.has-subpage form input[type="submit"],
html body.has-subpage form input[type="button"] {
  background: #c9a020 !important;
  background-color: #c9a020 !important;
}


/* === WHITE-PICKER-CARDS-2026 - sub-cards inside cream forms === */
html body.has-subpage .urgency-card,
html body.has-subpage .contact-method-card,
html body.has-subpage .ta-fs .occupier-row,
html body.has-subpage .iv-condition .iv-option,
html body.has-subpage section form .pick-card,
html body.has-subpage section form .choice-card {
  background: #ffffff !important;
  background-color: #ffffff !important;
}
/* When selected/active, fill with subtle gold tint to show state */
html body.has-subpage .urgency-card.is-active,
html body.has-subpage .urgency-card.active,
html body.has-subpage .urgency-card[aria-checked="true"],
html body.has-subpage .contact-method-card.is-active,
html body.has-subpage .contact-method-card.active {
  background: #fbf6e0 !important;
  background-color: #fbf6e0 !important;
}


/* === WHITE-PICKER-V2 hyper-specific - beats .urgency-card[style] === */
html body.has-subpage .urgency-card[class],
html body.has-subpage .urgency-card[style],
html body.has-subpage .urgency-card.urgency-card,
html body.has-subpage .contact-method-card[class],
html body.has-subpage .contact-method-card[style],
html body.has-subpage .contact-method-card.contact-method-card {
  background: #ffffff !important;
  background-color: #ffffff !important;
}
html body.has-subpage .urgency-card[class].is-active,
html body.has-subpage .urgency-card[class].active,
html body.has-subpage .urgency-card[class][aria-checked="true"] {
  background: #fbf6e0 !important;
  background-color: #fbf6e0 !important;
}


/* === CONTACT-POLISH-2026 === */
/* Slate labels on contact form */
html body.has-subpage .form-label[class],
html body.has-subpage .form-label[style],
html body.has-subpage form label.form-label[class] {
  color: #334155 !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
}
/* Right-rail card consistency: same padding, left-align text, navy headings */
html body.has-subpage .sister-box[class] {
  padding: 22px 24px !important;
  text-align: left !important;
  background: #fbf8ed !important;
  border: 1.6px solid #c9a020 !important;
  border-radius: 12px !important;
  box-sizing: border-box !important;
}
html body.has-subpage .sister-box[class] > * {
  text-align: left !important;
}
html body.has-subpage .sister-box[class] .sister-label,
html body.has-subpage .sister-box[class] [class*="label"] {
  font-family: "DM Sans", sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: #c9a020 !important;
  font-style: normal !important;
  margin: 0 0 6px !important;
}
html body.has-subpage .sister-box[class] h2,
html body.has-subpage .sister-box[class] h3,
html body.has-subpage .sister-box[class] .sister-name,
html body.has-subpage .sister-box[class] strong {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 22px !important;
  font-weight: 500 !important;
  font-style: normal !important;
  color: #0f1f3d !important;
  margin: 0 0 6px !important;
}
html body.has-subpage .sister-box[class] p,
html body.has-subpage .sister-box[class] .sister-tag {
  font-family: "DM Sans", sans-serif !important;
  font-size: 13px !important;
  color: #475569 !important;
  margin: 0 !important;
}
/* Tighten vertical rhythm between right-rail cards */
html body.has-subpage section.section .info-rail > * + *,
html body.has-subpage section.section .contact-side > * + *,
html body.has-subpage section.section [class*="info"] > * + * {
  margin-top: 18px !important;
}


/* === CONTACT-LABEL-NUKE - chain selectors to beat 0,7,3 specificity === */
html body.has-subpage form .form-label.form-label.form-label.form-label.form-label.form-label.form-label.form-label,
html body.has-subpage form label.form-label.form-label.form-label.form-label.form-label.form-label.form-label.form-label,
html body.has-subpage .form-label.form-label.form-label.form-label.form-label.form-label.form-label.form-label {
  color: #334155 !important;
  font-weight: 600 !important;
  font-size: 11px !important;
  letter-spacing: 1.5px !important;
}
