/* Hammer Down cost builder: compat layer (5 Oct 2026).
   For brands whose own CSS is not the Big Red house CSS. generate.py renames the layout classes on
   cost pages to cbc-* (wrap, section, faq, cta, btn and so on) so the site's CSS can never collide
   with ours, and these rules supply the layout. Brand tokens arrive from an inline <style> in the
   page head: --head, --body, --cb-accent, --cb-accent-dark, --cb-ink, --cbc-soft. */
.cb-compat .cb-hero .cbc-wrap{position:relative;z-index:1;padding-top:26px;padding-bottom:22px}
.cb-compat .cb-hero .cbc-crumbs{color:#b9bec6;font-size:.88rem;margin:0 0 10px}
.cb-compat .cb-hero .cbc-crumbs a{color:#dfe2e6}
.cb-compat .cb-hero h1{font-family:var(--head);color:#fff;font-size:clamp(1.9rem,4.6vw,3.1rem);line-height:1.08;margin:0 0 .25em;max-width:none;letter-spacing:0;text-transform:none}
.cb-compat .cb-hero .cbc-rating-pill{margin:0}
.cb-compat .cb-wrapbuilder{background:linear-gradient(180deg,var(--cb-ink) 0 90px,var(--cbc-soft) 90px)}
.cb-compat .cbc-wrap{max-width:1180px;margin:0 auto;padding:0 20px;box-sizing:border-box}
.cb-compat .cbc-section{padding:64px 0}
.cb-compat .cbc-soft{background:var(--cbc-soft)}
.cb-compat .cbc-center{text-align:center}
.cb-compat .cbc-maxw{max-width:760px;margin-left:auto;margin-right:auto}
.cb-compat .cbc-eyebrow{display:inline-block;font:800 .76rem/1 var(--head);letter-spacing:.13em;text-transform:uppercase;color:var(--cb-accent);margin:0 0 8px}
.cb-compat .cbc-section h2,.cb-compat .cbc-cta h2{font-family:var(--head);color:var(--cb-ink);font-size:clamp(1.5rem,3.2vw,2.1rem);line-height:1.15;margin:0 0 .6em;letter-spacing:0;text-transform:none}
.cb-compat .cbc-section h3{font-family:var(--head);color:var(--cb-ink);letter-spacing:0;text-transform:none}
.cb-compat .cbc-prose{max-width:860px}
.cb-compat .cbc-prose p,.cb-compat .cbc-prose li{font-family:var(--body);font-size:1.02rem;line-height:1.65;color:#2c3640}
.cb-compat .cbc-lead{font-size:1.15rem!important;line-height:1.6!important;color:var(--cb-ink)!important}
.cb-compat .cbc-prose h2{margin-top:1.4em}
.cb-compat .cb-factor p{font-family:var(--body)}
.cb-compat .cb-table th,.cb-compat .cb-table td{font-family:var(--body)}
.cb-compat .cb-related a{text-decoration:none}

/* faq */
.cb-compat .cbc-faq{max-width:860px;margin:0 auto}
.cb-compat .cbc-faq details{background:#fff;border:2px solid #e3e6ea;border-radius:12px;margin:0 0 10px;padding:0}
.cb-compat .cbc-faq summary{cursor:pointer;list-style:none;padding:15px 44px 15px 16px;font:700 1.02rem/1.35 var(--head);color:var(--cb-ink);position:relative}
.cb-compat .cbc-faq summary::-webkit-details-marker{display:none}
.cb-compat .cbc-faq summary::after{content:"+";position:absolute;right:16px;top:50%;transform:translateY(-50%);font:600 1.4rem/1 var(--body);color:var(--cb-accent)}
.cb-compat .cbc-faq details[open] summary::after{content:"\2212"}
.cb-compat .cbc-faq details[open]{border-color:var(--cb-accent)}
.cb-compat .cbc-ans{padding:0 16px 16px;font-family:var(--body);font-size:.98rem;line-height:1.6;color:#3b444e}

/* reviews */
.cb-compat .cbc-greviews{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.cb-compat .cbc-gcard{background:#fff;border-radius:14px;padding:18px 18px 16px;box-shadow:0 4px 18px rgba(0,0,0,.07);border-top:4px solid var(--cb-accent);display:flex;flex-direction:column;gap:8px}
.cb-compat .cbc-g-top{display:flex;gap:10px;align-items:center}
.cb-compat .cbc-g-av{width:38px;height:38px;border-radius:50%;background:var(--cb-ink);color:#fff;display:flex;align-items:center;justify-content:center;font:700 1rem/1 var(--head);flex:0 0 38px}
.cb-compat .cbc-who{font:700 .98rem/1.2 var(--head);color:var(--cb-ink)}
.cb-compat .cbc-when{font-size:.8rem;color:#6b7785}
.cb-compat .cbc-stars{color:#f5a623;letter-spacing:2px;font-size:1.02rem;display:block}
.cb-compat .cbc-gcard p{margin:0;font-family:var(--body);font-size:.94rem;line-height:1.55;color:#2c3640}
.cb-compat .cbc-g-attrib{font-size:.76rem;color:#6b7785;margin-top:auto}
.cb-compat .cbc-rating-pill{display:inline-block;line-height:1.5;background:rgba(255,255,255,.96);color:var(--cb-ink);border-radius:999px;padding:7px 14px;font:500 .9rem/1.2 var(--body);text-decoration:none;box-shadow:0 2px 10px rgba(0,0,0,.18)}
.cb-compat .cbc-rating-pill .cbc-stars{display:inline;font-size:.95rem}
.cb-compat .cbc-rating-pill img{height:20px;width:auto;display:inline-block;vertical-align:middle;margin-right:4px}

/* closing band */
.cb-compat .cbc-cta{background:var(--cb-ink);color:#fff;text-align:center;padding:56px 0}
.cb-compat .cbc-cta h2{color:#fff}
.cb-compat .cbc-cta p{color:#dfe2e6;max-width:640px;margin:0 auto 18px;font-family:var(--body);font-size:1.05rem}
.cb-compat .cbc-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:8px;font:800 1rem/1 var(--head);text-decoration:none;padding:15px 26px;cursor:pointer}
.cb-compat .cbc-btn-lg{padding:17px 30px;font-size:1.05rem}
.cb-compat .cbc-btn-dark{background:var(--cb-accent);color:#fff}
.cb-compat .cbc-btn-dark:hover{background:var(--cb-accent-dark)}
.cb-compat .cbc-phone-big{display:inline-block;margin-top:14px;font:800 1.6rem/1 var(--head);color:#fff;text-decoration:none}
.cb-compat .cb-cta,.cb-compat .cb-cta:hover{text-decoration:none}
.cb-compat a.cb-cta{color:#fff}
.cb-compat a.cb-cta.ghost{color:var(--cb-ink)}

@media (max-width:520px){
  .cb-compat .cb-hero .cbc-wrap{padding-top:14px;padding-bottom:14px}
  .cb-compat .cb-hero h1{font-size:1.7rem}
  .cb-compat .cb-hero .cbc-rating-pill{font-size:.82rem;padding:6px 12px}
  .cb-compat .cb-hero .cbc-crumbs{display:none}
  .cb-compat .cb-wrapbuilder .cbc-wrap{padding:0 10px}
  .cb-compat .cbc-section{padding:44px 0}
}
