/* =========================================================
   HOME SCALE — v178 (2026-10-04). CSS only. Loaded LAST (after 177).
   One measurement system for the whole first screen -> footer, so the page reads as ONE block:
     header + home hero + stat strip + quick jumps + areas + deals + ranking + footer.

   THE SYSTEM
   -----------------------------------------------------------------------------------------------
   grid     : one container (--hv-max) and ONE gutter (--hv-gut) for header, hero, sections, footer
              -> logo edge = card edge = footer edge (before: header 39px, page 28px)
   spacing  : 4 / 8 / 12 / 16 / 20 / 24 / 32 / 48   (--u-gap = gap between cards, --u-sec = between sections)
   controls : 3 heights only — 36 (secondary) / 40 (nav, icon buttons, chips) / 48 (search, primary CTA)
   radius   : pill (every button, chip, tag, search) / 20 cards / 16 rows & panels / 12 tiles inside cards
   type     : 11 label (UPPERCASE, wide tracking) / 12 small / 13 control / 14 nav & body / 16 value
              18 price / 22 card title / 28 section title & stat number / 36 big area card / 44 hero
   icons    : 14 inline / 16 controls / 20 tiles
   Every size below comes from these tokens — to retune the whole page change them here only.
   ========================================================= */
:root{
  --hv-max:1500px;
  --hv-gut:28px;
  --u-gap:16px; --u-sec:48px; --u-head:20px; --u-pad:20px;
  --u-r-lg:20px; --u-r-md:16px; --u-r-sm:12px;
  --u-h-sm:36px; --u-h-md:40px; --u-h-lg:48px;
  --u-fs-label:11px; --u-fs-small:12px; --u-fs-ctl:13px; --u-fs-body:14px; --u-fs-value:16px;
  --u-fs-price:18px; --u-fs-title:22px; --u-fs-h2:24px; --u-fs-big:36px; --u-fs-hero:44px;
  --u-label-ls:.1em;
}
@media (max-width:1100px){:root{--hv-gut:20px;--u-gap:12px;--u-sec:40px;--u-head:16px;--u-pad:16px;--u-fs-big:30px;--u-fs-hero:38px;}}
@media (max-width:640px){:root{--hv-gut:16px;--u-gap:10px;--u-sec:32px;--u-head:14px;--u-pad:14px;--u-r-lg:16px;--u-r-md:14px;--u-r-sm:10px;--u-fs-h2:24px;--u-fs-big:28px;--u-fs-title:20px;--u-fs-hero:32px;}}

/* ---------- 1. HEADER: same container + gutter as the page, 64px bar, 40px controls ---------- */
.header-inner{max-width:var(--hv-max);margin-inline:auto;box-sizing:border-box;padding:12px var(--hv-gut);min-height:64px;gap:var(--u-gap);}
.brand{height:var(--u-h-md);display:flex;align-items:center;}
.brand .mark,.brand .mark img,#brandLogoImg{height:var(--u-h-md);width:auto;max-width:none;object-fit:contain;}
.main-nav{gap:4px;}
.main-nav a{height:var(--u-h-md);box-sizing:border-box;padding:0 16px;border-radius:999px;font-size:var(--u-fs-body);gap:8px;display:inline-flex;align-items:center;}
.main-nav a i,.main-nav a svg{width:14px;height:14px;font-size:14px;}
.header-actions{gap:8px;align-items:center;}
.header-actions .icon-btn{width:var(--u-h-md);height:var(--u-h-md);min-width:var(--u-h-md);border-radius:50%;font-size:16px;padding:0;}
.header-actions .icon-btn i,.header-actions .icon-btn svg{width:16px;height:16px;font-size:16px;}
@media (max-width:640px){
  .header-inner{padding:10px var(--hv-gut);min-height:60px;}
  .brand,.brand .mark,.brand .mark img,#brandLogoImg{height:32px;}
  .header-actions .icon-btn{width:var(--u-h-md);height:var(--u-h-md);}
}

