/* Riverside Mobile Car Glass: shared sections added 2026-10-23
   (cost sections, homepage price list + insurance band, Tesla / RV / semi / insurance pages).
   Same vocabulary as the hand-built sections: Poppins, navy panels, the skewed orange pill
   on part of each H2, the teal-to-orange accent bar, pill buttons.
   Contrast (WCAG, computed): small text on orange uses --rx-orange-ink #d63a00 (4.7:1 with white);
   orange words on light grounds #c73600 (4.91:1 on #f5f6f8); on navy #ff8a5c (6.57:1). */

:root{
  --rx-navy:#002453;
  --rx-navy-2:#001a3a;
  --rx-orange:#ff4e0b;
  --rx-orange-ink:#d63a00;
  --rx-orange-text:#c73600;
  --rx-orange-soft:#ff8a5c;
  --rx-teal:#81b5b9;
  --rx-teal-soft:#a9c9cc;
  --rx-paper:#f5f6f8;
  --rx-body:#555555;
  --rx-line:rgba(0,36,83,.12);
}

a[href^="tel:"]{ white-space:nowrap; }

/* ---------- section shell ---------- */
.rx-sec{ padding:96px 20px; background:#fff; font-family:'Poppins',sans-serif; position:relative; }
.rx-sec--paper{ background:var(--rx-paper); }
.rx-sec--navy{ background:linear-gradient(135deg,var(--rx-navy),var(--rx-navy-2)); }
.rx-wrap{ max-width:1160px; margin:0 auto; }
.rx-head{ text-align:center; max-width:820px; margin:0 auto 48px; }
.rx-eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-size:13px; font-weight:600; letter-spacing:.08em; text-transform:uppercase;
  color:var(--rx-orange-text); margin-bottom:14px;
}
.rx-sec--navy .rx-eyebrow{ color:var(--rx-orange-soft); }
.rx-head h2{ font-size:36px; line-height:1.4; color:var(--rx-navy); font-weight:700; margin:0 0 18px; }
.rx-head h2 span{
  background:var(--rx-orange); color:#fff; padding:4px 14px; border-radius:6px;
  display:inline-block; transform:skew(-10deg); margin:4px 0;
}
.rx-sec--navy .rx-head h2{ color:#fff; }
.rx-head p, .rx-text p{ color:var(--rx-body); line-height:1.8; font-size:16px; margin:0 0 14px; }
.rx-sec--navy .rx-head p, .rx-sec--navy .rx-text p{ color:#cfd9e2; }
.rx-text{ max-width:820px; margin:28px auto 0; text-align:center; }
.rx-text a, .rx-head a, .rx-card a, .rx-cost a:not(.rx-btn){ color:var(--rx-orange-text); font-weight:600; }
.rx-sec--navy .rx-text a, .rx-sec--navy .rx-head a{ color:var(--rx-orange-soft); }

/* ---------- list of points (tiles) ---------- */
.rx-lead{ text-align:center; font-weight:600; color:var(--rx-navy); margin:0 0 18px; font-size:17px; }
.rx-sec--navy .rx-lead{ color:#fff; }
.rx-ticks{ list-style:none; padding:0; margin:0 auto; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; max-width:980px; }
.rx-ticks--3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.rx-ticks li{
  display:flex; gap:12px; align-items:flex-start;
  background:#fff; border:1px solid var(--rx-line); border-radius:14px; padding:16px 18px;
  color:#333; line-height:1.65; font-size:15px;
}
.rx-sec--paper .rx-ticks li{ background:#fff; }
.rx-sec:not(.rx-sec--paper):not(.rx-sec--navy) .rx-ticks li{ background:var(--rx-paper); }
.rx-ticks li i{ color:var(--rx-orange-text); margin-top:5px; flex:0 0 auto; }
.rx-ticks li strong{ color:var(--rx-navy); }
.rx-sec--navy .rx-ticks li{ background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.14); color:#e5ecf2; }
.rx-sec--navy .rx-ticks li i{ color:var(--rx-orange-soft); }
.rx-sec--navy .rx-ticks li strong{ color:#fff; }

/* ---------- numbered steps ---------- */
.rx-steps{ list-style:none; counter-reset:rx; padding:0; margin:0 auto; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; max-width:1060px; }
.rx-steps--3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.rx-steps li{
  counter-increment:rx; position:relative; background:#fff; border-radius:18px;
  padding:28px 24px 24px 84px; box-shadow:0 14px 40px rgba(0,36,83,.08); color:#444; line-height:1.7; font-size:15px;
}
.rx-steps li::before{
  content:counter(rx,decimal-leading-zero); position:absolute; left:22px; top:24px;
  width:44px; height:44px; border-radius:12px; display:grid; place-items:center;
  background:var(--rx-navy); color:#fff; font-weight:700; font-size:15px;
}
.rx-steps li::after{
  content:''; position:absolute; left:0; top:18px; bottom:18px; width:4px; border-radius:0 4px 4px 0;
  background:linear-gradient(180deg,var(--rx-teal),var(--rx-orange));
}
.rx-steps li strong{ display:block; color:var(--rx-navy); font-size:16px; margin-bottom:4px; }
.rx-sec--navy .rx-steps li{ background:rgba(255,255,255,.06); color:#dbe4ec; box-shadow:none; border:1px solid rgba(255,255,255,.12); }
.rx-sec--navy .rx-steps li strong{ color:#fff; }
.rx-sec--navy .rx-steps li::before{ background:var(--rx-orange-ink); }

/* ---------- cards (H3 groups) ---------- */
.rx-cards{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.rx-cards--3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.rx-cards--1{ grid-template-columns:minmax(0,820px); justify-content:center; }
.rx-card{
  background:var(--rx-navy); border-radius:20px; padding:30px 28px; position:relative; overflow:hidden;
  box-shadow:0 20px 60px rgba(0,0,0,.12);
}
.rx-card::before{ content:''; position:absolute; inset:0 0 auto 0; height:4px; background:linear-gradient(90deg,var(--rx-teal),var(--rx-orange)); }
.rx-card h3{ color:#fff; font-size:19px; font-weight:600; line-height:1.45; margin:0 0 12px; font-family:'Poppins',sans-serif; }
.rx-card p{ color:#cfd9e2; line-height:1.75; font-size:15px; margin:0 0 10px; }
.rx-card p:last-child{ margin-bottom:0; }
.rx-card ul{ margin:8px 0 0; padding-left:18px; color:#cfd9e2; line-height:1.75; font-size:15px; }
.rx-card a{ color:var(--rx-orange-soft); }
.rx-sec--navy .rx-card{ background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); box-shadow:none; }

/* ---------- buttons ---------- */
.rx-actions{ text-align:center; margin-top:40px; display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
.rx-btn{
  display:inline-flex; align-items:center; gap:10px; padding:14px 28px; border-radius:40px;
  background:var(--rx-orange-ink); color:#fff !important; font-weight:600; text-decoration:none; transition:.3s;
  font-family:'Poppins',sans-serif; line-height:1.4;
}
.rx-btn:hover{ transform:translateY(-2px); box-shadow:0 16px 34px rgba(214,58,0,.35); color:#fff; }
.rx-btn--ghost{ background:transparent; border:2px solid var(--rx-navy); color:var(--rx-navy) !important; }
.rx-btn--ghost:hover{ box-shadow:0 12px 26px rgba(0,36,83,.18); }
.rx-sec--navy .rx-btn--ghost{ border-color:#fff; color:#fff !important; }
.rx-btn--wrap{ white-space:normal; text-align:center; justify-content:center; max-width:100%; }

/* ---------- cost section ---------- */
.rx-cost__grid{ display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:34px; align-items:start; }
.rx-cost__plate{
  background:linear-gradient(160deg,var(--rx-navy),var(--rx-navy-2)); border-radius:24px; padding:36px 32px;
  color:#fff; position:relative; overflow:hidden; box-shadow:0 26px 70px rgba(0,36,83,.25);
}
.rx-cost__plate::before{ content:''; position:absolute; inset:0 0 auto 0; height:5px; background:linear-gradient(90deg,var(--rx-teal),var(--rx-orange)); }
.rx-cost__plate::after{
  content:''; position:absolute; right:-60px; bottom:-60px; width:220px; height:220px; border-radius:50%;
  border:28px solid rgba(129,181,185,.10);
}
.rx-cost__icon{ width:54px; height:54px; border-radius:14px; display:grid; place-items:center; background:rgba(255,255,255,.08); color:var(--rx-orange-soft); font-size:22px; margin-bottom:20px; }
.rx-cost__label{ display:block; font-size:13px; letter-spacing:.1em; text-transform:uppercase; color:var(--rx-teal-soft); font-weight:600; }
.rx-cost__fig{ display:block; font-size:46px; font-weight:800; line-height:1.15; margin:6px 0 18px; color:#fff; letter-spacing:-.01em; }
.rx-cost__fig--long{ font-size:36px; }
.rx-cost__note{ color:#cfd9e2; line-height:1.75; font-size:15px; margin:0 0 22px; position:relative; z-index:1; }
.rx-cost__note a{ color:var(--rx-orange-soft) !important; }
.rx-cost__plate .rx-btn{ position:relative; z-index:1; }
.rx-cost__main{ display:flex; flex-direction:column; gap:20px; }
.rx-cost__intro p{ color:var(--rx-body); line-height:1.8; font-size:16px; margin:0 0 12px; }
.rx-cost__card{ background:#fff; border:1px solid var(--rx-line); border-radius:20px; padding:26px 26px 20px; }
.rx-sec--paper .rx-cost__card{ background:#fff; }
.rx-cost__card .rx-lead{ text-align:left; margin-bottom:14px; }
.rx-cost__list{ list-style:none; padding:0; margin:0; display:grid; gap:12px; }
.rx-cost__list li{ display:flex; gap:12px; align-items:flex-start; color:#444; line-height:1.65; font-size:15px; }
.rx-cost__list li i{ color:var(--rx-orange-text); margin-top:5px; }
.rx-cost__list li strong{ color:var(--rx-navy); }
.rx-cost__outro p{ color:var(--rx-body); line-height:1.8; font-size:15.5px; margin:0 0 10px; padding-left:16px; border-left:3px solid var(--rx-teal); }

/* ---------- homepage price list ---------- */
.rx-prices{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 28px; max-width:1000px; margin:0 auto; list-style:none; padding:0; }
.rx-prices li{
  display:flex; align-items:baseline; gap:12px; background:#fff; border-radius:14px; padding:16px 20px;
  border:1px solid var(--rx-line); box-shadow:0 8px 24px rgba(0,36,83,.05);
}
.rx-prices__name{ color:var(--rx-navy); font-weight:600; font-size:15.5px; }
.rx-prices__dots{ flex:1 1 auto; border-bottom:2px dotted rgba(0,36,83,.22); transform:translateY(-4px); min-width:16px; }
.rx-prices__val{ color:var(--rx-orange-text); font-weight:700; font-size:16.5px; white-space:nowrap; }
.rx-prices__val--quote{ font-size:14.5px; color:var(--rx-navy); white-space:normal; text-align:right; }
.rx-prices__notes{ max-width:860px; margin:34px auto 0; text-align:center; }
.rx-prices__notes p{ color:var(--rx-body); line-height:1.8; margin:0 0 10px; }

/* ---------- homepage insurance band ---------- */
.rx-ins{ display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr); gap:40px; align-items:center; }
.rx-ins h2{ color:#fff; font-size:34px; line-height:1.4; font-weight:700; margin:0 0 18px; }
.rx-ins h2 span{ background:var(--rx-orange); padding:4px 14px; border-radius:6px; display:inline-block; transform:skew(-10deg); }
.rx-ins p{ color:#cfd9e2; line-height:1.8; margin:0 0 14px; font-size:16px; }
.rx-ins__card{ background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14); border-radius:22px; padding:30px; }
.rx-ins__row{ display:flex; gap:14px; align-items:center; color:#fff; font-weight:600; font-size:15px; padding:12px 0; }
.rx-ins__row + .rx-ins__row{ border-top:1px solid rgba(255,255,255,.12); }
.rx-ins__row i{ width:40px; height:40px; border-radius:12px; display:grid; place-items:center; background:rgba(129,181,185,.16); color:var(--rx-teal-soft); flex:0 0 auto; }

/* ---------- photo + checklist block (new service pages, template's about-final) ---------- */
.about-final .rx-photo{ width:100%; max-width:none; }
.about-final .rx-photo .img-shape{ height:auto !important; aspect-ratio:1/1; box-shadow:0 30px 70px rgba(0,36,83,.18); }
.about-final .rx-photo .img-shape img{ height:100%; }
.about-final .side-box .rx-btn{ margin-top:4px; }
a.rx-btn--wrap[href^="tel:"]{ white-space:normal; }
.rx-nowrap{ white-space:nowrap; }
.about-final .about-content{ min-width:0; }
.about-final .feature-item p{ margin:0; min-width:0; }
.about-final .feature-icon{ flex:0 0 42px; }

/* ---------- responsive ---------- */
@media(max-width:991px){
  .rx-cost__grid, .rx-ins{ grid-template-columns:1fr; }
  .rx-cards--3, .rx-ticks--3, .rx-steps--3{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:768px){
  .rx-sec{ padding:70px 16px; }
  .rx-head h2, .rx-ins h2{ font-size:26px; }
  .rx-ticks, .rx-ticks--3, .rx-steps, .rx-steps--3, .rx-cards, .rx-cards--3, .rx-prices{ grid-template-columns:1fr; }
  .rx-cost__fig{ font-size:38px; }
  .rx-cost__fig--long{ font-size:30px; }
  .rx-cost__plate{ padding:30px 24px; }
  .rx-steps li{ padding:76px 20px 20px 22px; }
  .rx-steps li::before{ top:20px; }
}

/* phone links inside the template's FAQ / CTA copy on the new pages (site link blue fails on white) */
.rx-sec a[href^="tel:"]:not(.rx-btn), .cta-light-pro .cta-text a, .faq-pro-a a{ color:var(--rx-orange-text); font-weight:600; }
.rx-sec--navy a[href^="tel:"]:not(.rx-btn){ color:var(--rx-orange-soft); }
.about-final .side-box a.rx-btn--wrap{ display:inline-block; text-align:left; border-radius:28px; padding:14px 24px; }
.about-final .side-box a.rx-btn--wrap i{ margin-right:8px; }
.about-final .rx-btn span{ color:inherit; font-size:inherit; font-weight:inherit; }

/* header: keep the top-level labels on one line now that Insurance joined the menu (2026-10-23) */
@media(min-width:1300px){
  .nav-menu > a, .nav-menu > .has-dropdown > a{ white-space:nowrap; }
}

/* location pages: the doc's insurance Q&A sits in the band's right-hand card */
.rx-ins__faq h3{ color:#fff; font-size:19px; line-height:1.45; font-weight:600; margin:6px 0 12px; font-family:'Poppins',sans-serif; }
.rx-ins__faq p{ color:#cfd9e2; font-size:15px; margin:0; }
.rx-prices--loc .rx-prices__val--quote{ max-width:60%; }
