/* Việt An Express — design tokens + component library. BEM prefix: vae- */
:root{
/* Brand */
--vae-navy:#16305B;--vae-navy-700:#1D3F72;--vae-navy-900:#0E2141;
--vae-lime:#9BCB3B;--vae-lime-600:#8ABB2C;--vae-lime-050:#F2F8E4;
--vae-red:#A31D18;--vae-red-050:#FCF0EF;
/* Neutral */
--vae-ink:#1A1A1A;--vae-ink-2:#4A5568;--vae-ink-3:#6B7689;
--vae-line:#E3E8EF;--vae-bg:#FFFFFF;--vae-bg-2:#F7F9FC;--vae-bg-3:#EEF2F8;
/* Spacing 4/8 */
--vae-1:4px;--vae-2:8px;--vae-3:12px;--vae-4:16px;--vae-5:20px;--vae-6:24px;
--vae-8:32px;--vae-10:40px;--vae-12:48px;--vae-16:64px;--vae-20:80px;
/* Radius */
--vae-r-sm:6px;--vae-r:10px;--vae-r-lg:14px;--vae-r-pill:999px;
/* Shadow */
--vae-sh-1:0 1px 2px rgba(22,48,91,.06);
--vae-sh-2:0 2px 8px rgba(22,48,91,.08);
--vae-sh-3:0 8px 24px rgba(22,48,91,.12);
/* Type */
--vae-font:"Be Vietnam Pro",system-ui,-apple-system,sans-serif;
--vae-font-h:"Archivo","Be Vietnam Pro",system-ui,sans-serif;
--vae-t-xs:12px;--vae-t-sm:14px;--vae-t-base:16px;--vae-t-md:18px;
--vae-t-lg:20px;--vae-t-xl:24px;--vae-t-2xl:30px;--vae-t-3xl:36px;--vae-t-4xl:44px;
/* Control */
--vae-h:44px;--vae-h-lg:52px;--vae-header-h:64px;
--vae-ring:0 0 0 4px rgba(155,203,59,.45);
/* Z */
--vae-z-header:100;--vae-z-fab:200;--vae-z-sticky:210;
}
*,*::before,*::after{box-sizing:border-box}
.vae{font-family:var(--vae-font);font-size:var(--vae-t-base);line-height:1.6;color:var(--vae-ink);background:var(--vae-bg);-webkit-font-smoothing:antialiased}
:where(.vae) h1,:where(.vae) h2,:where(.vae) h3,:where(.vae) h4{font-family:var(--vae-font-h);font-weight:700;line-height:1.2;color:var(--vae-navy);margin:0;letter-spacing:-.01em;text-wrap:balance}
:where(.vae) h1{font-size:var(--vae-t-2xl)}:where(.vae) h2{font-size:var(--vae-t-xl)}:where(.vae) h3{font-size:var(--vae-t-md)}
:where(.vae) p{margin:0}
:where(.vae) a{color:var(--vae-navy);text-decoration:none}
:where(.vae) a:hover{color:var(--vae-navy-700);text-decoration:underline}
:where(.vae) :focus-visible{outline:3px solid var(--vae-navy);outline-offset:2px;border-radius:var(--vae-r-sm)}
:where(.vae) img{max-width:100%;display:block}
.vae-num{font-variant-numeric:tabular-nums}
.vae-wrap{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--vae-4)}
.vae-sec{padding:var(--vae-12) 0}
.vae-sec--alt{background:var(--vae-bg-2)}
.vae-eyebrow{font-family:var(--vae-font);font-size:var(--vae-t-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--vae-ink-3)}
.vae-lede{color:var(--vae-ink-2);font-size:var(--vae-t-base)}
.vae-sec__head{display:flex;flex-direction:column;gap:var(--vae-2);margin-bottom:var(--vae-8)}
/* ---------- BUTTON ---------- */
.vae-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--vae-2);min-height:var(--vae-h);padding:0 var(--vae-5);border:1px solid transparent;border-radius:var(--vae-r);font-family:var(--vae-font);font-size:var(--vae-t-base);font-weight:600;line-height:1;text-align:center;white-space:nowrap;cursor:pointer;text-decoration:none;transition:transform .15s ease,background-color .15s ease,border-color .15s ease,color .15s ease}
.vae-btn:hover{text-decoration:none;transform:translateY(-1px)}
.vae-btn:active{transform:translateY(0)}
.vae-btn:focus-visible{outline:3px solid var(--vae-navy);outline-offset:2px;box-shadow:var(--vae-ring)}
.vae-btn svg{flex:0 0 auto}
/* Cấp nút: primary = báo giá · secondary = Zalo · utility = tra cứu/gọi. Class cũ là bí danh. */
.vae-btn--primary,.vae-btn--call{background:var(--vae-navy);border-color:var(--vae-navy);color:#fff}
.vae-btn--primary:hover,.vae-btn--call:hover{background:var(--vae-navy-700);border-color:var(--vae-navy-700);color:#fff}
.vae-btn--secondary,.vae-btn--zalo{background:var(--vae-lime);border-color:var(--vae-lime);color:var(--vae-navy-900)}
.vae-btn--secondary:hover,.vae-btn--zalo:hover{background:var(--vae-lime-600);border-color:var(--vae-lime-600);color:var(--vae-navy-900)}
.vae-btn--utility,.vae-btn--quote{background:#fff;border-color:var(--vae-navy);color:var(--vae-navy)}
.vae-btn--utility:hover,.vae-btn--quote:hover{background:var(--vae-bg-3);color:var(--vae-navy)}
.vae-btn--track{background:var(--vae-navy-900);color:#fff}
.vae-btn--ghost{background:transparent;color:var(--vae-navy);border-color:var(--vae-line)}
.vae-btn--block{width:100%}
.vae-btn--sm{min-height:var(--vae-h);font-size:var(--vae-t-sm);padding:0 var(--vae-4)}
.vae-btn--lg{min-height:var(--vae-h-lg);padding:0 var(--vae-6);font-size:var(--vae-t-md)}
.vae-btn[aria-disabled="true"]{opacity:.6;pointer-events:none}
.vae-textlink{display:inline-flex;align-items:center;gap:6px;min-height:var(--vae-h);font-weight:600;color:var(--vae-navy);text-decoration:underline;text-underline-offset:3px}
/* ---------- CHIP ---------- */
.vae-chips{display:flex;flex-wrap:wrap;gap:var(--vae-2);list-style:none;margin:0;padding:0}
.vae-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border:1px solid var(--vae-line);border-radius:var(--vae-r-pill);background:#fff;font-size:var(--vae-t-xs);font-weight:600;color:var(--vae-ink-2);white-space:nowrap}
/* ---------- HEADER ---------- */
.vae-header{position:sticky;top:0;z-index:var(--vae-z-header);background:#fff;border-bottom:1px solid var(--vae-line)}
.admin-bar .vae-header{top:32px}
@media (max-width:782px){.admin-bar .vae-header{top:46px}}
@media (max-width:600px){.admin-bar .vae-header{top:0}}
.vae-header__bar{display:flex;align-items:center;gap:var(--vae-3);min-height:var(--vae-header-h)}
/* Thu gọn: thấp hơn 8px, bù 8px margin nên nội dung dưới không nhảy */
.vae-header.is-compact{margin-bottom:8px;box-shadow:var(--vae-sh-2)}
.vae-header.is-compact .vae-header__bar{min-height:calc(var(--vae-header-h) - 8px)}
.vae-header.is-compact .vae-header__logo img{height:36px}
.vae-header__tel{display:none;align-items:center;gap:6px;min-height:var(--vae-h);padding:0 var(--vae-1);font-weight:700;font-size:var(--vae-t-sm);color:var(--vae-navy);white-space:nowrap}
.vae-header__quote,.vae-header__zalo{display:none}
@media (min-width:960px){.vae-header__quote,.vae-header__zalo{display:inline-flex}.vae-header__quote-m{display:none}}
@media (min-width:1280px){.vae-header__tel{display:inline-flex}}
.vae-header__logo{display:flex;align-items:center;gap:var(--vae-2);font-family:var(--vae-font-h);font-weight:700;font-size:var(--vae-t-md);color:var(--vae-navy);flex:0 0 auto}
.vae-header__logo:hover{text-decoration:none}
.vae-nav{display:none}
.vae-header__actions{display:flex;align-items:center;gap:var(--vae-2);margin-left:auto;flex:0 0 auto}
.vae-burger{display:inline-grid;place-items:center;width:44px;height:44px;border:1px solid var(--vae-line);border-radius:var(--vae-r-sm);background:#fff;gap:4px;padding:11px 10px;cursor:pointer}
.vae-burger span{display:block;width:100%;height:2px;background:var(--vae-navy);border-radius:2px}
/* ---------- HERO ---------- */
.vae-hero{background:linear-gradient(180deg,var(--vae-bg-2),#fff);padding:var(--vae-5) 0 var(--vae-10)}
.vae-hero__grid{display:grid;gap:var(--vae-6);align-items:start}
.vae-hero__copy,.vae-hero__aside,.vae-hero__card{min-width:0}
.vae-hero__copy>*+*{margin-top:var(--vae-3)}
.vae-hero__eyebrow{display:flex;align-items:center;gap:8px;font-size:var(--vae-t-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--vae-navy-700)}
.vae-hero__eyebrow::before{content:"";flex:0 0 8px;height:8px;border-radius:50%;background:var(--vae-lime)}
.vae-hero h1{font-size:26px;line-height:1.18}
.vae-hero__usp{font-size:var(--vae-t-sm);font-weight:600;color:var(--vae-navy)}
.vae-hero__sub{font-size:var(--vae-t-sm);color:var(--vae-ink-2)}
.vae-hero__cta{display:grid;grid-template-columns:1fr 1fr;gap:var(--vae-2);margin-top:var(--vae-4)!important}
.vae-hero__cta .vae-btn{padding:0 var(--vae-3)}
.vae-hero__track-link{margin-top:0!important}
.vae-hero__aside{display:grid;gap:var(--vae-4);align-content:start}
.vae-hero__card{padding:var(--vae-4);background:#fff;border:1px solid var(--vae-line);border-top:4px solid var(--vae-lime);border-radius:var(--vae-r-lg);box-shadow:var(--vae-sh-3)}
.vae-hero__formtitle{margin:0 0 var(--vae-3);font-family:var(--vae-font-h);font-weight:700;font-size:var(--vae-t-lg);line-height:1.25;color:var(--vae-navy)}
.vae-hero__media{width:100%;height:auto;display:block;border-radius:var(--vae-r);min-width:0}
@media (min-width:768px){
.vae-hero{padding:var(--vae-10) 0 var(--vae-12)}
.vae-hero h1{font-size:var(--vae-t-3xl)}
.vae-hero__usp,.vae-hero__sub{font-size:var(--vae-t-base)}
.vae-hero__cta{display:flex;flex-wrap:wrap}
.vae-hero__cta .vae-btn{min-width:200px;padding:0 var(--vae-6)}
.vae-hero__aside{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.vae-hero__card{padding:var(--vae-5)}
.vae-hero__media{max-width:560px}
}
@media (min-width:992px){
.vae-hero__grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:var(--vae-6) var(--vae-10);grid-template-areas:"copy aside" "media aside"}
.vae-hero__copy{grid-area:copy}
.vae-hero__aside{grid-area:aside;grid-template-columns:1fr}
.vae-hero__media{grid-area:media;max-width:none}
.vae-hero h1{font-size:var(--vae-t-4xl)}
}
/* Trust bar dưới hero */
.vae-trustbar{padding:var(--vae-4) 0;background:#fff;border-top:1px solid var(--vae-line);border-bottom:1px solid var(--vae-line)}
.vae-trustbar__list{list-style:none;margin:0 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--vae-4) var(--vae-3)}
.vae-trustbar__item{min-width:0;display:flex;align-items:center;gap:10px;font-size:var(--vae-t-xs);line-height:1.3;color:var(--vae-ink-2)}
.vae-trustbar__ico{flex:0 0 36px;height:36px;border-radius:50%;background:var(--vae-lime-050);color:var(--vae-navy);display:grid;place-items:center}
.vae-trustbar__txt{min-width:0}
.vae-trustbar__item strong{display:block;font-family:var(--vae-font-h);font-size:var(--vae-t-md);line-height:1.2;color:var(--vae-navy)}
@media (min-width:992px){
.vae-trustbar__list{display:flex;justify-content:space-between;gap:0}
.vae-trustbar__item{flex:1 1 0;padding:0 var(--vae-3)}
.vae-trustbar__item:first-child{padding-left:0}
.vae-trustbar__item+.vae-trustbar__item{border-left:1px solid var(--vae-line)}
}
/* Form hero: tuyến → SĐT → gửi trước; mục không bắt buộc gom sau nút "Thông tin thêm".
Chỉ đổi thứ tự hiển thị (order) — DOM, tên trường, required và JS plugin giữ nguyên. */
.vae-leadform[data-form-location="hero"]{display:flex;flex-direction:column;gap:var(--vae-4)}
.vae-leadform[data-form-location="hero"] :is(.ccf,.ccf-form){display:contents}
[data-form-location="hero"] .ccf-field--route{order:1}
[data-form-location="hero"] .ccf-field--contact{order:2}
[data-form-location="hero"] .vae-leadform__more{order:3}
[data-form-location="hero"] .ccf-field--pref{order:4}
[data-form-location="hero"] .ccf-field--name{order:5}
[data-form-location="hero"] .ccf-field--cargo{order:6}
[data-form-location="hero"] .ccf-field--weight{order:7}
[data-form-location="hero"] .ccf-more{order:8}
[data-form-location="hero"] .ccf-submit{order:9}
[data-form-location="hero"] .ccf-status{order:10}
[data-form-location="hero"] .vae-leadform__chan{order:11;margin:0}
[data-form-location="hero"] .vae-leadform__note{order:12;margin:0}
.vae-leadform.is-collapsible:not(.is-more-open)[data-form-location="hero"] :is(.ccf-field--pref,.ccf-field--name,.ccf-field--cargo,.ccf-field--weight,.ccf-more){display:none}
.vae-leadform__more{display:flex;align-items:center;gap:6px;width:100%;min-height:var(--vae-h);padding:0;border:0;border-top:1px dashed var(--vae-line);background:none;font:600 var(--vae-t-sm) var(--vae-font);color:var(--vae-navy);text-align:left;cursor:pointer}
.vae-leadform__more[hidden]{display:none}
.vae-leadform__more::before{content:"+";width:1.1em;font-weight:700}
.vae-leadform__more[aria-expanded="true"]::before{content:"\2212"}
/* Header dính: neo và ô lỗi không bị che */
[id^="bao-gia"],#nhan-bao-gia,#tra-cuu,.ccf :is(input,textarea){scroll-margin-top:80px}
.vae-leadform__more span{font-weight:400;color:var(--vae-ink-3)}
.vae-tick{flex:0 0 auto;width:18px;height:18px;margin-top:2px;border-radius:50%;background:var(--vae-lime-050);color:var(--vae-navy);display:grid;place-items:center}
.vae-hero__hours{display:flex;align-items:center;gap:var(--vae-2);font-size:var(--vae-t-sm);color:var(--vae-ink-2)}
/* ---------- CARD / FORM SKIN ---------- */
.vae-card{background:#fff;border:1px solid var(--vae-line);border-radius:var(--vae-r-lg);box-shadow:var(--vae-sh-2);min-width:0}
.vae-case__card{padding:0;overflow:hidden}
.vae-case__card img{width:100%;height:auto;display:block}
@media (min-width:960px){.vae-case__card img{aspect-ratio:3/2;object-fit:cover;max-height:420px}}
.vae-case__body{padding:var(--vae-8)}
.vae-case__title{margin:var(--vae-2) 0 var(--vae-4)}
.vae-case__lede{margin-bottom:var(--vae-6)}
.vae-label{font-size:var(--vae-t-sm);font-weight:600;color:var(--vae-ink)}
.vae-label span{color:var(--vae-red);font-weight:700}
.vae-input{width:100%;min-width:0;min-height:48px;padding:0 var(--vae-3);border:1px solid var(--vae-line);border-radius:var(--vae-r);background:#fff;font-family:var(--vae-font);font-size:var(--vae-t-base);color:var(--vae-ink)}
.vae-input::placeholder{color:#9AA5B6}
.vae-input:focus{outline:none;border-color:var(--vae-navy);box-shadow:0 0 0 3px rgba(22,48,91,.14)}
/* ---------- TRACK BOX ---------- */
.vae-track{border:1px solid var(--vae-line);border-radius:var(--vae-r-lg);background:var(--vae-navy);color:#fff;padding:var(--vae-5)}
.vae-track__tag{font-size:var(--vae-t-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#A9BEDC}
.vae-track__title{font-family:var(--vae-font-h);font-size:var(--vae-t-md);font-weight:700;color:#fff;margin:var(--vae-2) 0 var(--vae-3)}
.vae-track__form{display:grid;gap:var(--vae-2);grid-template-columns:1fr}
.vae-track__form>.vae-label{grid-column:1/-1;margin-bottom:-2px}
.vae-track__hint{margin-top:var(--vae-3);font-size:var(--vae-t-xs);color:#A9BEDC}
.vae-track .vae-input{border-color:#33517E;background:#0E2141;color:#fff}
.vae-track .vae-input::placeholder{color:#7D93B5}
.vae-track .vae-label{color:#C3D2E8}
/* Thẻ công cụ 2 tab — khi tắt JS: ẩn dãy tab, hai form hiện nối tiếp nhau */
.vae-tabs{display:flex;gap:var(--vae-1);margin:var(--vae-3) 0 var(--vae-4);padding:var(--vae-1);border-radius:var(--vae-r);background:rgba(255,255,255,.08)}
.vae-tab{flex:1 1 0;min-width:0;min-height:44px;padding:0 var(--vae-3);border:0;border-radius:var(--vae-r-sm);background:transparent;font-family:var(--vae-font);font-size:var(--vae-t-sm);font-weight:600;color:#A9BEDC;white-space:nowrap;cursor:pointer;transition:background-color .15s ease,color .15s ease}
.vae-tab:hover{color:#fff}
.vae-tab[aria-selected="true"]{background:#fff;color:var(--vae-navy)}
.vae-track:not(.is-tabs) .vae-tabs{display:none}
.vae-track:not(.is-tabs) .vae-tabpanel+.vae-tabpanel{margin-top:var(--vae-5);padding-top:var(--vae-5);border-top:1px solid rgba(255,255,255,.14)}
/* ---------- PRICE TABLE ---------- */
.vae-tablewrap{position:relative;overflow-x:auto;border:1px solid var(--vae-line);border-radius:var(--vae-r-lg);background:#fff;-webkit-overflow-scrolling:touch}
.vae-table{width:100%;min-width:520px;border-collapse:collapse;font-size:var(--vae-t-sm)}
.vae-table caption{caption-side:top;text-align:left;padding:var(--vae-4) var(--vae-4) var(--vae-3);font-size:var(--vae-t-xs);color:var(--vae-ink-3);font-weight:600}
.vae-table th,.vae-table td{padding:14px var(--vae-4);text-align:left;border-bottom:1px solid var(--vae-line)}
.vae-table thead th{background:var(--vae-bg-2);font-family:var(--vae-font);font-size:var(--vae-t-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--vae-ink-3);white-space:nowrap}
.vae-table tbody tr:last-child>*{border-bottom:0}
.vae-table tbody tr:hover{background:var(--vae-bg-2)}
.vae-table__note{margin-top:var(--vae-3);font-size:var(--vae-t-xs);color:var(--vae-ink-3)}
/* ---------- QUOTE STRIP ---------- */
.vae-strip{background:var(--vae-navy);color:#fff;border-radius:var(--vae-r-lg);padding:var(--vae-6);display:grid;gap:var(--vae-4);align-items:center}
.vae-strip h2{color:#fff;font-size:var(--vae-t-lg)}
.vae-strip p{color:#C3D2E8;font-size:var(--vae-t-sm)}
.vae-strip__cta{display:flex;flex-wrap:wrap;gap:var(--vae-2)}
/* ---------- ROUTE GRID ---------- */
.vae-routes{display:grid;gap:var(--vae-3);grid-template-columns:repeat(2,minmax(0,1fr));list-style:none;margin:0;padding:0}
.vae-route{display:flex;flex-direction:column;gap:var(--vae-1);padding:var(--vae-4);border:1px solid var(--vae-line);border-radius:var(--vae-r);background:#fff;min-width:0;transition:transform .15s ease,box-shadow .15s ease}
.vae-route:hover{text-decoration:none;transform:translateY(-2px);box-shadow:var(--vae-sh-2);border-color:#C9D4E4}
.vae-route__top{display:flex;align-items:center;gap:var(--vae-2);min-height:20px}
.vae-route__code{display:inline-block;padding:2px 7px;border-radius:var(--vae-r-sm);background:var(--vae-bg-3);font-size:11px;font-weight:700;color:var(--vae-navy);letter-spacing:.06em}
.vae-route__name{font-family:var(--vae-font-h);font-size:var(--vae-t-base);font-weight:700;color:var(--vae-navy)}
.vae-route__meta{font-size:var(--vae-t-xs);color:var(--vae-ink-2)}
/* ---------- REVIEW ---------- */
.vae-reviews{list-style:none;margin:0;padding:0 0 var(--vae-2);display:grid;grid-auto-flow:column;grid-auto-columns:minmax(250px,82%);gap:var(--vae-3);overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain}
.vae-reviews__hint{margin-top:var(--vae-2);font-size:var(--vae-t-xs);color:var(--vae-ink-3)}
.vae-review{padding:var(--vae-5);border:1px solid var(--vae-line);border-radius:var(--vae-r);background:#fff;display:grid;gap:var(--vae-3);min-width:0;align-content:space-between;scroll-snap-align:start}
.vae-review__text{margin:0}
.vae-review__text{font-size:var(--vae-t-sm);color:var(--vae-ink-2);line-height:1.6}
.vae-review__who{display:flex;align-items:center;gap:var(--vae-3);border-top:1px solid var(--vae-line);padding-top:var(--vae-3)}
.vae-avatar{width:36px;height:36px;border-radius:50%;background:var(--vae-bg-3);color:var(--vae-navy);display:grid;place-items:center;font-size:var(--vae-t-xs);font-weight:700;flex:0 0 auto}
.vae-review__name{font-size:var(--vae-t-sm);font-weight:700;color:var(--vae-ink)}
.vae-review__src{font-size:var(--vae-t-xs);color:var(--vae-ink-3)}
.vae-rating{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--vae-3);margin-bottom:var(--vae-5);padding:var(--vae-4);border:1px solid var(--vae-line);border-radius:var(--vae-r);background:var(--vae-bg-2)}
.vae-rating__score{font-family:var(--vae-font-h);font-size:var(--vae-t-2xl);font-weight:700;color:var(--vae-navy);line-height:1}
.vae-rating p{margin:0}.vae-rating__txt{font-weight:600;color:var(--vae-ink-2)}
/* ---------- SERVICE / STEP / HARD GOODS ---------- */
.vae-grid-3{display:grid;gap:var(--vae-3);grid-template-columns:1fr}
.vae-grid-3>:only-child{grid-column:1/-1}
.vae-svc{padding:var(--vae-5);border:1px solid var(--vae-line);border-radius:var(--vae-r);background:#fff;display:grid;gap:var(--vae-2);min-width:0}
.vae-svc__ico{width:40px;height:40px;border-radius:var(--vae-r-sm);background:var(--vae-bg-3);color:var(--vae-navy);display:grid;place-items:center}
.vae-svc h3{font-size:var(--vae-t-base)}
.vae-svc p{font-size:var(--vae-t-sm);color:var(--vae-ink-2)}
.vae-steps{list-style:none;margin:0;padding:0;display:grid;gap:var(--vae-5)}
.vae-steps li{position:relative;padding-left:60px;min-height:44px}
.vae-steps li:not(:last-child)::after{content:"";position:absolute;left:21px;top:44px;bottom:calc(-1*var(--vae-5));width:2px;background:var(--vae-line)}
.vae-steps__num{position:absolute;left:0;top:0;width:44px;height:44px;border-radius:50%;background:var(--vae-navy);color:#fff;font-family:var(--vae-font-h);font-weight:700;display:grid;place-items:center}
.vae-steps h3{font-size:var(--vae-t-base);margin-bottom:2px}
.vae-steps p{font-size:var(--vae-t-sm);color:var(--vae-ink-2)}
.vae-steps__cta{margin-top:var(--vae-8);text-align:center}
.vae-good{position:relative}.vae-good .vae-status{justify-self:start}
.vae-good .vae-cardlink::after{content:"";position:absolute;inset:0;border-radius:var(--vae-r)}
.vae-good:hover{border-color:var(--vae-navy)}
.vae-status{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:var(--vae-r-pill);font-size:var(--vae-t-xs);font-weight:700;white-space:nowrap}
.vae-status--yes{background:var(--vae-lime-050);color:#3D5C0B}
.vae-status--cond{background:#FFF8E6;color:#7A5A06}
/* ---------- ANSWER BOX / KEY FACTS / E-E-A-T ---------- */
/* ---------- FAQ ---------- */
.vae-faq{display:grid;gap:var(--vae-2)}
.vae-faq details{border:1px solid var(--vae-line);border-radius:var(--vae-r);background:#fff;overflow:hidden}
.vae-faq summary{display:flex;align-items:center;justify-content:space-between;gap:var(--vae-3);min-height:56px;padding:var(--vae-3) var(--vae-4);cursor:pointer;font-size:var(--vae-t-base);font-weight:600;color:var(--vae-navy);list-style:none}
.vae-faq summary::-webkit-details-marker{display:none}
.vae-faq summary::after{content:"+";width:28px;height:28px;border-radius:50%;border:1px solid var(--vae-line);display:grid;place-items:center;font-family:var(--vae-font-h);font-size:18px;line-height:1;color:var(--vae-navy);flex:0 0 auto}
.vae-faq summary:hover{background:var(--vae-bg-2)}
.vae-faq summary:focus-visible{outline-offset:-3px}
.vae-faq details[open] summary::after{background:var(--vae-navy);border-color:var(--vae-navy);color:#fff}
.vae-faq details[open] summary::after{content:"–"}
.vae-faq details[open] summary{border-bottom:1px solid var(--vae-line)}
.vae-faq__body{padding:var(--vae-4);font-size:var(--vae-t-sm);color:var(--vae-ink-2);line-height:1.65}
/* ---------- BREADCRUMB / TOC / PROSE ---------- */
.vae-related{display:grid;gap:var(--vae-3);grid-template-columns:1fr}
/* ---------- STICKY / FAB / FOOTER ---------- */
.vae-fab{position:absolute;right:16px;bottom:88px;z-index:var(--vae-z-fab);display:inline-flex;align-items:center;gap:var(--vae-2);min-height:52px;padding:0 var(--vae-5);border-radius:var(--vae-r-pill);background:var(--vae-lime);color:var(--vae-navy-900);font-weight:700;font-size:var(--vae-t-sm);box-shadow:var(--vae-sh-3);text-decoration:none}
.vae-fab:hover{color:var(--vae-navy-900);text-decoration:none;transform:translateY(-1px)}
.vae-bottombar{position:absolute;left:0;right:0;bottom:0;z-index:var(--vae-z-sticky);display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--vae-line);border-top:1px solid var(--vae-line);padding-bottom:env(safe-area-inset-bottom)}
.vae-bottombar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:60px;background:#fff;font-size:11px;font-weight:700;color:var(--vae-navy);text-decoration:none}
.vae-bottombar a:hover{text-decoration:none}
.vae-bottombar a.is-primary{background:var(--vae-lime);color:var(--vae-navy-900)}
/* Chừa chỗ cho cả cụm CTA dính đáy: thanh 60px + FAB (bottom 88px, cao 52px) */
.vae-footer{background:var(--vae-navy-900);color:#C3D2E8;padding:var(--vae-12) 0 var(--vae-6);font-size:var(--vae-t-sm)}
.vae-footer h3,.vae-footer__col-title{color:#fff;font-size:var(--vae-t-sm);font-family:var(--vae-font);font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin:0 0 var(--vae-3)}
.vae-footer a{color:#C3D2E8}
.vae-footer a:hover{color:#fff}
.vae-footer__grid{display:grid;gap:var(--vae-8);grid-template-columns:1fr}
.vae-footer__brand{display:flex;align-items:center;gap:var(--vae-2);font-family:var(--vae-font-h);font-weight:700;font-size:var(--vae-t-md);color:#fff;margin-bottom:var(--vae-3)}
.vae-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:var(--vae-2)}
.vae-footer__bottom{margin-top:var(--vae-8);padding-top:var(--vae-5);border-top:1px solid #23406B;display:flex;flex-wrap:wrap;gap:var(--vae-3);justify-content:space-between;font-size:var(--vae-t-xs);color:#8FA6C6}
.vae-footer .vae-chip{background:#132A4E;border-color:#23406B;color:#C3D2E8}
/* Breakpoint theme: 640 · 768 · 992 · 1280 */
@media (min-width:640px){
.vae-track__form{grid-template-columns:1fr auto}
.vae-routes{grid-template-columns:repeat(3,minmax(0,1fr))}
.vae-reviews{grid-auto-columns:minmax(280px,46%)}
.vae-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
.vae-related{grid-template-columns:repeat(2,minmax(0,1fr))}
.vae-strip{grid-template-columns:minmax(0,1fr) auto;padding:var(--vae-6) var(--vae-8)}
.vae-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:768px){
:where(.vae) h1{font-size:var(--vae-t-3xl)}
:where(.vae) h2{font-size:var(--vae-t-2xl)}
.vae-wrap{padding:0 var(--vae-6)}
.vae-sec{padding:var(--vae-16) 0}
.vae-table{min-width:0}
}
@media (min-width:992px){
:where(.vae) h1{font-size:var(--vae-t-4xl)}
.vae-wrap{padding:0 var(--vae-8)}
.vae-routes{grid-template-columns:repeat(4,minmax(0,1fr))}
.vae-reviews{grid-auto-flow:row;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;padding:0}
.vae-reviews__hint{display:none}
.vae-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.vae-strip{padding:var(--vae-8) var(--vae-10)}
.vae-steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--vae-6)}
.vae-steps li{padding:60px 0 0;text-align:center}
.vae-steps__num{left:50%;transform:translateX(-50%)}
.vae-steps li:not(:last-child)::after{top:21px;bottom:auto;left:calc(50% + 30px);right:calc(-50% - var(--vae-6) + 30px);width:auto;height:2px}
.vae-footer__grid{grid-template-columns:2fr 1fr 1fr 1.4fr}
.vae-fab,.vae-bottombar{display:none}
}
@media (prefers-reduced-motion:reduce){
*,*::before,*::after{transition:none !important;animation:none !important}
.vae-btn:hover,.vae-route:hover,.vae-fab:hover{transform:none}
}
/* ======================= T27: skin form plugin (ccf) ======================= */
.vae-leadform{min-width:0}
.vae-leadform__note{margin:12px 0 0;font-size:.8rem;line-height:1.5;color:var(--vae-ink-3)}
.vae-leadform--the{background:#fff;border:1px solid var(--vae-line);border-radius:16px;box-shadow:var(--vae-sh-3);overflow:hidden}
.vae-leadform--the .vae-leadform__dau{padding:22px 22px 18px;border-bottom:1px solid var(--vae-line)}
.vae-leadform--the .ccf{display:block;padding:20px 22px 0}
.vae-leadform__nhan{display:flex;align-items:center;gap:8px;margin:0 0 8px;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#2F7A4B}
.vae-leadform__nhan::before{content:"";width:8px;height:8px;border-radius:50%;background:#2FA35E;box-shadow:0 0 0 3px rgba(47,163,94,.18)}
.vae-leadform__tieude{margin:0 0 6px;font-family:var(--vae-font-h);font-size:1.45rem;line-height:1.25;color:var(--vae-navy)}
.vae-leadform__dan{margin:0;font-size:.92rem;line-height:1.55;color:var(--vae-ink-2)}
.vae-leadform--the .ccf-submit{margin:4px 0 0}
.vae-leadform--the .ccf-form{padding-bottom:20px}
.vae-leadform--the .vae-leadform__chan{margin:0;padding:0 22px 20px;font-size:.78rem;line-height:1.5;text-align:center;color:var(--vae-ink-3)}
.vae-leadform--the .vae-leadform__note{margin:0;padding:14px 22px;background:var(--vae-bg-2);border-top:1px solid var(--vae-line)}
.vae-leadform:not(.vae-leadform--the) .vae-leadform__chan{margin:10px 0 0;font-size:.78rem;line-height:1.5;color:var(--vae-ink-3)}
@media (min-width:600px){
.vae-leadform--the .vae-leadform__dau{padding:26px 28px 20px}
.vae-leadform--the .ccf{padding:24px 28px 0}
.vae-leadform--the .vae-leadform__chan{padding:0 28px 22px}
.vae-leadform--the .vae-leadform__note{padding:16px 28px}
.vae-leadform__tieude{font-size:1.6rem}
}
.ccf .ccf-form{display:grid;gap:16px;min-width:0;margin:0}
.ccf .ccf-field{min-width:0;margin:0;padding:0;border:0}
.ccf .ccf-label{display:block;margin:0 0 8px;padding:0;font-size:.85rem;font-weight:600;line-height:1.4;color:var(--vae-navy)}
.ccf .ccf-req{color:var(--vae-red)}
.ccf .ccf-input{display:block;width:100%;min-width:0;padding:13px 15px;font-family:var(--vae-font);font-size:1rem;line-height:1.4;color:var(--vae-ink);background:#fff;border:1px solid var(--vae-line);border-radius:11px;transition:border-color .15s ease,box-shadow .15s ease}
.ccf .ccf-input::placeholder{color:#9AA7B8}
.ccf .ccf-input:focus{outline:0;border-color:var(--vae-navy);box-shadow:0 0 0 3px rgba(22,48,91,.12)}
.ccf textarea.ccf-input{min-height:84px;resize:vertical}
.ccf .ccf-seg input,.ccf .ccf-chip input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.ccf .ccf-seg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:4px;background:var(--vae-bg-2);border:1px solid var(--vae-line);border-radius:12px;gap:4px}
.ccf .ccf-seg__opt{position:relative;min-width:0;cursor:pointer}
.ccf .ccf-seg__opt span{display:block;padding:9px 8px;text-align:center;border-radius:9px;font-weight:600;font-size:.95rem;color:#37465C}
.ccf .ccf-seg input:checked + span{background:#fff;color:var(--vae-navy);box-shadow:0 1px 3px rgba(22,48,91,.15)}
.ccf .ccf-seg__opt:first-child input:checked + span{background:#0068FF;color:#fff}
.ccf .ccf-seg input:focus-visible + span{outline:3px solid var(--vae-lime);outline-offset:1px}
.ccf .ccf-chips{display:flex;flex-wrap:wrap;gap:8px}
.ccf .ccf-chip{position:relative;min-width:0;cursor:pointer}
.ccf .ccf-chip span{display:inline-block;padding:9px 15px;border:1px solid var(--vae-line);border-radius:999px;background:#fff;font-size:.9rem;font-weight:500;line-height:1.3;color:#37465C;transition:border-color .15s ease,background .15s ease}
.ccf .ccf-chip:hover span{border-color:var(--vae-navy)}
.ccf .ccf-chip input:checked + span{background:var(--vae-navy);border-color:var(--vae-navy);color:#fff}
.ccf .ccf-chip input:focus-visible + span{outline:3px solid var(--vae-lime);outline-offset:1px}
.ccf .ccf-field.is-invalid .ccf-input{border-color:var(--vae-red)}
.ccf .ccf-field.is-invalid .ccf-label{color:var(--vae-red)}
.ccf .ccf-field.is-invalid .ccf-chip span{border-color:#EBCFCD}
.ccf .ccf-more{min-width:0;border-top:1px dashed var(--vae-line);padding-top:12px}
.ccf .ccf-more__toggle{cursor:pointer;font-weight:600;font-size:.9rem;color:var(--vae-navy);list-style:none}
.ccf .ccf-more__toggle::-webkit-details-marker{display:none}
.ccf .ccf-more__toggle::before{content:"+";display:inline-block;width:1.1em;font-weight:700}
.ccf details[open] > .ccf-more__toggle::before{content:"\2212"}
.ccf .ccf-more__toggle span{font-weight:400;color:var(--vae-ink-3)}
.ccf .ccf-more__body{display:grid;gap:14px;margin-top:12px}
.ccf .ccf-more--open{border-top:0;padding-top:0}
.ccf .ccf-more--open .ccf-more__body{margin-top:0}
.ccf .ccf-check{display:flex;align-items:flex-start;gap:8px;margin:8px 0 0;font-size:.82rem;line-height:1.4;color:#37465C;cursor:pointer}
.ccf .ccf-check input{flex-shrink:0;width:16px;height:16px;margin:2px 0 0;accent-color:var(--vae-navy)}
.ccf .ccf-hint{margin:6px 0 0;font-size:.78rem;line-height:1.5;color:var(--vae-ink-3)}
.ccf .ccf-hint [hidden],.ccf .ccf-field--contact [hidden]{display:none!important}
.ccf .ccf-field--contact .ccf-check{margin-top:10px}
.ccf .ccf-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.vae-article__body .ccf{margin:28px 0;padding:22px 20px;background:#fff;border:1px solid var(--vae-line);border-top:4px solid var(--vae-lime);border-radius:16px;box-shadow:0 12px 32px rgba(22,48,91,.10)}
@media (min-width:600px){.vae-article__body .ccf{padding:26px 26px 24px}}
.vae-strip .ccf,.vae-leadfull .ccf,.vae-lienhe__form .ccf{margin:0;padding:0;background:none;border:0;border-radius:0;box-shadow:none}
.vae-leadform--the .ccf{margin:0;padding:20px 22px 0;background:none;border:0;border-radius:0;box-shadow:none}
@media (min-width:600px){.vae-leadform--the .ccf{padding:24px 28px 0}}
.ccf .ccf-submit{display:block;width:100%;padding:17px 20px;font-family:var(--vae-font);font-size:1.08rem;font-weight:700;line-height:1.25;letter-spacing:.01em;color:#10240f;background:var(--vae-lime);border:0;border-radius:12px;cursor:pointer;box-shadow:0 6px 18px rgba(155,203,59,.45),inset 0 -2px 0 rgba(0,0,0,.12);transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}
.ccf .ccf-submit::after{content:" \2192";font-weight:800}
.ccf .ccf-submit:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(155,203,59,.55),inset 0 -2px 0 rgba(0,0,0,.12)}
.ccf .ccf-submit:active{transform:translateY(0);box-shadow:0 3px 10px rgba(155,203,59,.4),inset 0 -1px 0 rgba(0,0,0,.12)}
.ccf .ccf-submit:focus-visible{outline:3px solid var(--vae-navy);outline-offset:2px}
.ccf .ccf-submit:disabled{cursor:wait;transform:none;box-shadow:none;filter:grayscale(.3) brightness(.95)}
.ccf .ccf-status:empty{display:none}
.ccf .ccf-error{margin:0;padding:12px 14px 12px 28px;border-radius:10px;font-size:.9rem;line-height:1.5;background:#FBF0EF;border:1px solid #EBCFCD;color:var(--vae-red)}
.ccf .ccf-error li + li{margin-top:4px}
.ccf .ccf-form.is-done > :not(.ccf-status){display:none}
.ccf .ccf-done{padding:20px;text-align:center;background:var(--vae-lime-050);border:1px solid #D9E9BB;border-radius:12px}
.ccf .ccf-done__title{margin:0 0 6px;font-family:var(--vae-font-h);font-size:1.2rem;color:var(--vae-navy)}
.ccf .ccf-done__text{margin:0 0 14px;color:#37465C}
.ccf .ccf-done__zalo{display:inline-block;padding:12px 22px;border-radius:10px;background:#0068FF;color:#fff;font-weight:700;text-decoration:none}
.ccf .ccf-done__zalo:hover{background:#0055D4}
.ccf .ccf-done__hint{margin:12px 0 0;font-size:.8rem;color:var(--vae-ink-3)}
@media (min-width:960px){
.vae-strip .ccf-form,.vae-leadfull .ccf-form{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px}
.ccf .ccf-form > :not(.ccf-field--name):not(.ccf-field--contact){grid-column:1 / -1}
.vae-leadfull .ccf-more__body{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px}
.vae-leadfull .ccf-field--note{grid-column:1 / -1}
}
.vae-leadfull{padding:32px 16px;background:var(--vae-bg-2);border-top:1px solid var(--vae-line)}
.vae-leadfull .vae-h2{margin-bottom:6px;text-align:center}
.vae-leadfull .vae-leadform{padding:20px;background:#fff;border:1px solid var(--vae-line);border-radius:16px}
@media (min-width:960px){.vae-leadfull{padding:40px 24px}.vae-leadfull .vae-leadform{padding:24px}}
.vae-strip__form{min-width:0}
/* ======================= T27: layout page-in, prose, page inner ======================= */
body{margin:0;font-family:var(--vae-font);font-size:var(--vae-t-base);line-height:1.6;color:var(--vae-ink);background:var(--vae-bg);-webkit-font-smoothing:antialiased}
.vae-skip{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;background:var(--vae-navy);color:#fff;padding:10px 16px;border-radius:0 0 8px 0;z-index:1000}
.vae-skip:focus{left:0;top:0;width:auto;height:auto}
.vae-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.vae-page__inner{max-width:1200px;margin:0 auto;padding:var(--vae-8) var(--vae-4)}
.vae-h2{font-family:var(--vae-font-h);font-size:var(--vae-t-xl);font-weight:700;color:var(--vae-navy);margin:0}
.vae-page--2col .vae-page__inner{max-width:1200px;margin:0 auto;padding-left:var(--vae-4);padding-right:var(--vae-4)}
@media (min-width:992px){
.vae-page--2col .vae-page__inner{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:var(--vae-10);align-items:start}
.vae-page--2col .vae-page__inner>*{min-width:0}
}
.vae-article{min-width:0}
.vae-article__title{font-family:var(--vae-font-h);font-size:clamp(1.4rem,4vw,2.1rem);color:var(--vae-navy);margin:0 0 16px;line-height:1.3}
.vae-article__body{color:var(--vae-ink);max-width:720px}
.vae-page--2col .vae-article__body{max-width:100%}
.vae-article__body>*+*{margin-top:var(--vae-4)}
.vae-article__body img{max-width:100%;height:auto;border-radius:12px}
.vae-article__body table{width:100%}
.vae-article__body .vae-tablewrap,.vae-article__body table{overflow-x:auto;display:block;-webkit-overflow-scrolling:touch}
.vae-routes--compact{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:640px){.vae-routes--compact{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* ======================= T27: header — menu WP thật (không phải mockup) ======================= */
.vae-nav__list{display:flex;align-items:center;gap:var(--vae-4);list-style:none;margin:0;padding:0;flex-wrap:nowrap}
.vae-nav__list>li{position:relative;white-space:nowrap}
.vae-nav__list>li>a{display:inline-flex;align-items:center;gap:4px;min-height:44px;font-size:var(--vae-t-sm);font-weight:600;color:var(--vae-ink);white-space:nowrap;text-decoration:none}
.vae-nav__list>li>a:hover{color:var(--vae-navy)}
.vae-nav__list ul.sub-menu{position:absolute;top:100%;left:0;min-width:230px;max-width:320px;background:#fff;border:1px solid var(--vae-line);border-radius:var(--vae-r);box-shadow:var(--vae-sh-3);padding:var(--vae-2);list-style:none;margin:0;white-space:normal;opacity:0;visibility:hidden;transform:translateY(4px);transition:opacity .12s ease,transform .12s ease}
.vae-nav__list ul.sub-menu a{display:block;padding:9px var(--vae-3);border-radius:var(--vae-r-sm);font-size:var(--vae-t-sm);font-weight:500;color:var(--vae-ink);text-decoration:none;white-space:normal}
.vae-nav__list ul.sub-menu a:hover{background:var(--vae-bg-2)}
.vae-nav__list>li:hover>ul.sub-menu,.vae-nav__list>li:focus-within>ul.sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
.vae-nav__list li.menu-item-language img{display:inline-block;width:18px;height:12px;object-fit:cover;vertical-align:middle;margin-right:4px}
.vae-btn .vae-btn__label{white-space:nowrap}
@media (max-width:959.98px){
.vae-nav{display:none;position:fixed;top:64px;left:0;right:0;bottom:0;background:#fff;overflow-y:auto;padding:var(--vae-4);z-index:calc(var(--vae-z-header) - 1)}
body.vae-nav-open .vae-nav{display:block}
.vae-header.is-compact .vae-nav{top:56px}
body.vae-nav-open{overflow:hidden}
.vae-nav__list{display:block}
.vae-nav__list>li{border-bottom:1px solid var(--vae-line)}
.vae-nav__list>li>a{width:100%;min-height:52px}
.vae-nav__list ul.sub-menu{position:static;display:none;box-shadow:none;border:0;border-top:1px dashed var(--vae-line);border-radius:0;transform:none;opacity:1;visibility:visible;margin:0 0 8px;padding:0 0 0 var(--vae-4)}
.vae-nav__list li.is-open>ul.sub-menu,.vae-nav__list li:focus-within>ul.sub-menu{display:block}
.vae-burger{display:inline-grid}
.vae-nav__list li.menu-item-has-children{position:relative}
.vae-subtoggle{position:absolute;top:0;right:0;width:52px;height:52px;border:0;background:transparent;cursor:pointer}
.vae-subtoggle::after{content:"";display:block;width:9px;height:9px;margin:0 auto;border-right:2px solid var(--vae-ink-2);border-bottom:2px solid var(--vae-ink-2);transform:rotate(45deg);transition:transform .15s ease}
li.is-open>.vae-subtoggle::after{transform:rotate(-135deg)}
}
@media (min-width:960px){
.vae-subtoggle{display:none}
.vae-nav{display:block}
.vae-burger{display:none}
}
/* ======================= T27: FAB / bottombar cố định thật (khác vi tri absolute trong mockup) ======================= */
body{padding-bottom:0}
@media (max-width:767.98px){
body{padding-bottom:150px}
.vae-bottombar{position:fixed;left:0;right:0;bottom:0}
.vae-fab{display:none}
}
@media (min-width:768px) and (max-width:991.98px){
.vae-fab{position:fixed;right:16px;bottom:24px}
.vae-bottombar{display:none}
}
@media (min-width:992px){
.vae-fab,.vae-bottombar{display:none}
}
/* Tra cuu van don */
.vae-trk-form{margin:var(--vae-4) 0}
.vae-trk-form__row{display:flex;flex-wrap:wrap;gap:var(--vae-2)}
.vae-trk-form__row .vae-input{flex:1 1 200px;min-width:0}
.vae-trk-warn{min-height:1.4em;margin:var(--vae-1) 0 0;font-size:var(--vae-t-xs);color:var(--vae-red)}
.vae-trk-msg{padding:var(--vae-3) var(--vae-4);border-radius:var(--vae-r);background:var(--vae-red-050);color:var(--vae-ink);margin:var(--vae-4) 0}
.vae-trk-result{margin:var(--vae-4) 0;border:1px solid var(--vae-line);border-radius:var(--vae-r)}
.vae-trk-scroll{overflow-x:auto;padding:var(--vae-3)}
.vae-trk-result table{width:100%;border-collapse:collapse;font-size:var(--vae-t-sm)}
.vae-trk-result td,.vae-trk-result th{padding:6px 8px;border-bottom:1px solid var(--vae-line);text-align:left;vertical-align:top}
.vae-trk-result .tr_header td,.vae-trk-result .tr_header th,.vae-trk-result .tr1,.vae-trk-result .bgGreen td{background:var(--vae-lime-050);color:var(--vae-navy);font-weight:700}
.vae-trk-result .red{color:var(--vae-red)}
.vae-trk-result .ch_hide,.vae-trk-result .dataTable{display:none}
@media (max-width:767px){.vae-trk-result .tdLocation{display:none}}
.vae-header__logo img{height:44px;width:auto;display:block}
/* ======================= PASS2: header menu desktop ======================= */
@media (min-width:960px){
.vae-header__bar{gap:var(--vae-6)}
.vae-nav{flex:1 1 auto;min-width:0}
.vae-nav__list{gap:clamp(12px,2vw,30px)}
.vae-nav__list>li>a{position:relative;padding:10px 4px;min-height:64px;box-sizing:border-box;transition:color .15s}
.vae-header.is-compact .vae-nav__list>li>a{min-height:56px}
.vae-nav__list>li>a::after{content:"";position:absolute;left:4px;right:4px;bottom:12px;height:2px;border-radius:2px;background:var(--vae-lime-600);transform:scaleX(0);transition:transform .15s}
.vae-nav__list>li:hover>a::after,.vae-nav__list>li:focus-within>a::after,.vae-nav__list>li.current-menu-item>a::after,.vae-nav__list>li.current-menu-ancestor>a::after{transform:scaleX(1)}
.vae-nav__list>li.current-menu-item>a,.vae-nav__list>li.current-menu-ancestor>a,.vae-nav__list>li>a:hover{color:var(--vae-navy)}
.vae-nav__list>li.menu-item-has-children>a{padding-right:18px}
.vae-nav__list>li.menu-item-has-children>a::before{content:"";position:absolute;right:3px;top:50%;width:6px;height:6px;margin-top:-5px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);opacity:.6}
.vae-nav__list ul.sub-menu{top:calc(100% - 6px);min-width:260px;border-radius:8px;padding:8px;box-shadow:0 12px 32px rgba(14,33,65,.16)}
.vae-nav__list ul.sub-menu a{padding:10px 14px;line-height:1.4}
.vae-nav__list ul.sub-menu a:hover,.vae-nav__list ul.sub-menu .current-menu-item>a{background:var(--vae-bg-2);color:var(--vae-navy)}
.vae-nav__list li.lang-item>a::after{display:none}
}
.vae-nav__list li.lang-item img{display:inline-block;width:18px;height:12px;vertical-align:middle}
@media (min-width:960px) and (max-width:1199.98px){.vae-nav__list>li>a{font-size:13px}}
/* ======================= PASS2: sidebar ======================= */
.vae-side{display:grid;gap:16px;align-content:start}
.vae-side__box{background:#fff;border:1px solid var(--vae-line);border-radius:var(--vae-r-lg);padding:22px;box-shadow:var(--vae-sh-1);display:grid;gap:12px}
.vae-side__box>*{margin:0}
.vae-side__title{font-family:var(--vae-font-h);font-weight:700;font-size:var(--vae-t-md);line-height:1.3;color:var(--vae-navy)}
.vae-side__text{font-size:var(--vae-t-sm);line-height:1.55;color:var(--vae-ink-2)}
.vae-side__btns{display:grid;gap:10px}
.vae-side__btns .vae-btn{width:100%;min-height:46px}
.vae-side__hours{padding-top:12px;border-top:1px solid var(--vae-line);font-size:13px}
.vae-side__hours svg{flex:0 0 auto}
.vae-side__chips{gap:8px}
.vae-side .vae-track{padding:22px;box-shadow:var(--vae-sh-1)}
.vae-side .vae-track__form{grid-template-columns:1fr}
.vae-side .vae-track__form .vae-btn{width:100%}
.vae-sidelinks{list-style:none;margin:0;padding:0}
.vae-sidelinks li+li{border-top:1px solid var(--vae-line)}
.vae-sidelinks a{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 0;color:var(--vae-ink);font-weight:600;font-size:var(--vae-t-sm);transition:color .15s}
.vae-sidelinks a::after{content:"";width:7px;height:7px;flex:0 0 auto;border-top:2px solid var(--vae-ink-3);border-right:2px solid var(--vae-ink-3);transform:rotate(45deg);transition:transform .15s,border-color .15s}
.vae-sidelinks a:hover{color:var(--vae-navy);text-decoration:none}
.vae-sidelinks a:hover::after{border-color:var(--vae-lime-600);transform:translateX(3px) rotate(45deg)}
@media (min-width:992px){
.vae-page--2col .vae-page__inner{grid-template-columns:minmax(0,1fr) 330px;gap:48px}
}
/* ======================= PASS2: breadcrumb + TOC ======================= */
.vae-crumb{margin:0 0 14px;font-size:13px;color:var(--vae-ink-3)}
.vae-crumb ol,.vae-crumb p{display:flex;flex-wrap:wrap;align-items:center;list-style:none;margin:0;padding:0;gap:4px 0}
.vae-crumb li+li::before{content:"\203A";margin:0 8px}
.vae-crumb a{color:var(--vae-ink-2);font-weight:600}
.vae-crumb li[aria-current],.vae-crumb .last{color:var(--vae-ink);overflow-wrap:anywhere}
.vae-crumb .separator{margin:0 8px}
.vae-toc{margin:24px 0;border:1px solid var(--vae-line);border-left:4px solid var(--vae-lime-600);border-radius:var(--vae-r);background:var(--vae-bg-2);max-width:640px}
.vae-toc summary{cursor:pointer;padding:12px 18px;font-family:var(--vae-font-h);font-weight:700;color:var(--vae-navy);list-style:none;display:flex;justify-content:space-between}
.vae-toc summary::-webkit-details-marker{display:none}
.vae-toc summary::after{content:"\2013";color:var(--vae-ink-3)}
.vae-toc details:not([open]) summary::after{content:"+"}
.vae-toc ol{margin:0;padding:0 18px 14px 36px;display:grid;gap:4px;font-size:var(--vae-t-sm)}
.vae-toc ol ol{padding:4px 0 2px 18px;list-style:lower-alpha}
.vae-toc li{line-height:1.45;color:var(--vae-ink-3)}
.vae-toc a{color:var(--vae-ink-2)}
html{scroll-behavior:smooth}
.vae-article__body :is(h2,h3)[id]{scroll-margin-top:80px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* ======================= PASS2: search/404/category ======================= */
.vae-archive__title{margin:0 0 20px}
.vae-archive__list{list-style:none;margin:0 0 24px;padding:0;display:grid;gap:10px}
.vae-archive__item a{display:block;padding:14px 18px;border:1px solid var(--vae-line);border-radius:var(--vae-r);background:#fff;font-weight:600}
.vae-archive__item a:hover{border-color:var(--vae-navy);text-decoration:none}
.vae-main>.vae-page__inner>p .vae-btn{margin:0 8px 8px 0}
.vae-archive .vae-track,.vae-404 .vae-track{margin:24px 0}
/* ======================= PASS2: ePacket ======================= */
.vae-ep__hero{background:linear-gradient(180deg,var(--vae-bg-2),#fff);border-bottom:1px solid var(--vae-line);padding:24px 0 48px}
.vae-ep__herogrid,.vae-ep__lead,.vae-ep__tech,.vae-ep__cmp{display:grid;gap:24px;align-items:start}
.vae-ep__copy>*+*{margin-top:16px}
.vae-ep__actions{display:flex;flex-wrap:wrap;gap:10px}
.vae-ep__stats{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.vae-ep__stats li{background:#fff;border:1px solid var(--vae-line);border-radius:var(--vae-r);padding:14px 8px;text-align:center}
.vae-ep__stats strong{display:block;font-family:var(--vae-font-h);font-size:var(--vae-t-lg);color:var(--vae-navy)}
.vae-ep__stats span{font-size:12px;color:var(--vae-ink-3)}
.vae-ep__card,.vae-ep__col{background:#fff;border:1px solid var(--vae-line);border-radius:var(--vae-r-lg);padding:24px;display:grid;gap:12px;box-shadow:var(--vae-sh-2)}
.vae-ep__card>*,.vae-ep__col>*{margin:0}
.vae-ep__col.is-main{border:2px solid var(--vae-lime-600)}
.vae-ep__tag{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--vae-ink-3)}
.vae-ep__col ul{margin:0;padding:0;list-style:none}
.vae-ep__col li{padding:9px 0;border-top:1px dashed var(--vae-line);font-size:var(--vae-t-sm)}
.vae-ep__table{overflow-x:auto;border:1px solid var(--vae-line);border-radius:var(--vae-r-lg);background:#fff}
.vae-ep__table table{width:100%;min-width:520px;border-collapse:collapse;font-size:var(--vae-t-sm)}
.vae-ep__table th,.vae-ep__table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--vae-line)}
.vae-ep__table thead th{background:var(--vae-bg-3);color:var(--vae-navy);font-size:12px;text-transform:uppercase}
.vae-ep__note{margin-top:12px;font-size:13px;color:var(--vae-ink-3)}
.vae-ep__tech img{width:100%;height:auto;border-radius:var(--vae-r-lg)}
.vae-ep__tech h3{margin-top:18px;font-size:var(--vae-t-md)}
.vae-ep__faq{display:grid;gap:8px;max-width:840px}
@media (min-width:992px){
.vae-ep__herogrid{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:48px}
.vae-ep__cmp{grid-template-columns:repeat(3,minmax(0,1fr))}
.vae-ep__tech,.vae-ep__lead{grid-template-columns:1fr 1fr;gap:48px;align-items:center}
}
nav.vae-related{grid-template-columns:1fr;margin-top:40px}
.vae-h1dup{font-size:var(--vae-t-lg)}
.vae-article__meta{margin:0 0 16px;font-size:13px;color:var(--vae-ink-3)}
/* Trang chủ đợt 3: đối tượng, về Việt An, cách tính cước, văn phòng, kiến thức */
.vae-svc>.vae-cardlink{align-self:end;justify-self:start;margin-top:var(--vae-1)}
.vae-cardlink{font-size:var(--vae-t-sm);font-weight:700;color:var(--vae-navy)}
.vae-ticks,.vae-calc{list-style:none;margin:0;padding:0}
.vae-calc>li{align-content:start}
.vae-ticks{display:grid;gap:var(--vae-2)}
.vae-ticks li{display:flex;gap:var(--vae-2);font-size:var(--vae-t-sm);color:var(--vae-ink-2)}
.vae-about{display:grid;gap:var(--vae-8);align-items:center}
.vae-about__copy>*+*{margin-top:var(--vae-4)}
.vae-about__copy p{color:var(--vae-ink-2)}
.vae-about__img{width:100%;height:auto;display:block;border-radius:var(--vae-r-lg)}
.vae-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--vae-3);margin:var(--vae-6) 0 0}
.vae-stats>div{padding:var(--vae-4);border:1px solid var(--vae-line);border-radius:var(--vae-r);background:var(--vae-bg-2);min-width:0}
.vae-stats dt{font-family:var(--vae-font-h);font-size:var(--vae-t-lg);font-weight:700;color:var(--vae-navy);overflow-wrap:anywhere}
.vae-stats dd{margin:0;font-size:var(--vae-t-sm);color:var(--vae-ink-2)}
.vae-calc strong{color:var(--vae-ink)}
.vae-formula{padding:var(--vae-3);border-radius:var(--vae-r-sm);background:var(--vae-lime-050);font-weight:600;color:var(--vae-navy)!important}
.vae-eg{margin:0;padding:var(--vae-3);border-radius:var(--vae-r-sm);background:var(--vae-bg-2);font-size:var(--vae-t-sm)}
.vae-eg dt{font-weight:700;color:var(--vae-ink)}
.vae-eg dt~dt{margin-top:var(--vae-2)}
.vae-eg dd{margin:2px 0 0;color:var(--vae-ink-2)}
.vae-note{margin-top:var(--vae-5);font-size:var(--vae-t-sm);color:var(--vae-ink-3)}
.vae-offices{display:grid;gap:var(--vae-3)}
.vae-office__row{display:flex;gap:var(--vae-2);align-items:flex-start}
.vae-office__row svg{flex:0 0 auto;margin-top:3px;color:var(--vae-navy)}
.vae-post{align-content:start;padding-top:0;overflow:hidden}
.vae-post__img{display:block;margin:0 calc(-1 * var(--vae-5)) var(--vae-2);aspect-ratio:3/2;background:var(--vae-bg-3)}
.vae-post__img img{width:100%;height:100%;object-fit:cover;display:block}
.vae-post h3 a{color:var(--vae-ink)}
.vae-post__date{font-size:var(--vae-t-xs)!important;color:var(--vae-ink-3)!important}
.vae-more{margin-top:var(--vae-6);text-align:center}
@media (min-width:640px){
.vae-offices{grid-template-columns:repeat(2,minmax(0,1fr))}
.vae-stats{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (min-width:960px){
.vae-about{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
.vae-about .vae-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.vae-faqform{display:grid;gap:var(--vae-8)}.vae-faqform>*{min-width:0}.vae-faqform__title{font-family:var(--vae-font-h);font-weight:700;font-size:1.35rem;color:var(--vae-navy);margin:4px 0 16px;line-height:1.3}@media (min-width:992px){.vae-faqform{grid-template-columns:minmax(0,1fr) 440px;align-items:start}}

.vae-archive__head{margin:0 0 24px}
.vae-archive__title{font-family:var(--vae-font-h);font-weight:800;font-size:var(--vae-t-3xl);color:var(--vae-navy);margin:0 0 8px;line-height:1.15}
.vae-archive__desc{color:var(--vae-ink-2);font-size:var(--vae-t-base);margin:0}
.vae-postcard{display:grid;border:1px solid var(--vae-line);border-radius:var(--vae-r-lg);background:#fff;overflow:hidden;min-width:0;transition:transform .15s ease,box-shadow .15s ease;position:relative}
.vae-postcard:hover{transform:translateY(-2px);box-shadow:var(--vae-sh-2)}
.vae-postcard__media{aspect-ratio:16/10;background:var(--vae-bg-3);overflow:hidden}
.vae-postcard__media img{width:100%;height:100%;object-fit:cover;display:block}
.vae-postcard__ph{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(135deg,var(--vae-navy),var(--vae-navy-700));color:#fff;font-family:var(--vae-font-h);font-weight:700;font-size:var(--vae-t-sm);text-align:center;padding:var(--vae-4)}
.vae-postcard__body{padding:var(--vae-4);display:grid;gap:6px;min-width:0}
.vae-postcard__cat{font-size:var(--vae-t-xs);font-weight:700;color:var(--vae-lime-600);text-transform:uppercase;letter-spacing:.02em}
.vae-postcard__title{margin:0;font-family:var(--vae-font-h);font-weight:700;font-size:var(--vae-t-md);line-height:1.3;color:var(--vae-navy)}
.vae-postcard__link{color:inherit;text-decoration:none}
.vae-postcard__link::after{content:"";position:absolute;inset:0}
.vae-postcard__meta{margin:0;font-size:var(--vae-t-xs);color:var(--vae-ink-3);display:flex;gap:4px;align-items:center}
.vae-postcard__excerpt{margin:0;font-size:var(--vae-t-sm);color:var(--vae-ink-2);line-height:1.5}
.vae-postcard__more{margin:2px 0 0;font-size:var(--vae-t-sm);font-weight:600;color:var(--vae-navy)}
.vae-postgrid{display:grid;gap:var(--vae-5);grid-template-columns:1fr}
@media (min-width:640px){.vae-postgrid{grid-template-columns:1fr 1fr}}
@media (min-width:640px){.vae-postcard--featured{grid-template-columns:1.1fr 1fr;align-items:stretch}.vae-postcard--featured .vae-postcard__media{aspect-ratio:auto;height:100%}.vae-postcard--featured .vae-postcard__title{font-size:var(--vae-t-xl)}}
.vae-archive__cta{margin:var(--vae-6) 0;padding:var(--vae-5);border-radius:var(--vae-r-lg);background:var(--vae-navy);color:#fff;display:grid;gap:8px}
.vae-archive__cta-title{margin:0;font-family:var(--vae-font-h);font-weight:700;font-size:var(--vae-t-lg)}
.vae-archive__cta-text{margin:0;color:#dbe4f5;font-size:var(--vae-t-sm)}
.vae-archive__empty{padding:var(--vae-6);border:1px solid var(--vae-line);border-radius:var(--vae-r-lg);background:var(--vae-bg-2);display:grid;gap:var(--vae-5)}
.vae-pagination .nav-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:var(--vae-6)}
.vae-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 14px;border-radius:var(--vae-r-pill);border:1px solid var(--vae-line);background:#fff;color:var(--vae-navy);text-decoration:none;font-size:var(--vae-t-sm);font-weight:600}
.vae-pagination .page-numbers.current{background:var(--vae-navy);border-color:var(--vae-navy);color:#fff}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.vae-postcard--featured{margin-bottom:var(--vae-6)}.vae-archive .navigation.pagination,.navigation.pagination{margin-top:var(--vae-8)}
/* Pha 4: bảng giá dạng hàng + thẻ trên mobile */
.vae-rb__table th[scope=row]{font-weight:700;color:var(--vae-navy);white-space:nowrap}
.vae-rb__routein{display:flex;align-items:center;gap:10px}
.vae-rb__route .vae-route__code{min-width:40px;text-align:center}
.vae-rb__price{white-space:nowrap;color:var(--vae-ink-2)}
.vae-rb__price strong{font-family:var(--vae-font-h);font-size:var(--vae-t-lg);color:var(--vae-navy)}
.vae-rb__eta{color:var(--vae-ink-2)}
.vae-rb__link{text-align:right}
.vae-rb__link .vae-textlink{white-space:nowrap}
.vae-rb__cta{margin-top:var(--vae-5);display:flex;flex-wrap:wrap;gap:var(--vae-3)}
@media (max-width:639.98px){
.vae-rb__wrap{overflow:visible;border:0;background:none}
.vae-rb__table{min-width:0;display:block}
.vae-rb__table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.vae-rb__table tbody{display:grid;gap:var(--vae-3)}
.vae-rb__table tr{display:grid;grid-template-columns:1fr auto;gap:4px var(--vae-3);padding:var(--vae-4);border:1px solid var(--vae-line);border-radius:var(--vae-r-lg);background:#fff}
.vae-rb__table tbody tr:hover{background:#fff}
.vae-rb__table th,.vae-rb__table td{display:block;padding:0;border:0}
.vae-rb__route{grid-column:1/-1;margin-bottom:6px}
.vae-rb__eta{text-align:right;align-self:center;font-size:var(--vae-t-sm)}
.vae-rb__link{grid-column:1/-1;text-align:left;border-top:1px solid var(--vae-line) !important;margin-top:6px}
.vae-rb__cta>.vae-btn{flex:1 1 100%}
}
/* Pha 4: thẻ phân khúc */
.vae-seg__card{min-width:0;display:flex;flex-direction:column;gap:var(--vae-3);padding:var(--vae-5);border:1px solid var(--vae-line);border-top:4px solid var(--vae-navy);border-radius:var(--vae-r-lg);background:#fff}
.vae-seg__top{display:flex;align-items:center;gap:var(--vae-3)}
.vae-seg__eyebrow{font-size:var(--vae-t-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--vae-ink-3)}
.vae-seg__title{font-size:var(--vae-t-md)}
.vae-seg__for{font-size:var(--vae-t-xs);font-weight:600;color:var(--vae-ink-3)}
.vae-seg__chips{list-style:none;margin:-6px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.vae-seg__cta{margin-top:auto}
@media (min-width:640px) and (max-width:991.98px){.vae-seg>:last-child:nth-child(odd){grid-column:1/-1}}
/* Pha 5: case Trước/Sau + dải tra cứu */
.vae-ba{display:grid;gap:var(--vae-3);margin-bottom:var(--vae-5)}
.vae-ba__col{min-width:0;padding:var(--vae-4);border-radius:var(--vae-r)}
.vae-ba__col--truoc{background:var(--vae-bg-2);border:1px solid var(--vae-line);color:var(--vae-ink-2)}
.vae-ba__col--truoc .vae-ba__title{color:var(--vae-ink-3)}
.vae-ba__col--sau{background:var(--vae-lime-050);border:1px solid var(--vae-lime);border-left:4px solid var(--vae-lime-600)}
.vae-ba__title{font-size:var(--vae-t-sm);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--vae-2)}
.vae-ba__list{margin:0;padding-left:1.1em;display:grid;gap:4px}
@media (min-width:768px){.vae-ba{grid-template-columns:1fr 1fr}}
.vae-tc{background:var(--vae-navy);color:#fff}
.vae-tc__inner{max-width:760px;text-align:center}
.vae-tc h2{color:#fff;font-size:var(--vae-t-2xl)}
.vae-tc .vae-sec__head{margin-bottom:var(--vae-6);align-items:center}
.vae-tc__sub{color:rgba(255,255,255,.85)}
.vae-tc__form{display:grid;gap:var(--vae-3)}
.vae-tc__input{min-height:var(--vae-h-lg);font-size:var(--vae-t-md);text-align:center;letter-spacing:.1em}
.vae-tc .vae-btn--primary{background:var(--vae-lime);border-color:var(--vae-lime);color:var(--vae-navy-900)}
.vae-tc .vae-btn--primary:hover{background:var(--vae-lime-600);border-color:var(--vae-lime-600);color:var(--vae-navy-900)}
.vae-tc__msg{min-height:1.5em;font-size:var(--vae-t-sm);font-weight:600;color:#FFD6D3}
.vae-tc__msg:empty{min-height:0}
.vae-tc__alt{margin-top:var(--vae-4);color:rgba(255,255,255,.85)}
.vae-tc__alt a{color:#fff;font-weight:600;text-decoration:underline}
@media (min-width:640px){.vae-tc__form{grid-template-columns:1fr auto}.vae-tc__msg{grid-column:1/-1}}
.vae-tc :focus-visible{outline-color:var(--vae-lime)}
.vae-final__cta{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--vae-3)}
.vae-final .vae-btn--utility{border-color:#fff}