/* ---------- 2. HERO: one centred axis; search = the middle two stat columns ---------- */
.home-v2 .hero{padding:var(--u-sec) var(--hv-gut) var(--u-sec);}
.home-v2 .hero h1{font-size:clamp(30px,3.4vw,var(--u-fs-hero));line-height:1.1;margin:0;}
.home-v2 .hero-heading{display:flex;flex-direction:column;align-items:center;gap:var(--u-pad);}
.home-v2 .hero-search-hint{height:var(--u-h-lg);box-sizing:border-box;padding:0 20px;border-radius:999px;font-size:var(--u-fs-body);gap:12px;
  width:calc(50% - var(--u-gap)/2);min-width:min(100%,340px);justify-content:flex-start;margin:0;}
.home-v2 .hero-search-hint i,.home-v2 .hero-search-hint svg{width:16px;height:16px;font-size:16px;}
.home-v2 .hero-search-hint kbd,.home-v2 .hero-search-hint .kbd{margin-left:auto;font-size:var(--u-fs-label);padding:3px 8px;border-radius:8px;}
@media (max-width:900px){.home-v2 .hero-search-hint{width:100%;}}

/* ---------- 3. STAT STRIP: 4 equal cards, same radius / padding as every other card ---------- */
.home-v2 .ticker{margin:var(--u-head) 0 0;gap:var(--u-gap);}
@media (min-width:641px){
  .home-v2 .ticker .t-item{min-height:88px;padding:var(--u-pad);column-gap:16px;row-gap:2px;border-radius:var(--u-r-lg);}
  .home-v2 .ticker .t-icon{width:48px;height:48px;border-radius:var(--u-r-sm);font-size:20px;}
  .home-v2 .ticker .t-icon i,.home-v2 .ticker .t-icon svg{width:20px;height:20px;font-size:20px;}
  .home-v2 .ticker .t-num{font-size:clamp(24px,2.2vw,var(--u-fs-h2));line-height:1;}
  .home-v2 .ticker .t-label{font-size:var(--u-fs-small);letter-spacing:.08em;}
}
@media (min-width:641px) and (max-width:900px){
  .home-v2 .ticker .t-item{min-height:80px;padding:var(--u-pad);}
  .home-v2 .ticker .t-icon{width:44px;height:44px;}
  .home-v2 .ticker .t-num{font-size:24px;}
}
@media (max-width:640px){
  .home-v2 .ticker .t-item{padding:12px 6px 10px;border-radius:var(--u-r-lg);}
  .home-v2 .ticker .t-icon{width:32px;height:32px;border-radius:10px;font-size:14px;}
  .home-v2 .ticker .t-num{font-size:20px;}
  .home-v2 .ticker .t-label{font-size:10px;letter-spacing:.04em;}
}

/* ---------- 4. QUICK JUMPS: label 11, chips 40 / pill ---------- */
.home-v2 .hv2-jumps{margin-top:32px;padding-top:var(--u-pad);gap:12px;}
@media (max-width:640px){.home-v2 .hv2-jumps{margin-top:var(--u-pad);}}
.home-v2 .hv2-jumps-l{font-size:var(--u-fs-label);letter-spacing:var(--u-label-ls);gap:8px;}
.home-v2 .hv2-jumps-l i,.home-v2 .hv2-jumps-l svg{width:12px;height:12px;font-size:12px;}
.home-v2 .hv2-jumps-row{gap:8px;}
.home-v2 .hv2-jump{height:var(--u-h-md);box-sizing:border-box;padding:0 8px 0 16px;border-radius:999px;font-size:var(--u-fs-ctl);gap:10px;}
.home-v2 .hv2-jump.all{padding:0 16px;}
.home-v2 .hv2-jump .ct{min-width:26px;height:24px;padding:0 8px;border-radius:999px;font-size:var(--u-fs-small);display:inline-flex;align-items:center;justify-content:center;}

