/* ==========================================================================
   DBP Trading — hệ thiết kế (hướng C: hiện đại, ảnh lớn)
   Dùng chung cho bản thiết kế tĩnh và theme WordPress.
   Mọi màu/khoảng cách lấy từ biến ở mục 1 — đổi giao diện chỉ cần đổi biến.
   ========================================================================== */

/* 1. TOKENS ---------------------------------------------------------------- */
:root{
  --brand:#0B3556;        /* xanh đại dương — giữ đúng mockup C */
  --brand-dk:#082A45;
  --deep:#071E33;         /* nền tối: hero, footer */
  --ink:#0E1B2B;          /* chữ chính */
  --sub:#5A6A7B;          /* chữ phụ */
  --line:#E2E8EF; --line-dk:#CBD5E1;
  --bg:#F5F8FB; --paper:#FFFFFF;
  --sky:#E8F3FC;          /* nền nhạt xanh */
  --sea:#1C7ED6;          /* link, điểm nhấn xanh */
  --sun:#FFB020; --sun-hi:#FFC14D; --sun-lt:#FFF4DE;  /* nút chính */
  --mint:#E6F6F1; --ok:#0E8A6A; --err:#C0392B;
  --on-dark:#CFE0F0; --on-dark-2:#9FB6CE;

  --f-head:"Plus Jakarta Sans","Segoe UI",system-ui,-apple-system,sans-serif;
  --f-body:"Inter","Segoe UI",system-ui,-apple-system,sans-serif;

  --fs-hero:clamp(2.3rem,1.3rem + 3.6vw,4.3rem);
  --fs-h1:clamp(2rem,1.3rem + 2.6vw,3.3rem);
  --fs-h2:clamp(1.75rem,1.25rem + 1.9vw,2.8rem);
  --fs-h3:1.25rem;
  --fs-lead:clamp(1.05rem,1rem + .3vw,1.22rem);

  --r:18px; --r-sm:12px; --r-xs:8px;
  --wrap:1240px; --wrap-narrow:820px; --gut:24px; --hd:84px;
  --shadow:0 24px 48px -28px rgba(7,30,51,.35);
  --shadow-sm:0 10px 26px -18px rgba(7,30,51,.35);
  --ease:cubic-bezier(.2,.7,.2,1);
}
:root:lang(ja){--f-head:"Noto Sans JP","Hiragino Sans","Yu Gothic UI",Meiryo,sans-serif;--f-body:"Noto Sans JP","Hiragino Sans","Yu Gothic UI",Meiryo,sans-serif}
:root:lang(zh){--f-head:"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;--f-body:"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif}

