/* ============================================================
   THE RHODE ISLAND CLEANERS — v6 PREVIEW OVERRIDE LAYER
   STAGING PREVIEW ONLY. Loaded AFTER ric-design-system.css and
   after each page's inline styles, so these rules win ties.
   Goal: SPM-level calm luxury. Navy stays the brand anchor,
   bright yellow gold is retired from large surfaces and kept
   only as a muted brass accent (kicker rules, stars, hairlines).
   One button style: navy pill. One radius: 20px. One rhythm:
   white / warm ivory sections with generous whitespace.
   ============================================================ */

:root{
  --v6-navy:#07174f;
  --v6-navy-2:#0d2568;
  --v6-ink:#1a2338;
  --v6-muted:#55617a;
  --v6-faint:#8b94a7;
  --v6-brass:#b08d2e;
  --v6-brass-soft:#e9c979;
  --v6-ivory:#faf8f3;
  --v6-ivory-2:#f4f0e7;
  --v6-line:#e8e3d6;
  --v6-line-cool:#e3e8f2;
  --v6-radius:20px;
  --v6-shadow:0 6px 24px rgba(7,23,79,.06);
  --v6-shadow-lg:0 24px 60px rgba(7,23,79,.12);
}

/* ---------- base calm ---------- */
body{line-height:1.68;color:var(--v6-ink)}
::selection{background:rgba(176,141,46,.25)}
.lead{font-size:1.16rem;line-height:1.72;color:var(--v6-muted);max-width:42rem}
p{margin-bottom:1.1em}

/* ---------- typography: one display voice, quieter kickers ---------- */
h1{font-size:clamp(2.9rem,5.6vw,4.5rem);line-height:1.04;letter-spacing:-.022em}
h2{font-size:clamp(2.05rem,3.7vw,2.95rem);line-height:1.1;letter-spacing:-.018em}
h3{letter-spacing:-.01em}
.kicker{color:var(--v6-brass);font-size:.7rem;letter-spacing:.22em;font-weight:700}
.kicker::before{background:var(--v6-brass);width:2.2rem;height:1.5px}
.svc-num{color:var(--v6-brass)}

/* ---------- spacing rhythm: fewer, taller, calmer sections ---------- */
section{padding-block:clamp(4.5rem,8vw,6.75rem)}
.section-head{margin-bottom:3rem}
main>section:nth-of-type(even):not(.hero){background:var(--v6-ivory)}