/* ---------- 5. SECTIONS: one rhythm, one title style ---------- */
.home-v2 .section,.home-v2 .section.tight{padding:var(--u-sec) var(--hv-gut) 0;}
.home-v2 .hero + .section{padding-top:var(--u-sec);}
.home-v2 .section:last-of-type,.home-v2 .section.tight:last-of-type{padding-bottom:var(--u-sec);}
.home-v2 .section-head{margin-bottom:var(--u-head);gap:var(--u-gap);align-items:flex-end;}
.home-v2 .section-head .kicker{font-size:var(--u-fs-label);letter-spacing:var(--u-label-ls);height:24px;padding:0 12px;border-radius:999px;display:inline-flex;align-items:center;margin-bottom:8px;}
.home-v2 .section-head{flex-wrap:nowrap;}
.home-v2 .section-head>div{min-width:0;}
.home-v2 .section-head h2{white-space:nowrap;font-size:var(--u-fs-h2);line-height:1.1;margin:0;}
.home-v2 .link-more{height:var(--u-h-sm);box-sizing:border-box;padding:0 16px;border-radius:999px;font-size:var(--u-fs-ctl);gap:8px;display:inline-flex;align-items:center;}
.home-v2 .link-more i,.home-v2 .link-more svg{width:14px;height:14px;font-size:14px;}

/* ---------- 6. AREAS: equal-height rows, titles on the scale, labels never below 11px ---------- */
.home-v2 .ha-grid{gap:var(--u-gap);}
.home-v2 .ha-card,.home-v2 .ha-card.ha-lg{min-height:264px;border-radius:var(--u-r-lg);}
.home-v2 .ha-top{top:var(--u-pad);left:var(--u-pad);right:var(--u-pad);}
.home-v2 .ha-body{padding:0 var(--u-pad) var(--u-pad);gap:12px;}
.home-v2 .ha-body h3{font-size:clamp(22px,2vw,var(--u-fs-h2));}
.home-v2 .ha-lg .ha-body h3{font-size:clamp(28px,2.8vw,var(--u-fs-big));}
.home-v2 .ha-rank{font-size:var(--u-fs-small);height:28px;padding:0 12px;display:inline-flex;align-items:center;}
.home-v2 .ha-deal{font-size:var(--u-fs-small);height:28px;padding:0 12px;}
.home-v2 .ha-meter b{font-size:var(--u-fs-small);}
.home-v2 .ha-stats{gap:var(--u-gap);}
.home-v2 .ha-stats li{padding:10px 12px;border-radius:var(--u-r-sm);gap:4px;}
.home-v2 .ha-stats li b,.home-v2 .ha-lg .ha-stats li b{font-size:20px;}
.home-v2 .ha-stats li span{font-size:var(--u-fs-label);letter-spacing:var(--u-label-ls);}
.home-v2 .ha-price small{font-size:var(--u-fs-label);letter-spacing:var(--u-label-ls);}
.home-v2 .ha-price b{font-size:var(--u-fs-price);}
.home-v2 .ha-price em{font-size:var(--u-fs-small);}
.home-v2 .ha-go{width:var(--u-h-md);height:var(--u-h-md);font-size:16px;}
@media (max-width:1100px){.home-v2 .ha-stats{gap:8px;}.home-v2 .ha-stats li{padding:8px 10px;}.home-v2 .ha-stats li b,.home-v2 .ha-lg .ha-stats li b{font-size:18px;}}
@media (max-width:860px){
  .home-v2 .ha-card,.home-v2 .ha-card.ha-lg{min-height:232px;}
  .home-v2 .ha-card:first-child,.home-v2 .ha-card.ha-lg:first-child{min-height:256px;}
  .home-v2 .ha-body{padding:0 var(--u-pad) var(--u-pad);gap:10px;}
  .home-v2 .ha-top{top:12px;left:12px;right:12px;}
  .home-v2 .ha-body h3,.home-v2 .ha-lg .ha-body h3{font-size:var(--u-fs-title);}
  .home-v2 .ha-card:first-child .ha-body h3{font-size:var(--u-fs-big);}
  .home-v2 .ha-stats li span{font-size:10px;letter-spacing:.06em;}
  .home-v2 .ha-stats li b,.home-v2 .ha-lg .ha-stats li b{font-size:16px;}
  .home-v2 .ha-price b{font-size:var(--u-fs-value);}
  .home-v2 .ha-go{width:36px;height:36px;}
}

