/* Hybrid light theme (the default for customer pages: <html class="theme-light">). The black top bar and the black hero
   stay as the brand moment; everything people read or type into goes light, with
   larger, darker text for older eyes. Works by re-pointing the color variables. */
html.theme-light body { background: #F6F4EF; color: #151515; font-size: 17px; }

html.theme-light main, html.theme-light footer {
  --bg: #F6F4EF; --card: #FFFFFF; --line: #DDD7CC; --black: #FFFFFF;
  --white: #151515; --muted: #4F4F4F; --ok: #1E8E4E; --warn: #A15C00; --danger: #C0392B;
}
/* The hero keeps the dark palette, full-bleed. */
html.theme-light .hero {
  --white: #FFFFFF; --black: #000000; --muted: #C9C9C9;
  color: #fff; background: #121212; box-shadow: 0 0 0 100vmax #121212; clip-path: inset(0 -100vmax);
  margin-top: 0; padding-top: 28px; padding-bottom: 36px;
}
html.theme-light .hero .text-cta-terms { font-size: 13px; color: #CFCFCF; }
html.theme-light .hero .text-cta-terms a { color: #CFCFCF; }

/* Cards: white with a soft edge instead of a dark slab */
html.theme-light .card, html.theme-light .q-card, html.theme-light .q-more > .stack {
  background: #fff; border-color: #DDD7CC; box-shadow: 0 1px 2px rgba(0,0,0,.05), 0 6px 18px rgba(0,0,0,.05);
}
html.theme-light .panel { margin-top: 28px; }
html.theme-light .lead, html.theme-light .muted, html.theme-light .hint, html.theme-light .q-note { color: #4F4F4F; }
html.theme-light .lead { font-size: 17px; }
html.theme-light .consent { color: #3A3A3A; font-size: 13.5px; }

/* Inputs: white fields with a clear border */
html.theme-light .input, html.theme-light .otp input { background: #fff; color: #151515; border-color: #B9B2A6; }
html.theme-light .input::placeholder { color: #8A8A8A; }
html.theme-light .prefix span { color: #6A6A6A; }

/* Buttons keep white text on orange; "dark" buttons become outlined */
html.theme-light .btn { color: #fff; }
html.theme-light .btn.dark { background: #fff; color: #151515; border: 1.5px solid #B9B2A6; }
html.theme-light .btn.ghost { color: #151515; }
html.theme-light .linkbtn { color: #4F4F4F; }

/* Lists, toggles, estimate rows */
html.theme-light .qlist a, html.theme-light .toggle, html.theme-light .req-list li, html.theme-light .drop { background: #FBFAF7; color: #151515; }
html.theme-light .pill { background: rgba(255,102,0,.14); color: #A84400; }
html.theme-light .pill.ok { background: rgba(30,142,78,.12); color: #1E8E4E; }

/* Quote page */
html.theme-light .q-price, html.theme-light .q-amt, html.theme-light .q-name, html.theme-light .q-when { color: #151515; }
html.theme-light .q-eyebrow { color: #C25400; }
html.theme-light .q-save { color: #1E8E4E; }
html.theme-light .addr-check { background: #FFF6EF; }

/* Calendar */
html.theme-light .cal-cell.open { background: #fff; border-color: #CFC8BB; }
html.theme-light .cal-cell.booked, html.theme-light .cal-cell.past, html.theme-light .cal-cell.closed {
  background: repeating-linear-gradient(135deg, #ECE8E1 0 6px, #E3DED6 6px 12px); }
html.theme-light .cal-day b { color: #151515; }
html.theme-light .cal-nav button { background: #fff; color: #151515; border-color: #CFC8BB; }
html.theme-light .k.open { background: #fff; border-color: #CFC8BB; }
html.theme-light .picks li { color: #151515; }

/* Footer: light, readable */
html.theme-light footer { background: #EFEBE4; border-top-color: #DDD7CC; color: #3A3A3A; }
html.theme-light footer a { color: #3A3A3A; }
html.theme-light footer .lockup { color: #151515; }

/* Legal pages */
html.theme-light .legal-doc p, html.theme-light .legal-doc li { color: #2A2A2A; }
html.theme-light .legal-doc blockquote { background: #fff; color: #151515; }
html.theme-light .cal-cell.open.sel { background: var(--orange); border-color: var(--orange); }
html.theme-light .cal-cell.mine { background: #1E8E4E; }
html.theme-light .cal-hint, html.theme-light .cal-nav, html.theme-light .cal-time, html.theme-light .cal-day, html.theme-light .cal-key { color: #3A3A3A; }
html.theme-light .k.taken { background: repeating-linear-gradient(135deg, #ECE8E1 0 3px, #D9D3C8 3px 6px); }
html.theme-light .picks li { background: #FFF1E6; border-color: #F2B48A; }
html.theme-light .picks button { background: rgba(0,0,0,.06); color: #151515; }
html.theme-light .q-fine, html.theme-light .q-ref, html.theme-light .q-inspect { color: #555; }
html.theme-light .q-more > summary { color: #3A3A3A; }
html.theme-light .addr-line.small { color: #2A2A2A; }
html.theme-light .cal-day.today b { color: #C25400; }
html.theme-light .cal-cell.open.rush { background: #FFF8E6; }
html.theme-light .cal-cell.open.after_hours { background: #F0F2FF; }
html.theme-light .cal-cell.open.sel { color: #fff; }
html.theme-light .cal-cell.open.sel.rush, html.theme-light .cal-cell.open.sel.after_hours { background: var(--orange); border-color: var(--orange); color: #fff; }
html.theme-light .cal-note { color: #14532D; background: #ECFDF3; border-color: #86D3A6; }
html.theme-light .q-steps li { background: #fff; color: #6A6A6A; border-color: #DDD7CC; }
html.theme-light .q-steps li b { background: #E3DED6; color: #151515; }
html.theme-light .q-steps li.now { color: #151515; border-color: var(--orange); }
html.theme-light .q-steps li.now b, html.theme-light .q-steps li.done b { color: #fff; }
html.theme-light .q-steps li.now b { background: var(--orange); } html.theme-light .q-steps li.done b { background: #1E8E4E; }
html.theme-light .cal-key1 { color: #4F4F4F; }
html.theme-light .q-edit { background: #FBFAF7; border-color: #DDD7CC; }
html.theme-light .q-change { color: #C25400; }
html.theme-light .q-chosen { color: #3A3A3A; }
html.theme-light .q-delta.up { color: #A15C00; } html.theme-light .q-delta.down { color: #1E8E4E; }
html.theme-light .when-btn { background: #fff; color: #151515; border-color: #CFC8BB; }
html.theme-light .when-btn span, html.theme-light .when-note { color: #4F4F4F; }
html.theme-light .when-btn[aria-pressed="true"] { background: #FFF6EF; border-color: var(--orange); }
html.theme-light .q-label { color: #4F4F4F; }
html.theme-light .q-add-btn { border-color: #CFC8BB; color: #151515; }
html.theme-light .q-add-btn:hover { border-color: var(--orange); background: #FFF6EF; }
html.theme-light .q-add-btn span, html.theme-light .q-help { color: #4F4F4F; }
html.theme-light .q-add-form { background: #FBFAF7; border-color: #DDD7CC; }
html.theme-light .q-removed { border-color: #CFC8BB; }
html.theme-light .q-removed .q-name { color: #6A6A6A; }
html.theme-light #working { --white: #151515; --muted: #4F4F4F; --line: #DDD7CC; }
