
:root {
    --c-primary: #16407f;       /* navy - mÃƒÆ’Ã‚Â u chÃƒÂ¡Ã‚Â»Ã‚Â§ Ãƒâ€žÃ¢â‚¬ËœÃƒÂ¡Ã‚ÂºÃ‚Â¡o (theo template) */
    --c-primary-dark: #0f2f60;
    --c-accent: #f7941d;        /* cam - nÃƒÆ’Ã‚Âºt CTA, hotline, giÃƒÆ’Ã‚Â¡ */
    --c-accent-dark: #e07d09;
    --c-text: #1f2733;
    --c-muted: #6b7280;
    --c-border: #e5e8ef;
    --c-bg: #ffffff;
    --c-bg-soft: #f4f7fb;
    --c-dark: #121826;
    --c-header: #143b75;        /* nÃƒÂ¡Ã‚Â»Ã‚Ân header navy */
    --c-footer: #102f5e;        /* nÃƒÂ¡Ã‚Â»Ã‚Ân footer navy */
    --font-base: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
    --container-max: 1250px;
    --radius: 12px;
    --radius-sm: 8px;
    --shadow: 0 8px 28px rgba(20, 35, 70, .08);
    --header-h: 76px;
    --section-pad: 50px;
}

/* ------------------------- 2. Reset / base ------------------------- */
* { box-sizing: border-box; }

html { scroll-behavior: smooth; scroll-padding-top: calc(var(--header-h) + 12px); }

body {
    margin: 0;
    font-family: var(--font-base);
    color: var(--c-text);
    background: var(--c-bg);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; display: block; }
a { color: var(--c-primary); text-decoration: none; transition: color .2s ease; }
a:hover { color: var(--c-primary-dark); }
ul { margin: 0; padding: 0; list-style: none; }

h1, h2, h3, h4, h5 { margin: 0 0 .5em; font-weight: 700; line-height: 1.25; color: var(--c-dark); }
h1 { font-size: clamp(2rem, 4vw, 3rem); }
h2 { font-size: clamp(1.6rem, 3vw, 2.25rem); }
p { margin: 0 0 1rem; }

:focus-visible { outline: 2px solid var(--c-primary); outline-offset: 2px; }

/* ------------------------- 3. Layout helpers ----------------------- */
.container { max-width: var(--container-max); }

.section { padding: var(--section-pad) 0; }
.section-soft { background: var(--c-bg-soft); }

.section-heading { margin-bottom: 40px; }
.section-heading .kicker {
    display: inline-block; color: var(--c-primary);
    font-weight: 600; letter-spacing: .04em; text-transform: uppercase; font-size: .85rem;
}
.section-heading h2 {margin-top: 8px;text-transform: capitalize;font-size: 32px;font-weight: 700;color: var(--c-primary);}
.section-heading p { color: var(--c-muted); max-width: 640px; }

