/* ================================================================
   MY WAY TRAVEL LUXURY DESIGN SYSTEM
   Palette: Warm Parchment, Deep Midnight Ink, Signature Gold, Navy, Rust
   Typography: Cormorant Garamond (Display/Serif) + Jost (Sans-serif)
   ================================================================ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&family=Jost:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500&display=swap');

:root {
    --mwt-parchment:   #F8F6F1;
    --mwt-parchment-2: #F2EDE4;
    --mwt-parchment-3: #EAE3D5;
    --mwt-ink:         #121A26;
    --mwt-ink-soft:    #2b3542;
    --mwt-ink-light:   #64748b;
    --mwt-gold:        #B08A50;
    --mwt-gold-light:  #C9A05C;
    --mwt-gold-dim:    #8C6C3C;
    --mwt-navy:        #0b1a30;
    --mwt-navy-2:      #0b1a30;
    --mwt-rust:        #7A3B2E;

    --font-display:    'Cormorant Garamond', Georgia, serif;
    --font-sans:       'Jost', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --mwt-serif:       'Cormorant Garamond', Georgia, serif;
    --mwt-sans:        'Jost', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* ── 1. GLOBAL BASE & TYPOGRAPHY RESET ── */
html,
body {
    font-family: var(--mwt-sans) !important;
    color: var(--mwt-ink) !important;
    background-color: var(--mwt-parchment) !important;
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
    overflow-x: clip !important;
    height: auto !important;
}

#react-root,
#content-root {
    overflow: visible !important;
    height: auto !important;
}

h1, h2, h3, h4, h5, h6,
.c-heading,
.title24,
#title-line h2,
.travelogue-title h2,
.l-tour-list__header h2,
.l-testimonial-list__header h2,
.l-best-nz__header h1,
.hero-content h1,
.mwt-tour-card-title,
.mwt-tour-card-title a,
.explore-grid .item-title,
.explore-grid .item-title a,
.travelogue-card .card-title,
.mwt-detail-title,
.mwt-section-title,
.itinerary-day-title,
.aman-name,
.quote-text,
.section-head h2,
.widget-title,
.entry-title {
    font-family: var(--mwt-serif) !important;
    font-weight: 500 !important;
    color: var(--mwt-ink) !important;
    letter-spacing: 0.02em;
}

h1, h2 {
    font-weight: 500 !important;
}

h3, h4, h5, h6 {
    font-weight: 600 !important;
}

#title-line h2:before,
#title-line h2:after {
    border-bottom: 2px solid var(--mwt-gold) !important;
}

p,
span,
li,
input,
select,
textarea,
button,
label,
.btn,
.tag,
.badge,
.meta,
.mwt-card-from,
.mwt-card-price,
.mwt-card-meta {
    font-family: var(--mwt-sans) !important;
}

p {
    font-family: var(--mwt-sans) !important;
    color: var(--mwt-ink-soft);
    line-height: 1.68;
}

/* ── 2. HEADER & NAVIGATION ── */
.header,
.header__container,
.header,
.header__container,
.header__row,
.header__right,
.header__tool,
.header__menu,
#xoadi {
    background-color: #0b1a30 !important; /* Unified Royal Navy Blue */
    background: #0b1a30 !important;
}

html body header.header,
html body .header,
html body #react-root header.header,
html body #react-root .header,
html body #content-root header.header,
html body #content-root .header,
.header {
    width: 100% !important;
    max-width: 100% !important;
    left: 0 !important;
    right: 0 !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.45) !important;
    border-bottom: 1px solid rgba(176, 138, 80, 0.25) !important;
    position: relative !important;
    z-index: 99999 !important;
    margin: 0 !important;
    padding: 0 !important;
    background-color: #0b1a30 !important;
    background: #0b1a30 !important;
}

.header__container {
    width: 100% !important;
    max-width: 1240px !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
    background-color: #0b1a30 !important;
    background: #0b1a30 !important;
}

.header__row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 72px !important;
    margin: 0 !important;
}

.header__logo {
    background-color: #0b1a30 !important;
    background: #0b1a30 !important;
    display: flex !important;
    align-items: center !important;
    float: none !important;
    padding: 10px 0 !important;
    width: auto !important;
}

.header__logo a.header__logo-image {
    display: inline-flex !important;
    align-items: center !important;
    text-decoration: none !important;
}

.header__logo a.header__logo-image img {
    max-height: 48px !important;
    width: auto !important;
    object-fit: contain !important;
    display: block !important;
    transition: transform 0.3s ease !important;
}

.header__logo a.header__logo-image:hover img {
    transform: scale(1.02);
}

.header__row .col-md-9 {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    float: none !important;
    width: auto !important;
    flex: 1 !important;
    padding: 0 !important;
}

.header__menu,
#xoadi {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
}

.header__menu .menu-primary-menu-container {
    position: relative !important;
    z-index: 9999 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.header__menu ul.menu {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    gap: 4px !important;
    background: transparent !important;
}

.header__menu ul.menu > li {
    float: none !important;
    display: inline-block !important;
    position: relative !important;
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.header__menu ul.menu > li > a {
    font-family: var(--mwt-sans, 'Jost', sans-serif) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    color: #FFFFFF !important; /* Pure White matching bespoke */
    padding: 24px 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    position: relative !important;
    text-decoration: none !important;
    transition: color 0.25s ease !important;
    background: transparent !important;
    line-height: 1.2 !important;
}

/* Gold underline on hover & active */
.header__menu ul.menu > li > a::after {
    content: "" !important;
    display: block !important;
    height: 2px !important;
    position: absolute !important;
    bottom: 14px !important;
    left: 14px !important;
    right: 14px !important;
    background: #B08A50 !important; /* Signature Gold */
    transform: scaleX(0) !important;
    transform-origin: center !important;
    transition: transform 0.25s ease !important;
    width: auto !important;
}

.header__menu ul.menu > li:hover > a,
.header__menu ul.menu > li.current-menu-item > a {
    color: #B08A50 !important;
}

.header__menu ul.menu > li:hover > a::after,
.header__menu ul.menu > li.current-menu-item > a::after {
    transform: scaleX(1) !important;
}

/* Remove old orange icons & arrow overrides */
.header__menu .menu > li.menu-item-has-children > a:after {
    display: none !important;
}

/* Sub-menus / Dropdowns */
.header__menu ul.menu > li > ul.sub-menu {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    transform: translateY(0) !important;
    background: #0b1a30 !important; /* Royal Navy */
    background-image: none !important;
    border: 1px solid rgba(176, 138, 80, 0.35) !important;
    border-top: 2px solid #B08A50 !important;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.85) !important;
    border-radius: 0 0 4px 4px !important;
    padding: 10px 0 !important;
    min-width: 230px !important;
    list-style: none !important;
    z-index: 99999 !important;
    visibility: hidden;
    opacity: 0;
    transition: all 0.3s ease !important;
}

.header__menu ul.menu > li:hover > ul.sub-menu {
    visibility: visible !important;
    opacity: 1 !important;
    transform: translateY(0) !important;
}

.header__menu ul.menu > li > ul.sub-menu li {
    display: block !important;
    float: none !important;
    border: none !important;
    width: 100% !important;
    position: relative !important;
}

.header__menu ul.menu > li > ul.sub-menu li a {
    font-family: var(--mwt-sans, 'Jost', sans-serif) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    letter-spacing: 0.04em !important;
    color: rgba(248, 246, 241, 0.85) !important;
    padding: 10px 22px !important;
    display: block !important;
    text-align: left !important;
    transition: all 0.2s ease !important;
    background: transparent !important;
    text-decoration: none !important;
}

.header__menu ul.menu > li > ul.sub-menu li a:hover {
    color: #B08A50 !important;
    background: rgba(176, 138, 80, 0.12) !important;
    padding-left: 26px !important;
}

/* Second-level submenus */
.header__menu ul.menu > li > ul.sub-menu li ul.sub-menu {
    top: 0 !important;
    left: 100% !important;
    background: #0b1a30 !important;
    border: 1px solid rgba(176, 138, 80, 0.35) !important;
    border-left: 2px solid #B08A50 !important;
    border-radius: 0 4px 4px 4px !important;
}

/* ═══════════════════════════════════════════════════════════════
   LUXURY MOBILE NAVIGATION & DRAWER
   ═══════════════════════════════════════════════════════════════ */

/* Mobile Hamburger Button */
.mwt-hamburger-btn {
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 5px;
    width: 44px;
    height: 44px;
    background: transparent !important;
    border: none !important;
    cursor: pointer !important;
    padding: 8px !important;
    margin: 0 !important;
    z-index: 1000 !important;
    outline: none !important;
    -webkit-tap-highlight-color: transparent;
}

.mwt-hamburger-bar {
    display: block !important;
    width: 24px !important;
    height: 2.5px !important;
    background-color: #B08A50 !important; /* Signature Gold */
    border-radius: 2px !important;
    transition: transform 0.3s ease, opacity 0.25s ease !important;
}

/* Animate hamburger to X when active */
.mwt-hamburger-btn.is-active .mwt-hamburger-bar:nth-child(1) {
    transform: translateY(7.5px) rotate(45deg);
}
.mwt-hamburger-btn.is-active .mwt-hamburger-bar:nth-child(2) {
    opacity: 0;
}
.mwt-hamburger-btn.is-active .mwt-hamburger-bar:nth-child(3) {
    transform: translateY(-7.5px) rotate(-45deg);
}

/* Backdrop */
.mwt-mobile-backdrop {
    position: fixed !important;
    inset: 0 !important;
    background: rgba(4, 10, 20, 0.75) !important;
    backdrop-filter: blur(4px) !important;
    -webkit-backdrop-filter: blur(4px) !important;
    z-index: 999998 !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity 0.35s ease !important;
}
.mwt-mobile-backdrop.is-open {
    opacity: 1 !important;
    pointer-events: auto !important;
}

/* Off-Canvas Drawer */
.mwt-mobile-drawer {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 320px !important;
    max-width: 86vw !important;
    height: 100% !important;
    background: #0b1a30 !important; /* Royal Navy */
    border-left: 1px solid rgba(176, 138, 80, 0.35) !important;
    box-shadow: -10px 0 30px rgba(0, 0, 0, 0.6) !important;
    z-index: 999999 !important;
    display: none !important;
    flex-direction: column !important;
    transform: translateX(100%) !important;
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
    overflow: hidden !important;
}
.mwt-mobile-drawer.is-open {
    display: flex !important;
    transform: translateX(0) !important;
}

/* Prevent body scrolling when drawer open */
body.mwt-drawer-locked {
    overflow: hidden !important;
    touch-action: none !important;
}

html, body {
    overflow-x: hidden !important;
    max-width: 100% !important;
}

@media (max-width: 768px) {
    .explore-grid,
    .owl-wrap-1 {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    .cruise-box {
        max-width: 100% !important;
    }
}

/* Drawer Header */
.mwt-drawer-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 16px 20px !important;
    border-bottom: 1px solid rgba(176, 138, 80, 0.2) !important;
    background: rgba(11, 26, 48, 0.98) !important;
    flex-shrink: 0 !important;
}
.mwt-drawer-close {
    width: 38px !important;
    height: 38px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(176, 138, 80, 0.15) !important;
    border: 1px solid rgba(176, 138, 80, 0.3) !important;
    border-radius: 50% !important;
    color: #B08A50 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    padding: 0 !important;
}
.mwt-drawer-close:hover {
    background: #B08A50 !important;
    color: #0b1a30 !important;
}

/* Drawer Body & Menu */
.mwt-drawer-body {
    flex: 1 1 auto !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    padding: 10px 0 !important;
}

.mwt-mobile-drawer ul,
.mwt-mobile-drawer ol,
.mwt-mobile-drawer li {
    list-style: none !important;
    list-style-type: none !important;
    list-style-position: outside !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    float: none !important;
}

.mwt-mobile-drawer ul li::before,
.mwt-mobile-drawer ul li::after {
    display: none !important;
    content: none !important;
}

.mwt-mobile-drawer .mwt-drawer-body > nav > ul,
.mwt-mobile-drawer .mwt-drawer-body .menu-primary-menu-container > ul,
.mwt-mobile-drawer ul.mwt-mobile-menu-list,
.mwt-mobile-drawer ul.menu {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.mwt-mobile-drawer .mwt-drawer-body > nav > ul > li,
.mwt-mobile-drawer .mwt-drawer-body .menu-primary-menu-container > ul > li,
.mwt-mobile-drawer ul.mwt-mobile-menu-list > li {
    display: block !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    position: relative !important;
    width: 100% !important;
}

.mwt-mobile-drawer .mwt-drawer-body > nav > ul > li > a,
.mwt-mobile-drawer .mwt-drawer-body .menu-primary-menu-container > ul > li > a,
.mwt-mobile-drawer ul.mwt-mobile-menu-list > li > a {
    display: block !important;
    font-family: var(--mwt-sans, 'Jost', sans-serif) !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    color: #FFFFFF !important;
    padding: 14px 20px !important;
    padding-right: 50px !important;
    text-decoration: none !important;
    transition: color 0.2s ease, background 0.2s ease !important;
}
.mwt-mobile-drawer .mwt-drawer-body > nav > ul > li > a:hover,
.mwt-mobile-drawer .mwt-drawer-body .menu-primary-menu-container > ul > li > a:hover,
.mwt-mobile-drawer ul.mwt-mobile-menu-list > li > a:hover {
    color: #B08A50 !important;
    background: rgba(176, 138, 80, 0.08) !important;
}

/* Submenu Accordion Toggle Arrow */
.mwt-submenu-toggle {
    position: absolute !important;
    top: 3px !important;
    right: 8px !important;
    width: 42px !important;
    height: 42px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
    border: none !important;
    color: #B08A50 !important;
    cursor: pointer !important;
    transition: transform 0.25s ease !important;
    padding: 0 !important;
    z-index: 10 !important;
}
.mwt-submenu-toggle.is-expanded {
    transform: rotate(180deg) !important;
}

/* Submenu List */
.mwt-mobile-drawer ul.sub-menu {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: rgba(4, 10, 20, 0.5) !important;
    max-height: 0 !important;
    overflow: hidden !important;
    transition: max-height 0.35s ease !important;
    border-top: 1px solid rgba(176, 138, 80, 0.15) !important;
    display: block !important;
    position: static !important;
    width: 100% !important;
    box-shadow: none !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}

.mwt-mobile-drawer li.is-expanded > ul.sub-menu {
    max-height: 1200px !important;
}

.mwt-mobile-drawer ul.sub-menu li {
    display: block !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04) !important;
    width: 100% !important;
}
.mwt-mobile-drawer ul.sub-menu li a {
    display: block !important;
    font-family: var(--mwt-sans, 'Jost', sans-serif) !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    color: rgba(255, 255, 255, 0.82) !important;
    padding: 10px 20px 10px 32px !important;
    text-decoration: none !important;
    transition: color 0.2s ease, padding-left 0.2s ease !important;
}
.mwt-mobile-drawer ul.sub-menu li a:hover {
    color: #B08A50 !important;
    padding-left: 36px !important;
}

/* Drawer Footer */
.mwt-drawer-footer {
    padding: 18px 20px !important;
    border-top: 1px solid rgba(176, 138, 80, 0.2) !important;
    background: rgba(11, 26, 48, 0.98) !important;
    flex-shrink: 0 !important;
    text-align: center !important;
}
.mwt-drawer-cta {
    display: block !important;
    width: 100% !important;
    background: #B08A50 !important;
    color: #FFFFFF !important;
    font-family: var(--mwt-sans, 'Jost', sans-serif) !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    text-align: center !important;
    padding: 13px 20px !important;
    border-radius: 2px !important;
    text-decoration: none !important;
    box-shadow: 0 4px 15px rgba(176, 138, 80, 0.4) !important;
    transition: all 0.25s ease !important;
}
.mwt-drawer-cta:hover {
    background: #c59d5f !important;
    color: #FFFFFF !important;
}
.mwt-drawer-contact {
    margin-top: 12px !important;
    font-size: 12px !important;
    color: rgba(255, 255, 255, 0.65) !important;
    font-family: var(--mwt-sans, 'Jost', sans-serif) !important;
}
.mwt-drawer-contact a {
    color: #B08A50 !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    margin-left: 5px !important;
}

/* Responsive Header Rules */
@media (max-width: 991px) {
    .header__desktop-nav,
    #xoadi,
    .header__right,
    .header__nav-bar {
        display: none !important;
    }
    .mwt-hamburger-btn {
        display: flex !important;
    }
    .header__row {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 8px 0 !important;
        min-height: 60px !important;
    }
    .header__logo {
        flex: 0 0 auto !important;
        padding: 0 !important;
    }
    .header__logo a.header__logo-image img {
        max-height: 38px !important;
        width: auto !important;
    }
}

@media (min-width: 992px) {
    .mwt-hamburger-btn,
    .mwt-mobile-drawer,
    .mwt-mobile-backdrop {
        display: none !important;
    }
    .header__desktop-nav,
    #xoadi {
        display: flex !important;
    }
}

/* ── 3. HERO BANNER SLIDER ── */
.hero-slider {
    background: var(--mwt-navy-2) !important;
}

.hero-slide .hero-content h1 {
    font-family: var(--mwt-serif) !important;
    font-size: 46px !important;
    font-weight: 700 !important;
    letter-spacing: 2px !important;
    color: #FFFFFF !important;
    text-shadow: 0 3px 15px rgba(0, 0, 0, 0.7) !important;
}

.hero-slide .hero-content p {
    font-family: var(--mwt-sans) !important;
    font-weight: 300 !important;
    font-size: 19px !important;
    letter-spacing: 0.8px !important;
    color: rgba(255, 255, 255, 0.92) !important;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.6) !important;
}

