/* ===== Trang Xe đoàn (/doi-xe): xe 45–53 chỗ, xe 19 chỗ, xe VIP ===== */
.dx-page .sec{padding-top:48px;padding-bottom:20px}
@media(min-width:1024px){.dx-page .sec{padding-top:72px;padding-bottom:28px}}
.dx-cap{position:absolute;left:12px;bottom:12px;padding:4px 10px;border-radius:999px;background:rgba(9,27,54,.72);color:#fff;font-size:12.5px;font-weight:600;line-height:1.3}
.dx-hero .dv-hero-img img{object-position:40% 60%}

/* Các dòng xe */
.dx-mg{list-style:none;display:grid;gap:18px}
@media(min-width:760px){.dx-mg{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1080px){.dx-mg{gap:22px}}
.dx-m{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;display:flex;flex-direction:column}
.dx-m figure{position:relative;margin:0;aspect-ratio:3/2;background:#e9f1f7}
.dx-m figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.dx-m-b{padding:18px 20px 20px;display:flex;flex-direction:column;gap:10px;flex:1}
.dx-m-k{font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--or-btn)}
.dx-m h3{font-size:22px;line-height:1.2;color:var(--navy-d);margin-top:-4px}
.dx-m h3 small{font-size:14px;font-weight:600;color:var(--muted);margin-left:6px;letter-spacing:.02em}
.dx-spec{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line2);border-radius:14px;overflow:hidden;background:var(--tint)}
.dx-spec div{padding:9px 10px;border-left:1px solid var(--line2)}
.dx-spec div:first-child{border-left:0}
.dx-spec dt{font-size:12px;color:var(--muted);line-height:1.3}
.dx-spec dd{font-size:15px;font-weight:700;color:var(--ink);line-height:1.35;font-variant-numeric:tabular-nums}
.dx-m-b>p{font-size:15px;line-height:1.55;color:var(--txt)}
.dx-m-b .dx-m-src{margin-top:auto;font-size:13px;color:var(--muted)}
.dx-m-src a{color:var(--blue);text-underline-offset:2px}

/* Nội thất */
.dx-gal{display:grid;gap:12px;grid-template-columns:1fr 1fr}
.dx-gal figure{position:relative;margin:0;border-radius:18px;overflow:hidden;background:#e9f1f7}
.dx-gal img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.dx-g1{grid-column:1/-1;aspect-ratio:4/5}
.dx-g2{grid-column:1/-1;aspect-ratio:16/9}
.dx-g3,.dx-g4{aspect-ratio:4/3}
@media(min-width:900px){
  .dx-gal{grid-template-columns:5fr 4fr 4fr;grid-template-rows:auto auto;gap:14px}
  .dx-g1{grid-column:1;grid-row:1/3;aspect-ratio:auto}
  .dx-g2{grid-column:2/4;grid-row:1}
  .dx-g3{grid-column:2;grid-row:2}
  .dx-g4{grid-column:3;grid-row:2}
}
.dx-feat{list-style:none;display:grid;gap:12px;margin-top:22px}
@media(min-width:720px){.dx-feat{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1080px){.dx-feat{grid-template-columns:repeat(4,1fr)}}
.dx-feat li{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 16px}
.dx-feat b{display:block;font-size:15px;color:var(--navy-d);line-height:1.35}
.dx-feat p{font-size:14px;color:var(--muted);line-height:1.45;margin-top:3px}
.dx-in .dv-src{margin-top:14px}

/* Chọn xe */
.dx-pick-in{display:grid;gap:16px;align-items:start}
@media(min-width:980px){.dx-pick-in{grid-template-columns:1.5fr 1fr;gap:22px}}
.dx-tb th[scope=row]{white-space:nowrap}
.dx-tb td:nth-child(2){font-weight:700;color:var(--navy-d);white-space:nowrap}
.dx-warn{background:#fff6ec;border:1px solid #f6d3ad;border-radius:18px;padding:18px 20px}
.dx-warn-h{display:flex;gap:8px;align-items:center;font-weight:700;color:#7a3a00;margin-bottom:8px;line-height:1.35}
.dx-warn-h svg{width:20px;height:20px;fill:none;stroke:var(--or-btn);stroke-width:2.2;stroke-linecap:round}
.dx-warn p:not(.dx-warn-h){font-size:15px;line-height:1.6;color:var(--txt)}
.dx-pick .dv-src{margin-top:12px}

/* Giờ lái */
.dx-law a{color:var(--blue);text-underline-offset:2px}
.dx-hrs .sh{flex-direction:column;align-items:flex-start;gap:8px}
.dx-law{max-width:none!important;text-align:left}
.dx-hg{list-style:none;display:grid;gap:12px}
@media(min-width:760px){.dx-hg{grid-template-columns:repeat(3,1fr);gap:16px}}
.dx-hg li{background:var(--navy-dd);color:#fff;border-radius:20px;padding:20px 22px;display:flex;flex-direction:column;gap:6px}
.dx-hg b{font-size:clamp(28px,3.2vw,38px);line-height:1;color:#ffb36b;font-variant-numeric:tabular-nums}
.dx-hg span{font-size:15px;line-height:1.5;color:#dbe7f1}
.dx-hrs-note{margin-top:16px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--or);border-radius:14px;padding:16px 18px}
.dx-hrs-note p{font-size:15.5px;line-height:1.6;color:var(--txt)}
.dx-hrs-note b{color:var(--navy-d)}

/* Quy trình */
.dx-steps{list-style:none;display:grid;gap:12px;counter-reset:s}
@media(min-width:720px){.dx-steps{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1080px){.dx-steps{grid-template-columns:repeat(4,1fr);gap:16px}}
.dx-steps li{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px}
.dx-steps span{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#e2f2fc;color:var(--blue);font-weight:800;font-size:14px;margin-bottom:10px}
.dx-steps b{display:block;color:var(--navy-d);font-size:16px;line-height:1.35;margin-bottom:4px}
.dx-steps p{font-size:14.5px;color:var(--txt);line-height:1.5}
.dx-proc{padding-bottom:56px!important}
.dx-page .dv-src{max-width:780px}
@media(max-width:719px){
  .dx-tb td:nth-of-type(1)::before{content:"Xe gợi ý";color:var(--blue)}
  .dx-tb td:nth-of-type(2)::before{content:"Ghi chú";color:#b85400}
  .dx-tb td:nth-child(2){white-space:normal}
}
.dx-tb thead th:nth-child(3){background:#f6fafd}
.dx-spec dt{font-size:11.5px}


/* Đoạn mô tả cạnh tiêu đề mục */
.dx-page .sh{flex-wrap:wrap}
.dx-sh-p{max-width:520px;font-size:15px;line-height:1.6;color:var(--txt)}
@media(max-width:899px){.dx-page .sh{flex-direction:column;align-items:flex-start;gap:10px}}

/* Ba nhóm xe */
.dx-nav-sec{padding:26px 0 0}
.dx-nav{list-style:none;display:grid;gap:12px}
@media(min-width:900px){.dx-nav{grid-template-columns:repeat(3,1fr);gap:16px}}
.dx-nav a{display:flex;align-items:center;gap:14px;padding:10px 14px 10px 10px;background:#fff;border:1px solid var(--line);border-radius:18px;text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .15s,transform .15s;min-height:88px}
.dx-nav a:hover{border-color:#bcd9ec;box-shadow:0 8px 24px rgba(9,27,54,.08);transform:translateY(-1px)}
.dx-nav a:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.dx-nav-img{flex:0 0 96px;height:72px;border-radius:12px;overflow:hidden;background:#e9f1f7}
.dx-nav-img img{width:100%;height:100%;object-fit:cover;display:block}
.dx-nav-t{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.dx-nav-t small{font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--or-btn)}
.dx-nav-t b{font-size:18px;line-height:1.25;color:var(--navy-d)}
.dx-nav-t span{font-size:13.5px;line-height:1.4;color:var(--muted)}
.dx-nav a>svg{flex:0 0 20px;width:20px;height:20px;fill:none;stroke:var(--navy-d);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* Xe 45–53 chỗ */
.dx-models .dx-gal{margin-top:22px}

/* Xe 19 chỗ */
.dx-19-in{display:grid;gap:14px}
@media(min-width:980px){.dx-19-in{grid-template-columns:1.55fr 1fr;gap:18px;align-items:stretch}}
.dx-19-main{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;display:flex;flex-direction:column}
.dx-19-img{position:relative;margin:0;aspect-ratio:16/10;background:#e9f1f7}
.dx-19-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.dx-19-b{padding:18px 20px 20px;display:flex;flex-direction:column;gap:10px}
.dx-19-b h3{font-size:22px;line-height:1.2;color:var(--navy-d);margin-top:-4px}
.dx-19-b h3 small{font-size:14px;font-weight:600;color:var(--muted);margin-left:6px}
.dx-19-b>p{font-size:15px;line-height:1.55;color:var(--txt)}
.dx-19-b .dx-19-n{font-size:14px;color:#7a3a00;background:#fff6ec;border:1px solid #f6d3ad;border-radius:12px;padding:10px 12px}
@media(min-width:760px){.dx-19-main{display:grid;grid-template-columns:1.1fr 1fr}.dx-19-img{aspect-ratio:auto;min-height:100%}}
@media(min-width:980px){.dx-19-main{display:flex}.dx-19-img{aspect-ratio:16/10;min-height:0}}
.dx-gal2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.dx-gal2 figure{position:relative;margin:0;border-radius:18px;overflow:hidden;background:#e9f1f7;aspect-ratio:3/4}
.dx-gal2 img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media(min-width:980px){.dx-gal2{grid-template-columns:1fr;grid-template-rows:1fr 1fr;gap:14px}.dx-gal2 figure{aspect-ratio:auto;min-height:220px}}
.dx-19 .dv-src{margin-top:12px}

/* Xe VIP */
.dx-vip-sec{background:linear-gradient(180deg,#f3f7fb 0,#f3f7fb 100%);margin-top:48px;padding-bottom:48px!important}
@media(min-width:1024px){.dx-vip-sec{margin-top:72px;padding-bottom:64px!important}}
.dx-vtabs{display:flex;flex-wrap:wrap;gap:8px;margin:-8px 0 18px}
.dx-vtabs button{font:inherit;font-size:14px;font-weight:600;padding:8px 16px;border-radius:999px;border:1px solid var(--line2);background:#fff;color:var(--navy-d);cursor:pointer;min-height:40px}
.dx-vtabs button[aria-pressed=true]{background:var(--navy-d);border-color:var(--navy-d);color:#fff}
.dx-vtabs button:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.dx-vgrp+.dx-vgrp{margin-top:22px}
.dx-vgrp[hidden]{display:none}
.dx-vip-k{display:flex;align-items:baseline;gap:10px;margin-bottom:10px;font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--or-btn)}
.dx-vip-k span{font-size:12.5px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--muted)}
.dx-vg{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.dx-vg li{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column}
.dx-vg figure{position:relative;margin:0;aspect-ratio:4/3;background:#e9f1f7}
.dx-vg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.dx-vg b{padding:10px 12px 0;font-size:14.5px;line-height:1.35;color:var(--navy-d)}
.dx-vg li>span{padding:2px 12px 12px;font-size:13px;color:var(--muted)}
@media(max-width:1079px){.dx-vg{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:759px){
  .dx-vg{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;margin:0 calc(-1 * var(--gut));padding:0 var(--gut) 6px;scroll-padding-left:var(--gut);scrollbar-width:none}
  .dx-vg::-webkit-scrollbar{display:none}
  .dx-vg li{flex:0 0 64%;scroll-snap-align:start}
}
.dx-vip-sec .dv-src{margin-top:16px}