/* ---------- header: taller, quieter, navy CTA ---------- */
.topline{background:var(--v6-navy);font-weight:600;letter-spacing:.03em;padding:.6rem 1rem}
.topline a{color:#fff;text-decoration:none}
.site-header{box-shadow:0 1px 0 rgba(7,23,79,.04),0 10px 34px rgba(7,23,79,.045);border-bottom:1px solid var(--v6-line-cool)}
.nav{min-height:5.3rem;gap:1.8rem}
.brand-name{font-size:1.1rem;letter-spacing:-.01em}
.brand-tag{color:var(--v6-faint);letter-spacing:.18em}
.navlinks{gap:1.7rem;font-weight:600;color:#414d6e}
.nav-cta{background:var(--v6-navy);color:#fff;box-shadow:0 8px 22px rgba(7,23,79,.18);padding:.78rem 1.5rem}
.nav-cta:hover{background:var(--v6-navy-2);transform:translateY(-1px)}

/* ---------- ONE button style: navy pill everywhere ---------- */
.btn{font-weight:700;letter-spacing:.01em;padding:1rem 2.1rem;box-shadow:none}
.btn-gold,.btn-gold:hover{background:var(--v6-navy);color:#fff;box-shadow:0 12px 28px rgba(7,23,79,.20)}
.btn-gold:hover{background:var(--v6-navy-2)}
.btn-navy{background:var(--v6-navy);color:#fff;box-shadow:0 12px 28px rgba(7,23,79,.20)}
.btn-outline{border:1.5px solid #d9d3c2;color:var(--v6-navy);background:transparent}
.btn-outline:hover{border-color:var(--v6-navy);background:#fff}
.btn-white{background:#fff;color:var(--v6-navy)}
.btn-lg{padding:1.12rem 2.5rem;font-size:1.05rem}
.btn:hover{transform:translateY(-1px)}

/* ---------- hero: photography leads, text gets air ---------- */
.ref-hero{grid-template-columns:1.02fr .98fr;gap:clamp(2.5rem,5vw,4.5rem);padding:clamp(3.5rem,7vw,5.5rem) 0 clamp(3rem,6vw,4.5rem)}
.ref-hero img{height:clamp(460px,54vw,560px);border-radius:24px;box-shadow:var(--v6-shadow-lg)}
.ref-hero .lead{margin-top:1.2rem}
.hero-bg img{opacity:.5}
.hero-points .tick{background:var(--v6-brass);color:#fff}

/* ---------- chips: one quiet treatment (hero pills, city rows) ---------- */
.pill-row{gap:.45rem;margin:1.35rem 0 0}
.pill-row span{border:1px solid var(--v6-line);background:var(--v6-ivory);color:#46536f;border-radius:999px;padding:.42rem .85rem;font-size:.82rem;font-weight:600;letter-spacing:.01em}
.city-row{gap:.45rem}
.city-row span,.city-row a{background:var(--v6-ivory);border:1px solid var(--v6-line);color:#46536f;border-radius:999px;padding:.42rem .85rem;font-size:.82rem;font-weight:600}
.city-row a:hover{background:#fff;border-color:var(--v6-brass)}
.area-cities a,.area-cities span{border-radius:999px;font-weight:600}

/* ---------- trust strip: one calm row, brass stars ---------- */
.trust-strip{padding:1.7rem 0;gap:1.2rem;border-top:1px solid var(--v6-line);border-bottom:1px solid var(--v6-line)}
.trust-strip b{font-weight:700;color:var(--v6-navy);font-size:.95rem}
.trustbar-item{font-weight:700}
.stars{color:var(--v6-brass);letter-spacing:.18em}

/* ---------- cards: one radius, hairline warm borders, soft shadow ---------- */
.card,.ind,.step,.review-card,.review-cta-card,.ba-card,.compare,.quote-panel,.menu-panel{border-radius:var(--v6-radius)}
.card,.ind,.step,.review-card{background:#fff;border:1px solid var(--v6-line);box-shadow:var(--v6-shadow)}
.card:hover{transform:translateY(-3px);box-shadow:var(--v6-shadow-lg)}
.card-body{padding:1.8rem;gap:.65rem}
.card-body p{font-size:.97rem;line-height:1.65}
.card-link{color:var(--v6-navy);font-weight:700}
.ind-grid{gap:18px}
.step{padding:2.1rem}
.step-num{background:var(--v6-navy);font-family:var(--font-display);font-weight:600}
.review-card{padding:1.8rem}
.review-ava{background:var(--v6-navy)}

/* ---------- steps / compare / notes: quiet the leftover yellow ---------- */
.compare-row:not(.compare-head) div:nth-child(2){background:var(--v6-ivory-2)}
.faq-item summary .plus{background:var(--v6-ivory-2)}
.faq-item[open] summary .plus{background:var(--v6-brass-soft)}
.form-steps i.done{background:var(--v6-brass)}
.choice-card.selected{background:var(--v6-ivory);border-color:var(--v6-navy)}
.mock-note{background:var(--v6-ivory);border:1px solid var(--v6-line);border-left:3px solid var(--v6-brass);border-radius:14px;color:#4a5468}
.confirm-note{background:var(--v6-ivory);border:1px solid var(--v6-line);border-radius:14px}

/* ---------- FAQ: airier rows ---------- */
.faq-list details{padding:1.3rem 0}
.faq-item{border-color:var(--v6-line);border-radius:16px}
.faq-item summary{padding:1.3rem 1.5rem}
.faq-item .faq-a{padding:0 1.5rem 1.45rem;line-height:1.7}

/* ---------- forms: same fields, calmer card ---------- */
form[data-netlify]{border:1px solid var(--v6-line);border-radius:var(--v6-radius);box-shadow:var(--v6-shadow-lg);padding:clamp(1.8rem,3.4vw,2.6rem)}
.field input,.field select,.field textarea{border-radius:12px;border-color:var(--v6-line-cool);background:#fdfcf9}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--v6-brass);box-shadow:0 0 0 3px rgba(176,141,46,.16);background:#fff}
.field label>input[type="checkbox"],.field label>input[type="radio"]{accent-color:var(--v6-navy)}

/* ---------- navy bands & footer: keep, soften edges ---------- */
.area-band{border-radius:24px}
.final-cta{border-radius:24px}
.final-cta .phone-big{border-bottom:2px solid var(--v6-brass)}
.footer{background:#060f36}
.footer ul a:hover{color:var(--v6-brass-soft)}

/* ---------- press link (Cleaning for a Reason page) ---------- */
.press-source-link{margin:2rem 0;padding:1.15rem 1.35rem;background:var(--v6-ivory);border:1px solid var(--v6-line);border-left:3px solid var(--v6-brass);border-radius:14px;font-size:.98rem}
.press-source-link a{font-weight:700;color:var(--v6-navy);border-bottom:2px solid var(--v6-brass-soft)}

/* ---------- mobile: same system, tighter ---------- */
@media(max-width:760px){
  section{padding-block:3.4rem}
  .ref-hero{grid-template-columns:1fr;padding-top:2.6rem}
  .ref-hero img{height:320px}
  .nav{min-height:4.8rem}
}

/* v6 overflow guard (Nov 10, 2026): stop sideways slide on mobile */
html, body { overflow-x: hidden; }
img, iframe, video { max-width: 100%; }

/* v6 button wrap guard (Nov 10, 2026): long button labels must wrap on small screens */
.btn { max-width: 100%; }
@media (max-width: 560px) { .btn { white-space: normal; text-align: center; } }

/* trust strip one-row layout 2026-11-10 (Hassan: straight across, never jumbled) */
.trust-strip{display:flex !important;flex-wrap:nowrap !important;align-items:center !important;justify-content:space-between !important;gap:.5rem}
.trust-strip>div{flex:1 1 0;text-align:center}
@media(max-width:700px){.trust-strip{gap:.3rem}.trust-strip b{font-size:.66rem;line-height:1.2}}

/* button rows one clean row 2026-11-10 */
.btn-row{flex-wrap:nowrap !important}
@media(max-width:700px){.btn-row .btn{flex:1 1 0;text-align:center;padding-left:.4rem;padding-right:.4rem;font-size:.86rem;white-space:nowrap}}