/* 2. NỀN ------------------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--hd) + 16px)}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:16.5px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg,video{max-width:100%;display:block}
img{height:auto}
a{color:var(--sea);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{color:var(--brand)}
h1,h2,h3,h4,p,ul,ol,figure,blockquote,dl,dd{margin:0;padding:0}
ul,ol{list-style:none}
h1,h2,h3,h4{font-family:var(--f-head);font-weight:800;line-height:1.16;letter-spacing:-.02em;text-wrap:balance;color:inherit}
h3{font-size:var(--fs-h3);letter-spacing:-.01em;line-height:1.3}
:lang(ja) h1,:lang(ja) h2,:lang(ja) h3{letter-spacing:0;line-height:1.4;font-weight:700}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--sun);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--sun);color:var(--deep);padding:10px 16px;border-radius:var(--r-xs);font-weight:700;text-decoration:none}
.skip:focus{top:12px}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ico{display:inline-block;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}

/* 3. BỐ CỤC ---------------------------------------------------------------- */
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gut)}
.wrap--narrow{max-width:var(--wrap-narrow)}
.sec{padding-block:104px}
.sec--tight{padding-block:72px}
.sec--white{background:var(--paper)}
.sec--sky{background:var(--sky)}
.sec--dark{background:radial-gradient(1200px 520px at 85% 0%,#1C5E92 0%,transparent 60%),var(--deep);color:#fff}
.sec--dark .shead p,.sec--dark .muted{color:var(--on-dark-2)}
.grid{display:grid;gap:24px}
.g-2{grid-template-columns:repeat(2,1fr)}.g-3{grid-template-columns:repeat(3,1fr)}.g-4{grid-template-columns:repeat(4,1fr)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.split--wide{grid-template-columns:1.15fr .85fr}
.muted{color:var(--sub)}
@media(max-width:1000px){.g-4{grid-template-columns:repeat(2,1fr)}.split,.split--wide{grid-template-columns:1fr;gap:40px}}
@media(max-width:900px){.g-3{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.g-2,.g-3,.g-4{grid-template-columns:1fr}}
@media(max-width:760px){.sec{padding-block:72px}.sec--tight{padding-block:52px}}

/* 4. TIÊU ĐỀ SECTION ------------------------------------------------------- */
.shead{max-width:740px;margin-bottom:52px}
.shead h2{font-size:var(--fs-h2);margin-top:16px}
.shead p{margin-top:16px;color:var(--sub);font-size:17.5px}
.shead--center{margin-inline:auto;text-align:center}
.shead--row{max-width:none;display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.shead--row>div{max-width:740px}

/* 5. NÚT, NHÃN, LINK ------------------------------------------------------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 26px;border-radius:999px;border:1px solid transparent;
  font-family:var(--f-head);font-weight:700;font-size:15px;line-height:1.2;text-decoration:none;cursor:pointer;
  transition:transform .2s,background .2s,box-shadow .2s,color .2s,border-color .2s}
.btn:hover{transform:translateY(-2px)}
.btn--sun{background:var(--sun);color:var(--deep);box-shadow:0 12px 24px -12px rgba(255,176,32,.7)}
.btn--sun:hover{background:var(--sun-hi);color:var(--deep)}
.btn--dark{background:var(--brand);color:#fff}.btn--dark:hover{background:var(--deep);color:#fff}
.btn--glass{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.35);backdrop-filter:blur(8px)}
.btn--glass:hover{background:rgba(255,255,255,.22);color:#fff}
.btn--line{background:transparent;color:var(--brand);border-color:var(--line-dk)}.btn--line:hover{border-color:var(--brand);color:var(--brand);background:var(--paper)}
.btn--soft{background:var(--sky);color:var(--brand)}.btn--soft:hover{background:#DCEAF8;color:var(--brand)}
.btn--sm{padding:11px 20px;font-size:14px}
.btn--block{width:100%}
.btn-row{display:flex;flex-wrap:wrap;gap:12px}
.link{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-head);font-weight:700;text-decoration:none;color:var(--sea)}
.link .ico{transition:transform .2s}.link:hover .ico{transform:translateX(4px)}
.pill{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;font-size:13px;font-weight:600;letter-spacing:.01em;line-height:1.3}
.pill--sky{background:var(--sky);color:var(--brand)}
.pill--glass{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.25);backdrop-filter:blur(6px)}
.pill--sun{background:var(--sun);color:var(--deep)}
.pill i{width:8px;height:8px;border-radius:50%;background:var(--sun)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:var(--bg);border:1px solid var(--line);font-size:13px;font-weight:500;color:var(--ink);white-space:nowrap}
.chip--dark{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.25);color:#fff}

/* 6. HEADER & MENU --------------------------------------------------------- */
.hd{position:sticky;top:0;z-index:20;height:var(--hd);color:#fff;transition:background .3s,color .3s,box-shadow .3s}
.scrolled .hd,.hd--solid{background:rgba(255,255,255,.98);color:var(--ink);box-shadow:0 10px 30px -24px rgba(7,30,51,.5)}
.nav-open .hd{z-index:41}
.hd .wrap{display:flex;align-items:center;gap:28px;height:100%}
.logo{display:flex;align-items:center;flex:none;line-height:0}
.logo img{height:46px;width:auto}
.logo .logo--n{display:none}
.scrolled .hd .logo--w,.hd--solid .logo--w{display:none}
.scrolled .hd .logo--n,.hd--solid .logo--n{display:block}
.menu{display:flex;align-items:center;gap:22px;margin-left:auto}
.menu__list{display:flex;align-items:center;gap:4px}
.menu__list>li{position:relative}
.menu__list>li>a{display:inline-flex;align-items:center;gap:6px;padding:10px 12px;border-radius:999px;color:inherit;text-decoration:none;font-weight:500;font-size:15px}
.menu__list>li>a:hover,.menu__list>li:focus-within>a{background:rgba(255,255,255,.12)}
.scrolled .menu__list>li>a:hover,.hd--solid .menu__list>li>a:hover{background:var(--sky)}
.menu__list>li>a[aria-current]{color:var(--sun)}
.scrolled .menu__list>li>a[aria-current],.hd--solid .menu__list>li>a[aria-current]{color:var(--sea)}
.menu__list .caret{transition:transform .2s;opacity:.8}
.sub-tg{display:none}
.sub{position:absolute;left:50%;top:calc(100% + 10px);transform:translate(-50%,8px);min-width:260px;background:var(--paper);color:var(--ink);border-radius:var(--r);box-shadow:var(--shadow);border:1px solid var(--line);padding:10px;
  opacity:0;visibility:hidden;transition:opacity .2s,transform .2s,visibility .2s}
.sub::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
.menu__list>li:hover>.sub,.menu__list>li:focus-within>.sub{opacity:1;visibility:visible;transform:translate(-50%,0)}
.menu__list>li:hover .caret,.menu__list>li:focus-within .caret{transform:rotate(180deg)}
.sub a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--r-sm);color:var(--ink);text-decoration:none;font-size:14.5px;font-weight:500;line-height:1.35}
.sub a:hover{background:var(--bg);color:var(--brand)}
.sub a small{display:block;color:var(--sub);font-size:12.5px;font-weight:400;margin-top:2px}
.sub .ib{width:38px;height:38px;border-radius:10px;background:var(--sky);color:var(--brand);display:grid;place-items:center;flex:none}
.sub--mega{display:grid;grid-template-columns:1fr 1fr;width:620px;gap:2px}
.sub__foot{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:6px;padding:12px 12px 4px;border-top:1px solid var(--line);font-size:13.5px;color:var(--sub)}
.sub__foot a{display:inline-flex;padding:0;font-weight:700;color:var(--sea);font-family:var(--f-head)}
.sub__foot a:hover{background:none}
.lang{display:flex;gap:2px;padding:4px;border-radius:999px;border:1px solid rgba(255,255,255,.3);font-size:12px;font-weight:600}
.scrolled .lang,.hd--solid .lang{border-color:var(--line)}
.lang a{padding:5px 10px;border-radius:999px;color:inherit;text-decoration:none;line-height:1.4}
.lang a[aria-current]{background:#fff;color:var(--deep)}
.scrolled .lang a[aria-current],.hd--solid .lang a[aria-current]{background:var(--brand);color:#fff}
.navbtn,.menu__head{display:none}
.scrim{position:fixed;inset:0;background:rgba(7,30,51,.5);opacity:0;pointer-events:none;transition:opacity .25s;z-index:39}
@media(min-width:1141px){.menu .lang--drawer{display:none}}
@media(max-width:1140px){
  .hd .lang--top{display:none}
  .navbtn{display:grid;place-items:center;margin-left:auto;width:46px;height:46px;border-radius:14px;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.1);color:inherit;cursor:pointer}
  .scrolled .navbtn,.hd--solid .navbtn{border-color:var(--line);background:var(--paper)}
  .menu{position:fixed;inset:10px 10px 10px auto;width:min(90vw,400px);border-radius:var(--r);flex-direction:column;align-items:stretch;gap:0;padding:16px 22px 26px;background:var(--paper);color:var(--ink);
    transform:translateX(calc(100% + 20px));transition:transform .35s var(--ease);z-index:40;overflow-y:auto;margin:0;box-shadow:var(--shadow)}
  .nav-open .menu{transform:none}.nav-open .scrim{opacity:1;pointer-events:auto}
  .menu__head{display:flex;justify-content:space-between;align-items:center;padding-bottom:10px}
  .menu__head .logo img{height:40px}
  .menu__head .logo--n{display:block}
  .menu__head button{width:44px;height:44px;border-radius:12px;border:1px solid var(--line);background:none;cursor:pointer;display:grid;place-items:center}
  .menu__list{flex-direction:column;align-items:stretch;gap:0}
  .menu__list>li{display:flex;flex-wrap:wrap;align-items:center;border-bottom:1px solid var(--line)}
  .menu__list>li>a{flex:1;padding:15px 4px;border-radius:0;font-family:var(--f-head);font-weight:700;font-size:17px}
  .menu__list>li>a:hover,.menu__list>li:focus-within>a{background:none}
  .menu__list>li>a[aria-current]{color:var(--sea)}
  .menu__list .caret{display:none}
  .sub-tg{display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:10px;background:var(--bg);cursor:pointer}
  .sub-tg .ico{transition:transform .2s}
  .open>.sub-tg .ico{transform:rotate(180deg)}
  .sub,.sub--mega{position:static;transform:none;opacity:1;visibility:visible;display:none;width:100%;min-width:0;box-shadow:none;border:0;padding:0 0 10px;grid-template-columns:1fr}
  .menu__list>li:hover>.sub,.menu__list>li:focus-within>.sub{transform:none}
  .open>.sub{display:grid}
  .sub a{padding:9px 8px}
  .sub .ib{width:32px;height:32px}
  .sub a small{display:none}
  .menu>.btn{margin-top:22px}
  .menu .lang--drawer{margin-top:20px;border-color:var(--line);align-self:flex-start}
  .menu .lang--drawer a[aria-current]{background:var(--brand);color:#fff}
}

/* 7. HERO TRANG CHỦ --------------------------------------------------------- */
.hero{position:relative;margin-top:calc(var(--hd) * -1);min-height:min(92vh,860px);padding:calc(var(--hd) + 70px) 0 140px;color:#fff;isolation:isolate;overflow:hidden;display:flex;align-items:center}
.hero__bg{position:absolute;inset:0;z-index:-2}
.hero__bg img{width:100%;height:100%;object-fit:cover}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,rgba(7,30,51,.95) 10%,rgba(7,30,51,.72) 50%,rgba(11,53,86,.35) 100%)}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;width:100%}
.hero h1{font-size:var(--fs-hero);margin-top:24px}
.hero h1 em,.phero h1 em{font-style:normal;color:var(--sun)}
.hero .lead{margin-top:24px;font-size:var(--fs-lead);color:var(--on-dark);max-width:50ch}
.hero .btn-row{margin-top:36px}
.collage{position:relative;height:460px}
.collage figure{position:absolute;border-radius:var(--r);overflow:hidden;box-shadow:0 30px 60px -30px rgba(0,0,0,.7);border:4px solid rgba(255,255,255,.92);background:var(--paper)}
.collage img{width:100%;height:100%;object-fit:cover;transform:scale(1.04)}
.collage .c1{width:58%;height:66%;right:0;top:0}
.collage .c2{width:48%;height:50%;left:0;top:18%;transform:rotate(-3deg)}
.collage .c3{width:46%;height:44%;right:12%;bottom:0;transform:rotate(2deg)}
.collage .tagc{position:absolute;left:4%;bottom:6%;background:#fff;color:var(--ink);border-radius:14px;padding:12px 16px;display:flex;gap:12px;align-items:center;box-shadow:var(--shadow);font-size:13px;line-height:1.35}
.collage .tagc b{font-family:var(--f-head);font-size:15px;display:block}
.collage .tagc .ico{color:var(--sea)}
@media(max-width:960px){.hero{padding:calc(var(--hd) + 48px) 0 150px;min-height:0}.hero .wrap{grid-template-columns:1fr}.collage{display:none}}

/* 8. HERO TRANG CON --------------------------------------------------------- */
.phero{position:relative;margin-top:calc(var(--hd) * -1);padding:calc(var(--hd) + 56px) 0 84px;color:#fff;isolation:isolate;overflow:hidden;background:var(--deep)}
.phero__bg{position:absolute;inset:0;z-index:-2}
.phero__bg img{width:100%;height:100%;object-fit:cover;opacity:.55}
.phero::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(900px 420px at 90% 10%,rgba(28,126,214,.45),transparent 60%),linear-gradient(100deg,rgba(7,30,51,.96) 20%,rgba(7,30,51,.78) 60%,rgba(7,30,51,.55))}
.phero h1{font-size:var(--fs-h1);margin-top:18px;max-width:22ch}
.phero .lead{margin-top:18px;font-size:var(--fs-lead);color:var(--on-dark);max-width:62ch}
.phero .btn-row{margin-top:30px}
.phero .jp{display:block;margin-top:10px;color:var(--on-dark-2);font-size:14px;letter-spacing:.12em}
.phero--split .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
.phero__fig{border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;border:4px solid rgba(255,255,255,.9);box-shadow:0 30px 60px -30px rgba(0,0,0,.7)}
.phero__fig img{width:100%;height:100%;object-fit:cover}
.phero--center{text-align:center}
.phero--center h1,.phero--center .lead{margin-inline:auto}
.phero--center .btn-row,.phero--center .crumbs{justify-content:center}
@media(max-width:960px){.phero--split .wrap{grid-template-columns:1fr;gap:36px}.phero{padding-bottom:64px}}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:13.5px;color:var(--on-dark-2);margin-bottom:22px}
.crumbs a{color:var(--on-dark);text-decoration:none}
.crumbs a:hover{color:#fff;text-decoration:underline}
.crumbs .sep{opacity:.5}

/* 9. SỐ LIỆU, CHỨNG NHẬN ---------------------------------------------------- */
.stats{position:relative;z-index:5;margin-top:-72px}
.stats ul{display:grid;grid-template-columns:repeat(4,1fr);background:var(--paper);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden}
.stats li{padding:28px 28px 26px;border-left:1px solid var(--line)}
.stats li:first-child{border-left:0}
.stats b{display:block;font-family:var(--f-head);font-weight:800;font-size:clamp(1.8rem,1.4rem + 1.2vw,2.5rem);color:var(--brand);letter-spacing:-.02em;line-height:1.1}
.stats b span{font:inherit;color:inherit}
.stats li>span{display:block;margin-top:6px;color:var(--sub);font-size:14px}
@media(max-width:760px){.stats ul{grid-template-columns:1fr 1fr}.stats li{border-left:0;border-top:1px solid var(--line);padding:20px}.stats li:nth-child(-n+2){border-top:0}.stats li:nth-child(2n){border-left:1px solid var(--line)}}
.certs{padding-block:40px 8px}
.certs .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px}
.certs p{font-size:14px;color:var(--sub);margin-right:8px}
.cert{padding:8px 16px;border-radius:999px;background:var(--paper);border:1px solid var(--line);font-family:var(--f-head);font-weight:700;font-size:13px;color:var(--brand)}

/* 10. THẺ ------------------------------------------------------------------ */
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:32px;transition:transform .3s,box-shadow .3s}
.card--hover:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.card h3{margin-top:22px}
.card p{margin-top:10px;color:var(--sub);font-size:15.5px}
.card ul.ticks{margin-top:16px}
.icb{width:58px;height:58px;border-radius:16px;display:grid;place-items:center;background:var(--sky);color:var(--sea);flex:none}
.icb--sun{background:var(--sun-lt);color:#B7740A}
.icb--mint{background:var(--mint);color:var(--ok)}
.icb--dark{background:var(--brand);color:var(--sun)}
.icb--sm{width:44px;height:44px;border-radius:12px}
.ticks{display:flex;flex-direction:column;gap:10px}
.ticks li{position:relative;padding-left:30px;font-size:15.5px}
.ticks li::before{content:"";position:absolute;left:0;top:3px;width:20px;height:20px;border-radius:50%;background:var(--mint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E8A6A' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4L18 8'/%3E%3C/svg%3E") center/12px no-repeat}
.sec--dark .ticks li::before{background-color:rgba(255,255,255,.12)}
.nums{counter-reset:n;display:flex;flex-direction:column;gap:0}
.nums>li{counter-increment:n;display:grid;grid-template-columns:56px 1fr;gap:20px;padding:24px 0;border-top:1px solid var(--line)}
.nums>li:last-child{border-bottom:1px solid var(--line)}
.nums>li::before{content:"0" counter(n);font-family:var(--f-head);font-weight:800;font-size:34px;line-height:1;color:transparent;-webkit-text-stroke:1.5px var(--sea)}
.nums h3{font-size:19px}
.nums p{color:var(--sub);margin-top:6px;font-size:15.5px}
.sec--dark .nums>li{border-color:rgba(255,255,255,.14)}
.sec--dark .nums>li::before{-webkit-text-stroke-color:var(--sun)}
.sec--dark .nums p{color:var(--on-dark-2)}

/* 11. LƯỚI SẢN PHẨM DẠNG BENTO (trang chủ) ---------------------------------- */
.bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:250px;gap:18px}
.tile{position:relative;border-radius:var(--r);overflow:hidden;color:#fff;text-decoration:none;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;padding:22px;background:var(--brand)}
.tile:hover{color:#fff}
.tile>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .7s var(--ease)}
.tile:hover>img{transform:scale(1.06)}
.tile::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(7,30,51,.9) 0%,rgba(7,30,51,.3) 55%,rgba(7,30,51,0) 100%)}
.tile h3{font-size:20px}
.tile .en{font-size:12.5px;color:#C4D6E8;margin-top:4px}
.tile .go{position:absolute;right:16px;top:16px;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.16);backdrop-filter:blur(6px);display:grid;place-items:center;transition:background .25s,transform .25s}
.tile:hover .go{background:var(--sun);color:var(--deep);transform:rotate(-45deg)}
.tile--xl{grid-column:span 2;grid-row:span 2;padding:32px}
.tile--xl::before{background:linear-gradient(to top,rgba(7,30,51,.94) 0%,rgba(7,30,51,.72) 45%,rgba(7,30,51,.15) 100%)}
.tile--xl h3{font-size:clamp(1.6rem,1.2rem + 1.2vw,2.3rem)}
.tile--xl p{margin-top:12px;color:#D6E4F1;max-width:48ch;font-size:15.5px}
.tile .chips{margin-top:16px}
.tile .badge{position:absolute;left:22px;top:22px}
.tile--plain{background:linear-gradient(135deg,var(--brand),#1C5E92)}
.tile--plain .big{position:absolute;right:-10px;top:30px;opacity:.18;color:#fff}
@media(max-width:1060px){.bento{grid-template-columns:repeat(2,1fr);grid-auto-rows:230px}}
@media(max-width:560px){.bento{grid-template-columns:1fr;grid-auto-rows:220px}.tile--xl{grid-column:span 1}}
.banner{margin-top:18px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;background:var(--sky);border-radius:var(--r);padding:32px 36px}
.banner h3{font-size:24px}.banner p{color:var(--sub);margin-top:6px}

/* 12. THẺ SẢN PHẨM (trang danh mục) ---------------------------------------- */
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media(max-width:1000px){.pgrid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.pgrid{grid-template-columns:1fr}}
.pcard{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;text-decoration:none;color:var(--ink);transition:transform .3s,box-shadow .3s}
.pcard:hover{transform:translateY(-6px);box-shadow:var(--shadow);color:var(--ink)}
.pcard__fig{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--sky)}
.pcard__fig img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.pcard:hover .pcard__fig img{transform:scale(1.05)}
.pcard__fig .pill{position:absolute;left:16px;top:16px}
.pcard__fig--plain{display:grid;place-items:center;background:linear-gradient(135deg,var(--brand),#1C5E92);color:rgba(255,255,255,.35)}
.pcard__b{padding:24px;display:flex;flex-direction:column;gap:10px;flex:1}
.pcard__grp{font-size:12.5px;font-weight:600;color:var(--sea);letter-spacing:.02em}
.pcard h3{font-size:20px}
.pcard .en{font-size:13px;color:var(--sub);margin-top:-4px}
.pcard p{color:var(--sub);font-size:15px}
.pcard .chips{margin-top:4px}
.pcard__go{margin-top:auto;padding-top:14px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;font-family:var(--f-head);font-weight:700;font-size:14.5px;color:var(--sea)}
.pcard__go .ico{transition:transform .2s}.pcard:hover .pcard__go .ico{transform:translateX(4px)}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:36px}
.filters a{padding:9px 16px;border-radius:999px;border:1px solid var(--line);background:var(--paper);color:var(--ink);text-decoration:none;font-weight:600;font-size:14px;transition:background .2s,border-color .2s}
.filters a:hover{border-color:var(--brand)}
.filters a[aria-current]{background:var(--brand);border-color:var(--brand);color:#fff}
.filters a small{opacity:.6;font-weight:500;margin-left:4px}

/* 13. TRANG SẢN PHẨM: thanh điều hướng, ô thông số, bảng ------------------- */
.pnav{position:sticky;top:var(--hd);z-index:15;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line)}
.pnav .wrap{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}
.pnav .wrap::-webkit-scrollbar{display:none}
.pnav a{flex:none;padding:16px 14px;font-size:14px;font-weight:600;color:var(--sub);text-decoration:none;border-bottom:2px solid transparent;white-space:nowrap}
.pnav a:hover,.pnav a[aria-current]{color:var(--brand);border-bottom-color:var(--sun)}
.facts{display:grid;grid-template-columns:repeat(6,1fr);background:var(--paper);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.facts div{padding:22px 20px;border-left:1px solid var(--line)}
.facts div:first-child{border-left:0}
.facts dt{font-size:12.5px;color:var(--sub);font-weight:500}
.facts dd{font-family:var(--f-head);font-weight:800;font-size:17px;margin-top:4px;line-height:1.3;color:var(--brand)}
@media(max-width:1000px){.facts{grid-template-columns:repeat(3,1fr)}.facts div:nth-child(4){border-left:0}.facts div:nth-child(n+4){border-top:1px solid var(--line)}}
@media(max-width:560px){.facts{grid-template-columns:1fr 1fr}.facts div{border-left:0;border-top:1px solid var(--line)}.facts div:nth-child(-n+2){border-top:0}.facts div:nth-child(2n){border-left:1px solid var(--line)}}
.spec{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:28px 30px}
.spec h3{font-size:18px}
.spec .muted{font-size:14px;margin-top:4px}
.spec table{width:100%;border-collapse:collapse;margin-top:16px;font-size:15px}
.spec th,.spec td{text-align:left;padding:12px 0;border-top:1px solid var(--line);vertical-align:top}
.spec th{width:42%;font-weight:500;color:var(--sub);padding-right:16px}
.spec td{font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}
.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--paper)}
.tbl{width:100%;border-collapse:collapse;font-size:15px;min-width:640px;font-variant-numeric:tabular-nums}
.tbl thead th{background:var(--brand);color:#fff;text-align:left;font-family:var(--f-head);font-weight:700;font-size:13.5px;padding:15px 20px}
.tbl td{padding:14px 20px;border-top:1px solid var(--line)}
.tbl tbody tr:nth-child(even){background:var(--bg)}
.tbl .ok{color:var(--ok);font-weight:600}
.tbl-note{margin-top:12px;font-size:13.5px;color:var(--sub)}
.coa{background:var(--paper);border-radius:var(--r-sm);box-shadow:var(--shadow);padding:20px 22px;font-size:13.5px;width:min(320px,80%)}
.coa__h{display:flex;justify-content:space-between;align-items:center;gap:10px;font-family:var(--f-head);font-weight:800;font-size:14px;color:var(--ink)}
.coa__h span{font-family:var(--f-body);font-weight:500;font-size:11px;color:var(--sub);background:var(--bg);padding:3px 8px;border-radius:6px;white-space:nowrap}
.coa table{width:100%;border-collapse:collapse;margin-top:12px;color:var(--ink)}
.coa td{padding:8px 0;border-top:1px solid var(--line)}
.coa td:last-child{text-align:right;color:var(--ok);font-weight:600}
.qvis{position:relative}
.qvis>figure{border-radius:var(--r);overflow:hidden;aspect-ratio:4/5}
.qvis>figure img{width:100%;height:100%;object-fit:cover}
.qvis .coa{position:absolute;right:-24px;bottom:40px}
@media(max-width:1000px){.qvis .coa{right:12px}.qvis>figure{aspect-ratio:16/11}}
.season{display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center;background:var(--sun-lt);border-radius:var(--r);padding:32px 36px}
.season .icb{background:var(--sun);color:var(--deep)}
.season h3{font-size:22px}.season p{color:#6B5520;margin-top:8px;max-width:72ch}
@media(max-width:640px){.season{grid-template-columns:1fr}}

/* 14. QUY TRÌNH ------------------------------------------------------------- */
.steps{display:grid;grid-template-columns:repeat(7,1fr);gap:14px;counter-reset:s}
.steps>li{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-sm);padding:22px 18px;position:relative}
.steps>li::before{counter-increment:s;content:"0" counter(s);display:block;font-family:var(--f-head);font-weight:800;font-size:28px;line-height:1;color:var(--sky);-webkit-text-stroke:1.5px var(--sea)}
.steps>li:first-child{background:var(--brand);border-color:var(--brand);color:#fff}
.steps>li:first-child::before{color:var(--sun);-webkit-text-stroke:0}
.steps>li:first-child p{color:var(--on-dark)}
.steps h3{font-size:16px;margin-top:16px}
.steps p{font-size:13.5px;color:var(--sub);margin-top:6px;line-height:1.6}
.steps--4{grid-template-columns:repeat(4,1fr)}
@media(max-width:1100px){.steps{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(220px,1fr);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px;margin-inline:calc(var(--gut)*-1);padding-inline:var(--gut)}
  .steps>li{scroll-snap-align:start}}
.tline{position:relative;counter-reset:t}
.tline>li{counter-increment:t;position:relative;display:grid;grid-template-columns:72px 1fr;gap:28px;padding-bottom:44px}
.tline>li::before{content:counter(t);width:56px;height:56px;border-radius:50%;background:var(--paper);border:2px solid var(--sea);display:grid;place-items:center;font-family:var(--f-head);font-weight:800;font-size:20px;color:var(--brand);position:relative;z-index:1}
.tline>li::after{content:"";position:absolute;left:27px;top:56px;bottom:0;width:2px;background:var(--line-dk)}
.tline>li:last-child::after{display:none}
.tline>li:first-child::before{background:var(--sun);border-color:var(--sun);color:var(--deep)}
.tline h3{font-size:21px;margin-top:12px}
.tline p{color:var(--sub);margin-top:8px;max-width:68ch}
.tline .get{margin-top:14px;display:inline-flex;gap:10px;align-items:flex-start;background:var(--sky);border-radius:var(--r-sm);padding:12px 16px;font-size:14.5px;color:var(--brand)}
.tline .get b{font-family:var(--f-head);white-space:nowrap}
@media(max-width:600px){.tline>li{grid-template-columns:44px 1fr;gap:16px}.tline>li::before{width:44px;height:44px;font-size:16px}.tline>li::after{left:21px;top:44px}}

/* 15. TUYẾN GIAO HÀNG ------------------------------------------------------- */
.route{width:100%;max-width:880px;margin-inline:auto;height:auto;display:block}
.route .lane{fill:none;stroke:var(--sun);stroke-width:2;stroke-dasharray:6 7;opacity:.9}
.route .lane-2{stroke:#59A8EC;opacity:.6;stroke-dasharray:2 7}
.route .dot{fill:#fff}.route .ring{fill:rgba(255,255,255,.08);stroke:rgba(255,255,255,.45)}
.route text{font-family:var(--f-body);font-size:12px;fill:var(--on-dark-2)}
.route .pt{fill:#fff;font-family:var(--f-head);font-weight:700;font-size:15px}
.note{margin-top:10px;font-size:12.5px;color:var(--on-dark-2)}

/* 16. HAI CỔNG VÀO ---------------------------------------------------------- */
.gates{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.gate{position:relative;border-radius:var(--r);overflow:hidden;min-height:440px;color:#fff;isolation:isolate;padding:40px;display:flex;flex-direction:column;justify-content:flex-end;gap:14px;text-decoration:none}
.gate>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .7s var(--ease)}
.gate:hover>img{transform:scale(1.04)}
.gate::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(7,30,51,.95) 20%,rgba(7,30,51,.4))}
.gate--b::before{background:linear-gradient(to top,rgba(11,53,86,.95) 20%,rgba(11,53,86,.35))}
.gate h3{font-size:clamp(1.5rem,1.2rem + 1vw,2rem)}
.gate p{color:var(--on-dark)}
.gate .chips{gap:8px}
.gate .btn{align-self:flex-start;margin-top:8px}
.gate .kick{font-size:13px;color:var(--on-dark);letter-spacing:.06em}
@media(max-width:900px){.gates{grid-template-columns:1fr}.gate{min-height:380px;padding:28px}}

/* 17. GIÁ TRỊ TRUST --------------------------------------------------------- */
.vals{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.vals li{background:var(--bg);border-radius:var(--r-sm);padding:24px 20px}
.sec--sky .vals li,.sec--bg .vals li{background:var(--paper)}
.vals b{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--brand);color:var(--sun);font-family:var(--f-head);font-weight:800;font-size:20px}
.vals h3{font-size:17px;margin-top:16px}
.vals p{color:var(--sub);font-size:14px;margin-top:6px;line-height:1.6}
@media(max-width:1000px){.vals{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.vals{grid-template-columns:1fr}}

/* 18. TIN TỨC --------------------------------------------------------------- */
.news{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media(max-width:900px){.news{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.news{grid-template-columns:1fr}}
.post{background:var(--paper);border-radius:var(--r);overflow:hidden;border:1px solid var(--line);text-decoration:none;color:var(--ink);transition:transform .3s,box-shadow .3s;display:flex;flex-direction:column}
.post:hover{transform:translateY(-6px);box-shadow:var(--shadow);color:var(--ink)}
.post figure{aspect-ratio:16/10;overflow:hidden}
.post figure img{width:100%;height:100%;object-fit:cover}
.post__b{padding:22px 24px 26px;display:flex;flex-direction:column;gap:10px;flex:1}
.meta{font-size:13px;color:var(--sub)}
.meta b{color:var(--sea);font-weight:600}
.post h3{font-size:19px;line-height:1.35}
.post p{color:var(--sub);font-size:15px}
.post--feat{display:grid;grid-template-columns:1.2fr 1fr;margin-bottom:24px}
.post--feat figure{aspect-ratio:auto;min-height:340px}
.post--feat .post__b{padding:40px;justify-content:center}
.post--feat h3{font-size:clamp(1.4rem,1.1rem + 1vw,2rem)}
@media(max-width:800px){.post--feat{grid-template-columns:1fr}.post--feat figure{min-height:220px}.post--feat .post__b{padding:26px}}
.pager{display:flex;justify-content:center;gap:8px;margin-top:48px}
.pager a,.pager span{min-width:44px;height:44px;padding:0 14px;display:grid;place-items:center;border-radius:999px;border:1px solid var(--line);background:var(--paper);text-decoration:none;color:var(--ink);font-weight:600}
.pager [aria-current]{background:var(--brand);border-color:var(--brand);color:#fff}

/* 19. BÀI VIẾT ------------------------------------------------------------- */
.article{display:grid;grid-template-columns:240px minmax(0,1fr);gap:64px;align-items:start}
.toc{position:sticky;top:calc(var(--hd) + 24px);font-size:14px}
.toc b{display:block;font-family:var(--f-head);font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--sub);margin-bottom:12px}
.toc ol{counter-reset:c;border-left:2px solid var(--line)}
.toc li{counter-increment:c}
.toc a{display:block;padding:7px 0 7px 16px;margin-left:-2px;border-left:2px solid transparent;color:var(--sub);text-decoration:none;line-height:1.45}
.toc a:hover,.toc a[aria-current]{color:var(--brand);border-left-color:var(--sun)}
@media(max-width:1000px){.article{grid-template-columns:1fr;gap:28px}.toc{position:static;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:20px}}
.prose{font-size:17.5px;line-height:1.85;color:#1D2B3B;max-width:72ch}
.prose>*+*{margin-top:1.15em}
.prose h2{font-size:clamp(1.45rem,1.2rem + .8vw,1.9rem);margin-top:1.9em}
.prose h3{font-size:1.25rem;margin-top:1.6em}
.prose ul,.prose ol{padding-left:1.3em}
.prose ul{list-style:disc}.prose ol{list-style:decimal}
.prose li+li{margin-top:.45em}
.prose li::marker{color:var(--sea)}
.prose a{color:var(--sea)}
.prose strong{color:var(--ink)}
.prose blockquote{border-left:4px solid var(--sun);background:var(--sun-lt);border-radius:0 var(--r-sm) var(--r-sm) 0;padding:18px 22px;font-size:17px;color:#4A3A12}
.prose figure img{border-radius:var(--r)}
.prose figcaption{font-size:14px;color:var(--sub);margin-top:10px}
.prose table{width:100%;border-collapse:collapse;font-size:15.5px}
.prose th,.prose td{text-align:left;padding:12px 14px;border:1px solid var(--line)}
.prose th{background:var(--bg);font-family:var(--f-head)}
.prose .lead{font-size:1.2rem;color:var(--sub);line-height:1.7}
.callout{display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;background:var(--brand);color:#fff;border-radius:var(--r);padding:26px 28px;margin-top:2em}
.callout p{color:var(--on-dark);font-size:15.5px;margin-top:4px}
.callout h3{font-size:19px}
.callout .icb{background:rgba(255,255,255,.12);color:var(--sun)}
@media(max-width:700px){.callout{grid-template-columns:1fr}}
.author{display:flex;gap:16px;align-items:center;margin-top:48px;padding-top:28px;border-top:1px solid var(--line)}
.author img{width:56px;height:56px;border-radius:14px}
.author b{font-family:var(--f-head)}
.author p{font-size:14.5px;color:var(--sub)}
.share{display:flex;gap:10px;align-items:center;margin-top:22px;font-size:14px;color:var(--sub)}
.share a{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:999px;border:1px solid var(--line);color:var(--ink);text-decoration:none;font-weight:600;font-size:13.5px}

/* 20. FAQ ------------------------------------------------------------------- */
.faq{display:flex;flex-direction:column;gap:12px}
.faq details{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-sm);transition:box-shadow .2s}
.faq details[open]{box-shadow:var(--shadow-sm)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 24px;font-family:var(--f-head);font-weight:700;font-size:17px;line-height:1.4}
.faq summary::-webkit-details-marker{display:none}
.faq summary .pm{width:32px;height:32px;border-radius:50%;background:var(--sky);color:var(--brand);display:grid;place-items:center;flex:none;transition:transform .25s,background .25s}
.faq details[open] summary .pm{transform:rotate(45deg);background:var(--sun);color:var(--deep)}
.faq .ans{padding:0 24px 22px;color:var(--sub);font-size:15.5px;max-width:78ch}
.faq .ans p+p{margin-top:10px}
.faq-cat{scroll-margin-top:calc(var(--hd) + 24px)}
.faq-cat+.faq-cat{margin-top:56px}
.faq-cat>h2{font-size:24px;margin-bottom:20px;display:flex;align-items:center;gap:14px}
.side-nav{position:sticky;top:calc(var(--hd) + 24px);display:flex;flex-direction:column;gap:4px}
.side-nav a{padding:12px 16px;border-radius:var(--r-sm);color:var(--ink);text-decoration:none;font-weight:600;font-size:15px}
.side-nav a:hover,.side-nav a[aria-current]{background:var(--paper);color:var(--brand);box-shadow:var(--shadow-sm)}
.with-side{display:grid;grid-template-columns:260px minmax(0,1fr);gap:56px;align-items:start}
@media(max-width:1000px){.with-side{grid-template-columns:1fr;gap:28px}.side-nav{position:static;flex-direction:row;flex-wrap:wrap}.side-nav a{background:var(--paper);border:1px solid var(--line);padding:9px 14px}}

/* 21. FORM ------------------------------------------------------------------ */
.form{color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:40px;box-shadow:var(--shadow-sm)}
.form h2{font-size:26px}
.form>p{color:var(--sub);margin-top:8px}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px;margin-top:28px}
.fgrid .full{grid-column:1/-1}
@media(max-width:640px){.form{padding:24px}.fgrid{grid-template-columns:1fr}}
.fset{grid-column:1/-1;border:0;padding:0;margin:8px 0 0}
.fset legend{font-family:var(--f-head);font-weight:800;font-size:15px;color:var(--brand);padding:0;margin-bottom:4px;display:flex;align-items:center;gap:10px}
.fset legend span{width:26px;height:26px;border-radius:50%;background:var(--sky);display:grid;place-items:center;font-size:12px}
.field{display:flex;flex-direction:column;gap:7px}
.field label{font-size:14px;font-weight:600}
.field .req{color:var(--err)}
.field input,.field select,.field textarea{width:100%;background:var(--bg);border:1px solid var(--line-dk);border-radius:var(--r-xs);padding:13px 14px;font-size:15.5px;transition:border-color .2s,box-shadow .2s,background .2s}
.field textarea{min-height:130px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--sea);background:var(--paper);box-shadow:0 0 0 4px rgba(28,126,214,.15)}
.field small{font-size:13px;color:var(--sub)}
.drop{display:flex;align-items:center;gap:14px;border:1.5px dashed var(--line-dk);border-radius:var(--r-sm);padding:18px;background:var(--bg);cursor:pointer}
.drop:hover{border-color:var(--sea)}
.drop .icb{width:44px;height:44px;border-radius:12px}
.drop input{position:absolute;opacity:0;width:1px;height:1px}
.check{display:flex;gap:12px;align-items:flex-start;font-size:14.5px;color:var(--sub)}
.check input{width:20px;height:20px;margin-top:2px;accent-color:var(--brand);flex:none}
.form .actions{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;margin-top:26px}
.form .actions small{color:var(--sub);font-size:13.5px}
.ccard{display:flex;gap:16px;align-items:flex-start;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:22px;text-decoration:none;color:var(--ink);transition:box-shadow .2s,transform .2s}
a.ccard:hover{box-shadow:var(--shadow-sm);transform:translateY(-2px);color:var(--ink)}
.ccard b{font-family:var(--f-head);display:block}
.ccard span{font-size:14.5px;color:var(--sub)}
.stack{display:flex;flex-direction:column;gap:14px}
.map{border-radius:var(--r);overflow:hidden;border:1px solid var(--line);aspect-ratio:16/10;background:var(--sky)}
.map iframe{width:100%;height:100%;border:0;display:block}

/* 22. CTA ------------------------------------------------------------------- */
.cta{padding-block:24px 104px}
.cta__box{border-radius:28px;padding:64px;background:linear-gradient(120deg,var(--brand),#1C6FB4);color:#fff;display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:center;position:relative;overflow:hidden}
.cta__box::after{content:"";position:absolute;right:-120px;top:-120px;width:380px;height:380px;border-radius:50%;background:rgba(255,176,32,.18)}
.cta h2{font-size:clamp(1.8rem,1.3rem + 1.8vw,2.8rem)}
.cta p{margin-top:14px;color:var(--on-dark)}
.cta .acts{display:flex;flex-direction:column;gap:12px;position:relative;z-index:1}
.cta .acts small{color:var(--on-dark);text-align:center;margin-top:4px}
@media(max-width:860px){.cta__box{grid-template-columns:1fr;padding:36px 28px}}

/* 23. FOOTER ---------------------------------------------------------------- */
.ft{background:var(--deep);color:var(--on-dark-2);font-size:14.5px;padding-block:72px 30px}
.ft .grid{grid-template-columns:1.5fr 1fr 1fr 1.3fr;gap:40px}
.ft .logo img{height:52px}
.ft h4{margin:0 0 16px;color:#fff;font-family:var(--f-head);font-size:15px;letter-spacing:0}
.ft ul{display:flex;flex-direction:column;gap:10px}
.ft a{color:var(--on-dark-2);text-decoration:none}.ft a:hover{color:var(--sun)}
.ft .slogan{margin-top:14px;color:var(--sun);font-family:var(--f-head);font-weight:700}
.ft .social{display:flex;gap:8px;margin-top:18px}
.ft .social a{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.18);font-size:13px;color:#fff}
.ft .social a:hover{border-color:var(--sun);color:var(--sun)}
.ft__bar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;border-top:1px solid rgba(255,255,255,.1);margin-top:56px;padding-top:24px;font-size:13px}
.ft__bar nav{display:flex;gap:18px;flex-wrap:wrap}
@media(max-width:900px){.ft .grid{grid-template-columns:1fr 1fr}}
@media(max-width:540px){.ft .grid{grid-template-columns:1fr}}

/* 24. THANH LIÊN HỆ MOBILE --------------------------------------------------- */
.mbar{display:none}
@media(max-width:700px){body{padding-bottom:74px}
  .mbar{display:grid;grid-template-columns:1fr 1.3fr;gap:8px;position:fixed;inset:auto 10px 10px;z-index:30;padding:8px;border-radius:999px;background:rgba(255,255,255,.97);box-shadow:var(--shadow)}
  .mbar .btn{padding:12px 10px;font-size:14px}}

/* 25. TRANG ĐẶC BIỆT -------------------------------------------------------- */
.letter{display:grid;grid-template-columns:280px 1fr;gap:48px;align-items:start}
.letter__card{background:var(--brand);color:#fff;border-radius:var(--r);padding:32px;position:sticky;top:calc(var(--hd) + 24px)}
.letter__mono{width:84px;height:84px;border-radius:22px;background:var(--sun);color:var(--deep);display:grid;place-items:center;font-family:var(--f-head);font-weight:800;font-size:30px}
.letter__card b{display:block;font-family:var(--f-head);font-size:20px;margin-top:20px}
.letter__card span{color:var(--on-dark);font-size:14.5px}
.letter__card ul{margin-top:20px;display:flex;flex-direction:column;gap:8px;font-size:14px;color:var(--on-dark);border-top:1px solid rgba(255,255,255,.15);padding-top:18px}
.sign{margin-top:28px;font-family:var(--f-head);font-weight:700;color:var(--brand)}
@media(max-width:900px){.letter{grid-template-columns:1fr}.letter__card{position:static}}
.vm{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.vm .card{padding:40px}
.vm .card p{font-size:18px;color:var(--ink);line-height:1.65;margin-top:16px}
@media(max-width:800px){.vm{grid-template-columns:1fr}}
.dl{display:grid;grid-template-columns:240px 1fr;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;font-size:15.5px}
.dl dt,.dl dd{padding:16px 24px;border-top:1px solid var(--line)}
.dl dt{color:var(--sub);font-weight:500;background:var(--bg)}
.dl dd{font-weight:600}
.dl dt:first-of-type,.dl dt:first-of-type+dd{border-top:0}
@media(max-width:640px){.dl{grid-template-columns:1fr}.dl dd{border-top:0;padding-top:0}.dl dt{background:none;padding-bottom:4px}}
.doclist{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.doclist li{display:flex;gap:14px;align-items:flex-start;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-sm);padding:18px}
.doclist b{font-family:var(--f-head);display:block;font-size:15.5px}
.doclist span{font-size:14px;color:var(--sub)}
@media(max-width:700px){.doclist{grid-template-columns:1fr}}
.gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:220px 220px;gap:16px}
.gallery figure{border-radius:var(--r);overflow:hidden;position:relative}
.gallery figure:first-child{grid-row:span 2}
.gallery img{width:100%;height:100%;object-fit:cover}
.gallery figcaption{position:absolute;left:12px;bottom:12px;background:rgba(7,30,51,.78);color:#fff;font-size:12.5px;padding:5px 10px;border-radius:999px}
@media(max-width:800px){.gallery{grid-template-columns:1fr 1fr;grid-template-rows:200px 160px 160px}.gallery figure:first-child{grid-column:span 2;grid-row:auto}}
.empty{text-align:center;padding:40px 0 100px}
.empty__code{font-family:var(--f-head);font-weight:800;font-size:clamp(5rem,3rem + 8vw,9rem);line-height:1;color:transparent;-webkit-text-stroke:2px var(--sea)}
.search{display:flex;gap:10px;max-width:520px;margin:28px auto 0}
.search input{flex:1;border:1px solid var(--line-dk);border-radius:999px;padding:14px 20px;background:var(--paper);font-size:15.5px}
.search input:focus{outline:none;border-color:var(--sea);box-shadow:0 0 0 4px rgba(28,126,214,.15)}
.thanks{max-width:720px;margin-inline:auto;text-align:center}
.thanks .icb{width:84px;height:84px;border-radius:24px;margin-inline:auto;background:var(--mint);color:var(--ok)}
.thanks h1{font-size:var(--fs-h1);margin-top:24px}
.thanks .lead{margin-top:16px;color:var(--sub);font-size:var(--fs-lead)}
.legal{display:grid;grid-template-columns:240px minmax(0,1fr);gap:64px;align-items:start}
@media(max-width:1000px){.legal{grid-template-columns:1fr;gap:28px}}

/* 26. HIỆU ỨNG ----------------------------------------------------------------
   [data-rv] hiện dần + trượt lên khi cuộn tới; [data-rv="fade"] (ảnh) chỉ hiện dần; data-d="1–4" đi trễ so le.
   Lớp fx gắn từ <head>, dbp.js gắn data-rv cho các khối chưa ghi sẵn; phần đầu trang (.phero) ẩn sẵn để không nháy. */
@media(prefers-reduced-motion:no-preference){
  .fx [data-rv]{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
  .fx .phero .wrap>:not([data-rv]):not(:has([data-rv])){opacity:0;transform:translateY(24px)}
  .fx [data-rv="fade"]{transform:none;transition-duration:1.1s}
  .fx [data-rv].in{opacity:1;transform:none}
  .fx [data-rv][data-d="1"]{transition-delay:.08s}.fx [data-rv][data-d="2"]{transition-delay:.16s}.fx [data-rv][data-d="3"]{transition-delay:.24s}.fx [data-rv][data-d="4"]{transition-delay:.32s}
  .hero__bg img{animation:drift 30s ease-in-out infinite alternate}
  @keyframes drift{from{transform:scale(1.05)}to{transform:scale(1.14) translate3d(-1.5%,-1%,0)}}
  .route .lane{animation:flow 2.2s linear infinite}
  @keyframes flow{to{stroke-dashoffset:-26}}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}html{scroll-behavior:auto}}
@media print{.hd,.mbar,.ft,.cta,.pnav,.totop{display:none}.phero,.hero{margin-top:0;color:#000;background:none}.phero::before,.hero::before,.phero__bg,.hero__bg{display:none}
  .fx [data-rv],.fx .phero .wrap>*{opacity:1!important;transform:none!important}}

/* 27. DANH MỤC SẢN PHẨM THEO NHÓM ------------------------------------------ */
.filters--sticky{position:sticky;top:var(--hd);z-index:6;background:var(--bg);padding-block:14px;margin-bottom:28px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
.filters--sticky::-webkit-scrollbar{display:none}
.filters--sticky a{flex:none}
.pgroup{scroll-margin-top:calc(var(--hd) + 80px)}
.pgroup+.pgroup{margin-top:72px}
.pgroup__h{display:flex;align-items:center;gap:18px;margin-bottom:28px;flex-wrap:wrap}
.pgroup__h h2{font-size:clamp(1.4rem,1.15rem + .9vw,1.9rem)}
.pgroup__h p{color:var(--sub);margin-top:4px;font-size:15.5px;max-width:70ch}
.pgroup__h .link{margin-left:auto}
.dl-box{display:flex;gap:18px;align-items:center;flex-wrap:wrap;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:24px 28px}
.dl-box h3{font-size:18px}.dl-box p{color:var(--sub);font-size:14.5px;margin-top:2px}
.dl-box .btn-row{margin-left:auto}
.compare{min-width:720px}
.compare td:first-child{font-weight:600;color:var(--sub);width:28%}

/* 28. THẺ SẢN PHẨM TỪ THƯ VIỆN (ảnh sản phẩm nền trắng, không phóng to ảnh nhỏ) */
.pgrid--4{grid-template-columns:repeat(4,1fr)}
@media(max-width:1100px){.pgrid--4{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.pgrid--4{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.pgrid--4{grid-template-columns:1fr}}
.pcard__fig--pack{background:#fff;display:grid;place-items:center;border-bottom:1px solid var(--line)}
.pcard__fig--pack img{width:auto;height:auto;max-width:90%;max-height:90%;object-fit:contain}
.pcard__code{align-self:flex-start;font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--sub);background:var(--bg);border:1px solid var(--line);padding:3px 8px;border-radius:6px}
.pgrid--4 .pcard h3{font-size:17.5px}
.pgrid--4 .pcard__b{padding:20px}
.phero__fig--pack{background:#fff;display:grid;place-items:center}
.phero__fig--pack img{width:auto;height:auto;max-width:92%;max-height:92%;object-fit:contain}
.pgal{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.pgal figure{aspect-ratio:1;background:#fff;border:1px solid var(--line);border-radius:var(--r-sm);display:grid;place-items:center;overflow:hidden}
.pgal img{width:auto;height:auto;max-width:92%;max-height:92%;object-fit:contain}
@media(max-width:800px){.pgal{grid-template-columns:1fr 1fr}}
.filters button{padding:9px 16px;border-radius:999px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-weight:600;font-size:14px;cursor:pointer;transition:background .2s,border-color .2s}
.filters button:hover{border-color:var(--brand)}
.filters button[aria-pressed="true"]{background:var(--brand);border-color:var(--brand);color:#fff}
.filters button small{opacity:.6;font-weight:500;margin-left:4px}
.ft__h{margin:0 0 16px;color:#fff;font-family:var(--f-head);font-size:15px;font-weight:700}

.tile--wide{grid-column:span 2}
.tile--ask{background:var(--sky);color:var(--ink);justify-content:center;gap:10px}
.tile--ask::before{display:none}
.tile--ask:hover{color:var(--ink)}
.tile--ask h3{font-size:22px}.tile--ask p{color:var(--sub)}
.tile--ask .btn{align-self:flex-start;margin-top:6px}
@media(max-width:560px){.tile--wide{grid-column:span 1}}
/* ảnh sản phẩm nền trắng: luôn hiện trọn ảnh (bao bì cao không bị cắt) */
.pcard__fig--pack,.phero__fig--pack,.pgal figure{position:relative}
.pcard__fig--pack img,.phero__fig--pack img,.pgal img{position:absolute;inset:6%;width:88%;height:88%;max-width:none;max-height:none;object-fit:contain}
.pcard:hover .pcard__fig--pack img{transform:scale(1.03)}

/* 29. LỊCH MÙA VỤ, BẢNG SO SÁNH GIỐNG, GHI CHÚ ẢNH --------------------------- */
.cal-wrap{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:22px 24px}
.cal-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
.cal-head b{font-family:var(--f-head);font-size:15px}
.cal-legend{display:flex;flex-wrap:wrap;gap:16px;font-size:13.5px;color:var(--sub)}
.cal-legend span{display:inline-flex;align-items:center;gap:7px}
.cal-legend i{width:22px;height:12px}
.cal{width:100%;border-collapse:separate;border-spacing:3px 4px;min-width:640px}
.cal thead th{font-size:12px;font-weight:600;color:var(--sub);text-align:center}
.cal tbody th{text-align:left;font-family:var(--f-head);font-size:14px;font-weight:700;color:var(--brand);white-space:nowrap;padding-right:12px}
.cal__c{display:block;height:16px;border-radius:6px}
.cal__a{background:#2FA35B}
.cal__s{background:var(--sun)}
.cal__u{background:var(--paper);box-shadow:inset 0 0 0 1.5px var(--line-dk)}
.tbl--var{min-width:560px}
.tbl--var tbody th{text-align:left;font-family:var(--f-head);font-weight:700;color:var(--brand);padding:14px 20px;border-top:1px solid var(--line);white-space:nowrap}
.disclaimer{display:flex;gap:8px;align-items:flex-start;margin-top:28px;font-size:13px;color:var(--sub)}
.disclaimer .ico{margin-top:2px;flex:none}

/* 30. Form Contact Form 7 (WordPress): không nạp CSS của CF7, markup của CF7 nằm trong bố cục .form / .fgrid / .field */
.wpcf7 .screen-reader-response{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);border:0;white-space:nowrap}
.wpcf7 .hidden-fields-container{display:none}
.wpcf7-form-control-wrap{display:block;position:relative}
.field .wpcf7-not-valid{border-color:var(--err);background:#FFF8F7}
.wpcf7-not-valid-tip{display:block;margin-top:6px;color:var(--err);font-size:13px;font-weight:500}
.wpcf7-list-item{margin:0}
.drop .wpcf7-form-control-wrap{display:contents}
.drop{flex-wrap:wrap}.drop>span:last-child{flex:1 1 0;min-width:0}
.drop .wpcf7-not-valid-tip{order:3;flex-basis:100%;margin-top:0}
.check{position:relative}
.check .wpcf7-form-control-wrap{position:static;flex:none}
.check .wpcf7-not-valid-tip{position:absolute;left:32px;right:0;top:100%;margin-top:4px}
.wpcf7-response-output{margin-top:20px;padding:12px 16px;border:1px solid #F5C2C2;border-radius:12px;background:#FDECEC;color:var(--err);font-weight:600;font-size:14.5px}
.wpcf7 form.init .wpcf7-response-output,.wpcf7 form.resetting .wpcf7-response-output,.wpcf7 form.submitting .wpcf7-response-output{display:none}
.wpcf7 form.sent .wpcf7-response-output{background:var(--mint);border-color:#B8E2D4;color:var(--ok)}
.wpcf7 form.submitting .wpcf7-submit{opacity:.65;pointer-events:none;cursor:progress}
/* Cloudflare Turnstile (khi đã nhập khóa): widget ngay trên nút gửi, nút giãn bằng widget; giữ sẵn chỗ để nút không bị xô khi widget tải xong */
.actions__send{display:flex;flex-direction:column;gap:12px}
.wpcf7-turnstile{min-height:65px;line-height:0}

/* 31. Tiếng Nhật: không giãn chữ âm, ngắt dòng theo cụm từ */
:lang(ja) h1,:lang(ja) h2,:lang(ja) h3,:lang(ja) h4,:lang(ja) .stats b{letter-spacing:0;word-break:auto-phrase;line-break:strict}
:lang(ja) body{line-height:1.8}
:lang(ja) .lead,:lang(ja) .prose p{text-wrap:pretty}

/* 32. Ảnh thật bổ sung: chân dung trong thư ngỏ, ảnh trong cột chữ, bìa brochure, bộ 5 ảnh */
.letter__photo{margin:-32px -32px 0;aspect-ratio:4/5;overflow:hidden;border-radius:var(--r) var(--r) 0 0;background:linear-gradient(165deg,#FFE7B0 0%,#F4F8FC 55%,#D6E8F7 100%)}
.letter__photo img{width:100%;height:100%;object-fit:cover;object-position:center 12%}
.side-fig{margin-top:28px;border-radius:var(--r);overflow:hidden;aspect-ratio:16/10;box-shadow:var(--shadow)}
.side-fig img{width:100%;height:100%;object-fit:cover}
.dl-box__cover{flex:none;width:72px;height:auto;border-radius:6px;box-shadow:0 10px 22px -12px rgba(7,30,51,.55)}
.gallery--5{grid-template-rows:240px 240px}
@media(max-width:900px){.letter__photo{aspect-ratio:1/1;max-height:360px}}

/* 33. Nút về đầu trang (hiện khi đã cuộn xuống; trên mobile nằm trên thanh liên hệ) */
.totop{position:fixed;right:24px;bottom:24px;z-index:29;width:48px;height:48px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--paper);color:var(--brand);box-shadow:var(--shadow);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(14px);transition:opacity .3s,transform .3s var(--ease),visibility .3s,background .2s}
.totop.show{opacity:1;visibility:visible;transform:none}
.totop:hover{background:var(--brand);border-color:var(--brand);color:#fff}
.totop:focus-visible{outline:3px solid var(--sun);outline-offset:3px}
.totop .ico{transform:rotate(180deg);stroke-width:2.4}
@media(max-width:700px){.totop{right:14px;bottom:90px;width:44px;height:44px}}
