/* ==========================================================================
   VOLT — Cửa hàng xe máy điện (4 dòng xe S1 / X2 / R3 / GT) · Hà Nội
   PHONG CÁCH: "Retro Y2K / Vaporwave" — nền tím đen #0A0620, gradient
   tím #7B2CFF → cyan #00E5FF → hồng #FF3CAC, SÀN LƯỚI PHỐI CẢNH chạy vô tận
   sau hero, chữ CHROME kim loại (gradient + background-clip:text + vệt sáng
   trắng), CỬA SỔ HỆ ĐIỀU HÀNH CŨ (.win: thanh tiêu đề 3 nút, viền bevel
   outset) dùng làm thẻ, STICKER xoay ("NEW!", "0% LÃI", tia sét), nhãn pixel
   "Press Start 2P", chữ marquee, thanh loading trang trí, ngôi sao ✦ lấp lánh,
   viền phát sáng neon. Không tối giản, không nền trắng.
   Bố cục: header = THANH TASKBAR (nút Start "VOLT", nav là các ô taskbar,
   đồng hồ JS bên phải) × hero lưới phối cảnh + mặt trời sọc + tiêu đề chrome
   "CHẠY ĐIỆN. CHẠY XA." + cửa sổ ảnh xe có HÀNG 5 CHẤM CHROME chọn màu (đổi
   hue-rotate + lớp phủ màu) + bảng giá × 4 dòng xe = 4 cửa sổ thông số × MÁY
   TÍNH QUÃNG ĐƯỜNG (pin, kiểu đường, tải → km + đồng hồ gauge kim) × bảng so
   sánh kiểu bảng tính (cột đầu dính) × BẢN ĐỒ TRẠM SẠC lưới chấm + ghim phát
   sáng lọc theo quận × máy tính trả góp 0% × đánh giá dạng bong bóng chat
   trong cửa sổ messenger × footer icon pixel (clip-path).
   Font: "Orbitron" (tiêu đề + nhãn nhỏ) · "Exo 2" (thân) · "Press Start 2P" (nhãn pixel
   ASCII: đuôi .exe, đồng hồ, "NEW!", số đếm — font này không có dấu tiếng Việt).
   Ảnh: link trực tiếp (Wikimedia Commons) qua biến --img trên .ph, luôn bọc
   trong .win.
   ========================================================================== */