html {
    scroll-behavior: smooth;
}

#TourList, [name="TourList"] {
    scroll-margin-top: 85px;
}

.hero-slide {
    pointer-events: none !important;
}

.hero-slide.active {
    pointer-events: auto !important;
    z-index: 5 !important;
}

.hero-slide .hero-content,
.hero-cta-group {
    pointer-events: auto !important;
    position: relative;
    z-index: 20 !important;
}

.hero-slide .btn-hero,
.btn-hero {
    background: var(--mwt-gold) !important;
    color: #FFFFFF !important;
    font-family: var(--mwt-sans) !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    letter-spacing: 0.15em !important;
    text-transform: uppercase !important;
    border-radius: 2px !important;
    padding: 14px 36px !important;
    box-shadow: 0 4px 18px rgba(176, 138, 80, 0.4) !important;
    transition: all 0.3s ease !important;
    display: inline-block;
    border: none !important;
    pointer-events: auto !important;
    cursor: pointer !important;
    position: relative;
    z-index: 25 !important;
    touch-action: manipulation;
}

.hero-slide .btn-hero:hover,
.btn-hero:hover {
    background: var(--mwt-gold-light) !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 24px rgba(176, 138, 80, 0.55) !important;
    color: #FFFFFF !important;
}

.hero-dot {
    border: 2px solid #FFFFFF !important;
    background: rgba(255, 255, 255, 0.3) !important;
}

.hero-dot.active {
    background: var(--mwt-gold) !important;
    border-color: #FFFFFF !important;
    transform: scale(1.25);
}

/* ── 4. SECTION 1: USPs (BEST IN ASIA) ── */
.l-best-nz {
    background-color: var(--mwt-parchment) !important;
    border-bottom: 1px solid rgba(176, 138, 80, 0.15) !important;
    padding: 55px 0 !important;
}

.l-best-nz__header h1 {
    font-family: var(--mwt-serif) !important;
    font-size: 28px !important;
    color: var(--mwt-ink) !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    position: relative;
    display: inline-block;
    padding-bottom: 14px;
}

.l-best-nz__header h1:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 30%;
    right: 30%;
    border-bottom: 2px solid var(--mwt-gold);
}

.l-best-nz__tile p {
    font-family: var(--mwt-sans) !important;
    font-size: 13.5px !important;
    color: var(--mwt-ink-soft) !important;
    line-height: 1.6 !important;
}

/* ── 5. SECTION 2: DESTINATIONS ── */
.l-tour-categories {
    background-color: #FFFFFF !important;
    padding: 60px 0 !important;
}

#chacha {
    font-family: var(--mwt-serif) !important;
    font-size: 26px !important;
    letter-spacing: 0.08em !important;
    color: var(--mwt-ink) !important;
    text-transform: uppercase !important;
    position: relative;
    display: inline-block;
    padding-bottom: 12px;
    margin-bottom: 30px !important;
}

#chacha:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 25%;
    right: 25%;
    border-bottom: 2px solid var(--mwt-gold);
}

.l-tour-categories__link-heading h2 {
    font-family: var(--mwt-serif) !important;
    font-size: 26px !important;
    letter-spacing: 1px !important;
    color: #FFFFFF !important;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.6);
}

.l-tour-categories__link-overlay {
    background: linear-gradient(180deg, rgba(16, 24, 33, 0.15) 0%, rgba(16, 24, 33, 0.65) 100%) !important;
    transition: all 0.4s ease !important;
}

.l-tour-categories__link:hover .l-tour-categories__link-overlay {
    background: linear-gradient(180deg, rgba(176, 138, 80, 0.3) 0%, rgba(176, 138, 80, 0.82) 100%) !important;
}

/* ── 6. SECTION 3: RECOMMENDED TOURS ── */
.l-tour-list {
    background-color: var(--mwt-parchment) !important;
    padding: 70px 0 !important;
    overflow: hidden;
}

@media (max-width: 767px) {
    .l-tour-list {
        padding: 40px 0 !important;
    }
}

.l-tour-list .l-container {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
}

.l-tour-list__header {
    text-align: center !important;
    margin-bottom: 40px !important;
}

.l-tour-list__header h2 {
    font-family: var(--mwt-serif) !important;
    font-size: 34px !important;
    color: var(--mwt-ink) !important;
    position: relative;
    display: inline-block;
    padding-bottom: 14px;
    margin: 0 !important;
    letter-spacing: 0.02em;
}

.l-tour-list__header h2:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 25%;
    right: 25%;
    border-bottom: 2px solid var(--mwt-gold);
}

/* Modern Responsive Grid */
.l-tour-list__cards {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 30px !important;
    margin-bottom: 45px !important;
    width: 100% !important;
}

@media (max-width: 991px) {
    .l-tour-list__cards {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 22px !important;
    }
}

@media (max-width: 640px) {
    .l-tour-list__cards {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
        padding: 0 5px !important;
    }
}

/* Reset legacy float styles */
.l-tour-list__grid {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
}

.c-tour-card {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    background: #FFFFFF !important;
    border-radius: 6px !important;
    box-shadow: 0 4px 18px rgba(18, 26, 38, 0.06) !important;
    border: 1px solid rgba(176, 138, 80, 0.18) !important;
    overflow: hidden !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

.c-tour-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 28px rgba(18, 26, 38, 0.14) !important;
}

.c-tour-card__image {
    position: relative !important;
    overflow: hidden !important;
    width: 100% !important;
    height: 250px !important;
    flex-shrink: 0 !important;
}

.c-tour-card__image .c-thumbnail-gallery,
.c-tour-card__image .c-thumbnail-gallery__gallery-wrapper,
.c-tour-card__image .c-thumbnail-gallery__gallery,
.c-tour-card__image .swiper-wrapper,
.c-tour-card__image .swiper-slide {
    height: 100% !important;
    width: 100% !important;
}

.c-tour-card__image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1) !important;
}

