/* Travel Shop V2.2 — cân lại gallery/summary đúng tỷ lệ xe_shop */
.travel-template{font-family:Inter,Arial,sans-serif}
.travel-shop-vpd{--travel-shadow:0 12px 34px rgba(15,23,42,.07);--travel-soft:#f7f9fc;--travel-danger:#e53935}
.travel-vpd-hero{display:grid;grid-template-columns:minmax(0,2.08fr) minmax(350px,1fr);gap:20px;align-items:stretch}
.travel-vpd-gallery-card,.travel-vpd-summary-card{min-width:0;border:1px solid var(--industry-border);border-radius:20px;background:#fff;box-shadow:var(--travel-shadow)}
.travel-vpd-gallery-card{display:flex;flex-direction:column;padding:16px;overflow:hidden}
.travel-vpd-gallery-main{position:relative;display:flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:0;aspect-ratio:49/30;overflow:hidden;border:1px solid #edf1f6;border-radius:15px;background:#eef3f8;cursor:zoom-in;outline:0}
.travel-vpd-gallery-main:focus-visible{box-shadow:0 0 0 4px color-mix(in srgb,var(--industry-primary) 22%,transparent)}
.travel-vpd-gallery-main>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;background:#eef3f8;transition:opacity .2s ease,transform .35s ease}
.travel-vpd-gallery-main:hover>img{transform:scale(1.012)}
.travel-vpd-gallery-nav{position:absolute;top:50%;z-index:4;display:grid;place-items:center;width:46px;height:46px;padding:0;transform:translateY(-50%);border:1px solid rgba(15,23,42,.12);border-radius:50%;background:rgba(255,255,255,.94);color:#18304f;box-shadow:0 8px 22px rgba(15,23,42,.15);cursor:pointer;transition:.2s ease}
.travel-vpd-gallery-nav:hover{border-color:var(--industry-primary);background:var(--industry-primary);color:#fff}
.travel-vpd-gallery-prev{left:14px}.travel-vpd-gallery-next{right:14px}
.travel-vpd-gallery-tools{position:absolute;left:16px;bottom:15px;z-index:5;display:flex;align-items:center;gap:8px}
.travel-vpd-photo-counter,.travel-vpd-gallery-tool{display:inline-flex;align-items:center;justify-content:center;min-height:38px;border:1px solid rgba(15,23,42,.13);border-radius:999px;background:rgba(255,255,255,.94);color:#334155;box-shadow:0 8px 22px rgba(15,23,42,.14);backdrop-filter:blur(8px)}
.travel-vpd-photo-counter{gap:7px;padding:0 13px;font-size:13px;font-weight:900}
.travel-vpd-gallery-tool{width:38px;padding:0;cursor:pointer}
.travel-vpd-gallery-tool:hover{color:var(--industry-primary)}
.travel-vpd-cover-editor{top:14px;right:14px;bottom:auto!important;left:auto!important}
.travel-vpd-thumbs{display:flex;gap:10px;min-width:0;overflow-x:auto;padding:12px 0 1px;scrollbar-width:none;overscroll-behavior-inline:contain;scroll-snap-type:x proximity}
.travel-vpd-thumbs::-webkit-scrollbar{display:none}
.travel-vpd-thumb{flex:0 0 112px;aspect-ratio:16/10;overflow:hidden;padding:0;border:2px solid transparent;border-radius:10px;background:#fff;cursor:pointer;scroll-snap-align:start;transition:.18s ease}
.travel-vpd-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.travel-vpd-thumb:hover{transform:translateY(-1px)}
.travel-vpd-thumb.is-active{border-color:var(--industry-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--industry-primary) 14%,transparent)}

.travel-vpd-summary-card{display:flex;flex-direction:column;padding:22px}
.travel-vpd-summary-head{display:block}
.travel-vpd-kicker{display:inline-flex;align-items:center;gap:7px;margin-bottom:8px;color:var(--industry-primary);font-size:10px;font-weight:950;letter-spacing:.055em;text-transform:uppercase}
.travel-vpd-summary-head h1{margin:0;color:#0f172a;font-size:31px;line-height:1.16;font-weight:950;letter-spacing:-.02em}
.travel-vpd-summary-head p{margin:8px 0 0;color:#64748b;font-size:13px;line-height:1.55}
.travel-vpd-price-box{display:grid;gap:4px;margin-top:15px;padding:14px 15px;border:1px solid color-mix(in srgb,var(--travel-danger) 24%,#f1d7d7);border-radius:15px;background:color-mix(in srgb,var(--travel-danger) 4%,#fff)}
.travel-vpd-price-box>span{color:#64748b;font-size:10px;font-weight:900;text-transform:uppercase}
.travel-vpd-price-box>strong{color:var(--travel-danger);font-size:25px;line-height:1.15;font-weight:950}
.travel-vpd-price-box>small{color:#7b8797;font-size:10.5px;line-height:1.45}
.travel-vpd-destination{display:grid;grid-template-columns:34px minmax(0,1fr) 22px;gap:10px;align-items:center;margin-top:12px;padding:12px 13px;border:1px solid #d9e3ef;border-radius:14px;background:#f6f9fd;color:#0f172a}
.travel-vpd-destination>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#fff;color:var(--industry-primary)}
.travel-vpd-destination>div{display:grid;gap:2px;min-width:0}.travel-vpd-destination small{color:#64748b;font-size:9px;font-weight:900;text-transform:uppercase}.travel-vpd-destination strong{overflow:hidden;text-overflow:ellipsis;color:#18253a;font-size:13px;white-space:nowrap}.travel-vpd-destination>i{color:var(--industry-primary)}
.travel-vpd-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.travel-vpd-chips span{display:inline-flex;align-items:center;gap:5px;padding:6px 8px;border-radius:999px;background:color-mix(in srgb,var(--industry-primary) 7%,#fff);color:var(--industry-primary);font-size:10px;font-weight:850}
.travel-vpd-benefits{display:grid;gap:9px;margin:15px 0}
.travel-vpd-benefits>div{display:flex;align-items:flex-start;gap:8px;color:#344054;font-size:12px;font-weight:750;line-height:1.4}
.travel-vpd-benefits i{margin-top:1px;color:var(--industry-primary)}
.travel-vpd-primary-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:auto}
.travel-vpd-btn{display:flex;align-items:center;justify-content:center;gap:7px;min-height:48px;padding:8px 10px;border:1px solid var(--industry-primary);border-radius:12px;font-size:13px;font-weight:950;transition:.2s ease}
.travel-vpd-btn:hover{transform:translateY(-1px)}
.travel-vpd-btn--primary{background:var(--industry-primary);color:#fff;box-shadow:0 10px 22px color-mix(in srgb,var(--industry-primary) 20%,transparent)}
.travel-vpd-btn--outline{background:#fff;color:var(--industry-primary)}
.travel-vpd-contact-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(105px,1fr));gap:8px;margin-top:10px}
.travel-vpd-contact-actions a{display:flex;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:43px;padding:7px;border:1px solid #dbe4ef;border-radius:11px;background:#fff;font-size:10.5px;font-weight:900;white-space:nowrap}
.travel-vpd-contact-actions a svg{width:15px;height:15px}.travel-vpd-contact-actions .is-call{border-color:#b7e9c5;color:#16813b;background:#f2fff6}.travel-vpd-contact-actions .is-zalo{border-color:#bcd8ff;color:#0768d7;background:#f2f7ff}.travel-vpd-contact-actions .is-facebook{border-color:#bfd5ff;color:#1769e0;background:#f3f7ff}

.travel-template .industry-template__tabs{border-radius:15px}
.travel-offers,.travel-amenities,.travel-gallery,.travel-nearby,.travel-review,.travel-faq,.travel-about{padding:22px;border:1px solid var(--industry-border);border-radius:18px;background:#fff;box-shadow:0 8px 28px rgba(15,23,42,.045)}
.travel-offers__grid{display:grid;grid-template-columns:repeat(var(--industry-listing-desktop,4),minmax(0,1fr));gap:14px}
.travel-card{overflow:hidden;border:1px solid var(--industry-border);border-radius:14px;background:#fff;transition:.2s ease}
.travel-card:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(15,23,42,.08)}
.travel-card .industry-template__listing-image{position:relative;display:block;width:100%;aspect-ratio:1/1;overflow:hidden}
.travel-card .industry-template__listing-image>img{display:block;width:100%;height:100%;object-fit:cover}.travel-card .industry-template__listing-image>span{position:absolute;right:9px;top:9px;padding:5px 8px;border-radius:8px;background:rgba(12,46,95,.86);color:#fff;font-size:10px;font-weight:900}.travel-card>div{display:grid;gap:7px;padding:12px}.travel-card>div>small{color:var(--industry-primary);font-size:10px;font-weight:900;text-transform:uppercase}.travel-card p{margin:0;color:#64748b;font-size:11px}.travel-card footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.travel-card__price{display:block;min-width:0;overflow:hidden;color:var(--industry-primary);font-size:18px;font-weight:950;line-height:1.15;white-space:nowrap;text-overflow:ellipsis}.travel-card footer>a{flex:0 0 auto;color:#0c2e5f;font-weight:900;white-space:nowrap}
.travel-amenities{display:grid;grid-template-columns:250px minmax(0,1fr);gap:22px;align-items:center;background:#f3f8ff}.travel-amenities>div:first-child span,.travel-promo span,.travel-booking>span,.travel-policies>span{color:var(--industry-primary);font-size:11px;font-weight:900;text-transform:uppercase}.travel-amenities h2,.travel-promo h2{margin:5px 0;color:#0c2e5f}.travel-amenities>div:first-child p{margin:8px 0 0;color:#64748b;font-size:12px;line-height:1.6}.travel-amenities__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.travel-amenities article{display:grid;gap:6px;padding:14px;border-radius:13px;background:#fff}.travel-amenities i{font-size:23px;color:var(--industry-primary)}.travel-amenities small{color:#64748b}
.travel-promo{display:grid;grid-template-columns:1fr .9fr;gap:25px;align-items:center;padding:25px;border-radius:18px;background:linear-gradient(110deg,#0c2e5f,var(--industry-primary));color:#fff}.travel-promo h2{color:#fff}.travel-promo p{color:rgba(255,255,255,.76);line-height:1.6}.travel-promo>div:last-child{display:grid;gap:9px}.travel-promo b{display:flex;gap:8px}.travel-promo a{display:inline-flex;align-items:center;gap:8px;width:max-content;margin-top:8px;padding:10px 14px;border-radius:10px;background:#fff;color:#0c2e5f;font-weight:900}
.travel-content{display:grid;grid-template-columns:minmax(0,1fr) var(--industry-sidebar,330px);gap:18px;align-items:start}.travel-content main{display:grid;gap:18px}.travel-content aside{position:sticky;top:76px;display:grid;gap:14px}
.travel-gallery__grid{display:grid;grid-template-columns:1.55fr repeat(3,1fr);grid-template-rows:repeat(2,160px);gap:8px}.travel-gallery__item{position:relative;min-width:0;overflow:hidden;padding:0;border:0;border-radius:12px;background:#eef2f7;cursor:zoom-in}.travel-gallery__item.is-featured{grid-row:span 2}.travel-gallery__item img{display:block;width:100%;height:100%;object-fit:cover;transition:.3s ease}.travel-gallery__item:hover img{transform:scale(1.035)}.travel-gallery__item>span{position:absolute;left:9px;bottom:9px;display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:8px;background:rgba(12,46,95,.82);color:#fff;font-size:10px;font-weight:850}
.travel-nearby>div:last-child{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.travel-nearby article{display:flex;gap:9px;align-items:center;padding:13px;border-radius:12px;background:#f3f8ff}.travel-nearby i{color:var(--industry-primary)}.travel-nearby span{display:grid}.travel-nearby small{color:#64748b}
.travel-booking,.travel-policies{padding:20px;border-radius:16px}.travel-booking{background:linear-gradient(145deg,#0c2e5f,#174f9e);color:#fff}.travel-booking h2{margin:7px 0;color:#fff}.travel-booking p{color:rgba(255,255,255,.74);line-height:1.6}.travel-booking__meta{display:grid;gap:8px;margin:14px 0}.travel-booking__meta b{display:flex;gap:7px;font-size:12px}.travel-policies{border:1px solid var(--industry-border);background:#fff}.travel-policies h3{margin:7px 0;color:#0c2e5f}.travel-policies ul{display:grid;gap:9px;list-style:none;margin:12px 0 0;padding:0}.travel-policies li{display:flex;gap:8px;color:#475569}.travel-policies i{color:var(--industry-primary)}

.travel-vpd-modal{position:fixed;inset:0;z-index:10050;display:none;align-items:center;justify-content:center;padding:20px}.travel-vpd-modal.is-open{display:flex}.travel-vpd-modal__backdrop{position:absolute;inset:0;background:rgba(3,10,24,.91);backdrop-filter:blur(6px)}.travel-vpd-modal__dialog{position:relative;z-index:1;display:grid;grid-template-columns:56px minmax(0,1fr) 56px;grid-template-rows:minmax(0,1fr) auto;align-items:center;width:min(1240px,96vw);height:min(900px,94vh)}.travel-vpd-modal__dialog figure{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;height:100%;margin:0}.travel-vpd-modal__dialog figure>img{display:block;max-width:100%;max-height:calc(94vh - 108px);object-fit:contain;border-radius:12px;background:#fff;box-shadow:0 18px 46px rgba(0,0,0,.35)}.travel-vpd-modal__dialog figcaption{position:absolute;left:50%;bottom:14px;display:flex;align-items:center;gap:7px;transform:translateX(-50%);padding:8px 12px;border-radius:999px;background:rgba(15,23,42,.76);color:#fff;font-size:12px}.travel-vpd-modal__close,.travel-vpd-modal__nav{display:grid;place-items:center;border:0;border-radius:50%;background:rgba(255,255,255,.95);color:#0f172a;cursor:pointer;box-shadow:0 10px 26px rgba(0,0,0,.22)}.travel-vpd-modal__close{position:absolute;right:0;top:0;z-index:3;width:44px;height:44px}.travel-vpd-modal__nav{width:48px;height:48px;font-size:20px}.travel-vpd-modal__prev{justify-self:start}.travel-vpd-modal__next{justify-self:end}.travel-vpd-modal__thumbs{grid-column:1/-1;display:flex;gap:8px;min-width:0;overflow-x:auto;padding:10px 54px 0;scrollbar-width:none}.travel-vpd-modal__thumbs::-webkit-scrollbar{display:none}.travel-vpd-modal__thumb{flex:0 0 94px;aspect-ratio:16/10;overflow:hidden;padding:0;border:2px solid transparent;border-radius:9px;background:#fff;opacity:.62;cursor:pointer}.travel-vpd-modal__thumb img{width:100%;height:100%;object-fit:cover}.travel-vpd-modal__thumb.is-active{border-color:#fff;opacity:1;box-shadow:0 0 0 2px var(--industry-primary)}
html.travel-vpd-modal-open,body.travel-vpd-modal-open{overflow:hidden}

@media(max-width:1100px){.travel-vpd-hero{grid-template-columns:1fr}.travel-vpd-summary-card{min-height:auto}.travel-offers__grid{grid-template-columns:repeat(var(--industry-listing-tablet,3),minmax(0,1fr))}.travel-content{grid-template-columns:1fr}.travel-content aside{position:static;grid-template-columns:1fr 1fr}.travel-amenities{grid-template-columns:1fr}}
@media(max-width:767px){.travel-vpd-hero{gap:12px}.travel-vpd-gallery-card{padding:8px;border-radius:15px}.travel-vpd-gallery-main{aspect-ratio:4/3;border-radius:11px}.travel-vpd-gallery-nav{width:38px;height:38px}.travel-vpd-gallery-prev{left:8px}.travel-vpd-gallery-next{right:8px}.travel-vpd-gallery-tools{left:10px;bottom:10px}.travel-vpd-photo-counter{min-height:34px;padding-inline:10px}.travel-vpd-gallery-tool{width:34px;min-height:34px}.travel-vpd-cover-editor{top:8px;right:8px}.travel-vpd-thumbs{gap:8px;padding-top:8px}.travel-vpd-thumb{flex-basis:84px}.travel-vpd-summary-card{padding:17px;border-radius:15px}.travel-vpd-summary-head{display:block}.travel-vpd-summary-head h1{font-size:25px}.travel-vpd-summary-head p{font-size:12px}.travel-vpd-contact-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.travel-offers,.travel-amenities,.travel-gallery,.travel-nearby,.travel-review,.travel-faq,.travel-about{padding:14px;border-radius:15px}.travel-offers__grid{grid-template-columns:repeat(var(--industry-listing-mobile,2),minmax(0,1fr));gap:8px}.travel-card>div{padding:9px}.travel-amenities__grid{grid-template-columns:repeat(2,1fr)}.travel-promo{grid-template-columns:1fr;padding:17px}.travel-gallery__grid{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(4,125px)}.travel-gallery__item.is-featured{grid-row:auto;grid-column:span 2}.travel-nearby>div:last-child{grid-template-columns:1fr}.travel-content aside{grid-template-columns:1fr}.travel-vpd-modal{padding:8px}.travel-vpd-modal__dialog{grid-template-columns:42px minmax(0,1fr) 42px;width:100%;height:100%}.travel-vpd-modal__close{right:4px;top:4px;width:40px;height:40px}.travel-vpd-modal__nav{width:38px;height:38px}.travel-vpd-modal__dialog figure>img{max-height:calc(100vh - 116px)}.travel-vpd-modal__thumbs{padding:8px 42px 0}.travel-vpd-modal__thumb{flex-basis:74px}}
@media(max-width:420px){.travel-vpd-summary-head{display:block}.travel-vpd-contact-actions{grid-template-columns:1fr}.travel-offers__grid{grid-template-columns:1fr}.travel-amenities__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.travel-gallery__grid{grid-template-columns:1fr;grid-template-rows:none}.travel-gallery__item,.travel-gallery__item.is-featured{grid-column:auto;grid-row:auto;aspect-ratio:4/3}.travel-vpd-photo-counter{font-size:11px}}
@media(prefers-reduced-motion:reduce){.travel-vpd-gallery-main>img,.travel-gallery__item img{transition:none}.travel-vpd-gallery-tool[data-travel-play-toggle]{display:none}}

@media(max-width:359px){.travel-vpd-primary-actions{grid-template-columns:1fr}}

/* Travel Shop V2.3: giá một dòng và card gọn khi chọn 5-6 listing/hàng. */
@media(min-width:1101px){.travel-card .industry-template__listing-title{font-size:clamp(13px,1vw,16px);line-height:1.38}.travel-card__price{font-size:clamp(15px,1.2vw,18px)}}

/* Travel Shop V2.4 — gallery dưới dạng một hàng, layout dưới toàn chiều rộng và lightbox ổn định. */
.travel-card p{
    display:flex;
    align-items:center;
    gap:6px;
}
.travel-card p i{
    flex:0 0 auto;
    margin:0;
}
.travel-vpd-destination{
    column-gap:12px;
}
.travel-booking__meta b{
    align-items:center;
    gap:12px;
}
.travel-booking__meta b>i{
    flex:0 0 18px;
    width:18px;
    text-align:center;
}
.travel-booking__meta b>span{
    min-width:0;
}

/* Từ khối Hình ảnh thực tế trở xuống chỉ dùng một cột toàn chiều rộng. */
.travel-content.travel-content--single{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:18px;
    align-items:start;
}
.travel-content--single>main{
    display:grid;
    gap:18px;
    min-width:0;
}
.travel-content--single>.travel-content__full-width{
    position:static;
    top:auto;
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:18px;
    min-width:0;
}

/* Hình ảnh thực tế: một hàng ngang, hỗ trợ vuốt/scroll. */
.travel-gallery__head{
    align-items:flex-end;
    gap:16px;
}
.travel-gallery__head-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    flex:0 0 auto;
}
.travel-gallery__head-actions small{
    margin-right:2px;
    white-space:nowrap;
}
.travel-gallery__head-actions button{
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    padding:0;
    border:1px solid #dbe4ef;
    border-radius:50%;
    background:#fff;
    color:#0c2e5f;
    box-shadow:0 5px 16px rgba(15,23,42,.07);
    cursor:pointer;
    transition:.18s ease;
}
.travel-gallery__head-actions button:hover{
    border-color:var(--industry-primary);
    background:var(--industry-primary);
    color:#fff;
}
.travel-gallery__viewport{
    width:100%;
    min-width:0;
    overflow:hidden;
}
.travel-gallery__rail{
    display:flex;
    gap:12px;
    width:100%;
    min-width:0;
    overflow-x:auto;
    overflow-y:hidden;
    padding:2px 2px 10px;
    scroll-behavior:smooth;
    scroll-snap-type:x mandatory;
    overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:thin;
    scrollbar-color:color-mix(in srgb,var(--industry-primary) 40%,#cbd5e1) transparent;
}
.travel-gallery__rail::-webkit-scrollbar{
    height:6px;
}
.travel-gallery__rail::-webkit-scrollbar-track{
    background:transparent;
}
.travel-gallery__rail::-webkit-scrollbar-thumb{
    border-radius:999px;
    background:color-mix(in srgb,var(--industry-primary) 40%,#cbd5e1);
}
.travel-gallery__item{
    position:relative;
    flex:0 0 clamp(250px,25.5vw,360px);
    width:clamp(250px,25.5vw,360px);
    aspect-ratio:4/3;
    min-width:0;
    overflow:hidden;
    padding:0;
    border:0;
    border-radius:13px;
    background:#eef2f7;
    cursor:zoom-in;
    scroll-snap-align:start;
    scroll-snap-stop:always;
}
.travel-gallery__item img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .3s ease;
}
.travel-gallery__item:hover img{
    transform:scale(1.035);
}
.travel-gallery__item>span{
    position:absolute;
    left:10px;
    bottom:10px;
    display:flex;
    align-items:center;
    gap:6px;
    padding:7px 9px;
    border-radius:9px;
    background:rgba(12,46,95,.84);
    color:#fff;
    font-size:10px;
    font-weight:850;
}

/* Lightbox được JS đưa thẳng ra body để không bị transform/overflow của layout cha làm sai. */
.travel-vpd-modal{
    position:fixed!important;
    inset:0!important;
    z-index:2147483000!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100vw!important;
    height:100vh!important;
    height:100dvh!important;
    margin:0!important;
    padding:18px!important;
    overflow:hidden!important;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:none!important;
    transition:opacity .18s ease,visibility 0s linear .18s;
}
.travel-vpd-modal.is-open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transition:opacity .18s ease;
}
.travel-vpd-modal__backdrop{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    background:rgba(3,10,24,.94);
    backdrop-filter:blur(7px);
}
.travel-vpd-modal__dialog{
    position:relative!important;
    inset:auto!important;
    z-index:2!important;
    display:grid!important;
    grid-template-columns:58px minmax(0,1fr) 58px!important;
    grid-template-rows:minmax(0,1fr) auto!important;
    align-items:center!important;
    width:min(1420px,100%)!important;
    height:100%!important;
    max-width:none!important;
    max-height:none!important;
    margin:0!important;
    transform:none!important;
}
.travel-vpd-modal__dialog figure{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:0;
    min-height:0;
    width:100%;
    height:100%;
    margin:0;
    overflow:hidden;
}
.travel-vpd-modal__dialog figure>img{
    display:block;
    width:auto!important;
    height:auto!important;
    max-width:100%!important;
    max-height:calc(100dvh - 126px)!important;
    object-fit:contain!important;
    object-position:center!important;
    border-radius:12px;
    background:transparent!important;
    box-shadow:0 18px 48px rgba(0,0,0,.38);
}
.travel-vpd-modal__close{
    position:absolute!important;
    top:0!important;
    right:0!important;
    z-index:5!important;
}
.travel-vpd-modal__thumbs{
    grid-column:1/-1!important;
    width:100%;
    max-width:100%;
}
html.travel-vpd-modal-open,
body.travel-vpd-modal-open{
    overflow:hidden!important;
    overscroll-behavior:none;
}

@media(max-width:767px){
    .travel-gallery__head{
        align-items:flex-start;
    }
    .travel-gallery__head-actions{
        align-self:flex-start;
    }
    .travel-gallery__head-actions small{
        display:none;
    }
    .travel-gallery__head-actions button{
        width:34px;
        height:34px;
    }
    .travel-gallery__item{
        flex-basis:min(82vw,310px);
        width:min(82vw,310px);
    }
    .travel-content--single>.travel-content__full-width{
        grid-template-columns:minmax(0,1fr);
    }
    .travel-vpd-modal{
        padding:8px!important;
    }
    .travel-vpd-modal__dialog{
        grid-template-columns:42px minmax(0,1fr) 42px!important;
    }
    .travel-vpd-modal__dialog figure>img{
        max-height:calc(100dvh - 112px)!important;
    }
}


/* Travel Shop V2.5 — tinh chỉnh UX/UI, giảm khoảng cách và tăng tương phản icon */
.travel-shop-vpd{
    --travel-shadow:0 10px 26px rgba(15,23,42,.055);
}
.travel-vpd-hero{
    gap:18px;
}
.travel-vpd-gallery-card,
.travel-vpd-summary-card{
    border-radius:18px;
}
.travel-vpd-gallery-card{
    padding:14px;
}
.travel-vpd-summary-card{
    padding:20px;
}
.travel-vpd-summary-head h1{
    font-size:clamp(29px,2.35vw,38px);
}
.travel-vpd-summary-head p{
    margin-top:7px;
    font-size:13px;
}
.travel-vpd-price-box,
.travel-vpd-destination{
    margin-top:14px;
}
.travel-vpd-chips{
    margin-top:11px;
}
.travel-vpd-benefits{
    gap:8px;
    margin:14px 0;
}
.travel-vpd-benefits > div,
.travel-card p,
.travel-booking__meta b,
.travel-policies li,
.travel-nearby article,
.travel-amenities article{
    align-items:flex-start;
}
.travel-vpd-primary-actions{
    margin-top:auto;
}
.travel-vpd-btn,
.travel-vpd-contact-actions a{
    transition:transform .18s ease, box-shadow .18s ease, background-color .18s ease, color .18s ease, border-color .18s ease;
}
.travel-vpd-contact-actions a:hover,
.travel-vpd-btn:hover,
.travel-gallery__head-actions button:hover,
.travel-booking .industry-template__button:hover{
    transform:translateY(-1px);
}

.travel-template .industry-template__tabs{
    margin-top:14px;
    border-radius:16px;
}
.travel-offers,
.travel-amenities,
.travel-gallery,
.travel-nearby,
.travel-faq,
.travel-booking,
.travel-policies{
    padding:18px;
    border-radius:16px;
    box-shadow:0 8px 24px rgba(15,23,42,.045);
}
.travel-review,
.travel-about{
    padding:0;
    border:0;
    background:transparent;
    box-shadow:none;
}
.travel-about .ct5-panel,
.travel-review .ct5-panel,
.travel-review .xe-review-compact{
    margin:0;
    border-radius:16px;
    border:1px solid var(--industry-border);
    box-shadow:0 8px 24px rgba(15,23,42,.045);
}
.travel-content.travel-content--single,
.travel-content--single > main,
.travel-content--single > .travel-content__full-width{
    gap:14px;
}

.travel-offers__grid{
    gap:12px;
}
.travel-card{
    border-radius:14px;
}
.travel-card > div{
    gap:8px;
    padding:12px 12px 11px;
}
.travel-card p{
    gap:8px;
}
.travel-card p i{
    color:#ef4444;
    opacity:.95;
}
.travel-card footer{
    align-items:center;
}
.travel-card__price{
    display:inline-flex;
    align-items:center;
    min-height:28px;
    color:var(--industry-primary);
    font-size:17px;
    font-weight:950;
    line-height:1.1;
}
.travel-card footer > a{
    display:inline-flex;
    align-items:center;
    min-height:28px;
}

.travel-amenities{
    grid-template-columns:220px minmax(0,1fr);
    gap:18px;
}
.travel-amenities__grid{
    gap:10px;
}
.travel-amenities article{
    gap:8px;
    padding:14px;
    border:1px solid #edf2f7;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.65);
}
.travel-amenities article i{
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    border-radius:12px;
    background:color-mix(in srgb,var(--industry-primary) 10%, #fff);
    color:var(--industry-primary);
}
.travel-amenities article strong{
    line-height:1.35;
}

.travel-promo{
    gap:18px;
    padding:20px 22px;
    border-radius:16px;
}
.travel-promo span,
.travel-promo p,
.travel-promo b,
.travel-promo b i{
    color:#fff;
}
.travel-promo p{
    color:rgba(255,255,255,.82);
}
.travel-promo a{
    min-height:44px;
    padding:11px 15px;
    border-radius:11px;
}
.travel-promo a i{
    color:#0c2e5f;
}

.travel-gallery__head{
    gap:12px;
}
.travel-gallery__head-actions button{
    width:36px;
    height:36px;
}
.travel-gallery__item{
    border-radius:12px;
}
.travel-nearby > div:last-child{
    gap:10px;
}
.travel-nearby article{
    gap:10px;
    padding:13px 14px;
    border:1px solid #e5edf7;
}
.travel-nearby i{
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    border-radius:10px;
    background:#fff;
    color:var(--industry-primary);
    box-shadow:0 4px 12px rgba(15,23,42,.06);
}
.travel-nearby span{
    gap:2px;
}

.travel-content__full-width{
    grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);
    align-items:start;
}
.travel-booking{
    background:linear-gradient(145deg,#0c2e5f,#1f5fba);
}
.travel-booking > span,
.travel-booking h2,
.travel-booking p,
.travel-booking__meta b,
.travel-booking__meta b > span{
    color:#fff;
}
.travel-booking p{
    color:rgba(255,255,255,.84);
}
.travel-booking__meta{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin:15px 0;
}
.travel-booking__meta b{
    gap:10px;
    padding:10px 12px;
    border-radius:12px;
    background:rgba(255,255,255,.1);
    font-size:12px;
}
.travel-booking__meta b > i{
    display:grid;
    place-items:center;
    width:26px;
    height:26px;
    flex:0 0 26px;
    margin:0;
    border-radius:50%;
    background:rgba(255,255,255,.16);
    color:#fff;
}
.travel-booking .industry-template__contact-actions{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    margin-top:2px;
}
.travel-booking .industry-template__button{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:46px;
    border-radius:12px;
    border:1px solid transparent;
    font-weight:900;
    text-align:center;
    text-decoration:none;
}
.travel-booking .industry-template__button--primary{
    background:#fff;
    color:#0c2e5f;
}
.travel-booking .industry-template__button--primary i{
    color:#16a34a;
}
.travel-booking .industry-template__button--zalo{
    background:#eff6ff;
    border-color:#bfdbfe;
    color:#0b64d8;
}
.travel-booking .industry-template__button--zalo svg,
.travel-booking .industry-template__button--zalo i{
    color:#0b64d8;
}
.travel-booking .industry-template__button--light{
    background:rgba(255,255,255,.12);
    border-color:rgba(255,255,255,.24);
    color:#fff;
}
.travel-booking .industry-template__button--light i{
    color:#fff;
}

.travel-policies{
    background:#fff;
}
.travel-policies ul{
    gap:10px;
}
.travel-policies li{
    gap:10px;
    line-height:1.5;
}
.travel-policies li i{
    display:grid;
    place-items:center;
    width:22px;
    height:22px;
    flex:0 0 22px;
    margin-top:1px;
    border-radius:999px;
    background:color-mix(in srgb,var(--industry-primary) 9%, #fff);
    color:var(--industry-primary);
}

.travel-about .ct5-panel{
    padding:18px 20px;
}
.travel-about .ct5-panel h2{
    margin-bottom:12px;
}
.travel-about .ct5-description,
.travel-about .ct5-description p{
    font-size:15px;
    line-height:1.7;
}
.travel-about .ct5-shop-info-grid{
    margin-top:10px;
    border-top:1px solid #edf2f7;
}
.travel-about .ct5-shop-info-grid > div{
    grid-template-columns:26px 160px minmax(0,1fr);
    column-gap:12px;
    padding:14px 0;
}
.travel-about .ct5-shop-info-grid i{
    color:#ef4444;
}
.travel-about .ct5-shop-info-grid span{
    font-weight:700;
    color:#475569;
}
.travel-about .ct5-shop-info-grid strong{
    white-space:normal;
    line-height:1.55;
    color:#0f172a;
}
.travel-about .ct5-money-trust-grid{
    gap:12px;
    margin-top:12px;
}
.travel-about .ct5-money-trust-grid > div{
    min-height:0;
    padding:14px;
    border-color:#eef2f7;
}
.travel-about .ct5-money-trust-grid i{
    background:color-mix(in srgb,var(--industry-primary) 9%, #fff3e7);
    color:var(--industry-primary);
}

.travel-review .ct5-panel,
.travel-review .xe-review-compact{
    padding:18px 20px;
}
.travel-faq details{
    border-radius:12px;
}
.travel-faq summary,
.travel-faq p{
    line-height:1.55;
}

@media(max-width:1100px){
    .travel-content__full-width{
        grid-template-columns:1fr;
    }
    .travel-booking__meta,
    .travel-booking .industry-template__contact-actions{
        grid-template-columns:1fr 1fr;
    }
    .travel-booking .industry-template__button--light{
        grid-column:1/-1;
    }
    .travel-about .ct5-shop-info-grid > div{
        grid-template-columns:26px 140px minmax(0,1fr);
    }
}
@media(max-width:767px){
    .travel-vpd-summary-card,
    .travel-offers,
    .travel-amenities,
    .travel-gallery,
    .travel-nearby,
    .travel-faq,
    .travel-booking,
    .travel-policies,
    .travel-about .ct5-panel,
    .travel-review .ct5-panel,
    .travel-review .xe-review-compact{
        padding:15px;
    }
    .travel-amenities{
        grid-template-columns:1fr;
    }
    .travel-promo{
        padding:16px;
    }
    .travel-booking__meta,
    .travel-booking .industry-template__contact-actions{
        grid-template-columns:1fr;
    }
    .travel-about .ct5-shop-info-grid > div{
        grid-template-columns:24px 1fr;
        row-gap:4px;
    }
    .travel-about .ct5-shop-info-grid strong{
        grid-column:2;
    }
}
@media(max-width:420px){
    .travel-vpd-summary-card,
    .travel-offers,
    .travel-amenities,
    .travel-gallery,
    .travel-nearby,
    .travel-faq,
    .travel-booking,
    .travel-policies,
    .travel-about .ct5-panel,
    .travel-review .ct5-panel,
    .travel-review .xe-review-compact{
        padding:14px;
    }
}

/* Travel Shop V2.7 — cấu trúc nội dung chuyên ngành, SEO-first và loại bỏ khối rỗng */
.travel-shop-v27{
    display:grid;
    gap:14px;
}
.travel-shop-v27 > *{
    min-width:0;
}
.travel-shop-v27 .industry-template__section-head{
    margin-bottom:16px;
}
.travel-shop-v27 .industry-template__section-head h2{
    margin:4px 0 0;
    color:#102a4c;
    font-size:clamp(22px,2vw,30px);
    line-height:1.2;
    letter-spacing:-.015em;
}
.travel-shop-v27 .industry-template__section-head p{
    max-width:760px;
    margin:7px 0 0;
    color:#64748b;
    font-size:13px;
    line-height:1.6;
}
.travel-shop-v27 .industry-template__section-head > div > span,
.travel-about-v27__main > span,
.travel-location-v27__info > span,
.travel-location-v27 > aside > span{
    color:var(--industry-primary);
    font-size:11px;
    font-weight:950;
    letter-spacing:.045em;
    text-transform:uppercase;
}

.travel-facts,
.travel-about-v27,
.travel-pricing-v27,
.travel-itinerary,
.travel-inclusions,
.travel-location-v27,
.travel-contact-grid > section,
.travel-related-v27{
    border:1px solid var(--industry-border);
    border-radius:16px;
    background:#fff;
    box-shadow:0 8px 24px rgba(15,23,42,.045);
}
.travel-facts,
.travel-pricing-v27,
.travel-itinerary,
.travel-inclusions,
.travel-related-v27{
    padding:18px;
}

.travel-facts__grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
}
.travel-facts__grid article{
    display:grid;
    grid-template-columns:42px minmax(0,1fr);
    grid-template-rows:auto auto;
    column-gap:11px;
    row-gap:3px;
    min-width:0;
    padding:14px;
    border:1px solid #e5edf7;
    border-radius:13px;
    background:linear-gradient(145deg,#f8fbff,#fff);
}
.travel-facts__grid i{
    grid-row:1/3;
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    border-radius:12px;
    background:color-mix(in srgb,var(--industry-primary) 10%,#fff);
    color:var(--industry-primary);
    font-size:18px;
}
.travel-facts__grid span{
    color:#64748b;
    font-size:10px;
    font-weight:850;
    text-transform:uppercase;
}
.travel-facts__grid strong{
    min-width:0;
    overflow-wrap:anywhere;
    color:#16243a;
    font-size:13px;
    line-height:1.4;
}

.travel-about-v27{
    display:grid;
    grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);
    gap:20px;
    padding:20px;
}
.travel-about-v27__main h2{
    margin:5px 0 12px;
    color:#102a4c;
    font-size:clamp(24px,2.1vw,32px);
    line-height:1.2;
}
.travel-about-v27__content{
    color:#26364c;
    font-size:15px;
    line-height:1.78;
}
.travel-about-v27 > aside{
    display:grid;
    align-content:start;
    gap:8px;
}
.travel-about-v27 > aside > div{
    display:grid;
    grid-template-columns:34px 115px minmax(0,1fr);
    gap:10px;
    align-items:center;
    padding:11px 12px;
    border:1px solid #e8eef6;
    border-radius:11px;
    background:#f8fbff;
}
.travel-about-v27 > aside i{
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    border-radius:9px;
    background:#fff;
    color:var(--industry-primary);
    box-shadow:0 4px 10px rgba(15,23,42,.05);
}
.travel-about-v27 > aside span{
    color:#64748b;
    font-size:11px;
    font-weight:750;
}
.travel-about-v27 > aside strong{
    min-width:0;
    overflow-wrap:anywhere;
    color:#14233a;
    font-size:12px;
    line-height:1.45;
}

.travel-seo-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:14px;
    align-items:start;
}
.travel-pricing-v27__list{
    display:grid;
    gap:8px;
}
.travel-pricing-v27__list article{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:14px;
    align-items:center;
    padding:12px 13px;
    border:1px solid #e7edf5;
    border-radius:11px;
    background:#fbfdff;
}
.travel-pricing-v27__list article > div{
    display:grid;
    gap:3px;
    min-width:0;
}
.travel-pricing-v27__list strong{
    color:#18283f;
    font-size:13px;
    line-height:1.4;
}
.travel-pricing-v27__list small{
    color:#718096;
    font-size:10.5px;
    line-height:1.45;
}
.travel-pricing-v27__list b{
    color:var(--industry-primary);
    font-size:15px;
    font-weight:950;
    white-space:nowrap;
}
.travel-itinerary ol{
    display:grid;
    gap:9px;
    margin:0;
    padding:0;
    list-style:none;
}
.travel-itinerary li{
    display:grid;
    grid-template-columns:36px minmax(0,1fr);
    gap:11px;
    align-items:center;
    min-height:50px;
    padding:8px 10px;
    border:1px solid #e7edf5;
    border-radius:11px;
    background:#fbfdff;
}
.travel-itinerary li b{
    display:grid;
    place-items:center;
    width:36px;
    height:36px;
    border-radius:50%;
    background:var(--industry-primary);
    color:#fff;
    font-size:13px;
}
.travel-itinerary li span{
    color:#334155;
    font-size:13px;
    line-height:1.5;
}

.travel-inclusions__grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}
.travel-inclusions article{
    padding:15px;
    border:1px solid #e5edf6;
    border-radius:13px;
}
.travel-inclusions .is-included{
    background:#f4fff7;
    border-color:#ccefd6;
}
.travel-inclusions .is-excluded{
    background:#fff9f7;
    border-color:#f3d9d2;
}
.travel-inclusions h3{
    display:flex;
    align-items:center;
    gap:8px;
    margin:0 0 11px;
    color:#14233a;
    font-size:16px;
}
.travel-inclusions .is-included h3 i{color:#16a34a}
.travel-inclusions .is-excluded h3 i{color:#e05b43}
.travel-inclusions ul{
    display:grid;
    gap:8px;
    margin:0;
    padding:0;
    list-style:none;
}
.travel-inclusions li{
    display:flex;
    gap:8px;
    color:#475569;
    font-size:12px;
    line-height:1.45;
}
.travel-inclusions li i{
    flex:0 0 16px;
    margin-top:1px;
}
.travel-inclusions .is-included li i{color:#16a34a}
.travel-inclusions .is-excluded li i{color:#e05b43}

.travel-location-v27{
    display:grid;
    grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);
    gap:0;
    overflow:hidden;
}
.travel-location-v27__info{
    padding:20px;
    background:linear-gradient(145deg,#0c2e5f,#1f5fba);
    color:#fff;
}
.travel-location-v27__info > span,
.travel-location-v27__info h2{
    color:#fff;
}
.travel-location-v27__info h2{
    margin:5px 0 15px;
    font-size:clamp(23px,2vw,30px);
}
.travel-location-v27__address{
    display:flex;
    gap:12px;
    align-items:flex-start;
    padding:14px;
    border-radius:13px;
    background:rgba(255,255,255,.1);
}
.travel-location-v27__address > i{
    display:grid;
    place-items:center;
    width:36px;
    height:36px;
    flex:0 0 36px;
    border-radius:50%;
    background:#fff;
    color:var(--industry-primary);
}
.travel-location-v27__address strong{
    color:#fff;
    font-size:14px;
}
.travel-location-v27__address p{
    margin:5px 0 0;
    color:rgba(255,255,255,.8);
    font-size:12px;
    line-height:1.55;
}
.travel-location-v27__info > a{
    display:inline-flex;
    align-items:center;
    gap:8px;
    min-height:42px;
    margin-top:13px;
    padding:0 14px;
    border-radius:10px;
    background:#fff;
    color:#0c2e5f;
    font-size:12px;
    font-weight:900;
}
.travel-location-v27__info > a i{color:#16a34a}
.travel-location-v27 > aside{
    padding:20px;
    background:#fff;
}
.travel-location-v27 > aside > div{
    display:grid;
    gap:8px;
    margin-top:11px;
}
.travel-location-v27 > aside article{
    display:flex;
    gap:10px;
    align-items:flex-start;
    padding:10px;
    border:1px solid #e8eef6;
    border-radius:10px;
    background:#f8fbff;
}
.travel-location-v27 > aside article > i{
    display:grid;
    place-items:center;
    width:32px;
    height:32px;
    flex:0 0 32px;
    border-radius:9px;
    background:#fff;
    color:var(--industry-primary);
}
.travel-location-v27 > aside article div{
    display:grid;
    gap:2px;
}
.travel-location-v27 > aside strong{
    color:#17263c;
    font-size:12px;
}
.travel-location-v27 > aside small{
    color:#64748b;
    font-size:10.5px;
    line-height:1.4;
}

.travel-contact-grid{
    display:grid;
    grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);
    gap:14px;
    align-items:stretch;
}
.travel-contact-grid > section{
    padding:18px;
}
.travel-policies__list{
    display:grid;
    gap:8px;
    margin-top:12px;
}
.travel-policies__list article{
    display:flex;
    gap:10px;
    align-items:flex-start;
    padding:10px 11px;
    border:1px solid #e8eef6;
    border-radius:10px;
    background:#fbfdff;
}
.travel-policies__list article > i{
    display:grid;
    place-items:center;
    width:30px;
    height:30px;
    flex:0 0 30px;
    border-radius:9px;
    background:color-mix(in srgb,var(--industry-primary) 9%,#fff);
    color:var(--industry-primary);
}
.travel-policies__list strong{
    color:#17263c;
    font-size:12px;
}
.travel-policies__list p{
    margin:3px 0 0;
    color:#64748b;
    font-size:10.5px;
    line-height:1.45;
}

.travel-related-v27 .ct5-contextual-links{
    margin:0;
    padding:0;
    border:0;
    box-shadow:none;
}
.travel-related-v27 .ct5-contextual-head{
    display:none;
}
.travel-related-v27 .ct5-contextual-groups{
    margin-top:0;
}
.travel-bottom-cta-v27{
    margin-top:0;
}
.travel-bottom-cta-v27 .industry-template__button--primary i{
    color:#16a34a;
}

@media(max-width:1100px){
    .travel-facts__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .travel-about-v27,.travel-location-v27,.travel-contact-grid{grid-template-columns:1fr}
    .travel-about-v27 > aside{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:767px){
    .travel-shop-v27{gap:11px}
    .travel-facts,.travel-about-v27,.travel-pricing-v27,.travel-itinerary,.travel-inclusions,.travel-related-v27,.travel-contact-grid > section{padding:14px}
    .travel-facts__grid,.travel-seo-grid,.travel-inclusions__grid,.travel-about-v27 > aside{grid-template-columns:1fr}
    .travel-about-v27{gap:14px}
    .travel-about-v27 > aside > div{grid-template-columns:34px 100px minmax(0,1fr)}
    .travel-location-v27__info,.travel-location-v27 > aside{padding:15px}
    .travel-pricing-v27__list article{grid-template-columns:1fr;gap:5px}
    .travel-pricing-v27__list b{white-space:normal}
}
@media(max-width:420px){
    .travel-facts__grid article{grid-template-columns:38px minmax(0,1fr);padding:11px}
    .travel-facts__grid i{width:38px;height:38px}
    .travel-about-v27 > aside > div{grid-template-columns:32px 1fr;row-gap:3px}
    .travel-about-v27 > aside strong{grid-column:2}
}

/* Giữ đúng quyết định UX V2.4: từ Hình ảnh thực tế trở xuống không tạo layout hai cột. */
.travel-location-v27,
.travel-contact-grid{
    grid-template-columns:minmax(0,1fr);
}
.travel-location-v27 > aside{
    border-top:1px solid #e5edf7;
}
.travel-location-v27 > aside > div{
    grid-template-columns:repeat(3,minmax(0,1fr));
}
@media(max-width:767px){
    .travel-location-v27 > aside > div{grid-template-columns:1fr}
}

/* Travel Shop V2.8 — bố cục main/sidebar theo xe_shop, gộp khối và bổ sung bản đồ thật */
.travel-shop-v28{
    --travel-v28-gap:14px;
    --travel-v28-side:320px;
}
.travel-shop-v28 .travel-facts,
.travel-shop-v28 .travel-about-v27,
.travel-shop-v28 .travel-seo-grid,
.travel-shop-v28 .travel-inclusions,
.travel-shop-v28 .travel-location-v27,
.travel-shop-v28 .travel-contact-grid,
.travel-shop-v28 .travel-bottom-cta-v27{
    display:none!important;
}
.travel-v28-content-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(290px,var(--travel-v28-side));
    gap:var(--travel-v28-gap);
    align-items:start;
    min-width:0;
}
.travel-v28-main,
.travel-v28-sidebar{
    display:grid;
    gap:var(--travel-v28-gap);
    min-width:0;
}
.travel-v28-sidebar{
    position:sticky;
    top:82px;
}
.travel-v28-card,
.travel-v28-side-card{
    min-width:0;
    border:1px solid var(--industry-border)!important;
    border-radius:16px!important;
    background:#fff!important;
    box-shadow:0 8px 24px rgba(15,23,42,.045)!important;
}
.travel-v28-card{
    padding:20px;
}
.travel-v28-side-card{
    padding:17px;
}
.travel-v28-section-head{
    margin-bottom:15px;
}
.travel-v28-section-head>span,
.travel-v28-side-eyebrow{
    display:block;
    color:var(--industry-primary)!important;
    font-size:10.5px;
    font-weight:950;
    letter-spacing:.06em;
    text-transform:uppercase;
}
.travel-v28-section-head h2,
.travel-v28-side-card h2{
    margin:5px 0 0;
    color:#102a4c!important;
    font-weight:900;
    letter-spacing:-.015em;
}
.travel-v28-section-head h2{
    font-size:clamp(23px,2vw,30px);
    line-height:1.2;
}
.travel-v28-side-card h2{
    font-size:18px;
    line-height:1.25;
}
.travel-v28-section-head p,
.travel-v28-side-card>p{
    margin:7px 0 0;
    color:#64748b!important;
    font-size:12.5px;
    line-height:1.58;
}
.travel-v28-copy{
    color:#26364c;
    font-size:15px;
    line-height:1.78;
}

/* Bao gồm / không bao gồm nằm chung trong khối giới thiệu, không tách section riêng. */
.travel-v28-scope{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    margin-top:18px;
    padding-top:18px;
    border-top:1px solid #e8eef6;
}
.travel-v28-scope article{
    padding:14px;
    border:1px solid #e5edf6;
    border-radius:13px;
}
.travel-v28-scope article.is-included{background:#f4fff7;border-color:#ccefd6}
.travel-v28-scope article.is-excluded{background:#fff9f7;border-color:#f3d9d2}
.travel-v28-scope h3{
    display:flex;
    align-items:center;
    gap:8px;
    margin:0 0 10px;
    color:#14233a!important;
    font-size:15px;
}
.travel-v28-scope .is-included h3 i,
.travel-v28-scope .is-included li i{color:#16a34a!important}
.travel-v28-scope .is-excluded h3 i,
.travel-v28-scope .is-excluded li i{color:#e05b43!important}
.travel-v28-scope ul{
    display:grid;
    gap:8px;
    margin:0;
    padding:0;
    list-style:none;
}
.travel-v28-scope li{
    display:flex;
    gap:8px;
    align-items:flex-start;
    color:#475569;
    font-size:12px;
    line-height:1.45;
}
.travel-v28-scope li i{flex:0 0 16px;margin-top:1px}

/* Giá và lịch trình hợp nhất thành một card lớn giống khối nội dung xe_shop. */
.travel-v28-planning__grid{
    display:grid;
    grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);
    gap:14px;
    align-items:start;
}
.travel-v28-planning__grid.is-single{grid-template-columns:minmax(0,1fr)}
.travel-v28-prices,
.travel-v28-itinerary{
    min-width:0;
    padding:15px;
    border:1px solid #e6edf5;
    border-radius:14px;
    background:#f8fbff;
}
.travel-v28-prices>h3,
.travel-v28-itinerary>h3{
    display:flex;
    align-items:center;
    gap:8px;
    margin:0 0 12px;
    color:#132b4b!important;
    font-size:15px;
    font-weight:900;
}
.travel-v28-prices>h3 i,
.travel-v28-itinerary>h3 i{
    display:grid;
    place-items:center;
    width:32px;
    height:32px;
    border-radius:9px;
    background:color-mix(in srgb,var(--industry-primary) 10%,#fff);
    color:var(--industry-primary)!important;
}
.travel-v28-prices>div{
    display:grid;
    gap:8px;
}
.travel-v28-prices article{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:12px;
    align-items:center;
    padding:11px 12px;
    border:1px solid #e6edf5;
    border-radius:11px;
    background:#fff;
}
.travel-v28-prices article>div{display:grid;gap:3px;min-width:0}
.travel-v28-prices strong{color:#17263c;font-size:12.5px;line-height:1.4}
.travel-v28-prices small{color:#718096;font-size:10.5px;line-height:1.45}
.travel-v28-prices b{color:var(--industry-primary);font-size:14px;font-weight:950;white-space:nowrap}
.travel-v28-itinerary ol{
    display:grid;
    gap:8px;
    margin:0;
    padding:0;
    list-style:none;
}
.travel-v28-itinerary li{
    display:grid;
    grid-template-columns:32px minmax(0,1fr);
    gap:10px;
    align-items:center;
    min-height:46px;
    padding:7px 9px;
    border:1px solid #e6edf5;
    border-radius:11px;
    background:#fff;
}
.travel-v28-itinerary li b{
    display:grid;
    place-items:center;
    width:32px;
    height:32px;
    border-radius:50%;
    background:var(--industry-primary)!important;
    color:#fff!important;
    font-size:12px;
}
.travel-v28-itinerary li span{color:#334155;font-size:12px;line-height:1.45}

/* Thư viện trong cột nội dung, giữ vuốt ngang và lightbox cũ. */
.travel-shop-v28 .travel-gallery{
    padding:20px!important;
}
.travel-shop-v28 .travel-gallery__item{
    flex-basis:clamp(220px,24vw,330px);
    width:clamp(220px,24vw,330px);
}

/* Bản đồ hiển thị trực tiếp thay vì chỉ có nút liên kết. */
.travel-v28-map__grid{
    display:grid;
    grid-template-columns:minmax(0,1.55fr) minmax(260px,.65fr);
    gap:14px;
    align-items:stretch;
}
.travel-v28-map__frame{
    min-height:360px;
    overflow:hidden;
    border:1px solid #dbe4ef;
    border-radius:14px;
    background:#edf2f7;
}
.travel-v28-map__frame iframe{
    display:block;
    width:100%;
    height:100%;
    min-height:360px;
    border:0;
}
.travel-v28-map__info{
    display:flex;
    flex-direction:column;
    gap:12px;
    min-width:0;
    padding:15px;
    border:1px solid #e6edf5;
    border-radius:14px;
    background:#f8fbff;
}
.travel-v28-map__address{
    display:flex;
    gap:11px;
    align-items:flex-start;
}
.travel-v28-map__address>i{
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    flex:0 0 38px;
    border-radius:11px;
    background:var(--industry-primary)!important;
    color:#fff!important;
}
.travel-v28-map__address div{display:grid;gap:3px;min-width:0}
.travel-v28-map__address small{color:#64748b;font-size:10px;font-weight:850;text-transform:uppercase}
.travel-v28-map__address strong{overflow-wrap:anywhere;color:#17263c;font-size:13px;line-height:1.45}
.travel-v28-map__address p{margin:3px 0 0;color:#64748b;font-size:11px;line-height:1.5}
.travel-v28-map__info>a{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:43px;
    padding:0 12px;
    border-radius:11px;
    background:#fff!important;
    border:1px solid color-mix(in srgb,var(--industry-primary) 28%,#dbe4ef);
    color:var(--industry-primary)!important;
    font-size:12px;
    font-weight:900;
}
.travel-v28-map__info>a i{color:#16a34a!important}
.travel-v28-nearby{
    display:grid;
    gap:8px;
    margin-top:2px;
    padding-top:12px;
    border-top:1px solid #e5edf7;
}
.travel-v28-nearby h3{margin:0;color:#17263c!important;font-size:13px}
.travel-v28-nearby article{display:flex;gap:9px;align-items:flex-start;padding:9px;border-radius:10px;background:#fff}
.travel-v28-nearby article>i{color:var(--industry-primary)!important}
.travel-v28-nearby article div{display:grid;gap:2px}
.travel-v28-nearby strong{color:#17263c;font-size:11.5px}
.travel-v28-nearby small{color:#64748b;font-size:10px;line-height:1.4}

/* Sidebar compact theo Honda CRV: không còn section trắng cao, rỗng. */
.travel-v28-contact{
    min-height:0!important;
    height:auto!important;
    background:linear-gradient(145deg,#0c2e5f,#1f5fba)!important;
    color:#fff!important;
}
.travel-v28-contact .travel-v28-side-eyebrow,
.travel-v28-contact h2,
.travel-v28-contact>p{
    color:#fff!important;
}
.travel-v28-contact>p{color:rgba(255,255,255,.8)!important}
.travel-v28-contact-list{
    display:grid;
    gap:8px;
    margin-top:14px;
}
.travel-v28-contact-list>a{
    display:grid;
    grid-template-columns:38px minmax(0,1fr);
    gap:10px;
    align-items:center;
    min-height:58px;
    padding:9px 10px;
    border:1px solid rgba(255,255,255,.16);
    border-radius:12px;
    background:rgba(255,255,255,.09)!important;
    color:#fff!important;
}
.travel-v28-contact-list>a:hover{background:rgba(255,255,255,.15)!important;transform:translateY(-1px)}
.travel-v28-contact-list>a>i{
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    border-radius:11px;
    background:#fff!important;
    font-size:17px;
}
.travel-v28-contact-list>a>i.is-call{color:#16a34a!important}
.travel-v28-contact-list>a>i.is-zalo{color:#0875e1!important}
.travel-v28-contact-list>a>i.is-facebook{color:#1877f2!important}
.travel-v28-contact-list>a>div{display:grid;gap:2px;min-width:0}
.travel-v28-contact-list strong{color:#fff!important;font-size:12.5px;overflow-wrap:anywhere}
.travel-v28-contact-list small{color:rgba(255,255,255,.72)!important;font-size:10px;line-height:1.35}
.travel-v28-request-btn{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:45px;
    margin-top:10px;
    border-radius:11px;
    background:#fff!important;
    color:#0c2e5f!important;
    font-size:12px;
    font-weight:950;
}
.travel-v28-request-btn i{color:var(--industry-primary)!important}

.travel-v28-service-meta>div,
.travel-v28-policies>div{
    display:grid;
    gap:8px;
    margin-top:13px;
}
.travel-v28-service-meta article{
    display:grid;
    grid-template-columns:34px minmax(0,1fr);
    gap:10px;
    align-items:center;
    padding:10px;
    border:1px solid #e7edf5;
    border-radius:11px;
    background:#f8fbff;
}
.travel-v28-service-meta article>i{
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    border-radius:10px;
    background:#fff!important;
    color:var(--industry-primary)!important;
    box-shadow:0 3px 10px rgba(15,23,42,.05);
}
.travel-v28-service-meta article>span{display:grid;gap:2px;min-width:0}
.travel-v28-service-meta small{color:#64748b;font-size:9.5px;font-weight:850;text-transform:uppercase}
.travel-v28-service-meta strong{overflow-wrap:anywhere;color:#17263c;font-size:11.5px;line-height:1.4}
.travel-v28-policies article{
    display:flex;
    gap:9px;
    align-items:flex-start;
    padding:10px;
    border:1px solid #e7edf5;
    border-radius:11px;
    background:#fbfdff;
}
.travel-v28-policies article>i{
    display:grid;
    place-items:center;
    width:30px;
    height:30px;
    flex:0 0 30px;
    border-radius:9px;
    background:color-mix(in srgb,var(--industry-primary) 9%,#fff)!important;
    color:var(--industry-primary)!important;
}
.travel-v28-policies strong{color:#17263c;font-size:11.5px}
.travel-v28-policies p{margin:3px 0 0;color:#64748b;font-size:10px;line-height:1.45}

.travel-shop-v28 .travel-review{
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
}
.travel-shop-v28 .travel-review .ct5-panel,
.travel-shop-v28 .travel-review .xe-review-compact{
    margin:0!important;
    border:1px solid var(--industry-border)!important;
    border-radius:16px!important;
    background:#fff!important;
    box-shadow:0 8px 24px rgba(15,23,42,.045)!important;
}
.travel-shop-v28 .travel-faq,
.travel-shop-v28 .travel-related-v27{
    padding:20px!important;
}

@media(max-width:1100px){
    .travel-v28-content-layout{grid-template-columns:1fr}
    .travel-v28-sidebar{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}
    .travel-v28-policies{grid-column:1/-1}
    .travel-v28-map__grid{grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr)}
}
@media(max-width:767px){
    .travel-v28-card,.travel-v28-side-card,.travel-shop-v28 .travel-gallery,.travel-shop-v28 .travel-faq,.travel-shop-v28 .travel-related-v27{padding:14px!important}
    .travel-v28-sidebar,.travel-v28-planning__grid,.travel-v28-scope,.travel-v28-map__grid{grid-template-columns:1fr}
    .travel-v28-map__frame,.travel-v28-map__frame iframe{min-height:300px}
    .travel-v28-prices article{grid-template-columns:1fr;gap:4px}
    .travel-v28-prices b{white-space:normal}
    .travel-shop-v28 .travel-gallery__item{flex-basis:min(82vw,310px);width:min(82vw,310px)}
}
@media(max-width:420px){
    .travel-v28-content-layout,.travel-v28-main,.travel-v28-sidebar{gap:11px}
    .travel-v28-map__frame,.travel-v28-map__frame iframe{min-height:260px}
}

/* Travel Shop V2.9 — một cột lớn, gộp thông tin đặt dịch vụ và gộp bản đồ + liên hệ */
.travel-shop-v29{
    --travel-v29-gap:14px;
}
.travel-v29-content-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:var(--travel-v29-gap);
    width:100%;
    max-width:var(--industry-container,1280px);
    margin:0 auto;
    min-width:0;
}
.travel-shop-v29 .travel-v28-card,
.travel-shop-v29 .travel-review{
    width:100%;
    min-width:0;
}

/* Thông tin dịch vụ được nhập chung trong khối Thông tin đặt dịch vụ. */
.travel-v29-facts{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
    margin-bottom:14px;
}
.travel-v29-facts article{
    display:grid;
    grid-template-columns:38px minmax(0,1fr);
    gap:10px;
    align-items:center;
    min-width:0;
    padding:11px 12px;
    border:1px solid #e5edf6;
    border-radius:12px;
    background:#f8fbff;
}
.travel-v29-facts article>i{
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    border-radius:11px;
    background:#fff!important;
    color:var(--industry-primary)!important;
    box-shadow:0 4px 12px rgba(15,23,42,.055);
}
.travel-v29-facts article>span{
    display:grid;
    gap:3px;
    min-width:0;
}
.travel-v29-facts small{
    color:#64748b;
    font-size:9.5px;
    font-weight:900;
    letter-spacing:.025em;
    text-transform:uppercase;
}
.travel-v29-facts strong{
    overflow-wrap:anywhere;
    color:#17263c;
    font-size:12px;
    line-height:1.42;
}
.travel-v29-planning .travel-v28-planning__grid{
    margin-top:0;
}
.travel-v29-policies{
    margin-top:14px;
    padding-top:14px;
    border-top:1px solid #e6edf5;
}
.travel-v29-policies>h3{
    display:flex;
    align-items:center;
    gap:9px;
    margin:0 0 11px;
    color:#132b4b!important;
    font-size:15px;
    font-weight:900;
}
.travel-v29-policies>h3>i{
    display:grid;
    place-items:center;
    width:32px;
    height:32px;
    border-radius:9px;
    background:color-mix(in srgb,var(--industry-primary) 10%,#fff)!important;
    color:var(--industry-primary)!important;
}
.travel-v29-policies>div{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
}
.travel-v29-policies article{
    display:flex;
    gap:9px;
    align-items:flex-start;
    padding:11px 12px;
    border:1px solid #e7edf5;
    border-radius:11px;
    background:#fbfdff;
}
.travel-v29-policies article>i{
    flex:0 0 18px;
    margin-top:1px;
    color:var(--industry-primary)!important;
}
.travel-v29-policies strong{
    color:#17263c;
    font-size:12px;
}
.travel-v29-policies p{
    margin:3px 0 0;
    color:#64748b;
    font-size:10.5px;
    line-height:1.48;
}

/* Bản đồ và tư vấn nhanh là một section full container. */
.travel-v29-map-contact{
    width:100%;
    max-width:var(--industry-container,1280px);
}
.travel-v29-map-contact__grid{
    display:grid;
    grid-template-columns:minmax(0,1.55fr) minmax(310px,.65fr);
    gap:14px;
    align-items:stretch;
}
.travel-v29-map-area{
    display:grid;
    gap:11px;
    min-width:0;
}
.travel-v29-map-contact .travel-v28-map__frame,
.travel-v29-map-contact .travel-v28-map__frame iframe{
    min-height:390px;
}
.travel-v29-map-meta{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:12px;
    align-items:center;
    padding:12px;
    border:1px solid #e5edf6;
    border-radius:12px;
    background:#f8fbff;
}
.travel-v29-open-map{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:42px;
    padding:0 14px;
    border:1px solid color-mix(in srgb,var(--industry-primary) 28%,#dbe4ef);
    border-radius:11px;
    background:#fff!important;
    color:var(--industry-primary)!important;
    font-size:12px;
    font-weight:900;
    white-space:nowrap;
}
.travel-v29-open-map i{
    color:#16a34a!important;
}
.travel-v29-map-contact .travel-v28-nearby{
    margin:0;
    padding:12px;
    border:1px solid #e5edf6;
    border-radius:12px;
    background:#f8fbff;
}
.travel-v29-map-contact .travel-v28-nearby>div{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
    margin-top:9px;
}
.travel-v29-contact{
    display:flex;
    flex-direction:column;
    min-width:0;
    min-height:100%!important;
    padding:18px;
    border:1px solid color-mix(in srgb,var(--industry-primary) 30%,#dbe4ef)!important;
    border-radius:14px!important;
    box-shadow:0 12px 28px color-mix(in srgb,var(--industry-primary) 14%,transparent)!important;
}
.travel-v29-contact .travel-v28-contact-list{
    flex:1;
}
.travel-v29-contact .travel-v28-request-btn{
    margin-top:12px;
}

/* FAQ full width, đọc theo một luồng như xe_shop; đánh giá nằm ngay dưới FAQ. */
.travel-v29-faq .industry-template__section-head{
    align-items:flex-end;
}
.travel-v29-faq .industry-template__section-head>small{
    white-space:nowrap;
}
.travel-v29-faq .industry-template__faq{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:9px;
}
.travel-v29-faq .industry-template__faq details{
    border:1px solid #e5edf6;
    border-radius:12px;
    background:#fff;
    overflow:hidden;
}
.travel-v29-faq .industry-template__faq summary{
    min-height:52px;
    padding:14px 15px;
    color:#14233a;
    font-size:13px;
    font-weight:850;
}
.travel-v29-faq .industry-template__faq details[open] summary{
    background:#f7faff;
    color:var(--industry-primary);
}
.travel-v29-faq .industry-template__faq p{
    margin:0;
    padding:0 15px 15px;
    color:#475569;
    font-size:12.5px;
    line-height:1.68;
}

@media(max-width:1100px){
    .travel-v29-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
    .travel-v29-map-contact__grid{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr)}
    .travel-v29-map-contact .travel-v28-nearby>div{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:767px){
    .travel-v29-content-layout{gap:11px}
    .travel-v29-facts,
    .travel-v29-policies>div,
    .travel-v29-map-contact__grid,
    .travel-v29-map-meta{
        grid-template-columns:minmax(0,1fr);
    }
    .travel-v29-map-contact .travel-v28-map__frame,
    .travel-v29-map-contact .travel-v28-map__frame iframe{min-height:300px}
    .travel-v29-open-map{width:100%}
    .travel-v29-map-contact .travel-v28-nearby>div{grid-template-columns:1fr}
    .travel-v29-contact{min-height:0!important}
}
@media(max-width:420px){
    .travel-v29-facts{grid-template-columns:1fr}
    .travel-v29-map-contact .travel-v28-map__frame,
    .travel-v29-map-contact .travel-v28-map__frame iframe{min-height:260px}
}

/* Travel Shop Mobile V3.2 — full-width, spacing thống nhất và related UX gọn */
@media (max-width:767px){
    /* Chỉ áp dụng cho Travel Shop: gần như bỏ lề ngoài của container trên mobile. */
    .ct5-shop-page-travel_shop{
        padding-left:0!important;
        padding-right:0!important;
    }
    .ct5-shop-page-travel_shop > .ct5-container,
    .ct5-shop-page-travel_shop .ct5-container{
        width:100%!important;
        max-width:100%!important;
        margin-left:0!important;
        margin-right:0!important;
        padding-left:2px!important;
        padding-right:2px!important;
        box-sizing:border-box!important;
    }
    .ct5-shop-page-travel_shop .travel-shop-vpd{
        width:100%!important;
        max-width:none!important;
        margin:0!important;
        padding:0!important;
        gap:8px!important;
    }

    /* Một chuẩn khoảng cách nhỏ duy nhất giữa các khối. */
    .ct5-shop-page-travel_shop .travel-vpd-hero,
    .ct5-shop-page-travel_shop .travel-v29-content-layout,
    .ct5-shop-page-travel_shop .travel-v28-main,
    .ct5-shop-page-travel_shop .travel-v28-sidebar{
        gap:8px!important;
    }
    .ct5-shop-page-travel_shop .travel-template .industry-template__tabs,
    .ct5-shop-page-travel_shop .travel-offers,
    .ct5-shop-page-travel_shop .travel-v29-content-layout,
    .ct5-shop-page-travel_shop .travel-v28-card,
    .ct5-shop-page-travel_shop .travel-review,
    .ct5-shop-page-travel_shop .travel-related-v27{
        margin-top:0!important;
        margin-bottom:0!important;
    }
    .ct5-shop-page-travel_shop .travel-template .industry-template__tabs{
        border-radius:10px!important;
    }

    /* Khối nội dung full-width nhưng vẫn giữ padding đọc nội dung vừa đủ. */
    .ct5-shop-page-travel_shop .travel-vpd-gallery-card{
        padding:5px!important;
        border-radius:11px!important;
    }
    .ct5-shop-page-travel_shop .travel-vpd-summary-card,
    .ct5-shop-page-travel_shop .travel-offers,
    .ct5-shop-page-travel_shop .travel-v28-card,
    .ct5-shop-page-travel_shop .travel-gallery,
    .ct5-shop-page-travel_shop .travel-faq,
    .ct5-shop-page-travel_shop .travel-related-v27{
        padding:12px!important;
        border-radius:12px!important;
    }
    .ct5-shop-page-travel_shop .travel-review .ct5-panel,
    .ct5-shop-page-travel_shop .travel-review .xe-review-compact{
        margin:0!important;
        padding:12px!important;
        border-radius:12px!important;
    }

    /* Heading mobile gọn, đồng đều; không còn tiêu đề chiếm quá nhiều màn hình. */
    .ct5-shop-page-travel_shop .industry-template__section-head{
        gap:8px!important;
        margin-bottom:10px!important;
        align-items:flex-start!important;
    }
    .ct5-shop-page-travel_shop .industry-template__section-head h2,
    .ct5-shop-page-travel_shop .travel-v28-section-head h2{
        margin-top:3px!important;
        font-size:19px!important;
        line-height:1.28!important;
        letter-spacing:-.01em!important;
    }
    .ct5-shop-page-travel_shop .industry-template__section-head p,
    .ct5-shop-page-travel_shop .travel-v28-section-head p{
        margin-top:5px!important;
        font-size:11.5px!important;
        line-height:1.52!important;
    }
    .ct5-shop-page-travel_shop .industry-template__section-head > small{
        font-size:10.5px!important;
    }

    /* Các khoảng cách bên trong khối cũng cùng chuẩn 8px. */
    .ct5-shop-page-travel_shop .travel-v29-facts{
        gap:8px!important;
        margin-bottom:10px!important;
    }
    .ct5-shop-page-travel_shop .travel-v28-planning__grid,
    .ct5-shop-page-travel_shop .travel-v29-policies > div,
    .ct5-shop-page-travel_shop .travel-v29-map-contact__grid,
    .ct5-shop-page-travel_shop .travel-v29-map-area,
    .ct5-shop-page-travel_shop .travel-v28-contact-list,
    .ct5-shop-page-travel_shop .travel-v29-faq .industry-template__faq{
        gap:8px!important;
    }
    .ct5-shop-page-travel_shop .travel-v29-policies{
        margin-top:10px!important;
        padding-top:10px!important;
    }

    /* Kinh nghiệm và dịch vụ liên quan: card ngang vuốt, chữ nhỏ và dễ đọc. */
    .ct5-shop-page-travel_shop .travel-related-v27{
        overflow:hidden!important;
    }
    .ct5-shop-page-travel_shop .travel-related-v27 > .industry-template__section-head{
        margin-bottom:8px!important;
    }
    .ct5-shop-page-travel_shop .travel-related-v27 > .industry-template__section-head > div > span{
        font-size:9px!important;
        letter-spacing:.04em!important;
    }
    .ct5-shop-page-travel_shop .travel-related-v27 > .industry-template__section-head h2{
        font-size:17px!important;
        line-height:1.25!important;
    }
    .ct5-shop-page-travel_shop .travel-related-v27 .ct5-contextual-groups{
        display:grid!important;
        gap:9px!important;
        min-width:0!important;
    }
    .ct5-shop-page-travel_shop .travel-related-v27 .ct5-contextual-group{
        min-width:0!important;
    }
    .ct5-shop-page-travel_shop .travel-related-v27 .ct5-contextual-group h3{
        margin:0 0 6px!important;
        color:#334155!important;
        font-size:12px!important;
        line-height:1.3!important;
    }
    .ct5-shop-page-travel_shop .travel-related-v27 .ct5-contextual-grid{
        display:flex!important;
        gap:7px!important;
        width:100%!important;
        min-width:0!important;
        overflow-x:auto!important;
        overflow-y:hidden!important;
        padding:1px 1px 5px!important;
        scroll-snap-type:x proximity!important;
        overscroll-behavior-inline:contain!important;
        -webkit-overflow-scrolling:touch!important;
        scrollbar-width:none!important;
    }
    .ct5-shop-page-travel_shop .travel-related-v27 .ct5-contextual-grid::-webkit-scrollbar{
        display:none!important;
    }
    .ct5-shop-page-travel_shop .travel-related-v27 .ct5-contextual-item{
        display:flex!important;
        align-items:center!important;
        flex:0 0 min(76vw,260px)!important;
        min-height:50px!important;
        padding:8px 10px!important;
        border-radius:10px!important;
        scroll-snap-align:start!important;
        box-shadow:none!important;
    }
    .ct5-shop-page-travel_shop .travel-related-v27 .ct5-contextual-item span{
        display:-webkit-box!important;
        overflow:hidden!important;
        -webkit-box-orient:vertical!important;
        -webkit-line-clamp:2!important;
        color:#17263c!important;
        font-size:11.5px!important;
        font-weight:800!important;
        line-height:1.35!important;
    }
}

@media (max-width:420px){
    .ct5-shop-page-travel_shop > .ct5-container,
    .ct5-shop-page-travel_shop .ct5-container{
        padding-left:0!important;
        padding-right:0!important;
    }
    .ct5-shop-page-travel_shop .travel-shop-vpd,
    .ct5-shop-page-travel_shop .travel-v29-content-layout{
        gap:7px!important;
    }
    .ct5-shop-page-travel_shop .travel-vpd-summary-card,
    .ct5-shop-page-travel_shop .travel-offers,
    .ct5-shop-page-travel_shop .travel-v28-card,
    .ct5-shop-page-travel_shop .travel-gallery,
    .ct5-shop-page-travel_shop .travel-faq,
    .ct5-shop-page-travel_shop .travel-related-v27,
    .ct5-shop-page-travel_shop .travel-review .ct5-panel,
    .ct5-shop-page-travel_shop .travel-review .xe-review-compact{
        padding:11px!important;
        border-radius:10px!important;
    }
    .ct5-shop-page-travel_shop .travel-related-v27 .ct5-contextual-item{
        flex-basis:min(82vw,248px)!important;
    }
}

/* Travel Shop Mobile V3.3 — related cards 2 cột và bỏ CTA dư cuối trang */
.travel-related-v33__grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
}
.travel-related-v33__card{
    display:flex;
    min-width:0;
    flex-direction:column;
    overflow:hidden;
    border:1px solid #e2e8f0;
    border-radius:13px;
    background:#fff;
    color:#14233a;
    text-decoration:none;
    box-shadow:0 5px 16px rgba(15,23,42,.035);
    transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.travel-related-v33__card:hover{
    transform:translateY(-2px);
    border-color:color-mix(in srgb,var(--industry-primary) 40%,#e2e8f0);
    box-shadow:0 10px 24px rgba(15,23,42,.08);
    color:var(--industry-primary);
}
.travel-related-v33__image{
    display:block;
    width:100%;
    aspect-ratio:4/3;
    overflow:hidden;
    background:#eef2f7;
}
.travel-related-v33__image img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .25s ease;
}
.travel-related-v33__card:hover .travel-related-v33__image img{
    transform:scale(1.025);
}
.travel-related-v33__title{
    display:-webkit-box;
    min-height:54px;
    overflow:hidden;
    padding:10px 11px 11px;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
    font-size:13px;
    font-weight:850;
    line-height:1.4;
}

/* Fallback CSS: kể cả Blade/cache cũ còn sót, Travel Shop không hiện hai khối CTA bị yêu cầu bỏ. */
.ct5-shop-page-travel_shop .ct5-p1a-listing-expand,
.ct5-shop-page-travel_shop .shop-unified-mobile-contact,
.ct5-shop-page-travel_shop #ct5-shop-mobile-contact{
    display:none!important;
}

@media(max-width:1100px){
    .travel-related-v33__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:767px){
    /* Bỏ hẳn group title "Dịch vụ nổi bật" cũ nếu cache view/component cũ còn render. */
    .ct5-shop-page-travel_shop .travel-related-v27 .ct5-contextual-group > h3{
        display:none!important;
    }
    .ct5-shop-page-travel_shop .travel-related-v33__grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:7px!important;
    }
    .ct5-shop-page-travel_shop .travel-related-v33__card{
        border-radius:9px;
        box-shadow:none;
    }
    .ct5-shop-page-travel_shop .travel-related-v33__image{
        aspect-ratio:4/3;
    }
    .ct5-shop-page-travel_shop .travel-related-v33__title{
        min-height:49px;
        padding:7px 8px 8px;
        -webkit-line-clamp:3;
        font-size:11px;
        line-height:1.35;
    }
}
@media(max-width:360px){
    .ct5-shop-page-travel_shop .travel-related-v33__grid{gap:6px!important}
    .ct5-shop-page-travel_shop .travel-related-v33__title{
        min-height:46px;
        padding:6px 7px 7px;
        font-size:10.5px;
    }
}

/* Travel Shop Style V3.5 — bốn hệ màu đồng bộ: xanh dương, đỏ, tím hoặc xanh lá kết hợp trắng.
 * Nút gọi điện là ngoại lệ cố định: luôn xanh lá, chữ + icon trắng.
 */
.travel-shop-vpd{
    --travel-danger:var(--travel-accent);
    --shop-review-accent:var(--travel-accent);
    --vpd-primary:var(--travel-accent);
    --vpd-primary-dark:var(--travel-accent-dark);
}

/* Nền trang, card, viền và hệ chữ dùng cùng palette của style đã chọn. */
.travel-shop-vpd,
.travel-shop-vpd .travel-v29-content-layout{
    color:#26364c;
}
.travel-shop-vpd :where(h1,h2,h3,h4),
.travel-shop-vpd .industry-template__listing-title,
.travel-shop-vpd .travel-related-v33__title{
    color:var(--travel-accent-dark)!important;
}
.travel-shop-vpd :where(
    .travel-vpd-gallery-card,
    .travel-vpd-summary-card,
    .travel-offers,
    .travel-v28-card,
    .travel-v28-side-card,
    .travel-gallery,
    .travel-faq,
    .travel-related-v27,
    .travel-review .ct5-panel,
    .travel-review .xe-review-compact,
    .travel-related-v33__card
){
    border-color:var(--travel-accent-border)!important;
    background:#fff!important;
}

/* Tất cả nhãn, icon nhấn, link và giá đều lấy đúng màu style. */
.travel-shop-vpd :where(
    .travel-vpd-kicker,
    .travel-vpd-benefits i,
    .travel-card>div>small,
    .travel-card__price,
    .travel-v28-section-head>span,
    .travel-v28-side-eyebrow,
    .industry-template__section-head>div>span,
    .travel-v29-policies article>i,
    .travel-v28-nearby article>i,
    .travel-v28-prices b,
    .travel-v29-open-map,
    .travel-related-v33__card:hover,
    .xe-review-compact__eyebrow,
    .xe-review-more-btn
){
    color:var(--travel-accent)!important;
}
.travel-shop-vpd .travel-card footer>a,
.travel-shop-vpd .travel-v29-facts strong,
.travel-shop-vpd .travel-v28-prices strong,
.travel-shop-vpd .travel-v28-itinerary li span,
.travel-shop-vpd .travel-v28-map__address strong,
.travel-shop-vpd .travel-v28-nearby strong,
.travel-shop-vpd .travel-v29-policies strong{
    color:var(--travel-accent-dark)!important;
}

/* Hero, giá, điểm đến, chip và CTA. */
.travel-shop-vpd .travel-vpd-price-box{
    border-color:var(--travel-accent-border)!important;
    background:var(--travel-accent-soft)!important;
}
.travel-shop-vpd .travel-vpd-price-box>strong,
.travel-shop-vpd .travel-vpd-price-box>span{
    color:var(--travel-accent)!important;
}
.travel-shop-vpd .travel-vpd-destination,
.travel-shop-vpd .travel-vpd-chips span{
    border-color:var(--travel-accent-border)!important;
    background:var(--travel-accent-soft-2)!important;
    color:var(--travel-accent)!important;
}
.travel-shop-vpd .travel-vpd-destination>span{
    background:#fff!important;
    color:var(--travel-accent)!important;
}
.travel-shop-vpd .travel-vpd-destination>i,
.travel-shop-vpd .travel-vpd-destination i{
    color:var(--travel-accent)!important;
}
.travel-shop-vpd .travel-vpd-btn--primary{
    border-color:var(--travel-accent)!important;
    background:var(--travel-accent)!important;
    color:#fff!important;
    box-shadow:0 10px 22px color-mix(in srgb,var(--travel-accent) 22%,transparent)!important;
}
.travel-shop-vpd .travel-vpd-btn--primary i{
    color:#fff!important;
}
.travel-shop-vpd .travel-vpd-btn--primary:hover{
    border-color:var(--travel-accent-hover)!important;
    background:var(--travel-accent-hover)!important;
}
.travel-shop-vpd .travel-vpd-btn--outline{
    border-color:var(--travel-accent)!important;
    background:#fff!important;
    color:var(--travel-accent)!important;
}
.travel-shop-vpd .travel-vpd-btn--outline i{
    color:var(--travel-accent)!important;
}
.travel-shop-vpd .travel-vpd-contact-actions a:not(.is-call){
    border-color:var(--travel-accent-border)!important;
    background:var(--travel-accent-soft)!important;
    color:var(--travel-accent)!important;
}
.travel-shop-vpd .travel-vpd-contact-actions a:not(.is-call) :where(i,svg){
    color:var(--travel-accent)!important;
    fill:currentColor!important;
}

/* Nút gọi luôn xanh lá, icon + chữ trắng ở mọi vị trí. */
.travel-shop-vpd .travel-vpd-contact-actions .is-call,
.travel-shop-vpd .industry-sticky-tabs__contact .is-call,
.travel-shop-vpd .travel-v28-contact-list>a.is-call-link{
    border-color:var(--travel-call)!important;
    background:var(--travel-call)!important;
    color:#fff!important;
    box-shadow:0 8px 20px color-mix(in srgb,var(--travel-call) 24%,transparent)!important;
}
.travel-shop-vpd .travel-vpd-contact-actions .is-call:hover,
.travel-shop-vpd .industry-sticky-tabs__contact .is-call:hover,
.travel-shop-vpd .travel-v28-contact-list>a.is-call-link:hover{
    border-color:var(--travel-call-hover)!important;
    background:var(--travel-call-hover)!important;
}
.travel-shop-vpd .travel-vpd-contact-actions .is-call :where(i,svg,span),
.travel-shop-vpd .industry-sticky-tabs__contact .is-call :where(i,svg,span),
.travel-shop-vpd .travel-v28-contact-list>a.is-call-link :where(i,strong,small){
    color:#fff!important;
    fill:currentColor!important;
}
.travel-shop-vpd .travel-v28-contact-list>a.is-call-link>i{
    background:transparent!important;
    color:#fff!important;
}

/* Gallery và thanh tab. */
.travel-shop-vpd .travel-vpd-gallery-nav:hover,
.travel-shop-vpd .travel-gallery__head-actions button:hover{
    border-color:var(--travel-accent)!important;
    background:var(--travel-accent)!important;
    color:#fff!important;
}
.travel-shop-vpd .travel-vpd-gallery-nav:hover i,
.travel-shop-vpd .travel-gallery__head-actions button:hover i{
    color:#fff!important;
}
.travel-shop-vpd .travel-vpd-thumb.is-active,
.travel-shop-vpd .travel-vpd-modal__thumb.is-active{
    border-color:var(--travel-accent)!important;
    box-shadow:0 0 0 2px color-mix(in srgb,var(--travel-accent) 18%,transparent)!important;
}
.travel-shop-vpd .industry-template__tabs{
    border-color:var(--travel-accent-border)!important;
    background:#fff!important;
}
.travel-shop-vpd .industry-template__tabs a:hover,
.travel-shop-vpd .industry-template__tabs a.is-active{
    border-bottom-color:var(--travel-accent)!important;
    background:var(--travel-accent-soft)!important;
    color:var(--travel-accent)!important;
}
.travel-shop-vpd .industry-template__tabs a:hover i,
.travel-shop-vpd .industry-template__tabs a.is-active i{
    color:var(--travel-accent)!important;
}
.travel-shop-vpd .industry-sticky-tabs__summary strong i{
    color:var(--travel-accent)!important;
}
.travel-shop-vpd .industry-sticky-tabs__contact a:not(.is-call){
    border-color:var(--travel-accent-border)!important;
    background:var(--travel-accent-soft)!important;
    color:var(--travel-accent)!important;
}
.travel-shop-vpd .industry-sticky-tabs__contact a:not(.is-call) :where(i,svg,span){
    color:var(--travel-accent)!important;
    fill:currentColor!important;
}

/* Listing và badge. */
.travel-shop-vpd .travel-card{
    border-color:var(--travel-accent-border)!important;
}
.travel-shop-vpd .travel-card:hover,
.travel-shop-vpd .travel-related-v33__card:hover{
    border-color:var(--travel-accent)!important;
}
.travel-shop-vpd .travel-card .industry-template__listing-image>span{
    background:var(--travel-accent-dark)!important;
    color:#fff!important;
}
.travel-shop-vpd .travel-card .industry-template__listing-image>span i{
    color:#fff!important;
}
.travel-shop-vpd .travel-card p i{
    color:var(--travel-accent)!important;
}

/* Các ô thông tin, giá, lịch trình và điều kiện. */
.travel-shop-vpd :where(
    .travel-v29-facts article,
    .travel-v28-prices,
    .travel-v28-itinerary,
    .travel-v29-policies article,
    .travel-v29-map-meta,
    .travel-v29-map-contact .travel-v28-nearby,
    .travel-v28-map__info,
    .travel-v28-service-meta article
){
    border-color:var(--travel-accent-border)!important;
    background:var(--travel-accent-soft-2)!important;
}
.travel-shop-vpd :where(
    .travel-v29-facts article>i,
    .travel-v28-prices>h3 i,
    .travel-v28-itinerary>h3 i,
    .travel-v29-policies>h3>i,
    .travel-v28-service-meta article>i,
    .travel-v28-policies article>i
){
    background:#fff!important;
    color:var(--travel-accent)!important;
    box-shadow:0 4px 12px color-mix(in srgb,var(--travel-accent) 10%,transparent)!important;
}
.travel-shop-vpd .travel-v28-prices article,
.travel-shop-vpd .travel-v28-itinerary li{
    border-color:var(--travel-accent-border)!important;
    background:#fff!important;
}
.travel-shop-vpd .travel-v28-itinerary li b{
    background:var(--travel-accent)!important;
    color:#fff!important;
}
.travel-shop-vpd .travel-v28-itinerary li b *{
    color:#fff!important;
}
.travel-shop-vpd .travel-v28-scope{
    border-top-color:var(--travel-accent-border)!important;
}
.travel-shop-vpd .travel-v28-scope article.is-included,
.travel-shop-vpd .travel-v28-scope article.is-excluded{
    border-color:var(--travel-accent-border)!important;
    background:var(--travel-accent-soft-2)!important;
}
.travel-shop-vpd .travel-v28-scope :where(h3 i,li i){
    color:var(--travel-accent)!important;
}

/* Bản đồ và liên hệ: panel lớn cùng màu style, icon nền màu phải trắng. */
.travel-shop-vpd .travel-v28-map__frame{
    border-color:var(--travel-accent-border)!important;
}
.travel-shop-vpd .travel-v28-map__address>i{
    background:var(--travel-accent)!important;
    color:#fff!important;
}
.travel-shop-vpd .travel-v29-open-map{
    border-color:var(--travel-accent)!important;
    background:#fff!important;
    color:var(--travel-accent)!important;
}
.travel-shop-vpd .travel-v29-open-map i{
    color:var(--travel-accent)!important;
}
.travel-shop-vpd .travel-v29-contact,
.travel-shop-vpd .travel-v28-contact{
    border-color:var(--travel-accent)!important;
    background:linear-gradient(145deg,var(--travel-accent-dark),var(--travel-accent))!important;
    color:#fff!important;
    box-shadow:0 12px 28px color-mix(in srgb,var(--travel-accent) 18%,transparent)!important;
}
.travel-shop-vpd .travel-v29-contact :where(.travel-v28-side-eyebrow,h2,p),
.travel-shop-vpd .travel-v28-contact :where(.travel-v28-side-eyebrow,h2,p){
    color:#fff!important;
}
.travel-shop-vpd .travel-v28-contact-list>a:not(.is-call-link){
    border-color:rgba(255,255,255,.24)!important;
    background:rgba(255,255,255,.10)!important;
    color:#fff!important;
}
.travel-shop-vpd .travel-v28-contact-list>a:not(.is-call-link):hover{
    background:rgba(255,255,255,.17)!important;
}
.travel-shop-vpd .travel-v28-contact-list>a:not(.is-call-link)>i{
    background:#fff!important;
    color:var(--travel-accent)!important;
}
.travel-shop-vpd .travel-v28-contact-list>a:not(.is-call-link) :where(strong,small){
    color:#fff!important;
}
.travel-shop-vpd .travel-v28-request-btn{
    border:1px solid #fff!important;
    background:#fff!important;
    color:var(--travel-accent-dark)!important;
}
.travel-shop-vpd .travel-v28-request-btn i{
    color:var(--travel-accent)!important;
}

/* FAQ, đánh giá và nội dung liên quan. */
.travel-shop-vpd .travel-v29-faq .industry-template__faq details{
    border-color:var(--travel-accent-border)!important;
}
.travel-shop-vpd .travel-v29-faq .industry-template__faq details[open] summary{
    background:var(--travel-accent-soft)!important;
    color:var(--travel-accent)!important;
}
.travel-shop-vpd .travel-v29-faq .industry-template__faq summary i{
    color:var(--travel-accent)!important;
}
.travel-shop-vpd .xe-review-compact{
    --shop-review-accent:var(--travel-accent)!important;
}
.travel-shop-vpd .xe-review-score__stars,
.travel-shop-vpd .xe-review-card-compact__top span{
    color:var(--travel-accent)!important;
}
.travel-shop-vpd .xe-review-summary,
.travel-shop-vpd .xe-review-empty{
    border-color:var(--travel-accent-border)!important;
    background:var(--travel-accent-soft-2)!important;
}
.travel-shop-vpd .xe-review-write-btn,
.travel-shop-vpd .xe-review-empty button,
.travel-shop-vpd .xe-review-submit-btn{
    border-color:var(--travel-accent)!important;
    background:var(--travel-accent)!important;
    color:#fff!important;
}
.travel-shop-vpd .xe-review-write-btn :where(i,span),
.travel-shop-vpd .xe-review-empty button :where(i,span),
.travel-shop-vpd .xe-review-submit-btn :where(i,span){
    color:#fff!important;
}
.travel-shop-vpd .xe-review-empty>i{
    background:#fff!important;
    color:var(--travel-accent)!important;
}
.travel-shop-vpd .travel-related-v33__card{
    color:var(--travel-accent-dark)!important;
}

/* Bảo vệ khỏi rule icon toàn site: icon trên nền màu luôn trắng. */
.travel-shop-vpd :where(
    .travel-vpd-btn--primary,
    .travel-vpd-gallery-nav:hover,
    .travel-gallery__head-actions button:hover,
    .travel-v28-itinerary li b,
    .travel-v28-map__address>i,
    .travel-v29-contact,
    .travel-v28-contact,
    .travel-v28-contact-list>a.is-call-link,
    .travel-vpd-contact-actions .is-call,
    .industry-sticky-tabs__contact .is-call,
    .travel-card .industry-template__listing-image>span
) :where(i,svg,path,span,strong,small){
    color:#fff!important;
}

@media(max-width:767px){
    .travel-shop-vpd .industry-sticky-tabs__contact .is-call{
        background:var(--travel-call)!important;
        color:#fff!important;
    }
}

/* Travel Shop V3.5 — FAQ + đánh giá chung một khối 2 cột trên PC; dịch vụ liên quan 6 bài/hàng. */
.travel-v35-faq-reviews{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:0;
    overflow:hidden;
    border:1px solid var(--travel-accent-border);
    border-radius:18px;
    background:#fff;
    box-shadow:0 8px 26px rgba(15,23,42,.05);
}
.travel-v35-faq-reviews.has-two-columns{
    grid-template-columns:repeat(2,minmax(0,1fr));
}
.travel-v35-faq-column,
.travel-v35-review-column{
    min-width:0;
    padding:20px;
}
.travel-v35-faq-reviews.has-two-columns .travel-v35-review-column{
    border-left:1px solid var(--travel-accent-border);
}
.travel-v35-faq-reviews .travel-v29-faq,
.travel-v35-faq-reviews .travel-review,
.travel-v35-faq-reviews .travel-review .ct5-panel,
.travel-v35-faq-reviews .travel-review .xe-review-compact{
    height:100%;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
}
.travel-v35-faq-reviews .industry-template__section-head{
    align-items:flex-start;
    margin-bottom:14px;
}
.travel-v35-faq-reviews .industry-template__section-head h2,
.travel-v35-faq-reviews .xe-review-compact__head h2{
    font-size:clamp(20px,1.55vw,26px);
    line-height:1.3;
}
.travel-v35-faq-reviews .travel-v29-faq .industry-template__faq{
    grid-template-columns:1fr;
    gap:9px;
}
.travel-v35-faq-reviews .travel-v29-faq .industry-template__faq details{
    border-color:var(--travel-accent-border)!important;
    border-radius:12px;
}
.travel-v35-faq-reviews .travel-review .xe-review-compact__head{
    align-items:flex-start;
    gap:12px;
}
.travel-v35-faq-reviews .travel-review .xe-review-summary{
    margin-top:14px;
}
.travel-v35-faq-reviews .travel-review .xe-review-list-compact{
    grid-template-columns:1fr;
}

@media(min-width:1101px){
    .ct5-shop-page-travel_shop .travel-related-v33__grid{
        grid-template-columns:repeat(6,minmax(0,1fr))!important;
        gap:10px!important;
    }
    .ct5-shop-page-travel_shop .travel-related-v33__title{
        min-height:58px;
        padding:9px 10px 10px;
        font-size:12px;
        line-height:1.38;
        -webkit-line-clamp:3;
    }
}

@media(max-width:1100px){
    .travel-v35-faq-reviews.has-two-columns{
        grid-template-columns:1fr;
    }
    .travel-v35-faq-reviews.has-two-columns .travel-v35-review-column{
        border-top:1px solid var(--travel-accent-border);
        border-left:0;
    }
}

@media(max-width:767px){
    .travel-v35-faq-reviews{
        border-radius:13px;
    }
    .travel-v35-faq-column,
    .travel-v35-review-column{
        padding:12px;
    }
    .travel-v35-faq-reviews .industry-template__section-head h2,
    .travel-v35-faq-reviews .xe-review-compact__head h2{
        font-size:18px;
    }
}

/* Travel Shop Style V3.6 — khóa toàn bộ icon theo palette style đang chọn.
 * Rule giao diện chung của website đang ép .bi về màu đỏ bằng !important,
 * vì vậy Travel Shop cần selector riêng có độ ưu tiên cao hơn.
 */
.travel-shop-vpd :where(
    i.bi,
    i[class*="bi-"],
    .bi,
    .travel-vpd-kicker i,
    .travel-vpd-destination i,
    .travel-vpd-chips i,
    .travel-vpd-benefits i,
    .travel-vpd-btn i,
    .travel-vpd-contact-actions i,
    .travel-vpd-gallery-tool i,
    .travel-vpd-gallery-nav i,
    .travel-vpd-photo-counter i,
    .industry-template__tabs i,
    .industry-sticky-tabs__summary i,
    .industry-sticky-tabs__contact i,
    .travel-card i,
    .travel-v28-card i,
    .travel-v28-side-card i,
    .travel-v29-facts i,
    .travel-v28-prices i,
    .travel-v28-itinerary i,
    .travel-v28-scope i,
    .travel-v29-policies i,
    .travel-v28-service-meta i,
    .travel-v28-map__info i,
    .travel-v28-map__address i,
    .travel-v28-nearby i,
    .travel-v29-map-contact i,
    .travel-v29-contact i,
    .travel-v28-contact i,
    .travel-gallery i,
    .travel-faq i,
    .travel-v29-faq i,
    .travel-review i,
    .xe-review-compact i,
    .travel-related-v27 i,
    .travel-related-v33 i,
    .travel-v35-faq-reviews i
){
    color:var(--travel-accent)!important;
}

/* SVG icon cũng phải ăn theo màu style, kể cả component có fill/stroke riêng. */
.travel-shop-vpd :where(
    .travel-vpd-contact-actions,
    .industry-sticky-tabs__contact,
    .travel-v28-contact-list,
    .travel-v29-contact,
    .travel-v28-contact,
    .travel-vpd-btn,
    .travel-v29-open-map,
    .travel-v28-request-btn
) svg{
    color:currentColor!important;
    fill:currentColor!important;
    stroke:currentColor!important;
}
.travel-shop-vpd :where(
    .travel-vpd-contact-actions,
    .industry-sticky-tabs__contact,
    .travel-v28-contact-list,
    .travel-v29-contact,
    .travel-v28-contact,
    .travel-vpd-btn,
    .travel-v29-open-map,
    .travel-v28-request-btn
) svg *:not([fill="none"]){
    fill:currentColor!important;
}
.travel-shop-vpd :where(
    .travel-vpd-contact-actions,
    .industry-sticky-tabs__contact,
    .travel-v28-contact-list,
    .travel-v29-contact,
    .travel-v28-contact,
    .travel-vpd-btn,
    .travel-v29-open-map,
    .travel-v28-request-btn
) svg *:not([stroke="none"]){
    stroke:currentColor!important;
}

/* Icon nằm trên nền màu style phải chuyển trắng. */
.travel-shop-vpd :where(
    .travel-vpd-btn--primary,
    .travel-vpd-gallery-nav:hover,
    .travel-gallery__head-actions button:hover,
    .travel-card .industry-template__listing-image>span,
    .travel-v28-itinerary li b,
    .travel-v28-map__address>i,
    .travel-v29-contact,
    .travel-v28-contact,
    .travel-v28-contact-list>a:not(.is-call-link),
    .xe-review-write-btn,
    .xe-review-empty button,
    .xe-review-submit-btn
) :where(i.bi,i[class*="bi-"],.bi,svg,svg *,span,strong,small){
    color:#fff!important;
}
.travel-shop-vpd :where(
    .travel-vpd-btn--primary,
    .travel-vpd-gallery-nav:hover,
    .travel-gallery__head-actions button:hover,
    .travel-card .industry-template__listing-image>span,
    .travel-v29-contact,
    .travel-v28-contact,
    .travel-v28-contact-list>a:not(.is-call-link),
    .xe-review-write-btn,
    .xe-review-empty button,
    .xe-review-submit-btn
) svg,
.travel-shop-vpd :where(
    .travel-vpd-btn--primary,
    .travel-vpd-gallery-nav:hover,
    .travel-gallery__head-actions button:hover,
    .travel-card .industry-template__listing-image>span,
    .travel-v29-contact,
    .travel-v28-contact,
    .travel-v28-contact-list>a:not(.is-call-link),
    .xe-review-write-btn,
    .xe-review-empty button,
    .xe-review-submit-btn
) svg *{
    fill:currentColor!important;
    stroke:currentColor!important;
}

/* Các icon nằm trong ô nền trắng của panel màu giữ màu accent. */
.travel-shop-vpd :where(
    .travel-v28-contact-list>a:not(.is-call-link)>i,
    .travel-v29-contact .travel-v28-contact-list>a:not(.is-call-link)>i,
    .travel-v28-contact .travel-v28-contact-list>a:not(.is-call-link)>i,
    .travel-v29-facts article>i,
    .travel-v28-prices>h3 i,
    .travel-v28-itinerary>h3 i,
    .travel-v29-policies>h3>i,
    .travel-v28-service-meta article>i,
    .travel-v28-policies article>i,
    .xe-review-empty>i
){
    color:var(--travel-accent)!important;
}

/* Nút gọi là ngoại lệ duy nhất: luôn nền xanh lá, icon và chữ trắng. */
.travel-shop-vpd :where(
    .travel-vpd-contact-actions .is-call,
    .industry-sticky-tabs__contact .is-call,
    .travel-v28-contact-list>a.is-call-link
){
    border-color:var(--travel-call)!important;
    background:var(--travel-call)!important;
    color:#fff!important;
}
.travel-shop-vpd :where(
    .travel-vpd-contact-actions .is-call,
    .industry-sticky-tabs__contact .is-call,
    .travel-v28-contact-list>a.is-call-link
) :where(i.bi,i[class*="bi-"],.bi,svg,svg *,span,strong,small){
    color:#fff!important;
    fill:currentColor!important;
    stroke:currentColor!important;
}

/* Chốt riêng các vị trí từng bị rule global ép đỏ. */
.travel-shop-vpd .travel-vpd-chips span i,
.travel-shop-vpd .travel-vpd-kicker i,
.travel-shop-vpd .industry-template__tabs a i,
.travel-shop-vpd .industry-template__tabs a:not(.is-active) i,
.travel-shop-vpd .industry-template__tabs a.is-active i,
.travel-shop-vpd .industry-sticky-tabs__summary i,
.travel-shop-vpd .travel-vpd-benefits i,
.travel-shop-vpd .travel-card p i,
.travel-shop-vpd .travel-v35-faq-reviews .xe-review-compact__eyebrow i{
    color:var(--travel-accent)!important;
}

/* Travel Shop Style V3.7 — 3 nội dung chuyển đổi của listing luôn đỏ tươi.
 * Không phụ thuộc style xanh/đỏ/tím/xanh lá. Hover/focus chuyển cam.
 */
.travel-shop-vpd{
    --travel-listing-conversion:#ef233c;
    --travel-listing-conversion-hover:#f59e0b;
}

/* 1. Tiêu đề listing */
.travel-shop-vpd .travel-card .industry-template__listing-title,
.travel-shop-vpd .travel-card .industry-template__listing-title:link,
.travel-shop-vpd .travel-card .industry-template__listing-title:visited{
    color:var(--travel-listing-conversion)!important;
}
.travel-shop-vpd .travel-card .industry-template__listing-title:hover,
.travel-shop-vpd .travel-card .industry-template__listing-title:focus-visible{
    color:var(--travel-listing-conversion-hover)!important;
}

/* 2. Giá / chữ Liên hệ */
.travel-shop-vpd .travel-card .travel-card__price{
    color:var(--travel-listing-conversion)!important;
    transition:color .18s ease;
}
.travel-shop-vpd .travel-card .travel-card__price:hover,
.travel-shop-vpd .travel-card:hover .travel-card__price{
    color:var(--travel-listing-conversion-hover)!important;
}

/* 3. Xem chi tiết */
.travel-shop-vpd .travel-card footer>a,
.travel-shop-vpd .travel-card footer>a:link,
.travel-shop-vpd .travel-card footer>a:visited{
    color:var(--travel-listing-conversion)!important;
}
.travel-shop-vpd .travel-card footer>a:hover,
.travel-shop-vpd .travel-card footer>a:focus-visible{
    color:var(--travel-listing-conversion-hover)!important;
}

/* Travel Shop Style V3.8 — màu chữ listing theo yêu cầu mới.
 * 1) Tiêu đề ăn theo màu style đang chọn.
 * 2) Giá/Liên hệ và Xem chi tiết luôn màu đen, hover/focus chuyển cam.
 */
.travel-shop-vpd{
    --travel-listing-neutral:#111827;
    --travel-listing-hover:#f59e0b;
}

/* 1. Tiêu đề listing: đồng bộ style xanh/đỏ/tím/xanh lá. */
.travel-shop-vpd .travel-card .industry-template__listing-title,
.travel-shop-vpd .travel-card .industry-template__listing-title:link,
.travel-shop-vpd .travel-card .industry-template__listing-title:visited{
    color:var(--travel-accent)!important;
    transition:color .18s ease;
}
.travel-shop-vpd .travel-card .industry-template__listing-title:hover,
.travel-shop-vpd .travel-card .industry-template__listing-title:focus-visible{
    color:var(--travel-listing-hover)!important;
}

/* 2. Giá / chữ Liên hệ: luôn màu đen, chỉ chuyển cam khi rê đúng vào chữ. */
.travel-shop-vpd .travel-card .travel-card__price,
.travel-shop-vpd .travel-card:hover .travel-card__price{
    color:var(--travel-listing-neutral)!important;
    transition:color .18s ease;
}
.travel-shop-vpd .travel-card .travel-card__price:hover,
.travel-shop-vpd .travel-card .travel-card__price:focus-visible{
    color:var(--travel-listing-hover)!important;
}

/* 3. Xem chi tiết: luôn màu đen, hover/focus chuyển cam. */
.travel-shop-vpd .travel-card footer>a,
.travel-shop-vpd .travel-card footer>a:link,
.travel-shop-vpd .travel-card footer>a:visited{
    color:var(--travel-listing-neutral)!important;
    transition:color .18s ease;
}
.travel-shop-vpd .travel-card footer>a:hover,
.travel-shop-vpd .travel-card footer>a:focus-visible{
    color:var(--travel-listing-hover)!important;
}