/* ---------- 7. HOT DEALS CARDS: card 20, tiles 12, buttons pill, 48px actions ---------- */
.home-v2 .hv2-duo{gap:var(--u-gap);}
.home-v2 .hv2-deal-grid.dk-deals{gap:var(--u-gap);}
.home-v2 .dk-d-in{border-radius:var(--u-r-lg);}
.home-v2 .dk-d-body{padding:var(--u-pad);gap:12px;}
.home-v2 .dk-d-head h4{font-size:var(--u-fs-title);}
.home-v2 .dk-d-code{font-size:var(--u-fs-small);border-radius:var(--u-r-sm);}
.home-v2 .dk-d-best{font-size:var(--u-fs-label);letter-spacing:var(--u-label-ls);}
.home-v2 .dk-d-chips span{font-size:var(--u-fs-label);padding-inline:9px;white-space:nowrap;}
.home-v2 .dk-d-chips{gap:6px;flex-wrap:wrap;}
.home-v2 .dk-d-now b{font-size:clamp(24px,2.2vw,var(--u-fs-h2));}
.home-v2 .dk-d-now span,.home-v2 .dk-d-save{font-size:var(--u-fs-small);}
.home-v2 .dk-d-was{font-size:var(--u-fs-ctl);}
.home-v2 .dk-d-loc{font-size:var(--u-fs-ctl);}
.home-v2 .dk-d-body{display:flex;flex-direction:column;}
.home-v2 .dk-d-pricebox{margin-top:auto;}
.home-v2 .dk-d-actions{gap:8px;}
.home-v2 .dk-d-cta{height:var(--u-h-lg);border-radius:999px;font-size:var(--u-fs-ctl);}
.home-v2 .dk-d-ib{width:var(--u-h-lg);height:var(--u-h-lg);border-radius:50%;font-size:var(--u-fs-value);}
.home-v2 .dk-d-ib i,.home-v2 .dk-d-ib svg{width:16px;height:16px;font-size:16px;}

/* ---------- 8. TOP SAVINGS LIST: same card radius, rows stretch to the height of the deals column ---------- */
.home-v2 .hv2-col-rank{display:flex;flex-direction:column;}
.home-v2 .ts-list{flex:1;display:flex;flex-direction:column;gap:var(--u-gap);margin:0;padding:0;list-style:none;}
.home-v2 .ts-row{flex:1;border-radius:var(--u-r-md);padding:12px var(--u-pad) 14px;column-gap:12px;}
.home-v2 .ts-rk{width:36px;height:36px;font-size:var(--u-fs-ctl);}
.home-v2 .ts-tx b{font-size:var(--u-fs-ctl);}
.home-v2 .ts-tx small{font-size:var(--u-fs-small);}
.home-v2 .ts-save{font-size:var(--u-fs-small);}
.home-v2 .ts-val b{font-size:var(--u-fs-value);}
.home-v2 .ts-val s{font-size:var(--u-fs-label);}
.home-v2 .ts-pct{font-size:var(--u-fs-small);}
@media (max-width:1200px){.home-v2 .ts-list{flex:none;}.home-v2 .ts-row{flex:none;}}

/* ---------- 9. FOOTER: same container + gutter, same control heights ---------- */
body:has(.home-v2) footer.site .bh-f-inner,footer.site .bh-f-inner{padding-inline:var(--hv-gut);}
.bh-f-logo{height:36px;width:auto;}
.bh-f-links a{height:var(--u-h-sm);padding:0 14px;font-size:var(--u-fs-ctl);display:inline-flex;align-items:center;border-radius:999px;}
.bh-f-btn{height:var(--u-h-md);font-size:var(--u-fs-ctl);}
.bh-f-bottom{font-size:var(--u-fs-small);}
.bh-f-sync,.bh-f-sync .mono{font-size:var(--u-fs-small);}
.bh-f-top{width:var(--u-h-sm);height:var(--u-h-sm);}