.c-tour-card:hover .c-tour-card__image img {
    transform: scale(1.06);
}

.c-tour-card__duration {
    position: absolute !important;
    top: 14px !important;
    left: 14px !important;
    z-index: 10 !important;
    width: 52px !important;
    height: 52px !important;
    border-radius: 50% !important;
    background: var(--mwt-navy) !important;
    color: #FFFFFF !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 4px 12px rgba(11, 26, 48, 0.35) !important;
    line-height: 1.1 !important;
    border: 1.5px solid rgba(255, 255, 255, 0.2) !important;
}

.c-tour-card__duration span:first-child {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #FFFFFF !important;
}

.c-tour-card__duration span:last-child {
    font-size: 10px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    color: rgba(255, 255, 255, 0.85) !important;
}

/* Category Badge: Signature Gold Ribbon with Slanted End */
.c-tour-card__category {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    z-index: 8 !important;
    display: inline-flex !important;
    align-items: center !important;
    height: 34px !important;
    padding: 0 16px 0 12px !important;
    background-color: var(--mwt-gold) !important;
    color: #FFFFFF !important;
    font-family: var(--mwt-sans) !important;
    font-size: 11.5px !important;
    font-weight: 700 !important;
    letter-spacing: 0.07em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    max-width: 82% !important;
    box-sizing: border-box !important;
}

.c-tour-card__category span {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    color: #FFFFFF !important;
}

.c-tour-card__category-icon {
    width: 18px !important;
    height: 18px !important;
    margin-right: 8px !important;
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.c-tour-card__category-icon svg {
    width: 16px !important;
    height: 16px !important;
}

.c-tour-card__category-angle {
    position: absolute !important;
    top: 0 !important;
    left: 100% !important;
    width: 0 !important;
    height: 0 !important;
    border-color: transparent !important;
    border-style: solid !important;
    border-width: 34px 0 0 24px !important;
    border-left-color: var(--mwt-gold) !important;
}

/* Completely remove/hide fake cruise activities */
.c-tour-card__activities {
    display: none !important;
}

/* Content Area: Equal Height Flex Layout */
.c-tour-card__content {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    padding: 26px 22px 28px !important;
    text-align: center !important;
    background: #FFFFFF !important;
}

.c-tour-card__title {
    font-family: var(--mwt-serif, 'Cormorant Garamond', Georgia, serif) !important;
    font-size: 23px !important;
    font-weight: 700 !important;
    color: #0b1a30 !important;
    line-height: 1.32 !important;
    margin: 0 0 12px !important;
    min-height: 60px !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

.c-tour-card__price {
    font-family: var(--mwt-sans, 'Jost', sans-serif) !important;
    color: #1a2330 !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    letter-spacing: 0.06em !important;
    margin-bottom: 14px !important;
    text-transform: uppercase !important;
}

.c-tour-card__price span {
    color: #a47b36 !important;
    font-weight: 800 !important;
    font-size: 26px !important;
    margin: 0 5px !important;
}

.c-tour-card__description {
    font-family: var(--mwt-sans, 'Jost', sans-serif) !important;
    color: #1a2330 !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 1.7 !important;
    margin: 0 0 22px !important;
    min-height: 80px !important;
    flex-grow: 1 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

.c-tour-card__content .c-button {
    align-self: center !important;
    margin-top: auto !important;
}

/* Buttons */
.c-button--border {
    border: 1.5px solid var(--mwt-gold) !important;
    color: var(--mwt-gold-dim) !important;
    font-family: var(--mwt-sans) !important;
    font-weight: 600 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    border-radius: 2px !important;
    padding: 8px 24px !important;
    transition: all 0.3s ease !important;
}

.c-button--border:hover {
    background: var(--mwt-gold) !important;
    color: #FFFFFF !important;
}

.c-button--primary {
    background: var(--mwt-gold) !important;
    border: none !important;
    color: #FFFFFF !important;
    font-family: var(--mwt-sans) !important;
    font-weight: 600 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    border-radius: 2px !important;
    padding: 12px 36px !important;
    box-shadow: 0 4px 18px rgba(176, 138, 80, 0.35) !important;
    transition: all 0.3s ease !important;
}

.c-button--primary:hover {
    background: var(--mwt-gold-light) !important;
    color: #FFFFFF !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 24px rgba(176, 138, 80, 0.5) !important;
}

/* ── 7. SECTION 4: HIGHLIGHTS CAROUSEL (CHOOSE YOUR ASIA TOURS) ── */
.explore.home-section {
    background-color: #FFFFFF !important;
    padding: 70px 0 !important;
}

.explore h2.title24 {
    font-family: var(--mwt-serif) !important;
    font-size: 30px !important;
    color: var(--mwt-ink) !important;
    text-align: center;
    position: relative;
    padding-bottom: 14px;
    margin-bottom: 35px;
}

.explore h2.title24:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 25%;
    right: 25%;
    border-bottom: 2px solid var(--mwt-gold);
}

.sale {
    background: var(--mwt-gold) !important;
    font-family: var(--mwt-sans) !important;
    font-weight: 600 !important;
    letter-spacing: 0.06em !important;
    border-radius: 2px !important;
}

.explore-grid .cruise-box {
    border: 1px solid rgba(176, 138, 80, 0.16) !important;
    box-shadow: 0 4px 16px rgba(18, 26, 38, 0.06) !important;
}

.explore-grid .item-title a {
    font-family: var(--mwt-serif) !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    color: var(--mwt-ink) !important;
}

.explore-grid .item-title a:hover {
    color: var(--mwt-gold) !important;
}

.explore-grid ins.red {
    color: var(--mwt-gold-dim) !important;
    font-family: var(--mwt-sans) !important;
    font-size: 19px !important;
    font-weight: 700 !important;
}

/* ── 8. SECTION 5: TESTIMONIALS ── */
.l-testimonial-list {
    background-color: var(--mwt-parchment) !important;
    padding: 70px 0 !important;
}

.l-testimonial-list__header h2 {
    font-family: var(--mwt-serif) !important;
    font-size: 30px !important;
    color: var(--mwt-ink) !important;
    position: relative;
    display: inline-block;
    padding-bottom: 14px;
    margin-bottom: 35px;
}

.l-testimonial-list__header h2:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 20%;
    right: 20%;
    border-bottom: 2px solid var(--mwt-gold);
}

.c-testimonial-card {
    background: #FFFFFF !important;
    border-radius: 4px !important;
    border: 1px solid rgba(176, 138, 80, 0.18) !important;
    box-shadow: 0 4px 18px rgba(18, 26, 38, 0.05) !important;
    padding: 24px !important;
}

.c-testimonial-card__name h4 {
    font-family: var(--mwt-serif) !important;
    font-size: 18px !important;
    color: var(--mwt-ink) !important;
}

.c-testimonial-card__name-location {
    font-family: var(--mwt-sans) !important;
    color: var(--mwt-gold) !important;
    font-size: 12px !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    font-weight: 600 !important;
}

.c-testimonial-card__text p {
    font-family: var(--mwt-sans) !important;
    font-size: 14px !important;
    color: var(--mwt-ink-soft) !important;
    line-height: 1.7 !important;
    font-style: italic !important;
}

/* ── 9. SECTION 6: TRAVELOGUE ── */
.travelogue-wrapper {
    background-color: #FFFFFF !important;
    padding: 70px 15px !important;
}

.travelogue-title h2 {
    font-family: var(--mwt-serif) !important;
    font-size: clamp(34px, 3.8vw, 44px) !important;
    font-weight: 500 !important;
    letter-spacing: 0.02em !important;
    color: var(--mwt-ink) !important;
    margin-bottom: 24px !important;
}

.travelogue-title h2:after {
    border-bottom: 2.5px solid var(--mwt-gold) !important;
    left: 30% !important;
    right: 30% !important;
    margin-top: 10px !important;
}

.travelogue-card {
    background: var(--mwt-parchment) !important;
    border: 1px solid rgba(176, 138, 80, 0.2) !important;
    box-shadow: 0 4px 18px rgba(18, 26, 38, 0.06) !important;
    border-radius: 6px !important;
    padding: 18px 20px !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

.travelogue-card:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 10px 28px rgba(18, 26, 38, 0.12) !important;
}

.travelogue-card .thumb-img {
    width: 140px !important;
    height: 105px !important;
    object-fit: cover !important;
    float: left !important;
    margin: 0 18px 10px 0 !important;
    border-radius: 5px !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1) !important;
    transition: transform 0.3s ease !important;
}

.travelogue-card:hover .thumb-img {
    transform: scale(1.04) !important;
}

.travelogue-card .card-title {
    font-family: var(--mwt-serif) !important;
    font-size: 21px !important;
    font-weight: 600 !important;
    line-height: 1.34 !important;
    color: var(--mwt-ink) !important;
    margin-bottom: 8px !important;
}

.travelogue-card .card-title:hover {
    color: var(--mwt-gold) !important;
}

.travelogue-card .card-excerpt {
    font-family: var(--mwt-sans) !important;
    font-size: 15.5px !important;
    line-height: 1.65 !important;
    color: #3b4654 !important;
}

.bt-more-all {
    color: var(--mwt-gold-dim) !important;
    border: 2px solid var(--mwt-gold) !important;
    font-family: var(--mwt-sans) !important;
    font-size: 14.5px !important;
    font-weight: 600 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    border-radius: 4px !important;
    padding: 13px 42px !important;
    display: inline-block;
    transition: all 0.3s ease !important;
}

.bt-more-all:hover {
    background: var(--mwt-gold) !important;
    color: #FFFFFF !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(176, 138, 80, 0.3) !important;
}

/* ── 10. SECTION 7: TAILOR-MADE HOLIDAY BANNER ── */
.tailor-made-holiday {
    background: var(--mwt-navy) !important;
    color: #FFFFFF !important;
    padding: 38px 0 !important;
    border-top: 2px solid var(--mwt-gold) !important;
}

.tailor-made-holiday p strong {
    font-family: var(--mwt-serif) !important;
    font-size: 23px !important;
    color: var(--mwt-gold-light) !important;
    letter-spacing: 0.06em !important;
}

.tailor-made-holiday p {
    font-family: var(--mwt-sans) !important;
    font-size: 15px !important;
    color: rgba(255, 255, 255, 0.88) !important;
    line-height: 1.6 !important;
}

.tailor-made-holiday a {
    color: var(--mwt-gold-light) !important;
}

.tailor-made-holiday .col-md-3 a {
    background: var(--mwt-gold) !important;
    color: #FFFFFF !important;
    font-family: var(--mwt-sans) !important;
    font-weight: 600 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    border-radius: 2px !important;
    padding: 14px 30px !important;
    box-shadow: 0 4px 18px rgba(176, 138, 80, 0.4) !important;
    transition: all 0.3s ease;
    display: inline-block;
}

.tailor-made-holiday .col-md-3 a:hover {
    background: var(--mwt-gold-light) !important;
    color: #FFFFFF !important;
    transform: translateY(-2px);
}

/* ── 11. FLOATING SIDELINKS ── */
.sidelinks,
.sidelinks02,
.sidelinks03 {
    transition: top 0.3s ease;
}

.sidelinks {
    top: calc(50% - 122px) !important;
}

.sidelinks02 {
    top: calc(50% - 10px) !important;
}

.sidelinks03 {
    top: calc(50% + 102px) !important;
}

.sidelinks > a,
.sidelinks02 > a,
.sidelinks03 > a {
    font-family: var(--mwt-sans) !important;
    font-weight: 600 !important;
    letter-spacing: 0.12em !important;
    font-size: 12px !important;
    transition: all 0.3s ease;
}

.sidelinks > a {
    background: var(--mwt-gold) !important;
}

.sidelinks02 > a {
    background: #0b1a30 !important;
    border-left: 2px solid var(--mwt-gold) !important;
}

.sidelinks03 > a {
    background: var(--mwt-rust) !important;
}

