/* =========================================================
   Malloca Hồ Chí Minh – giao diện
   Than chì + thép + đỏ Malloca. Ảnh sản phẩm nền trắng đặt trên ô trắng.
   ========================================================= */
:root{
  --ink:#15171C;--ink2:#3A3F48;--mute:#6E747E;--line:#E3E5E8;--paper:#F4F5F7;--white:#fff;
  --red:#C8102E;--red2:#A50D25;--steel:#C9CED6;--ok:#1E8A4F;
  --r:12px;--r2:16px;--sh:0 1px 2px rgba(21,23,28,.06),0 6px 20px rgba(21,23,28,.06);--sh2:0 18px 44px rgba(21,23,28,.16);
  --font:"Be Vietnam Pro",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font-family:var(--font);font-size:15.5px;line-height:1.6;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
ul,ol{list-style:none}
:focus-visible{outline:3px solid var(--red);outline-offset:2px;border-radius:6px}
.wrap{max-width:1280px;margin:0 auto;padding:0 24px}
.sr,.skip{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip:focus{position:fixed;left:12px;top:12px;width:auto;height:auto;clip:auto;z-index:200;background:#fff;padding:10px 14px;border-radius:8px}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}

/* ---------- nút ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;flex-direction:column;gap:2px;min-height:48px;padding:0 22px;border-radius:10px;font-weight:600;font-size:15px;line-height:1.2;transition:background .2s,color .2s,border-color .2s}
.btn small{font-weight:400;font-size:12px;opacity:.9}
.btn-red{background:var(--red);color:#fff}.btn-red:hover{background:var(--red2)}
.btn-dark{background:var(--ink);color:#fff}.btn-dark:hover{background:#000}
.btn-line{border:1.5px solid var(--line);background:#fff}.btn-line:hover{border-color:var(--ink)}
.btn-ghost{border:1.5px solid rgba(255,255,255,.35);color:#fff}.btn-ghost:hover{border-color:#fff}

/* ---------- topbar & header ---------- */
.topbar{background:#0B0C0F;color:#9AA0AA;font-size:13px}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;height:36px;white-space:nowrap;overflow:hidden}
.topbar b{color:#fff;font-weight:600}
.tb-r{display:flex;gap:22px}.tb-r a:hover{color:#fff}
.hd{position:sticky;top:0;z-index:60;background:var(--ink);color:#fff;box-shadow:0 1px 0 rgba(255,255,255,.06)}
.hd-in{display:flex;align-items:center;gap:28px;height:76px}
.logo{display:flex;align-items:center;gap:12px;flex-shrink:0}
.lg-m{width:44px;height:44px;border-radius:10px;background:var(--red);color:#fff;display:grid;place-items:center;font-weight:800;font-size:24px;letter-spacing:-1px}
.lg-t{line-height:1.1}
.lg-t b{display:flex;align-items:baseline;gap:6px;font-size:21px;font-weight:800;letter-spacing:1.5px}
.lg-t b i{font-style:normal;font-weight:500;letter-spacing:0;font-size:15px;color:var(--red)}
.lg-t small{display:block;font-size:11.5px;color:var(--mute);margin-top:3px}
.search{flex:1;max-width:560px;position:relative}
.search input{width:100%;height:46px;border:1.5px solid transparent;border-radius:10px;color:var(--ink);padding:0 52px 0 16px;font:inherit;font-size:14.5px;background:var(--paper);outline:none;transition:border-color .2s,background .2s}
.search input:focus{border-color:var(--red);background:#fff}
.search button{position:absolute;right:4px;top:4px;width:38px;height:38px;border-radius:8px;background:var(--red);color:#fff;display:grid;place-items:center}
.sugg{position:absolute;left:0;right:0;top:52px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--sh2);display:none;max-height:440px;overflow:auto;z-index:70}
.sugg a{display:flex;gap:12px;align-items:center;padding:8px 12px;border-bottom:1px solid var(--paper);font-size:14px}
.sugg a:hover{background:var(--paper)}
.sugg img{width:48px;height:48px;object-fit:contain;mix-blend-mode:multiply}
.sugg .sp{color:var(--red);font-weight:700;font-size:13px}
.hd-act{display:flex;align-items:center;gap:6px;margin-left:auto}
.hot{display:flex;align-items:center;gap:10px;padding:6px 12px;border-radius:10px}
.hot svg{color:var(--red)}
.hot small{display:block;font-size:11.5px;color:#9AA0AA}
.hot b{font-size:17px;font-weight:700}
.cartbtn{position:relative;width:46px;height:46px;border-radius:10px;display:grid;place-items:center}
.cartbtn:hover,.hot:hover{background:rgba(255,255,255,.08)}
.cart-n{position:absolute;top:4px;right:2px;background:var(--red);color:#fff;font-size:11px;font-weight:700;border-radius:9px;padding:0 5px;line-height:17px}
.menubtn{display:none;width:44px;height:44px;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:5px}
.menubtn span{width:20px;height:2px;background:#fff;border-radius:2px}
.nav{background:#1D2027;border-top:1px solid rgba(255,255,255,.06)}
.nav ul{display:flex;gap:2px;height:48px;align-items:center}
.nav li{position:relative}
.nav li>a{display:block;padding:9px 12px;font-size:14.5px;font-weight:500;color:#D3D6DC;border-radius:8px;white-space:nowrap}
.nav li>a:hover,.nav li>a.on{color:#fff;background:rgba(255,255,255,.08)}
.nav li>a.on{box-shadow:inset 0 -2px 0 var(--red);border-radius:8px 8px 0 0}
.nav .sub{position:absolute;left:0;top:100%;min-width:230px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--sh2);padding:8px;display:none;z-index:80}
.nav .sub a{display:block;padding:8px 12px;border-radius:8px;font-size:14px;color:var(--ink)}
.nav .sub a:hover{background:var(--paper)}
.nav li.has:hover .sub,.nav li.has:focus-within .sub{display:block}
@media(max-width:1100px){.nav ul{overflow-x:auto;scrollbar-width:none}.nav ul::-webkit-scrollbar{display:none}.nav .sub{display:none!important}}

/* ---------- breadcrumb ---------- */
.bc ol{display:flex;flex-wrap:wrap;gap:6px;font-size:13px;color:var(--mute);padding:14px 0}
.bc li+li::before{content:"/";margin-right:6px;opacity:.5}
.bc a:hover{color:var(--ink)}
.bc [aria-current]{color:var(--ink2)}

/* ---------- block chung ---------- */
.block{background:#fff;border-radius:var(--r2);padding:28px;margin:20px 0;box-shadow:var(--sh)}
.bh{font-size:22px;font-weight:700;letter-spacing:-.3px;margin-bottom:16px}
.sh{display:flex;align-items:center;gap:16px;margin-bottom:18px;flex-wrap:wrap}
.sh h2{font-size:24px;font-weight:700;letter-spacing:-.4px}
.sh .more{margin-left:auto;font-size:14px;font-weight:600;color:var(--red)}
.sh .more:hover{text-decoration:underline}
.mini{display:flex;gap:6px;flex-wrap:wrap}
.mini a{font-size:13px;padding:5px 11px;border-radius:8px;background:var(--paper);color:var(--ink2)}
.mini a:hover{background:var(--ink);color:#fff}
.more-wrap{text-align:center;margin-top:12px}

/* ---------- thẻ sản phẩm ---------- */
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.grid.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.rail{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 42px)/4);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;scrollbar-width:thin}
.rail>*{scroll-snap-align:start}
.pc{min-width:0;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:border-color .2s,box-shadow .2s}
.pc:hover{border-color:var(--ink);box-shadow:var(--sh2)}
.pimg{position:relative;aspect-ratio:1/1;background:#fff;display:block;padding:10px}
.pimg img{width:100%;height:100%;object-fit:contain;transition:transform .35s}
.pc:hover .pimg img{transform:scale(1.04)}
.bdg{position:absolute;left:10px;top:10px;z-index:1;background:var(--red);color:#fff;font-size:12px;font-weight:700;border-radius:6px;padding:2px 8px}
.pb{display:flex;flex-direction:column;flex:1;padding:12px 14px 14px;border-top:1px solid var(--paper)}
.pm{font-size:12px;color:var(--mute);letter-spacing:.3px;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pn{font-size:14.5px;font-weight:600;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:40px;overflow-wrap:anywhere}
.pt{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}
.pt span{font-size:11.5px;color:var(--ink2);background:var(--paper);border-radius:5px;padding:1px 7px}
.pr{margin-top:auto;padding-top:10px;display:flex;flex-direction:column}
.pr .p{color:var(--red);font-weight:700;font-size:18px;font-variant-numeric:tabular-nums}
.pr .o{font-size:12.5px;color:var(--mute)}
.pr .o b{color:var(--red);font-weight:600}
@media(max-width:1100px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.rail{grid-auto-columns:calc((100% - 28px)/3)}}

/* =========================================================
   TRANG CHỦ
   ========================================================= */
.hero{background:var(--ink);color:#fff;position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(700px 420px at 78% 40%,rgba(201,206,214,.18),transparent 70%),linear-gradient(115deg,#15171C 0%,#1E2128 55%,#262A33 100%)}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--red)}
.hero-in{position:relative;display:grid;grid-template-columns:1fr 1.05fr;gap:40px;align-items:center;min-height:520px;padding-top:48px;padding-bottom:56px}
.kick{display:inline-block;font-size:13.5px;font-weight:600;color:#fff;background:rgba(200,16,46,.9);border-radius:6px;padding:4px 10px;margin-bottom:18px}
.hero h1{font-size:52px;line-height:1.06;font-weight:800;letter-spacing:-1.4px;max-width:13em}
.hero .lead{color:#B7BCC5;font-size:17px;margin:18px 0 28px;max-width:34em;font-weight:300}
.hero .acts{display:flex;gap:12px;flex-wrap:wrap}
.hero-n{display:flex;gap:0;margin-top:36px;border-top:1px solid rgba(255,255,255,.14);padding-top:18px;max-width:460px}
.hero-n div{flex:1;padding-right:16px}
.hero-n div+div{padding-left:16px;border-left:1px solid rgba(255,255,255,.14)}
.hero-n dt{font-size:12.5px;color:#8E949E}
.hero-n dd{font-size:26px;font-weight:700;letter-spacing:-.5px}
.hero-v{position:relative;height:430px}
.hv{position:absolute;background:#fff;border-radius:18px;padding:16px;box-shadow:0 30px 60px rgba(0,0,0,.35);display:flex;flex-direction:column;transition:transform .3s}
.hv:hover{transform:translateY(-4px)}
.hv img{width:100%;aspect-ratio:1/1;object-fit:contain}
.hv span{display:flex;justify-content:space-between;align-items:baseline;gap:8px;color:var(--ink);padding-top:8px;border-top:1px solid var(--paper);margin-top:6px}
.hv small{font-size:12px;color:var(--mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hv b{color:var(--red);font-size:16px;white-space:nowrap}
.hv0{width:56%;left:22%;top:0;z-index:3}
.hv1{width:38%;left:0;bottom:0;z-index:2}
.hv2{width:38%;right:0;bottom:24px;z-index:2}
@media(max-width:980px){.hero-in{grid-template-columns:1fr;min-height:0}.hero h1{font-size:38px}.hero-v{height:380px;max-width:560px}}

/* khu bếp */
.zones{margin-top:36px}
.zg{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.zone{background:#fff;border-radius:var(--r2);overflow:hidden;box-shadow:var(--sh);display:flex;flex-direction:column}
.z-img{aspect-ratio:4/3;background:#fff;padding:14px;border-bottom:1px solid var(--paper)}
.z-img img{width:100%;height:100%;object-fit:contain}
.z-t{padding:14px 16px 16px}
.z-t h3{font-size:22px;font-weight:800;letter-spacing:-.5px}
.z-t p{font-size:13px;color:var(--mute);margin:2px 0 10px}
.z-l{display:flex;flex-direction:column;gap:2px}
.z-l a{display:flex;justify-content:space-between;font-size:14px;padding:5px 0;border-top:1px solid var(--paper)}
.z-l a span{color:var(--mute);font-size:12.5px}
.z-l a:hover{color:var(--red)}
@media(max-width:1100px){.zg{grid-template-columns:repeat(3,minmax(0,1fr))}}

.deals{background:var(--ink);color:#fff;margin:28px 0;padding:34px 0}
.deals .sh .more{color:#fff}
.deals .pc{border-color:transparent}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}

.why{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:28px 0}
.why-in{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;padding-top:32px;padding-bottom:32px}
.why span{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:var(--paper);color:var(--red);margin-bottom:10px}
.why h3{font-size:16px;font-weight:700}
.why p{font-size:13.5px;color:var(--mute)}
@media(max-width:900px){.why-in{grid-template-columns:1fr 1fr}}

/* tin tức */
.posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.post{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:#fff;transition:border-color .2s}
.post:hover{border-color:var(--ink)}
.pimg2{aspect-ratio:16/9;background:#fff;display:grid;place-items:center;padding:12px;border-bottom:1px solid var(--paper)}
.pimg2 img{width:100%;height:100%;object-fit:contain}
.post .pb{border:0}
.post h3{font-size:16px;font-weight:700;line-height:1.4;margin-bottom:6px}
.post .ex{font-size:13.5px;color:var(--ink2);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.post time{font-size:12.5px;color:var(--mute);margin-top:8px}
.pager{display:flex;gap:6px;justify-content:center;margin-top:20px}
.pager a{min-width:40px;height:40px;border-radius:8px;display:grid;place-items:center;border:1px solid var(--line)}
.pager a.on{background:var(--ink);color:#fff;border-color:var(--ink)}

/* ---------- nội dung SEO ---------- */
.seo{font-size:16px;line-height:1.78;color:#262A31;max-width:860px}
.seo h2{font-size:23px;font-weight:700;letter-spacing:-.3px;margin:28px 0 10px;color:var(--ink)}
.seo h2:first-child{margin-top:0}
.seo h3{font-size:18.5px;font-weight:700;margin:22px 0 8px;color:var(--ink)}
.seo p{margin:0 0 12px}
.seo ul,.seo ol{margin:0 0 14px 22px}
.seo ul{list-style:disc}.seo ol{list-style:decimal}
.seo li{margin:4px 0}
.seo a{color:var(--red);text-decoration:underline;text-decoration-color:rgba(200,16,46,.35);text-underline-offset:3px}
.seo img{height:auto;border-radius:10px;margin:12px auto}
.seo strong{font-weight:700;color:var(--ink)}
.seo table,.pl{width:100%;border-collapse:collapse;margin:10px 0 16px;font-size:14.5px}
.seo th,.seo td,.pl th,.pl td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.seo thead th,.pl thead th{background:var(--ink);color:#fff;font-weight:600}
.pl .grp th{background:var(--paper);font-weight:700}
.pl .num{white-space:nowrap;color:var(--red);font-weight:600}
.tbl-wrap{overflow-x:auto}
.clamp{max-height:520px;overflow:hidden;position:relative}
.clamp::after{content:"";position:absolute;left:0;right:0;bottom:0;height:120px;background:linear-gradient(rgba(255,255,255,0),#fff)}
.clamp.open{max-height:none}.clamp.open::after{display:none}

/* ---------- FAQ ---------- */
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:15px 4px;font-weight:600;display:flex;justify-content:space-between;gap:14px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:22px;line-height:1;color:var(--red);font-weight:400}
.faq details[open] summary::after{content:"–"}
.faq details div{padding:0 4px 16px;color:var(--ink2);max-width:860px}

/* =========================================================
   DANH MỤC
   ========================================================= */
.cat-hero{background:var(--ink);color:#fff;position:relative;padding-bottom:22px}
.cat-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--red)}
.cat-hero .bc ol{color:#8E949E}.cat-hero .bc [aria-current]{color:#D5D9DF}.cat-hero .bc a:hover{color:#fff}
.ch{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;padding:6px 0 18px}
.cat-hero h1{font-size:40px;font-weight:800;letter-spacing:-1px;line-height:1.1}
.cat-hero p{color:#B7BCC5;margin-top:10px;max-width:46em;font-weight:300}
.cat-hero.sm{padding-bottom:26px}.cat-hero.sm h1{font-size:34px}
.ch-n{display:flex;flex-shrink:0;border:1px solid rgba(255,255,255,.16);border-radius:12px}
.ch-n div{padding:10px 18px}
.ch-n div+div{border-left:1px solid rgba(255,255,255,.16)}
.ch-n dt{font-size:12px;color:#8E949E}
.ch-n dd{font-size:20px;font-weight:700;white-space:nowrap}
.chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.chips::-webkit-scrollbar{display:none}
.chips a{white-space:nowrap;padding:8px 14px;border-radius:9px;border:1px solid rgba(255,255,255,.2);font-size:14px;color:#D5D9DF}
.chips a span{color:#8E949E;font-size:12px;margin-left:2px}
.chips a:hover{border-color:#fff;color:#fff}
.chips a.on{background:#fff;color:var(--ink);border-color:#fff}
.chips a.on span{color:var(--mute)}
.lst{display:grid;grid-template-columns:230px minmax(0,1fr);gap:20px;align-items:start;margin-top:22px}
.flt{background:#fff;border-radius:var(--r2);box-shadow:var(--sh);padding:18px;position:sticky;top:140px}
.flt-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.flt-h .close{display:none;font-size:26px;line-height:1}
.fg{display:flex;flex-direction:column;gap:4px}
.fg label{display:flex;align-items:center;gap:9px;padding:7px 8px;border-radius:8px;font-size:14px;cursor:pointer}
.fg label:hover{background:var(--paper)}
.fg label span{margin-left:auto;font-size:12px;color:var(--mute)}
.fg input{accent-color:var(--red);width:16px;height:16px}
.sortbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.sortbar .cnt{margin-right:auto;color:var(--ink2)}
.sorts{display:flex;gap:6px;flex-wrap:wrap}
.sorts button,.ftoggle{padding:8px 14px;border-radius:9px;border:1px solid var(--line);background:#fff;font-size:13.5px;font-weight:500}
.sorts button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.ftoggle{display:none}
.loadmore{display:flex;margin:22px auto 0;min-width:220px}
@media(max-width:900px){
  .lst{grid-template-columns:minmax(0,1fr)}
  .flt{position:fixed;inset:0 20% 0 0;z-index:95;border-radius:0;transform:translateX(-105%);transition:transform .3s;overflow:auto}
  .flt.open{transform:none;box-shadow:20px 0 60px rgba(0,0,0,.3)}
  .flt-h .close,.ftoggle{display:inline-flex}
  .ch{flex-direction:column;align-items:flex-start}
}

/* =========================================================
   SẢN PHẨM
   ========================================================= */
.pd{display:grid;grid-template-columns:1fr 1fr;gap:36px;background:#fff;border-radius:var(--r2);padding:28px;box-shadow:var(--sh)}
.gal .main{aspect-ratio:1/1;border:1px solid var(--line);border-radius:var(--r);padding:24px;display:grid;place-items:center;background:#fff}
.gal .main img{width:100%;height:100%;object-fit:contain}
.gal .thumbs{display:flex;gap:8px;margin-top:10px;overflow-x:auto}
.gal .thumbs button{width:76px;height:76px;flex-shrink:0;border:1px solid var(--line);border-radius:10px;padding:5px;background:#fff}
.gal .thumbs button.on{border:2px solid var(--ink)}
.gal .thumbs img{width:100%;height:100%;object-fit:contain}
.pcat{font-size:13.5px;color:var(--mute)}
.pcat a{color:var(--red);font-weight:600}
.pinfo h1{font-size:28px;line-height:1.25;font-weight:800;letter-spacing:-.5px;margin:6px 0 16px;overflow-wrap:anywhere}
.pbox{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0;margin-bottom:16px}
.pbox .p{font-size:36px;font-weight:800;color:var(--red);letter-spacing:-.8px;font-variant-numeric:tabular-nums;line-height:1.1}
.pbox .o{font-size:14px;color:var(--mute);margin-top:6px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.pbox .o b{color:var(--ok);font-weight:600}
.pbox .note{font-size:13px;color:var(--mute);margin-top:6px}
.hl{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}
.hl li{display:flex;gap:10px;font-size:14.5px}
.hl svg{flex-shrink:0;margin-top:3px;color:var(--ok)}
.cta{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cta .btn-red{grid-column:1/-1;min-height:58px;font-size:17px}
.hotline{text-align:center;font-size:14px;color:var(--mute);margin-top:10px}
.hotline a{color:var(--red);font-weight:700}
.pol{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.pol li{display:flex;gap:10px;align-items:center;font-size:13.5px;color:var(--ink2)}
.pol svg{color:var(--ink);flex-shrink:0}
.pd2{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:20px;align-items:start}
.pd2>.block{margin-bottom:0}
.specs{position:sticky;top:140px}
.spec-t{width:100%;border-collapse:collapse;font-size:14px}
.spec-t th,.spec-t td{padding:10px 4px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;overflow-wrap:anywhere}
.spec-t th{color:var(--mute);font-weight:400;width:44%;padding-right:12px}
@media(max-width:900px){.pd{grid-template-columns:1fr}.pd2{grid-template-columns:minmax(0,1fr)}.specs{position:static}}

/* bài viết */
.art-w{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}
.art h1{font-size:32px;line-height:1.25;font-weight:800;letter-spacing:-.6px}
.art .meta{font-size:13.5px;color:var(--mute);margin:8px 0 20px}
.callout{margin-top:24px;padding:16px 18px;border-left:3px solid var(--red);background:var(--paper);border-radius:0 10px 10px 0}
.callout a{color:var(--red);font-weight:700}
.side{position:sticky;top:140px}
@media(max-width:900px){.art-w{grid-template-columns:minmax(0,1fr)}.side{position:static}}

/* ---------- popup, form, giỏ ---------- */
.modal{position:fixed;inset:0;background:rgba(21,23,28,.6);z-index:120;display:none;align-items:center;justify-content:center;padding:16px}
.modal.open{display:flex}
.mbox{background:#fff;border-radius:16px;max-width:520px;width:100%;max-height:92vh;overflow:auto;padding:24px;position:relative}
.mbox h3{font-size:21px;font-weight:700;margin-bottom:10px}
.mbox .x{position:absolute;right:14px;top:8px;font-size:30px;color:var(--mute)}
.fm label{display:block;font-size:13px;font-weight:600;margin:12px 0 5px}
.fm input,.fm textarea{width:100%;border:1.5px solid var(--line);border-radius:10px;padding:11px 12px;font:inherit;outline:none;background:var(--paper)}
.fm input:focus,.fm textarea:focus{border-color:var(--ink);background:#fff}
.fm .row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fm .btn{width:100%;margin-top:16px}
.fine{font-size:13px;color:var(--mute);text-align:center;margin-top:10px}
.fine a{color:var(--red);font-weight:700}
.ci{display:flex;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
.ci img{width:64px;height:64px;object-fit:contain;border:1px solid var(--line);border-radius:10px;background:#fff}
.ci .n{flex:1;font-size:14px;font-weight:600;overflow-wrap:anywhere}
.ci .q{display:flex;align-items:center;border:1px solid var(--line);border-radius:8px}
.ci .q button{width:30px;height:30px;font-weight:700}
.ci .q span{min-width:24px;text-align:center}
.total{display:flex;justify-content:space-between;font-weight:700;font-size:19px;padding:14px 0}
.total b{color:var(--red)}
.ok{text-align:center;padding:20px 0}
.ok .ic{width:64px;height:64px;border-radius:50%;background:#E5F4EC;color:var(--ok);display:grid;place-items:center;margin:0 auto 12px}
.ok .btn{margin:4px}
.nf{text-align:center;padding:60px 20px}.nf h1{font-size:30px;margin-bottom:8px}.nf p{margin-top:12px}
.cartw{margin-top:20px}

/* ---------- footer ---------- */
.ft{background:var(--ink);color:#A9AFB8;margin-top:36px;font-size:14px}
.ft-in{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:32px;padding-top:44px;padding-bottom:30px}
.ft .logo{display:inline-flex}
.ft-a p{margin:16px 0 10px;max-width:36em}
.ft address{font-style:normal}
.ft h2{color:#fff;font-size:15px;font-weight:600;margin-bottom:12px}
.ft li a{display:block;padding:3px 0}
.ft a:hover{color:#fff}
.ft-hot{color:#fff;font-size:26px;font-weight:700}
.ft-b{border-top:1px solid rgba(255,255,255,.08);padding-top:16px;padding-bottom:20px;font-size:12.5px;color:#7E848E}
@media(max-width:900px){.ft-in{grid-template-columns:1fr 1fr}}

/* ---------- nút liên hệ nổi & thanh mua ---------- */
.fab{position:fixed;right:16px;bottom:24px;z-index:70;display:flex;flex-direction:column;gap:10px}
.fab a{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:700;font-size:13px;box-shadow:0 8px 20px rgba(0,0,0,.25)}
.fab .zl{background:#0068FF}.fab .ph{background:var(--red)}
.mbar{display:none}

/* =========================================================
   ĐIỆN THOẠI – sát lề, bo góc vừa
   ========================================================= */
@media(max-width:760px){
  body{font-size:15px}
  .wrap{padding:0 14px}
  .topbar{display:none}
  .hd-in{height:auto;flex-wrap:wrap;gap:8px;padding-top:8px;padding-bottom:10px}
  .logo{flex:1;gap:10px}.lg-img{height:32px}.lg-s{padding-left:10px}.lg-s b{font-size:14px}.lg-s small{font-size:11px}
  .hot{display:none}
  .search{order:3;flex-basis:100%;max-width:none}.search input{height:42px}.search button{width:34px;height:34px}
  .menubtn{display:flex}
  .nav{display:none}
  .nav.open{display:block}
  .nav ul{flex-direction:column;align-items:stretch;height:auto;padding:6px 0;overflow:visible}
  .nav li>a{padding:12px 4px;border-bottom:1px solid rgba(255,255,255,.07);border-radius:0;box-shadow:none!important;background:none!important}
  .block{border-radius:0;margin:8px 0 0;padding:20px 14px;box-shadow:none}
  main.wrap{padding:0}
  main.wrap>.bc{padding:0 14px}
  .grid,.g4{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .rail{grid-auto-columns:46%;gap:8px}
  .pimg{padding:6px}
  .pb{padding:9px 10px 11px}
  .pn{font-size:13.5px;min-height:38px}
  .pr .p{font-size:16px}
  .pt span:nth-child(2){display:none}
  .sh{margin-bottom:12px;gap:8px}.sh h2{font-size:19px}
  .mini{order:3;width:100%;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  .mini::-webkit-scrollbar{display:none}
  .mini a{white-space:nowrap}
  .bh{font-size:19px}
  /* trang chủ */
  .hero-in{padding-top:26px;padding-bottom:30px;gap:22px}
  .kick{font-size:12px;margin-bottom:12px}
  .hero h1{font-size:29px;letter-spacing:-.8px}
  .hero .lead{font-size:15px;margin:12px 0 20px}
  .hero .acts{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .hero .acts .btn{padding:0 10px;font-size:14px}
  .hero-n{margin-top:22px;padding-top:14px}
  .hero-n dd{font-size:20px}
  .hero-v{height:290px}
  .hv{padding:10px;border-radius:14px}.hv b{font-size:14px}.hv small{font-size:11px}
  .zones{margin-top:20px;padding:0}
  .zones .bh{padding:0 14px}
  .zg{grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:72%;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 14px 4px;gap:10px;scrollbar-width:none}
  .zg::-webkit-scrollbar{display:none}
  .zone{scroll-snap-align:start;border-radius:12px}
  .deals{margin:14px 0;padding:22px 0}
  .why-in{gap:18px;padding-top:22px;padding-bottom:22px}
  .posts{grid-template-columns:minmax(0,1fr);gap:10px}
  /* danh mục */
  .cat-hero h1{font-size:27px;letter-spacing:-.6px}
  .cat-hero.sm h1{font-size:25px}
  .cat-hero p{font-size:14px}
  .ch{padding-bottom:14px;gap:14px}
  .ch-n{width:100%}.ch-n div{flex:1;padding:8px 10px}.ch-n dd{font-size:16px}
  .lst{margin-top:0;gap:0}
  .sortbar{background:#fff;padding:10px 14px;margin:0 0 8px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--line)}
  .sortbar::-webkit-scrollbar{display:none}
  .sortbar .cnt{white-space:nowrap;margin-right:4px}
  .sorts{flex-wrap:nowrap}.sorts button,.ftoggle{white-space:nowrap;flex-shrink:0}
  .lst .grid{padding:0 6px}
  .loadmore{width:calc(100% - 12px)}
  /* sản phẩm */
  .pd{border-radius:0;padding:0 0 18px;box-shadow:none;gap:0}
  .gal .main{border:0;border-radius:0;padding:14px}
  .gal .thumbs{padding:0 14px}
  .gal .thumbs button{width:62px;height:62px}
  .pinfo{padding:14px 14px 0}
  .pinfo h1{font-size:22px}
  .pbox .p{font-size:30px}
  .pol{grid-template-columns:1fr}
  .pd2{gap:0}
  .art h1{font-size:24px}
  .seo{font-size:15.5px}
  .seo h2{font-size:20px}
  .tbl-wrap{margin:0 -14px;padding:0 14px}
  .ft-in{grid-template-columns:1fr;gap:22px}
  .fab{bottom:24px;right:10px}.fab a{width:46px;height:46px}.has-mbar .fab{display:none}
  .mbar{display:grid;grid-template-columns:auto 1fr 1fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:90;background:#fff;padding:8px 10px;border-top:1px solid var(--line)}
  .mbar a,.mbar button{height:46px;border-radius:10px;display:grid;place-items:center;font-weight:600;font-size:14px}
  .mbar .z{background:#0068FF;color:#fff;padding:0 14px}
  .mbar .c{border:1.5px solid var(--line)}
  .mbar .b{background:var(--red);color:#fff}
  body.has-mbar{padding-bottom:64px}
}

/* =========================================================
   LOGO BẾP XANH (trắng, nền tối)
   ========================================================= */
.lg-img{height:42px;width:auto}
.lg-fb{font-size:22px;font-weight:800;letter-spacing:1px;color:#fff}
.lg-s{display:flex;flex-direction:column;line-height:1.1;padding-left:14px;border-left:1px solid rgba(255,255,255,.22)}
.lg-s b{font-size:16px;font-weight:800;letter-spacing:2.5px;color:#fff}
.lg-s small{font-size:12px;color:#ff6b80;font-weight:500;margin-top:2px}
.btn-lg{min-height:54px;padding:0 26px;font-size:16px;flex-direction:row;gap:8px}
.btn-ghost svg{width:18px;height:18px}

/* =========================================================
   TRANG CHỦ 2.0
   ========================================================= */
.pg-home{background:#F1F2F4}
.dl-k{font-size:12.5px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;color:var(--red);margin-bottom:6px}
.sec-h{margin-bottom:22px}.sec-h h2{font-size:32px;font-weight:800;letter-spacing:-.8px;line-height:1.15}
.sec-h.row{display:flex;align-items:flex-end;gap:16px}.sec-h.row .more{margin-left:auto;font-weight:600;color:var(--red);font-size:15px;white-space:nowrap}

/* hero */
.hx{position:relative;background:#0E0F12;color:#fff;overflow:hidden}
.hx-bg{position:absolute;inset:0;background:radial-gradient(900px 520px at 80% 30%,rgba(200,16,46,.32),transparent 60%),radial-gradient(600px 400px at 10% 110%,rgba(120,130,150,.22),transparent 60%),linear-gradient(160deg,#16181D,#0B0C0F)}
.hx-bg::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(180deg,#000,transparent 85%);-webkit-mask-image:linear-gradient(180deg,#000,transparent 85%)}
.hx-word{position:absolute;right:-30px;bottom:40px;font-size:220px;font-weight:800;letter-spacing:-6px;line-height:1;color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.07);user-select:none}
.hx-in{position:relative;display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:center;padding-top:64px;padding-bottom:128px}
.hx-k{display:inline-flex;align-items:center;gap:10px;font-size:13.5px;font-weight:600;color:#E6E8EC;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:40px;padding:7px 14px;margin-bottom:22px}
.hx-k .dot{width:8px;height:8px;border-radius:50%;background:#2BD576;box-shadow:0 0 0 4px rgba(43,213,118,.18)}
.hx h1{font-size:64px;line-height:1.02;font-weight:800;letter-spacing:-2px}
.hx h1 span{background:linear-gradient(90deg,#FF4D67,#C8102E);-webkit-background-clip:text;background-clip:text;color:transparent}
.hx-lead{color:#B9BEC7;font-size:18px;font-weight:300;margin:22px 0 30px;max-width:32em}
.hx-acts{display:flex;gap:12px;flex-wrap:wrap}
.hx-hot{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:30px;font-size:13.5px}
.hx-hot span{color:#7F8590;margin-right:4px}
.hx-hot a{padding:6px 12px;border-radius:30px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:#DADDE2}
.hx-hot a:hover{background:#fff;color:var(--ink)}
.sv{position:relative}
.sv-stage{position:relative;height:500px;border-radius:28px;background:#fff;box-shadow:0 40px 90px rgba(0,0,0,.45);overflow:hidden}
.sv-s{position:absolute;inset:0;display:grid;grid-template-rows:minmax(0,1fr) auto;opacity:0;transform:translateY(14px) scale(.98);transition:opacity .6s,transform .6s;pointer-events:none;color:var(--ink)}
.sv-s.on{opacity:1;transform:none;pointer-events:auto}
.sv-img{display:block;padding:34px 40px 10px;min-height:0;overflow:hidden}
.sv-img img{width:100%;height:100%;object-fit:contain}
.sv-t{padding:18px 28px 24px;border-top:1px solid var(--line);display:block}
.sv-t small{display:block;font-size:12.5px;font-weight:600;color:var(--red);text-transform:uppercase;letter-spacing:1px}
.sv-t b{display:block;font-size:19px;font-weight:700;line-height:1.3;margin:4px 0 8px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}
.sv-p{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.sv-p em{font-style:normal;font-size:28px;font-weight:800;color:var(--red);letter-spacing:-.5px}
.sv-p s{color:var(--mute);font-size:15px}
.sv-p i{font-style:normal;background:var(--red);color:#fff;font-size:13px;font-weight:700;padding:2px 8px;border-radius:6px}
.sv-dots{position:absolute;left:-38px;top:28px;display:flex;flex-direction:column;gap:10px}
.sv-d{width:72px;height:72px;border-radius:16px;background:#fff;padding:7px;box-shadow:0 10px 28px rgba(0,0,0,.35);border:2px solid transparent;transition:border-color .2s,transform .2s}
.sv-d img{width:100%;height:100%;object-fit:contain}
.sv-d.on{border-color:var(--red);transform:translateX(-6px)}
.sv-badge{position:absolute;right:-18px;top:-18px;width:112px;height:112px;border-radius:50%;background:var(--red);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:0 18px 40px rgba(200,16,46,.45);transform:rotate(8deg)}
.sv-badge b{font-size:30px;font-weight:800;line-height:1}.sv-badge span{font-size:11.5px;line-height:1.2;margin-top:4px}

/* thanh danh mục nổi */
.cbar{position:relative;z-index:5;margin-top:-84px}
.cbar-in{background:#fff;border-radius:24px;box-shadow:0 24px 60px rgba(21,23,28,.14);padding:22px 22px 0;overflow:hidden}
.ct-g{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:6px}
.ct{display:flex;flex-direction:column;align-items:center;text-align:center;padding:12px 4px 14px;border-radius:16px;transition:background .2s,transform .2s}
.ct:hover{background:var(--paper);transform:translateY(-3px)}
.ct-i{width:84px;height:84px;border-radius:50%;background:radial-gradient(circle at 50% 40%,#fff,#EEF0F3);display:grid;place-items:center;padding:12px;margin-bottom:10px;border:1px solid var(--line)}
.ct-i img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.ct-n{font-size:14px;font-weight:600;line-height:1.25}
.ct-c{font-size:12px;color:var(--mute);margin-top:2px}
.trust{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);margin:18px -22px 0}
.trust li{display:flex;align-items:center;gap:12px;padding:18px 22px}
.trust li+li{border-left:1px solid var(--line)}
.trust span{flex-shrink:0;width:44px;height:44px;border-radius:12px;background:#FFF0F2;color:var(--red);display:grid;place-items:center}
.trust b{display:block;font-size:15px}.trust small{display:block;font-size:12.5px;color:var(--mute)}

/* ưu đãi */
.dl{margin:40px 0;padding:44px 0;background:linear-gradient(120deg,#C8102E,#8E0A20 55%,#15171C);color:#fff;position:relative;overflow:hidden}
.dl::before{content:"";position:absolute;right:-120px;top:-160px;width:520px;height:520px;border-radius:50%;border:80px solid rgba(255,255,255,.05)}
.dl .wrap{position:relative}
.dl-h{display:flex;align-items:flex-end;gap:20px;margin-bottom:24px;flex-wrap:wrap}
.dl .dl-k{color:#FFD0D7}
.dl h2{font-size:36px;font-weight:800;letter-spacing:-1px;line-height:1.1}
.dl h2 span{display:inline-block;background:#fff;color:var(--red);padding:0 12px;border-radius:10px;transform:rotate(-2deg)}
.dl-nav{margin-left:auto;display:flex;gap:8px;align-items:center}
.rbtn{width:48px;height:48px;border-radius:50%;border:1.5px solid rgba(255,255,255,.35);color:#fff;font-size:26px;line-height:1}
.rbtn:hover{background:#fff;color:var(--red)}
.dl .btn-red{background:#fff;color:var(--red)}
.dl .pc{border:0;border-radius:18px;color:var(--ink)}
.rail{scroll-behavior:smooth}

/* bento khu bếp */
.bento{margin-top:48px}
.bn-g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,minmax(270px,auto));gap:16px}
.bn{position:relative;border-radius:24px;overflow:hidden;background:#fff;box-shadow:var(--sh);padding:24px;display:flex;transition:transform .25s,box-shadow .25s}
.bn:hover{transform:translateY(-4px);box-shadow:var(--sh2)}
.bn0{grid-column:span 2;grid-row:span 2;background:#15171C;color:#fff}
.bn-t{position:relative;z-index:2;max-width:100%;padding-top:34%}
.bn0 .bn-t{max-width:46%;padding-top:0}
.bn-n{font-size:13px;font-weight:700;color:var(--red);letter-spacing:1px}
.bn h3{font-size:24px;font-weight:800;letter-spacing:-.5px;margin:2px 0 4px}
.bn0 h3{font-size:40px}
.bn p{font-size:13.5px;color:var(--mute);margin-bottom:12px}.bn0 p{color:#A9AFB8;font-size:15px}
.bn-l{display:flex;flex-wrap:wrap;gap:6px}
.bn-l a{font-size:12.5px;padding:5px 10px;border-radius:30px;background:var(--paper);font-weight:500}
.bn-l a span{color:var(--mute);font-size:11.5px}
.bn-l a:hover{background:var(--red);color:#fff}.bn-l a:hover span{color:#fff}
.bn0 .bn-l a{background:rgba(255,255,255,.08);color:#fff}.bn0 .bn-l a span{color:#9AA0AA}
.bn-img{position:absolute;right:16px;top:16px;width:46%;height:34%;object-fit:contain;mix-blend-mode:multiply;transition:transform .4s}
.bn0 .bn-img{width:50%;height:64%;right:24px;top:auto;bottom:24px;mix-blend-mode:normal;background:#fff;border-radius:22px;padding:24px;box-shadow:0 30px 60px rgba(0,0,0,.4)}
.bn:hover .bn-img{transform:scale(1.05)}

/* khối danh mục có tab */
.cbs{margin-top:28px}
.cb{background:#fff;border-radius:24px;box-shadow:var(--sh);padding:26px;margin:22px 0}
.cb-h{display:flex;align-items:center;gap:16px;margin-bottom:20px;flex-wrap:wrap}
.cb-h h2{font-size:26px;font-weight:800;letter-spacing:-.6px}
.cb-h .more{margin-left:auto;font-size:14.5px;font-weight:600;color:var(--red);white-space:nowrap}
.tabs{display:flex;gap:6px;flex-wrap:wrap}
.tb{padding:8px 15px;border-radius:30px;background:var(--paper);font-size:14px;font-weight:500;color:var(--ink2);white-space:nowrap}
.tb:hover{background:#E6E8EB}.tb.on{background:var(--ink);color:#fff}
.cb-b{display:grid;grid-template-columns:270px minmax(0,1fr);gap:16px}
.cb.rev .cb-b{grid-template-columns:minmax(0,1fr) 270px}.cb.rev .cb-p{order:2}
.cb-p{position:relative;border-radius:20px;overflow:hidden;background:linear-gradient(165deg,#22252C,#0E0F12);color:#fff;padding:26px 22px;display:flex;flex-direction:column;min-height:100%}
.cb-p::before{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(200,16,46,.55),transparent 70%);right:-90px;top:-70px}
.cb-pk{position:relative;font-size:12.5px;color:#C9CDD3;font-weight:600}
.cb-p b{position:relative;font-size:30px;font-weight:800;line-height:1.1;letter-spacing:-.6px;margin-top:8px}
.cb-p img{position:relative;margin:auto 0;padding:18px;background:#fff;border-radius:18px;max-height:220px;width:100%;object-fit:contain;transition:transform .4s}
.cb-p:hover img{transform:scale(1.04)}
.cb-go{position:relative;align-self:flex-start;margin-top:16px;background:var(--red);padding:9px 18px;border-radius:30px;font-weight:600;font-size:14px}
.cb-g .pc.hide{display:none}
.cb .pc{border-radius:16px}

/* trọn bộ */
.cbo{margin:44px 0;background:#0E0F12;color:#fff;padding:56px 0;position:relative;overflow:hidden}
.cbo::before{content:"";position:absolute;left:-200px;bottom:-260px;width:640px;height:640px;border-radius:50%;background:radial-gradient(circle,rgba(200,16,46,.35),transparent 65%)}
.cbo-in{position:relative;display:grid;grid-template-columns:.85fr 1.15fr;gap:40px;align-items:center}
.cbo h2{font-size:36px;font-weight:800;letter-spacing:-1px;line-height:1.12}
.cbo-t>p:not(.dl-k){color:#AEB3BC;margin:14px 0 22px;font-size:16px}
.cbo-sum{display:flex;flex-direction:column;margin-bottom:22px;padding:16px 20px;border-radius:16px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);max-width:420px}
.cbo-sum span{font-size:13px;color:#9AA0AA}.cbo-sum b{font-size:34px;font-weight:800;letter-spacing:-.8px}.cbo-sum small{color:#4BE08F;font-weight:600}
.cbo-g{display:flex;align-items:center;gap:10px}
.cbo-i{flex:1;min-width:0;background:#fff;color:var(--ink);border-radius:18px;padding:14px;display:flex;flex-direction:column;transition:transform .25s}
.cbo-i:hover{transform:translateY(-5px)}
.cbo-i img{aspect-ratio:1;object-fit:contain;width:100%;margin-bottom:8px}
.cbo-i small{font-size:11.5px;color:var(--mute)}.cbo-i b{font-size:13.5px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cbo-i em{font-style:normal;color:var(--red);font-weight:700;font-size:15px}
.cbo-plus{font-size:26px;font-weight:300;color:#7F8590}

/* vì sao */
.st{margin:44px auto}
.st-in{display:grid;grid-template-columns:1fr 1fr;gap:20px;background:#fff;border-radius:24px;box-shadow:var(--sh);padding:36px}
.st h2{font-size:30px;font-weight:800;letter-spacing:-.7px;line-height:1.15;margin-bottom:12px}
.st-t>p:not(.dl-k){color:var(--ink2)}
.st-addr{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin-top:20px;font-size:14.5px;align-items:baseline}
.st-addr b{font-size:13px;color:var(--mute);font-weight:600}
.st-addr .btn{grid-column:1/-1;justify-self:start;margin-top:10px}
.st-n{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.st-n div{background:var(--paper);border-radius:18px;padding:22px}
.st-n div:first-child{background:var(--red);color:#fff}.st-n div:first-child dt{color:#FFD0D7}
.st-n dd{font-size:38px;font-weight:800;letter-spacing:-1px;line-height:1.1}
.st-n dt{font-size:13.5px;color:var(--mute)}
.nw{margin:44px auto}
.sq-in{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:20px;align-items:start}
.sq .block{margin:0;border-radius:24px}

@media(max-width:1100px){
  .hx h1{font-size:50px}.hx-in{gap:56px}
  .ct-g{grid-template-columns:repeat(6,minmax(0,1fr))}
  .bn-g{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:240px}
  .bn0{grid-row:span 2}
  .cb-b,.cb.rev .cb-b{grid-template-columns:minmax(0,1fr)}.cb-p{display:none}
  .cbo-in{grid-template-columns:1fr}
  .sq-in{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:980px){
  .hx-in{grid-template-columns:minmax(0,1fr)}.sv{max-width:560px;margin-left:40px}
  .trust{grid-template-columns:1fr 1fr}.trust li:nth-child(3){border-left:0}.trust li:nth-child(n+3){border-top:1px solid var(--line)}
  .st-in{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:760px){
  .hd .wrap.hd-in{padding-top:10px}
  .hx-in{padding-top:26px;padding-bottom:96px;gap:26px}
  .hx-word{font-size:110px;bottom:auto;top:30px;right:-20px}
  .hx-k{font-size:12px;padding:6px 12px;margin-bottom:14px}
  .hx h1{font-size:36px;letter-spacing:-1.2px}
  .hx-lead{font-size:15px;margin:14px 0 20px}
  .hx-acts{display:grid;grid-template-columns:1fr 1fr;gap:8px}.btn-lg{min-height:50px;padding:0 10px;font-size:14.5px}
  .hx-hot{flex-wrap:nowrap;overflow-x:auto;margin:20px -14px 0;padding:0 14px;scrollbar-width:none}.hx-hot::-webkit-scrollbar{display:none}.hx-hot a{white-space:nowrap}.hx-hot span{white-space:nowrap}
  .sv{margin:0}
  .sv-stage{height:400px;border-radius:20px}
  .sv-img{padding:20px 22px 6px}
  .sv-t{padding:14px 18px 18px}.sv-t b{font-size:16px}.sv-p em{font-size:23px}
  .sv-dots{position:static;transform:none;flex-direction:row;justify-content:center;margin-top:12px}
  .sv-d{width:58px;height:58px;border-radius:12px;padding:5px}.sv-d.on{transform:translateY(-4px)}
  .sv-badge{width:84px;height:84px;right:-6px;top:-14px}.sv-badge b{font-size:22px}.sv-badge span{font-size:10px}
  .cbar{margin-top:-60px;padding:0}
  .cbar-in{border-radius:20px 20px 0 0;padding:16px 0 0;box-shadow:0 -10px 30px rgba(0,0,0,.12)}
  .ct-g{grid-template-columns:none;grid-auto-flow:column;grid-template-rows:repeat(2,auto);grid-auto-columns:23%;overflow-x:auto;padding:0 8px;gap:2px;scrollbar-width:none}
  .ct-g::-webkit-scrollbar{display:none}
  .ct{padding:8px 2px 10px}.ct-i{width:64px;height:64px;padding:9px;margin-bottom:6px}.ct-n{font-size:12.5px}.ct-c{font-size:11px}
  .trust{margin:12px 0 0}.trust li{padding:12px 14px;gap:10px}.trust span{width:36px;height:36px;border-radius:10px}.trust span svg{width:20px;height:20px}.trust b{font-size:13.5px}.trust small{font-size:11.5px}
  .dl{margin:10px 0;padding:28px 0}
  .dl h2{font-size:26px}.dl-h{margin-bottom:16px}.dl-nav{margin-left:0;width:100%}.dl-nav .rbtn{display:none}.dl-nav .btn{width:100%}
  .dl .pc{border-radius:14px}
  .sec-h h2{font-size:24px}.sec-h{margin-bottom:14px}
  .bento{margin-top:28px;padding:0}.bento .sec-h{padding:0 14px}
  .bn-g{grid-template-columns:none;grid-template-rows:none;grid-auto-flow:column;grid-auto-columns:78%;grid-auto-rows:230px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 14px 6px;gap:10px;scrollbar-width:none}
  .bn-g::-webkit-scrollbar{display:none}
  .bn{scroll-snap-align:start;border-radius:18px;padding:18px}.bn0{grid-row:auto;grid-column:auto}.bn0 h3,.bn h3{font-size:24px}.bn0 .bn-t{max-width:60%}
  .bn0 .bn-img{padding:12px;border-radius:16px;width:44%;height:50%;right:14px;bottom:14px}
  .bn{flex-direction:column}.bn-t{padding-top:0;max-width:58%}.bn-img{width:38%;height:42%;top:auto;bottom:14px;right:12px}
  .cbs{margin-top:12px;padding:0}
  .cb{border-radius:0;margin:10px 0 0;padding:20px 0;box-shadow:none}
  .cb-h{padding:0 14px;gap:10px;margin-bottom:14px}.cb-h h2{font-size:22px}.cb-h .more{order:2;font-size:13.5px}
  .tabs{order:3;width:calc(100% + 28px);margin:0 -14px;padding:0 14px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}
  .tb{padding:7px 13px;font-size:13.5px}
  .cb-g{padding:0 14px 4px;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:44%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;gap:8px}.cb-g::-webkit-scrollbar{display:none}.cb-g .pc{scroll-snap-align:start}
  .cb .pc{border-radius:12px}
  .cbo{margin:10px 0;padding:34px 0}.cbo h2{font-size:26px}.cbo-sum b{font-size:26px}
  .cbo-g{display:grid;grid-template-columns:1fr 1fr;gap:8px}.cbo-plus{display:none}.cbo-i{border-radius:14px;padding:10px}
  .st{margin:10px 0;padding:0}.st-in{border-radius:0;padding:26px 14px;box-shadow:none}.st h2{font-size:24px}
  .st-n div{padding:16px;border-radius:14px}.st-n dd{font-size:26px}
  .nw{margin:10px 0;padding:0;background:#fff;padding:24px 14px}
  .sq{padding:0}.sq-in{gap:0}.sq .block{border-radius:0;margin-top:10px}
}

/* =========================================================
   CHÂN TRANG (bố cục theo thanhdo.com, màu Malloca)
   ========================================================= */
.tdf{margin-top:36px;color:#B9BEC7;font-size:14px;background:#0E0F12}
.tdf a{color:inherit}.tdf a:hover{color:#fff}
.tdf .ic{display:grid;place-items:center;flex:0 0 auto}
.tdf .ic svg{width:60%;height:60%}
.tdf-hot{background:linear-gradient(90deg,#8E0A20,#C8102E 60%,#E0283F)}
.tdf-hw{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:20px;padding-bottom:20px}
.tdf-htt{display:flex;align-items:center;gap:14px;color:#fff}
.tdf-htt .ic{width:52px;height:52px;border-radius:14px;background:#fff;color:var(--red)}
.tdf-htt b{display:block;font-size:20px;font-weight:700}
.tdf-htt span{color:#FFD9DE;font-size:14px}
.tdf-hg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;flex:1;max-width:840px}
.tdf-hc{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:10px 12px;transition:.2s;color:#fff!important}
.tdf-hc:hover{background:rgba(255,255,255,.22)}
.tdf-hc .ic{width:36px;height:36px;border-radius:10px;background:rgba(255,255,255,.2)}
.tdf-hc small{display:block;font-size:11.5px;letter-spacing:.03em;color:#FFD9DE}
.tdf-hc b{font-size:16px;font-weight:700;white-space:nowrap}
.tdf-main{background:radial-gradient(circle at 8% 0,rgba(200,16,46,.22),transparent 40%),#0E0F12;padding-top:36px}
.tdf-sales{margin-bottom:30px}
.tdf-sh{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.tdf-sh h2{color:#fff;font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.tdf-sh span{font-size:13px;color:#8E949E}
.tdf-sg{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.tdf-sc{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;background:linear-gradient(135deg,rgba(200,16,46,.18),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:12px;transition:.2s}
.tdf-sc:hover{border-color:var(--red)}
.tdf-sc .tp{grid-column:1/-1;display:flex;align-items:center;gap:10px;min-width:0}
.tdf-sc .av{flex:0 0 auto;width:38px;height:38px;border-radius:50%;background:var(--red);color:#fff;display:grid;place-items:center;font-weight:700;font-size:15px}
.tdf-sc .in{min-width:0;line-height:1.3}
.tdf-sc b{display:block;color:#fff;font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tdf-sc small{font-size:11.5px;color:#9AA0AA}
.tdf-sc .ph{display:flex;align-items:center;gap:6px;font-weight:700;font-size:15.5px;white-space:nowrap;color:#FF8A9A!important}
.tdf-sc .ph svg{width:16px;height:16px;flex:0 0 auto}
.tdf-sc .zl{background:#0068FF;border-radius:99px;padding:3px 10px;font-size:11.5px;font-weight:600;white-space:nowrap;color:#fff!important}
.tdf-grid{display:grid;grid-template-columns:1.45fr 1fr 1fr 1.25fr;gap:32px}
.tdf-brand .logo{display:inline-flex}
.tdf-intro{margin:16px 0;line-height:1.65}.tdf-intro b{color:#fff}
.tdf-trust{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tdf-trust li{display:flex;align-items:center;gap:10px;border-radius:12px;padding:10px;border:1px solid rgba(255,255,255,.1);background:linear-gradient(135deg,rgba(200,16,46,.16),rgba(255,255,255,.03))}
.tdf-trust .ic{width:36px;height:36px;border-radius:10px;background:var(--red);color:#fff}
.tdf-trust b{display:block;color:#fff;font-size:13.5px}
.tdf-trust small{font-size:12px;color:#9AA0AA}
.tdf-h{margin:4px 0 14px;color:#fff;font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;position:relative;padding-bottom:10px}
.tdf-h::after{content:"";position:absolute;left:0;bottom:0;width:36px;height:3px;border-radius:3px;background:var(--red)}
.tdf-mn li{margin:0 0 9px}
.tdf-mn a{display:inline-flex;align-items:center;gap:8px}
.tdf-mn a::before{content:"";width:5px;height:5px;border-radius:50%;background:#5A5F69;transition:.2s}
.tdf-mn a:hover::before{background:var(--red)}
.tdf-act{display:flex;align-items:center;gap:12px;border-radius:12px;padding:12px;margin-bottom:10px;transition:.2s;color:#fff!important}
.tdf-act:hover{transform:translateY(-2px)}
.tdf-act.a1{background:linear-gradient(135deg,#C8102E,#8E0A20)}
.tdf-act.a2{background:linear-gradient(135deg,#3A3F48,#1D2027);border:1px solid rgba(255,255,255,.1)}
.tdf-act .ic{width:40px;height:40px;border-radius:10px;background:rgba(255,255,255,.2)}
.tdf-act .tx{flex:1;min-width:0}.tdf-act b{display:block;font-size:14.5px}.tdf-act small{font-size:12px;opacity:.9}
.tdf-act .ar{width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.2);display:grid;place-items:center;font-size:18px;line-height:1}
.tdf-hours{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px}
.tdf-hours .lb{display:flex;align-items:center;gap:8px;color:#fff;font-weight:600;margin-bottom:6px}
.tdf-hours .lb svg{width:18px;height:18px;color:#FF8A9A}
.tdf-hours div{display:flex;justify-content:space-between;gap:10px;font-size:13.5px;padding:3px 0}
.tdf-hours b{color:#FF8A9A}
.tdf-addr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:28px}
.tdf-addr>div{display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px}
.tdf-addr .ic{width:40px;height:40px;border-radius:10px;background:rgba(200,16,46,.25);color:#FF8A9A}
.tdf-addr b{display:block;color:#fff;font-size:13px;text-transform:uppercase;letter-spacing:.04em}
.tdf-addr a{color:#FF8A9A!important;font-weight:700}
.tdf-ch{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:12px;margin-top:12px;align-items:start}
.tdf-zalo{display:flex;align-items:center;gap:16px;background:rgba(0,104,255,.14);border:1px solid rgba(0,104,255,.35);border-radius:12px;padding:14px}
.tdf-zalo .qr{flex:0 0 auto;background:#fff;border-radius:10px;padding:6px;line-height:0}
.tdf-zalo .qr img{width:88px;height:88px}
.tdf-zalo small{display:block;color:#7FB0FF;font-weight:600;font-size:12px}
.tdf-zalo b{display:block;color:#fff;margin:2px 0 10px;font-size:15px}
.tdf-zalo .z{display:inline-flex;background:#0068FF;border-radius:99px;padding:7px 16px;font-weight:600;font-size:13.5px;color:#fff!important}
.tdf-brs{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:14px}
.tdf-brs .lb{display:block;color:#fff;font-weight:600;margin-bottom:10px}
.tdf-brs div{display:flex;flex-wrap:wrap;gap:8px}
.tdf-brs a{border:1px solid rgba(255,255,255,.16);border-radius:8px;padding:5px 12px;font-size:13px;font-weight:500}
.tdf-brs a:hover{border-color:var(--red);background:rgba(200,16,46,.18)}
.tdf-bot{margin-top:28px;border-top:1px solid rgba(255,255,255,.08);padding:16px 0 18px;font-size:13px;color:#7E848E;text-align:center}
.tdf-bot p{margin:3px 0}.tdf-bot b{color:#D3D6DC}.tdf-bot a{color:#FF8A9A}
@media(max-width:1100px){
  .tdf-hw{flex-direction:column;align-items:stretch}.tdf-hg{max-width:none}
  .tdf-grid{grid-template-columns:1fr 1fr}.tdf-ch{grid-template-columns:1fr}
  .tdf-sg{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
  .tdf{margin-top:16px;font-size:13.5px}
  .tdf-hw{gap:14px;padding-top:16px;padding-bottom:16px}
  .tdf-htt .ic{width:44px;height:44px;border-radius:10px}.tdf-htt b{font-size:17px}.tdf-htt span{font-size:12.5px}
  .tdf-hg{grid-template-columns:1fr 1fr;gap:8px}
  .tdf-hc{padding:9px 10px;border-radius:8px}.tdf-hc .ic{width:30px;height:30px;border-radius:8px}.tdf-hc b{font-size:14.5px}.tdf-hc small{font-size:10.5px}
  .tdf-main{padding-top:22px}
  .tdf-sales{margin-bottom:20px}
  .tdf-sg{grid-template-columns:1fr 1fr;gap:8px}
  .tdf-sc{border-radius:8px;padding:9px;grid-template-columns:1fr}.tdf-sc .av{width:30px;height:30px;font-size:12.5px}.tdf-sc .ph{font-size:14px}.tdf-sc b{font-size:13.5px}.tdf-sc .zl{justify-self:start}
  .tdf-sc:last-child:nth-child(2n+1){grid-column:1/-1}
  .tdf-grid{grid-template-columns:1fr 1fr;gap:20px 14px}
  .tdf-brand,.tdf-sup{grid-column:1/-1}
  .tdf-trust{gap:8px}.tdf-trust li{padding:8px;border-radius:8px}.tdf-trust .ic{width:32px;height:32px;border-radius:8px}.tdf-trust b{font-size:12.5px}.tdf-trust small{font-size:11px}
  .tdf-act,.tdf-hours,.tdf-addr>div,.tdf-zalo,.tdf-brs{border-radius:8px}
  .tdf-addr{grid-template-columns:1fr;gap:8px;margin-top:20px}
  .tdf-ch{gap:8px}.tdf-zalo .qr img{width:76px;height:76px}
  .tdf-bot{margin-top:20px;padding-bottom:84px}
}
