@font-face{font-family:'SVN-Proxima Nova';src:url(assets/fonts/SVN-ProximaNova-Regular.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'SVN-Proxima Nova';src:url(assets/fonts/SVN-ProximaNova-Semibold.woff2) format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'SVN-Proxima Nova';src:url(assets/fonts/SVN-ProximaNova-Bold.woff2) format('woff2');font-weight:700;font-style:normal;font-display:swap}

:root{
  --red:#ED1C24; --red-dark:#C4151C;
  --ink:#231F20; --white:#FFFFFF; --cream:#FAF7F3;
  --gray:#6B6462; --line:#E8E2DC; --line-dark:#C9C2BA;
  --gold:#D8B26A;
  --ok:#1B7F4B; --err:#C2410C;
  --r:8px;
  --wrap:1080px; --form:560px;
  --sec-y:48px;
}
@media(min-width:768px){:root{--sec-y:72px}}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--cream);color:var(--ink);
  font-family:'SVN-Proxima Nova',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  font-size:15px;line-height:1.6;font-weight:400;
  -webkit-font-smoothing:antialiased;
}
/* Le 10px hai ben, CHI tren may tinh. Lam bang border cua body chu khong
   dung padding: padding thi nen cua body tran ra ca le, khong con tach ra duoc.
   ⚠️ Phan tu position:fixed neo theo KHUNG NHIN chu khong theo border nay, nen
   nut .jump phai day vao them, xem quy tac cua no.

   Le mau KEM, dung mau nen cu cua trang.
   ⚠️ Ban dau le nay to 20px voi dai loang 64px va bi keu qua noi. Van de la o
   BE DAY chu khong o mau: kem la mau sang nhat trong bang mau, tai 20px + 64px
   no thanh hai vach trang chay doc man hinh, hut mat truoc ca noi dung.
   Gio con 10px voi dai loang 34px, tuc chi bang mot nua ban cu.
   ⚠️ Muon chim hon nua thi giam tiep hai con so nay, DUNG doi sang mau toi:
   da thu lop den trong roi va bi tra lai, trang nay can le sang.

   ⚠️ Da BO border cua body, gio le lam hoan toan bang hai dai phu nay. Ly do:
   border to mot mau dac tu dinh den day, ma thanh logo den o dau trang lai tran
   het chieu ngang, nen ngay duoi thanh do le kem bat dau dot ngot bang mot vet
   cat ngang. Border khong the mo dan duoc. Dai phu thi mo dan duoc ca hai chieu:
   ngang thi kem dac 10px roi nhat ve trong suot o 34px,
   doc thi trong suot het chieu cao thanh logo (58px) roi dam dan len tan 190px.
   Noi dung khong con bi thut vao 10px nua, nhung nhin van y het vi 10px ngoai
   cung cua dai phu la kem dac.

   ⚠️ position:absolute chu khong phai fixed, va vi the body phai co position:relative.
   Fixed thi vet mo dan dinh chet o dau KHUNG NHIN, cuon xuong giua trang van thay
   hai le bi nhat o phia tren, vo ly. Absolute thi no cuon theo trang, vet mo dan
   chi nam o dung dau tai lieu.
   ⚠️ Khong dung duoc var(--cream) o chang trong suot, bien mau khong kem duoc
   do trong. Phai viet thang rgba cua chinh #FAF7F3, doi bien thi doi ca hai cho.
   z-index 30 de nam tren noi dung nhung duoi nut .jump va thanh .stick (deu 40). */