.sidelinks-content,
.sidelinks02-content {
    background: #0b1a30 !important;
    border: 1px solid rgba(198, 164, 94, 0.45) !important;
    box-shadow: 0 12px 36px rgba(0, 0, 0, 0.6) !important;
    border-radius: 4px 0 0 4px !important;
    right: -450px !important;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    /* Hiệu ứng nhả ra chậm lại: trượt thu về êm ái và từ tốn */
    transition: right 0.7s cubic-bezier(0.25, 1, 0.5, 1) 0.1s, 
                opacity 0.6s ease 0.1s, 
                visibility 0.7s 0.1s !important;
}

.sidelinks:hover .sidelinks-content,
.sidelinks02:hover .sidelinks02-content {
    right: 0px !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    /* Khi hover vào mở ra mượt mà và nhạy */
    transition: right 0.38s cubic-bezier(0.16, 1, 0.3, 1) 0s, 
                opacity 0.32s ease 0s, 
                visibility 0.38s 0s !important;
}

.sidelinks-content a,
.sidelinks02-content a {
    transform: none !important;
    writing-mode: horizontal-tb !important;
    display: inline !important;
    float: none !important;
    width: auto !important;
    height: auto !important;
    background: transparent !important;
    color: #d9bc7a !important;
    text-decoration: underline !important;
    font-weight: 600 !important;
    padding: 0 !important;
    margin: 0 !important;
    font-size: inherit !important;
}

.sidemenuss {
    border-left: 3px solid var(--mwt-gold) !important;
    font-family: var(--mwt-sans) !important;
    padding-left: 10px !important;
}

.sidemenuss ul li {
    font-family: var(--mwt-sans) !important;
    font-size: 13px !important;
    color: #f1f5f9 !important;
    line-height: 1.6 !important;
}

/* ── 12. FOOTER — BESPOKE THAILAND TOURS LUXURY SYSTEM ── */
.site-footer {
    background: #081426 !important;
    color: rgba(226, 232, 240, 0.85) !important;
    font-family: "Jost", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    padding-top: 48px !important;
    padding-bottom: 24px !important;
    border-top: 1px solid rgba(217, 188, 122, 0.3) !important;
    clear: both !important;
    width: 100% !important;
    float: none !important;
    box-sizing: border-box !important;
}

.site-footer * {
    box-sizing: border-box !important;
}

.footer-container {
    max-width: 1320px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: clamp(1.25rem, 3.5vw, 3rem) !important;
    padding-right: clamp(1.25rem, 3.5vw, 3rem) !important;
    width: 100% !important;
}

/* Headings */
.f-heading {
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    color: #d9bc7a !important;
    margin: 0 0 14px 0 !important;
    padding-bottom: 8px !important;
    border-bottom: 1px solid rgba(217, 188, 122, 0.28) !important;
    line-height: 1.3 !important;
    display: block !important;
}

/* Lists & Links */
.f-list,
.f-col ul,
.f-col .menu {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 7px !important;
}

.f-list li,
.f-col ul li,
.f-col .menu li {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    float: none !important;
    width: auto !important;
}

.f-list a,
.f-col ul li a,
.f-col .menu li a {
    color: rgba(226, 232, 240, 0.82) !important;
    font-size: 13.5px !important;
    font-family: "Jost", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    text-decoration: none !important;
    transition: color 0.25s ease !important;
    line-height: 1.45 !important;
    display: inline-block !important;
}

.f-list a:hover,
.f-col ul li a:hover,
.f-col .menu li a:hover {
    color: #ffffff !important;
    text-decoration: none !important;
}

/* ── ROW 1: 4 COLUMNS ── */
.footer-row-1 {
    display: grid !important;
    grid-template-columns: 1.85fr 1.05fr 1.05fr 1.05fr !important;
    gap: clamp(1.5rem, 2.8vw, 3rem) !important;
    padding-bottom: 28px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    width: 100% !important;
}

.why-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 1.4rem !important;
}

/* ── ROW 2: TRAVEL SEASONS & STAY IN TOUCH ── */
.footer-row-2 {
    display: grid !important;
    grid-template-columns: 3.8fr 1fr !important;
    gap: clamp(1.5rem, 3vw, 3.5rem) !important;
    padding-top: 24px !important;
    padding-bottom: 24px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    width: 100% !important;
    align-items: start !important;
}

.travel-seasons-grid {
    display: grid !important;
    grid-template-columns: repeat(6, 1fr) !important;
    gap: 10px 18px !important;
    margin-top: 14px !important;
}

.season-cell a {
    color: rgba(226, 232, 240, 0.82) !important;
    font-size: 13px !important;
    font-family: "Jost", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    text-decoration: none !important;
    display: inline-block !important;
    transition: color 0.25s ease !important;
    line-height: 1.4 !important;
    white-space: nowrap !important;
}

.season-cell a:hover {
    color: #ffffff !important;
    text-decoration: none !important;
}

.social-circles {
    display: flex !important;
    gap: 12px !important;
    align-items: center !important;
    margin-top: 14px !important;
}

.circle-btn {
    width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
    border: 1px solid rgba(217, 188, 122, 0.35) !important;
    background: rgba(255, 255, 255, 0.04) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: rgba(231, 210, 164, 0.9) !important;
    text-decoration: none !important;
    transition: all 0.25s ease !important;
    padding: 0 !important;
}

.circle-btn svg {
    display: block !important;
    width: 15px !important;
    height: 15px !important;
}

.circle-btn:hover {
    background: #d9bc7a !important;
    border-color: #d9bc7a !important;
    color: #081426 !important;
    transform: translateY(-2px) !important;
    text-decoration: none !important;
}

/* ── ROW 3: HOTEL PARTNER LOGOS (ENCLOSED BOX STRIP) ── */
.footer-row-3-box {
    margin-top: 28px !important;
    margin-bottom: 24px !important;
    padding: 18px 28px !important;
    background: #06111f !important;
    border: 1px solid rgba(217, 188, 122, 0.16) !important;
    border-radius: 2px !important;
    width: 100% !important;
}

.footer-row-3 {
    border: none !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 2rem !important;
    width: 100% !important;
}

.trusted-label {
    display: flex !important;
    flex-direction: column !important;
    font-family: var(--mwt-serif, "Cormorant Garamond", Georgia, serif) !important;
    line-height: 1.25 !important;
    min-width: 150px !important;
    flex-shrink: 0 !important;
}

.t-line1 {
    font-size: 13.5px !important;
    font-weight: 700 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    color: #d9bc7a !important;
}

.t-line2 {
    font-size: 12.5px !important;
    font-weight: 600 !important;
    letter-spacing: 0.15em !important;
    text-transform: uppercase !important;
    color: #e7d2a4 !important;
}

.partner-logos {
    display: grid !important;
    grid-template-columns: repeat(6, 1fr) !important;
    align-items: center !important;
    justify-items: center !important;
    flex: 1 !important;
    gap: clamp(0.6rem, 1.2vw, 1.6rem) !important;
}

.p-logo {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    opacity: 0.92 !important;
    transition: all 0.25s ease !important;
    width: 100% !important;
}

.p-logo:hover {
    opacity: 1 !important;
    transform: translateY(-2px);
}

.p-icon {
    margin-bottom: 4px !important;
    color: #e7d2a4 !important;
    max-height: 22px !important;
    width: auto !important;
}

.p-name {
    font-size: 13px !important;
    color: #f6f1e6 !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
}

.p-name.serif {
    font-family: var(--mwt-serif, "Cormorant Garamond", Georgia, serif) !important;
    letter-spacing: 0.14em !important;
    font-size: 13.5px !important;
}

.p-name.tracked {
    letter-spacing: 0.18em !important;
    font-family: var(--mwt-sans, "Jost", -apple-system, sans-serif) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

.p-sub {
    color: rgba(231, 210, 164, 0.78) !important;
    margin-top: 2px !important;
    white-space: nowrap !important;
}

.p-sub.script {
    font-family: var(--mwt-serif, "Cormorant Garamond", Georgia, serif) !important;
    font-style: italic !important;
    font-size: 12.5px !important;
    color: rgba(231, 210, 164, 0.9) !important;
}

.p-sub.micro {
    font-size: 9.5px !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    font-family: var(--mwt-sans, "Jost", -apple-system, sans-serif) !important;
    font-weight: 500 !important;
}

.aman-name {
    font-family: var(--mwt-serif, "Cormorant Garamond", Georgia, serif) !important;
    font-size: 1.45rem !important;
    letter-spacing: 0.24em !important;
    color: #f6f1e6 !important;
    font-weight: 500 !important;
    white-space: nowrap !important;
}

/* ── ROW 4: BOTTOM LEGAL BAR ── */
.footer-row-4 {
    padding-top: 18px !important;
    padding-bottom: 8px !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 1.2rem !important;
    width: 100% !important;
}

.legal-links,
.legal-menu-list {
    display: flex !important;
    align-items: center !important;
    gap: clamp(1rem, 2vw, 2.2rem) !important;
    flex-wrap: wrap !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.legal-menu-list li {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: inline-block !important;
}

.legal-links a,
.legal-menu-list li a {
    color: rgba(226, 232, 240, 0.82) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    letter-spacing: 0.02em !important;
    font-family: var(--mwt-sans, "Jost", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif) !important;
    text-decoration: none !important;
    transition: all 0.25s ease !important;
}

.legal-links a:hover,
.legal-menu-list li a:hover {
    color: #ffffff !important;
    text-decoration: none !important;
}

.legal-copyright {
    font-size: 12.5px !important;
    line-height: 1.55 !important;
    color: rgba(226, 232, 240, 0.65) !important;
    text-align: right !important;
    font-family: var(--mwt-sans, "Jost", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif) !important;
}

/* RESPONSIVE BREAKPOINTS */
@media (max-width: 1024px) {
    .footer-row-1 {
        grid-template-columns: 1fr 1fr !important;
    }
    .footer-row-2 {
        grid-template-columns: 1fr !important;
    }
    .travel-seasons-grid {
        grid-template-columns: repeat(3, 1fr) !important;
    }
    .legal-copyright {
        text-align: left !important;
    }
}

@media (max-width: 640px) {
    .footer-row-1 {
        grid-template-columns: 1fr !important;
    }
    .why-grid {
        grid-template-columns: 1fr !important;
    }
    .travel-seasons-grid {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 8px 10px !important;
    }
    .season-cell a {
        white-space: normal !important;
    }
}

/* ================================================================
   20. LUXURY TEMPLATE SYSTEM (TOURS, COUNTRIES, HOTELS, BLOGS, PAGES)
   ================================================================ */

/* ── Common Breadcrumbs ── */
.mwt-breadcrumbs {
    font-family: var(--mwt-sans);
    font-size: 13px;
    letter-spacing: 0.5px;
    color: rgba(255, 255, 255, 0.7);
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}
.mwt-breadcrumbs a {
    color: var(--mwt-gold-light);
    text-decoration: none;
    transition: color 0.2s ease;
}
.mwt-breadcrumbs a:hover {
    color: #ffffff;
}
.mwt-breadcrumbs .sep {
    color: rgba(255, 255, 255, 0.4);
    font-size: 11px;
}
.mwt-breadcrumbs .current {
    color: rgba(255, 255, 255, 0.85);
}

/* ── Luxury Hero Header ── */
.mwt-luxury-hero {
    position: relative;
    background-color: var(--mwt-navy);
    background-size: cover;
    background-position: center;
    min-height: 480px;
    display: flex;
    align-items: flex-end;
    padding: 120px 0 50px 0;
    overflow: hidden;
}
.mwt-hero-bg-layer {
    position: absolute;
    inset: -40px;
    background-size: cover;
    background-position: center;
    will-change: transform;
    animation: mwtKenBurnsZoom 20s cubic-bezier(0.25, 1, 0.5, 1) infinite alternate;
    z-index: 0;
}
@keyframes mwtKenBurnsZoom {
    0% {
        transform: scale(1) translate3d(0, 0, 0);
    }
    50% {
        transform: scale(1.08) translate3d(-0.8%, -0.5%, 0);
    }
    100% {
        transform: scale(1.02) translate3d(0.5%, 0.4%, 0);
    }
}
@media (prefers-reduced-motion: reduce) {
    .mwt-hero-bg-layer {
        animation: none !important;
        transform: scale(1) !important;
    }
}
.mwt-luxury-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(6, 16, 32, 0.65) 0%, rgba(6, 16, 32, 0.38) 40%, rgba(6, 16, 32, 0.76) 75%, rgba(6, 16, 32, 0.96) 100%) !important;
    z-index: 1;
}
.mwt-luxury-hero .container {
    position: relative;
    z-index: 2;
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 20px;
}
.mwt-luxury-hero .mwt-breadcrumbs {
    margin-bottom: 20px;
}
.mwt-luxury-hero .mwt-breadcrumbs a {
    color: rgba(255, 255, 255, 0.88) !important;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.85);
    font-weight: 500;
}
.mwt-luxury-hero .mwt-breadcrumbs a:hover {
    color: #f1d89a !important;
}
.mwt-luxury-hero .mwt-breadcrumbs .sep {
    color: rgba(255, 255, 255, 0.55) !important;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.85);
}
.mwt-luxury-hero .mwt-breadcrumbs .current {
    color: #ffffff !important;
    font-weight: 600;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.85);
}
.mwt-luxury-hero h1,
.mwt-luxury-hero h2,
.mwt-luxury-hero h3,
.mwt-guide-hero h1,
.mwt-guide-hero h2,
.mwt-guide-hero h3,
.mwt-hotels-hero h1,
.mwt-hotels-hero h2,
.mwt-hotels-hero h3,
.mwt-hero-title,
.mwt-dark-callout h1,
.mwt-dark-callout h2,
.mwt-dark-callout h3 {
    color: #ffffff !important;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.55) !important;
}

