/* =====================================================================
   BẾP MẸ BỐNG – HỆ THỐNG THIẾT KẾ CHO LANDING PAGE  (bmb-landing.css)
   Cùng ngôn ngữ với trang chủ: xanh lá tươi, Quicksand, thẻ trắng bo tròn,
   chip viền nét đứt, đổ bóng xanh nhẹ. Mè đen (nâu đen) chỉ là điểm nhấn nhỏ.
   Mục lục:  1 Token · 2 Nền tảng · 3 Thanh trên/chân trang · 4 Nút & chip
             5 Hero · 6 Khối nội dung (từng component) · 7 Hiệu ứng · 8 Responsive
   Muốn đổi màu cả hệ thống: chỉ sửa phần 1.
   ===================================================================== */

/* 1 ── TOKEN ───────────────────────────────────────────────────────── */
:root{
  --main:#8bc34a; --main-d:#689f38; --g8:#2e7d32; --g9:#1b5e20; --g10:#123d17;
  --mint:#f4fbe7; --mint2:#e4f3d6; --bg:#f8fff4; --line:#e3f0d2;
  --ink:#263238; --muted:#5f6b63;
  --sesame:#2b2118; --sesame2:#3a2c20; --gold:#d9a441; --gold-l:#f3dca6; --zalo:#0068ff;
  --r-s:12px; --r-m:18px; --r-l:28px;
  --shadow:0 14px 36px rgba(104,159,56,.14); --shadow-l:0 30px 70px rgba(27,94,32,.22);
  --ease:cubic-bezier(.22,.61,.36,1); --ease-io:cubic-bezier(.77,0,.18,1);
  --sec:clamp(56px,7.5vw,104px); --gut:clamp(18px,3vw,32px);
  --seed:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='14' viewBox='0 0 64 14'%3E%3Cellipse cx='12' cy='7' rx='5' ry='3' fill='%23689f38' transform='rotate(-25 12 7)'/%3E%3Cellipse cx='32' cy='7' rx='5.5' ry='3.2' fill='%232b2118'/%3E%3Cellipse cx='52' cy='7' rx='5' ry='3' fill='%238bc34a' transform='rotate(25 52 7)'/%3E%3C/svg%3E");
  --tickw:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='%23fff' d='M7.7 14.3 3.9 10.5l1.4-1.4 2.4 2.4 7-7 1.4 1.4z'/%3E%3C/svg%3E");
  --tick:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='%23000' d='M7.7 14.3 3.9 10.5l1.4-1.4 2.4 2.4 7-7 1.4 1.4z'/%3E%3C/svg%3E");
}

