/* Cost section (inc/cost-section.php) + RV / semi-truck page blocks. 2026-10-18.
   Same language as the service pages: Poppins, #111 headings, blue-to-red accent words,
   white cards with a red left rule, and the navy-to-red "equipment" plate. */

.scc{
    --scc-ink:#111827;
    --scc-body:#4b5563;
    --scc-red:#dc2626;
    --scc-line:#e9ecf1;
    padding:96px 0;
    background:#ffffff;
    font-family:'Poppins',sans-serif;
}
.scc--alt{ background:#f6f7fa; }
.scc__wrap{ max-width:1180px; margin:0 auto; padding:0 20px; }

.scc__head{ max-width:800px; margin:0 auto; text-align:center; }
.scc__eyebrow{
    display:inline-flex; align-items:center; gap:8px;
    padding:6px 16px; border-radius:999px;
    background:#fdecec; color:#b91c1c;
    font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
}
.scc__head h2{
    text-wrap:balance;
    margin:18px 0 16px;
    font-size:40px; line-height:1.2; font-weight:800; color:#111;
}
.scc__accent,
.hv-accent{
    background:linear-gradient(135deg,#3f6f99 0%,#dc2626 100%);
    -webkit-background-clip:text; background-clip:text;
    -webkit-text-fill-color:transparent;
}
.scc__intro{ margin:0 auto 10px; color:var(--scc-body); font-size:16.5px; line-height:1.75; }
.scc__intro a, .scc__outro a, .scc__list a{ color:var(--scc-red); font-weight:600; white-space:nowrap; text-decoration:none; }

.scc__grid{
    display:grid; grid-template-columns:340px minmax(0,1fr);
    gap:32px; margin-top:48px; align-items:stretch;
}
.scc__grid--img{ grid-template-columns:minmax(0,440px) minmax(0,1fr); }

.scc__grid--solo{ grid-template-columns:minmax(0,860px); justify-content:center; }

/* ---- price plate ---- */
.scc__side{ display:flex; flex-direction:column; gap:20px; }
.scc__grid:not(.scc__grid--img) .scc__plate{ flex:1; display:flex; flex-direction:column; }
.scc__grid:not(.scc__grid--img) .scc__call{ margin-top:auto; align-self:flex-start; }
.scc__main{ justify-content:center; }
.scc__plate-note{
    position:relative; z-index:1; margin:22px 0 24px; padding-top:20px;
    border-top:1px solid rgba(255,255,255,.14);
    color:#e5e7eb; font-size:15px; line-height:1.7;
}
.scc__plate-note a{ color:#fecaca; font-weight:700; white-space:nowrap; text-decoration:none; }
.scc__plate{
    position:relative; overflow:hidden;
    padding:30px 28px;
    border-radius:18px;
    background:linear-gradient(150deg,#111827 0%,#1f2a3c 55%,#7f1d1d 135%);
    color:#fff;
    box-shadow:0 22px 44px rgba(17,24,39,.22);
}
.scc__plate::after{
    content:""; position:absolute; right:-60px; top:-60px; width:180px; height:180px;
    border-radius:50%; background:radial-gradient(circle,rgba(239,68,68,.35),transparent 70%);
}
.scc__plate-icon{
    display:inline-flex; align-items:center; justify-content:center;
    width:46px; height:46px; border-radius:12px; margin-bottom:18px;
    background:rgba(255,255,255,.1); color:#fca5a5; font-size:19px;
}
.scc__fig{ position:relative; z-index:1; padding:12px 0; border-top:1px solid rgba(255,255,255,.14); }
.scc__fig:first-of-type{ border-top:0; padding-top:0; }
.scc__fig-label{
    display:block; margin-bottom:4px;
    color:#fca5a5; font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
}
.scc__fig-value{ display:block; font-size:38px; line-height:1.1; font-weight:800; letter-spacing:-.01em; white-space:nowrap; }
.scc__fig-value--long{ font-size:31px; }
.scc__call{
    position:relative; z-index:1;
    display:inline-flex; align-items:center; gap:10px; margin-top:20px;
    padding:12px 20px; border-radius:999px;
    background:#fff; color:#b91c1c; font-weight:700; font-size:15px;
    text-decoration:none; white-space:nowrap; transition:transform .2s ease, box-shadow .2s ease;
}
.scc__call:hover{ color:#991b1b; transform:translateY(-2px); box-shadow:0 10px 22px rgba(0,0,0,.25); }

.scc__photo{ margin:0; border-radius:18px; overflow:hidden; box-shadow:0 22px 44px rgba(17,24,39,.18); }
.scc__photo img{ display:block; width:100%; height:auto; aspect-ratio:1/1; object-fit:cover; }

/* ---- factor cards ---- */
.scc__main{ display:flex; flex-direction:column; gap:20px; }
.scc__card{
    background:#fff; border:1px solid var(--scc-line); border-left:4px solid #ef4444;
    border-radius:14px; padding:28px 30px;
    box-shadow:0 10px 26px rgba(17,24,39,.06);
}
.scc--alt .scc__card{ box-shadow:0 10px 26px rgba(17,24,39,.07); }
.scc__lead{ margin:0 0 16px; color:var(--scc-ink); font-size:17px; font-weight:700; }
.scc__list{
    list-style:none; margin:0; padding:0;
    display:grid; grid-template-columns:1fr 1fr; gap:12px 26px;
}
.scc__list--one{ grid-template-columns:1fr; gap:0; }
.scc__list--one li{ padding:13px 0; border-bottom:1px solid #eef0f3; font-size:15.5px; }
.scc__list--one li:first-child{ padding-top:4px; }
.scc__list--one li:last-child{ border-bottom:0; padding-bottom:0; }
.scc__card{ display:flex; flex-direction:column; justify-content:center; }
.scc__list li{ display:flex; gap:12px; align-items:flex-start; color:var(--scc-body); font-size:15px; line-height:1.6; }
.scc__list li strong{ color:var(--scc-ink); }
.scc__list li i{
    flex:0 0 22px; height:22px; margin-top:2px; border-radius:50%;
    display:inline-flex; align-items:center; justify-content:center;
    background:#fdecec; color:#b91c1c; font-size:11px;
}
.scc__outro{
    padding:20px 24px; border-radius:14px;
    background:linear-gradient(135deg,#eef4f9,#fdf0f0);
}
.scc__outro p{ margin:0; color:#1f2937; font-size:15.5px; line-height:1.7; font-weight:500; }

@media (max-width:991px){
    .scc{ padding:72px 0; }
    .scc__wrap, .hv-wrap{ padding:0 16px; }
    .scc__grid, .scc__grid--img{ grid-template-columns:1fr; }
    .scc__grid--img .scc__photo{ max-width:520px; }
}
@media (max-width:768px){
    .scc__head h2{ font-size:28px; }
    .scc__list{ grid-template-columns:1fr; }
    .scc__card{ padding:22px 20px; }
    .scc__fig-value{ font-size:32px; }
}


/* =========================================================
   RV + semi-truck pages (hv-*): content blocks between the
   form section and the FAQ. Doc copy only.
   ========================================================= */
.hv-section{ padding:90px 0; background:#fff; font-family:'Poppins',sans-serif; }
.hv-section--alt{ background:#f6f7fa; }
.hv-wrap{ max-width:1180px; margin:0 auto; padding:0 20px; }
.hv-head{ max-width:820px; margin:0 auto 44px; text-align:center; }
.hv-head h2{ text-wrap:balance; font-size:38px; line-height:1.22; font-weight:800; color:#111; margin:0 0 14px; }
.hv-head p, .hv-text p{ color:#4b5563; font-size:16px; line-height:1.75; margin:0 0 12px; }
.hv-head p a, .hv-text p a, .hv-card p a{ color:#dc2626; font-weight:600; white-space:nowrap; text-decoration:none; }
.hv-text{ max-width:860px; margin:28px auto 0; text-align:center; }
.hv-lead{ color:#111827; font-weight:700; font-size:17px; margin:0 0 16px; }

.hv-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.hv-grid--2{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.hv-card{
    background:#fff; border:1px solid #e9ecf1; border-left:4px solid #ef4444;
    border-radius:14px; padding:26px 26px 22px;
    box-shadow:0 10px 26px rgba(17,24,39,.06);
}
.hv-card h3{ font-size:18.5px; font-weight:700; color:#111827; margin:0 0 10px; line-height:1.35; }
.hv-card p{ color:#4b5563; font-size:15px; line-height:1.7; margin:0 0 10px; }
.hv-card p:last-child{ margin-bottom:0; }

/* tiles for long lists (RV types, glass details, areas) */
.hv-tiles{ list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:14px; }
.hv-tiles li{
    display:flex; gap:12px; align-items:center;
    background:#fff; border:1px solid #e9ecf1; border-radius:12px;
    padding:15px 18px; color:#1f2937; font-weight:600; font-size:15px; line-height:1.45;
    box-shadow:0 6px 16px rgba(17,24,39,.04);
}
.hv-tiles li i{ color:#dc2626; font-size:15px; flex:0 0 auto; }
.hv-tiles--chips li{ font-weight:500; }

/* hero: the doc's checklist under the intro copy */
.hv-hero-checks{ list-style:none; padding:0; margin:18px 0 22px; display:grid; grid-template-columns:1fr 1fr; gap:9px 20px; }
.hv-hero-checks li{ display:flex; gap:10px; align-items:flex-start; color:#1f2937; font-weight:600; font-size:14.5px; line-height:1.45; }
.hv-hero-checks li i{
    flex:0 0 20px; height:20px; border-radius:50%; margin-top:1px;
    display:inline-flex; align-items:center; justify-content:center;
    background:#fdecec; color:#b91c1c; font-size:10px;
}
@media (max-width:768px){ .hv-hero-checks{ grid-template-columns:1fr; text-align:left; } }

/* numbered steps */
.hv-steps{ list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; counter-reset:hv; }
.hv-steps li{
    position:relative; counter-increment:hv;
    background:#fff; border:1px solid #e9ecf1; border-radius:14px; padding:54px 24px 24px;
    box-shadow:0 10px 26px rgba(17,24,39,.06);
}
.hv-steps li::before{
    content:counter(hv,decimal-leading-zero);
    position:absolute; top:18px; left:24px;
    display:inline-flex; align-items:center; justify-content:center;
    width:30px; height:30px; border-radius:50%;
    background:#dc2626; color:#fff; font-size:12px; font-weight:700;
}
.hv-steps li strong{ display:block; color:#111827; font-size:17px; margin-bottom:8px; line-height:1.35; }
.hv-steps li span{ color:#4b5563; font-size:15px; line-height:1.7; }

/* hero right column: doc checklist card instead of a photo */
.hero-image-wrap.hv-hero-side{ height:auto; padding:0 20px 20px 0; }
.hv-hero-stack{ position:relative; width:100%; }
.hv-hero-side:hover .img-bg{ transform:none; }
.hv-hero-card{
    position:relative; z-index:2;
    background:#fff; border-radius:20px; padding:30px 30px 26px;
    box-shadow:0 24px 50px rgba(17,24,39,.14);
    border-top:5px solid #dc2626;
}
.hv-hero-card ul{ list-style:none; margin:0; padding:0; display:grid; gap:11px; }
.hv-hero-card li{ display:flex; gap:12px; align-items:flex-start; color:#1f2937; font-weight:600; font-size:15.5px; line-height:1.5; }
.hv-hero-card li i{
    flex:0 0 24px; height:24px; border-radius:50%; margin-top:1px;
    display:inline-flex; align-items:center; justify-content:center;
    background:#fdecec; color:#b91c1c; font-size:11px;
}
.hv-hero-card .hv-hero-call{ margin:20px 0 0; padding-top:18px; border-top:1px solid #eef0f3; color:#4b5563; font-size:15px; line-height:1.6; }
.hv-hero-card .hv-hero-call a{ color:#dc2626; font-weight:700; white-space:nowrap; text-decoration:none; }

.hv-list{ list-style:none; padding:0; margin:0 0 6px; display:flex; flex-wrap:wrap; gap:10px; }
.hv-list li{ background:#fdecec; color:#991b1b; border-radius:999px; padding:7px 15px; font-size:14px; font-weight:600; }

@media (max-width:991px){
    .hv-grid, .hv-steps{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:768px){
    .hv-section{ padding:68px 0; }
    .hv-head h2{ font-size:28px; }
    .hv-grid, .hv-grid--2, .hv-steps{ grid-template-columns:1fr; }
}