.mwt-hero-tag,
.mwt-luxury-hero .mwt-hero-tag {
    display: inline-block;
    background: rgba(11, 26, 48, 0.85) !important;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1.5px solid #d9bc7a !important;
    color: #ffffff !important;
    font-family: var(--mwt-sans, 'Jost', sans-serif) !important;
    font-size: 12.5px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    padding: 8px 22px !important;
    border-radius: 30px !important;
    margin-bottom: 18px !important;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.4) !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.7) !important;
    transition: all 0.3s ease !important;
}
.mwt-hero-tag:hover,
.mwt-luxury-hero .mwt-hero-tag:hover {
    background: #d9bc7a !important;
    color: #0b1a30 !important;
    border-color: #ffffff !important;
    text-shadow: none !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 22px rgba(217, 188, 122, 0.45) !important;
}

.mwt-hero-title {
    font-family: var(--mwt-serif) !important;
    font-size: clamp(34px, 4vw, 46px) !important;
    font-weight: 600 !important;
    color: #ffffff !important;
    line-height: 1.25 !important;
    margin: 0 0 16px 0 !important;
    letter-spacing: 0.01em;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.75) !important;
}
.mwt-hero-subtitle {
    font-family: var(--mwt-sans, 'Jost', sans-serif) !important;
    font-size: 18px !important;
    color: rgba(255, 255, 255, 0.95) !important;
    line-height: 1.68 !important;
    max-width: 860px;
    margin-bottom: 24px;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.75) !important;
}

/* ── Quick Facts Ribbon ── */
.mwt-facts-ribbon {
    background: #ffffff;
    border-top: 1px solid rgba(217, 188, 122, 0.25);
    border-bottom: 1px solid #e5e5e5;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
    padding: 18px 0;
    position: relative;
    z-index: 10;
}
.mwt-facts-ribbon .container {
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px;
}
.mwt-facts-list {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 32px;
}
.mwt-fact-item {
    display: flex;
    align-items: center;
    gap: 12px;
}
.mwt-fact-icon {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(217, 188, 122, 0.12);
    color: var(--mwt-gold);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    flex-shrink: 0;
}
.mwt-fact-label {
    font-family: var(--mwt-sans);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--mwt-ink-light);
    display: block;
    line-height: 1.2;
}
.mwt-fact-value {
    font-family: var(--mwt-sans);
    font-size: 15px;
    font-weight: 600;
    color: var(--mwt-ink);
    display: block;
    line-height: 1.3;
}
.mwt-facts-price {
    display: flex;
    align-items: baseline;
    gap: 8px;
}
.mwt-facts-price-label {
    font-size: 13px;
    color: var(--mwt-ink-light);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.mwt-facts-price-val {
    font-family: var(--mwt-serif);
    font-size: 28px;
    font-weight: 700;
    color: var(--mwt-gold);
}

/* ── Anchor Subnavigation (Sticky Top & Senior-Friendly Typography) ── */
.mwt-anchor-nav {
    background: #ffffff !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 9999 !important;
    box-shadow: 0 4px 20px rgba(11, 26, 48, 0.08) !important;
    will-change: transform;
}

body.admin-bar .mwt-anchor-nav {
    top: 32px !important;
}

@media (max-width: 782px) {
    body.admin-bar .mwt-anchor-nav {
        top: 46px !important;
    }
}

.mwt-anchor-nav .container {
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    gap: 36px;
    overflow-x: auto;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;
}
.mwt-anchor-nav .container::-webkit-scrollbar {
    display: none;
}

@media (max-width: 768px) {
    .mwt-anchor-nav .container {
        gap: 22px;
        padding: 0 16px;
    }
}

.mwt-anchor-link {
    font-family: var(--mwt-sans, 'Montserrat', sans-serif);
    font-size: 15px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #4b5563;
    padding: 18px 2px;
    text-decoration: none;
    position: relative;
    white-space: nowrap;
    transition: color 0.2s ease;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
}

@media (max-width: 640px) {
    .mwt-anchor-link {
        font-size: 13.5px;
        padding: 15px 0;
        letter-spacing: 0.5px;
    }
}

.mwt-anchor-link:hover {
    color: #0b1a30;
}

.mwt-anchor-link.active {
    color: #0b1a30;
    font-weight: 800;
}

.mwt-anchor-link::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 3.5px;
    background: var(--mwt-gold, #b08a50);
    opacity: 0;
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 0.22s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s ease;
    border-radius: 4px 4px 0 0;
}

.mwt-anchor-link.active::after {
    opacity: 1;
    transform: scaleX(1);
}

/* Scroll margin offset for sections so sticky nav doesn't overlap titles */
#overview,
#itinerary,
#highlights,
#inclusions,
#specialist {
    scroll-margin-top: 80px;
}
body.admin-bar #overview,
body.admin-bar #itinerary,
body.admin-bar #highlights,
body.admin-bar #inclusions,
body.admin-bar #specialist {
    scroll-margin-top: 115px;
}

/* ── Two-Column Layout (Tour & Hotel Detail) ── */
.mwt-detail-container {
    max-width: 1240px;
    margin: 40px auto 80px auto;
    padding: 0 20px;
    display: grid;
    grid-template-columns: 1fr 380px;
    gap: 48px;
    align-items: start;
}
.mwt-main-col {
    min-width: 0;
}
.mwt-sidebar-col {
    position: sticky;
    top: 80px;
}

/* ── Section Blocks ── */
.mwt-section-block {
    background: #ffffff;
    border-radius: 8px;
    border: 1px solid #eae6de;
    padding: 36px 40px;
    margin-bottom: 32px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.02);
}
.mwt-section-title {
    font-family: var(--mwt-serif) !important;
    font-size: 26px !important;
    font-weight: 600 !important;
    color: var(--mwt-ink) !important;
    margin: 0 0 20px 0 !important;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.mwt-section-title::after {
    content: "";
    flex-grow: 1;
    height: 1px;
    background: rgba(217, 188, 122, 0.3);
    margin-left: 20px;
}

/* ── Highlights Grid ── */
.mwt-highlights-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 20px;
    margin-top: 24px;
}
.mwt-highlight-card {
    background: var(--mwt-parchment);
    border: 1px solid rgba(217, 188, 122, 0.25);
    border-radius: 6px;
    padding: 20px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.mwt-highlight-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(0,0,0,0.05);
}
.mwt-highlight-card h4 {
    font-family: var(--mwt-serif) !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    color: var(--mwt-ink) !important;
    margin: 0 0 8px 0 !important;
}
.mwt-highlight-card p {
    font-family: var(--mwt-sans);
    font-size: 14px;
    color: var(--mwt-ink-soft);
    line-height: 1.5;
    margin: 0;
}

/* ── Itinerary Timeline ── */
.mwt-itinerary-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 24px;
}
.mwt-btn-toggle-all {
    font-family: var(--mwt-sans);
    font-size: 13px;
    font-weight: 600;
    color: var(--mwt-gold-dim);
    background: transparent;
    border: 1px solid var(--mwt-gold);
    padding: 6px 14px;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.2s ease;
}
.mwt-btn-toggle-all:hover {
    background: var(--mwt-gold);
    color: #ffffff;
}
.mwt-timeline {
    position: relative;
    padding-left: 20px;
}
.mwt-timeline::before {
    content: "";
    position: absolute;
    top: 20px;
    bottom: 20px;
    left: 45px;
    width: 2px;
    background: #e8e2d5;
}
.mwt-timeline-day {
    position: relative;
    margin-bottom: 24px;
}
.mwt-timeline-day:last-child {
    margin-bottom: 0;
}
.mwt-day-header {
    display: flex;
    align-items: center;
    gap: 16px;
    background: var(--mwt-parchment);
    border: 1px solid rgba(217, 188, 122, 0.3);
    border-radius: 6px;
    padding: 16px 20px;
    cursor: pointer;
    position: relative;
    z-index: 2;
    transition: background 0.2s ease, border-color 0.2s ease;
}
.mwt-day-header:hover {
    background: #f3ede2;
    border-color: var(--mwt-gold);
}
.mwt-day-badge {
    background: var(--mwt-navy);
    color: var(--mwt-gold);
    font-family: var(--mwt-sans);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1px;
    padding: 6px 12px;
    border-radius: 4px;
    flex-shrink: 0;
    text-transform: uppercase;
}
.mwt-day-title {
    font-family: var(--mwt-serif);
    font-size: 18px;
    font-weight: 600;
    color: var(--mwt-ink);
    margin: 0;
    flex-grow: 1;
}
.mwt-day-location {
    font-family: var(--mwt-sans);
    font-size: 12px;
    font-weight: 600;
    color: var(--mwt-gold-dim);
    background: rgba(217, 188, 122, 0.15);
    padding: 3px 8px;
    border-radius: 3px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.mwt-day-toggle {
    font-size: 14px;
    color: var(--mwt-ink-light);
    transition: transform 0.3s ease;
}
.mwt-timeline-day.open .mwt-day-toggle {
    transform: rotate(180deg);
}
.mwt-day-body {
    display: none;
    padding: 20px 24px 20px 72px;
    font-family: var(--mwt-sans);
    font-size: 15px;
    color: var(--mwt-ink-soft);
    line-height: 1.7;
    background: #ffffff;
    border: 1px solid #ebebeb;
    border-top: none;
    border-radius: 0 0 6px 6px;
    margin-top: -4px;
}
.mwt-timeline-day.open .mwt-day-body {
    display: block;
}

/* ── Itinerary legacy HTML containment & layout normalization ── */
.mwt-timeline-day,
.mwt-day-body {
    max-width: 100% !important;
    overflow-x: hidden !important;
    word-break: break-word !important;
    box-sizing: border-box !important;
}

.mwt-day-body .container,
.mwt-day-body .container-fluid {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

.mwt-day-body .row {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 16px 0 !important;
    box-sizing: border-box !important;
}

.mwt-day-body .col-md-4,
.mwt-day-body .col-sm-6,
.mwt-day-body .col-xs-12 {
    width: 50% !important;
    max-width: 50% !important;
    flex: 0 0 50% !important;
    box-sizing: border-box !important;
    padding-right: 15px !important;
    padding-left: 0 !important;
    float: none !important;
}

.mwt-day-body .col-md-8,
.mwt-day-body .col-md-12 {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    box-sizing: border-box !important;
    padding: 0 !important;
    float: none !important;
}

@media (max-width: 768px) {
    .mwt-day-body {
        padding: 16px !important;
    }
    .mwt-day-body .col-md-4,
    .mwt-day-body .col-sm-6 {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
        padding-right: 0 !important;
    }
}

.mwt-day-body .catname {
    font-family: var(--mwt-serif) !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    color: var(--mwt-navy) !important;
    margin-bottom: 10px !important;
    margin-top: 14px !important;
    display: block !important;
    border-bottom: 1px solid rgba(198, 164, 94, 0.3) !important;
    padding-bottom: 5px !important;
}

.mwt-day-body ul {
    margin-bottom: 14px !important;
    padding-left: 20px !important;
}

.mwt-day-body ul li {
    font-family: var(--mwt-sans) !important;
    font-size: 14.5px !important;
    line-height: 1.7 !important;
    color: var(--mwt-ink) !important;
    margin-bottom: 6px !important;
}

/* ── Inclusions / Exclusions ── */
.mwt-inclusions-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    margin-top: 16px;
}
.mwt-inc-box, .mwt-exc-box {
    border-radius: 6px;
    padding: 24px;
}
.mwt-inc-box {
    background: rgba(217, 188, 122, 0.08);
    border: 1px solid rgba(217, 188, 122, 0.3);
}
.mwt-exc-box {
    background: rgba(92, 106, 121, 0.05);
    border: 1px solid rgba(92, 106, 121, 0.2);
}
.mwt-inc-box h4, .mwt-exc-box h4 {
    font-family: var(--mwt-serif) !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    margin: 0 0 16px 0 !important;
    display: flex;
    align-items: center;
    gap: 8px;
}
.mwt-inc-box h4 {
    color: var(--mwt-gold-dim) !important;
}
.mwt-exc-box h4 {
    color: var(--mwt-ink-soft) !important;
}
.mwt-inc-box ul, .mwt-exc-box ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.mwt-inc-box li, .mwt-exc-box li {
    position: relative;
    padding-left: 24px;
    font-family: var(--mwt-sans);
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 10px;
}
.mwt-inc-box li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: var(--mwt-gold);
    font-weight: bold;
}
.mwt-exc-box li::before {
    content: "✕";
    position: absolute;
    left: 0;
    color: #999;
    font-size: 12px;
}

