/* hvsc.vn – TRỤ VÉ MÁY BAY (11/10/2026). Ngôn ngữ hàng không: thẻ lên máy bay, cung bay, bảng giờ bay split-flap,
 * biển chỉ dẫn sân bay (vàng trên nền than), mép vé xé răng cưa. Chỉ nạp trên trang trụ Vé (mu-plugins/zz-hv-pillar-ve.php).
 * Mỗi trang con = 1 biến thể .pv--<v> chỉ đổi biến màu + vài điểm nhấn riêng ở cuối file. */

/* ---------- 0. Biến + nền ---------- */
.pv{
  --pv-bg:#F6F9FD; --pv-bg2:#FFFFFF; --pv-sky1:#CFE5FF; --pv-sky2:#FFF5EA;
  --pv-ink:#0E1A2B; --pv-mut:#4B5566; --pv-line:rgba(14,26,43,.12); --pv-card:#FFFFFF;
  --pv-acc:#E31E24; --pv-acc-ink:#fff; --pv-acc-d:#C0161C; --pv-arc:#1D6FD1; --pv-arc2:rgba(29,111,209,.18);
  --pv-sign:#FFC72C; --pv-signbg:#16181D; --pv-board:#111317; --pv-amber:#FFC72C;
  --pv-hl:#FFE7A3; --pv-r:22px; --pv-r2:14px;
  --pv-shadow:0 1px 2px rgba(14,26,43,.06),0 16px 40px -18px rgba(14,26,43,.28);
  --pv-mono:var(--mono,"JetBrains Mono",ui-monospace,monospace);
  display:block;background:var(--pv-bg);color:var(--pv-ink);font-family:var(--font,"Be Vietnam Pro",system-ui,sans-serif);overflow-x:clip;
}
.pv *,.pv *::before,.pv *::after{box-sizing:border-box}
.pv :where(h1,h2,h3,h4,p,ul,ol,dl,dd,figure,blockquote){margin:0}
.pv :where(ul,ol){padding:0;list-style:none}
.pv a{color:inherit;text-decoration:none}
.pv :where(p,li,dd) a:not([class]){color:var(--pv-acc-d);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.pv :where(p,li,dd) a:not([class]):hover{color:var(--pv-ink)}
.pv-wrap{width:100%;max-width:calc(1320px + var(--gutter,16px)*2);margin-inline:auto;padding-inline:var(--gutter,16px)}
.pv h1,.pv h2,.pv h3{color:var(--pv-ink);letter-spacing:-.02em;line-height:1.18;text-wrap:balance}
.pv h2{font-size:clamp(28px,2.2vw + 14px,46px);font-weight:800}
.pv h3{font-size:clamp(18px,.4vw + 15px,21px);font-weight:750;line-height:1.3}
.pv p,.pv li,.pv dd{font-size:16.5px;line-height:1.65;color:var(--pv-mut)}
.pv strong,.pv b{color:var(--pv-ink);font-weight:700}
.pv .ph{width:1.1em;height:1.1em;vertical-align:-.16em;flex:none}
.pv-kick{font:600 12.5px/1.2 var(--pv-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--pv-acc-d);display:inline-flex;gap:10px;align-items:center}
.pv-kick::before{content:"";width:22px;height:2px;background:currentColor;border-radius:2px}
.pv-head{max-width:820px;margin-bottom:clamp(28px,3vw,48px)}
.pv-head h2{margin-top:12px}
.pv-intro{margin-top:14px!important;font-size:18px!important;max-width:68ch}
.pv-head--c{margin-inline:auto;text-align:center}.pv-head--c .pv-intro{margin-inline:auto}
.pv-sec{padding-block:clamp(56px,7vw,112px);position:relative}
.pv-sec--alt{background:var(--pv-bg2)}
.pv-sec--tight{padding-block:clamp(36px,4vw,64px)}

/* ---------- 1. Nút ---------- */
.pv-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 24px;border-radius:999px;font:700 16px/1.2 var(--font);border:1.5px solid transparent;transition:transform .2s var(--ease-out,ease),background-color .2s,border-color .2s,color .2s;cursor:pointer;text-align:center}
.pv-btn:hover{transform:translateY(-2px)}
.pv-btn:focus-visible{outline:3px solid var(--pv-arc);outline-offset:3px}
.pv-btn--red{background:var(--pv-acc);color:var(--pv-acc-ink)!important;box-shadow:0 10px 24px -12px var(--pv-acc)}
.pv-btn--red:hover{background:var(--pv-acc-d)}
.pv-btn--ghost{border-color:var(--pv-line);background:rgba(255,255,255,.7);color:var(--pv-ink)!important}
.pv-btn--ghost:hover{border-color:var(--pv-ink)}
.pv-btn--dark{background:var(--pv-ink);color:#fff!important}
.pv-btn--zalo{background:#0068FF;color:#fff!important}
.pv-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}

/* ---------- 2. Hero ---------- */
.pv-hero{position:relative;isolation:isolate;background:linear-gradient(180deg,var(--pv-sky1) 0%,var(--pv-sky2) 78%,var(--pv-bg) 100%);padding:clamp(18px,2vw,28px) 0 clamp(56px,6vw,96px)}
.pv-hero__sky{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.pv-hero__sky .pv-art{position:absolute;right:-4%;top:0;width:min(1100px,92%);height:100%;opacity:.95}
.pv-hero__grid{display:grid;gap:clamp(28px,4vw,56px);align-items:start}
.pv-hero .hv-crumbs{margin:0 0 20px;font-size:13.5px;color:var(--pv-mut)}
.pv-hero .hv-crumbs a{color:var(--pv-mut)}
.pv-hero .hv-crumbs a:hover{color:var(--pv-ink)}
.pv-hero h1{font-size:clamp(36px,3.4vw + 14px,68px);font-weight:800;letter-spacing:-.03em;line-height:1.08;margin-top:16px;max-width:15ch}
.pv-hero h1 em{font-style:italic;font-weight:500;color:var(--pv-acc-d)}
.pv-lead{margin-top:20px!important;font-size:clamp(17px,.3vw + 16px,19px)!important;line-height:1.6!important;max-width:58ch;color:var(--pv-ink)!important;opacity:.86}
.pv-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.pv-chips li{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.75);border:1px solid var(--pv-line);font-size:14px;font-weight:600;color:var(--pv-ink);line-height:1.3;backdrop-filter:blur(6px)}
.pv-chips .ph{color:var(--pv-acc)}
.pv-hero__form{position:relative;min-width:0}
.pv-hero__form .hv-vf{margin:0}
.pv-hero__form .vbk{max-width:none!important;margin:0!important}
.pv-stub{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 20px 18px;margin:0 14px -10px;border-radius:18px 18px 0 0;background:var(--pv-signbg);color:var(--pv-sign);font:600 12px/1 var(--pv-mono);letter-spacing:.14em;text-transform:uppercase}
.pv-stub span:last-child{color:#fff;opacity:.8}
.pv-perf{position:absolute;left:0;right:0;bottom:-1px;height:14px;background:radial-gradient(circle at 12px 14px,var(--pv-bg) 7px,transparent 7.5px) 0 0/24px 14px repeat-x}
@media(min-width:1024px){
  .pv-hero__grid{grid-template-columns:minmax(0,1fr) 520px}
  .pv-hero__tx{padding-top:clamp(8px,2vw,36px)}
}

/* Flap (chữ bảng giờ bay) */
.pv-flapline{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.pv-flap{display:inline-flex;gap:2px;font:700 13px/1 var(--pv-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--pv-amber);background:var(--pv-board);padding:7px 9px;border-radius:7px;position:relative;white-space:nowrap}
.pv-flap::after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:rgba(0,0,0,.6)}
.pv-flap .pv-ch{display:inline-block;min-width:.62em;text-align:center}
.pv-flap--light{color:#fff}

/* ---------- 3. Dải cam kết (ticker) ---------- */
.pv-ticker{background:var(--pv-signbg);color:#fff;overflow:hidden;border-block:1px solid rgba(255,255,255,.06)}
.pv-ticker__track{display:flex;gap:48px;width:max-content;padding:14px 0;animation:pvTick 42s linear infinite}
.pv-ticker:hover .pv-ticker__track{animation-play-state:paused}
.pv-ticker span{display:inline-flex;gap:10px;align-items:center;font:600 13.5px/1 var(--pv-mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;color:#EDEDED}
.pv-ticker span::before{content:"✈";color:var(--pv-sign)}
@keyframes pvTick{to{transform:translateX(-50%)}}

/* ---------- 4. Cổng (điều hướng trong trụ) ---------- */
.pv-gates{background:var(--pv-signbg);padding:18px 0 22px}
.pv-gates__t{font:600 12px/1 var(--pv-mono);letter-spacing:.16em;text-transform:uppercase;color:#9EA3AD;margin-bottom:12px}
.pv-gates ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.pv-gate{display:flex;align-items:center;gap:10px;min-height:52px;padding:8px 12px;border-radius:10px;background:#20232A;color:#fff;border:1px solid rgba(255,255,255,.06);transition:background .2s,transform .2s}
.pv-gate b{flex:none;min-width:38px;height:34px;display:grid;place-items:center;border-radius:7px;background:var(--pv-sign);color:#16181D;font:800 14px/1 var(--pv-mono)}
.pv-gate span{font-size:14.5px;font-weight:600;line-height:1.25;color:#F1F1F1}
.pv-gate:hover{background:#2A2E37;transform:translateY(-2px)}
.pv-gate[aria-current]{background:var(--pv-acc);border-color:var(--pv-acc)}
.pv-gate[aria-current] b{background:#fff;color:var(--pv-acc)}
@media(min-width:700px){.pv-gates ul{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(min-width:1180px){.pv-gates ul{grid-template-columns:repeat(6,minmax(0,1fr))}}

/* ---------- 5. Vấn đề khách hay gặp (thẻ hành lý) ---------- */
.pv-pains{display:grid;gap:18px}
.pv-pain{position:relative;background:var(--pv-card);border:1px solid var(--pv-line);border-radius:var(--pv-r);padding:26px 24px 22px;box-shadow:var(--pv-shadow)}
.pv-pain::before{content:"";position:absolute;top:18px;right:20px;width:14px;height:14px;border-radius:50%;border:2px solid var(--pv-line);background:var(--pv-bg)}
.pv-pain__ic{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--pv-arc2);color:var(--pv-arc);margin-bottom:16px}
.pv-pain__ic .ph{width:26px;height:26px}
.pv-pain h3{margin-bottom:10px}
.pv-pain__q{font-size:15.5px!important}
.pv-pain__a{margin-top:14px!important;padding-top:14px;border-top:2px dashed var(--pv-line);font-size:15.5px!important;color:var(--pv-ink)!important}
.pv-pain__a::before{content:"HVSC làm: ";font:700 12px/1 var(--pv-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--pv-acc-d)}
@media(min-width:720px){.pv-pains{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1100px){.pv-pains--3{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* ---------- 6. So sánh hạng/gói (thẻ lên máy bay) ---------- */
.pv-cmp{display:grid;gap:18px}
.pv-cmp__c{position:relative;display:flex;flex-direction:column;background:var(--pv-card);border:1px solid var(--pv-line);border-radius:var(--pv-r);overflow:hidden;box-shadow:var(--pv-shadow)}
.pv-cmp__c header{padding:22px 22px 18px;background:linear-gradient(135deg,var(--pv-arc2),transparent 70%);border-bottom:2px dashed var(--pv-line);position:relative}
.pv-cmp__c header::before,.pv-cmp__c header::after{content:"";position:absolute;bottom:-11px;width:20px;height:20px;border-radius:50%;background:var(--pv-bg)}
.pv-cmp__c header::before{left:-11px}.pv-cmp__c header::after{right:-11px}
.pv-sec--alt .pv-cmp__c header::before,.pv-sec--alt .pv-cmp__c header::after{background:var(--pv-bg2)}
.pv-cmp__tag{display:inline-block;font:700 11.5px/1 var(--pv-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--pv-arc);margin-bottom:10px}
.pv-cmp__c header p{margin-top:8px!important;font-size:15px!important}
.pv-cmp__c dl{padding:12px 22px 6px;flex:1}
.pv-cmp__c dl div{padding:11px 0;border-bottom:1px solid var(--pv-line)}
.pv-cmp__c dl div:last-child{border-bottom:0}
.pv-cmp__c dt{font:600 11.5px/1.3 var(--pv-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--pv-mut);margin-bottom:4px}
.pv-cmp__c dd{font-size:15px!important;line-height:1.5!important;color:var(--pv-ink)!important}
.pv-cmp__go{margin:6px 22px 22px;align-self:flex-start}
.pv-cmp__c.is-hl{border:2px solid var(--pv-acc)}
.pv-cmp__c.is-hl .pv-cmp__tag{color:var(--pv-acc-d)}
.pv-note{margin-top:20px!important;font-size:14px!important;color:var(--pv-mut)!important}
@media(min-width:760px){.pv-cmp{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1180px){.pv-cmp--3{grid-template-columns:repeat(3,minmax(0,1fr))}.pv-cmp--4{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* ---------- 7. Quy trình (đường bay có trạm) ---------- */
.pv-steps{display:grid;gap:0;counter-reset:pvs;position:relative}
.pv-step{position:relative;padding:0 0 30px 64px}
.pv-step::before{content:"";position:absolute;left:23px;top:46px;bottom:0;border-left:2px dashed var(--pv-arc)}
.pv-step:last-child::before{display:none}
.pv-step__n{position:absolute;left:0;top:0;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--pv-card);border:2px solid var(--pv-arc);color:var(--pv-arc);font:800 15px/1 var(--pv-mono)}
.pv-step__lab{display:block;font:700 11.5px/1 var(--pv-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--pv-acc-d);margin:4px 0 8px}
.pv-step h3{margin-bottom:8px}
.pv-step p{font-size:15.5px!important}
@media(min-width:1024px){
  .pv-steps{grid-template-columns:repeat(var(--n,4),minmax(0,1fr));gap:28px}
  .pv-step{padding:70px 0 0}
  .pv-step::before{left:56px;right:-28px;top:23px;bottom:auto;border-left:0;border-top:2px dashed var(--pv-arc)}
  .pv-step:last-child::before{display:block;right:40%;border-top-style:solid;opacity:.25}
}

/* ---------- 8. Kinh nghiệm / mẹo (thẻ) ---------- */
.pv-tips{display:grid;gap:18px}
.pv-tip{background:var(--pv-card);border:1px solid var(--pv-line);border-radius:var(--pv-r);padding:24px;box-shadow:var(--pv-shadow)}
.pv-tip h3{display:flex;gap:12px;align-items:center;margin-bottom:14px}
.pv-tip h3 .ph{width:30px;height:30px;padding:6px;border-radius:10px;background:var(--pv-arc2);color:var(--pv-arc)}
.pv-tip li{position:relative;padding-left:22px;font-size:15.5px;margin-top:9px}
.pv-tip li::before{content:"";position:absolute;left:2px;top:.62em;width:9px;height:9px;border-radius:2px;background:var(--pv-acc);transform:rotate(45deg)}
@media(min-width:760px){.pv-tips{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1180px){.pv-tips--3{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* ---------- 9. Bài kinh nghiệm dài (2 cột) ---------- */
.pv-long{display:grid;gap:clamp(24px,4vw,64px)}
.pv-long__art{position:relative;border-radius:var(--pv-r);overflow:hidden;background:linear-gradient(160deg,var(--pv-sky1),var(--pv-sky2));min-height:280px;border:1px solid var(--pv-line)}
.pv-long__art .pv-art{width:100%;height:100%;min-height:280px;display:block}
.pv-long__art img{width:100%;height:100%;object-fit:cover;display:block}
.pv-long__art figcaption{position:absolute;left:12px;bottom:12px;padding:5px 10px;border-radius:8px;background:rgba(0,0,0,.55);color:#fff;font-size:12px}
.pv-long__tx>*+*{margin-top:16px}
.pv-long__tx h3{margin-top:28px;font-size:20px}
.pv-long__tx h3:first-child{margin-top:0}
@media(min-width:1024px){.pv-long{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:start}.pv-long__art{position:sticky;top:calc(var(--header-h,72px) + 24px);min-height:460px}.pv-long--rev .pv-long__art{order:2}}

/* ---------- 10. Bảng giờ bay (tuyến phổ biến, bấm = đặt vé) ---------- */
.pv-board{background:var(--pv-board);border-radius:var(--pv-r);padding:10px;box-shadow:0 30px 60px -30px rgba(0,0,0,.55);color:#E9E9E9}
.pv-board__hd{display:none;padding:12px 16px;font:600 11.5px/1 var(--pv-mono);letter-spacing:.14em;text-transform:uppercase;color:#8D929C}
.pv-board__r{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"city go" "code go" "meta go";gap:4px 12px;align-items:center;padding:14px 14px;border-radius:12px;border-top:1px solid rgba(255,255,255,.06);transition:background .2s;cursor:pointer}
.pv-board__r:first-child{border-top:0}
.pv-board__r:hover,.pv-board__r:focus-visible{background:#1C1F25;outline:0}
.pv-board__city{grid-area:city;min-width:0}
.pv-board__city .pv-flap{font-size:15px;padding:7px 8px;background:#1E2128}
.pv-board__code{grid-area:code;font:600 13.5px/1.3 var(--pv-mono);color:#fff;letter-spacing:.06em}
.pv-board__code small{color:#9EA3AD;font-weight:500;letter-spacing:0;font-family:var(--font);font-size:13px}
.pv-board__meta{grid-area:meta;font-size:13.5px;color:#B9BDC6;line-height:1.4}
.pv-board__meta i{font-style:normal;color:var(--pv-sign)}
.pv-board__go{grid-area:go;display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;background:var(--pv-acc);color:#fff;font-weight:700;font-size:14px;white-space:nowrap}
.pv-board__foot{padding:12px 16px 6px;font-size:13px!important;color:#9EA3AD!important}
@media(min-width:900px){
  .pv-board__hd,.pv-board__r{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1.2fr) minmax(0,1.6fr) 84px;grid-template-areas:"city code meta go";gap:16px}
  .pv-board__hd{display:grid;padding:12px 14px}
}
.pv-board-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}

/* ---------- 11. Thẻ dịch vụ (hub) ---------- */
.pv-svc{display:grid;gap:18px}
.pv-svc__c{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 92px;background:var(--pv-card);border:1px solid var(--pv-line);border-radius:var(--pv-r);overflow:hidden;box-shadow:var(--pv-shadow);transition:transform .25s var(--ease-out,ease),box-shadow .25s}
.pv-svc__c:hover{transform:translateY(-4px);box-shadow:0 30px 60px -28px rgba(14,26,43,.45)}
.pv-svc__m{padding:22px 20px 20px}
.pv-svc__m small{display:block;font:600 11.5px/1 var(--pv-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--pv-arc)}
.pv-svc__m h3{margin:10px 0 8px}
.pv-svc__m p{font-size:15px!important}
.pv-svc__m ul{margin-top:12px;display:flex;flex-wrap:wrap;gap:6px}
.pv-svc__m li{font-size:12.5px;font-weight:600;padding:5px 10px;border-radius:999px;background:var(--pv-bg);color:var(--pv-ink);line-height:1.2}
.pv-svc__s{position:relative;border-left:2px dashed var(--pv-line);display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:18px 8px;background:var(--c,var(--pv-signbg));color:#fff}
.pv-svc__s::before,.pv-svc__s::after{content:"";position:absolute;left:-11px;width:20px;height:20px;border-radius:50%;background:var(--pv-bg)}
.pv-svc__s::before{top:-10px}.pv-svc__s::after{bottom:-10px}
.pv-sec--alt .pv-svc__s::before,.pv-sec--alt .pv-svc__s::after{background:var(--pv-bg2)}
.pv-svc__s b{font:800 22px/1 var(--pv-mono);color:#fff}
.pv-svc__s span{font:600 10.5px/1.2 var(--pv-mono);letter-spacing:.12em;text-transform:uppercase;writing-mode:vertical-rl;transform:rotate(180deg);opacity:.85}
.pv-svc__s .ph{width:26px;height:26px}
@media(min-width:760px){.pv-svc{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1180px){.pv-svc{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* ---------- 12. Thẻ lên máy bay lớn (CTA) ---------- */
.pv-ticket{display:grid;border-radius:28px;overflow:hidden;background:var(--pv-signbg);color:#fff;box-shadow:0 40px 80px -40px rgba(0,0,0,.55);position:relative}
.pv-ticket__main{padding:clamp(28px,4vw,56px)}
.pv-ticket__main .pv-kick{color:var(--pv-sign)}
.pv-ticket__main h2{color:#fff;margin-top:12px;max-width:22ch}
.pv-ticket__main p{color:#D2D4D9!important;margin-top:14px!important;max-width:60ch;font-size:17.5px!important}
.pv-ticket__main .pv-btn--ghost{background:transparent;color:#fff!important;border-color:rgba(255,255,255,.35)}
.pv-ticket__main .pv-btn--ghost:hover{border-color:#fff}
.pv-ticket__stub{position:relative;padding:24px clamp(24px,3vw,40px);border-top:2px dashed rgba(255,255,255,.22);display:grid;grid-template-columns:repeat(3,auto);justify-content:space-between;gap:14px 24px;align-items:end;background:rgba(255,255,255,.04)}
.pv-ticket__stub div{font:600 11px/1.3 var(--pv-mono);letter-spacing:.12em;text-transform:uppercase;color:#9EA3AD}
.pv-ticket__stub div b{display:block;font-size:20px;letter-spacing:.04em;color:#fff;margin-top:6px}
.pv-ticket__bar{grid-column:1/-1;height:44px;background:repeating-linear-gradient(90deg,#fff 0 2px,transparent 2px 5px,#fff 5px 6px,transparent 6px 9px,#fff 9px 12px,transparent 12px 14px);opacity:.85;border-radius:4px}
@media(min-width:1024px){
  .pv-ticket{grid-template-columns:minmax(0,1fr) 300px}
  .pv-ticket__stub{border-top:0;border-left:2px dashed rgba(255,255,255,.22);grid-template-columns:1fr;align-content:center}
  .pv-ticket__stub::before,.pv-ticket__stub::after{content:"";position:absolute;left:-14px;width:26px;height:26px;border-radius:50%;background:var(--pv-bg)}
  .pv-ticket__stub::before{top:-13px}.pv-ticket__stub::after{bottom:-13px}
  .pv-sec--alt .pv-ticket__stub::before,.pv-sec--alt .pv-ticket__stub::after{background:var(--pv-bg2)}
  .pv-ticket__bar{height:72px}
}

/* CTA giữa trang (dải mảnh) */
.pv-mid{display:flex;flex-wrap:wrap;gap:16px 24px;align-items:center;justify-content:space-between;padding:22px clamp(20px,3vw,32px);border-radius:var(--pv-r);background:var(--pv-card);border:2px dashed var(--pv-arc)}
.pv-mid p{color:var(--pv-ink)!important;font-weight:600;font-size:17.5px!important;max-width:60ch}
.pv-mid .pv-ctas{margin:0}

/* ---------- 13. FAQ ---------- */
.pv-faq__grid{display:grid;gap:clamp(24px,4vw,64px)}
.pv-faq__list details{border-bottom:1px solid var(--pv-line)}
.pv-faq__list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:16px;padding:20px 2px;font-weight:700;font-size:17.5px;line-height:1.45;color:var(--pv-ink)}
.pv-faq__list summary::-webkit-details-marker{display:none}
.pv-faq__list summary::after{content:"+";flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;border:1.5px solid var(--pv-line);font:500 20px/1 var(--font);color:var(--pv-ink);transition:transform .2s,background .2s}
.pv-faq__list details[open] summary::after{content:"−";background:var(--pv-acc);border-color:var(--pv-acc);color:#fff}
.pv-faq__list summary:focus-visible{outline:3px solid var(--pv-arc);outline-offset:2px}
.pv-faq__a{padding:0 2px 22px}
.pv-faq__a p{font-size:16px!important}
.pv-faq__a p+p{margin-top:10px}
@media(min-width:1024px){.pv-faq__grid{grid-template-columns:minmax(0,4fr) minmax(0,7fr)}.pv-faq__grid .pv-head{position:sticky;top:calc(var(--header-h,72px) + 24px);align-self:start}}

/* ---------- 14. Xem thêm / liên kết ---------- */
.pv-links{display:flex;flex-wrap:wrap;gap:10px}
.pv-links a{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;border:1px solid var(--pv-line);background:var(--pv-card);font-weight:600;font-size:15px;color:var(--pv-ink);transition:border-color .2s,transform .2s}
.pv-links a:hover{border-color:var(--pv-ink);transform:translateY(-2px)}

/* ---------- 15. Ô thông tin / so sánh 2 cột / con số không bịa ---------- */
.pv-duo{display:grid;gap:18px}
.pv-duo>div{padding:26px;border-radius:var(--pv-r);background:var(--pv-card);border:1px solid var(--pv-line)}
.pv-duo h3{margin-bottom:12px}
.pv-duo li{position:relative;padding-left:26px;margin-top:10px;font-size:15.5px}
.pv-duo li::before{content:"✓";position:absolute;left:0;top:0;color:var(--pv-acc);font-weight:800}
.pv-duo .is-no li::before{content:"✕";color:var(--pv-mut)}
@media(min-width:760px){.pv-duo{grid-template-columns:repeat(2,minmax(0,1fr))}}
.pv-callout{display:flex;gap:16px;align-items:flex-start;padding:20px 22px;border-radius:var(--pv-r2);background:var(--pv-hl);color:#3A2A00;margin-top:24px}
.pv-callout .ph{width:26px;height:26px;color:#8A5A00;flex:none;margin-top:2px}
.pv-callout p{color:#3A2A00!important;font-size:15.5px!important}
.pv-callout b{color:#2A1E00}

/* Bảng thông tin nhỏ (giấy tờ) */
.pv-table{width:100%;border-collapse:separate;border-spacing:0;background:var(--pv-card);border:1px solid var(--pv-line);border-radius:var(--pv-r);overflow:hidden}
.pv-table th,.pv-table td{padding:14px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--pv-line);font-size:15px;line-height:1.5;color:var(--pv-mut)}
.pv-table th{font:600 11.5px/1.3 var(--pv-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--pv-ink);background:var(--pv-bg)}
.pv-table td:first-child{font-weight:700;color:var(--pv-ink)}
.pv-table tr:last-child td{border-bottom:0}
@media(max-width:759px){
  .pv-table thead{display:none}
  .pv-table,.pv-table tbody,.pv-table tr,.pv-table td{display:block;width:100%}
  .pv-table tr{padding:12px 4px;border-bottom:1px solid var(--pv-line)}
  .pv-table tr:last-child{border-bottom:0}
  .pv-table td{border:0;padding:4px 14px}
  .pv-table td[data-l]::before{content:attr(data-l);display:block;font:600 11px/1.3 var(--pv-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--pv-mut);margin-bottom:2px}
}

/* ---------- 16. Popup đặt vé theo tuyến ---------- */
.pv-pop{position:fixed;inset:0;z-index:99990;background:rgba(12,14,18,.6);display:flex;align-items:center;justify-content:center;padding:16px;opacity:0;transition:opacity .2s}
.pv-pop.on{opacity:1}
.pv-pop__c{position:relative;width:min(560px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:24px;padding:18px 16px 10px;box-shadow:0 40px 80px -30px rgba(0,0,0,.6)}
.pv-pop__h{display:flex;align-items:center;gap:10px;margin:2px 52px 12px 4px;font:800 18px/1.3 var(--font);color:#121316}
.pv-pop__x{position:absolute;right:10px;top:10px;width:42px;height:42px;border-radius:50%;border:0;background:#F2F2F4;color:#121316;font-size:18px;cursor:pointer;z-index:2}
.pv-pop__x:hover{background:#E4E5E8}
html.pv-pop-open .vdh-bn{visibility:hidden}

/* ---------- 17. Hình SVG ---------- */
.pv-art{display:block;overflow:visible}
.pv-art__grid{fill:var(--pv-arc);opacity:.18}
.pv-art__lat path{stroke:var(--pv-arc);stroke-opacity:.12;stroke-dasharray:2 8;fill:none}
.pv-art__arcs path{fill:none;stroke:var(--pv-arc);stroke-width:1.6;stroke-dasharray:5 6;opacity:.55;animation:pvDash 30s linear infinite}
.pv-art__plane path{fill:var(--pv-acc)}
.pv-art__plane.is-gold path{fill:#E9C987}
.pv-art__plane.is-paper path{fill:#FF6B5A}
.pv-art__plane.is-warm path{fill:#E0703A}
.pv-art__pt circle{fill:#fff;stroke:var(--pv-arc);stroke-width:2}
.pv-art__pt.is-hub circle{fill:var(--pv-acc);stroke:#fff}
.pv-art__ping{fill:none!important;stroke:var(--pv-acc)!important;animation:pvPing 2.4s ease-out infinite;transform-box:fill-box;transform-origin:center}
.pv-art__pt text,.pv-art__edge{font:600 11px var(--pv-mono);fill:var(--pv-ink);letter-spacing:.04em;paint-order:stroke;stroke:rgba(255,255,255,.85);stroke-width:3px}
.pv-art--vn .pv-art__pt text{font-size:12px}
.pv-art__loop{fill:none;stroke:var(--pv-arc);stroke-width:2;stroke-dasharray:6 7;opacity:.7}
.pv-art__goldarc{fill:none;stroke:#D4AF6A;stroke-width:1.6;stroke-dasharray:4 7;opacity:.8}
.pv-art__star{fill:#F2E6C9;animation:pvTw 3.6s ease-in-out infinite;animation-delay:calc(var(--i) * .4s)}
.pv-art__moon{fill:#E9D9B0;opacity:.9}
.pv-art__seat path{fill:none;stroke:#D4AF6A;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.pv-art__cap path{fill:#6C5CE7;stroke:#6C5CE7;stroke-width:2;stroke-linejoin:round}
.pv-art__cap path:nth-child(2){fill:#8C7EF0}
.pv-art__cap path:nth-child(3){fill:none;stroke:#FFC72C;stroke-width:3}
.pv-art__cap circle{fill:#FFC72C}
.pv-art__spark{fill:#FFC72C;animation:pvTw 2.8s ease-in-out infinite;animation-delay:calc(var(--i) * .5s)}
.pv-art__home path{fill:#FFF7EF;stroke:#B85A2B;stroke-width:3;stroke-linejoin:round}
.pv-art__city path{fill:#FFF7EF;stroke:#7A4A32;stroke-width:3;stroke-linejoin:round}
.pv-art__heart{fill:#E0703A;opacity:.9}
.pv-art__ground,.pv-art__ray{stroke:var(--pv-ink);stroke-opacity:.25;stroke-width:2;fill:none}
.pv-art__clip rect{fill:#fff;stroke:#1E2A3A;stroke-width:3}
.pv-art__clip .pv-art__clipbar{fill:#1E2A3A}
.pv-art__tick{fill:none;stroke:#1FA463;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.pv-art__line{stroke:#9AA3AF;stroke-width:5;stroke-linecap:round;fill:none}
.pv-art__pass rect{fill:#1E2A3A}
.pv-art__pass circle,.pv-art__pass path{fill:none;stroke:#FFC72C;stroke-width:3}
.pv-art__bp rect{fill:#fff;stroke:#334155;stroke-width:2.5}
.pv-art__bp>path{stroke:#94A3B8;stroke-width:2;stroke-dasharray:5 5}
.pv-art__count circle{fill:var(--pv-acc)}
.pv-art__count text{fill:#fff;font:800 24px var(--pv-mono)}
.pv-art__count .pv-art__small{font:600 11px var(--pv-mono)}
.pv-art__sun{fill:#FFB38A;opacity:.55}
.pv-art__arrow{fill:none;stroke:var(--pv-arc);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.pv-art__birds path{fill:none;stroke:var(--pv-ink);stroke-opacity:.45;stroke-width:2}
.pv-art__belt rect{fill:#2A2D33}
.pv-art__belt path{stroke:#55595F;stroke-width:2;stroke-dasharray:14 10;animation:pvDash 6s linear infinite reverse}
.pv-art__bags g rect{fill:#F26A21;stroke:#7A2E0E;stroke-width:2.5}
.pv-art__bags g:nth-child(2) rect{fill:#E31E24}
.pv-art__bags g:nth-child(3) rect{fill:#1E2A3A}
.pv-art__bags g:nth-child(4) rect{fill:#FFC72C}
.pv-art__bags path{fill:none;stroke:#7A2E0E;stroke-width:3}
.pv-art__bags .pv-art__line{stroke:rgba(0,0,0,.25);stroke-width:3}
.pv-art__bags g{animation:pvBob 3s ease-in-out infinite;animation-delay:calc(var(--i) * .35s)}
.pv-art__tag path{fill:#FFF3EA;stroke:#B9450C;stroke-width:2.5}
.pv-art__tag circle{fill:#fff;stroke:#B9450C;stroke-width:2}
.pv-art__tag text{font:800 22px var(--pv-mono);fill:#B9450C}
@keyframes pvDash{to{stroke-dashoffset:-220}}
@keyframes pvPing{0%{transform:scale(1);opacity:.9}100%{transform:scale(3.4);opacity:0}}
@keyframes pvTw{0%,100%{opacity:.35}50%{opacity:1}}
@keyframes pvBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@media(prefers-reduced-motion:reduce){.pv *{animation:none!important;transition:none!important}.pv-art__plane{display:none}}

/* ---------- 18. Ảnh có khung (bưu thiếp, polaroid) ---------- */
.pv-photo{position:relative;margin:0;background:#fff;padding:12px 12px 44px;border-radius:6px;box-shadow:0 30px 60px -30px rgba(0,0,0,.45);transform:rotate(-2deg)}
.pv-photo img{display:block;width:100%;height:auto;border-radius:2px}
.pv-photo figcaption{position:absolute;left:16px;right:16px;bottom:12px;font-size:13px;color:#565A63}
.pv-photo__stamp{position:absolute;top:-14px;right:-10px;width:86px;height:100px;background:#fff;border:2px dashed #E0703A;display:grid;place-items:center;transform:rotate(8deg);font:700 11px/1.2 var(--pv-mono);text-align:center;color:#B85A2B;padding:6px}

/* =====================================================================
   BIẾN THỂ TỪNG TRANG
   ===================================================================== */
/* Hub – trời sáng buổi sớm */
.pv--hub{--pv-sky1:#CDE4FF;--pv-sky2:#FFF4E6}
/* Quốc tế – trời xanh sâu hơn, nhiều cung */
.pv--intl{--pv-sky1:#B9DBFF;--pv-sky2:#EEF6FF;--pv-bg:#F3F8FF;--pv-arc:#1565C0;--pv-arc2:rgba(21,101,192,.14)}
/* Nội địa – biển xanh ngọc */
.pv--dom{--pv-sky1:#C6EEE3;--pv-sky2:#F3FBF8;--pv-bg:#F4FBF8;--pv-arc:#0B7D61;--pv-arc2:rgba(11,125,97,.13)}
.pv--dom .pv-hero__sky .pv-art{right:2%;width:min(420px,46%);opacity:.9}
/* Thương gia – đêm, ánh vàng */
.pv--biz{--pv-bg:#0D0E11;--pv-bg2:#121318;--pv-sky1:#07080B;--pv-sky2:#15161C;--pv-ink:#F4EDDF;--pv-mut:#C4BBA9;--pv-line:rgba(212,175,106,.22);--pv-card:#16171D;
  --pv-acc:#D4AF6A;--pv-acc-ink:#1A1408;--pv-acc-d:#E3C58A;--pv-arc:#D4AF6A;--pv-arc2:rgba(212,175,106,.14);--pv-hl:#2A2316;--pv-signbg:#08090B;--pv-shadow:0 30px 60px -30px rgba(0,0,0,.8)}
.pv--biz .pv-hero h1 em,.pv--biz h2 em{font-style:italic;font-weight:500;color:#E3C58A}
.pv--biz .pv-chips li{background:rgba(255,255,255,.04);color:#F4EDDF}
.pv--biz .pv-btn--ghost{background:transparent;color:#F4EDDF!important;border-color:rgba(212,175,106,.4)}
.pv--biz .pv-btn--red{box-shadow:0 12px 28px -14px rgba(212,175,106,.7)}
.pv--biz .pv-callout{color:#F4EDDF}.pv--biz .pv-callout p,.pv--biz .pv-callout b{color:#F4EDDF!important}.pv--biz .pv-callout .ph{color:#D4AF6A}
.pv--biz .pv-stub{background:#D4AF6A;color:#1A1408}.pv--biz .pv-stub span:last-child{color:#1A1408}
.pv--biz .pv-step__n{background:#16171D}
.pv--biz .pv-ticket{background:linear-gradient(135deg,#1B1710,#0B0B0E);border:1px solid rgba(212,175,106,.3)}
.pv--biz .pv-ticket__bar{background:repeating-linear-gradient(90deg,#D4AF6A 0 2px,transparent 2px 5px,#D4AF6A 5px 6px,transparent 6px 9px,#D4AF6A 9px 12px,transparent 12px 14px)}
.pv--biz .pv-table th{background:#1C1D24}
.pv--biz .pv-svc__m li{background:#0D0E11;color:#F4EDDF}
.pv--biz .pv-hero__sky .pv-art{width:min(780px,70%);right:-2%;top:auto;bottom:0;height:auto}
.pv--biz .pv-perf{display:none}
.pv--biz .hv-crumbs,.pv--biz .hv-crumbs a{color:#C4BBA9!important}
.pv--biz .pv-board{border:1px solid rgba(212,175,106,.25)}
/* Du học – trẻ trung */
.pv--study{--pv-sky1:#FFE69A;--pv-sky2:#FFF4F0;--pv-bg:#FFFBF4;--pv-arc:#6C5CE7;--pv-arc2:rgba(108,92,231,.13);--pv-acc:#E31E24;--pv-r:26px}
.pv--study .pv-hero h1{font-size:clamp(38px,3.6vw + 14px,72px)}
.pv--study .pv-hero h1 em{color:#6C5CE7;font-style:normal;font-weight:800;background:linear-gradient(transparent 62%,#FFC72C 62%)}
.pv--study .pv-pain,.pv--study .pv-tip{border-width:2px;border-color:#1B1B1F;box-shadow:6px 6px 0 #1B1B1F}
.pv--study .pv-pain::before{display:none}
.pv-vdh{position:relative;padding:28px;border-radius:28px;background:#1B1B1F;color:#fff;box-shadow:10px 10px 0 #6C5CE7}
.pv-vdh h2,.pv-vdh h3{color:#fff}
.pv-vdh p{color:#DADAE0!important}
.pv-vdh__badge{display:inline-flex;gap:8px;align-items:center;padding:7px 12px;border-radius:999px;background:#FFC72C;color:#1B1B1F;font:800 12.5px/1 var(--pv-mono);letter-spacing:.06em;text-transform:uppercase}
.pv-vdh ul{margin-top:16px;display:grid;gap:10px}
.pv-vdh li{color:#F1F1F4;font-size:15.5px;padding-left:26px;position:relative}
.pv-vdh li::before{content:"✓";position:absolute;left:0;color:#FFC72C;font-weight:800}
.pv-vdh .pv-btn--red{background:#FFC72C;color:#1B1B1F!important;box-shadow:none}
.pv-vdh .pv-btn--red:hover{background:#FFD95C}
.pv-vdh .pv-btn--ghost{background:transparent;color:#fff!important;border-color:rgba(255,255,255,.35)}
.pv-sticker{display:inline-block;padding:10px 14px;border-radius:14px;background:#fff;border:2px solid #1B1B1F;box-shadow:4px 4px 0 #1B1B1F;font-weight:800;color:#1B1B1F;transform:rotate(-3deg)}
.pv--study .pv-hero__sky .pv-art{width:min(640px,60%);right:-2%;top:6%;height:auto;opacity:.75}
/* Thăm thân – ấm áp, bưu thiếp */
.pv--family{--pv-sky1:#FFDCC2;--pv-sky2:#FFF6EE;--pv-bg:#FFF8F2;--pv-ink:#3A2216;--pv-mut:#6E5242;--pv-line:rgba(58,34,22,.14);--pv-arc:#D0612B;--pv-arc2:rgba(208,97,43,.13);--pv-acc-d:#B8401C}
.pv--family .pv-hero h1 em{color:#C2501F}
.pv--family .pv-pain,.pv--family .pv-tip,.pv--family .pv-cmp__c{border-radius:6px;background:#FFFDF9;box-shadow:0 20px 40px -26px rgba(58,34,22,.4)}
.pv--family .pv-hero__sky .pv-art{width:min(620px,58%);top:auto;bottom:4%;height:auto;opacity:.8}
/* Lao động – thực dụng, hồ sơ giấy */
.pv--labor{--pv-sky1:#E8DFC9;--pv-sky2:#F7F3EA;--pv-bg:#F7F3EA;--pv-bg2:#FFFDF7;--pv-ink:#16243A;--pv-mut:#3F4A5C;--pv-line:rgba(22,36,58,.16);--pv-arc:#16243A;--pv-arc2:rgba(255,199,44,.32);--pv-r:10px}
.pv--labor .pv-pain__ic,.pv--labor .pv-tip h3 .ph{color:#16243A}
.pv--labor .pv-pain,.pv--labor .pv-tip,.pv--labor .pv-cmp__c{box-shadow:none;border:1.5px solid #16243A}
.pv--labor .pv-hero h1 em{color:#16243A;font-style:normal;background:#FFC72C;padding:0 .12em;font-weight:800}
.pv--labor .pv-hero__sky .pv-art{width:min(560px,52%);top:auto;bottom:0;height:auto;opacity:.6}
/* Đoàn công tác – doanh nghiệp, lưới */
.pv--corp{--pv-sky1:#DCE3EC;--pv-sky2:#F6F8FB;--pv-bg:#F4F6F9;--pv-ink:#0F172A;--pv-mut:#475569;--pv-line:rgba(15,23,42,.12);--pv-arc:#334155;--pv-arc2:rgba(51,65,85,.1);--pv-r:16px}
.pv--corp .pv-hero{background-image:linear-gradient(rgba(15,23,42,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(15,23,42,.05) 1px,transparent 1px),linear-gradient(180deg,var(--pv-sky1),var(--pv-sky2) 80%,var(--pv-bg));background-size:40px 40px,40px 40px,auto}
.pv--corp .pv-hero__sky .pv-art{width:min(560px,50%);top:auto;bottom:0;height:auto;opacity:.75}
.pv--corp .pv-hero h1 em{color:#E31E24;font-style:normal}
/* Một chiều – bình minh */
.pv--oneway{--pv-sky1:#E3D9F5;--pv-sky2:#FFE6D6;--pv-bg:#FBF7F4;--pv-ink:#28193B;--pv-mut:#5A4B6B;--pv-line:rgba(40,25,59,.13);--pv-arc:#7B5EA7;--pv-arc2:rgba(123,94,167,.13)}
.pv--oneway .pv-hero h1 em{color:#7B5EA7}
.pv--oneway .pv-hero__sky .pv-art{width:min(700px,62%);top:auto;bottom:0;height:auto;opacity:.85}
/* Hành lý – cam, băng chuyền */
.pv--bag{--pv-sky1:#FFDCC2;--pv-sky2:#FFF5EC;--pv-bg:#FFF8F2;--pv-ink:#1F1A17;--pv-mut:#5B4D45;--pv-arc:#C4520F;--pv-arc2:rgba(242,106,33,.14);--pv-acc-d:#B9450C}
.pv--bag .pv-hero h1 em{color:#C4520F}
.pv--bag .pv-hero__sky .pv-art{width:min(600px,55%);top:auto;bottom:0;height:auto;opacity:.75}

/* Mobile: hình nền hero nhạt + nằm dưới chữ */
@media(max-width:1023px){
  .pv-hero__sky .pv-art{opacity:.35!important;width:120%!important;right:-30%!important}
  .pv--dom .pv-hero__sky .pv-art{width:70%!important;right:-12%!important}
  .pv-hero h1{max-width:none}
}
@media(max-width:600px){
  .pv-ctas .pv-btn{flex:1 1 100%}
  .pv-stub{margin:0 8px -10px;padding:10px 14px 18px;font-size:11px}
  .pv p,.pv li,.pv dd{font-size:16px}
}

/* ---------- 19. Canh vé / Săn vé rẻ (bổ sung 11/10) ---------- */
.pv-art__dawn{fill:#FF8A3D;opacity:.35}
.pv-art__face{fill:#fff;stroke:#13213D;stroke-width:6}
.pv-art__bellL,.pv-art__bellR{fill:#FF8A3D;stroke:#13213D;stroke-width:4}
.pv-art__tickm{stroke:#13213D;stroke-width:4;stroke-linecap:round}
.pv-art__hand{stroke:#13213D;stroke-width:7;stroke-linecap:round}
.pv-art__hand.m{stroke:#E31E24;stroke-width:4}
.pv-art__hub{fill:#E31E24}
.pv-art__t{font:800 22px var(--pv-mono);fill:#13213D}
.pv-art__leg{stroke:#13213D;stroke-width:6;stroke-linecap:round}
.pv-art__clock{animation:pvShake 4s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes pvShake{0%,80%,100%{transform:translate(300px,190px) rotate(0)}83%{transform:translate(300px,190px) rotate(-4deg)}86%{transform:translate(300px,190px) rotate(4deg)}89%{transform:translate(300px,190px) rotate(-3deg)}92%{transform:translate(300px,190px) rotate(0)}}
.pv-art__day path{stroke:#FF8A3D;stroke-width:3;stroke-dasharray:4 6}
.pv-art__day circle{fill:#FF8A3D;stroke:#fff;stroke-width:2;animation:pvTw 3s ease-in-out infinite;animation-delay:calc(var(--i) * .5s)}
.pv-art__day text{font:700 13px var(--pv-mono);fill:var(--pv-ink)}
/* Biểu đồ giá minh hoạ (không số) */
.pv-chart{background:var(--pv-card);border:1px solid var(--pv-line);border-radius:var(--pv-r);padding:22px 20px 16px;box-shadow:var(--pv-shadow)}
.pv-chart__top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;align-items:center;margin-bottom:14px}
.pv-chart__top b{font-size:15px}
.pv-chart__top small{font:600 11px/1 var(--pv-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--pv-mut);padding:5px 8px;border:1px solid var(--pv-line);border-radius:6px}
.pv-chart__bars{display:flex;align-items:flex-end;gap:5px;height:180px;border-bottom:1.5px solid var(--pv-line);position:relative}
.pv-chart__bars span{flex:1;min-width:0;height:var(--h);border-radius:6px 6px 0 0;background:var(--pv-arc2);border:1px solid var(--pv-arc);border-bottom:0;position:relative}
.pv-chart__bars span.is-low{background:var(--pv-acc);border-color:var(--pv-acc)}
.pv-chart__bars span.is-low::after{content:"🔔";position:absolute;left:50%;top:-26px;transform:translateX(-50%);font-size:16px}
.pv-chart__x{display:flex;justify-content:space-between;margin-top:8px;font:600 11px/1 var(--pv-mono);color:var(--pv-mut)}
.pv-chart__legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:12px;font-size:13px;color:var(--pv-mut)}
.pv-chart__legend i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:-1px;background:var(--pv-arc2);border:1px solid var(--pv-arc)}
.pv-chart__legend i.is-low{background:var(--pv-acc);border-color:var(--pv-acc)}
/* Lịch giá minh hoạ */
.pv-cal{background:var(--pv-card);border:1px solid var(--pv-line);border-radius:var(--pv-r);padding:20px;box-shadow:var(--pv-shadow)}
.pv-cal__hd{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}
.pv-cal__hd b{font-size:16px}
.pv-cal__hd small{font:600 11px/1 var(--pv-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--pv-mut)}
.pv-cal__g{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.pv-cal__g span{aspect-ratio:1;display:grid;place-items:center;border-radius:8px;font:600 13px/1 var(--pv-mono);background:var(--pv-bg);color:var(--pv-mut)}
.pv-cal__g .w{background:none;font-size:11px;aspect-ratio:auto;padding:4px 0}
.pv-cal__g .l{background:#DDF5E8;color:#0B6B3A}
.pv-cal__g .m{background:#FFF1C9;color:#7A5A00}
.pv-cal__g .h{background:#FFE0DE;color:#A3161B}
.pv-cal__g .x{outline:2px solid var(--pv-acc);outline-offset:-2px;color:var(--pv-ink)}
.pv-cal__lg{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px;font-size:13px;color:var(--pv-mut)}
.pv-cal__lg i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.pv-twin{display:grid;gap:22px;align-items:center}
@media(min-width:1024px){.pv-twin{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px}}
/* Khối chéo VeDuHoc + YouTube */
.pv-xlink{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;justify-content:space-between;padding:16px 20px;border-radius:var(--pv-r2);background:#1B1B1F;color:#fff}
.pv-xlink p{color:#EDEDF0!important;font-size:15.5px!important}
.pv-xlink b{color:#FFC72C}
.pv-xlink a{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;background:#FFC72C;color:#1B1B1F!important;font-weight:700;font-size:14.5px;white-space:nowrap}
.pv-yt__box{max-width:900px;margin-inline:auto}
.pv-yt__lite{position:relative;display:block;aspect-ratio:16/9;border-radius:var(--pv-r);overflow:hidden;background:#000}
.pv-yt__lite img,.pv-yt__lite iframe{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0}
.pv-yt__play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:76px;height:54px;border-radius:14px;background:var(--pv-acc);color:#fff;display:grid;place-items:center;font-size:22px}
/* Biến thể: Canh vé (radar đêm xanh) + Săn vé rẻ (vé xé, xanh lá giá tốt) */
.pv--watch{--pv-sky1:#13213D;--pv-sky2:#FFE3CC;--pv-bg:#FFF8F2;--pv-ink:#13213D;--pv-mut:#4A5468;--pv-arc:#E8692A;--pv-arc2:rgba(232,105,42,.13);--pv-acc-d:#C2410C}
.pv--watch .pv-hero{background:linear-gradient(180deg,#13213D 0%,#232B52 60%,#9A4F5A 86%,#E9A37F 96%,var(--pv-bg) 100%)}
.pv--watch .pv-hero .pv-hero__tx h1,.pv--watch .pv-hero .pv-lead{color:#fff!important}
.pv--watch .pv-hero .hv-crumbs,.pv--watch .pv-hero .hv-crumbs a{color:#E7E3F0!important}
.pv--watch .pv-hero .pv-chips li{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.25)}
.pv--watch .pv-hero .pv-chips .ph{color:#FFB37A}
.pv--watch .pv-hero .pv-btn--ghost{background:transparent;color:#fff!important;border-color:rgba(255,255,255,.45)}
.pv--watch .pv-art__day text{fill:#fff}
.pv--watch .pv-hero__sky .pv-art{width:min(560px,50%);right:0;top:auto;bottom:0;height:auto;opacity:.85}
.pv--watch .pv-hero h1 em{color:#FFB37A}
.pv--deal{--pv-sky1:#D6F2E1;--pv-sky2:#F4FBF6;--pv-bg:#FAFCF6;--pv-ink:#0F2418;--pv-mut:#45584C;--pv-line:rgba(15,36,24,.13);--pv-arc:#0E8A4A;--pv-arc2:rgba(14,138,74,.12)}
.pv--deal .pv-hero h1 em{color:#0E8A4A;font-style:normal}
.pv--deal .pv-hero__sky .pv-art{width:min(560px,52%);right:0;top:6%;height:auto;opacity:.7}
.pv--deal .pv-pain,.pv--deal .pv-tip{border-top:4px solid var(--pv-arc)}
/* Khung 16:9 tạm thay video */
.pv-reel{max-width:980px;margin:0 auto;border-radius:var(--pv-r);overflow:hidden;background:#101318;box-shadow:0 40px 80px -40px rgba(0,0,0,.6);border:1px solid rgba(255,255,255,.06)}
.pv-reel__bar{display:flex;gap:12px;align-items:center;padding:10px 14px;background:#191D24;font:600 11px/1 var(--pv-mono);letter-spacing:.1em;text-transform:uppercase;color:#8D929C}
.pv-reel__dots{display:inline-flex;gap:6px}.pv-reel__dots i{width:9px;height:9px;border-radius:50%;background:#3A3F48}
.pv-reel__stage{aspect-ratio:16/9;display:grid;place-items:center;background:radial-gradient(120% 90% at 20% 0%,#1C2733,#0E1116)}
.pv-reel__stage svg{width:100%;height:100%}
.pv-reel figcaption{display:flex;flex-wrap:wrap;gap:4px 16px;justify-content:space-between;padding:14px 18px;background:#14181E;color:#C9CDD4;font-size:14.5px;line-height:1.45}
.pv-reel figcaption b{color:#fff}
.pv-reel figcaption span{color:#FFC72C;font-weight:600}
.pv-reel__grid path{stroke:rgba(255,255,255,.07);stroke-width:1.5;fill:none}
.pv-reel__thr{stroke:#FFC72C;stroke-width:2;stroke-dasharray:8 8;fill:none}
.pv-reel__lab,.pv-reel__x{font:600 18px var(--pv-mono);fill:#9EA3AD}
.pv-reel__lab{fill:#FFC72C}
.pv-reel__line{fill:none;stroke:#5AB0FF;stroke-width:5;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100;animation:pvDraw 8s linear infinite}
.pv-reel__dot{fill:#fff;stroke:#5AB0FF;stroke-width:4}
.pv-reel__bell{opacity:0;animation:pvBell 8s linear infinite;transform-box:fill-box;transform-origin:center}
.pv-reel__bell>circle{fill:var(--pv-acc,#E31E24)}.pv-reel__bell path,.pv-reel__bell .c{fill:#fff}
@keyframes pvDraw{0%{stroke-dashoffset:100}100%{stroke-dashoffset:0}}
@keyframes pvBell{0%,55%{opacity:0;transform:translate(700px,300px) scale(.6)}58%{opacity:1;transform:translate(700px,300px) scale(1.15)}62%{transform:translate(700px,300px) scale(1) rotate(12deg)}66%{transform:translate(700px,300px) rotate(-10deg)}70%,92%{opacity:1;transform:translate(700px,300px) rotate(0)}100%{opacity:0}}
.pv-reel__cal rect{fill:#1E2530;stroke:rgba(255,255,255,.06)}
.pv-reel__cal rect.is-hot{animation:pvHot 7s ease-in-out infinite;animation-delay:calc(var(--i) * .7s)}
.pv-reel__cal text{font:600 20px var(--pv-mono);fill:#7E8591;pointer-events:none}
@keyframes pvHot{0%,8%{fill:#1E2530}14%,60%{fill:#1FA463}75%,100%{fill:#1E2530}}
.pv-reel__run{stroke:#3A3F48;stroke-width:8;stroke-linecap:round}
.pv-reel__trail{fill:none;stroke:rgba(255,199,44,.35);stroke-width:2;stroke-dasharray:6 8}
.pv-reel__plane path{fill:#FFC72C}
@media(prefers-reduced-motion:reduce){.pv-reel__line{stroke-dashoffset:0}.pv-reel__bell{opacity:1;transform:translate(700px,300px)}.pv-reel__plane{display:none}.pv-reel__cal rect.is-hot{fill:#1FA463}}
/* QA 1 (11/10): hình nền hero mờ dần sang trái, khung hình 2 cột cố định tỉ lệ, bảng không ăn style theme cha */
.pv-hero__sky .pv-art{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 38%);mask-image:linear-gradient(90deg,transparent 0,#000 38%)}
.pv-long__art{aspect-ratio:4/3;min-height:0!important}
.pv-long__art>.pv-art{position:absolute;inset:0;width:100%;height:100%;min-height:0}
.pv .pv-table th,.pv .pv-table td{background:transparent!important;border-width:0 0 1px!important;border-style:solid!important;border-color:var(--pv-line)!important}
.pv .pv-table th{background:var(--pv-bg)!important}
.pv .pv-table tr:last-child td{border-bottom-width:0!important}

.pv-art__bar{fill:var(--pv-arc2);stroke:var(--pv-arc);stroke-width:2}
.pv-art__bar.is-low{fill:#0E8A4A;stroke:#0E8A4A}
.pv-art__pick circle{fill:#E31E24}.pv-art__pick path{fill:none;stroke:#fff;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round}

/* QA 11/10: hub ngắn hơn trên mobile (thẻ → vuốt ngang, bảng tuyến 6 dòng), ẩn nhãn thành phố của nền hero (đè chữ) */
@media(max-width:719px){
  .pv-hero__sky .pv-art__pt text,.pv-hero__sky .pv-art__edge{display:none}
  .pv--hub .pv-svc,.pv--hub .pv-pains,.pv--hub .pv-cmp{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin-left:-16px;margin-right:-16px;padding:4px 16px 14px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .pv--hub .pv-svc::-webkit-scrollbar,.pv--hub .pv-pains::-webkit-scrollbar,.pv--hub .pv-cmp::-webkit-scrollbar{display:none}
  .pv--hub .pv-svc>li,.pv--hub .pv-pains>li,.pv--hub .pv-cmp>*{flex:0 0 86%;min-width:0;scroll-snap-align:start}
  .pv--hub .pv-svc>li>a{height:100%}
  .pv--hub .pv-board__r:nth-child(n+8){display:none}
}

/* ===== Vòng chuyên gia đợt 2 (11/10/2026): chỉ THÊM ===== */
/* cuống vé dưới form hero: giải thích form + mã vạch */
.pv-how{display:flex;align-items:center;gap:14px;margin:14px 8px 0;padding:12px 16px 12px 20px;border:1px dashed var(--pv-line);border-radius:14px;position:relative;background:color-mix(in srgb,var(--pv-card) 70%,transparent)}
.pv-how::before,.pv-how::after{content:"";position:absolute;top:50%;width:14px;height:14px;margin-top:-7px;border-radius:50%;background:var(--pv-bg);border:1px dashed var(--pv-line)}
.pv-how::before{left:-8px;clip-path:inset(0 0 0 50%)}.pv-how::after{right:-8px;clip-path:inset(0 50% 0 0)}
.pv-how__t{flex:1;min-width:0;font-size:13.5px;line-height:1.5;color:var(--pv-mut)}
.pv-how__bc{flex:0 0 74px;height:30px;opacity:.55;background:repeating-linear-gradient(90deg,var(--pv-ink) 0 2px,transparent 2px 4px,var(--pv-ink) 4px 5px,transparent 5px 8px,var(--pv-ink) 8px 11px,transparent 11px 13px)}
/* băng cam kết tĩnh thay chữ chạy */
.pv-ticker{overflow:visible}
.pv-ticker__track{width:auto;animation:none;flex-wrap:wrap;justify-content:center;gap:8px 26px;padding:14px 16px;max-width:1240px;margin:0 auto}
.pv-ticker__track span[aria-hidden="true"]{display:none}
.pv-ticker span{white-space:normal;font-size:12.5px;letter-spacing:.06em}
/* nhóm cổng */
.pv-svc .pv-grp{grid-column:1/-1;display:flex;align-items:center;gap:12px;margin:10px 0 -4px}
.pv-svc .pv-grp:first-child{margin-top:0}
.pv-svc .pv-grp span{font:600 12px/1 var(--pv-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--pv-mut);white-space:nowrap}
.pv-svc .pv-grp::after{content:"";flex:1;height:1px;background:var(--pv-line)}
@media(max-width:759px){.pv-svc .pv-grp{display:none}}
/* tóm tắt nhanh (GEO) */
.pv-facts{display:grid;gap:26px;padding:clamp(22px,3vw,36px);border:1px solid var(--pv-line);border-radius:var(--pv-r);background:var(--pv-card);box-shadow:var(--pv-shadow)}
.pv-facts__m h2{font-size:clamp(24px,3vw,32px);margin:6px 0 12px}
.pv-facts__m p:not(.pv-kick){margin:0}
.pv-facts__d{margin:0;display:grid;gap:0}
.pv-facts__d>div{display:grid;gap:4px;padding:12px 0;border-top:1px solid var(--pv-line)}
.pv-facts__d>div:first-child{border-top:0;padding-top:0}
.pv-facts__d dt{font:600 11.5px/1.2 var(--pv-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--pv-acc-d)}
.pv-facts__d dd{margin:0;font-size:15.5px;color:var(--pv-ink)}
@media(min-width:960px){.pv-facts{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px;align-items:start}}
/* một vé / hai vé */
.pv-r2{display:grid;gap:18px}
@media(min-width:900px){.pv-r2{grid-template-columns:1fr 1fr}}
.pv-r2__c{padding:22px;border:1px solid var(--pv-line);border-radius:var(--pv-r);background:var(--pv-card);box-shadow:var(--pv-shadow);min-width:0}
.pv-r2__c h3{font-size:19px;margin:0 0 8px}
.pv-r2__c p{margin:10px 0 0;font-size:15px}
.pv-r2__c svg{display:block;width:100%;height:auto}
.pv-r2 .r-ln{stroke:var(--pv-arc);stroke-width:3;stroke-linecap:round}
.pv-r2 .is-warn .r-ln{stroke:#D4731A;stroke-dasharray:2 8}
.pv-r2 .r-n{fill:var(--pv-card);stroke:var(--pv-arc);stroke-width:3}
.pv-r2 .r-mid{stroke:#D4731A}
.pv-r2 .is-ok .r-mid{stroke:#0E8A4A;fill:#0E8A4A}
.pv-r2 text{font:600 20px var(--font,'Be Vietnam Pro',system-ui,sans-serif);fill:var(--pv-mut)}
.pv-r2 .r-ok{stroke:#fff}.pv-r2 .r-warn{stroke:#D4731A;fill:none}
.pv-r2 .r-bag{fill:var(--pv-arc2);stroke:var(--pv-arc);stroke-width:2}.pv-r2 .r-bagh{stroke:var(--pv-arc);stroke-width:2}
.pv-r2 .is-ok{border-top:3px solid #0E8A4A}.pv-r2 .is-warn{border-top:3px solid #D4731A}
/* ba kiểu ghế */
.pv-st{display:grid;gap:16px}
@media(min-width:760px){.pv-st{grid-template-columns:repeat(3,minmax(0,1fr))}}
.pv-st__c{padding:20px;border:1px solid var(--pv-line);border-radius:var(--pv-r);background:var(--pv-card);box-shadow:var(--pv-shadow);min-width:0}
.pv-st__c svg{display:block;width:100%;max-width:240px;height:auto;margin:0 0 10px;color:var(--pv-acc-d)}
.pv-st .s-ln{fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.pv-st .s-th{stroke-width:4}
.pv-st .s-fill{fill:currentColor;fill-opacity:.18;stroke:currentColor;stroke-width:2.5}
.pv-st__c h3{font-size:18px;margin:0 0 6px}.pv-st__c p{margin:0;font-size:15px}
@media(prefers-reduced-motion:reduce){.pv-ticker__track{animation:none}}