:root{
  --bg:#0A0620; --bg2:#14093A; --bg3:#1E0F52; --ph:#14093a;
  --purple:#7B2CFF; --cyan:#00E5FF; --pink:#FF3CAC; --yellow:#FFE156; --lime:#B6FF3C;
  --ink:#F4EEFF; --muted:#B8A9E0; --muted2:#8B7BB8;
  --grad:linear-gradient(90deg,#7B2CFF,#00E5FF,#FF3CAC);
  --grad-v:linear-gradient(180deg,#7B2CFF,#00E5FF,#FF3CAC);
  --chrome:linear-gradient(180deg,#ffffff 0%,#dfe9ff 22%,#8fa4ff 38%,#ffffff 46%,#4a2fbf 52%,#00E5FF 70%,#ffffff 86%,#FF3CAC 100%);
  --win-face:#1A0D45; --win-light:#7f5cff; --win-dark:#2b1466; --win-bar:linear-gradient(90deg,#7B2CFF,#3A1AA8 60%,#FF3CAC);
  --ff-h:'Orbitron','Audiowide','Segoe UI',Arial,sans-serif;
  --ff:'Exo 2','Segoe UI',Arial,sans-serif;
  --ff-px:'Orbitron','Segoe UI',Arial,sans-serif; --ff-bit:'Press Start 2P','Courier New',monospace;
  --glow-c:0 0 20px rgba(0,229,255,.55); --glow-p:0 0 20px rgba(255,60,172,.55); --glow-v:0 0 24px rgba(123,44,255,.6);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--ff);color:var(--ink);background:var(--bg);line-height:1.6;font-size:16px;overflow-x:hidden;
  background-image:radial-gradient(1px 1px at 12% 18%,#fff 60%,transparent 61%),radial-gradient(1px 1px at 78% 32%,#fff 60%,transparent 61%),
  radial-gradient(1.5px 1.5px at 40% 70%,rgba(0,229,255,.9) 60%,transparent 61%),radial-gradient(1px 1px at 90% 82%,#fff 60%,transparent 61%),
  radial-gradient(1px 1px at 25% 90%,rgba(255,60,172,.9) 60%,transparent 61%),radial-gradient(1px 1px at 60% 12%,#fff 60%,transparent 61%);
  background-size:900px 700px}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
h1,h2,h3,h4{font-family:var(--ff-h);line-height:1.1;font-weight:800;letter-spacing:.02em;text-transform:uppercase}
h1{font-size:clamp(38px,6vw,84px)}
h2{font-size:clamp(24px,3.4vw,44px)}
h3{font-size:18px}
p{color:var(--muted)}
b,strong{color:var(--ink)}
.container{width:min(1200px,92%);margin:0 auto}
.ph{background:var(--img,var(--ph)) center/cover no-repeat;background-color:#14093a;position:relative}
.ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(123,44,255,.12),rgba(255,60,172,.22));mix-blend-mode:screen;pointer-events:none}

/* ---- chữ chrome / gradient ---- */
.chrome{background:var(--chrome);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 2px 0 rgba(255,255,255,.35)) drop-shadow(0 6px 16px rgba(0,229,255,.35))}
.gradtext{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.px{font-family:var(--ff-bit)!important;font-size:10px;letter-spacing:0;line-height:1.8;text-transform:uppercase}
.win__bar .t.px{font-size:8px}
.sticker.px{font-size:9px}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--ff-px);font-size:10px;color:var(--cyan);text-shadow:var(--glow-c);margin-bottom:14px;text-transform:uppercase}
.eyebrow::before{content:"✦"}
.star{color:var(--yellow);text-shadow:0 0 10px var(--yellow);animation:twinkle 1.6s infinite alternate;display:inline-block}
@keyframes twinkle{from{opacity:.4;transform:scale(.8)}to{opacity:1;transform:scale(1.15)}}
.sec{padding:80px 0;position:relative}
.sec--alt{background:linear-gradient(180deg,var(--bg),#120836 50%,var(--bg))}
.sec__head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:32px;flex-wrap:wrap}
.sec__head p{max-width:560px}

/* ---- nút bevel ---- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 24px;font-family:var(--ff-h);font-weight:700;font-size:14px;letter-spacing:.06em;text-transform:uppercase;
  border:2px outset #b18cff;background:linear-gradient(180deg,#9b5cff,#5a1fd8);color:#fff;cursor:pointer;box-shadow:var(--glow-v),inset 0 1px 0 rgba(255,255,255,.4);transition:.15s;white-space:nowrap}
.btn:hover{filter:brightness(1.15);transform:translateY(-2px)}
.btn:active{border-style:inset;transform:translateY(1px)}
.btn--cyan{border-color:#a6f5ff;background:linear-gradient(180deg,#5cf0ff,#00a9c4);color:#04121a;box-shadow:var(--glow-c),inset 0 1px 0 rgba(255,255,255,.6)}
.btn--pink{border-color:#ffb1dc;background:linear-gradient(180deg,#ff7ac6,#d1157a);box-shadow:var(--glow-p),inset 0 1px 0 rgba(255,255,255,.5)}
.btn--ghost{background:transparent;border:2px solid var(--cyan);color:var(--cyan);box-shadow:var(--glow-c),inset 0 0 12px rgba(0,229,255,.15)}
.btn--sm{padding:9px 16px;font-size:12px}
.btn--block{width:100%}

/* ---- TASKBAR ---- */
.taskbar{position:sticky;top:0;z-index:50;background:linear-gradient(180deg,#3d1f8f,#1c0d4d);border-bottom:2px solid #8f6bff;box-shadow:0 2px 0 #0a0620,0 6px 24px rgba(123,44,255,.4)}
.taskbar__in{display:flex;align-items:center;gap:10px;height:58px;position:relative}
.start{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;font-family:var(--ff-h);font-weight:900;font-size:20px;letter-spacing:.08em;
  border:2px outset #c9b4ff;background:linear-gradient(180deg,#b287ff,#6a2fe8);color:#fff;text-shadow:0 0 12px rgba(255,255,255,.7);box-shadow:var(--glow-v)}
.start__bolt{display:inline-block;width:18px;height:22px;background:var(--yellow);clip-path:polygon(60% 0,20% 55%,48% 55%,35% 100%,80% 42%,52% 42%);filter:drop-shadow(0 0 6px var(--yellow))}
.nav{display:flex;align-items:center;gap:6px;margin-left:8px}
.nav a{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;font-size:13.5px;font-weight:600;border:2px outset #6f4fd6;background:linear-gradient(180deg,#4b2aa8,#2e1673);color:#e9defd;transition:.12s}
.nav a::before{content:"";width:8px;height:8px;background:var(--cyan);box-shadow:0 0 6px var(--cyan)}
.nav a:hover{filter:brightness(1.2)}
.nav a.is-active{border-style:inset;background:linear-gradient(180deg,#1c0d4d,#3a1e96);color:#fff}
.nav a.is-active::before{background:var(--pink);box-shadow:0 0 8px var(--pink)}
.tray{margin-left:auto;display:flex;align-items:center;gap:10px}
.clock{font-family:var(--ff-bit);font-size:10px;color:var(--lime);text-shadow:0 0 8px var(--lime);padding:9px 12px;border:2px inset #4b2aa8;background:#0a0620;min-width:128px;text-align:center;line-height:1.4}
.burger{display:none;width:42px;height:42px;border:2px outset #b18cff;background:linear-gradient(180deg,#9b5cff,#5a1fd8);cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.burger span{width:20px;height:2px;background:#fff;transition:.2s}
.burger.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.is-open span:nth-child(2){opacity:0}
.burger.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ---- MARQUEE ---- */
.marquee{overflow:hidden;background:var(--grad);border-top:2px solid #fff;border-bottom:2px solid #fff;padding:8px 0;color:#0A0620;font-family:var(--ff-h);font-weight:800;font-size:13px;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
.marquee--dark{background:#0a0620;color:var(--cyan);border-color:var(--purple)}
.marquee__track{display:inline-flex;gap:48px;animation:marq 22s linear infinite;padding-left:100%}
.marquee__track span::before{content:"✦ ";color:#fff}
@keyframes marq{to{transform:translateX(-100%)}}

/* ---- HERO + SÀN LƯỚI PHỐI CẢNH ---- */
.hero{position:relative;overflow:hidden;padding:60px 0 90px;min-height:640px;background:radial-gradient(ellipse at 50% 0%,#3a1a9a 0%,var(--bg) 60%)}
.sun{position:absolute;left:50%;top:-80px;width:520px;height:520px;margin-left:-260px;border-radius:50%;z-index:0;
  background:linear-gradient(180deg,var(--yellow),var(--pink) 55%,var(--purple));opacity:.6;
  -webkit-mask:repeating-linear-gradient(180deg,#000 0 18px,transparent 18px 26px),linear-gradient(180deg,#000 50%,transparent 85%);mask:repeating-linear-gradient(180deg,#000 0 18px,transparent 18px 26px),linear-gradient(180deg,#000 50%,transparent 85%);
  -webkit-mask-composite:source-in;mask-composite:intersect;filter:blur(.5px) drop-shadow(0 0 40px rgba(255,60,172,.6))}
.gridfloor{position:absolute;left:-30%;right:-30%;bottom:-8%;height:62%;pointer-events:none;z-index:1;
  background:linear-gradient(transparent 0 94%,var(--pink) 94%),linear-gradient(90deg,transparent 0 96%,var(--cyan) 96%);
  background-size:100% 46px,72px 100%;transform:perspective(520px) rotateX(64deg);transform-origin:50% 0;
  animation:floor 1.4s linear infinite;opacity:.85;
  -webkit-mask:linear-gradient(180deg,transparent,#000 22%);mask:linear-gradient(180deg,transparent,#000 22%)}
.gridfloor::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,6,32,.9),transparent 40%)}
@keyframes floor{from{background-position:0 0,0 0}to{background-position:0 46px,0 0}}
.hero__in{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.hero h1{margin:10px 0 18px}
.hero h1 .chrome{display:block}
.hero__lead{font-size:18px;max-width:520px;color:#d9cdfa}
.hero__cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.hero__stats{display:flex;gap:26px;margin-top:34px;flex-wrap:wrap}
.hero__stats div{border-left:3px solid var(--cyan);padding-left:12px;box-shadow:-6px 0 12px -6px var(--cyan)}
.hero__stats b{display:block;font-family:var(--ff-h);font-size:24px;color:#fff}
.hero__stats span{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}

/* ---- CỬA SỔ OS ---- */
.win{background:var(--win-face);border:2px outset var(--win-light);box-shadow:4px 4px 0 #0a0620,0 0 24px rgba(123,44,255,.35);position:relative}
.win__bar{display:flex;align-items:center;gap:10px;padding:6px 10px;background:var(--win-bar);border-bottom:2px solid #0a0620;font-family:var(--ff-px);font-size:9px;color:#fff;text-shadow:1px 1px 0 #000;letter-spacing:0;text-transform:uppercase;user-select:none}
.win__bar .t{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.win__dots{display:flex;gap:5px}
.win__dots i{width:13px;height:13px;border:2px outset #ddd;background:#c9c9c9;display:grid;place-items:center;font-style:normal;font-size:8px;color:#000;font-family:var(--ff-h);line-height:1}
.win__dots i:nth-child(3){background:#ff5f7a}
.win__body{padding:18px}
.win--glow{box-shadow:4px 4px 0 #0a0620,0 0 34px rgba(0,229,255,.45)}
.win--pink{box-shadow:4px 4px 0 #0a0620,0 0 34px rgba(255,60,172,.45)}
.win .ph{aspect-ratio:4/3;border:2px inset #4b2aa8}

/* ---- STICKER ---- */
.sticker{position:absolute;z-index:5;padding:8px 14px;font-family:var(--ff-px);font-size:10px;line-height:1.3;color:#0A0620;background:var(--yellow);border:3px solid #fff;
  box-shadow:0 0 0 2px #0A0620,0 0 18px var(--yellow);transform:rotate(-8deg);text-transform:uppercase;white-space:nowrap}
.sticker--pink{background:var(--pink);color:#fff;box-shadow:0 0 0 2px #0A0620,0 0 18px var(--pink);transform:rotate(6deg)}
.sticker--cyan{background:var(--cyan);box-shadow:0 0 0 2px #0A0620,0 0 18px var(--cyan);transform:rotate(-4deg)}
.sticker--burst{clip-path:polygon(50% 0,61% 12%,76% 6%,80% 22%,96% 24%,92% 40%,100% 50%,92% 60%,96% 76%,80% 78%,76% 94%,61% 88%,50% 100%,39% 88%,24% 94%,20% 78%,4% 76%,8% 60%,0 50%,8% 40%,4% 24%,20% 22%,24% 6%,39% 12%);
  border:0;box-shadow:none;width:96px;height:96px;display:grid;place-items:center;text-align:center;padding:0;font-size:9px;white-space:normal;filter:drop-shadow(0 0 12px var(--yellow))}
.bolt{display:inline-block;width:14px;height:18px;background:var(--yellow);clip-path:polygon(60% 0,20% 55%,48% 55%,35% 100%,80% 42%,52% 42%);vertical-align:middle;filter:drop-shadow(0 0 5px var(--yellow))}

/* ---- HERO: cửa sổ ảnh + chọn màu ---- */
.hero__win{position:relative}
.hero__win .win{transform:rotate(1.5deg)}
.hero__win .sticker{top:-16px;right:-14px}
.hero__win .sticker--pink{top:auto;right:auto;bottom:-16px;left:-18px}
.hero__win .sticker--burst{top:auto;right:auto;left:-30px;top:-30px}
.pick{display:flex;align-items:center;gap:12px;margin-top:14px;flex-wrap:wrap}
.pick__lbl{font-family:var(--ff-px);font-size:9px;color:var(--muted)}
.swatches{display:flex;gap:10px}
.swatch{width:30px;height:30px;border-radius:50%;border:2px solid #fff;cursor:pointer;position:relative;padding:0;
  background:radial-gradient(circle at 35% 30%,#fff 0 12%,var(--c) 30%,#000 130%);box-shadow:0 0 12px var(--c),inset -3px -3px 6px rgba(0,0,0,.5);transition:.15s}
.swatch:hover{transform:scale(1.15)}
.swatch.is-on{outline:3px solid var(--cyan);outline-offset:3px}
.pick__name{font-family:var(--ff-h);font-size:13px;font-weight:700;color:var(--cyan);text-shadow:var(--glow-c);margin-left:auto}
.tint{filter:hue-rotate(var(--hue,0deg)) saturate(1.1);transition:filter .35s}
.tint::after{background:var(--tintc,transparent);mix-blend-mode:color;opacity:.7;transition:.35s}
.price-plate{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;padding:12px 14px;border:2px inset #4b2aa8;background:#0a0620}
.price-plate small{display:block;font-family:var(--ff-px);font-size:8px;color:var(--muted)}
.price-plate b{font-family:var(--ff-h);font-size:24px;color:var(--yellow);text-shadow:0 0 12px var(--yellow)}

/* ---- LOADING BAR trang trí ---- */
.loadbar{height:16px;border:2px inset #4b2aa8;background:#0a0620;padding:2px;display:flex;gap:2px;overflow:hidden}
.loadbar i{flex:0 0 14px;background:var(--cyan);box-shadow:0 0 6px var(--cyan);animation:load 2.4s steps(1) infinite}
.loadbar i:nth-child(n+10){animation-delay:.3s}
.loadbar i:nth-child(n+20){animation-delay:.6s}
.loadbar i:nth-child(n+30){animation-delay:.9s}
.loadbar i:nth-child(n+40){animation-delay:1.2s}
.loadbar i:nth-child(n+50){animation-delay:1.5s}
@keyframes load{0%{opacity:0}30%{opacity:1}90%{opacity:1}100%{opacity:0}}
.loadwrap{display:flex;align-items:center;gap:14px;margin:26px 0 0}
.loadwrap .loadbar{flex:1}
.loadwrap .px{color:var(--lime);white-space:nowrap}

/* ---- 4 DÒNG XE ---- */
.models{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.model .win__body{padding:14px}
.model .ph{aspect-ratio:4/3;margin-bottom:12px}
.model h3{font-size:22px;margin-bottom:4px}
.model .tag{font-family:var(--ff-px);font-size:8px;color:var(--pink);margin-bottom:10px;display:block}
.specs{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px;margin:10px 0 12px}
.specs div{border:2px inset #3a1e96;background:#0a0620;padding:6px 8px}
.specs small{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted2)}
.specs b{font-family:var(--ff-h);font-size:14px;color:var(--cyan)}
.model .price{font-family:var(--ff-h);font-size:20px;color:var(--yellow);text-shadow:0 0 10px var(--yellow);margin-bottom:12px}
.model .price s{font-size:12px;color:var(--muted2);text-shadow:none;margin-left:8px}
.model .sticker{top:-12px;left:-10px}
.model__cta{display:flex;gap:8px}
.model__cta .btn{flex:1;padding:10px 8px;font-size:11px}
.chk{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer;margin-top:10px;color:var(--muted)}
.chk input{width:16px;height:16px;accent-color:var(--pink)}

/* ---- MÁY TÍNH QUÃNG ĐƯỜNG ---- */
.calc{display:grid;grid-template-columns:1fr 1fr;gap:0}
.calc__form{padding:22px;border-right:2px solid #0a0620}
.calc__out{padding:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 60%,#2b1466,#14093a 70%)}
.field{margin-bottom:16px}
.field label{display:block;font-family:var(--ff-px);font-size:8.5px;color:var(--cyan);margin-bottom:8px;text-transform:uppercase;line-height:1.6}
.field input[type=text],.field input[type=email],.field input[type=tel],.field input[type=number],.field input[type=date],.field select,.field textarea{width:100%;padding:11px 12px;font:inherit;font-size:15px;color:#fff;background:#0a0620;border:2px inset #4b2aa8;outline:none;color-scheme:dark}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--cyan);box-shadow:var(--glow-c)}
.field select option{background:#14093a}
.field textarea{min-height:100px;resize:vertical}
.field input[type=range]{width:100%;accent-color:var(--pink);height:6px}
.field .val{font-family:var(--ff-h);color:var(--yellow);float:right;font-size:12px}
.segs{display:flex;gap:6px;flex-wrap:wrap}
.segs label{flex:1;padding:9px 6px;text-align:center;font-family:var(--ff-h);font-size:12px;border:2px outset #6f4fd6;background:linear-gradient(180deg,#4b2aa8,#2e1673);cursor:pointer;color:#e9defd;margin:0;text-transform:none;font-weight:700;line-height:1.3}
.segs input{display:none}
.segs input:checked+label{border-style:inset;background:var(--pink);color:#fff;box-shadow:var(--glow-p)}
.gauge{width:240px;height:130px;position:relative;overflow:hidden}
.gauge::before{content:"";position:absolute;inset:0 0 -130px;border-radius:50%;background:conic-gradient(from 270deg,var(--pink) 0deg,var(--purple) 60deg,var(--cyan) 130deg,var(--lime) 180deg,transparent 180deg);
  -webkit-mask:radial-gradient(circle,transparent 0 58%,#000 59%);mask:radial-gradient(circle,transparent 0 58%,#000 59%);filter:drop-shadow(0 0 10px rgba(0,229,255,.5))}
.gauge__needle{position:absolute;left:50%;bottom:0;width:4px;height:112px;margin-left:-2px;background:#fff;transform-origin:50% 100%;transform:rotate(calc(var(--deg,-90) * 1deg));transition:transform .8s cubic-bezier(.3,1.5,.5,1);box-shadow:0 0 8px #fff}
.gauge__needle::after{content:"";position:absolute;left:50%;bottom:-8px;width:20px;height:20px;margin-left:-10px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#888)}
.gauge__val{font-family:var(--ff-h);font-size:48px;font-weight:900;color:#fff;text-shadow:0 0 18px var(--cyan);margin-top:6px;line-height:1}
.gauge__val small{font-size:16px;color:var(--cyan)}
.gauge__note{font-family:var(--ff-px);font-size:8px;color:var(--muted);margin-top:8px;text-align:center;line-height:1.8}
.ticks{display:flex;justify-content:space-between;width:240px;font-family:var(--ff-bit);font-size:8px;color:var(--muted2);margin-top:4px}

/* ---- BẢNG TÍNH SO SÁNH ---- */
.sheet{overflow-x:auto;border:2px inset #4b2aa8;background:#0a0620}
.sheet table{border-collapse:separate;border-spacing:0;min-width:640px;width:100%;font-size:14px;font-variant-numeric:tabular-nums}
.sheet th,.sheet td{border:1px solid #3a1e96;padding:10px 14px;text-align:left;white-space:nowrap;background:#0a0620}
.sheet thead th{background:linear-gradient(180deg,#4b2aa8,#2e1673);font-family:var(--ff-h);font-size:12px;letter-spacing:.06em;color:#fff;position:sticky;top:0}
.sheet tbody th{background:#1a0d45;font-weight:600;color:var(--muted);position:sticky;left:0;z-index:2;box-shadow:2px 0 0 var(--cyan)}
.sheet thead th:first-child{position:sticky;left:0;z-index:3;background:#0a0620;color:var(--muted2);font-family:var(--ff-px);font-size:8px}
.sheet tbody tr:nth-child(even) td{background:#120836}
.sheet td.best{color:var(--lime);font-weight:700;text-shadow:0 0 8px var(--lime)}
.sheet td.diff{background:rgba(255,60,172,.18)!important;box-shadow:inset 0 0 0 1px var(--pink)}
.sheet .rowidx{color:var(--muted2);font-family:var(--ff-px);font-size:8px}
.sheet td .ph{width:140px;aspect-ratio:4/3;border:2px inset #4b2aa8}
.sheet .colhead{display:flex;align-items:center;gap:8px}
.sheet .colhead .btn{padding:4px 8px;font-size:9px}

/* ---- BẢN ĐỒ TRẠM SẠC ---- */
.mapwrap{display:grid;grid-template-columns:1.4fr .8fr;gap:24px}
.map{position:relative;aspect-ratio:16/10;background:#0a0620;border:2px inset #4b2aa8;overflow:hidden;
  background-image:radial-gradient(circle,rgba(0,229,255,.35) 1.2px,transparent 1.6px),linear-gradient(rgba(123,44,255,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(123,44,255,.18) 1px,transparent 1px);
  background-size:22px 22px,110px 110px,110px 110px}
.map::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 50%,transparent 40%,rgba(10,6,32,.85))}
.map__river{position:absolute;left:58%;top:-10%;width:90px;height:130%;background:linear-gradient(90deg,transparent,rgba(0,229,255,.18),transparent);transform:rotate(14deg)}
.map__lbl{position:absolute;font-family:var(--ff-px);font-size:8px;color:var(--muted2);letter-spacing:0;pointer-events:none;text-transform:uppercase}
.map__me{position:absolute;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:var(--lime);box-shadow:0 0 12px var(--lime),0 0 0 6px rgba(182,255,60,.2);z-index:3}
.map__me::after{content:"BẠN";position:absolute;left:18px;top:-2px;font-family:var(--ff-px);font-size:8px;color:var(--lime)}
.pin{position:absolute;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,var(--pink) 40%,#a3125f);box-shadow:0 0 14px var(--pink),0 0 0 3px rgba(255,60,172,.25);cursor:pointer;transition:.25s;z-index:2}
.pin::after{content:"";position:absolute;inset:-8px;border-radius:50%;border:2px solid var(--pink);animation:ping 1.8s ease-out infinite;opacity:0}
.pin--fast{background:radial-gradient(circle at 35% 30%,#fff,var(--cyan) 40%,#0a7f8f);box-shadow:0 0 14px var(--cyan),0 0 0 3px rgba(0,229,255,.25)}
.pin--fast::after{border-color:var(--cyan)}
.pin.is-dim{opacity:.15;transform:scale(.7);filter:grayscale(1)}
.pin.is-dim::after{animation:none}
.pin .tip{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);background:#0a0620;border:2px outset #7f5cff;padding:6px 10px;font-size:12px;white-space:nowrap;opacity:0;pointer-events:none;transition:.2s;color:#fff;z-index:5}
.pin:hover .tip{opacity:1;bottom:30px}
@keyframes ping{0%{transform:scale(.6);opacity:.9}100%{transform:scale(1.8);opacity:0}}
.map__legend{display:flex;gap:16px;margin-top:10px;font-size:12px;color:var(--muted);flex-wrap:wrap}
.map__legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:middle}
.stations{display:flex;flex-direction:column;gap:10px;max-height:420px;overflow:auto;padding-right:4px}
.station{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:10px 12px;border:2px outset #3a1e96;background:#0a0620}
.station .ico{width:36px;height:36px;display:grid;place-items:center;background:var(--bg3);border:2px inset #4b2aa8;font-size:16px}
.station b{display:block;font-size:14px}
.station span{font-size:12px;color:var(--muted)}
.station .dist{font-family:var(--ff-px);font-size:8px;color:var(--lime);text-align:right;line-height:1.6}
.station.is-hide{display:none}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.chip{padding:7px 12px;font-family:var(--ff-h);font-size:11px;border:2px outset #6f4fd6;background:linear-gradient(180deg,#4b2aa8,#2e1673);color:#e9defd;cursor:pointer}
.chip.is-on{border-style:inset;background:var(--cyan);color:#04121a;box-shadow:var(--glow-c)}
.map--full{aspect-ratio:16/9}
.stations--grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-height:none;overflow:visible}
.stations--grid .station{grid-template-columns:auto 1fr;grid-template-rows:auto auto}
.stations--grid .station .dist{grid-column:1/-1;text-align:left;padding-top:6px;border-top:1px dashed #3a1e96}

/* ---- TRẢ GÓP ---- */
.inst{display:grid;grid-template-columns:1fr 1fr;gap:0}
.inst__out{padding:22px;background:radial-gradient(circle at 50% 40%,#2b1466,#14093a 70%);display:grid;gap:12px;align-content:center}
.inst__row{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border:2px inset #3a1e96;background:#0a0620;font-size:14px}
.inst__row b{font-family:var(--ff-h);color:var(--cyan)}
.inst__row.big b{font-size:26px;color:var(--yellow);text-shadow:0 0 12px var(--yellow)}
.instwin .sticker{top:-14px;right:20px}

/* ---- CHAT ---- */
.chatwin .win__body{background:#0d0730;padding:16px;display:flex;flex-direction:column;gap:12px}
.msg{display:flex;gap:10px;align-items:flex-end;max-width:85%}
.msg .av{width:34px;height:34px;flex:0 0 34px;border-radius:50%;background:var(--grad);display:grid;place-items:center;font-family:var(--ff-h);font-size:12px;font-weight:800;color:#0a0620;border:2px solid #fff}
.msg .bub{background:#2b1466;border:2px outset #6f4fd6;padding:10px 14px;font-size:14px;color:#efe7ff;border-radius:14px 14px 14px 2px}
.msg .bub small{display:block;font-family:var(--ff-px);font-size:7px;color:var(--muted2);margin-top:6px}
.msg--me{align-self:flex-end;flex-direction:row-reverse}
.msg--me .bub{background:linear-gradient(135deg,#00b9d0,#7B2CFF);border-radius:14px 14px 2px 14px;border-color:#9cf}
.msg--me .av{background:var(--cyan)}
.typing{display:inline-flex;gap:4px;padding:10px 14px;background:#2b1466;border:2px outset #6f4fd6;border-radius:14px;width:max-content}
.typing i{width:7px;height:7px;border-radius:50%;background:var(--cyan);animation:tp 1s infinite}
.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}
@keyframes tp{0%,100%{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-4px)}}
.chatgrid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
.rating{font-family:var(--ff-px);font-size:9px;color:var(--yellow);text-shadow:0 0 8px var(--yellow)}

/* ---- CTA BAND ---- */
.band{position:relative;overflow:hidden;padding:70px 0;background:var(--grad);color:#0a0620;text-align:center}
.band::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(10,6,32,.18) 3px 4px);pointer-events:none}
.band h2{color:#0a0620;text-shadow:2px 2px 0 #fff;position:relative}
.band p{color:#1a0d45;font-weight:600;position:relative}
.band .btn{margin-top:20px;position:relative}
.band .sticker{right:8%;top:20px}

/* ---- FOOTER ---- */
.footer{background:#05030f;border-top:2px solid var(--purple);padding:50px 0 0;position:relative}
.footer::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--grad)}
.footer__in{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:32px;padding-bottom:40px}
.footer h4{font-size:12px;color:var(--cyan);margin-bottom:14px;text-shadow:var(--glow-c)}
.footer p,.footer li{font-size:14px;color:var(--muted)}
.footer li{margin-bottom:8px;display:flex;gap:8px;align-items:center}
.footer li a:hover{color:var(--pink)}
.pxi{display:inline-block;width:16px;height:16px;flex:0 0 16px}
.pxi--bolt{background:var(--yellow);clip-path:polygon(60% 0,20% 55%,48% 55%,35% 100%,80% 42%,52% 42%)}
.pxi--pin{background:var(--pink);clip-path:polygon(50% 0,75% 10%,90% 35%,50% 100%,10% 35%,25% 10%)}
.pxi--phone{background:var(--lime);clip-path:polygon(20% 0,45% 0,50% 30%,35% 40%,60% 65%,70% 50%,100% 55%,100% 80%,80% 100%,0 20%)}
.pxi--mail{background:var(--cyan);clip-path:polygon(0 15%,100% 15%,100% 85%,0 85%,0 25%,50% 60%,100% 25%,100% 35%,50% 70%,0 35%)}
.pxi--star{background:#fff;clip-path:polygon(50% 0,62% 38%,100% 38%,70% 60%,80% 100%,50% 76%,20% 100%,30% 60%,0 38%,38% 38%)}
.pxi--heart{background:var(--pink);clip-path:polygon(50% 100%,10% 55%,0 30%,10% 8%,30% 0,50% 15%,70% 0,90% 8%,100% 30%,90% 55%)}
.pxi--clock{background:var(--yellow);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
.footer__bottom{border-top:1px dashed #3a1e96;padding:16px 0;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-family:var(--ff-px);font-size:8px;color:var(--muted2);line-height:1.8}
.visitor{font-family:var(--ff-bit);color:var(--lime);border:2px inset #3a1e96;padding:4px 8px;background:#0a0620}
.socials{display:flex;gap:8px;margin-top:12px}
.socials a{width:34px;height:34px;display:grid;place-items:center;border:2px outset #6f4fd6;background:linear-gradient(180deg,#4b2aa8,#2e1673);font-family:var(--ff-px);font-size:9px}

/* ---- Trang con: banner ---- */
.pagehero{position:relative;overflow:hidden;padding:56px 0 70px;min-height:280px;background:radial-gradient(ellipse at 50% 0%,#3a1a9a 0%,var(--bg) 60%)}
.pagehero .gridfloor{height:70%;bottom:-20%;opacity:.5}
.pagehero .hero__lead{text-shadow:0 2px 8px #0a0620,0 0 16px #0a0620}
.pagehero__in{position:relative;z-index:2}
.pagehero h1{font-size:clamp(30px,5vw,60px)}
.crumb{font-family:var(--ff-px);font-size:8px;color:var(--muted);margin-bottom:12px}
.crumb a:hover{color:var(--cyan)}

/* ---- Bộ lọc dòng xe ---- */
.filterbar{display:flex;gap:16px;align-items:center;flex-wrap:wrap;padding:14px 18px;margin-bottom:24px}
.filterbar .field{margin:0;min-width:180px;flex:1}
.filterbar .segs{margin:0}
.compbar{position:sticky;bottom:14px;z-index:20;margin-top:24px;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;flex-wrap:wrap}
.compbar .sel{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.compbar .sel span{padding:6px 10px;border:2px inset #4b2aa8;background:#0a0620;font-family:var(--ff-h);font-size:12px;color:var(--cyan)}
.model.is-hide{display:none}
.empty{padding:30px;text-align:center;font-family:var(--ff-px);font-size:10px;color:var(--pink);display:none}
.empty.is-on{display:block}

/* ---- Chi tiết xe ---- */
.detail{display:grid;grid-template-columns:1.1fr .9fr;gap:32px;align-items:start}
.gallery .ph.main{aspect-ratio:4/3}
.thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}
.thumbs .ph{aspect-ratio:4/3;cursor:pointer;border:2px outset #4b2aa8;opacity:.7}
.thumbs .ph.is-on{opacity:1;border-color:var(--cyan);box-shadow:var(--glow-c)}
.tabs{display:flex;gap:4px;border-bottom:2px solid #0a0620;margin-bottom:16px;flex-wrap:wrap}
.tab{padding:9px 14px;font-family:var(--ff-h);font-size:12px;border:2px outset #6f4fd6;border-bottom:0;background:linear-gradient(180deg,#4b2aa8,#2e1673);cursor:pointer;color:#e9defd}
.tab.is-on{background:var(--pink);color:#fff;box-shadow:var(--glow-p)}
.pane{display:none}.pane.is-on{display:block}
.speclist{display:grid;gap:0}
.speclist div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px dashed #3a1e96;font-size:14px}
.speclist div span{color:var(--muted)}
.speclist div b{font-family:var(--ff-h);font-size:13px;color:var(--cyan);text-align:right}
.detail__price{display:flex;align-items:baseline;gap:14px;margin:8px 0 16px;flex-wrap:wrap}
.detail__price b{font-family:var(--ff-h);font-size:36px;color:var(--yellow);text-shadow:0 0 14px var(--yellow)}
.detail__price s{color:var(--muted2)}
.detail__price em{font-style:normal;font-family:var(--ff-px);font-size:8px;color:var(--pink)}
.featlist li{display:flex;gap:10px;margin-bottom:8px;font-size:14px;color:#d9cdfa}
.featlist li::before{content:"✦";color:var(--cyan)}
.detail .win .sticker{top:-14px;right:-10px}
.detail .win .sticker--pink{top:auto;bottom:-14px;left:-10px;right:auto}

/* ---- Đặt cọc: tiến trình pixel ---- */
.progress{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:28px}
.progress div{padding:12px 10px;border:2px outset #4b2aa8;background:#0a0620;font-family:var(--ff-px);font-size:8px;color:var(--muted2);text-align:center;line-height:1.8}
.progress div i{display:block;height:10px;margin-top:8px;background:repeating-linear-gradient(90deg,#2b1466 0 8px,#0a0620 8px 10px)}
.progress div.is-on{color:var(--cyan);border-color:var(--cyan);box-shadow:var(--glow-c)}
.progress div.is-on i{background:repeating-linear-gradient(90deg,var(--cyan) 0 8px,#0a0620 8px 10px)}
.progress div.is-done{color:var(--lime)}
.progress div.is-done i{background:repeating-linear-gradient(90deg,var(--lime) 0 8px,#0a0620 8px 10px)}
.step{display:none}.step.is-on{display:block}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.pickcards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.pickcards label{display:block;padding:10px;border:2px outset #4b2aa8;background:#0a0620;cursor:pointer;text-align:center}
.pickcards input{display:none}
.pickcards input:checked+label{border-style:inset;border-color:var(--cyan);box-shadow:var(--glow-c)}
.pickcards b{display:block;font-family:var(--ff-h);font-size:14px}
.pickcards small{color:var(--yellow);font-family:var(--ff-h);font-size:11px}
.pickcards .ph{aspect-ratio:4/3;margin-bottom:8px;border:2px inset #4b2aa8}
.summary{display:grid;gap:8px}
.summary div{display:flex;justify-content:space-between;gap:10px;padding:8px 10px;border:2px inset #3a1e96;background:#0a0620;font-size:14px}
.summary b{color:var(--cyan);font-family:var(--ff-h);font-size:13px;text-align:right}
.summary div.total b{color:var(--yellow);font-size:18px;text-shadow:0 0 10px var(--yellow)}
.payopts{display:grid;gap:8px}
.payopts label{display:flex;gap:10px;align-items:center;padding:10px 12px;border:2px outset #4b2aa8;background:#0a0620;cursor:pointer;font-size:14px}
.payopts input{accent-color:var(--pink)}
.stepnav{display:flex;justify-content:space-between;gap:12px;margin-top:20px;flex-wrap:wrap}
.done{text-align:center;padding:30px 10px}
.done .big{font-size:60px;filter:drop-shadow(0 0 16px var(--lime))}
.done .code{display:inline-block;margin:14px 0;padding:10px 16px;border:2px inset #4b2aa8;background:#0a0620;font-family:var(--ff-bit);font-size:12px;color:var(--lime)}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(140%);z-index:99;transition:.3s;width:min(420px,92%)}
.toast.is-on{transform:translateX(-50%) translateY(0)}
.toast .win__body{padding:12px 18px;font-size:14px}
.err{border-color:var(--pink)!important;box-shadow:var(--glow-p)!important}
.hint{font-size:12px;color:var(--muted2);margin-top:6px}

/* ---- Lợi ích / mini cards ---- */
.perks{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.perk{padding:18px;border:2px outset #4b2aa8;background:#14093a;position:relative;overflow:hidden}
.perk::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 100% 0,rgba(0,229,255,.18),transparent 55%)}
.perk .ico{font-size:28px;margin-bottom:10px;filter:drop-shadow(0 0 8px var(--cyan))}
.perk h3{font-size:14px;margin-bottom:6px;color:#fff}
.perk p{font-size:13px}

/* ---- Responsive ---- */
@media (max-width:1100px){
  .models{grid-template-columns:repeat(2,1fr)}
  .perks{grid-template-columns:repeat(2,1fr)}
  .footer__in{grid-template-columns:1fr 1fr}
  .nav a{padding:7px 9px;font-size:12.5px}
  .pickcards,.stations--grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:980px){
  .burger{display:flex}
  .nav{display:none;position:absolute;left:0;right:0;top:58px;flex-direction:column;align-items:stretch;gap:4px;padding:10px;margin:0;background:linear-gradient(180deg,#1c0d4d,#0a0620);border-bottom:2px solid #8f6bff}
  .nav.is-open{display:flex}
  .clock{display:none}
  .tray .btn{display:none}
  .hero__in{grid-template-columns:1fr}
  .hero{padding:40px 0 70px}
  .calc,.inst,.mapwrap,.chatgrid,.detail{grid-template-columns:1fr}
  .calc__form{border-right:0;border-bottom:2px solid #0a0620}
  .stations{max-height:none}
  .sec{padding:56px 0}
}
@media (max-width:640px){
  .models,.perks,.footer__in,.grid-2,.pickcards,.stations--grid{grid-template-columns:1fr}
  .hero__win .win{transform:none}
  .hero__stats{gap:16px}
  .sec__head{flex-direction:column;align-items:flex-start}
  .progress{grid-template-columns:1fr;gap:6px}
  .segs label{font-size:11px}
  .start{font-size:16px;padding:6px 10px}
  .sticker{font-size:8px;padding:6px 10px}
  .gauge,.ticks{width:200px}
  .gauge{height:110px}
  .gauge__needle{height:94px}
  .hero__win .sticker{right:0}
  .hero__win .sticker--pink{left:0}
  .hero__win .sticker--burst{display:none}
  .map__lbl{display:none}
  .map{aspect-ratio:1}
}
