/* Car Buyer Scotland — main (deferred) CSS. Below-the-fold components.
   Loaded via rel=preload swap from document.php; critical.css carries the tokens. */

/* ── Desktop services dropdown ───────────────────────── */
.cbs-nav-item{position:relative}
.cbs-mega{position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%) translateY(-6px);width:min(820px,calc(100vw - 2rem));background:#fff;border:1px solid var(--cbs-line);border-radius:var(--cbs-rad-lg);padding:1.4rem;box-shadow:var(--cbs-shadow-lg);opacity:0;pointer-events:none;transition:opacity .15s var(--cbs-ease),transform .2s var(--cbs-ease);z-index:95}
.cbs-mega:not([hidden]){opacity:1;transform:translateX(-50%) translateY(0);pointer-events:auto}
.cbs-mega-grid{display:grid;grid-template-columns:1fr 1fr 1.05fr;gap:1.4rem}
.cbs-mega-head{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--cbs-mute);margin:0 0 .55rem}
.cbs-mega-col ul{list-style:none;margin:0;padding:0}
.cbs-mega-col a{display:block;padding:.5rem .6rem;border-radius:var(--cbs-rad-sm);color:var(--cbs-ink);font-weight:700;font-size:.94rem;line-height:1.3}
.cbs-mega-col a span{display:block;color:var(--cbs-mute);font-weight:400;font-size:.8rem;margin-top:1px}
.cbs-mega-col a:hover{background:var(--cbs-green-soft);color:var(--cbs-green)}
.cbs-mega-feature{background:var(--cbs-green-grad);border-radius:var(--cbs-rad);padding:1.2rem;color:#D9E8DF;margin:-.2rem}
.cbs-mega-feature strong{display:block;color:#fff;font-size:1.02rem;margin-bottom:.3rem}
.cbs-mega-feature p{font-size:.85rem;margin:0 0 .8rem;color:#B8CFC2}
.cbs-mega-feature .cbs-btn{min-height:44px;padding:.6rem 1.1rem}

/* ── Mobile nav drawer ───────────────────────────────── */
.cbs-mnav-backdrop{position:fixed;inset:0;background:rgba(8,42,32,.55);backdrop-filter:blur(3px);z-index:101;opacity:0;pointer-events:none;transition:opacity .25s var(--cbs-ease)}
.cbs-mnav-backdrop.is-open{opacity:1;pointer-events:auto}
.cbs-mnav{position:fixed;top:0;right:0;bottom:0;width:min(350px,92vw);background:#fff;z-index:102;box-shadow:var(--cbs-shadow-lg);transform:translateX(100%);visibility:hidden;transition:transform .28s var(--cbs-ease),visibility 0s linear .28s;overflow-y:auto;padding:1.2rem 1.2rem 2rem;overscroll-behavior:contain}
.cbs-mnav.is-open{transform:translateX(0);visibility:visible;transition:transform .28s var(--cbs-ease)}
.cbs-mnav-top{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:.9rem}
.cbs-mnav-x{width:42px;height:42px;border:1px solid var(--cbs-line);border-radius:var(--cbs-rad-sm);background:#fff;font-size:1.45rem;line-height:1;color:var(--cbs-ink);cursor:pointer}
.cbs-mnav .cbs-btn{margin:.3rem 0 .9rem}
.cbs-mnav-h{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--cbs-mute);margin:1.2rem 0 .35rem;padding-bottom:.4rem;border-bottom:1px solid var(--cbs-line-soft)}
.cbs-mnav-list{list-style:none;margin:0;padding:0}
.cbs-mnav-list a{display:block;padding:.68rem .6rem;border-radius:var(--cbs-rad-sm);color:var(--cbs-ink);font-weight:600;min-height:44px}
.cbs-mnav-list a:hover{background:var(--cbs-green-soft);color:var(--cbs-green)}

/* ── Process strip (numbered steps) ──────────────────── */
.cbs-steps{list-style:none;margin:1.4rem 0 0;padding:0;display:grid;gap:1rem;counter-reset:cbs-step}
.cbs-steps-3{grid-template-columns:repeat(3,1fr)}
.cbs-steps-4{grid-template-columns:repeat(4,1fr)}
.cbs-steps li{background:#fff;border:1px solid var(--cbs-line);border-radius:var(--cbs-rad);padding:1.35rem 1.25rem;counter-increment:cbs-step;min-width:0}
.cbs-steps li::before{content:counter(cbs-step);display:inline-flex;width:40px;height:40px;align-items:center;justify-content:center;border-radius:12px;background:var(--cbs-green-grad);color:var(--cbs-gold);font-weight:850;font-size:1.1rem}
.cbs-steps li strong{display:block;font-size:1.06rem;color:var(--cbs-ink);margin:.7rem 0 .3rem}
.cbs-steps li p{margin:0;font-size:.94rem;color:var(--cbs-mute)}

/* ── Service tiles ───────────────────────────────────── */
.cbs-tiles{list-style:none;margin:1.5rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(248px,1fr));gap:1rem}
.cbs-tile{display:block;position:relative;background:#fff;border:1px solid var(--cbs-line);border-radius:var(--cbs-rad);padding:1.45rem;color:var(--cbs-ink);transition:transform .2s var(--cbs-ease),box-shadow .2s var(--cbs-ease),border-color .2s var(--cbs-ease);min-width:0}
.cbs-tile:hover{transform:translateY(-3px);box-shadow:var(--cbs-shadow);border-color:var(--cbs-green-mid)}
.cbs-tile-ic{display:inline-flex;width:46px;height:46px;align-items:center;justify-content:center;border-radius:13px;background:var(--cbs-green-soft);color:var(--cbs-green);margin-bottom:.95rem;transition:background .2s var(--cbs-ease),color .2s var(--cbs-ease)}
.cbs-tile:hover .cbs-tile-ic{background:var(--cbs-green);color:var(--cbs-gold)}
.cbs-tile-name{display:block;font-weight:800;font-size:1.06rem;margin-bottom:.3rem;letter-spacing:-.01em}
.cbs-tile-desc{display:block;font-size:.9rem;color:var(--cbs-mute);line-height:1.5}
.cbs-tile-arrow{position:absolute;top:1.45rem;right:1.35rem;color:var(--cbs-mute-2);transition:color .2s var(--cbs-ease),transform .2s var(--cbs-ease)}
.cbs-tile:hover .cbs-tile-arrow{color:var(--cbs-gold-d);transform:translateX(4px)}

/* ── Benefit cards ───────────────────────────────────── */
.cbs-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem;margin-top:1.4rem}
.cbs-card{background:var(--cbs-paper-2);border:1px solid var(--cbs-line);border-radius:var(--cbs-rad);padding:1.35rem;min-width:0}
.cbs-card h3{font-size:1.04rem;margin-bottom:.4rem}
.cbs-card p{margin:0;font-size:.93rem;color:var(--cbs-mute)}

/* ── Split (two feature cards) ───────────────────────── */
.cbs-split{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
.cbs-split-card{background:#fff;border:1px solid var(--cbs-line);border-radius:var(--cbs-rad-lg);padding:1.7rem;min-width:0}
.cbs-split-card h3{font-size:1.22rem}
.cbs-split-card p{color:var(--cbs-mute)}

/* ── Stats ───────────────────────────────────────────── */
.cbs-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin:1.4rem 0}
.cbs-stat{background:#fff;border:1px solid var(--cbs-line);border-radius:var(--cbs-rad);padding:1.15rem;text-align:center;min-width:0}
.cbs-stat b{display:block;font-size:1.85rem;font-weight:850;color:var(--cbs-green);letter-spacing:-.02em}
.cbs-stat span{font-size:.85rem;color:var(--cbs-mute)}

/* ── Panels / callouts / checklists ──────────────────── */
.cbs-panel{background:var(--cbs-paper-2);border:1px solid var(--cbs-line);border-radius:var(--cbs-rad);padding:1.35rem 1.5rem;margin:1.4rem 0}
.cbs-panel-gold{background:var(--cbs-gold-soft);border-color:#EBD391}
.cbs-panel-green{background:var(--cbs-green-soft);border-color:#C4DDD0}
.cbs-checklist{list-style:none;margin:1rem 0;padding:0;display:grid;gap:.6rem}
.cbs-checklist li{position:relative;padding-left:1.9rem;line-height:1.5}
.cbs-checklist li::before{content:"";position:absolute;left:0;top:.18rem;width:20px;height:20px;border-radius:50%;background-color:var(--cbs-green-soft);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230D3B2E' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>");background-size:12px;background-repeat:no-repeat;background-position:center}

/* ── FAQ accordion (details/summary — works without JS) ─ */
.cbs-faq-list{margin-top:1.3rem;border-top:1px solid var(--cbs-line)}
.cbs-faq-item{border-bottom:1px solid var(--cbs-line)}
.cbs-faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.05rem .2rem;font-weight:700;font-size:1.04rem;color:var(--cbs-ink);cursor:pointer;list-style:none}
.cbs-faq-item summary::-webkit-details-marker{display:none}
.cbs-faq-chev{flex:0 0 auto;width:26px;height:26px;border-radius:50%;background:var(--cbs-green-soft);color:var(--cbs-green);display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:1.2rem;transition:transform .2s var(--cbs-ease)}
.cbs-faq-item[open] .cbs-faq-chev{transform:rotate(45deg)}
.cbs-faq-a{padding:0 .2rem 1.05rem;color:var(--cbs-ink-soft)}
.cbs-faq-a p{margin:0 0 .6rem}
/* Generic JS accordion (button + panel) for non-FAQ uses. */
.cbs-acc-btn{display:flex;width:100%;align-items:center;justify-content:space-between;gap:1rem;padding:1rem .2rem;font:inherit;font-weight:700;color:var(--cbs-ink);background:none;border:0;border-bottom:1px solid var(--cbs-line);cursor:pointer;text-align:left}
.cbs-acc-btn[aria-expanded="true"] .cbs-faq-chev{transform:rotate(45deg)}
.cbs-acc-panel{padding:.8rem .2rem 1.1rem;border-bottom:1px solid var(--cbs-line)}

/* ── Tables (values / coverage) ──────────────────────── */
.cbs-table-wrap{overflow-x:auto;margin:1.4rem 0;border:1px solid var(--cbs-line);border-radius:var(--cbs-rad);-webkit-overflow-scrolling:touch}
.cbs-table{width:100%;border-collapse:collapse;font-size:.95rem;min-width:460px}
.cbs-table th,.cbs-table td{padding:.85rem 1rem;text-align:left;border-bottom:1px solid var(--cbs-line-soft)}
.cbs-table thead th{background:var(--cbs-paper-2);font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--cbs-mute);font-weight:800}
.cbs-table tbody tr:last-child td{border-bottom:0}
.cbs-table tbody tr:hover{background:var(--cbs-paper-2)}
.cbs-table td strong{color:var(--cbs-ink)}
.cbs-value{font-weight:800;color:var(--cbs-green-mid);font-variant-numeric:tabular-nums}

/* ── Two-column layout (content + sticky quote aside) ── */
.cbs-cols{display:grid;grid-template-columns:1fr 360px;gap:2.5rem;align-items:start}
.cbs-cols-main{min-width:0}
.cbs-aside{position:sticky;top:calc(var(--cbs-header-h) + 14px);min-width:0}
.cbs-aside .cbs-quote-card{box-shadow:var(--cbs-shadow)}

/* ── Prose (guides / legal / geo body copy) ──────────── */
.cbs-prose{max-width:72ch}
.cbs-prose h2{margin-top:2rem}
.cbs-prose h3{margin-top:1.5rem}
.cbs-prose ul,.cbs-prose ol{margin:0 0 1.2rem;padding-left:1.3rem}
.cbs-prose li{margin-bottom:.45rem}
.cbs-prose blockquote{margin:1.4rem 0;padding:1rem 1.3rem;background:var(--cbs-green-soft);border-left:4px solid var(--cbs-green);border-radius:0 var(--cbs-rad-sm) var(--cbs-rad-sm) 0;color:var(--cbs-ink)}
.cbs-prose img{border-radius:var(--cbs-rad)}
.cbs-guide-meta{display:flex;flex-wrap:wrap;gap:.5rem 1.2rem;font-size:13px;color:var(--cbs-mute);margin:0 0 1.4rem}

/* ── Geo blocks (region hubs + city leaves) ──────────── */
.cbs-town-grid{list-style:none;margin:1.3rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.55rem}
.cbs-town-grid li a{display:inline-flex;align-items:center;min-height:40px;padding:.5rem 1rem;background:#fff;border:1px solid var(--cbs-line);border-radius:999px;font-weight:600;font-size:.92rem;color:var(--cbs-ink)}
.cbs-town-grid li a:hover{border-color:var(--cbs-green-mid);color:var(--cbs-green);background:var(--cbs-green-soft)}
.cbs-town-grid li span{display:inline-flex;align-items:center;min-height:40px;padding:.5rem 1rem;border:1px dashed var(--cbs-line);border-radius:999px;font-size:.92rem;color:var(--cbs-mute)}
.cbs-town-all{background:var(--cbs-green)!important;color:#fff!important;border-color:var(--cbs-green)!important}
.cbs-region-group{margin-bottom:1.8rem}
.cbs-region-group h3{font-size:1.05rem;padding-bottom:.5rem;border-bottom:2px solid var(--cbs-green-soft);margin-bottom:.8rem}
.cbs-region-links{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.3rem}
.cbs-region-links a{display:block;padding:.5rem .6rem;border-radius:var(--cbs-rad-sm);color:var(--cbs-ink);font-size:.93rem}
.cbs-region-links a:hover{background:var(--cbs-green-soft);color:var(--cbs-green)}
.cbs-region-links .cbs-town-plain{display:block;padding:.5rem .6rem;color:var(--cbs-mute);font-size:.93rem}
.cbs-local-facts{background:var(--cbs-paper-2);border:1px solid var(--cbs-line);border-radius:var(--cbs-rad);padding:1.3rem 1.4rem;margin:1.4rem 0}
.cbs-local-facts dl{display:grid;grid-template-columns:auto 1fr;gap:.4rem 1.2rem;margin:0}
.cbs-local-facts dt{font-weight:750;color:var(--cbs-ink);font-size:.92rem}
.cbs-local-facts dd{margin:0;font-size:.92rem;color:var(--cbs-mute)}

/* ── Interlink block (footer of every money page) ────── */
.cbs-interlink{background:var(--cbs-paper-2);border-top:1px solid var(--cbs-line);border-bottom:1px solid var(--cbs-line)}
.cbs-interlink-in{max-width:var(--cbs-maxw);margin:0 auto;padding:2.4rem 1.25rem}
.cbs-interlink-h{font-size:1.28rem}
.cbs-interlink-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;margin-top:1.1rem}
.cbs-interlink-head{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--cbs-mute);margin:0 0 .55rem}
.cbs-interlink-col ul{list-style:none;margin:0;padding:0}
.cbs-interlink-col a{display:block;padding:.38rem 0;color:var(--cbs-green-mid);font-weight:600;font-size:.95rem}
.cbs-interlink-col a span{display:block;color:var(--cbs-mute);font-weight:400;font-size:.8rem}
.cbs-interlink-col a:hover{color:var(--cbs-ink)}

/* ── CTA band ────────────────────────────────────────── */
.cbs-cta{background:var(--cbs-green-grad);color:#fff;margin-top:1rem}
.cbs-cta-in{max-width:var(--cbs-maxw);margin:0 auto;padding:3rem 1.25rem;text-align:center}
.cbs-cta h2{color:#fff}
.cbs-cta p{color:#B8CFC2;margin-bottom:1.4rem}

/* ── Reviews (+ honest empty state until real ones exist) ── */
.cbs-reviews{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;margin-top:1.4rem}
.cbs-review{background:#fff;border:1px solid var(--cbs-line);border-radius:var(--cbs-rad);padding:1.35rem;min-width:0}
.cbs-review-stars{color:var(--cbs-gold-d);letter-spacing:2px;font-size:1rem}
.cbs-review p{font-style:italic;color:var(--cbs-ink-soft);margin:.6rem 0}
.cbs-review cite{font-style:normal;font-weight:700;color:var(--cbs-ink);font-size:.9rem}
.cbs-review-meta{display:block;font-size:.8rem;color:var(--cbs-mute);margin-top:.15rem}
.cbs-reviews-empty{background:var(--cbs-paper-2);border:1px dashed var(--cbs-line);border-radius:var(--cbs-rad-lg);padding:2.2rem 1.6rem;text-align:center;margin-top:1.4rem}
.cbs-reviews-empty h3{margin-bottom:.4rem}
.cbs-reviews-empty p{max-width:52ch;margin:0 auto 1.1rem;color:var(--cbs-mute)}

/* ── Full-page forms (contact / quote pages) ─────────── */
.cbs-form{max-width:560px}
.cbs-form-wide{max-width:none}
.cbs-form .cbs-btn{margin-top:.4rem}
.cbs-form-note{font-size:.88rem;color:var(--cbs-mute);margin-top:.9rem}
textarea.cbs-input{min-height:120px;resize:vertical;line-height:1.5}
select.cbs-input{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235A6E63' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");background-repeat:no-repeat;background-position:right .8rem center;background-size:16px;padding-right:2.4rem}
.cbs-success{background:var(--cbs-green-soft);border:1px solid #C4DDD0;border-radius:var(--cbs-rad-lg);padding:2rem 1.6rem;text-align:center}
.cbs-success h2{color:var(--cbs-green)}

/* ── Footer mega ─────────────────────────────────────── */
.cbs-footer{background:var(--cbs-green-d);color:#A9C3B5;margin-top:3rem}
.cbs-footer a{color:#A9C3B5}
.cbs-footer a:hover{color:#fff}
.cbs-footer-cta{background:linear-gradient(150deg,#11503D,#082A20);border-bottom:1px solid rgba(255,255,255,.08)}
.cbs-footer-cta-in{max-width:var(--cbs-maxw);margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.2rem;padding:2.2rem 1.25rem}
.cbs-footer-cta h2{color:#fff;margin:0 0 .3rem}
.cbs-footer-cta p{margin:0;color:#B8CFC2}
.cbs-footer-cols{max-width:var(--cbs-maxw);margin:0 auto;display:grid;grid-template-columns:1.55fr 1fr 1fr 1fr;gap:2rem;padding:2.6rem 1.25rem}
.cbs-footer-brand .cbs-logo{margin-bottom:.8rem}
.cbs-footer-brand p{font-size:.9rem;line-height:1.6;color:#8FAD9E}
.cbs-footer-col h3{color:#fff;font-size:.95rem;margin-bottom:.8rem}
.cbs-footer-col ul{list-style:none;margin:0;padding:0}
.cbs-footer-col li{margin-bottom:.5rem}
.cbs-footer-col a{font-size:.9rem}
.cbs-footer-legal{border-top:1px solid rgba(255,255,255,.08)}
.cbs-footer-legal-in{max-width:var(--cbs-maxw);margin:0 auto;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.8rem;padding:1.2rem 1.25rem;font-size:.82rem;color:#7E9A8C}
.cbs-footer-legal ul{list-style:none;display:flex;flex-wrap:wrap;gap:1rem;margin:0;padding:0}

/* ── Cookie banner ───────────────────────────────────── */
.cbs-cookie{position:fixed;left:18px;right:18px;bottom:18px;z-index:97;max-width:520px;margin:0 auto;background:#fff;border:1px solid var(--cbs-line);border-radius:var(--cbs-rad);box-shadow:var(--cbs-shadow-lg);padding:1rem 1.1rem;display:flex;gap:1rem;align-items:center}
/* Belt-and-braces: critical.css already guards [hidden] globally, but display:flex
   above must never outlive consent (the SSG regression this guards against). */
.cbs-cookie[hidden]{display:none!important}
.cbs-cookie p{margin:0;font-size:.85rem;color:var(--cbs-mute)}
.cbs-cookie .cbs-btn{padding:.55rem 1rem;min-height:42px;flex:0 0 auto}

/* ── 404 ─────────────────────────────────────────────── */
.cbs-404{text-align:center;padding:4.5rem 1.25rem}
.cbs-404 .cbs-btn{margin-top:.6rem}

/* ── Utilities ───────────────────────────────────────── */
.cbs-center{text-align:center}
.cbs-mt-0{margin-top:0}.cbs-mb-0{margin-bottom:0}
.cbs-visually-hidden{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ── Responsive ──────────────────────────────────────── */
@media(max-width:980px){
  .cbs-cols{grid-template-columns:1fr}
  .cbs-aside{position:static}
  .cbs-footer-cols{grid-template-columns:1fr 1fr}
}
@media(max-width:860px){
  .cbs-steps-3,.cbs-steps-4,.cbs-split,.cbs-mega-grid{grid-template-columns:1fr}
  /* Fixed overlays must clear the sticky quote bar. */
  .cbs-cookie{bottom:calc(var(--cbs-stickybar-h) + env(safe-area-inset-bottom) + 12px)}
  .cbs-footer-cta-in{flex-direction:column;align-items:flex-start}
}
@media(max-width:560px){
  .cbs-footer-cols{grid-template-columns:1fr}
  .cbs-section{padding:2.2rem 1rem}
  .cbs-cookie{left:10px;right:10px;flex-wrap:wrap}
  .cbs-local-facts dl{grid-template-columns:1fr}
  .cbs-local-facts dt{margin-top:.4rem}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