/* ── Sticky Booking Sidebar ── */
.mwt-booking-card {
    background: #ffffff;
    border: 1px solid rgba(217, 188, 122, 0.35);
    border-radius: 8px;
    box-shadow: 0 8px 30px rgba(5, 12, 23, 0.08);
    padding: 32px 28px;
    position: relative;
}
.mwt-booking-card-top {
    text-align: center;
    padding-bottom: 24px;
    border-bottom: 1px solid #ebebeb;
    margin-bottom: 24px;
}
.mwt-book-eyebrow {
    font-family: var(--mwt-sans);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 1px;
    color: var(--mwt-gold);
    text-transform: uppercase;
    margin-bottom: 8px;
    display: block;
}
.mwt-book-price-display {
    font-family: var(--mwt-serif);
    font-size: 34px;
    font-weight: 700;
    color: var(--mwt-ink);
    line-height: 1.1;
    margin-bottom: 4px;
}
.mwt-book-note {
    font-family: var(--mwt-sans);
    font-size: 12px;
    color: var(--mwt-ink-light);
}
.mwt-concierge-intro {
    display: flex;
    align-items: center;
    gap: 14px;
    background: var(--mwt-parchment);
    border-radius: 6px;
    padding: 14px;
    margin-bottom: 24px;
}
.mwt-concierge-avatar {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid var(--mwt-gold);
}
.mwt-concierge-text strong {
    display: block;
    font-family: var(--mwt-serif);
    font-size: 15px;
    color: var(--mwt-ink);
}
.mwt-concierge-text span {
    font-family: var(--mwt-sans);
    font-size: 12px;
    color: var(--mwt-ink-soft);
}
.mwt-btn-inquire-main {
    display: block;
    width: 100%;
    background: var(--mwt-navy);
    color: var(--mwt-gold);
    border: 1px solid var(--mwt-gold);
    font-family: var(--mwt-sans);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    padding: 16px 20px;
    border-radius: 4px;
    text-align: center;
    text-decoration: none;
    transition: all 0.3s ease;
    cursor: pointer;
    box-shadow: 0 4px 14px rgba(5, 12, 23, 0.15);
}
.mwt-btn-inquire-main:hover {
    background: var(--mwt-gold);
    color: #ffffff;
    border-color: var(--mwt-gold);
    box-shadow: 0 6px 20px rgba(217, 188, 122, 0.4);
}
.mwt-btn-phone-direct {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    margin-top: 12px;
    font-family: var(--mwt-sans);
    font-size: 14px;
    font-weight: 600;
    color: var(--mwt-ink);
    padding: 12px 20px;
    border: 1px solid #d5d5d5;
    border-radius: 4px;
    text-decoration: none;
    transition: all 0.2s ease;
}
.mwt-btn-phone-direct:hover {
    border-color: var(--mwt-navy);
    background: #f9f9f9;
}
.mwt-sidebar-perks {
    list-style: none;
    padding: 0;
    margin: 24px 0 0 0;
    border-top: 1px solid #ebebeb;
    padding-top: 20px;
}
.mwt-sidebar-perks li {
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: var(--mwt-sans);
    font-size: 13px;
    color: var(--mwt-ink-soft);
    margin-bottom: 10px;
}
.mwt-sidebar-perks li:last-child {
    margin-bottom: 0;
}
.mwt-sidebar-perks li i {
    color: var(--mwt-gold);
    font-size: 14px;
}

/* ── Country / Category Tour Archive ── */
.mwt-category-layout {
    background: var(--mwt-parchment);
    padding: 50px 0 90px 0;
}
.mwt-category-layout .container {
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 20px;
}
.mwt-archive-intro {
    background: #ffffff;
    border-radius: 8px;
    border: 1px solid rgba(217, 188, 122, 0.25);
    padding: 36px 44px;
    margin-bottom: 40px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.03);
}
.mwt-archive-intro h2 {
    font-family: var(--mwt-serif) !important;
    font-size: 28px !important;
    margin: 0 0 16px 0 !important;
    color: var(--mwt-ink) !important;
}
.mwt-archive-intro-text {
    font-family: var(--mwt-sans);
    font-size: 16px;
    line-height: 1.7;
    color: var(--mwt-ink-soft);
    margin: 0;
}

/* ── 3-Column Luxury Tour Grid ── */
.mwt-tours-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    margin-bottom: 50px;
}
.mwt-tour-card {
    background: #ffffff;
    border-radius: 8px;
    border: 1px solid #eae6de;
    overflow: hidden;
    box-shadow: 0 4px 16px rgba(0,0,0,0.04);
    display: flex;
    flex-direction: column;
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}
.mwt-tour-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 30px rgba(0,0,0,0.08);
    border-color: rgba(217, 188, 122, 0.5);
}
.mwt-tour-card-thumb {
    position: relative;
    height: 240px;
    overflow: hidden;
    background: var(--mwt-navy);
}
.mwt-tour-card-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}
.mwt-tour-card:hover .mwt-tour-card-thumb img {
    transform: scale(1.06);
}
.mwt-card-badge-duration {
    position: absolute;
    bottom: 14px;
    left: 14px;
    background: rgba(5, 12, 23, 0.85);
    backdrop-filter: blur(4px);
    color: #ffffff;
    font-family: var(--mwt-sans);
    font-size: 12px;
    font-weight: 600;
    padding: 5px 12px;
    border-radius: 4px;
    letter-spacing: 0.5px;
}
.mwt-card-badge-style {
    position: absolute;
    top: 14px;
    left: 14px;
    background: var(--mwt-gold);
    color: #ffffff;
    font-family: var(--mwt-sans);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 4px 10px;
    border-radius: 3px;
}
.mwt-tour-card-body {
    padding: 24px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}
.mwt-tour-card-dest {
    font-family: var(--mwt-sans);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--mwt-gold-dim);
    font-weight: 600;
    margin-bottom: 8px;
}
.mwt-tour-card-title {
    font-family: var(--mwt-serif, 'Cormorant Garamond', Georgia, serif) !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #0b1a30 !important;
    line-height: 1.35 !important;
    margin: 0 0 12px 0 !important;
}
.mwt-tour-card-title a {
    color: #0b1a30 !important;
    text-decoration: none;
    transition: color 0.2s ease;
}
.mwt-tour-card-title a:hover {
    color: var(--mwt-gold) !important;
}
.mwt-tour-card-excerpt,
.travelogue-card .card-excerpt,
.mwt-detail-container p,
.mwt-section-block p,
.mwt-card-desc,
.mwt-entry-content p {
    font-family: var(--mwt-sans, 'Jost', -apple-system, sans-serif) !important;
    font-style: normal !important;
    font-weight: 500 !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
    color: #1a2330 !important; /* Razor-sharp contrast dark slate for seniors */
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}

.mwt-tour-card-excerpt {
    margin: 0 0 20px 0;
    flex-grow: 1;
    font-size: 16px !important;
    color: #1a2330 !important;
}
.mwt-tour-card-footer {
    border-top: 1px solid #ebebeb;
    padding-top: 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.mwt-card-price-block {
    display: flex;
    flex-direction: column;
}
.mwt-card-from {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--mwt-ink-light);
}
.mwt-card-price {
    font-family: var(--mwt-serif);
    font-size: 20px;
    font-weight: 700;
    color: var(--mwt-gold);
}
.mwt-btn-card-view {
    display: inline-block;
    background: transparent;
    border: 1px solid var(--mwt-gold);
    color: var(--mwt-navy);
    font-family: var(--mwt-sans);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: 8px 16px;
    border-radius: 4px;
    text-decoration: none;
    transition: all 0.2s ease;
}
.mwt-btn-card-view:hover {
    background: var(--mwt-gold);
    color: #ffffff;
}

/* ── Hotel Detail Template ── */
.mwt-hotel-stars {
    color: var(--mwt-gold);
    font-size: 16px;
    margin-bottom: 12px;
    display: flex;
    gap: 4px;
}
.mwt-gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 16px;
    margin-top: 20px;
}
.mwt-gallery-item {
    height: 180px;
    border-radius: 6px;
    overflow: hidden;
    position: relative;
}
.mwt-gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}
.mwt-gallery-item:hover img {
    transform: scale(1.08);
}
.mwt-distances-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 16px;
    margin-top: 16px;
}
.mwt-distance-card {
    background: var(--mwt-parchment);
    border: 1px solid rgba(217, 188, 122, 0.25);
    border-radius: 6px;
    padding: 16px;
    text-align: center;
}
.mwt-dist-name {
    font-family: var(--mwt-serif);
    font-size: 16px;
    font-weight: 600;
    color: var(--mwt-ink);
    margin-bottom: 4px;
}
.mwt-dist-val {
    font-family: var(--mwt-sans);
    font-size: 13px;
    color: var(--mwt-gold-dim);
    font-weight: 600;
}