/* NÃƒÆ’Ã‚Âºt cÃƒâ€ Ã‚Â¡ bÃƒÂ¡Ã‚ÂºÃ‚Â£n (bÃƒÂ¡Ã‚Â»Ã¢â‚¬Â¢ sung cho Bootstrap) */
.btn-cta {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 12px 24px; border-radius: 999px;
    background: var(--c-primary); color: #fff; font-weight: 600;
    border: 0; transition: background .2s ease, transform .2s ease;
}
.btn-cta:hover { background: var(--c-primary-dark); color: #fff; transform: translateY(-1px); }

/* ------------------------- 4. Header (nÃƒÂ¡Ã‚Â»Ã‚Ân trÃƒÂ¡Ã‚ÂºÃ‚Â¯ng) ------------------- */
.site-header {
    position: sticky; top: 0; z-index: 1030;
    background: #fff;
    color: var(--c-text);
    min-height: var(--header-h);
    border-bottom: 1px solid var(--c-border);
    transition: box-shadow .25s ease;
}
.site-header.is-scrolled { box-shadow: 0 4px 18px rgba(20, 35, 70, .10); }
.site-header .navbar {padding-block: 10px;gap: 15px;flex-wrap: nowrap;}
.site-header .navbar-brand {display: inline-flex;align-items: center;padding: 0;margin: 0;color: var(--c-dark);font-weight: 800;margin-right: 20px;}
.site-header .navbar-brand img {max-height: 65px;width: auto;object-fit: contain;}

/* Nav shell: desktop lÃƒÆ’Ã‚Â  thanh ngang chiÃƒÂ¡Ã‚ÂºÃ‚Â¿m phÃƒÂ¡Ã‚ÂºÃ‚Â§n cÃƒÆ’Ã‚Â²n lÃƒÂ¡Ã‚ÂºÃ‚Â¡i */
.site-nav-shell { color: inherit; }
@media (min-width: 992px) {
    .site-nav-shell { flex: 1 1 auto; }
    .site-nav-shell .offcanvas-body { display: flex; align-items: center; gap: 24px; padding: 0; overflow: visible; }
}

/* Menu link neo */
.main-nav-tree { display: flex; align-items: center; gap: 2px; }
.main-nav-tree .menu-item > a {
    display: block;
    padding: 10px 10px;
    border-radius: var(--radius-sm);
    color: var(--c-text);
    font-weight: 500;
    font-size: 13px;
    white-space: nowrap;
    text-transform: uppercase;
    font-weight: 700;
}
.main-nav-tree .menu-item > a:hover,
.main-nav-tree .menu-item.is-active > a { color: var(--c-primary); background: rgba(22, 64, 127, .07); }

/* Khu vÃƒÂ¡Ã‚Â»Ã‚Â±c hÃƒÆ’Ã‚Â nh Ãƒâ€žÃ¢â‚¬ËœÃƒÂ¡Ã‚Â»Ã¢â€žÂ¢ng bÃƒÆ’Ã‚Âªn phÃƒÂ¡Ã‚ÂºÃ‚Â£i */
.header-actions {display: flex;align-items: center;gap: 10px;margin-left: auto;}

.header-hotline { display: inline-flex; align-items: center; gap: 10px; color: var(--c-dark); }
.header-hotline:hover { color: var(--c-dark); }
.header-hotline .hotline-ic {
    width: 42px; height: 42px; border-radius: 50%; flex-shrink: 0;
    display: grid; place-items: center;
    background: rgba(22, 64, 127, .08); color: var(--c-primary); font-size: 1rem;
}
.header-hotline .hotline-meta { display: flex; flex-direction: column; line-height: 1.2; }
.header-hotline .hotline-meta small {font-size: 14px;color: var(--c-muted);}
.header-hotline .hotline-meta strong {font-size: 15px;color: var(--c-accent);font-weight: 800;}

.header-booking {
    padding: 7px 15px;
    border-radius: 999px;
    white-space: nowrap;
    background: var(--c-accent);
    color: #fff;
    font-weight: 500;
    box-shadow: 0 6px 16px rgba(247, 148, 29, .35);
    font-size: 15px;
}
.header-booking:hover { background: var(--c-accent-dark); color: #fff; }

/* Select chuyen ngon ngu */
.lang-switch {
    padding: 10px 25px 10px 10px;
    border: 1px solid var(--c-border);
    border-radius: 999px;
    background-color: #fff;
    color: var(--c-text);
    font: inherit;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2316407f'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 12px;
}
.lang-switch:hover { border-color: var(--c-primary); color: var(--c-primary); }
.lang-switch:focus { outline: none; border-color: var(--c-primary); box-shadow: 0 0 0 3px rgba(22, 64, 127, .15); }

/* NÃƒÆ’Ã‚Âºt mÃƒÂ¡Ã‚Â»Ã…Â¸ menu mobile */
.navbar-toggler.mobile-menu-btn { border: 0; font-size: 1.6rem; line-height: 1; color: var(--c-dark); padding: 4px 8px; }
.navbar-toggler.mobile-menu-btn:focus { box-shadow: none; }

/* Offcanvas (mobile) nÃƒÂ¡Ã‚Â»Ã‚Ân trÃƒÂ¡Ã‚ÂºÃ‚Â¯ng */
.site-nav-shell.offcanvas { background: #fff; color: var(--c-text); width: 300px; }
.site-nav-shell .offcanvas-header { border-bottom: 1px solid var(--c-border); }
.site-nav-shell .offcanvas-title img { max-height: 44px; }

@media (max-width: 991.98px) {
    .main-nav-tree { flex-direction: column; align-items: stretch; gap: 2px; width: 100%; }
    .main-nav-tree .menu-item > a { padding: 12px 8px; }
    .header-actions { flex-direction: column; align-items: stretch; gap: 12px; margin: 18px 0 0; }
    .header-hotline { justify-content: flex-start; }
    .header-booking { text-align: center; }
}

/* ------------------------- 5. Footer ------------------------------- */
.footer {background: var(--c-footer);color: #c8d0de;padding: 56px 0 28px;margin-top: 0;padding-bottom: 10px;}
.footer h3 {color: #fff;font-size: 1.05rem;margin-bottom: 18px;text-transform: uppercase;font-weight: 500;}
.footer a { color: #c8d0de; }
.footer a:hover { color: #fff; }
.footer .gioithieu_f {margin: 14px 0;color: #ffffff;}
.footer .footer-links li { margin-bottom: 10px; }
.footer .list_lienhe p { margin-bottom: 10px; display: flex; gap: 8px; font-size:14px; }
.footer .list_lienhe i { color: var(--c-accent); margin-top: 4px; }
.footer .socials { display: flex; gap: 10px; margin-top: 16px; }
.footer .socials a {
    width: 38px; height: 38px; border-radius: 50%;
    display: grid; place-items: center;
    background: rgba(255, 255, 255, .08); color: #fff;
}
.footer .socials a:hover { background: var(--c-primary); }
.footer .map-box { border-radius: var(--radius-sm); overflow: hidden; min-height: 200px; background: rgba(255, 255, 255, .05); }
.footer .map-box iframe { width: 100%; min-height: 220px; border: 0; display: block; }

/* Form gÃƒÂ¡Ã‚Â»Ã‚Â­i yÃƒÆ’Ã‚Âªu cÃƒÂ¡Ã‚ÂºÃ‚Â§u tÃƒâ€ Ã‚Â° vÃƒÂ¡Ã‚ÂºÃ‚Â¥n ÃƒÂ¡Ã‚Â»Ã…Â¸ footer */
.footer .footer-form { display: flex; flex-direction: column; gap: 10px; }
.footer .footer-input {
    width: 100%; padding: 10px 13px; font: inherit;
    border: 1px solid rgba(255, 255, 255, .16); border-radius: var(--radius-sm);
    background: rgba(255, 255, 255, .07); color: #fff;
}
.footer .footer-input::placeholder { color: #9aa6b8; }
.footer .footer-input:focus { outline: 0; border-color: var(--c-accent); background: rgba(255, 255, 255, .12); }
.footer textarea.footer-input { resize: vertical; min-height: 72px; }
.footer .footer-submit {
    align-self: flex-start; border: 0; cursor: pointer;
    padding: 10px 26px; border-radius: 999px; background: var(--c-accent); color: #fff; font-weight: 700;
}
.footer .footer-submit:hover { background: var(--c-accent-dark); }
.footer .footer-submit:disabled { opacity: .6; cursor: not-allowed; }
.footer .footer-form-msg { font-size: .88rem; }
.footer .footer-form-msg.ok { color: #4ade80; }
.footer .footer-form-msg.err { color: #f87171; }

.footer .copyright,
.footer > .container > :last-child {border-top: 1px solid rgba(255, 255, 255, .1);margin-top: 20px;padding-top: 10px;font-size: .9rem;color: #c6c6c6;text-align: center;}

/* ------------------------- 6. TiÃƒÂ¡Ã‚Â»Ã¢â‚¬Â¡n ÃƒÆ’Ã‚Â­ch ----------------------------- */
.back-to-top {
    position: fixed; right: 22px; bottom: 22px; z-index: 1040;
    width: 46px; height: 46px; border-radius: 50%;
    display: grid; place-items: center;
    background: var(--c-primary); color: #fff; border: 0;
    opacity: 0; visibility: hidden; transform: translateY(10px);
    transition: all .25s ease; cursor: pointer;
}
.back-to-top.show { opacity: 1; visibility: visible; transform: translateY(0); }
.back-to-top:hover { background: var(--c-primary-dark); }

/* NÃºt liÃªn há»‡ ná»•i (Zalo / WhatsApp / Telegram) - náº±m trÃªn nÃºt back-to-top */
.floating-contacts {
    position: fixed; right: 22px; bottom: 80px; z-index: 1040;
    display: flex; flex-direction: column; gap: 12px;
}
.floating-contacts .fc-btn {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: #fff;
    font-size: 30px;
    text-decoration: none;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .18);
    transition: transform .2s ease, box-shadow .2s ease;
}
.floating-contacts .fc-btn:hover { transform: translateY(-3px); box-shadow: 0 10px 22px rgba(0, 0, 0, .28); color: #fff; }
.floating-contacts .fc-zalo { background: #0068ff; }
.floating-contacts .fc-img { background: #fff; padding: 0; overflow: hidden; }
.floating-contacts .fc-img img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }
.floating-contacts .fc-whatsapp { background: #25d366; }
.floating-contacts .fc-telegram { background: #2aabee; }
@media (max-width: 575.98px) {
    .floating-contacts { right: 16px; bottom: 74px; gap: 10px; }
    .floating-contacts .fc-btn { width: 42px; height: 42px; font-size: 1.05rem; }
}

/* Swiper: chÃƒÂ¡Ã‚Â»Ã¢â‚¬Â°nh mÃƒÆ’Ã‚Â u nÃƒÆ’Ã‚Âºt/chÃƒÂ¡Ã‚ÂºÃ‚Â¥m theo theme */
.swiper-button-next, .swiper-button-prev { color: var(--c-primary); }
.swiper-pagination-bullet-active { background: var(--c-primary); }

/* ------------------------- 7. Hero slider (ÃƒÂ¡Ã‚ÂºÃ‚Â£nh) ------------------- */
.hero { position: relative; }
.hero-swiper { width: 100%; }
.hero-swiper .swiper-slide {background: var(--c-bg-soft);}
.hero-swiper .swiper-slide img {width: 100%;height: 100%;display: block;}
.hero-swiper .swiper-button-next, .hero-swiper .swiper-button-prev {
    width: 44px; height: 44px; border-radius: 50%;
    background: rgba(255, 255, 255, .85); color: var(--c-primary);
    box-shadow: 0 4px 14px rgba(0, 0, 0, .15);
}
.hero-swiper .swiper-button-next::after, .hero-swiper .swiper-button-prev::after { font-size: 18px; font-weight: 700; }
@media (max-width: 768px) { .hero-swiper .swiper-slide {/* aspect-ratio: 16 / 10; *//* min-height: 220px; */} }

/* ------------------------- 8. Form Ãƒâ€žÃ¢â‚¬ËœÃƒÂ¡Ã‚ÂºÃ‚Â·t xe (2 tab) ----------------- */
.booking-section {position: relative;margin-top: -50px;z-index: 5;}
@media (max-width: 768px) { .booking-section { margin-top: -28px; } .booking-tab{font-size: 13px;gap: 10px;padding: 10px !important;} }

.booking-card {background: #fff;border-radius: var(--radius);box-shadow: var(--shadow);overflow: hidden;padding: 10px;border-radius: 10px;}

.booking-tabs {display: flex;border-radius: 10px;overflow: hidden;}
.booking-tab {
    flex: 1;
    border: 0;
    background: #eef2f8;
    color: var(--c-primary);
    font-weight: 600;
    padding: 15px 18px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: background .2s ease, color .2s ease;
    text-transform: uppercase;
}
.booking-tab.active { background: var(--c-primary); color: #fff; }
.booking-tab:not(.active):hover { background: #e2e9f3; }

.booking-panel {display: none;padding: 20px 10px;}
.booking-panel.active { display: block; }

.booking-grid { display: grid; grid-template-columns: repeat(5, 1fr) auto; gap: 16px; align-items: end; }
@media (max-width: 1100px) { .booking-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 768px) { .booking-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .booking-grid { grid-template-columns: 1fr; } }

.booking-msg {font-size: .9rem;}
.booking-msg.ok { color: #1f8a4c; font-weight: 600; }
.booking-msg.err { color: #c0392b; }

.booking-field { display: flex; flex-direction: column; gap: 6px; }
.booking-field > span {font-size: 14px;font-weight: 600;color: var(--c-text);}
.booking-field .control {
    width: 100%;
    padding: 11px 14px;
    border: 1px solid var(--c-border);
    border-radius: var(--radius-sm);
    font: inherit;
    color: var(--c-text);
    background: #fff;
    font-size: 14px;
}
.booking-field .control:focus { outline: 0; border-color: var(--c-primary); box-shadow: 0 0 0 3px rgba(22, 64, 127, .12); }

.booking-submit {
    border: 0; border-radius: var(--radius-sm); cursor: pointer; height: 46px;
    padding: 0 22px; font-weight: 700; color: #fff; white-space: nowrap;
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
}
.booking-submit.is-orange { background: var(--c-accent); }
.booking-submit.is-orange:hover { background: var(--c-accent-dark); }
.booking-submit.is-blue { background: var(--c-primary); }
.booking-submit.is-blue:hover { background: var(--c-primary-dark); }

/* ------------------------- 9. DÃƒÂ¡Ã‚Â»Ã¢â‚¬Â¹ch vÃƒÂ¡Ã‚Â»Ã‚Â¥ nÃƒÂ¡Ã‚Â»Ã¢â‚¬Â¢i bÃƒÂ¡Ã‚ÂºÃ‚Â­t --------------------- */
.service-card {
    display: flex; height: 100%;
    background: #fff; border: 1px solid var(--c-border);
    border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow);
}
.service-card-info { flex: 1 1 58%; padding: 26px; }
.service-card .service-ic {
    width: 62px; height: 62px; border-radius: 50%; margin-bottom: 16px;
    display: grid; place-items: center; background: var(--c-primary);
}
.service-card.is-accent .service-ic { background: var(--c-accent); }
.service-card .service-ic img { width: 32px; height: 32px; object-fit: contain; }
.service-card .service-ic i { color: #fff; font-size: 26px; }
.service-card h3 { font-size: 1.25rem; color: var(--c-primary); margin-bottom: 12px; }
.service-card.is-accent h3 { color: var(--c-accent-dark); }
.service-card-desc { color: var(--c-muted); font-size: .96rem; }
.service-card-desc p { margin: 0 0 8px; }
.service-card-desc ul { margin: 8px 0 0; padding: 0; }
.service-card-desc li { display: flex; align-items: flex-start; gap: 8px; margin-bottom: 6px; list-style: none; }
.service-card-desc li::before { content: "\f058"; font-family: "Font Awesome 6 Free"; font-weight: 900; color: #21b573; }
.service-card-media { flex: 0 0 42%; min-height: 220px; }
.service-card-media img { width: 100%; height: 100%; object-fit: cover; display: block; }

@media (max-width: 768px) {
    .service-card { flex-direction: column; }
    .service-card-media { flex-basis: auto; height: 200px; min-height: 0; }
}

/* ------------------------- 10. TuyÃƒÂ¡Ã‚ÂºÃ‚Â¿n Ãƒâ€žÃ¢â‚¬ËœÃƒâ€ Ã‚Â°ÃƒÂ¡Ã‚Â»Ã‚Âng phÃƒÂ¡Ã‚Â»Ã¢â‚¬Â¢ biÃƒÂ¡Ã‚ÂºÃ‚Â¿n --------------- */
/* --------- Slider dung chung cho tuyen / tour / jeep --------- */
.section-swiper { padding-bottom: 48px; }
.section-swiper .swiper-slide { height: auto; }
.section-swiper .swiper-slide > .route-card,
.section-swiper .swiper-slide > .tour-card { height: 100%; }
.section-swiper .swiper-pagination { bottom: 6px; }
.section-swiper .swiper-button-next,
.section-swiper .swiper-button-prev {
    width: 42px; height: 42px; border-radius: 50%; top: 43%;
    background: #fff; color: var(--c-primary); box-shadow: 0 4px 14px rgba(20, 35, 70, .16);
}
.section-swiper .swiper-button-next::after,
.section-swiper .swiper-button-prev::after { font-size: 16px; font-weight: 700; }
.section-swiper .swiper-button-prev { left: 2px; }
.section-swiper .swiper-button-next { right: 2px; }

.route-card {
    display: flex; flex-direction: column; height: 100%;
    background: #fff; border: 1px solid var(--c-border);
    border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow);
}
/* Dịch vụ đưa đón sân bay: ảnh trái + tiêu đề/mô tả phải */
.airport-transfer-media { border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow); }
.airport-transfer-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.airport-transfer-body h2 { 
    color: var(--c-primary);
    margin-bottom: 16px;
    font-size: 32px;
    text-transform: capitalize;
 }
.airport-transfer-desc { color: var(--c-text); }
.airport-transfer-desc p { margin-bottom: 12px; }
.airport-transfer-desc ul { list-style: disc; padding-left: 20px; margin: 0 0 12px; }
.airport-transfer-desc ul li { margin-bottom: 6px; }
@media (max-width: 991.98px) {
    .airport-transfer-body { margin-top: 6px; }
}

.route-card-media {aspect-ratio: 1/1;overflow: hidden;}
.route-card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.route-card:hover .route-card-media img { transform: scale(1.05); }
.route-card-body { flex: 1; padding: 18px 20px 22px; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 12px; }
.route-title { font-size: 1.18rem; color: var(--c-primary); margin: 0; }
.route-meta { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 16px; color: var(--c-muted); font-size: .9rem; }
.route-meta i { color: var(--c-accent); margin-right: 4px; }
.route-btn {
    margin-top: auto;
    border: 0;
    cursor: pointer;
    padding: 8px 22px;
    border-radius: var(--radius-sm);
    background: var(--c-accent);
    color: #fff;
    font-weight: 500;
    font-size: 14px;
}
.route-btn:hover { background: var(--c-primary-dark); color: #fff; }

/* Modal mÃƒÆ’Ã‚Â´ tÃƒÂ¡Ã‚ÂºÃ‚Â£ tuyÃƒÂ¡Ã‚ÂºÃ‚Â¿n */
.modal-title { color: var(--c-primary); font-weight: 700; }
.route-modal-meta { display: flex; flex-wrap: wrap; gap: 8px 18px; padding: 10px 16px 0; color: var(--c-muted); font-size: .92rem; }
.route-modal-meta i { color: var(--c-accent); margin-right: 4px; }

/* ------------------------- 11. BÃƒÂ¡Ã‚ÂºÃ‚Â£ng giÃƒÆ’Ã‚Â¡ --------------------------- */
.price-table {
    max-height: 520px; overflow: auto;
    border-radius: var(--radius); box-shadow: var(--shadow); border: 1px solid var(--c-border);
}
.price-table table { width: 100%; min-width: 760px; border-collapse: collapse; background: #fff; }
.price-table thead th {
    position: sticky; top: 0; z-index: 2;
    background: var(--c-primary); color: #fff; padding: 16px 18px; text-align: center;
    font-weight: 700; font-size: 1rem; border-right: 1px solid rgba(255, 255, 255, .18);
}
.price-table thead th:last-child { border-right: 0; }
.price-table thead th small { display: block; font-weight: 400; font-size: .78rem; opacity: .9; margin-top: 2px; }
.price-table tbody td { border: 1px solid var(--c-border); text-align: center; vertical-align: middle; padding: 0; }
.price-table tbody td:first-child { font-weight: 700; color: var(--c-primary); padding: 14px 16px; font-size: 1.02rem; }
.price-table tbody td p { margin: 0; padding: 12px 14px; }
.price-table tbody td p + p { border-top: 1px solid var(--c-border); }
.price-table tbody td:nth-child(2) { color: var(--c-text); }                          /* LoÃƒÂ¡Ã‚ÂºÃ‚Â¡i xe */
.price-table tbody td:nth-child(3) { color: var(--c-accent-dark); font-weight: 700; } /* MÃƒÂ¡Ã‚Â»Ã¢â€žÂ¢t chiÃƒÂ¡Ã‚Â»Ã‚Âu - cam */
.price-table tbody td:nth-child(4) { color: var(--c-primary); }                       /* Hai chiÃƒÂ¡Ã‚Â»Ã‚Âu / LiÃƒÆ’Ã‚Âªn hÃƒÂ¡Ã‚Â»Ã¢â‚¬Â¡ - navy */
.price-table tbody tr:nth-child(even) { background: var(--c-bg-soft); }

/* Thanh cuÃƒÂ¡Ã‚Â»Ã¢â€žÂ¢n theo theme */
.price-table::-webkit-scrollbar { width: 10px; height: 10px; }
.price-table::-webkit-scrollbar-thumb { background: var(--c-primary); border-radius: 8px; }
.price-table::-webkit-scrollbar-thumb:hover { background: var(--c-primary-dark); }
.price-table::-webkit-scrollbar-track { background: #e9eef5; border-radius: 8px; }
.price-table { scrollbar-color: var(--c-primary) #e9eef5; }   /* Firefox */

@media (max-width: 768px) {
    .price-table { max-height: 440px; }
    .price-table thead th { font-size: .9rem; padding: 12px; }
}

/* ------------------------- 12. Phan ThiÃƒÂ¡Ã‚ÂºÃ‚Â¿t Tour -------------------- */
.tour-card {
    display: flex; flex-direction: column; height: 100%;
    background: #fff; border: 1px solid var(--c-border);
    border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow);
}
.tour-card-media {position: relative;overflow: hidden;}
.tour-card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.tour-card:hover .tour-card-media img { transform: scale(1.05); }
.tour-badge {
    position: absolute; top: 12px; left: 12px;
    background: var(--c-primary); color: #fff; font-weight: 700; font-size: .8rem;
    padding: 6px 14px; border-radius: 6px; text-transform: uppercase; letter-spacing: .02em;
    box-shadow: 0 4px 12px rgba(0, 0, 0, .2);
}
.tour-card-body { flex: 1; padding: 18px 20px 22px; display: flex; flex-direction: column; gap: 12px; }
.tour-card-title { font-size: 1.15rem; color: var(--c-primary); margin: 0; }
.tour-card-desc {
    color: var(--c-muted); font-size: .95rem;
    display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.tour-card-desc p { margin: 0; }
.tour-meta { color: var(--c-text); font-size: .9rem; font-weight: 600; }
.tour-meta i { color: var(--c-accent); margin-right: 6px; }
.tour-card .route-btn { align-self: flex-start; margin-top: auto; }

/* ------------------------- 13. VÃƒÆ’Ã‚Â¬ sao chÃƒÂ¡Ã‚Â»Ã‚Ân ----------------------- */
.reason-card {
    display: block;
    align-items: flex-start;
    height: 100%;
    background: #fff;
    border: 1px solid var(--c-border);
    border-radius: var(--radius);
    padding: 20px;
    box-shadow: var(--shadow);
    transition: transform .2s ease;
}
.reason-card:hover { transform: translateY(-3px); }
.reason-ic {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    flex-shrink: 0;
    display: grid;
    place-items: center;
    background: var(--c-accent);
    margin-bottom: 10px;
}
.reason-ic img {width: 40px;height: 40px;object-fit: contain;}
.reason-ic i { color: #fff; font-size: 24px; }
.reason-card h3 {font-size: 18px;color: var(--c-primary);margin: 0 0 6px;}
.reason-desc { color: var(--c-muted); font-size: .9rem; }
.reason-desc p { margin: 0; }

/* ------------------------- 14. Album ----------------------------- */
.album-grid {display: grid;grid-template-columns: repeat(4, 1fr);gap: 14px;}
.album-item {display: block;border-radius: var(--radius-sm);overflow: hidden;aspect-ratio: 2 / 3;box-shadow: var(--shadow);}
.album-item img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.album-item:hover img { transform: scale(1.08); }
.album-item.is-extra { display: none; }
.album-grid.show-all .album-item.is-extra { display: block; }
@media (max-width: 992px) { .album-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 576px) { .album-grid { grid-template-columns: repeat(2, 1fr); } }

.btn-more {
    border: 1px solid var(--c-primary); background: #fff; color: var(--c-primary);
    font-weight: 700; padding: 11px 28px; border-radius: 999px; cursor: pointer; transition: all .2s ease;
}
.btn-more:hover { background: var(--c-primary); color: #fff; }
@media (max-width: 768px) {
    .section-heading h2{
    font-size: 24px;
    }
}
.footer-logo img{
	filter: brightness(0) invert(1);
}
.airport-transfer-media img{
    border-radius: 12px;
}