@media(min-width:900px){
  body{position:relative}
  body::before,body::after{content:"";position:absolute;top:0;bottom:0;width:34px;z-index:30;pointer-events:none;
    -webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,0) 0,rgba(0,0,0,0) 58px,#000 190px);
            mask-image:linear-gradient(180deg,rgba(0,0,0,0) 0,rgba(0,0,0,0) 58px,#000 190px)}
  body::before{left:0;background:linear-gradient(90deg,#FAF7F3 0,#FAF7F3 10px,rgba(250,247,243,0) 100%)}
  body::after{right:0;background:linear-gradient(270deg,#FAF7F3 0,#FAF7F3 10px,rgba(250,247,243,0) 100%)}
}
img{max-width:100%;display:block}
button{font:inherit;color:inherit;cursor:pointer}
input,textarea{font:inherit}

.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 20px}
.narrow{width:100%;max-width:var(--form);margin:0 auto;padding:0 20px}
.sec{padding:var(--sec-y) 0}
.sec--tight{padding-top:0}

.eyebrow{display:flex;align-items:center;gap:12px;font-size:12px;line-height:1;letter-spacing:2.4px;text-transform:uppercase;color:var(--red);font-weight:600;margin:0 0 16px}
.eyebrow::before,.eyebrow::after{content:"";width:26px;height:2px;background:var(--red);flex:none;transform:translateY(.5px)}
h1,h2,h3{margin:0;font-weight:700;line-height:1.12;letter-spacing:-.025em}
h1{font-size:34px}
h2{font-size:29px}
h3{font-size:18px;letter-spacing:-.01em}
@media(min-width:768px){h1{font-size:56px}h2{font-size:42px}}
.lead{color:var(--gray);margin:14px 0 0;font-size:15px}
.note{font-size:13px;color:var(--gray);margin:6px 0 0;line-height:1.5}

.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:54px;padding:0 24px;border-radius:var(--r);border:1px solid transparent;font-size:16px;font-weight:600;text-decoration:none;transition:background .2s ease,border-color .2s ease,color .2s ease}
.btn--primary{background:var(--red);color:#fff}
.btn--primary:hover{background:var(--red-dark)}
.btn--ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn--ghost:hover{background:var(--ink);color:#fff}
.btn[disabled]{opacity:.55;cursor:not-allowed}
@media(min-width:768px){.btn--auto{width:auto;min-width:240px}}

:where(a,button,input,textarea,[tabindex]):focus-visible{outline:2px solid var(--ink);outline-offset:2px}

/* ===== THANH LOGO DAU TRANG, CHI TREN MAY TINH =====
   Da go 12/08/2026 roi dung lai 13/08/2026, ly do khac han lan truoc.
   Lan truoc go vi banner co san logo. Lan nay tren may tinh banner bi cat bo
   phan logo o dinh (xem .hero__banner ben duoi), nen phai co cho khac dat logo.
   Dien thoai KHONG dung thanh nay: banner mobile van con nguyen logo trong anh.

   Thanh nay la mot dai DEN dac nam tren banner, khong de len banner. Cho khong
   lo vet cat nam o cho khac: mep tren cua chinh banner co mot lop den tan dan
   ve trong suot, xem .hero__banner::before. Den gap den nen khong co duong noi.

   ⚠️ Ban dau lam dai nay mau DO lay dung mau mep anh va bi tra lai vi van lo
   vet cat: mep tren banner khong phai mot mau phang ma dam dan ve hai bien,
   to mot mau phang canh no la thay ngay. Dung mau den roi loang vao thi khong
   con phai khop mau nua. Dung quay lai cach to mau do. */
.site-head{display:none}
@media(min-width:900px){
  /* Cao dung 58px: dem 15px x2 cong logo 28px. Con so nay duoc dung lai lam moc
     bat dau vet mo dan cua hai le o dau file, doi day thi doi ca do. */
  .site-head{display:flex;justify-content:center;background:var(--ink);padding:15px 0;
    position:relative;z-index:31}
  .site-head img{height:28px;width:auto;margin:0}
}

/* hero
   Tu 12/08/2026 KHONG con khoi chu den o dau trang. Banner cua designer da co
   du ten chuong trinh va moc thoi gian, viet lai bang HTML la lap hai lan.
   Hero gio chi con dung banner + nut CTA de len.

   Anh that: mobile 1080x1350, desktop 1920x837.

   ⚠️ MOBILE: aspect-ratio PHAI khop dung ti le file, lech la cover cat mat mep anh.

   ⚠️ DESKTOP thi CO Y de lech, day la cat anh chu khong phai loi:
   File cao 837 nhung khung chi de 675, tuc giau di 162px. Neo anh xuong day
   (object-position:center bottom) nen 162px bi giau la 162px TREN CUNG, dung
   bang dai logo trong anh. Logo do bay gio nam o thanh .site-head o tren.
   Do bang may cac dai chu trang theo hang: logo o y 80-161, "LOI ME" o y 209-273.
   Cat 162 thi logo bien mat ma "LOI ME" con 47px tho o tren. Doi banner khac
   thi quet lai cac dai chu roi sua so 675 nay.

   ⚠️ Truoc do khung de 1920/1080 trong khi file la 1920/837. Trinh duyet phai
   phong anh len 1.29 lan cho du chieu cao roi cat mat 279px MOI BEN trai phai.
   Do la ly do banner tung bi keu "to qua". Dung sua nguoc lai. */
/* Vach vang kim 3px ngan banner voi khoi giai thuong. Lam bang border-bottom chu
   khong them the div, de khong dong them mot nut nao vao HTML chi de lay 3px.
   position:relative de thanh logo .site-head neo duoc vao day. */
.hero{position:relative;background:var(--ink);border-bottom:3px solid var(--gold)}
.hero__banner{position:relative;background:#151212;aspect-ratio:1080/1350;overflow:hidden}
.hero__banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:1}
/* ⚠️ Khoi nay PHAI nam SAU quy tac .hero__banner img o tren. Media query khong
   lam tang do cu the, hai quy tac ngang nhau nen cai viet sau moi thang.
   Dat truoc thi object-position:center o duoi de bep, anh khong neo xuong day. */
@media(min-width:900px){
  .hero__banner{aspect-ratio:1920/675}
  .hero__banner img{object-position:center bottom}
  /* Lop den loang dan o mep tren banner, noi lien voi thanh logo .site-head.
     ⚠️ Chieu cao PHAI tinh bang %, khong duoc dung px. Khoang do trong o dau
     banner chi cao 47px trong file, tuc 47/675 = 6.96% chieu cao khung, va no
     co gian theo be rong man hinh. De 44px co dinh thi tren man hinh 1440
     khoang do chi con 34px, lop phu se an vao chu "LOI ME". De 6.5% thi moi
     kho man hinh deu dung, luon dung lai truoc chu.
     z-index 2 de nam tren anh (1) nhung duoi nut CTA (3). */
  .hero__banner::before{content:"";position:absolute;left:0;right:0;top:0;height:6.5%;z-index:2;
    pointer-events:none;background:linear-gradient(180deg,#231F20 0%,rgba(35,31,32,.55) 45%,rgba(35,31,32,0) 100%)}
}
.hero__ph{position:absolute;inset:0;z-index:0;display:flex;align-items:center;justify-content:center;text-align:center;color:#8A8280;font-size:13px;padding:24px;line-height:1.6}
/* nut CTA tren banner: ha xuong ngang hai bong sen, dap nhip tim de hut mat.

   Tu 13/08/2026 nut nay dung bo mat cua dai bang hang giai .pz__rank:
   cung 7 chang vang kim, cung vet sang chay qua, cung chu hoa gian cach.
   Hai thu la mot ngon ngu, sua mot cai thi sua ca hai.
   ⚠️ Da thu cat vat hai dau bang clip-path giong het .pz__rank va bi tra lai:
   nut bam nghieng nhin khong ra nut. Nut giu hinh chu nhat, chi bo goc 4px.

   ⚠️ Chu PHAI dung do sam #7C0103, KHONG duoc dung do chuan #ED1C24.
   Do chuan tren vang chi dat 1.98 den 3.09, gan nhu khong doc duoc.

   Do tuong phan da do theo tung dai cua chuyen sac, khong lay mot mau dai dien:
   chu hoa cao 16-19px nam trong khoang 38%-62% chieu cao nut, doan do chuyen sac
   dang o vung vang sang, thap nhat 5.76:1. Hai dai toi #C9962F o moc 0% va 88%
   chi dat 4.17:1 nhung khong bao gio co chu de len, vi text-transform:uppercase
   nen khong co net thong xuong.
   ⚠️ Bo uppercase hoac tang co chu la phai do lai, chu se cham dai toi. */
.hero__banner-cta{position:absolute;left:50%;bottom:6%;transform:translateX(-50%);z-index:3;
  width:auto;min-height:48px;font-size:16px;padding:0 32px;white-space:nowrap;
  overflow:hidden;border-radius:4px;
  background:linear-gradient(180deg,#C9962F 0%,#EDCA72 16%,#FBF0C4 40%,#F0CE79 52%,#D8A64D 74%,#C9962F 88%,#E3BB6A 100%);
  color:#7C0103;font-weight:700;letter-spacing:2px;text-transform:uppercase;
  animation:beat 2.2s ease-in-out infinite;transition:filter .2s ease,transform .2s ease}
/* Vet sang chay qua mat vang, y het .pz__rank ke ca nhip 3.6s de hai khoi dap cung nhau.
   Dung ::before vi ::after cua nut nay danh cho viec khac. */
.hero__banner-cta::before{content:"";position:absolute;top:0;bottom:0;left:0;width:60%;pointer-events:none;
  background:linear-gradient(104deg,transparent 0%,rgba(255,255,255,.72) 50%,transparent 100%);
  animation:sheen 3.6s ease-in-out infinite}
/* bottom:5% chu khong phai 10%. Do tren file that: mep duoi khoi hop toi trong
   banner desktop nam o y=922 tren 1080, tuc 14.6% tinh tu day. Nut cao 54px,
   de bottom:10% thi dinh nut leo len 16.7%, dam vao hop. Voi 5% thi dinh nut o
   11.7%, con ho gan 24px. Doi banner khac thi do lai mep hop truoc khi sua so nay. */
@media(min-width:900px){.hero__banner-cta{bottom:5%;min-height:58px;font-size:19px;padding:0 42px}}
/* Giu nguyen hieu ung ri chuot cu: phong nhe va sang len, tat nhip dap. */
.hero__banner-cta:hover{filter:brightness(1.06);animation:none;transform:translateX(-50%) scale(1.06)}
@keyframes beat{
  0%{transform:translateX(-50%) scale(1)}
  10%{transform:translateX(-50%) scale(1.045)}
  20%{transform:translateX(-50%) scale(1)}
  30%{transform:translateX(-50%) scale(1.03)}
  42%{transform:translateX(-50%) scale(1)}
  100%{transform:translateX(-50%) scale(1)}
}
/* luat giam chuyen dong o cuoi file dung dau * nen khong voi toi pseudo-element */
@media(prefers-reduced-motion:reduce){.hero__banner-cta::before{animation:none;opacity:.35}}

/* ===== NUT DAN XUONG FORM, dinh goc phai duoi =====
   Thay cho mui ten vang nhap nhay cu: cai do KHONG bam duoc va tu tat sau 80px,
   khach thay goi y roi khong lam gi duoc voi no.

   Cach chay, app.js dieu khien bang hai class:
     .on    hien ra, khi da cuon qua het banner
     .mini  co lai thanh nut tron, tu gan sau 3 giay ke tu luc hien
   Ri chuot vao luc dang thu nho thi bung chu ra lai. Man hinh cam ung khong co
   ri chuot nen no cu o dang tron, cham vao la nhay xuong form.

   Nut tat han khi tam form da vao khung nhin. Nho vay no KHONG BAO GIO dung
   mat thanh .stick o day: thanh do chi bat khi form len toi 60% khung nhin,
   luc ay nut nay tat tu truoc roi.

   Kich thuoc chot cho luc thu nho thanh hinh tron dung: cao 48px, mui ten 22px,
   dem hai ben 13px, cong lai vua dung 48px. Doi mot trong ba so thi sua ca ba. */
.jump{position:fixed;right:16px;bottom:16px;z-index:40;
  display:flex;align-items:center;height:48px;padding:0 18px;border-radius:100px;
  background:linear-gradient(180deg,#C9962F 0%,#EDCA72 16%,#FBF0C4 40%,#F0CE79 52%,#D8A64D 74%,#C9962F 88%,#E3BB6A 100%);
  color:#7C0103;font-size:15px;font-weight:700;text-decoration:none;white-space:nowrap;
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .3s ease,visibility .3s ease,padding .28s ease,transform .2s ease}
.jump.on{opacity:1;visibility:visible;pointer-events:auto}
.jump__t{max-width:120px;margin-right:8px;overflow:hidden;
  transition:max-width .28s ease,opacity .22s ease,margin-right .28s ease}
.jump__i{width:22px;height:22px;flex:none}
/* Thu nho: nuot chieu rong cua chu chu khong dung display:none, de con animation.
   margin-right ve 0 luon, neu khong se con thua 8px lam nut khong tron deu. */
.jump.mini{padding:0 13px}
.jump.mini .jump__t{max-width:0;opacity:0;margin-right:0}
/* Bung lai khi ri chuot. Phai viet .jump.mini:hover chu khong phai .jump:hover,
   neu khong thi thua do cu the do thap hon quy tac .mini o tren. */
@media(hover:hover){
  .jump:hover{transform:translateY(-2px)}
  .jump.mini:hover{padding:0 18px}
  .jump.mini:hover .jump__t{max-width:120px;opacity:1;margin-right:8px}
}
@media(min-width:768px){.jump{right:26px;bottom:26px}}
/* Day ra khoi dai loang o mep phai (rong 34px). Fixed neo theo khung nhin nen no
   khong tu biet co le, khong day thi nut bi lop kem phu len mot goc. */
@media(min-width:900px){.jump{right:44px}}

/* ===== KHOI GIAI THUONG =====
   Truoc day khoi nay bi che "giong landing ban hang", vi no la the trang xep luoi
   4 cot, gia to mau do nhap nhay, kem mo ta thong so ky thuat, va nut mo popup
   san pham. Do la ngu phap cua trang thuong mai dien tu.

   Lam lai theo huong BANG GIAI THUONG: nen do sam nhu poster, nhan hang giai dang
   vien thuoc vang kim, doc tu tren xuong la "GIAI NHAT -> 01 giai -> ten -> gia".
   Dua hang giai va so luong len TRUOC gia, de mach doc ra chat giai thuong.
   Gia de mau vang kim chu KHONG de mau do: do tren nen sang la bien gia sale,
   vang tren nen do sam la con so gia tri, hai thu doc ra khac han nhau.

   Mau do lay tu public/assets/Background.jpg, cung he voi tam phieu du thi. */
/* Nen do van lay tu file designer gui: public/assets/prizes-bg.jpg (1500x1500).
   Mau nen dang sau lam du phong luc anh chua tai xong, do bang may tu chinh file:
   dinh #940405, day #4D0201. Anh dat cover nen tren man hinh cao no se bi xen bot
   hai ben, chap nhan duoc vi day chi la van nen. */
.prizes{background:#7C0103 url(assets/prizes-bg.jpg) center/cover no-repeat}

/* ===== HE SO THU NHO CA SECTION (14/08/2026) =====
   Ngay 14/08/2026 ca section duoc thu nho lai: dien thoai be 10%, may tinh be 25%.
   Thay vi sua tay ~45 con so rai rac, MOI kich thuoc trong section viet thanh
   calc(<so goc>px * var(--pzs)). Con so goc van nhin thay nguyen, chi nhan them.

   ⚠️ Muon phong to hay thu nho lai ca section thi CHI doi hai gia tri --pzs duoi day,
   dung sua tung con so. Sua tay la chac chan lech, vi cac con so an khop nhau:
   duong ghep nap hop tinh tu chieu cao cai no, chieu cao ruy bang tinh tu co chu
   cong dem. Cung nhan mot he so thi ti le giu nguyen, sua le tay thi vo.

   KHONG nhan he so: vien 1px (nhan xuong 0.75px la trinh duyet ve ra mo nhoe),
   mau sac, thoi gian hieu ung, va nen do cua section van tran het chieu ngang.

   ⚠️ Hai co chu co SAN 11px de khong tut xuong duoi nguong doc duoc:
   "TRI GIA" (.pz__price span) va "Xem them" (.pz__more). Nhan du he so thi chung
   ra 8.25px va 10.5px. Khach cua chuong trinh nay phan lon o tuoi trung nien,
   chu duoi 10px la khong doc noi. */
.prizes{--pzs:.9;padding:calc(var(--sec-y) * var(--pzs)) 0}
@media(min-width:768px){.prizes{--pzs:.75}}

/* Khoi giai thuong rong hon cac khoi khac (1080px) cho the giai thoang tay */
.prizes .wrap{max-width:calc(var(--wrap) * var(--pzs))}
@media(min-width:1140px){.prizes .wrap{max-width:calc(1280px * var(--pzs))}}
/* ===== Tieu de khoi giai thuong =====
   Truoc day dung chung kieu voi cac khoi tren nen kem: eyebrow do, tieu de den,
   can trai. Dat len nen do thi lac long va bo trong han nua ben phai.
   Nay can giua, vang kim, va tach con so 29 ra lam diem nhan. */
.prizes .note{color:rgba(255,255,255,.72);text-align:center;max-width:60ch;
  margin:calc(26px * var(--pzs)) auto 0}
/* ===== KHOI TIEU DE DUNG THANH HOP QUA =====
   Da bo bon nep goc, doi sang hop co nap 13/08/2026.

   Cach doc ra hop qua ma KHONG danh doi kha nang doc chu:
   - Vien vang kin bon canh, bo goc 14px, la thanh hop.
   - Mot dai nap o tren, nen do dam hon, ngan voi than bang vach vang.
   - No that buoc o giua nap.
   - Ruy bang "CO CAU GIAI THUONG" dat DE LEN duong ghep nap, dung cho ma
     ngoai doi nguoi ta dan nhan qua.
   THAN HOP DE TRONG SUOT, khong to nen. Nho vay chu trang va chu vang van nam
   trên đúng nen do cu, khong phai do lai tuong phan. Phuong an ruy bang chu thap
   chay sau chu da bi loai chinh vi ly do nay.

   ⚠️ Chieu cao nap phai tinh tu chieu cao cai no, doi mot cai thi tinh lai:
     duong ghep nap = 14 (no cach dinh) + chieu cao no + 10 (ho) + 19 (nua ruy bang)
   Duong ghep di ngang qua GIUA ruy bang, dung cho ngoai doi nguoi ta dan nhan qua.
   Ruy bang cao 38px o CA HAI kho man hinh, do dem tren duoi duoc chinh bu lai
   khi co chu doi, nen so 19 kia dung chung duoc.

   No la anh 736x166, ti le 4.43:1, nen chieu cao = be rong chia 4.43:
     dien thoai  no rong 224px -> cao 50.5px -> ghep nap 14+50.5+10+19 =  93.5 -> 94px
     may tinh    no rong 320px -> cao 72.2px -> ghep nap 14+72.2+10+19 = 115.2 -> 115px
   ⚠️ Truoc day chi can MOT gia tri cho duong ghep vi cai no ve bang SVG de cung
   mot co o hai kho man hinh. Nay no to nho khac nhau nen phai co HAI gia tri,
   nam o .pz-head::before va o khoi @media(min-width:768px) cuoi doan nay.
   Doi be rong no thi phai sua ca hai.
   ⚠️ Dien thoai KHONG duoc rong hon 224px: man hinh hep nhat con dung la 320px,
   tru le trang 20px hai ben va le hop 22px hai ben thi long hop chi con 236px. */
.pz-head{position:relative;text-align:center;max-width:calc(640px * var(--pzs));margin:0 auto;
  padding:0 calc(22px * var(--pzs)) calc(24px * var(--pzs));
  border:1px solid rgba(216,178,106,.55);border-radius:calc(14px * var(--pzs))}
/* Dai nap hop. Do dam hon nen section nen nap noi len khoi than. */
.pz-head::before{content:"";position:absolute;left:0;right:0;top:0;height:calc(94px * var(--pzs));
  border-bottom:1px solid var(--gold);
  border-radius:calc(13px * var(--pzs)) calc(13px * var(--pzs)) 0 0;
  background:linear-gradient(180deg,#620102 0%,#470000 100%)}
/* Nap CO Y dam hon han nen section thi moi tach ra duoc. Do bang may: nen anh
   o dau section la #940405, nap #470000, ti le sang toi 1.79. Lam nap nhat hon
   nua thi nap va than nhap lam mot, khong con ra hop co nap.
   Vang kim tren nap dat 8.28:1, nut no #F2D780 dat 10.57:1. */
.pz-head__bow{position:relative;z-index:1;display:block;width:calc(224px * var(--pzs));
  max-width:100%;height:auto;margin:calc(14px * var(--pzs)) auto 0;
  transform-origin:50% 68%;animation:lac 3.6s ease-in-out infinite}
/* Lac quanh dung cai nut o giua anh (50% 68%), nhu no that buoc tren hop bi gio thoi.
   Luat giam chuyen dong o cuoi file dung dau * nen da phu duoc cho nay.
   ⚠️ Bien do 2 do, KHONG phai 3.5 do nhu ban SVG cu. Cai no moi rong gap doi,
   ma cang rong thi cung mot goc nghieng, hai dau mut nhac len cang cao:
   3.5 do o be rong 320px la hai dau ruy bang nhay +-10px, nhin thanh vay chu
   khong con la lac nhe. 2 do cho ra khoang 6px, vua mat. */
@keyframes lac{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}
/* Dong "CO CAU GIAI THUONG" doi tu chu vang thanh dai ruy bang vang kim dac,
   dung y het .pz__rank ke ca vet sang nhip 3.6s, de noi tieu de voi cac the giai.
   O day cat vat hai dau la DUNG cho: no la nhan trang tri, khong phai nut bam.

   ⚠️ Chu to len 13->14/16px ngay 13/08/2026. Dem tren duoi CO Y khac nhau hai kho
   (12px o dien thoai, 11px o may tinh) de CHIEU CAO DAI BANG NHAU DUNG 38px o ca
   hai. Neu de cao khac nhau thi duong ghep nap phai co hai gia tri.
   ⚠️ Dien thoai phai dung 14px chu khong duoc 16px: chuoi "CO CAU GIAI THUONG"
   dai 18 ky tu, o may 360px khung trong chi con 276px, 16px la tran ra hai dong,
   ruy bang gay lam doi.
   Do tuong phan lai theo co chu moi: chu hoa nam trong khoang 35%-65% chieu cao
   dai, van la vung vang sang, thap nhat 5.96:1. */
.pz-head__eb{position:relative;z-index:1;overflow:hidden;display:inline-flex;align-items:center;
  margin:calc(10px * var(--pzs)) 0 calc(22px * var(--pzs));
  padding:calc(12px * var(--pzs)) calc(22px * var(--pzs));border-radius:calc(4px * var(--pzs));
  clip-path:polygon(calc(11px * var(--pzs)) 0,100% 0,calc(100% - 11px * var(--pzs)) 100%,0 100%);
  background:linear-gradient(180deg,#C9962F 0%,#EDCA72 16%,#FBF0C4 40%,#F0CE79 52%,#D8A64D 74%,#C9962F 88%,#E3BB6A 100%);
  color:#7C0103;font-size:calc(14px * var(--pzs));line-height:1;
  letter-spacing:calc(2.2px * var(--pzs));text-transform:uppercase;font-weight:700}
.pz-head__eb::after{content:"";position:absolute;top:0;bottom:0;left:0;width:60%;pointer-events:none;
  background:linear-gradient(104deg,transparent 0%,rgba(255,255,255,.72) 50%,transparent 100%);
  animation:sheen 3.6s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){.pz-head__eb::after{animation:none;opacity:.35}}
/* ⚠️ Da bo han the .pz-head__h ("Nam hang giai cho mua Vu Lan") ngay 14/08/2026 cho
   hop ngan lai. Tieu de cua section chuyen sang chinh cai ruy bang .pz-head__eb,
   the do da doi tu <p> thanh <h2>. Dung them lai mot h2 nua o day. */
.pz-head__sub{margin:calc(16px * var(--pzs)) 0 0;font-size:calc(18px * var(--pzs));color:rgba(255,255,255,.86)}
/* Con so 29 la diem nhan duy nhat con lai trong hop, nen no gan gap ba lan co chu
   cua cau. Quang sang vang o day chinh la quang truoc kia nam sau .pz-head__h,
   chuyen sang cho con so khi bo dong tieu de do.
   ⚠️ Ve quang THANG vao background cua chinh the <b>, KHONG dung pseudo-element
   z-index am. Khoi .sec co class .reveal dung opacity, ma opacity duoi 1 tao ra lop
   xep chong, nen phan tu z-index am se chui ra sau anh nen roi mat hut.
   ⚠️ line-height:1 la bat buoc. De mac dinh thi mot con so 52px keo cao ca dong,
   cau chu bi xe doi ra rat xa nhau.
   ⚠️ app.js (ham demSo) tu dat display:inline-block, min-width theo ch va
   text-align:center cho the nay de con so chay tu 1 len 29 ma khong lam dong chu
   nhay qua nhay lai. Dung dat de len ba thuoc tinh do o day. */
.pz-head__sub b{font-size:calc(44px * var(--pzs));font-weight:700;color:#F2D780;
  line-height:1;letter-spacing:-.02em;vertical-align:-.12em;margin:0 2px;padding:0 .16em;
  background:radial-gradient(ellipse 130% 92% at 50% 50%,rgba(250,233,170,.30) 0%,rgba(242,215,128,.11) 45%,rgba(242,215,128,0) 75%)}
@media(min-width:768px){
  .pz-head{max-width:calc(760px * var(--pzs));
    padding:0 calc(30px * var(--pzs)) calc(30px * var(--pzs))}
  /* No to len 320px, nen duong ghep nap phai xuong theo: 14+72.2+10+19 = 115px.
     Hai con so nay di voi nhau, sua mot cai la phai sua cai kia. */
  .pz-head__bow{width:calc(320px * var(--pzs))}
  .pz-head::before{height:calc(115px * var(--pzs))}
  /* Dem 11px de cao van dung 38px nhu o dien thoai, xem chu thich cua .pz-head__eb */
  .pz-head__eb{padding:calc(11px * var(--pzs)) calc(28px * var(--pzs));
    font-size:calc(16px * var(--pzs));letter-spacing:calc(2.8px * var(--pzs))}
  .pz-head__sub{font-size:calc(22px * var(--pzs))}
  .pz-head__sub b{font-size:calc(70px * var(--pzs))}
}

.pz-list{margin-top:calc(40px * var(--pzs))}
.pz-grid{display:grid;gap:calc(14px * var(--pzs));margin-top:calc(14px * var(--pzs))}
@media(min-width:600px){.pz-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1000px){.pz-grid{gap:calc(18px * var(--pzs))}}

/* Tam DEN TRONG SUOT giong poster. Truoc day de trang mo 5.5% nen gan nhu khong
   thay vien khoi, ca mang bi bet. Den 45% dat len vung nen sang nhat #940405 ra
   khoang #520203, du tach khoi nen ma van thay van do phia sau. */
.pz{display:flex;flex-direction:column;gap:calc(14px * var(--pzs));padding:calc(18px * var(--pzs));
  text-decoration:none;color:#fff;
  background:rgba(0,0,0,.45);border:1px solid rgba(216,178,106,.38);border-radius:calc(14px * var(--pzs));
  transition:border-color .22s ease,background .22s ease,transform .22s ease}
/* O anh de nen sang, vi anh san pham hien tai la JPG nen trang, dat thang len do
   se ra o vuong trang lac long. Khi co anh PNG tach nen thi doi nen o nay thanh
   trong suot la san pham nam thang tren do giong poster. */
/* Quang sang vang hat ra sau san pham, lam bang radial-gradient chu KHONG dung
   box-shadow, giu dung luat design system. Anh nam tren quang nho z-index. */
/* ⚠️ Tren dien thoai o anh de rong 90% va can giua, KHONG phai 100%.
   Day la cach duy nhat lam anh be di 10% cho dung he so --pzs: anh dat 100% be
   ngang the thi nhan he so kieu gi cung van la 100%. Doi lai hai ben anh thut vao
   mot chut. Tren may tinh khong can, vi o anh da co width phan tram va max-width
   px, ca hai deu nho theo cot noi dung. */
.pz__pic{position:relative;aspect-ratio:1/1;border-radius:var(--r);overflow:hidden;
  display:flex;align-items:center;justify-content:center;flex:none;
  width:90%;align-self:center}
.pz__pic::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle at 50% 52%,rgba(250,233,170,.52) 0%,rgba(244,206,110,.24) 38%,rgba(242,215,128,.07) 58%,rgba(242,215,128,0) 76%)}
/* Anh tho nhe lien tuc cho khoi tinh, lia chuot thi phong to han.
   Chi phong to trong o vi o da co overflow:hidden. */
.pz__pic img{position:relative;z-index:1;animation:tho 4.5s ease-in-out infinite;
  transition:transform .35s ease;transform-origin:center}
@keyframes tho{0%,100%{transform:scale(1)}50%{transform:scale(1.055)}}
@media(prefers-reduced-motion:reduce){.pz__pic img{animation:none}}
.pz__pic img{width:100%;height:100%;object-fit:contain;padding:calc(10px * var(--pzs))}
/* Ca 5 anh deu da tach nen, san pham nam thang tren nen do giong poster.
   Anh nao sau nay con nen trang thi phai tach nen truoc, dung them o trang lai. */
/* Vach vang mo ngan anh voi phan chu. Doc thi ngan tren duoi, ngang thi ngan trai phai. */
.pz__body{display:flex;flex-direction:column;flex:1;padding-top:calc(24px * var(--pzs));
  border-top:1px solid rgba(216,178,106,.32)}
/* Nhan hang giai: vien thuoc vang kim, chu do sam. Do sam #880203 tren vang dat
   4.5 den 7.0. Do chuan #ED1C24 chi duoc 1.98, khong duoc dung. */
/* Dai bang vang to ban, cat vat hai dau nhu ruy bang trong poster */
.pz__rank{position:relative;overflow:hidden;align-self:flex-start;margin:0;
  padding:calc(11px * var(--pzs)) calc(26px * var(--pzs));border-radius:calc(4px * var(--pzs));
  clip-path:polygon(calc(12px * var(--pzs)) 0,100% 0,calc(100% - 12px * var(--pzs)) 100%,0 100%);
  background:linear-gradient(180deg,#C9962F 0%,#EDCA72 16%,#FBF0C4 40%,#F0CE79 52%,#D8A64D 74%,#C9962F 88%,#E3BB6A 100%);color:#7C0103;
  font-size:calc(15px * var(--pzs));font-weight:700;letter-spacing:calc(2px * var(--pzs));text-transform:uppercase}
/* Vet sang chay qua mat vang, lap lai. Dung translateX chu khong doi background-position
   vi trinh duyet chay transform bang GPU, muot hon va khong lam ban ve lai ca khoi. */
.pz__rank::after{content:"";position:absolute;top:0;bottom:0;left:0;width:60%;pointer-events:none;
  background:linear-gradient(104deg,transparent 0%,rgba(255,255,255,.72) 50%,transparent 100%);
  animation:sheen 3.6s ease-in-out infinite}
@keyframes sheen{
  0%{transform:translateX(-110%)}
  55%{transform:translateX(280%)}
  100%{transform:translateX(280%)}
}
/* Luat giam chuyen dong o cuoi file dung dau * nen khong voi toi pseudo-element */
@media(prefers-reduced-motion:reduce){.pz__rank::after{animation:none;opacity:.35}}
.pz__qty{margin:calc(12px * var(--pzs)) 0 0;font-size:calc(15px * var(--pzs));font-weight:700;color:var(--gold)}
.pz__name{margin:calc(6px * var(--pzs)) 0 0;font-size:calc(15px * var(--pzs));font-weight:600;line-height:1.45;color:#fff}
.pz__price{margin:calc(10px * var(--pzs)) 0 0;font-size:calc(22px * var(--pzs));font-weight:700;color:#F2D780;letter-spacing:-.01em}
/* San 11px: nhan du he so thi dong nay ra 8.25px tren may tinh, khong ai doc noi.
   Xem chu thich he so --pzs o dau section. */
.pz__price span{display:block;font-size:max(11px,calc(11px * var(--pzs)));font-weight:600;
  letter-spacing:calc(1.6px * var(--pzs));
  text-transform:uppercase;color:rgba(255,255,255,.72);margin-bottom:2px}
.pz__cert{display:flex;align-items:center;gap:calc(12px * var(--pzs));margin:calc(14px * var(--pzs)) 0 0;
  font-size:calc(15px * var(--pzs));line-height:1.45;color:#F2D780}
.pz__cert b{font-weight:700;color:#fff}
.pz__cert svg{width:calc(40px * var(--pzs));height:calc(40px * var(--pzs));flex:none}
/* Day link xuong day the de cac the trong luoi thang hang nhau.
   Gach chan xu ly y het .step__link o khoi buoc: chi gach het CHU, khong keo qua
   mui ten, va tren may tinh thi giau san, lia chuot toi khoi moi hien. */
/* San 11px, cung ly do voi .pz__price span */
.pz__more{display:inline-flex;align-items:center;gap:calc(6px * var(--pzs));margin-top:auto;
  padding-top:calc(14px * var(--pzs));
  font-size:max(11px,calc(14px * var(--pzs)));font-weight:600;color:#fff}
.pz__more>span:first-child{padding-bottom:2px;border-bottom:1px solid currentColor;transition:border-bottom-color .22s ease}
.pz__more>span:last-child{transition:transform .22s ease}
@media(hover:hover){
  .pz__more>span:first-child{border-bottom-color:transparent}
  .pz:hover .pz__more>span:first-child,
  .pz:focus-visible .pz__more>span:first-child{border-bottom-color:currentColor}
  .pz:hover .pz__more>span:last-child{transform:translateX(4px)}
}

/* Tren may tinh MOI the deu nam ngang: anh trai, chu phai.
   Truoc day 4 the nho xep doc, anh vuong chiem het be ngang nen the cao lenh khenh
   va thua rat nhieu khoang trong. Nam ngang thi lap day be ngang, the thap lai.
   .pz__more bo margin-top:auto tren may tinh, neu khong no bi day xuong tan day
   the, de lai mot mang trong giua chu va link. */
@media(min-width:768px){
  /* align-items:stretch chu khong phai center. Voi center thi cot chu chi cao bang
     noi dung, nen vach ngang tut xuong nam sat ngay tren dai bang, hai thu dinh nhau.
     Cho cot chu cao bang ca the thi vach ngang len dung mep tren, vach doc chay het
     chieu cao, hai duong thanh mot khung goc vuong gon gang.
     Anh phai align-self:center vi no co aspect-ratio co dinh, de stretch se meo. */
  .pz{flex-direction:row;align-items:stretch;gap:calc(22px * var(--pzs))}
  .pz__pic{align-self:center}
  /* Nam ngang thi vach ngan phai la duong DOC, khong phai duong ngang o tren */
  /* Giu CA HAI vach: ngang o dau cot chu, va doc ngan voi anh */
  /* Tren may tinh CHI con mot vach doc ngan anh voi noi dung.
     Da bo han vach ngang: no luon dinh vao vach doc thanh chu L, ma tach ra thi
     lai thanh hai net roi ro. Mot vach doc la du va sach. */
  .pz__body{flex:1;justify-content:center;padding-top:0;padding-left:calc(26px * var(--pzs));border:0;
    border-left:1px solid rgba(216,178,106,.32)}
  .pz__more{margin-top:calc(14px * var(--pzs));padding-top:0}
  .pz-grid .pz__pic{width:38%;max-width:calc(210px * var(--pzs))}
  .pz--hero{gap:calc(30px * var(--pzs));padding:calc(26px * var(--pzs))}
  .pz--hero .pz__pic{width:50%;max-width:calc(530px * var(--pzs))}
  /* Dai bang nhich len 20% chieu cao cua chinh no. Dung transform chu khong dung
     margin am: margin theo phan tram thi tinh theo CHIEU RONG khoi cha, se vot len
     rat xa. transform thi tinh dung theo chieu cao cua chinh the. */
  .pz--hero .pz__rank{transform:translateY(-20%)}
  .pz--hero .pz__name{font-size:calc(23px * var(--pzs))}
  .pz--hero .pz__price{font-size:calc(34px * var(--pzs))}
  .pz--hero .pz__qty{font-size:calc(16px * var(--pzs))}
}

/* Chi may tinh moi co hieu ung lia chuot, man hinh cam ung :hover bi dinh lai */
@media(hover:hover){
  .pz:hover{border-color:var(--gold);background:rgba(0,0,0,.34);transform:translateY(-3px)}
  .pz:hover .pz__pic img{animation:none;transform:scale(1.12)}
  .pz:hover .pz__more>span{transform:translateX(4px)}
}
/* ===== The giai Dac biet: dai bang to, can giua, va anh sang =====
   Dai bang chiem gan het be ngang cot chu chu khong con nam nep mot goc.
   Anh sang lam bang radial-gradient tren pseudo-element, KHONG dung box-shadow. */
.pz--hero{position:relative;overflow:hidden}
/* Quang sang hat tu goc tren phai, giong tia sang trong poster */
.pz--hero::before{content:"";position:absolute;top:-40%;right:-14%;width:70%;height:150%;pointer-events:none;
  background:radial-gradient(ellipse at center,rgba(247,226,154,.20) 0%,rgba(242,215,128,.07) 42%,rgba(242,215,128,0) 68%)}
/* Vet sang mong chay ngang duoi day the */
.pz--hero::after{content:"";position:absolute;left:8%;right:8%;bottom:0;height:2px;pointer-events:none;
  background:linear-gradient(90deg,transparent 0%,rgba(242,215,128,.75) 50%,transparent 100%)}
.pz--hero>*{position:relative;z-index:1}
.pz--hero .pz__rank{align-self:stretch;text-align:center;font-size:18px;padding:21px 26px;letter-spacing:3px;
  clip-path:polygon(16px 0,100% 0,calc(100% - 16px) 100%,0 100%)}
/* Quang sang sau ghe iFiT manh hon cac giai khac cho no bat len */
.pz--hero .pz__pic::before{background:radial-gradient(circle at 50% 52%,rgba(252,238,186,.68) 0%,rgba(246,212,120,.32) 36%,rgba(242,215,128,.10) 58%,rgba(242,215,128,0) 78%)}

.pz:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* ===== Tieu de khoi buoc =====
   Dong bo voi tieu de khoi giai thuong: can giua, hai vach nhat dan ve hai dau.
   KHONG dung vang kim va KHONG them quang sang nhu khoi tren, vi day la nen kem
   sang: vang kim tren kem khong doc duoc, con quang vang chi ra mot vet nho nho. */
/* ⚠️ Khoi buoc dung .sec--tight (padding-top:0) nen truoc day dong "CACH THAM GIA"
   dinh sat mep duoi cua section do o tren. Day ra 20px. Dung #thele chu khong sua
   .sec--tight, vi do la lop dung chung, sua no la anh huong cho khac.
   Le nay la nen KEM, khong phai vach ngan: no chi la khoang tho. */
#thele{padding-top:20px}
.st-head{text-align:center;max-width:640px;margin:0 auto}
.st-head__eb{display:flex;align-items:center;justify-content:center;gap:14px;margin:0 0 14px;
  font-size:12px;line-height:1;letter-spacing:2.6px;text-transform:uppercase;color:var(--red);font-weight:600}
.st-head__eb::before,.st-head__eb::after{content:"";width:52px;height:1px;flex:none}
.st-head__eb::before{background:linear-gradient(90deg,transparent,var(--red))}
.st-head__eb::after{background:linear-gradient(90deg,var(--red),transparent)}
.st-head__sub{margin:14px 0 0;font-size:15px;color:var(--gray)}
@media(min-width:768px){.st-head__sub{font-size:17px}}

/* steps
   Ba khoi chay tu sang sang toi theo mach cau chuyen: kem -> do -> den.
   Vien luon day 2px, luc thuong to gan mau nen nen nhin nhu vien mong.
   Khi di chuot, bam, hoac tab toi thi doi sang mau nhan de bao "dang o khoi nay".
   Day 2px co dinh, doi mau vien khong lam xo lech bo cuc.
   Mau chu tung khoi deu phai khai bao rieng, neu khong so va link mau do
   se chim mat tren nen do o khoi 2. */
.steps{display:grid;gap:12px;margin-top:32px}
@media(min-width:768px){.steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}}
/* ⚠️ Xep DOC o ca hai kho man hinh. Truoc day dien thoai xep ngang (huy hieu trai,
   chu phai) vi huy hieu chi la mot con so rong 54px. Nay nhan la dai ruy bang
   "BUOC 1" rong khoang 130px, de nam canh chu thi cot chu bi bop qua hep. */
.step{display:flex;flex-direction:column;gap:12px;padding:19px;border:2px solid var(--line);border-radius:14px;background:var(--white);transition:border-color .22s ease,transform .22s ease}
/* Nhan buoc dung CHUNG MOT BO MAT voi dai hang giai .pz__rank: cung hinh cat vat
   12px, cung vet sang nhip 3.6s, cung chu hoa gian cach 2px, cung bo goc 4px.
   Day la diem nhan dien lap lai nhieu nhat cua trang (nut CTA tren banner, dai
   hang giai, ruy bang nap hop qua), dung no de noi khoi buoc voi phan tren.
   ⚠️ Mau nhan doi theo tung khoi vi tuong phan: khoi 1 nen kem sang nen PHAI dung
   do, hai khoi kia nen toi nen dung duoc vang kim. Xem chu thich tung khoi o duoi. */
.step__n{position:relative;overflow:hidden;flex:none;align-self:flex-start;
  padding:11px 26px;border-radius:4px;
  clip-path:polygon(12px 0,100% 0,calc(100% - 12px) 100%,0 100%);
  font-size:15px;font-weight:700;line-height:1;letter-spacing:2px;text-transform:uppercase;
  transform-origin:center;transition:transform .22s ease}
/* Vet sang chay qua mat huy hieu, cung nhip 3.6s voi dai bang giai thuong */
.step__n::after{content:"";position:absolute;top:0;bottom:0;left:0;width:60%;pointer-events:none;
  background:linear-gradient(104deg,transparent 0%,rgba(255,255,255,.70) 50%,transparent 100%);
  animation:sheen 3.6s ease-in-out infinite}
/* Luat giam chuyen dong dung dau * nen khong voi toi pseudo-element */
@media(prefers-reduced-motion:reduce){.step__n::after{animation:none;opacity:.3}}
/* Vach ngan tieu de voi phan noi dung. Mau vach khai bao rieng tung khoi o duoi. */
.step__t{font-size:16px;font-weight:600;margin:0;padding-bottom:11px;border-bottom:1px solid var(--line)}
.step__d{font-size:13px;color:var(--gray);margin:11px 0 0}
/* Chu va mui ten tach lam 2 the span. Gach chan dat rieng tren span chu nen chi
   chay het chu, khong keo qua mui ten. Dung border chu khong dung text-decoration
   vi the link la inline-flex, text-decoration khong an sang cac flex item. */
.step__link{display:inline-flex;align-items:center;gap:6px;margin-top:12px;font-size:14px;font-weight:600;color:var(--red);text-decoration:none;min-height:24px}
.step__link>span:first-child{padding-bottom:2px;border-bottom:1px solid currentColor;transition:border-bottom-color .22s ease}
.step__link>span:last-child{transition:transform .22s ease}
/* Tren may tinh 3 o luoi tu keo cao bang nhau. Cho o noi dung gian het chieu cao con lai
   roi day link xuong day, the la "Mo bai viet" va "Theo doi fanpage" nam dung mot hang
   du doan mo ta dai ngan khac nhau. Tren dien thoai 3 khoi xep doc, khong can dong hang.
   Khoi nay PHAI dat sau .step__link o tren, vi margin-top:auto va margin-top:12px cung
   do manh, cai nao viet sau thi thang. Doi cho len tren la link tut ve cho cu. */
@media(min-width:768px){
  .step__body{flex:1;display:flex;flex-direction:column}
  .step__link{margin-top:auto;padding-top:14px}
}
/* MAY TINH: gach chan giau san, lia chuot toi khoi thi khoi nang len va gach chan hien ra
   cung luc, mui ten truot sang phai.
   MAN HINH CAM UNG: khong co :hover nen gach chan de hien san, giau di la khach khong
   biet do la link bam duoc.
   Giau bang border-bottom-color:transparent chu KHONG phai border:none.
   Bo han duong vien se lam chu nhay len khi hien gach. */
@media(hover:hover){
  .step__link>span:first-child{border-bottom-color:transparent}
  .step:hover .step__link>span:first-child,
  .step:focus-within .step__link>span:first-child{border-bottom-color:currentColor}
  .step:hover .step__link>span:last-child{transform:translateX(4px)}
}

/* Khoi 1: kem trang nga vang kim nhat. Vang chi lam nen, chu van den. */
.step--s1{background:radial-gradient(circle at 88% 6%,rgba(216,178,106,.34) 0%,rgba(216,178,106,0) 46%),
            linear-gradient(160deg,#FFFDF8 0%,#F0E2C6 100%);border-color:#EADCC0}
/* ⚠️ Khoi 1 KHONG dung duoc ruy bang vang: vang kim dat tren the nen kem la hai mau
   sang nam canh nhau, dai ruy bang nhoe vao nen, nhin nhu vet o chu khong ra cai nhan.
   Nen no giu ruy bang DO chu trang. Hinh dang, do nghieng, vet sang thi giong het
   hai khoi kia, chi khac mau.
   ⚠️ Dai do da lam SAM di ngay 14/08/2026. Ban cu chay tu #F4565C qua #ED1C24:
   chu trang tren #ED1C24 chi dat 4.38:1, duoi nguong 4.5. Truoc do thoat vi chu la
   con so 24px (chu to chi can 3.0), nhung chu ruy bang moi chi 15px nen khong thoat
   nua. Dai moi #D0181F -> #9E1016 do duoc 5.48:1 tro len o moi diem. */
.step--s1 .step__n{background:linear-gradient(180deg,#D0181F 0%,#B81319 55%,#9E1016 100%);color:#fff}
.step--s1 .step__t{border-bottom-color:#B08D4E}
/* Khoi 2: do thuong hieu -> do sam. Do hoi sam hon #ED1C24 de chu trang du tuong phan. */
/* ⚠️ Khoi 2 dung quang TOI chu khong phai quang sang nhu hai khoi kia.
   Chu trang tren do #E31B22 chi dat 4.72:1, gan sat nguong 4.5. Do sang len du
   chi 10% la tut xuong duoi nguong. Quang toi thi nguoc lai, chu con de doc hon.
   Muc sang toi da con an toan da do: khoi 1 la 36%, khoi 2 chi 6%, khoi 3 la 33%. */
.step--s2{background:radial-gradient(circle at 88% 6%,rgba(108,8,14,.40) 0%,rgba(108,8,14,0) 48%),
            linear-gradient(160deg,#E31B22 0%,#9E1016 100%);border-color:rgba(255,255,255,.20)}
/* ⚠️ Chu tren nhan la #7C0103, KHONG duoc gop .step__n vao nhom to trang ben duoi.
   Ban cu gop chung nen chu trang de len nen vang, do duoc 1.15:1, gan nhu khong doc
   duoc. Da sua 14/08/2026. Do sam tren vang dat 5.76:1 tro len. */
.step--s2 .step__n{background:linear-gradient(180deg,#C9962F 0%,#EDCA72 16%,#FBF0C4 40%,#F0CE79 52%,#D8A64D 74%,#C9962F 88%,#E3BB6A 100%);color:#7C0103}
.step--s2 .step__t,.step--s2 .step__link{color:#fff}
.step--s2 .step__t{border-bottom-color:rgba(255,255,255,.70)}
/* Trang dac, khong lam mo. Mo 92% chi con 4.16:1 tren dau sang cua gradient, duoi nguong. */
.step--s2 .step__d{color:#fff}
/* Khoi 3: den nga am -> den. Vang kim chi dung o day, tren nen toi. */
.step--s3{background:radial-gradient(circle at 88% 6%,rgba(247,226,154,.30) 0%,rgba(247,226,154,0) 46%),
            linear-gradient(160deg,#322D2E 0%,#231F20 100%);border-color:rgba(216,178,106,.30)}
/* ⚠️ Cung loi nhu khoi 2 nhung nang hon: ban cu gop .step__n vao nhom to vang kim,
   thanh ra chu vang de len nen vang, do duoc 1.34:1, gan nhu khong nhin thay con so.
   Da sua 14/08/2026. Nhan phai la do sam tren vang, y het khoi 2. */
.step--s3 .step__n{background:linear-gradient(180deg,#C9962F 0%,#EDCA72 16%,#FBF0C4 40%,#F0CE79 52%,#D8A64D 74%,#C9962F 88%,#E3BB6A 100%);color:#7C0103}
.step--s3 .step__t{color:#fff;border-bottom-color:rgba(216,178,106,.75)}
.step--s3 .step__link{color:var(--gold)}
.step--s3 .step__d{color:rgba(255,255,255,.86)}

/* Trang thai "dang o khoi nay".
   :focus-within va .is-on chay o moi thiet bi. Rieng :hover khoa trong
   @media(hover:hover), vi tren man hinh cam ung :hover con dinh lai sau khi cham,
   de lai 2 khoi cung sang mot luc.
   .is-on do app.js gan khi cham tay. */
.step:focus-within,.step.is-on{transform:translateY(-3px)}
.step:focus-within .step__n,.step.is-on .step__n{transform:scale(1.06)}
.step--s1:focus-within,.step--s1.is-on{border-color:var(--ink)}
.step--s2:focus-within,.step--s2.is-on{border-color:#fff}
.step--s3:focus-within,.step--s3.is-on{border-color:var(--gold)}
@media(hover:hover){
  .step:hover{transform:translateY(-3px)}
  .step:hover .step__n{transform:scale(1.06)}
  .step--s1:hover{border-color:var(--ink)}
  .step--s2:hover{border-color:#fff}
  .step--s3:hover{border-color:var(--gold)}
}

/* ===== VUNG FORM: nen la anh designer, tam form trang de len khoang trong =====
   Tu 13/08/2026 doan dan khong con viet bang HTML nua, no da nam san trong anh
   thiet kế. Anh phu het be ngang o tren, phan duoi anh de trong co y, tam form
   trang de len dung cho trong do.

   ⚠️ MOC DAY FORM XUONG (padding-top) DO BANG MAY TU FILE ANH, khong uoc luong.
   Cach do: quet do lech mau (do lech chuan) tung hang ngang, hang nao gan bang 0
   la hang trong.
     mobile  assets/form/form-mobile.jpg  1080x2433, noi dung het o y=1055
             1055/1080 = 97.7% be rong  ->  padding-top 108%, cach ~10% (39px o may 390)
     desktop assets/form/form-desktop.jpg 1920x1240, noi dung het o y=922
             922/1920 = 48.0% be rong   ->  padding-top 53%,  cach ~5% (72px o may 1440)
   Dung don vi % vi % cua padding tinh theo BE RONG khoi cha, tuc bang be rong
   man hinh. Anh cung giãn theo be rong, nen hai thu luon khop o moi khổ man hinh.
   ⚠️ Doi anh khac thi phai quet lai moc nay roi sua hai con so tren.

   Mau nen chay tiep ben duoi anh cung do bang may tu chinh day file anh:
   mobile #510101, desktop #2D0303. Form dai hon anh nen phan thua phai co mau
   noi lien, khong duoc de lo nen kem.

   ⚠️ #510101 sang gan y het Footer #231F20 (ti le 1.05), de canh nhau la Footer
   bien mat. Vi vay Footer co them vach vang kim o mep tren, xem muc "footer". */
.formzone{position:relative;overflow:hidden;background:#510101;padding:108% 0 var(--sec-y)}
.formzone__bg{position:absolute;top:0;left:0;width:100%;z-index:0}
.formzone__bg img{width:100%;height:auto}
.formzone .narrow{position:relative;z-index:1}
/* Vien vang kim thay cho vien kem: tam trang nam tren nen do sam, vien kem
   se thanh mot quang sang nhat nhoa. Vang kim vua noi vua noi voi khoi giai thuong. */
.formcard{border:1px solid rgba(216,178,106,.55);border-radius:14px;overflow:hidden}
/* Hai nhom "Thong tin cua ban" va "Anh, cau chuyen va loi chuc" la HAI tam roi,
   khe ho de lo nen do cua anh designer. Truoc day chung mot tam, ngan nhau bang
   mot soi chi mau gan bang mau nen nen hai nhom van dinh liem vao nhau. */
.formcard + .formcard{margin-top:20px}
/* Tren dien thoai o trong danh cho anh nen la thua, anh mobile khong chia hai cot */
.fgrid__pic{display:none}
@media(min-width:900px){.fgrid__pic{display:block}}
/* Vo boc hai tam duoi. Tu 14/08/2026 no la MOT tam trang duy nhat o CA HAI kho
   man hinh: dien thoai thi hai nua xep doc, may tinh thi xep ngang.
   Vo giu nen trang, vien vang va bo goc; hai tam ben trong bi go het nen, vien,
   bo goc va le, neu khong se thanh hai cai hop long trong mot cai hop. */
.fgrid__bot{margin-top:20px;background:var(--white);
  border:1px solid rgba(216,178,106,.55);border-radius:14px;overflow:hidden}
.fgrid__bot .formcard{border:0;border-radius:0;margin:0;max-width:none}
.formpanel{background:var(--white);padding:22px}
.formpanel__h{font-size:22px}
.fgroup{margin-top:20px}
.fgroup .field:last-child{margin-bottom:0}
@media(min-width:768px) and (max-width:899px){
  /* Khoang giua: van xep doc nhu dien thoai, chi noi cot form ra mot chut. */
  .formzone{background:#2D0303;padding-top:53%}
  .formzone .narrow{max-width:680px}
  .formcard + .formcard{margin-top:26px}
  .formpanel{padding:32px}
  .formpanel__h{font-size:26px}
}
/* ===== BO CUC HAI COT CHO VUNG FORM, CHI TREN MAY TINH =====
   Anh nen desktop co phan anh nam o NUA TRAI, nua phai va nua duoi de trong.
   Do bang may tren file 1920x1240: noi dung ben trai het o x=902 tuc 47% be rong,
   het theo chieu doc o y=922 tuc 48.05% BE RONG (khong phai chieu cao, vi anh
   giãn theo be rong).

   Luoi 2 cot deu nhau, chia dung 50% man hinh nen khop voi hai nua cua anh:
     hang 1: o trai BO TRONG cho anh          | Thong tin cua ban
     hang 2: Anh, cau chuyen va loi chuc      | Gui bai + dong y dieu khoan
   O trong hang 1 la .fgrid__pic, khong co chu, chi de day hang 1 xuong cho du cao.

   ⚠️ .fgrid__pic cao 102% BE RONG O cua no, khong phai mot so px co dinh.
   O rong xap xi mot nua man hinh nen 102% cua o xap xi 51% be rong man hinh,
   phu duoc 48.05% ma anh can, con du khoang 3% lam khoang ho. Da thu o cac kho
   1400, 1880, 2560 deu con ho 26-36px. De px co dinh thi man hinh hep se cho
   the "Anh, cau chuyen" de len bong sen trong anh. */
@media(min-width:900px){
  /* ===== HE SO THU NHO VUNG FORM, CHI TREN MAY TINH (14/08/2026) =====
     Dien thoai va may tinh bang doc KHONG doi mot ly nao: --fzs chi khai bao
     trong khoi @media nay. Moi luat deu viet .formzone .xxx de khong dung toi
     man hinh cam on va cac khoi khac dang dung chung class .field .control .btn.

     ⚠️ CHI thu nho RUOT: chu, dem, chieu cao o nhap, khung tai anh, nut.
     BE NGANG BA TAM TRANG GIU NGUYEN, va tuyet doi khong dong vao .fgrid gap,
     .fgrid__pic padding-top, hay .narrow padding. Nen vung form la anh designer,
     phan hinh nam o NUA TRAI man hinh; luoi chia 50/50 va o trong cao 102% be rong
     o la de khop voi anh do. Bop cot hep lai la khoi "Anh, cau chuyen" truot len
     de len bong sen. Day la thu da tung hong, xem CLAUDE.md. */
  .formzone{--fzs:.75}
  .formzone{background:#2D0303;padding-top:calc(40px * var(--fzs))}
  .formzone .narrow{max-width:none;padding:0 40px}
  .fgrid{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}
  .fgrid__pic{padding-top:102%}
  .formcard{max-width:none;margin:0}
  .fgrid__pic{grid-area:1/1}

  /* ===== VI TRI HAI TAM TRANG (14/08/2026) =====
     Yeu cau: nhin tong the can bang, VA mep phai tam don phai thang hang voi mep
     phai tam doi.

     ⚠️ De thang hang TUYET DOI thi ca hai tam phai vat CUNG MOT o luoi (1/-1) roi
     day vao bang width + margin-right, deu tinh theo phan tram cua CUNG mot be rong.
     Ke ca .formcard--tt, du no chi nam o nua phai.
     ⚠️ CHI CO MOT CON SO PHAI CHINH: --bot, be rong tam doi. Hai thu con lai suy ra
     tu no bang calc, dung sua tay:
       tam don  width  = --bot / 2          (luon bang nua tam doi)
       ca hai   margin = (100% - --bot) / 2 (chia deu phan du hai ben)
     Goi G la be rong luoi, hien --bot = 80.5%:
       tam doi: 80.5% + le 9.75%  -> chiem tu 0.0975G den 0.9025G
       tam don: 40.25% + le 9.75% -> chiem tu 0.5000G den 0.9025G

     Ba thu dung cung luc, va dung o MOI gia tri cua --bot chu khong rieng 80.5%:
       1. Hai mep phai trung nhau tuyet doi, ca hai deu het o 100% - le.
       2. Tam tam doi trung tam trang, vi le hai ben bang nhau.
       3. Mep trai tam don LUON o dung 0.50G. Chung minh: width + margin
          = bot/2 + (100-bot)/2 = 50%, khong phu thuoc bot. Nho vay tam don khong
          bao gio de len o trong .fgrid__pic (het o 0.50G - 14), tuc khong bao gio
          de len phan hinh cua anh nen. Day la ly do phai giu luat "tam don bang
          nua tam doi", doi luat do la mat ca ba tinh chat tren.

     ⚠️ Ngay 14/08/2026 da thu ha le ve 0 cho ca hai dich sang phai, nhin lech han,
     va da tra lai. Muon dich thi doi --bot, dung dong vao margin-right.

     ⚠️ Da thu hai cach khac va deu SAI vai pixel, dung quay lai:
       - moi tam can giua o cua no: hai muc can khac nhau, lech han chuc pixel.
       - de tam don o cot 2 roi cho margin-right phan tram: phan tram do tinh theo
         BE RONG COT chu khong phai be rong luoi, ma cot = (G-28)/2 chu khong phai
         G/2, sai so tu cai khe 28px, lech khoang 3-4px.

     ⚠️ Tam don vat 1/-1 nhung KHONG de len o trong .fgrid__pic: o trong het o
     0.50G - 14 (nua luoi tru nua khe), tam don bat dau dung o 0.50G. Vua khit.
     ⚠️ Van chi dinh thang bang grid-area, khong de luoi bam theo thu tu HTML. */
  .fgrid{--bot:80.5%}
  .formcard--tt{grid-area:1/1/2/-1;width:calc(var(--bot) / 2);justify-self:end;
    margin-right:calc((100% - var(--bot)) / 2)}
  .fgrid__bot  {width:var(--bot);justify-self:end;
    margin-right:calc((100% - var(--bot)) / 2)}
  /* Hang 2 la MOT tam trang duy nhat vat het chieu ngang, ben trong lai chia doi:
     trai la anh + cau chuyen, phai la gui bai + dieu khoan.
     Vo boc giu nen trang, vien vang va bo goc; hai tam ben trong bo het nen vien
     di de khong con thay hai cai hop long nhau. Dem 32px cua .formpanel van giu,
     nen giua hai nua tu co khe trang 64px, khong can ke them vach nao. */
  .fgrid__bot{grid-column:1/-1;margin-top:0;display:grid;grid-template-columns:1fr 1fr;align-items:start}
  /* ⚠️ Day nut gui xuong cho ngang hang voi khung tai anh o nua trai.
     80px la TONG chieu cao nhung thu dung tren khung do trong nua trai, tinh tu
     so that chu khong uoc luong:
       h2 26px x line-height 1.12 = 29.1
       .fgroup margin-top          = 20
       nhan 14px x line-height 1.6 = 22.4
       le duoi cua nhan            = 8
                                     ----
                                     79.5  -> lam tron 80
     Doi co chu h2, doi le .fgroup hay le nhan thi phai cong lai con so nay.
     ⚠️ Ca bon thu tren deu nhan --fzs nen tong cung nhan --fzs, van ngang hang.
     ⚠️ Tru nhan 14px: no bi SAN 12px chan lai (xem duoi), tuc 12 chu khong phai 10.5.
     Tinh lai cho dung: 29.1x.75 + 20x.75 + 12x1.6 + 8x.75 = 21.8+15+19.2+6 = 62. */
  #submit{margin-top:62px}
  /* Chi dinh thang trai phai thay vi de luoi bam theo thu tu HTML, de sau nay co
     doi thu tu trong HTML thi bo cuc khong tu lat nguoc ma khong ai biet. */
  .fgrid__bot .formcard--ch {grid-column:1}
  .fgrid__bot .formcard--gui{grid-column:2}
  .formcard + .formcard{margin-top:0}
  .formpanel{padding:calc(32px * var(--fzs))}
  .formpanel__h{font-size:calc(26px * var(--fzs))}
  .formzone .formcard,
  .formzone .fgrid__bot{border-radius:calc(14px * var(--fzs))}
  .formzone .fgroup{margin-top:calc(20px * var(--fzs))}

  /* ===== Ruot form, thu nho 25% tren may tinh =====
     ⚠️ CO CHU CO SAN 12px, viet bang max(12px, calc(...)). Day la form khach phai
     doc va dien, khong phai nhan trang tri nhu ben khoi giai thuong nen san cao hon
     (12px thay vi 11px). Chu trong form dang la 13-14px, nhan du he so ra 9.75-10.5px,
     nhom khach trung nien khong doc noi.

     ⚠️ CHU TRONG O NHAP GIU NGUYEN 16px, day la rang buoc ky thuat chu khong phai
     tham my: Safari tren iPad TU PHONG TO ca trang khi khach bam vao o nhap co co chu
     duoi 16px, va khong tu thu lai. iPad ngang rong 1024px nen roi dung vao khoang
     may tinh. O nhap van thap di tu 52px xuong ~42px nho dem nho lai. */
  .formzone .field{margin-bottom:calc(20px * var(--fzs))}
  .formzone .field:last-child{margin-bottom:0}
  .formzone .field label{font-size:max(12px,calc(14px * var(--fzs)));
    margin-bottom:calc(8px * var(--fzs))}
  .formzone .opt{font-size:max(12px,calc(12px * var(--fzs)))}
  .formzone .control{min-height:calc(52px * var(--fzs));
    padding:calc(14px * var(--fzs)) calc(16px * var(--fzs))}
  .formzone textarea.control{min-height:calc(88px * var(--fzs))}
  .formzone .err,
  .formzone .hint,
  .formzone .counter{font-size:max(12px,calc(13px * var(--fzs)));margin-top:calc(6px * var(--fzs))}

  /* huong dan nho xo xuong trong form */
  .formzone .howto{margin-top:calc(8px * var(--fzs))}
  .formzone .howto summary{padding:calc(11px * var(--fzs)) calc(14px * var(--fzs));
    font-size:max(12px,calc(13px * var(--fzs)))}
  .formzone .howto__body{padding:calc(2px * var(--fzs)) calc(14px * var(--fzs)) calc(14px * var(--fzs));
    font-size:max(12px,calc(13px * var(--fzs)))}
  .formzone .howto ol{padding-left:calc(20px * var(--fzs))}
  .formzone .howto li{margin-bottom:calc(7px * var(--fzs))}
  .formzone .howto__last{margin-top:calc(12px * var(--fzs));padding-top:calc(10px * var(--fzs));
    font-size:max(12px,calc(13px * var(--fzs)))}

  /* khung tai anh */
  .formzone .drop{min-height:calc(160px * var(--fzs));gap:calc(10px * var(--fzs));
    padding:calc(20px * var(--fzs));font-size:max(12px,calc(14px * var(--fzs)))}
  .formzone .drop svg{width:calc(26px * var(--fzs));height:calc(26px * var(--fzs))}
  /* San 11px chu khong phai 12px nhu cho khac: dong chinh cua khung da tut ve 12px,
     de dong phu cung 12px thi mat thu bac. Day la dong bo sung, khong phai chu bat
     buoc phai doc, nen 11px chap nhan duoc. */
  .formzone .drop__sub{font-size:max(11px,calc(13px * var(--fzs)))}
  .formzone .preview__bar{gap:calc(12px * var(--fzs));margin-top:calc(10px * var(--fzs))}
  .formzone .preview__name{font-size:max(12px,calc(13px * var(--fzs)))}
  .formzone .linkbtn{font-size:max(12px,calc(14px * var(--fzs)));padding:calc(6px * var(--fzs)) 0}

  /* o tich dong y. Dau tich ben trong phai nho theo o, khong thi no lech ra ngoai. */
  .formzone .check{gap:calc(12px * var(--fzs))}
  .formzone .check input{width:calc(20px * var(--fzs));height:calc(20px * var(--fzs))}
  .formzone .check input:checked::after{left:calc(6px * var(--fzs));top:calc(2px * var(--fzs));
    width:calc(5px * var(--fzs));height:calc(10px * var(--fzs))}
  .formzone .check span{font-size:max(12px,calc(14px * var(--fzs)))}

  /* nut gui va bao loi */
  .formzone .btn{min-height:calc(54px * var(--fzs));padding:0 calc(24px * var(--fzs))}
  .formzone .sendbox{margin-top:calc(12px * var(--fzs))}
  .formzone .sendErr{font-size:max(12px,calc(14px * var(--fzs)))}

  /* hai khoi the le xo xuong duoi o tich */
  .formzone .disc summary{padding:calc(18px * var(--fzs)) 2px;
    font-size:max(12px,calc(15px * var(--fzs)))}
  .formzone .disc__body{padding:0 calc(10px * var(--fzs)) calc(20px * var(--fzs)) 2px;
    font-size:max(12px,calc(14px * var(--fzs)));max-height:calc(440px * var(--fzs))}
  .formzone .disc__body h4{font-size:max(12px,calc(14px * var(--fzs)));
    margin:calc(20px * var(--fzs)) 0 calc(8px * var(--fzs))}
  .formzone .disc__body p{margin:0 0 calc(10px * var(--fzs))}
  .formzone .disc__body ul,
  .formzone .disc__body ol{margin:0 0 calc(10px * var(--fzs));padding-left:calc(20px * var(--fzs))}
  .formzone .disc__body li{margin-bottom:calc(6px * var(--fzs))}
  .formzone .disc__body .row{gap:calc(14px * var(--fzs));padding:calc(9px * var(--fzs)) 0}
}

/* form */
.field{margin-bottom:20px}
.field:last-child{margin-bottom:0}
.field label{display:block;font-size:14px;font-weight:600;margin-bottom:8px}
.req{color:var(--red);font-weight:400}
/* Nhan "khong bat buoc". Xam nhat va nho hon nhan, de no khong tranh voi ten truong.
   Xam #6B6462 tren nen trang dat 5.32:1, thoai mai cho chu nho. */
.opt{color:var(--gray);font-weight:400;font-size:12px;text-transform:lowercase}
.control{width:100%;min-height:52px;padding:14px 16px;font-size:16px;background:var(--white);border:1px solid var(--line);border-radius:var(--r);color:var(--ink);transition:border-color .2s ease}
.control::placeholder{color:var(--line-dark)}
.control:hover{border-color:var(--line-dark)}
.control:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}
textarea.control{min-height:88px;resize:vertical;line-height:1.5}
.field.is-bad .control{border-color:var(--err);box-shadow:none}
.err{display:none;font-size:13px;color:var(--err);margin:6px 0 0}
.field.is-bad .err{display:block}
.hint{font-size:13px;color:var(--gray);margin:6px 0 0}

/* hướng dẫn nhỏ trong form */
.howto{margin:8px 0 0;border:1px solid var(--line);border-radius:var(--r);background:var(--cream)}
.howto summary{display:flex;align-items:center;gap:8px;padding:11px 14px;font-size:13px;font-weight:600;color:var(--ink);cursor:pointer;list-style:none}
.howto summary::-webkit-details-marker{display:none}
.howto summary::before{content:"";width:8px;height:8px;border-right:2px solid var(--red);border-bottom:2px solid var(--red);transform:rotate(-45deg);flex:none;margin-left:2px;transition:transform .2s ease}
.howto[open] summary::before{transform:rotate(45deg)}
.howto__body{padding:2px 14px 14px;font-size:13px;color:var(--gray);line-height:1.65}
.howto ol{margin:0;padding-left:20px}
.howto li{margin-bottom:7px}
.howto li:last-child{margin-bottom:0}
.howto b{color:var(--ink);font-weight:600}
.howto__last{margin:12px 0 0;padding-top:10px;border-top:1px solid var(--line);font-size:13px}
.counter{font-size:13px;color:var(--gray);text-align:right;margin:6px 0 0}
.counter.is-max{color:var(--err)}

/* upload */
.drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:160px;border:1px dashed var(--line-dark);border-radius:var(--r);background:var(--cream);color:var(--gray);font-size:14px;text-align:center;padding:20px;transition:border-color .2s ease,background .2s ease;width:100%}
.drop:hover{border-color:var(--ink);background:var(--white)}
.drop svg{width:26px;height:26px;stroke:var(--gray);fill:none;stroke-width:1.5}
/* Dong phu trong khung tai anh. Truoc day viet style="font-size:13px" thang trong
   HTML, ma style inline thi de bep moi luat CSS: tren may tinh dong chinh tut xuong
   12px con dong phu van 13px, thanh ra chu phu TO HON chu chinh. */
.drop__sub{font-size:13px}
.preview{display:none}
.preview.on{display:block}
.preview__img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r);border:1px solid var(--line)}
.preview__bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}
.preview__name{font-size:13px;color:var(--gray);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.linkbtn{background:none;border:0;padding:6px 0;font-size:14px;font-weight:600;color:var(--red);text-decoration:underline;flex:none}

/* consent */
.check{display:flex;gap:12px;align-items:flex-start;padding:4px 0;cursor:pointer}
.check+.check{margin-top:14px}
.check input{appearance:none;width:20px;height:20px;flex:none;margin:2px 0 0;border:1px solid var(--ink);border-radius:4px;background:var(--white);position:relative;cursor:pointer}
.check input:checked{background:var(--ink)}
.check input:checked::after{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.check span{font-size:14px;line-height:1.5}
.check.is-bad span{color:var(--err)}

/* popup */
select.control.is-empty{color:var(--line-dark)}
select.control option{color:var(--ink)}
select.control option[value=""]{color:var(--line-dark)}

/* báo lỗi khi gửi */
.sendbox{margin-top:12px}
.sendErr{display:none;font-size:14px;color:var(--err);text-align:center;margin:0;line-height:1.5}
.sendErr.on{display:block}

/* màn hình cảm ơn */
.thanks{display:none;padding:var(--sec-y) 0}
.thanks.on{display:block}
.thanks__box{text-align:center}
.code-box{background:var(--white);border:2px solid var(--ink);border-radius:var(--r);padding:24px;margin:28px 0 0}
.code-box__lab{font-size:12px;letter-spacing:2.4px;text-transform:uppercase;color:var(--gray);font-weight:600;margin:0}
.code-box__val{font-size:34px;font-weight:700;letter-spacing:.02em;margin:10px 0 0;line-height:1.1}
@media(min-width:768px){.code-box__val{font-size:42px}}
/* khung anh ky niem ghep bang canvas */
.frame{margin-top:20px;border:1px solid var(--line);border-radius:var(--r);background:var(--cream);overflow:hidden}
.frame__cv{display:none;width:100%;height:auto;aspect-ratio:1/1}
.frame.on .frame__cv{display:block}
/* Anh thanh pham thay cho canvas sau khi da luu. Ly do khong de nguyen canvas:
   tren dien thoai, nhan giu vao canvas KHONG ra menu "Luu vao Anh", chi anh <img>
   moi ra. Day la duong cuu canh cuoi cung khi ca Web Share lan thuoc tinh download
   deu khong dung duoc, hay gap o trinh duyet nam trong Zalo va Facebook. */
.frame__out{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover}
.frame.on{border-color:var(--line)}
.frame__wait{margin:0;padding:40px 20px;text-align:center;font-size:13px;color:var(--gray)}
.frame.on .frame__wait{display:none}
/* keo anh bang ngon tay, chan trinh duyet tu cuon trang khi dang keo */
.frame.on .frame__cv{cursor:grab;touch-action:none}
.frame.on .frame__cv:active{cursor:grabbing}
.frame__tools{margin-top:14px}
.frame__hint{margin:0;font-size:13px;color:var(--gray);text-align:center;line-height:1.5}
.frame__zoom{display:flex;align-items:center;gap:12px;margin:12px 0 0;color:var(--gray);font-size:16px}
.frame__zoom input{flex:1;accent-color:var(--red);height:22px}
.frame__row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 16px;min-height:24px}
.frame__state{font-size:13px;color:var(--ok);text-align:right}
/* Mau mac dinh la xanh thanh cong, nen bao loi phai co class rieng doi sang cam */
.frame__state.is-bad{color:var(--err)}
#frameDl{margin:12px auto 0}

/* khối trong màn hình cảm ơn */
.tk-block{margin-top:36px;text-align:left}
.tk-head{font-size:12px;letter-spacing:2.4px;text-transform:uppercase;color:var(--gray);font-weight:600;margin:0 0 14px;text-align:center}
.tk-note{font-size:13px;color:var(--gray);line-height:1.6;margin:12px 0 0;text-align:center}

.todo{border:1px solid var(--line);border-radius:var(--r);background:var(--white);overflow:hidden}
.todo__row{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;border-bottom:1px solid var(--line)}
.todo__row:last-child{border-bottom:0}
.todo__mark{width:24px;height:24px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;line-height:1;margin-top:1px}
.todo__mark--done{background:var(--ok);color:#fff}
.todo__mark--todo{background:var(--cream);border:1px solid var(--line-dark);color:var(--gray);font-size:14px}
.todo__t{font-size:15px;font-weight:600;margin:0}
.todo__row--done .todo__t{color:var(--gray)}
.todo__d{font-size:13px;color:var(--gray);margin:4px 0 0;line-height:1.5}
.todo__link{display:inline-flex;align-items:center;gap:6px;margin-top:10px;font-size:14px;font-weight:600;color:var(--red);text-decoration:none}
.todo__link:hover{text-decoration:underline}

/* carousel Smart AI o man hinh cam on. Vuot tay bang scroll-snap, khong dung thu vien ngoai. */
.carou{position:relative;margin:0 0 20px;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--cream)}
.carou__track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.carou__track::-webkit-scrollbar{display:none}
.carou__track img{flex:0 0 100%;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;scroll-snap-align:center;display:block}
.carou__nav{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;padding:0;border:1px solid var(--line);border-radius:50%;background:rgba(255,255,255,.92);color:var(--ink);font-size:20px;line-height:1;display:none;align-items:center;justify-content:center;transition:background .2s ease,border-color .2s ease}
.carou__nav:hover{background:#fff;border-color:var(--ink)}
.carou__nav--prev{left:10px}
.carou__nav--next{right:10px}
@media(min-width:768px){.carou__nav{display:flex}}
.carou__dots{position:absolute;left:0;right:0;bottom:10px;display:flex;justify-content:center;gap:7px}
.carou__dots button{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:rgba(35,31,32,.3);transition:background .2s ease,width .2s ease}
.carou__dots button.on{width:18px;border-radius:100px;background:var(--red)}
@media(prefers-reduced-motion:reduce){.carou__track{scroll-behavior:auto}}
.pcard{border:1px solid var(--line);border-radius:var(--r);background:var(--white);padding:24px;text-align:center}
.pcard__t{font-size:19px;font-weight:700;letter-spacing:-.01em;margin:0}
.pcard__d{font-size:14px;color:var(--gray);margin:10px 0 20px;line-height:1.6}
.pcard .btn{margin:0 auto}

/* trạng thái tải ảnh */
.up{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:16px;font-size:14px;color:var(--gray)}
.up__dot{width:9px;height:9px;border-radius:50%;flex:none;background:var(--line-dark)}
.up.is-busy .up__dot{background:var(--red);animation:pulse 1.1s ease-in-out infinite}
.up.is-ok .up__dot{background:var(--ok)}
.up.is-err .up__dot{background:var(--err)}
.up.is-ok .up__txt{color:var(--ok)}
.up.is-err .up__txt{color:var(--err)}
@keyframes pulse{50%{opacity:.25}}

.reveal{opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .5s ease}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* ===== BỔ SUNG VU LAN 2026 ===== */
/* gia giai thuong: do thuong hieu, dam va co lon. Khong dung vang kim vi vang chi doc duoc tren nen toi.
   Co chu toi thieu 19px de do tuong phan 4.1:1 van dat chuan chu co lon. */
/* chi rieng gia giai Dac biet dap nhip tim, giong nut CTA. Cac giai khac chi to do, khong dong. */
@media(min-width:900px){
}

/* popup giải thưởng */

/* thể lệ đầy đủ trong dropdown */
/* Hai khoi xo xuong "The le" va "Chinh sach". Bo marker mac dinh cua trinh duyet,
   thay bang mui ten tu ve de xoay duoc khi mo. */
.disc{border-top:1px solid var(--line)}
.disc:last-of-type{border-bottom:1px solid var(--line)}
.disc summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 2px;font-size:15px;font-weight:600;cursor:pointer;list-style:none;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.disc summary::-webkit-details-marker{display:none}
.disc summary:hover{color:var(--red)}
.disc summary::after{content:"";width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);flex:none;transition:transform .22s ease}
.disc[open] summary::after{transform:rotate(-135deg) translateY(-2px)}
.disc__body{padding:0 2px 20px;font-size:14px;color:var(--gray);line-height:1.65}
.disc__body p{margin:0 0 10px}
.disc__body p:last-child{margin:0}
.disc__body{max-height:440px;overflow-y:auto;padding-right:10px;overscroll-behavior:contain}
.disc__body h4{font-size:14px;font-weight:700;color:var(--ink);margin:20px 0 8px;line-height:1.4}
.disc__body h4:first-child{margin-top:0}
.disc__body ul,.disc__body ol{margin:0 0 10px;padding-left:20px}
.disc__body li{margin-bottom:6px}
.disc__body li:last-child{margin-bottom:0}
.disc__body b{color:var(--ink);font-weight:600}
.disc__body .row{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid var(--line)}
.disc__body .row:last-of-type{border-bottom:0}
.disc__body .row b{flex:1}
.disc__body .row span{flex:none;color:var(--gray);white-space:nowrap}

/* Thanh nut dinh day, CHI tren dien thoai. app.js bat tat bang class .on:
   hien khi tam form da vao khung nhin va nut gui that chua hien ra. */
.stick{position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--white);border-top:1px solid var(--line);padding:12px 20px calc(12px + env(safe-area-inset-bottom));transform:translateY(120%);transition:transform .25s ease;visibility:hidden}
.stick.on{transform:translateY(0);visibility:visible}
@media(min-width:768px){.stick{display:none}}

/* footer
   ⚠️ Vach vang kim o mep tren la BAT BUOC, khong phai trang tri.
   Vung form ket thuc bang do sam #510101 (mobile) / #2D0303 (desktop), do sang
   cua no gan y het Footer #231F20: ti le chi 1.05 va 1.14. Bo vach di thi Footer
   dinh liem vao vung form, nhin nhu trang bi cut.
   Vang kim #D8B26A do duoc: 8.15:1 tren Footer, 7.75:1 va 9.32:1 tren hai mau do. */
.foot{background:var(--ink);color:#fff;padding:44px 0;text-align:center;border-top:2px solid var(--gold)}
.foot img{height:24px;width:auto;margin:0 auto 16px}
.foot p{margin:0;font-size:14px;color:rgba(255,255,255,.72)}
.foot a{color:#fff;font-weight:600;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.35);padding-bottom:1px}
.foot a:hover{border-color:#fff}
.foot .fine{margin-top:10px;font-size:13px;color:rgba(255,255,255,.45)}

.counter.is-ok{color:var(--ok)}