/* 2 ── NỀN TẢNG ────────────────────────────────────────────────────── */
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;font-family:"Quicksand","Segoe UI",Arial,sans-serif;color:var(--ink);line-height:1.75;
  font-size:clamp(16px,.3vw + 15px,18px);-webkit-text-size-adjust:100%;overflow-x:hidden;
  background:radial-gradient(circle at top,rgba(255,255,255,.9) 0,rgba(248,255,241,0) 45%),linear-gradient(180deg,var(--bg),#eef8e1)}
img{max-width:100%;height:auto;display:block}
a{color:var(--g8)}
h1,h2,h3{margin:0 0 .5em;color:var(--g9);font-weight:700;line-height:1.2;letter-spacing:-.015em}
h1{font-size:clamp(30px,3.8vw,50px);line-height:1.12;text-wrap:balance}
h2{font-size:clamp(25px,3.3vw,40px);text-wrap:balance}
h3{font-size:clamp(17px,.9vw + 13px,20px);letter-spacing:0}
p{margin:0 0 1.05em}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:8px}
.wrap{max-width:1180px;margin:0 auto;padding:0 var(--gut)}
.meta{font-size:14px;color:var(--muted)}
section.block{padding:var(--sec) 0;position:relative}
section.block.white{background:#fff}
section.block.mint{background:linear-gradient(180deg,var(--mint),var(--bg))}

/* tiêu đề khối: có họa tiết hạt vừng làm dấu nhận diện thương hiệu */
.sec-head{max-width:780px;margin:0 auto clamp(30px,4vw,50px);text-align:center}
.sec-head::after{content:"";display:block;width:64px;height:14px;margin:18px auto 0;background:var(--seed) center/contain no-repeat}
.sec-head p{color:var(--muted);margin:0}
.deep .sec-head::after{filter:brightness(1.6)}

/* 3 ── THANH TRÊN / CHÂN TRANG (giống header, footer trang chủ) ────── */
.progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:90;background:linear-gradient(90deg,var(--gold),var(--gold-l));transform:scaleX(0);transform-origin:0 50%}
.topbar{position:sticky;top:0;z-index:80;background:linear-gradient(90deg,var(--main-d),var(--main));color:#fff;transition:box-shadow .4s var(--ease)}
.topbar.scrolled{box-shadow:0 8px 26px rgba(27,94,32,.28)}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:62px}
.brand{font-weight:700;font-size:21px;color:#fff;text-decoration:none;letter-spacing:-.01em}
.topbar nav{display:flex;align-items:center;gap:2px}
.topbar nav a{color:#fff;text-decoration:none;font-weight:700;font-size:15.5px;padding:8px 13px;border-radius:999px;transition:background .3s}
.topbar nav a:hover,.topbar nav a.active{background:rgba(255,255,255,.24)}
.topbar nav a.keep{background:#fff;color:var(--g9);margin-left:6px}
.site-footer{background:linear-gradient(90deg,var(--main-d),var(--main));color:#fff;text-align:center;padding:clamp(36px,5vw,52px) var(--gut) 100px}
.site-footer p{margin:0 0 6px}
.site-footer a{color:#fff;font-weight:700}
.footer-links{display:flex;flex-wrap:wrap;gap:6px 12px;justify-content:center;align-items:center;margin-top:10px}
.footer-links a{text-decoration:underline;text-underline-offset:3px}
.footer-links span{opacity:.7}

/* 4 ── NÚT & CHIP ──────────────────────────────────────────────────── */
.btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 26px;border-radius:var(--r-s);font-family:inherit;font-weight:700;font-size:17px;line-height:1.2;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:transform .4s var(--ease),box-shadow .4s var(--ease),background .3s}
.btn::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.4),transparent);transform:skewX(-20deg);transition:left .8s var(--ease)}
.btn:hover{transform:translateY(-3px);box-shadow:0 14px 26px rgba(27,94,32,.28)}
.btn:hover::after{left:130%}
.btn-primary{background:var(--main-d);color:#fff}
.btn-primary:hover{background:var(--g8)}
.btn-dark{background:var(--g9);color:#fff}
.btn-zalo{background:var(--zalo);color:#fff}
.btn-ghost{background:#fff;color:var(--g9);border-color:var(--line)}
.btn-light{background:#fff;color:var(--g9)}
.btn-outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.6)}
.btn .ic{width:20px;height:20px;flex:none}
.btn .s{display:none}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.chip{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1px dashed var(--main-d);color:var(--g8);padding:6px 14px;border-radius:999px;font-weight:700;font-size:14.5px}
.chip.solid{border-style:solid;border-color:var(--line);box-shadow:0 2px 10px rgba(104,159,56,.1)}
.chip.sesame{background:var(--sesame);border:0;color:var(--gold-l)}

/* 5 ── HERO KIỂU TRANG SẢN PHẨM ────────────────────────────────────── */
.hero{position:relative;isolation:isolate;overflow:hidden;padding:clamp(26px,3.6vw,48px) 0 clamp(84px,10vw,128px);
  background:radial-gradient(760px 460px at 90% 0%,rgba(139,195,74,.34),transparent 62%),radial-gradient(560px 380px at 0% 100%,rgba(217,164,65,.12),transparent 70%),linear-gradient(180deg,#f1faE2,var(--bg))}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:clamp(30px,5vw,60px);background:var(--bg);clip-path:ellipse(64% 100% at 50% 100%)}
#seeds{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.hero .wrap{position:relative;display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(30px,5vw,68px);align-items:center}
.crumbs{font-size:14px;color:var(--muted);margin:0 0 16px}
.crumbs a{color:var(--g8)}
.loc{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:15px;color:var(--g8);margin-bottom:12px}
.hero .lead{font-size:clamp(17px,.6vw + 15px,19.5px);color:var(--muted);max-width:600px}
.price-line{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 12px;margin:2px 0 14px;padding:12px 18px;border-radius:var(--r-m);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);width:fit-content;max-width:100%}
.price-line b{font-size:clamp(26px,2.4vw + 14px,38px);line-height:1.1;color:var(--g9);letter-spacing:-.02em}
.price-line small{font-size:14px;color:var(--muted);font-weight:600}
.hero .usp-list{grid-template-columns:1fr;gap:2px;margin:6px 0 4px}
.hero .usp-list li{padding-top:7px;padding-bottom:7px}
.menu-link{display:inline-block;margin-top:14px;font-weight:700;color:var(--g8);text-decoration:none}
.menu-link:hover{text-decoration:underline}

/* thư viện ảnh sản phẩm: ảnh chính + ảnh nhỏ bấm để đổi */
.pgal{position:relative;width:100%;max-width:540px;margin:0 auto}
.pgal::before{content:"";position:absolute;width:86%;aspect-ratio:1;right:-14%;top:-12%;border-radius:50%;background:radial-gradient(closest-side,rgba(139,195,74,.5),transparent 72%);z-index:-1}
.pg-stage{position:relative}
.pg-main{position:relative;margin:0;aspect-ratio:1/1;border-radius:var(--r-l);overflow:hidden;border:6px solid #fff;background:linear-gradient(160deg,#d9ecc0,#b9d98f);box-shadow:var(--shadow-l)}
.pg-main::before{content:"🥜";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:58px;opacity:.4}
.pg-main img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 60%;z-index:1;opacity:0;transition:opacity .7s var(--ease),transform 1.4s var(--ease)}
.pg-main img.on{opacity:1}
.pg-main:hover img.on{transform:scale(1.04)}
.pg-tag{position:absolute;z-index:3;left:16px;top:16px;display:inline-flex;align-items:center;gap:8px;background:var(--sesame);color:var(--gold-l);font-weight:700;font-size:14.5px;padding:7px 15px;border-radius:999px;box-shadow:0 8px 18px rgba(43,33,24,.35)}
.pg-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}
.pg-thumbs[hidden]{display:none}
.pg-thumbs button{position:relative;padding:0;border:3px solid transparent;border-radius:14px;overflow:hidden;aspect-ratio:1;cursor:pointer;background:var(--mint2);box-shadow:0 6px 14px rgba(104,159,56,.18);transition:border-color .3s,transform .4s var(--ease)}
.pg-thumbs button:hover{transform:translateY(-3px)}
.pg-thumbs button.active{border-color:var(--main-d)}
.pg-thumbs img{width:100%;height:100%;object-fit:cover}

/* ô ảnh dùng chung */
.shot{position:relative;margin:0;overflow:hidden;background:linear-gradient(135deg,var(--mint2),#cfe6b0);border-radius:var(--r-l)}
.shot::before{content:"🥜";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:56px;opacity:.4}
.shot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;opacity:0;transition:opacity 1s var(--ease)}
.shot img.on{opacity:1}

/* mục lục: thẻ riêng, có khoảng thở hai phía */
.lead-in{padding-bottom:clamp(56px,8vw,104px)}
.toc{max-width:1060px;margin:clamp(40px,5.5vw,68px) auto 0;padding:clamp(22px,3vw,32px) clamp(18px,3vw,36px) clamp(24px,3.2vw,34px);text-align:center;background:linear-gradient(135deg,#fff,var(--mint));border:1px dashed var(--main-d);border-radius:var(--r-l);box-shadow:0 14px 34px rgba(104,159,56,.08)}
.toc strong{display:inline-flex;align-items:center;gap:12px;margin-bottom:18px;font-size:clamp(17px,.6vw + 14px,20px);color:var(--g9)}
.toc strong::before,.toc strong::after{content:"";width:44px;height:10px;background:var(--seed) center/contain no-repeat}
.toc ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 10px}
.toc a{display:block;text-decoration:none;font-weight:600;font-size:15px;line-height:1.3;padding:8px 17px;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--g8);box-shadow:0 2px 8px rgba(104,159,56,.08);transition:all .35s var(--ease)}
.toc a:hover{background:var(--main-d);border-color:var(--main-d);color:#fff;transform:translateY(-2px);box-shadow:0 8px 16px rgba(104,159,56,.3)}

/* 6 ── KHỐI NỘI DUNG ───────────────────────────────────────────────── */
/* 6.1 usp: thẻ điểm nhấn kiểu trang chủ */
.usp-card{position:relative;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:var(--r-m);padding:clamp(20px,3vw,32px);box-shadow:var(--shadow)}
.usp-card::before{content:"";position:absolute;right:-70px;top:-70px;width:220px;height:220px;border-radius:50%;background:radial-gradient(closest-side,rgba(139,195,74,.22),transparent 70%);pointer-events:none}
.usp-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:8px 26px}
.usp-list li{position:relative;padding:10px 12px 10px 38px;border-radius:12px;line-height:1.6;transition:background .25s}
.usp-list li:hover{background:rgba(139,195,74,.09)}
.usp-list li::before{content:"";position:absolute;left:10px;top:13px;width:22px;height:22px;border-radius:50%;background:var(--tickw) center/68% no-repeat,linear-gradient(135deg,var(--main-d),var(--main));box-shadow:0 4px 10px rgba(104,159,56,.35)}
.usp-list strong{color:var(--g9)}
.facts{position:relative;z-index:3;margin:calc(-1*clamp(48px,6vw,76px)) auto 0;display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-radius:var(--r-l);box-shadow:0 26px 60px rgba(27,94,32,.16);overflow:hidden}
.facts div{padding:clamp(16px,2vw,26px) clamp(16px,2vw,26px);display:flex;gap:12px;align-items:flex-start}
.facts div+div{border-left:1px dashed var(--line)}
.facts i{font-style:normal;font-size:28px;line-height:1.1}
.facts b{display:block;font-size:clamp(15.5px,.8vw + 12px,18px);color:var(--g9);line-height:1.3}
.facts span{display:block;font-size:14.5px;color:var(--muted);line-height:1.55;margin-top:2px}

/* 6.2 story: ảnh dính khi cuộn + tóm tắt nhanh */
.story{display:grid;grid-template-columns:5fr 6fr;gap:clamp(30px,5vw,72px);align-items:start}
.story .side{position:sticky;top:96px}
.story .shot{aspect-ratio:4/5;box-shadow:var(--shadow-l);border:6px solid #fff}
.summary{background:linear-gradient(135deg,var(--mint),#fff);border:1px solid var(--line);border-left:5px solid var(--main-d);border-radius:var(--r-m);padding:20px 24px;margin:0 0 26px}
.summary strong.t{display:block;color:var(--g9);margin-bottom:6px;font-size:17px}
.summary ul{margin:0;padding-left:20px}
.summary li{margin:.3em 0}

/* 6.3 quote: dải xanh đậm có ảnh parallax */
.band{position:relative;display:grid;place-items:center;min-height:clamp(340px,46vw,540px);overflow:hidden;color:#fff;text-align:center;isolation:isolate;background:linear-gradient(160deg,var(--g10),var(--g8))}
.band-img{position:absolute;left:0;right:0;top:-30%;bottom:-30%;z-index:-2;will-change:transform}
.band-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 55%;opacity:0;transition:opacity 1.2s var(--ease)}
.band-img img.on{opacity:.55}
.band::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(18,61,23,.7),rgba(27,94,32,.82))}
.band blockquote{margin:0;max-width:880px;padding:0 var(--gut)}
.band blockquote::before{content:"“";display:block;font-size:84px;line-height:.6;color:var(--main);margin-bottom:6px}
.band q{display:block;quotes:none;font-weight:600;font-size:clamp(26px,4vw,48px);line-height:1.22;letter-spacing:-.02em;text-wrap:balance;text-shadow:0 4px 26px rgba(0,0,0,.35)}
.band p{margin:20px 0 0;color:#dff1c9;font-weight:600;font-size:clamp(15px,.8vw + 12px,18px)}

/* 6.4 reasons: danh sách dòng với biểu tượng hạt mè */
.split{display:grid;grid-template-columns:5fr 6fr;gap:clamp(30px,5vw,80px);align-items:start}
.split .lhs{position:sticky;top:100px}
.split .lhs p{color:var(--muted)}
.rows{list-style:none;margin:0;padding:0}
.rows li{display:grid;grid-template-columns:60px 1fr;gap:18px;padding:24px 4px;border-bottom:1px dashed #cfe3b8;transition:transform .5s var(--ease)}
.rows li:first-child{padding-top:4px}
.rows li:hover{transform:translateX(8px)}
.rows .ic{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;font-size:25px;background:radial-gradient(circle at 30% 25%,var(--sesame2),var(--sesame));box-shadow:0 10px 20px rgba(43,33,24,.3)}
.rows h3{margin-bottom:4px}
.rows p{margin:0;color:var(--muted)}

/* 6.5 deep: khối xanh đậm (giã tay + quy trình) */
.deep{color:#e2f2cf;background:radial-gradient(560px 360px at 92% 0%,rgba(139,195,74,.3),transparent 70%),radial-gradient(500px 320px at 0% 100%,rgba(217,164,65,.14),transparent 70%),linear-gradient(160deg,var(--g10),var(--g9) 55%,var(--g8))}
.deep h2,.deep h3{color:#fff}
.deep .sec-head p{color:#cfe6b6}
.glass3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.glass3 div{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);border-radius:var(--r-m);padding:24px;backdrop-filter:blur(6px);transition:transform .6s var(--ease),background .4s,border-color .4s}
.glass3 div:hover{transform:translateY(-6px);background:rgba(255,255,255,.13);border-color:var(--main)}
.glass3 b{display:block;font-size:20px;color:#fff;margin-bottom:6px}
.glass3 span{display:block;font-size:16px;color:#d4e9bd;line-height:1.65}
.tl-title{text-align:center;margin:clamp(44px,6vw,76px) 0 40px}
.timeline{counter-reset:s;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:22px;position:relative}
.timeline::before{content:"";position:absolute;left:6%;right:6%;top:23px;border-top:2px dashed rgba(255,255,255,.4)}
.timeline li{counter-increment:s;position:relative;text-align:center;padding-top:62px}
.timeline li::before{content:counter(s);position:absolute;top:0;left:50%;transform:translateX(-50%);width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--main),var(--main-d));color:#fff;font-weight:700;font-size:19px;display:grid;place-items:center;box-shadow:0 0 0 6px rgba(139,195,74,.22)}
.timeline h3{font-size:18px}
.timeline p{font-size:15.5px;margin:0;color:#d4e9bd}

/* 6.5b why: lý do nên mua ở Bếp (khối xanh đậm, 3 x 2 thẻ) */
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.why-grid article{position:relative;display:grid;grid-template-columns:auto 1fr;column-gap:14px;row-gap:12px;align-items:center;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.2);border-radius:var(--r-m);padding:26px 24px;backdrop-filter:blur(6px);transition:transform .6s var(--ease),background .4s,border-color .4s}
.why-grid article:hover{transform:translateY(-7px);background:rgba(255,255,255,.14);border-color:var(--main)}
.why-grid .ic{width:50px;height:50px;border-radius:15px;display:grid;place-items:center;font-size:24px;background:linear-gradient(135deg,var(--main),var(--main-d));box-shadow:0 10px 22px rgba(0,0,0,.25)}
.why-grid h3{margin:0;font-size:clamp(17.5px,.9vw + 13px,20.5px);line-height:1.25}
.why-grid p{grid-column:1/-1;margin:0;font-size:16px;color:#d4e9bd;line-height:1.65}
.why-cta{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:clamp(28px,4vw,44px)}

/* 6.6 product: thẻ sản phẩm kiểu trang chủ, phóng to */
.product{display:grid;grid-template-columns:1fr 1fr;background:#fff;border:1px solid var(--line);border-radius:var(--r-l);overflow:hidden;box-shadow:var(--shadow-l)}
.product>*{min-width:0}
.product .shot{border-radius:0;aspect-ratio:auto;height:100%;min-height:440px}
.product .body{padding:clamp(26px,4vw,52px);display:flex;flex-direction:column;justify-content:center}
.product h3{font-size:clamp(24px,2.6vw,34px);margin:10px 0 8px}
.price{display:inline-flex;align-items:baseline;gap:10px;font-weight:700;font-size:clamp(22px,2vw + 12px,30px);color:var(--g9);margin:0 0 12px}
.price small{font-size:14px;color:var(--muted);font-weight:600}
.product .usp-list{grid-template-columns:1fr;margin:8px 0 6px}
.product .usp-list li{padding-top:6px;padding-bottom:6px}
.more-link{font-weight:700;text-decoration:none;color:var(--g8);display:inline-block;margin-top:16px}
.more-link:hover{text-decoration:underline}

/* 6.7 checklist: thẻ usp 2 cột */
.cl-card{max-width:940px;margin:0 auto}
.cl-card .usp-list{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:6px 30px}
.cl-card .usp-list li{padding-top:12px;padding-bottom:12px}
.callout{max-width:940px;margin:22px auto 0;background:linear-gradient(135deg,#fff8e4,#fff);border:1px solid #f0e0b4;border-left:5px solid var(--gold);border-radius:var(--r-m);padding:18px 24px}
.callout p{margin:0}

/* 6.8 bento: lưới ô không đều */
.bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(170px,auto);gap:16px}
.bento article{position:relative;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:var(--r-m);padding:22px;display:flex;flex-direction:column;justify-content:center;transition:transform .6s var(--ease),box-shadow .6s var(--ease),border-color .4s}
.bento article:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:var(--main-d)}
.bento .hd{display:flex;align-items:center;gap:12px;margin-bottom:8px}
.bento .ico{flex:none;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-size:24px;line-height:1;background:var(--mint);border:1px solid var(--line)}
.bento h3{font-size:17.5px;margin:0;line-height:1.25}
.bento p{margin:0;font-size:15px;color:var(--muted);line-height:1.6}
.bento .big{grid-column:span 2;grid-row:span 2;color:#fff;border:0;padding:0;background:linear-gradient(160deg,var(--g8),var(--g10))}
.bento .big .shot{position:absolute;inset:0;border-radius:0;background:transparent}
.bento .big .shot img.on{opacity:.9}
.bento .big::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(18,61,23,.88));pointer-events:none}
.bento .big .txt{position:relative;z-index:2;padding:28px;margin-top:auto}
.bento .big h3{color:#fff;font-size:clamp(22px,2vw + 10px,30px)}
.bento .big p{color:#e4f3d0;font-size:16px}
.bento .big .ico{position:absolute;z-index:2;left:24px;top:22px;padding:0;margin:0;font-size:38px;background:rgba(255,255,255,.2);width:64px;height:64px;border-radius:50%;display:grid;place-items:center;backdrop-filter:blur(4px)}
.bento .wide{grid-column:span 2;background:linear-gradient(135deg,var(--mint),#fff)}

/* 6.9 tips: thẻ viền nét đứt */
.tips{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.tips article{position:relative;background:#fff;border:1px dashed var(--main-d);border-radius:var(--r-m);padding:28px 22px 24px;text-align:center;transition:transform .6s var(--ease),box-shadow .6s var(--ease)}
.tips article:hover{transform:translateY(-7px);box-shadow:var(--shadow)}
.tips .ico{width:62px;height:62px;border-radius:50%;margin:-58px auto 14px;display:grid;place-items:center;font-size:29px;background:linear-gradient(135deg,var(--mint2),#fff);border:1px solid var(--line);box-shadow:0 8px 18px rgba(104,159,56,.2)}
.tips{margin-top:34px;padding-top:6px}
.tips p{margin:0;font-size:15.5px;color:var(--muted)}
.fine{max-width:760px;margin:34px auto 0;text-align:center;font-size:14px;color:var(--muted);line-height:1.65}

/* 6.10 care: danh sách + tờ ghi chú */
.care{display:grid;grid-template-columns:6fr 5fr;gap:clamp(28px,5vw,70px);align-items:center}
.care .usp-list{grid-template-columns:1fr}
.note{position:relative;background:linear-gradient(160deg,#fff4cf,#ffe9a8);border-radius:6px 6px 22px 6px;padding:34px 30px 30px;transform:rotate(-2deg);box-shadow:0 22px 44px rgba(150,110,20,.22);color:#5b4310;transition:transform .6s var(--ease)}
.note:hover{transform:rotate(0)}
.note::before{content:"";position:absolute;top:-14px;left:50%;width:92px;height:28px;transform:translateX(-50%) rotate(2deg);background:rgba(139,195,74,.55);border-radius:4px}
.note b{display:block;font-size:clamp(26px,3vw,38px);line-height:1.15;color:#4a3507;margin-bottom:10px;letter-spacing:-.02em}
.note p{margin:0;font-size:16px}

/* 6.11 gallery: xếp gạch theo tỉ lệ ảnh thật */
.gallery{columns:3 260px;column-gap:14px}
.gallery .shot{break-inside:avoid;margin:0 0 14px;cursor:zoom-in;min-height:200px;border-radius:var(--r-m);box-shadow:var(--shadow);transition:transform .7s var(--ease)}
.gallery .shot img{position:relative;inset:auto;height:auto;opacity:0}
.gallery .shot img.on{opacity:1}
.gallery .shot:hover{transform:translateY(-5px)}
.gallery .shot:hover img{transform:scale(1.04)}
.gallery .shot img{transition:opacity 1s var(--ease),transform 1.2s var(--ease)}

/* 6.12 steps: các bước đặt mua */
.steps{counter-reset:o;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;position:relative}
.steps li{counter-increment:o;position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r-m);padding:34px 26px 26px;box-shadow:var(--shadow);transition:transform .6s var(--ease)}
.steps li:hover{transform:translateY(-6px)}
.steps li::before{content:counter(o);position:absolute;top:-20px;left:24px;width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--main),var(--main-d));color:#fff;font-weight:700;display:grid;place-items:center;box-shadow:0 8px 16px rgba(104,159,56,.4)}
.steps p{margin:0;color:var(--muted);font-size:16px}

/* 6.13 faq: tiêu đề dính bên trái, câu hỏi bên phải */
.faq-wrap{display:grid;grid-template-columns:4fr 7fr;gap:clamp(28px,5vw,72px);align-items:start}
.faq-wrap .lhs{position:sticky;top:100px}
.faq-wrap .lhs p{color:var(--muted)}
.faq details{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-s);margin-bottom:12px;padding:0 22px;transition:border-color .4s,box-shadow .5s var(--ease),background .4s}
.faq details:hover{border-color:var(--main-d)}
.faq details[open]{background:#fff;border-color:var(--main-d);box-shadow:var(--shadow)}
.faq summary{cursor:pointer;font-weight:700;padding:17px 0;list-style:none;display:flex;justify-content:space-between;gap:14px;color:var(--g9)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:28px;line-height:1;color:var(--main-d);transition:transform .45s var(--ease)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding-bottom:17px;margin:0;color:var(--muted)}

/* 6.14 about + cta */
.about{max-width:880px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:var(--r-l);padding:clamp(24px,4vw,42px);box-shadow:var(--shadow)}
.about address{font-style:normal}
.related{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.related a{text-decoration:none;font-weight:700;font-size:15px;padding:8px 18px;border-radius:999px;background:#fff;border:1px dashed var(--main-d);color:var(--g8);transition:all .35s var(--ease)}
.related a:hover{background:var(--main-d);color:#fff;transform:translateY(-2px)}
.cta{position:relative;overflow:hidden;color:#fff;padding:clamp(56px,7vw,100px) 0;background:radial-gradient(640px 360px at 88% 0%,rgba(139,195,74,.32),transparent 70%),linear-gradient(135deg,var(--g10),var(--g9) 58%,var(--g8))}
.cta h2{color:#fff}
.dock{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:820px;margin:34px auto 0}
.dock-btn{display:flex;align-items:center;gap:14px;padding:16px 20px;border-radius:var(--r-m);background:#fff;color:var(--g9);text-decoration:none;text-align:left;box-shadow:0 18px 38px rgba(18,61,23,.26);transition:transform .45s var(--ease),box-shadow .45s var(--ease)}
.dock-btn:hover{transform:translateY(-5px);box-shadow:0 26px 48px rgba(18,61,23,.36)}
.dock-btn .di{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;flex:none;color:#fff}
.dock-btn .di svg{width:24px;height:24px}
.di.zalo{background:#0068ff}.di.call{background:var(--g9)}.di.fb{background:#1877f2}
.alt-phones{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 18px;margin:26px 0 0;color:#fff;font-weight:600}
.alt-phones a{color:#fff;font-weight:700;white-space:nowrap}
.dock-btn b{display:block;font-size:17px;line-height:1.2}
.dock-btn small{display:block;font-size:13.5px;color:var(--muted);font-weight:600;margin-top:2px}
.sticky-cta{display:none}

/* lightbox */
.lb{position:fixed;inset:0;z-index:100;background:rgba(10,24,10,.94);display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;visibility:hidden;transition:opacity .45s var(--ease),visibility .45s}
.lb.open{opacity:1;visibility:visible}
.lb img{max-height:86vh;max-width:94vw;border-radius:14px;transform:scale(.94);transition:transform .6s var(--ease)}
.lb.open img{transform:none}
.lb button{position:absolute;background:rgba(255,255,255,.16);color:#fff;border:0;width:48px;height:48px;border-radius:50%;font-size:26px;cursor:pointer;transition:background .3s}
.lb button:hover{background:rgba(255,255,255,.3)}
.lb .x{top:16px;right:16px}.lb .p{left:14px;top:50%}.lb .n{right:14px;top:50%}
.lb .cap{position:absolute;bottom:18px;left:0;right:0;text-align:center;color:#fff;font-weight:600;padding:0 70px}

/* 6.15 NHẬN DIỆN THƯƠNG HIỆU: logo/avatar chủ bếp lấy từ chính trang chủ.
   Phần .avatar-flip và .cat-peek bên dưới được chuyển nguyên từ app.css của trang chủ. */
.avatar-flip {
    position: relative;
    width: 240px;
    height: 240px;
    border-radius: 50%;
    perspective: 1000px;
    cursor: pointer;
    flex-shrink: 0;
    isolation: isolate;
    box-shadow: 0 6px 22px rgba(0, 0, 0, .12);
    background: radial-gradient(120% 120% at 30% 30%, #fff 0%, #eef7e9 100%);
    border: 6px solid #f1f7ed;
    overflow: visible
}

.avatar-flip img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
    backface-visibility: hidden;
    transform-style: preserve-3d;
    transition: transform .6s cubic-bezier(.2, .65, .2, 1)
}

.avatar-flip .front {
    transform: rotateY(0deg)
}

.avatar-flip .back {
    transform: rotateY(180deg)
}

.avatar-flip:hover .front {
    transform: rotateY(-180deg)
}

.avatar-flip:hover .back {
    transform: rotateY(0deg)
}

.avatar-flip.is-flipped .front {
    transform: rotateY(-180deg)
}

.avatar-flip.is-flipped .back {
    transform: rotateY(0deg)
}

.avatar-flip:active {
    transform: scale(.99)
}

:root {
    --hk-pink: #ff78b7;
    --hk-pink-2: #ff9bcf;
    --hk-pink-3: #ffd1e7;
    --hk-bow: #ff5aa5;
    --hk-bow-center: #ff2f93;
    --hk-white: #fffdfd;
    --hk-black: #222;
    --hk-yellow: #ffc83d
}

.cat-peek.hk {
    position: absolute;
    right: -6px;
    bottom: -6px;
    width: 110px;
    height: 110px;
    pointer-events: none;
    transform: translateX(70%) rotate(-3deg);
    opacity: 0;
    filter: drop-shadow(0 6px 16px rgba(255, 120, 183, .35));
    transition: transform .5s cubic-bezier(.2, .8, .2, 1), opacity .35s ease;
    z-index: 2
}

.cat-peek.hk.show {
    transform: translateX(0) rotate(0deg);
    opacity: 1
}

.cat-peek.hk.show .cat-svg {
    animation: hk-bob 2.8s ease-in-out infinite
}

.cat-peek.hk .cat-svg {
    width: 100%;
    height: 100%;
    display: block
}

.hk-ear {
    fill: var(--hk-pink-2)
}

.hk-ear-inner {
    fill: var(--hk-pink-3)
}

.hk-face {
    fill: var(--hk-white);
    stroke: var(--hk-pink);
    stroke-width: 2px
}

.hk-bow ellipse {
    fill: var(--hk-bow)
}

.hk-bow-center {
    fill: var(--hk-bow-center)
}

.hk-eye {
    fill: var(--hk-black)
}

.hk-whisker path {
    stroke: var(--hk-black);
    stroke-width: 2px;
    stroke-linecap: round
}

.hk-nose {
    fill: var(--hk-yellow)
}

.hk-cheek {
    fill: var(--hk-pink-3)
}

.hk-mouth path {
    fill: none;
    stroke: var(--hk-black);
    stroke-width: 2.6px;
    stroke-linecap: round
}

.hk-eye-left {
    transform-box: fill-box;
    transform-origin: center;
    animation: hk-wink 4.8s ease-in-out infinite
}

.cat-peek.hk.show .hk-eye-right {
    animation: hk-eye-look 2.6s ease-in-out infinite
}

@keyframes hk-wink {

    0%,
    78%,
    82%,
    100% {
        transform: scaleY(1)
    }

    80% {
        transform: scaleY(.14)
    }

    90% {
        transform: scaleY(1)
    }

    92% {
        transform: scaleY(.18)
    }

    94% {
        transform: scaleY(1)
    }
}

@keyframes hk-eye-look {

    0%,
    100% {
        transform: translateX(0)
    }

    50% {
        transform: translateX(-1.6px)
    }
}

@keyframes hk-bob {

    0%,
    100% {
        transform: translateY(0) rotate(0)
    }

    50% {
        transform: translateY(-1.2px) rotate(-.4deg)
    }
}

.cat-peek.hk.show .hk-ear {
    animation: hk-ear 6.5s ease-in-out infinite;
    transform-box: fill-box;
    transform-origin: 50% 80%
}

@keyframes hk-ear {

    0%,
    96%,
    100% {
        transform: rotate(0)
    }

    98% {
        transform: rotate(-4deg)
    }
}

@media (prefers-reduced-motion:reduce) {

    .cat-peek.hk,
    .cat-peek.hk.show,
    .cat-peek.hk .hk-eye,
    .cat-peek.hk .cat-svg,
    .cat-peek.hk .hk-ear {
        transition: none !important;
        animation: none !important
    }
}

@media (max-width:480px) {
    .cat-peek.hk {
        width: 96px;
        height: 96px;
        right: -4px;
        bottom: -4px
    }
}

/* logo tròn nhỏ (thanh trên, dòng tác giả, chân trang): có nền dự phòng khi chưa tải xong */
.brand{display:inline-flex;align-items:center;gap:10px}
.brand-mark{position:relative;flex:none;width:38px;height:38px;border-radius:50%;overflow:hidden;display:inline-grid;place-items:center;background:linear-gradient(135deg,var(--main),var(--g8));border:2px solid #fff;box-shadow:0 3px 10px rgba(0,0,0,.2)}
.brand-mark::before{content:"🥜";font-size:17px;line-height:1}
.brand-mark img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .6s var(--ease)}
.brand-mark img.on{opacity:1}
.brand-mark.lg{width:50px;height:50px;border-width:3px}
.brand-mark.xl{width:68px;height:68px;border-width:3px;margin:0 auto 12px}
.byline{display:flex;align-items:center;gap:14px;margin-top:22px;padding-top:18px;border-top:1px dashed #c9dfb0}
.byline b{display:block;color:var(--g9);font-size:16.5px;line-height:1.25}
.byline small{display:block;color:var(--muted);font-size:14px;line-height:1.5;margin-top:2px}


/* avatar lật thu nhỏ: thanh trên, dòng tác giả, chân trang (cùng hiệu ứng như trang chủ) */
.avatar-flip.mini{flex:none;width:42px;height:42px;margin:0;border:2px solid #fff;perspective:400px;box-shadow:0 3px 10px rgba(0,0,0,.22)}
.avatar-flip.mini.lg{width:54px;height:54px;border-width:3px}
.avatar-flip.mini.xl{width:76px;height:76px;border-width:3px;margin:0 auto 14px}
.avatar-flip.mini img{max-width:none}
.avatar-flip.mini .cat-peek.hk{width:34px;height:34px;right:-15px;bottom:-12px}
.avatar-flip.mini.lg .cat-peek.hk{width:42px;height:42px;right:-18px;bottom:-14px}
.avatar-flip.mini.xl .cat-peek.hk{width:54px;height:54px;right:-22px;bottom:-16px}
.brand .avatar-flip.mini{margin-right:8px}

/* khối "Gặp người làm bếp": avatar lật giống trang chủ + giới thiệu */
.about-brand{display:grid;grid-template-columns:auto 1fr;gap:clamp(26px,5vw,64px);align-items:center;max-width:980px;margin:0 auto;padding:clamp(26px,4vw,48px);background:#fff;border:1px solid var(--line);border-radius:var(--r-l);box-shadow:var(--shadow-l);position:relative;overflow:hidden}
.about-brand::before{content:"";position:absolute;right:-90px;top:-90px;width:300px;height:300px;border-radius:50%;background:radial-gradient(closest-side,rgba(139,195,74,.26),transparent 72%);pointer-events:none}
.ab-avatar{position:relative;display:grid;place-items:center;padding:14px}
.ab-avatar::before{content:"";position:absolute;inset:0;border-radius:50%;border:1.5px dashed var(--main-d);opacity:.55;animation:spin 60s linear infinite}
.ab-avatar .avatar-flip{width:var(--av,250px);height:var(--av,250px);margin:0}
.ab-avatar .avatar-flip img{max-width:none}
.ab-body{position:relative}
.ab-body h2{margin:10px 0 4px}
.owner{margin:0 0 14px;color:var(--g8);font-weight:700}
.slogan{display:inline-block;quotes:none;margin:2px 0 14px;padding:6px 16px;border-radius:999px;background:var(--mint);border:1px dashed var(--main-d);color:var(--g9);font-weight:700}
.ab-body address{font-style:normal;margin-top:4px}
@keyframes spin{to{transform:rotate(360deg)}}

/* 6.16 KHỐI CHIA SẺ / LIÊN HỆ HÌNH QUẢ TRỨNG: chuyển nguyên từ trang chủ (app.css).
   Rê chuột (hoặc bấm trên điện thoại) thì trứng mở ra: Chia sẻ + số điện thoại liên hệ. */
:root {
    --egg-size: 74px;
    --egg-scale-tablet: .90;
    --egg-scale-mobile: .82;
    --edge-offset: max(6px, env(safe-area-inset-right))
}

.egg-dock {
    position: fixed;
    top: 50vh;
    right: var(--edge-offset);
    transform: translateY(-50%);
    z-index: 9999;
    pointer-events: none
}

.egg-wrap {
    position: relative;
    width: var(--egg-size);
    height: calc(var(--egg-size)*1.33);
    pointer-events: auto;
    -webkit-tap-highlight-color: transparent
}

.egg-shadow {
    filter: drop-shadow(0 12px 24px rgba(0, 0, 0, .25))
}

.egg-full {
    position: absolute;
    inset: 0;
    transition: opacity .25s ease, transform .35s cubic-bezier(.2, .7, .2, 1);
    z-index: 1
}

.egg-half {
    position: absolute;
    inset: 0;
    opacity: 0;
    pointer-events: none;
    transition: transform .45s cubic-bezier(.2, .7, .2, 1), opacity .2s ease;
    z-index: 2
}

.egg-half.top {
    transform: translateY(0) rotate(0deg)
}

.egg-half.bottom {
    transform: translateY(0) rotate(0deg)
}

.share-panel {
    position: absolute;
    top: 50%;
    right: 100%;
    transform: translate(-8px, -50%) scale(.98);
    display: flex;
    gap: 8px;
    align-items: center;
    padding: 6px 8px;
    background: rgba(255, 255, 255, .78);
    backdrop-filter: blur(6px);
    border-radius: 999px;
    box-shadow: 0 10px 24px rgba(0, 0, 0, .15);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    z-index: 4;
    transition: opacity .25s ease, visibility .25s ease, transform .25s ease
}

.share-label {
    font-size: 14px;
    font-weight: 600;
    color: #2b2f33;
    line-height: 1;
    margin-right: 6px;
    padding: 6px 10px;
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 2px 6px rgba(0, 0, 0, .08)
}

.share-btn {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    display: grid;
    place-items: center;
    background: #f3f5f7;
    box-shadow: 0 2px 6px rgba(0, 0, 0, .12);
    text-decoration: none
}

.share-btn svg {
    width: 62%;
    height: 62%
}

.share-icon {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    pointer-events: none;
    z-index: 3
}

.share-icon-badge {
    width: 34%;
    aspect-ratio: 1/1;
    border-radius: 10px;
    display: grid;
    place-items: center;
    background: #27c24c;
    box-shadow: 0 4px 10px rgba(0, 0, 0, .25) inset, 0 2px 4px rgba(0, 0, 0, .18);
    transition: transform .25s ease, opacity .25s ease
}

.share-icon-badge svg {
    width: 60%;
    height: 60%;
    fill: #fff
}

.egg-wrap.open .egg-full {
    opacity: .0;
    transform: scale(.98)
}

.egg-wrap.open .egg-half {
    opacity: 1
}

.egg-wrap.open .egg-half.top {
    transform: translateY(-22%) rotate(-6deg)
}

.egg-wrap.open .egg-half.bottom {
    transform: translateY(22%) rotate(6deg)
}

.egg-wrap.open .share-panel {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translate(-8px, -50%) scale(1)
}

.egg-wrap.open .share-icon-badge {
    opacity: 1;
    transform: scale(1)
}

@media (hover:hover) {
    .egg-wrap:hover {
        cursor: pointer
    }

    .egg-wrap:hover .egg-full {
        opacity: .02;
        transform: scale(.985)
    }

    .egg-wrap:hover .egg-half {
        opacity: 1
    }

    .egg-wrap:hover .egg-half.top {
        transform: translateY(-22%) rotate(-6deg)
    }

    .egg-wrap:hover .egg-half.bottom {
        transform: translateY(22%) rotate(6deg)
    }

    .egg-wrap:hover .share-panel {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translate(-8px, -50%) scale(1)
    }

    .egg-wrap:hover .share-icon-badge {
        opacity: 1;
        transform: scale(1)
    }
}

@media (max-width:991px) {
    .egg-wrap {
        transform: scale(var(--egg-scale-tablet));
        transform-origin: right center
    }
}

@media (max-width:600px) {
    .egg-wrap {
        transform: scale(var(--egg-scale-mobile))
    }

    .share-btn {
        width: 30px;
        height: 30px
    }
}

.share-label {
    font-size: 14px;
    font-weight: 600;
    color: #2b2f33;
    line-height: 1.2;
    margin-right: 6px;
    padding: 6px 10px;
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 2px 6px rgba(0, 0, 0, .08);

    display: flex;
    flex-direction: column;
    align-items: flex-start;
    white-space: nowrap;
}

.share-label .share-main {
    font-size: 14px;
    font-weight: 700;
}

.share-label .share-sub {
    font-size: 12px;
    font-weight: 500;
    opacity: .8;
    margin-top: 2px;
}

.share-label .share-sub a {
    color: inherit;
    text-decoration: underline;
    font-weight: 700;
}

/* ẩn quả trứng khi đang xem ảnh phóng to */
body:has(.lb.open) .egg-dock{display:none}

/* 7 ── HIỆU ỨNG ────────────────────────────────────────────────────── */
.js .hero [data-in]{opacity:0;transform:translateY(26px);filter:blur(6px);transition:opacity 1s var(--ease),transform 1s var(--ease),filter 1s var(--ease);transition-delay:calc(var(--i,0)*110ms + 120ms)}
.js.loaded .hero [data-in]{opacity:1;transform:none;filter:none}
.js .pg-main{clip-path:inset(0 0 100% 0 round 28px);transition:clip-path 1.3s var(--ease-io) .25s}
.js.loaded .pg-main{clip-path:inset(0 round 28px)}
.js .pg-thumbs,.js .pg-tag{opacity:0;transition:opacity .8s 1.1s}
.js.loaded .pg-thumbs,.js.loaded .pg-tag{opacity:1}
.js [data-r]{opacity:0;transform:translateY(34px);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:var(--d,0ms)}
.js [data-r].show,.js.rv-all [data-r]{opacity:1;transform:none}

/* 8 ── RESPONSIVE ──────────────────────────────────────────────────── */
@media (max-width:1000px){
  .hero .wrap,.story,.split,.care,.faq-wrap,.product{grid-template-columns:1fr}
  .hero .pgal{order:-1;max-width:520px}
  .about-brand{grid-template-columns:1fr;text-align:center;justify-items:center}
  .about-brand .related{justify-content:center}
  .ab-avatar{--av:210px}
  .about-brand address{text-align:left}
  .pg-main{aspect-ratio:5/4}
  .story .side,.split .lhs,.faq-wrap .lhs{position:static}
  .story .shot{aspect-ratio:16/11}
  .facts{grid-template-columns:repeat(2,1fr)}
  .facts div:nth-child(3){border-left:0}
  .facts div:nth-child(n+3){border-top:1px dashed var(--line)}
  .glass3,.why-grid{grid-template-columns:1fr}
  .timeline{grid-template-columns:repeat(2,1fr);row-gap:38px}
  .timeline::before{display:none}
  .product .shot{aspect-ratio:16/11;height:auto;min-height:0}
  .bento{grid-template-columns:repeat(2,1fr)}
  .bento .big,.bento .wide{grid-column:span 2}
  .bento .big{grid-row:span 1;min-height:300px}
  .tips{grid-template-columns:repeat(2,1fr);row-gap:56px}
  .note{max-width:420px}
}
@media (max-width:760px){
  .topbar nav a:not(.keep){display:none}
  .pg-main{aspect-ratio:4/3;border-width:4px}
  .pg-tag{left:10px;top:10px;font-size:13px;padding:6px 12px}
  .pg-thumbs{gap:8px}
  .price-line{padding:10px 14px}
  .crumbs{margin-bottom:12px}
  .facts{border-radius:var(--r-m)}
  .toc{padding:20px 0 18px;border-radius:var(--r-m)}
  .toc strong{margin-bottom:14px}
  .toc ol{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;gap:9px;padding:4px 18px 10px;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,transparent,#000 18px,#000 calc(100% - 34px),transparent);mask-image:linear-gradient(90deg,transparent,#000 18px,#000 calc(100% - 34px),transparent)}
  .toc ol::-webkit-scrollbar{display:none}
  .toc li{flex:none;scroll-snap-align:start}
  .toc a{white-space:nowrap;padding:9px 16px}
  .btn .l{display:none}
  .btn .s{display:inline}
  .btn-row.pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .btn-row.pair .btn{padding:14px 8px;font-size:16px}
  .dock{grid-template-columns:1fr;gap:10px;margin-top:26px;max-width:440px}
  .dock-btn{padding:10px 14px 10px 12px;gap:13px;border-radius:16px}
  .dock-btn .di{width:42px;height:42px}
  .dock-btn .di svg{width:21px;height:21px}
  .dock-btn b{font-size:16px}
  .dock-btn small{font-size:13px;margin-top:1px}
  .dock-btn::after{content:"›";margin-left:auto;font-size:28px;line-height:1;font-weight:400;color:var(--main-d)}
  .why-grid article{padding:20px 18px}
  .why-grid p{font-size:15.5px}
  .site-footer p{font-size:14px}
  .footer-links{gap:6px 20px}
  .footer-links span{display:none}
  .steps{grid-template-columns:1fr;row-gap:34px}
  .gallery{columns:2 140px;column-gap:10px}
  .gallery .shot{margin-bottom:10px}
  .timeline{grid-template-columns:1fr;row-gap:28px}
  .timeline li{padding:0 0 0 64px;text-align:left}
  .timeline li::before{left:0;transform:none;top:-2px}
  .timeline::after{content:"";position:absolute;left:23px;top:20px;bottom:20px;border-left:2px dashed rgba(255,255,255,.4)}
  .rows li{grid-template-columns:48px 1fr;gap:14px}
  .rows .ic{width:46px;height:46px;font-size:21px}
  .bento{grid-auto-rows:auto}
  .bento article{padding:16px 18px}
  .bento .big{min-height:260px}
  .sticky-cta{display:grid;grid-template-columns:1fr 1fr;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:85;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));background:rgba(255,255,255,.96);border-top:1px solid var(--line);backdrop-filter:blur(8px)}
  .sticky-cta .btn{padding:12px 8px;font-size:16px}
}
@media (max-width:520px){
  .facts{grid-template-columns:1fr}
  .facts div+div{border-left:0;border-top:1px dashed var(--line)}
  .tips{grid-template-columns:1fr}
  .bento{grid-template-columns:1fr}
  .bento .big,.bento .wide{grid-column:auto}
  .usp-list{grid-template-columns:1fr}
}
@media (min-width:1700px){.wrap{max-width:1280px}}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .js [data-r],.js .hero [data-in]{opacity:1!important;transform:none!important;filter:none!important}
  .js .pg-main{clip-path:none!important}
}

/* 7 ── KHỐI TỪ KHÓA (giống khối "Từ khóa mọi người hay tìm" của trang chủ) ─────────────── */
.kw-cloud{max-width:1100px;margin:0 auto;padding:1.4rem 1.6rem 1.6rem;border-radius:18px;background:linear-gradient(135deg,#f8fff5,#edf7dd);border:1px solid rgba(197,225,165,.9);box-shadow:0 12px 32px rgba(104,159,56,.14)}
.kw-cloud h2{margin:0 0 .4rem;text-align:center;font-size:clamp(1.1rem,1.4vw + 1rem,1.5rem);color:var(--g-700,#3f6b22);font-weight:800}
.kw-cloud .kw-sub{margin:0 0 1rem;text-align:center;font-size:.95rem;color:#546e58}
.kw-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:.55rem}
.kw-chips a{display:inline-flex;align-items:center;padding:.35rem .9rem;border-radius:999px;background:#fff;border:1px solid #c5e1a5;font-size:.9rem;font-weight:600;color:#33691e;text-decoration:none;box-shadow:0 6px 14px rgba(0,0,0,.08);transition:transform .18s ease,box-shadow .18s ease}
.kw-chips a::before{content:"#";margin-right:4px;opacity:.7}
.kw-chips a:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(0,0,0,.16)}
@media (max-width:640px){.kw-cloud{padding:1.2rem 1.1rem 1.4rem}.kw-chips a{font-size:.85rem;padding:.3rem .7rem}}

/* 8 ── LỜI KÊU GỌI CUỐI TRANG: lời mời + ba điều cần biết bên trái, "đặt nhanh qua Zalo" bên phải ───── */
.cta-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(32px,6vw,84px);align-items:center}
.cta-copy h2{margin:0 0 .45em;text-align:left;font-size:clamp(30px,4.2vw,50px);line-height:1.12}
.cta-copy>p{max-width:30em;margin:0 0 1.2em;font-size:clamp(16px,1.5vw,19px);line-height:1.6;opacity:.95}
.cta-ticks{list-style:none;margin:0;padding:0;display:grid;gap:14px;max-width:34em}
.cta-ticks li{position:relative;padding-left:36px;font-size:16.5px;line-height:1.5}
.cta-ticks li::before{content:"";position:absolute;left:0;top:1px;width:23px;height:23px;border-radius:50%;background:var(--gold-l) var(--tick) center/14px no-repeat}
.cta-more{margin:26px 0 0;max-width:34em;font-size:15.5px;line-height:1.6;opacity:.9}
.cta-more a{color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.qo{background:#fff;color:var(--ink);border-radius:var(--r-l);padding:clamp(22px,3vw,32px);box-shadow:0 30px 60px rgba(0,0,0,.3)}
.qo-head{display:flex;align-items:center;gap:14px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.qo-head .avatar-flip.mini{flex:none;margin:0}
.qo-head .cat-peek{display:none}
.qo-head b{display:block;font-size:21px;line-height:1.2;color:var(--g9)}
.qo-head span{display:block;margin-top:2px;font-size:15px;font-weight:600;color:var(--muted)}
.qo-price{margin:16px 0 0;font-size:15.5px;color:var(--muted)}
.qo-price b{font-size:22px;color:var(--g9)}
[data-price-wrap]:not([hidden])+.fb-price{display:none}
.qo-qty{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px}
.qo-qty>span{font-weight:700;font-size:16px}
.qo-step{display:inline-flex;align-items:center;gap:6px;padding:4px;border-radius:999px;background:var(--mint);border:1px solid var(--line)}
.qo-step button{width:40px;height:40px;border:0;border-radius:50%;background:#fff;color:var(--g9);font:700 22px/1 inherit;cursor:pointer;box-shadow:0 2px 6px rgba(27,94,32,.18);transition:transform .2s var(--ease),background .2s var(--ease)}
.qo-step button:hover:not(:disabled){background:var(--g9);color:#fff}
.qo-step button:active:not(:disabled){transform:scale(.92)}
.qo-step button:disabled{opacity:.4;cursor:not-allowed}
.qo-step button:focus-visible{outline:3px solid var(--zalo);outline-offset:2px}
.qo-step output{min-width:44px;text-align:center;font-size:20px;font-weight:800;color:var(--g9)}
.qo-total{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px;margin-top:16px;padding:14px 16px;border-radius:var(--r-s);background:var(--mint)}
.qo-total span{font-weight:700}
.qo-total b{margin-left:auto;font-size:26px;color:var(--g9)}
.qo-total small{flex-basis:100%;text-align:right;color:var(--muted);font-size:13px}
.qo-send{width:100%;margin-top:18px;padding:16px 20px;font-size:18px}
.qo-note{margin:12px 0 0;font-size:13.5px;line-height:1.55;color:var(--muted);text-align:center}
.qo-note.ok{color:var(--g8);font-weight:700}
.qo-call{display:block;margin-top:10px;text-align:center;font-weight:700;color:var(--g9);text-decoration:underline;text-underline-offset:3px}
/* 9 ── CHÂN TRANG (cùng kiểu trang chủ: gradient xanh, chữ trắng, căn giữa) ───────────── */
.site-footer .avatar-flip.mini.xl{margin:0 auto 14px}
.ft-name{font-size:22px;font-weight:800}
.ft-tag{margin-bottom:10px!important;font-weight:600;opacity:.95}
.ft-copy{margin:18px 0 0!important;font-size:14px;opacity:.85}
@media (max-width:900px){
  .cta-grid{grid-template-columns:1fr;gap:40px}
  .qo{max-width:480px;width:100%;margin:0 auto}
}