/* ── Blog Editorial Template ── */
/* ── Blog Editorial Template ── */
.mwt-blog-container {
    max-width: 1080px;
    margin: 40px auto 80px auto;
    padding: 0 24px;
}
.mwt-blog-header {
    text-align: center;
    margin-bottom: 40px;
}
.mwt-hero-tag {
    display: inline-block;
    padding: 6px 20px;
    border-radius: 30px;
    font-family: var(--mwt-sans, 'Jost', sans-serif);
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    background: rgba(176, 138, 80, 0.12);
    border: 1.5px solid var(--mwt-gold, #B08A50);
    color: var(--mwt-gold-dim, #8f6c38);
    text-decoration: none;
    transition: all 0.28s ease;
    cursor: pointer;
}
.mwt-hero-tag:hover {
    background: var(--mwt-gold, #B08A50);
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 4px 14px rgba(176, 138, 80, 0.35);
}
.mwt-blog-meta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    font-family: var(--mwt-sans);
    font-size: 15px;
    color: var(--mwt-ink-light);
    margin-top: 16px;
}
.mwt-blog-featured-img {
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 40px;
    box-shadow: 0 12px 36px rgba(0,0,0,0.08);
}
.mwt-blog-featured-img img {
    width: 100%;
    height: auto;
    display: block;
}
.mwt-blog-body {
    font-family: var(--mwt-sans, 'Jost', sans-serif) !important;
    font-size: 20px !important;
    line-height: 1.85 !important;
    color: #1a2330 !important;
    background: #ffffff;
    padding: 56px 64px;
    border-radius: 10px;
    border: 1px solid #e8e3d8;
    box-shadow: 0 4px 24px rgba(0,0,0,0.025);
}
.mwt-blog-body p {
    font-size: 20px !important;
    line-height: 1.85 !important;
    color: #1a2330 !important;
    margin-bottom: 28px !important;
}
.mwt-blog-body h2 {
    font-family: var(--mwt-serif) !important;
    font-size: 32px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    color: #0b1a30 !important;
    margin: 48px 0 20px 0 !important;
    border-bottom: 2px solid rgba(176, 138, 80, 0.25);
    padding-bottom: 12px;
}
.mwt-blog-body h3 {
    font-family: var(--mwt-serif) !important;
    font-size: 26px !important;
    font-weight: 600 !important;
    line-height: 1.38 !important;
    color: #0b1a30 !important;
    margin: 38px 0 16px 0 !important;
}
.mwt-blog-body h4 {
    font-family: var(--mwt-serif) !important;
    font-size: 22px !important;
    font-weight: 600 !important;
    color: #0b1a30 !important;
    margin: 30px 0 14px 0 !important;
}
.mwt-blog-body ul, .mwt-blog-body ol {
    font-size: 20px !important;
    line-height: 1.85 !important;
    color: #1a2330 !important;
    margin-bottom: 28px !important;
    padding-left: 32px !important;
}
.mwt-blog-body li {
    margin-bottom: 12px !important;
}
.mwt-blog-body blockquote {
    border-left: 4px solid var(--mwt-gold, #B08A50) !important;
    padding: 22px 32px !important;
    margin: 36px 0 !important;
    background: #faf7f2 !important;
    border-radius: 0 8px 8px 0;
    font-family: var(--mwt-serif, Georgia, serif) !important;
    font-style: italic !important;
    font-size: 23px !important;
    line-height: 1.75 !important;
    color: #1a2330 !important;
}
.mwt-blog-body img {
    max-width: 100%;
    height: auto;
    border-radius: 6px;
    margin: 20px auto;
    display: block;
}
@media (max-width: 768px) {
    .mwt-blog-body {
        padding: 30px 20px !important;
    }
    .mwt-blog-body p, .mwt-blog-body ul, .mwt-blog-body ol {
        font-size: 18px !important;
        line-height: 1.75 !important;
        margin-bottom: 22px !important;
    }
    .mwt-blog-body h2 {
        font-size: 26px !important;
    }
    .mwt-blog-body h3 {
        font-size: 22px !important;
    }
}

/* ── Universal Page Template ── */
.mwt-page-container {
    max-width: 1140px;
    margin: 40px auto 80px auto;
    padding: 0 20px;
}
.mwt-page-card {
    background: #ffffff;
    border-radius: 8px;
    border: 1px solid #eae6de;
    padding: 50px 60px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.03);
}
.mwt-page-content {
    font-family: var(--mwt-sans);
    font-size: 16px;
    line-height: 1.8;
    color: #334050;
    text-align: left !important;
}
.mwt-page-content p {
    margin-bottom: 22px;
}
.mwt-page-content h2,
.mwt-page-content h3,
.mwt-page-content h4 {
    font-family: var(--mwt-serif) !important;
    color: var(--mwt-ink) !important;
    margin-top: 32px !important;
    margin-bottom: 16px !important;
}
.mwt-page-content ul,
.mwt-page-content ol {
    margin-bottom: 24px;
    padding-left: 24px;
}
.mwt-page-content li {
    margin-bottom: 8px;
}
.mwt-page-content img {
    max-width: 100%;
    height: auto;
    border-radius: 6px;
    margin: 20px 0;
}

/* ── Responsive Rules for Luxury Templates ── */
@media (max-width: 991px) {
    .mwt-detail-container {
        grid-template-columns: 1fr;
        gap: 36px;
    }
    .mwt-sidebar-col {
        position: static;
    }
    .mwt-tours-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
    }
    .mwt-hero-title {
        font-size: 32px !important;
    }
    .mwt-page-card {
        padding: 30px 24px;
    }
}

@media (max-width: 640px) {
    .mwt-tours-grid {
        grid-template-columns: 1fr;
    }
    .mwt-inclusions-grid {
        grid-template-columns: 1fr;
    }
    .mwt-facts-list {
        gap: 16px;
    }
    .mwt-hero-title {
        font-size: 26px !important;
    }
}

/* ==========================================================================
   HOMEPAGE TEXT-ONLY USP LUXURY CARDS (NO ICONS)
   ========================================================================== */
.mwt-usp-grid-text {
    display: grid !important;
    grid-template-columns: repeat(5, 1fr) !important;
    gap: 20px !important;
    margin-top: 36px !important;
    align-items: stretch !important;
}

.mwt-usp-card {
    background: #ffffff !important;
    border: 1.5px solid rgba(212, 175, 55, 0.35) !important;
    border-radius: 8px !important;
    padding: 32px 20px !important;
    text-align: center !important;
    box-shadow: 0 4px 18px rgba(11, 26, 48, 0.06) !important;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    height: 100% !important;
    box-sizing: border-box !important;
}

.mwt-usp-card:hover {
    transform: translateY(-5px) !important;
    border-color: #d4af37 !important;
    box-shadow: 0 12px 28px rgba(212, 175, 55, 0.2) !important;
}

.mwt-usp-num {
    font-family: var(--mwt-serif, 'Cormorant Garamond', Georgia, serif) !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #d4af37 !important;
    letter-spacing: 2px !important;
    margin-bottom: 14px !important;
    display: inline-block !important;
    border-bottom: 1.5px solid #d4af37 !important;
    padding-bottom: 2px !important;
    line-height: 1 !important;
}

.mwt-usp-heading {
    font-family: var(--mwt-serif, 'Cormorant Garamond', Georgia, serif) !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #0b1a30 !important;
    line-height: 1.35 !important;
    margin: 0 0 14px 0 !important;
    letter-spacing: 0.8px !important;
    text-transform: uppercase !important;
}

.mwt-usp-desc {
    font-family: var(--mwt-sans, 'Jost', sans-serif) !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 1.7 !important;
    color: #1a2330 !important;
    margin: 0 !important;
    flex-grow: 1 !important;
}

@media (max-width: 1100px) {
    .mwt-usp-grid-text {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 16px !important;
    }
}

@media (max-width: 768px) {
    .mwt-usp-grid-text {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (max-width: 520px) {
    .mwt-usp-grid-text {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }
}

/* --- SECTION 4: HIGHLIGHTS CAROUSEL VIEW ALL BUTTON --- */
.explore-footer {
    text-align: center;
    margin-top: 35px;
    clear: both;
}

/* --- SECTION 5: TESTIMONIAL CARD & AVATAR FIXES --- */
.c-testimonial-card__header {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
}

.c-testimonial-card__image {
    width: 64px !important;
    min-width: 64px !important;
    height: 64px !important;
    border-radius: 50% !important;
    overflow: hidden !important;
    background: #f0ebe1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06) !important;
}

.c-testimonial-card__image img {
    width: 100% !important;
    height: 100% !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    display: block !important;
}

.c-testimonial-avatar-placeholder {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    user-select: none !important;
}

.c-testimonial-card__name {
    flex: 1 !important;
    min-width: 0 !important;
}

.c-testimonial-card__name h4 {
    margin: 0 0 4px !important;
    font-size: 1.15rem !important;
    letter-spacing: 0.5px !important;
}

/* --- TRIPADVISOR LUXURY BUTTON --- */
.l-testimonial-list__footer {
    text-align: center !important;
    margin-top: 35px !important;
    clear: both !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
}

.c-button--tripadvisor {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: fit-content !important;
    margin: 0 auto !important;
    padding: 13px 32px !important;
    height: auto !important;
    line-height: 1.4 !important;
    font-size: 13px !important;
    letter-spacing: 1.2px !important;
    white-space: nowrap !important;
    position: relative !important;
    box-sizing: border-box !important;
    border-radius: 2px !important;
    box-shadow: 0 4px 18px rgba(176, 138, 80, 0.35) !important;
    transition: all 0.3s ease !important;
}

.c-button--tripadvisor .c-tripadvisor-icon,
.c-button--tripadvisor svg {
    position: static !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    transform: none !important;
    margin: 0 !important;
    flex-shrink: 0 !important;
    width: 26px !important;
    height: 16px !important;
    display: inline-block !important;
    vertical-align: middle !important;
    transition: transform 0.25s ease !important;
}

.c-button--tripadvisor:hover .c-tripadvisor-icon,
.c-button--tripadvisor:hover svg {
    transform: scale(1.15) !important;
}

@media screen and (max-width: 600px) {
    .c-button--tripadvisor {
        white-space: normal !important;
        width: 100% !important;
        max-width: 360px !important;
        padding: 12px 18px !important;
        text-align: center !important;
    }
}

/* ── SENIOR-FRIENDLY HIGH READABILITY ARTICLE TYPOGRAPHY ── */
.ot-tour-table-column3-a,
.single-travel-guides .wrap-left,
.mwt-guide-main-card,
.mwt-entry-content,
.post-content,
article.post {
    font-family: var(--mwt-sans, 'Jost', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif) !important;
}

.ot-tour-table-column3-a p,
.single-travel-guides .wrap-left p,
.mwt-guide-main-card p,
.mwt-entry-content p,
.post-content p {
    font-size: 18px !important;
    line-height: 1.88 !important;
    color: #22252a !important;
    margin-bottom: 24px !important;
    letter-spacing: 0.15px !important;
}

.ot-tour-table-column3-a h1,
.ot-tour-table-column3-a h2,
.single-travel-guides .wrap-left h2,
.mwt-guide-main-card h2,
.mwt-entry-content h2 {
    font-family: var(--mwt-serif, 'Cormorant Garamond', Georgia, serif) !important;
    font-size: 30px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    color: #0d131a !important;
    margin-top: 36px !important;
    margin-bottom: 16px !important;
}

.ot-tour-table-column3-a h3,
.single-travel-guides .wrap-left h3,
.mwt-guide-main-card h3,
.mwt-entry-content h3 {
    font-family: var(--mwt-serif, 'Cormorant Garamond', Georgia, serif) !important;
    font-size: 24px !important;
    font-weight: 600 !important;
    line-height: 1.38 !important;
    color: #0d131a !important;
    margin-top: 28px !important;
    margin-bottom: 14px !important;
}

.ot-tour-table-column3-a ul,
.ot-tour-table-column3-a ol,
.single-travel-guides .wrap-left ul,
.single-travel-guides .wrap-left ol,
.mwt-guide-main-card ul,
.mwt-guide-main-card ol {
    font-size: 18px !important;
    line-height: 1.88 !important;
    color: #22252a !important;
    margin-bottom: 24px !important;
    padding-left: 28px !important;
}

.ot-tour-table-column3-a li,
.single-travel-guides .wrap-left li,
.mwt-guide-main-card li {
    margin-bottom: 12px !important;
}

.ot-tour-table-column3-a strong,
.ot-tour-table-column3-a b,
.single-travel-guides .wrap-left strong,
.single-travel-guides .wrap-left b,
.mwt-guide-main-card strong,
.mwt-guide-main-card b {
    color: #0d131a !important;
    font-weight: 600 !important;
}

/* Hide duplicate heading elements in travel guides */
.single-travel-guides .ot-content-h1-a1,
.single-travel-guides #ot_content_h1_1781 {
    display: none !important;
}

/* Ensure generous, balanced luxury padding for footer */
.site-footer {
    padding-top: 48px !important;
    padding-bottom: 28px !important;
    border-top: 1px solid rgba(217, 188, 122, 0.3) !important;
    box-shadow: 0 -4px 30px rgba(0, 0, 0, 0.35) !important;
}

.footer-row-3-box .footer-row-3 {
    border: none !important;
    padding: 0 !important;
}

/* ==========================================================================
   COMPACT LUXURY MOBILE FOOTER (< 768px)
   ========================================================================== */
@media (max-width: 768px) {
    .site-footer {
        padding-top: 28px !important;
        padding-bottom: 22px !important;
    }
    .footer-container {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
    .footer-row-1 {
        grid-template-columns: 1fr !important;
        gap: 22px !important;
        padding-bottom: 22px !important;
    }
    .why-grid {
        grid-template-columns: 1fr 1fr !important;
        gap: 14px !important;
    }
    .footer-row-2 {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
        padding-top: 20px !important;
        padding-bottom: 20px !important;
    }
    .travel-seasons-grid {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 8px 10px !important;
    }
    .season-cell a {
        font-size: 12px !important;
        white-space: normal !important;
    }
    .footer-row-3-box {
        padding: 16px 12px !important;
        margin-top: 20px !important;
        margin-bottom: 20px !important;
    }
    .footer-row-3-box .footer-row-3 {
        border: none !important;
        padding: 0 !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 14px !important;
    }
    .footer-row-3 .trusted-label {
        width: 100% !important;
        min-width: unset !important;
        text-align: center !important;
        align-items: center !important;
        margin-bottom: 4px !important;
        flex-direction: row !important;
        justify-content: center !important;
        gap: 6px !important;
    }
    .footer-row-3 .t-line1,
    .footer-row-3 .t-line2 {
        font-size: 11px !important;
        letter-spacing: 0.16em !important;
        line-height: 1.2 !important;
        display: inline !important;
    }
    .footer-row-3 .t-line1 {
        color: #d9bc7a !important;
    }
    .footer-row-3 .t-line2 {
        color: #e7d2a4 !important;
    }
    .partner-logos {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 14px 8px !important;
        width: 100% !important;
        align-items: center !important;
        justify-items: center !important;
        padding: 4px 0 !important;
    }
    .p-logo {
        width: 100% !important;
        max-width: 115px !important;
        min-height: 48px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
    }
    .p-icon {
        max-height: 16px !important;
        max-width: 22px !important;
        margin-bottom: 3px !important;
    }
    .p-name {
        font-size: 11.5px !important;
        line-height: 1.2 !important;
    }
    .p-name.serif {
        font-size: 12px !important;
        letter-spacing: 0.12em !important;
    }
    .p-name.tracked {
        font-size: 11px !important;
        letter-spacing: 0.14em !important;
    }
    .aman-name {
        font-size: 1.1rem !important;
        letter-spacing: 0.2em !important;
    }
    .p-sub {
        font-size: 8.5px !important;
        margin-top: 1px !important;
        line-height: 1.2 !important;
        opacity: 0.75 !important;
    }
    .p-sub.script {
        font-size: 9.5px !important;
    }
    .p-sub.micro {
        font-size: 7.5px !important;
        letter-spacing: 0.06em !important;
    }
    /* Hide the 3rd line of text on Sofitel so all 6 logos stay compact & balanced */
    .p-logo .p-sub:nth-of-type(2) {
        display: none !important;
    }
    .footer-row-4 {
        padding-top: 16px !important;
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
        gap: 12px !important;
    }
    .legal-links,
    .legal-menu-list {
        justify-content: center !important;
        gap: 8px 14px !important;
        text-align: center !important;
    }
    .legal-links a,
    .legal-menu-list li a {
        font-size: 11.5px !important;
        color: rgba(231, 210, 164, 0.8) !important;
        font-weight: 400 !important;
        white-space: nowrap !important;
    }
    .legal-copyright {
        font-size: 10.5px !important;
        line-height: 1.5 !important;
        text-align: center !important;
        color: rgba(231, 210, 164, 0.55) !important;
        max-width: 360px !important;
        margin: 0 auto !important;
    }
}

/* ==========================================================================
   THAILAND TOUR CUSTOMIZATION & FORM STYLING
   ========================================================================== */
.mwt-thailand-dest-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 4px;
}

.mwt-dest-tag {
    display: inline-flex;
    align-items: center;
    padding: 6px 14px;
    background: #f7fafc;
    border: 1px solid #d1d5db;
    border-radius: 20px;
    font-size: 13.5px;
    color: #374151;
    cursor: pointer;
    user-select: none;
    transition: all 0.2s ease;
    margin-bottom: 0 !important;
    font-weight: 500;
}

.mwt-dest-tag input[type="checkbox"] {
    display: none !important;
}

.mwt-dest-tag.is-checked,
.mwt-dest-tag:has(input:checked) {
    background: #0b1a30 !important;
    color: #f3e5ab !important;
    border-color: #c6a45e !important;
    box-shadow: 0 2px 6px rgba(11, 26, 48, 0.15) !important;
}

.mwt-dest-tag:hover {
    border-color: #c6a45e;
    color: #0b1a30;
}

.mwt-duration-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 4px;
}

.mwt-duration-pill {
    display: inline-flex;
    align-items: center;
    padding: 6px 14px;
    background: #f7fafc;
    border: 1px solid #d1d5db;
    border-radius: 20px;
    font-size: 13.5px;
    color: #374151;
    cursor: pointer;
    user-select: none;
    transition: all 0.2s ease;
    margin-bottom: 0 !important;
    font-weight: 500;
}

.mwt-duration-pill input[type="radio"] {
    display: none !important;
}

.mwt-duration-pill.is-checked,
.mwt-duration-pill:has(input:checked) {
    background: #c6a45e !important;
    color: #0b1a30 !important;
    border-color: #b08a50 !important;
    font-weight: 600 !important;
    box-shadow: 0 2px 6px rgba(198, 164, 94, 0.25) !important;
}

.mwt-duration-pill:hover {
    border-color: #c6a45e;
}

/* Contact page banner full width */
.template-contactnew .container-fluid,
body.page-template-template-contactnew .container-fluid {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

.template-contactnew .container-fluid img,
body.page-template-template-contactnew .container-fluid img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    display: block !important;
    object-fit: cover !important;
}

/* ==========================================================================
   MOBILE RESPONSIVE ENHANCEMENTS (Tour Detail Days & Editorial Articles)
   Fixes: Chữ sát mép màn hình, accordion ngày tours mở mượt mà, spacing chuẩn di động
   ========================================================================== */
@media (max-width: 768px) {
    /* 1. Universal Container Spacing */
    .mwt-detail-container,
    .mwt-blog-container,
    .mwt-page-container {
        width: 100% !important;
        max-width: 100% !important;
        margin: 16px auto 36px auto !important;
        padding: 0 16px !important;
        box-sizing: border-box !important;
    }

    .mwt-main-col {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    /* 2. Card & Section Spacing - Ensure comfortable breathing room from screen edges */
    .mwt-section-block,
    .mwt-blog-body,
    .mwt-page-card {
        padding: 24px 18px !important;
        margin-bottom: 20px !important;
        border-radius: 8px !important;
        box-sizing: border-box !important;
        width: 100% !important;
    }

    .mwt-section-title {
        font-size: 22px !important;
        line-height: 1.3 !important;
        margin: 0 0 16px 0 !important;
    }

    .mwt-itinerary-header {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 12px !important;
        margin-bottom: 20px !important;
    }

    .mwt-btn-toggle-all {
        width: 100% !important;
        text-align: center !important;
        padding: 10px 16px !important;
        font-size: 13px !important;
    }

    /* 3. Tour Itinerary Days Accordion on Mobile */
    .mwt-timeline {
        padding-left: 0 !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .mwt-timeline::before {
        display: none !important;
    }

    .mwt-timeline-day {
        margin-bottom: 14px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .mwt-day-header {
        display: flex !important;
        align-items: center !important;
        flex-wrap: wrap !important;
        padding: 14px 16px !important;
        gap: 10px 12px !important;
        border-radius: 6px !important;
        cursor: pointer !important;
        -webkit-tap-highlight-color: transparent !important;
        box-sizing: border-box !important;
    }

    .mwt-day-badge {
        font-size: 11px !important;
        padding: 4px 8px !important;
        letter-spacing: 0.5px !important;
        flex-shrink: 0 !important;
    }

    .mwt-day-title {
        font-size: 16px !important;
        line-height: 1.35 !important;
        flex: 1 1 calc(100% - 90px) !important;
        margin: 0 !important;
        word-break: break-word !important;
    }

    .mwt-day-location {
        font-size: 11px !important;
        padding: 2px 6px !important;
        margin-left: 0 !important;
    }

    .mwt-day-toggle {
        margin-left: auto !important;
        font-size: 14px !important;
        flex-shrink: 0 !important;
    }

    .mwt-day-body {
        padding: 18px 16px !important;
        font-size: 15px !important;
        line-height: 1.7 !important;
        border-radius: 0 0 6px 6px !important;
        box-sizing: border-box !important;
        width: 100% !important;
    }

    .mwt-day-body p,
    .mwt-day-body ul,
    .mwt-day-body ol {
        font-size: 15px !important;
        line-height: 1.7 !important;
        margin-bottom: 12px !important;
        word-break: break-word !important;
    }

    .mwt-day-body p:last-child {
        margin-bottom: 0 !important;
    }

    /* 4. Article / Blog & General Pages on Mobile */
    .mwt-blog-body p,
    .mwt-blog-body ul,
    .mwt-blog-body ol,
    .mwt-page-content p,
    .mwt-page-content ul,
    .mwt-page-content ol {
        font-size: 16px !important;
        line-height: 1.75 !important;
        margin-bottom: 16px !important;
        word-break: break-word !important;
    }

    .mwt-blog-body img,
    .mwt-page-content img {
        max-width: 100% !important;
        height: auto !important;
        margin: 16px auto !important;
        border-radius: 6px !important;
    }

    .mwt-blog-header {
        margin-bottom: 24px !important;
    }

    .mwt-blog-header h1 {
        font-size: 26px !important;
        line-height: 1.3 !important;
    }

    .mwt-blog-meta {
        flex-wrap: wrap !important;
        gap: 8px 12px !important;
        font-size: 13.5px !important;
    }

    /* 5. Inclusions & Highlights on Mobile */
    .mwt-inclusions-grid,
    .mwt-highlights-grid {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }

    .mwt-inc-box,
    .mwt-exc-box,
    .mwt-highlight-card {
        padding: 18px 16px !important;
    }
}

/* Extra small devices (phones under 480px) */
@media (max-width: 480px) {
    .mwt-detail-container,
    .mwt-blog-container,
    .mwt-page-container {
        padding: 0 12px !important;
    }

    .mwt-section-block,
    .mwt-blog-body,
    .mwt-page-card {
        padding: 20px 14px !important;
    }

    .mwt-day-header {
        padding: 12px 12px !important;
    }

    .mwt-day-body {
        padding: 16px 12px !important;
    }
}


