/* === PREMIUM TYPOGRAPHY IMPORT === */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400&family=Inter:wght@300;400;500;600&display=swap');

body.luxury-homepage, 
body.luxury-homepage p, 
body.luxury-homepage span, 
body.luxury-homepage div, 
body.luxury-homepage a {
    font-family: 'Inter', sans-serif !important;
}

body.luxury-homepage h1, 
body.luxury-homepage h2, 
body.luxury-homepage h3, 
body.luxury-homepage h4, 
body.luxury-homepage h5, 
body.luxury-homepage h6,
body.luxury-homepage .gold-heading {
    font-family: 'Playfair Display', serif !important;
}

/* Enhancing Hero Title */
body .luxury-homepage .luxury-hero h1 {
    font-weight: 700 !important;
    letter-spacing: 1px !important;
    text-shadow: 0px 4px 15px rgba(0, 0, 0, 0.5) !important;
    margin-bottom: 25px !important;
    line-height: 1.2 !important;
}
body .luxury-homepage .luxury-hero p {
    font-weight: 300 !important;
    font-size: 1.25rem !important;
    letter-spacing: 0.5px !important;
    text-shadow: 0px 2px 10px rgba(0, 0, 0, 0.6) !important;
    color: #f8f9fa !important;
}

/* Enhancing Search Box */
body .luxury-homepage .luxury-search-box {
    backdrop-filter: blur(15px) !important;
    -webkit-backdrop-filter: blur(15px) !important;
    background: rgba(11, 25, 44, 0.65) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    box-shadow: 0 15px 35px rgba(0,0,0,0.3) !important;
    border-radius: 12px !important;
    padding: 30px !important;
}
body .luxury-homepage .luxury-search-box label {
    font-weight: 500 !important;
    letter-spacing: 0.5px !important;
    font-size: 0.85rem !important;
    text-transform: uppercase !important;
    color: #ffffff !important;
    margin-bottom: 8px !important;
}
body .luxury-homepage .luxury-search-box input {
    background: rgba(255, 255, 255, 0.9) !important;
    border: none !important;
    border-radius: 6px !important;
    color: #333 !important;
    font-weight: 500 !important;
    padding: 12px 15px !important;
    height: auto !important;
}
body .luxury-homepage .btn-search-gold {
    background: linear-gradient(135deg, #d4af37, #aa8c2c) !important;
    color: #fff !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 600 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    border: none !important;
    border-radius: 6px !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 5px 15px rgba(212, 175, 55, 0.4) !important;
}
body .luxury-homepage .btn-search-gold:hover {
    background: linear-gradient(135deg, #f5cc47, #c4a133) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 20px rgba(212, 175, 55, 0.6) !important;
}

/* Cruise Cards Enchancements */
body .luxury-homepage .luxury-card {
    border-radius: 12px !important;
    overflow: hidden !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.08) !important;
    border: none !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}
body .luxury-homepage .luxury-card:hover {
    transform: translateY(-8px) !important;
    box-shadow: 0 15px 40px rgba(0,0,0,0.15) !important;
}
body .luxury-homepage .luxury-card .card-body {
    padding: 25px !important;
}
body .luxury-homepage .luxury-card .card-title {
    font-weight: 600 !important;
    font-size: 1.4rem !important;
    margin-bottom: 15px !important;
    color: #0b192c !important;
}

/* Search Tabs Redesign */
.box-tabs-search .nav-tabs {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    border-bottom: none;
    background: #f1f5f9;
    padding: 6px;
    border-radius: 100px;
    margin-bottom: 20px;
    scrollbar-width: none;
}
.box-tabs-search .nav-tabs::-webkit-scrollbar {
    display: none;
}
.box-tabs-search .nav-item {
    margin-bottom: 0;
    flex: 0 0 auto;
}
.box-tabs-search .nav-link {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 8px;
    border: none !important;
    background: transparent;
    color: #475569;
    font-weight: 600;
    font-size: 15px;
    padding: 10px 20px;
    border-radius: 100px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    white-space: nowrap !important;
    width: max-content !important;
    text-align: left !important;
    margin-bottom: 0 !important;
}
/* Fix: style.min.css có .box-tabs-search .nav-tabs .nav-link span { display:block }
   => dùng selector dài hơn để thắng specificity */
.box-tabs-search .nav-tabs .nav-link span.tab-text,
.box-tabs-search .nav-tabs .nav-link span {
    display: inline !important;
    width: auto !important;
}
.box-tabs-search .nav-link:hover {
    background: #e2e8f0;
    color: #0f172a;
}
.box-tabs-search .nav-link.active {
    background: #000080 !important;
    color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(0, 0, 128, 0.3);
}
.box-tabs-search .nav-link .icon-wrapper {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: rgba(0,0,0,0.05);
    transition: all 0.3s;
}
.box-tabs-search .nav-link.active .icon-wrapper {
    background: rgba(255,255,255,0.2);
}
.box-tabs-search .nav-link i {
    font-size: 14px;
}

@media (max-width: 991px) {
    .box-tabs-search .nav-tabs {
        border-radius: 100px;
        padding: 4px;
        gap: 4px;
    }
    .box-tabs-search .nav-link {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        padding: 8px 16px !important;
        font-size: 13px !important;
        border-radius: 100px !important;
        gap: 6px !important;
        height: auto !important;
        white-space: nowrap !important;
        width: max-content !important;
        text-align: left !important;
        margin-bottom: 0 !important;
    }
    /* Fix: span bên trong nav-link bị display:block từ style.min.css */
    .box-tabs-search .nav-link span.tab-text,
    .box-tabs-search .nav-tabs .nav-link span {
        display: inline !important;
        width: auto !important;
    }
    /* Hiện icon trên tablet/mobile */
    .box-tabs-search .nav-link .icon-wrapper {
        display: inline-flex !important;
        width: 24px !important;
        height: 24px !important;
        margin-bottom: 0 !important;
    }
    .box-tabs-search .nav-link i {
        display: inline-block !important;
        font-size: 12px !important;
    }
    /* Ẩn cả li width:max-content override */
    .box-tabs-search .nav-tabs li {
        width: auto !important;
    }
}

@media (max-width: 480px) {
    .box-tabs-search .nav-link {
        padding: 6px 12px !important;
        font-size: 12px !important;
    }
}

/* Nï¿½ng Modal lï¿½n trï¿½n Contact Bar */
.modal { z-index: 1600 !important; }
.modal-backdrop { z-index: 1550 !important; }

/* Xï¿½a kho?ng h? du?i dï¿½y Modal trï¿½n Mobile */
@media (max-width: 768px) {
  .modal-dialog { margin-bottom: 0 !important; }
  .modal-content { border-bottom-left-radius: 0; border-bottom-right-radius: 0; }
}

/* ï¿½?m b?o ch? d? Lu?i hi?n th? d?p trï¿½n Mobile */
@media (max-width: 991px) {
  .grid-view .product-card { flex-direction: column !important; }
  .grid-view .product-image { width: 100% !important; height: auto !important; max-width: 100% !important; }
  .grid-view .product-image img { height: 220px !important; object-fit: cover !important; }
  .grid-view .product-info { width: 100% !important; padding: 15px !important; }
}

/* ï¿½?m b?o khung Lu?i trï¿½n di?n tho?i hi?n th? 1 s?n ph?m 1 hï¿½ng (?nh trï¿½n, ch? du?i) */
@media (max-width: 768px) {
  .products-grid.grid-view { display: grid !important; grid-template-columns: 1fr !important; gap: 15px !important; }
}




/* ï¿½?m b?o khung Lu?i trï¿½n di?n tho?i hi?n th? 1 s?n ph?m 1 hï¿½ng (?nh trï¿½n, ch? du?i) */
@media (max-width: 768px) {
  .products-grid.grid-view { display: grid !important; grid-template-columns: 1fr !important; gap: 15px !important; }
  .mobile-toolbar { display: flex; align-items: center; justify-content: space-between; }
}

/* Tang g?p dï¿½i kï¿½ch thu?c hi?n th? c?a cï¿½c Ngï¿½i sao dï¿½nh giï¿½ */
.product-rating .stars .star { font-size: 16px !important; margin-right: 2px; }
.product-rating .stars { display: flex; align-items: center; }

/* ï¿½?m b?o phï¿½n trang khï¿½ng b? trï¿½n mï¿½n hï¿½nh trï¿½n mobile */
@media (max-width: 576px) {
  .blog-pagination .page-numbers { padding: 5px 10px !important; min-width: 35px !important; }
  .blog-pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: 5px; }
}

/* ï¿½?nh d?ng l?i phï¿½n trang: Tï¿½ch riï¿½ng Tru?c/Ti?p xu?ng du?i cï¿½ng trï¿½n mobile */
@media (max-width: 576px) {
  .blog-pagination {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 8px !important;
  }
  .blog-pagination .page-numbers {
    order: 1;
  }
  /* T?o xu?ng dï¿½ng */
  .blog-pagination::after {
    content: '';
    width: 100%;
    order: 2;
  }
  .blog-pagination .prev.page-numbers {
    order: 3 !important;
    margin-right: auto !important;
    width: auto !important;
  }
  .blog-pagination .next.page-numbers {
    order: 4 !important;
    margin-left: auto !important;
    width: auto !important;
  }
}

/* Lï¿½m d?p nï¿½t chuy?n d?i Grid/List gi?ng nï¿½t L?c */
.products-toolbar .view-btn { background-color: #f5f6f8 !important; color: #333 !important; border: 1px solid #e5e7eb !important; border-radius: 50px !important; padding: 5px 16px !important; gap: 6px !important; font-size: 13px !important; font-weight: 500 !important; height: 38px !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; transition: all 0.3s ease; margin-left: 8px !important; }
.products-toolbar .view-btn.active { background-color: #000080 !important; color: #fff !important; border-color: #000080 !important; } .products-toolbar .view-btn svg { display: block !important; width: 16px !important; height: 16px !important; }


/* Fix shape */
.products-toolbar .view-toggle { border: none !important; background: transparent !important; padding: 0 !important; display: flex !important; gap: 8px !important; }
.products-toolbar .view-btn { width: auto !important; background-color: #f5f6f8 !important; color: #333 !important; border: 1px solid #e5e7eb !important; border-radius: 50px !important; padding: 5px 16px !important; gap: 6px !important; font-size: 13px !important; font-weight: 500 !important; height: 38px !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; transition: all 0.3s ease; margin-left: 0 !important; }
.products-toolbar .view-btn.active { background-color: #000080 !important; color: #fff !important; border-color: #000080 !important; }
.products-toolbar .view-btn svg { display: block !important; width: 16px !important; height: 16px !important; margin: 0 !important; }
@media (min-width: 992px) { .mobile-toolbar { display: none !important; } }
@media (max-width: 991px) { .products-toolbar .toolbar-right { display: none !important; } }
/* Bo tron dropdown Sap xep */
.products-toolbar .sort-select {
  border-radius: 50px !important;
  padding: 5px 30px 5px 15px !important;
  height: 38px !important;
  border: 1px solid #e5e7eb !important;
  outline: none !important;
}
/* Fix Filters Sidebar */
.filters-sidebar .location-links { max-height: 250px !important; overflow-y: auto !important; overscroll-behavior-y: contain !important; border: 1px solid #000080 !important; border-radius: 8px !important; padding: 5px 0 !important; scrollbar-width: thin !important; scrollbar-color: #000080 #f1f1f1 !important; }
.filters-sidebar .location-links::-webkit-scrollbar { width: 6px !important; }
.filters-sidebar .location-links::-webkit-scrollbar-track { background: #f1f1f1 !important; border-radius: 8px !important; }
.filters-sidebar .location-links::-webkit-scrollbar-thumb { background: #000080 !important; border-radius: 8px !important; }
.filters-sidebar .location-links .loc-item { color: #333 !important; font-weight: 500 !important; padding: 8px 12px !important; transition: all 0.2s ease !important; }
.filters-sidebar .location-links .loc-item:hover, .filters-sidebar .location-links .loc-item.active { color: #000080 !important; background-color: rgba(0,0,128,0.05) !important; font-weight: 600 !important; }
.filters-sidebar .range-slider .range-progress { background-color: #000080 !important; }
.filters-sidebar .range-slider .range-input::-webkit-slider-thumb { border: 2px solid #000080 !important; background: #fff !important; box-shadow: 0 0 0 1px #000080 !important; }
.filters-sidebar .range-slider .range-input::-moz-range-thumb { border: 2px solid #000080 !important; background: #fff !important; box-shadow: 0 0 0 1px #000080 !important; }
.filters-sidebar .star-buttons .star-btn.active, .filters-sidebar .star-buttons .star-btn:hover { background-color: #000080 !important; color: #fff !important; border-color: #000080 !important; }
.filters-sidebar input[type="checkbox"]:checked { background-color: #000080 !important; border-color: #000080 !important; accent-color: #000080 !important; }
/* --- DARK MODE --- */
body.dark-mode { background-color: #121212 !important; color: #e0e0e0 !important; }
body.dark-mode header { background-color: #1e1e1e !important; border-bottom: 1px solid #333 !important; }
body.dark-mode header a, body.dark-mode header .username, body.dark-mode .main-menu .menu > li > a { color: #e0e0e0 !important; }
body.dark-mode .product-card { background-color: #1e1e1e !important; border-color: #333 !important; }
body.dark-mode .product-card .product-title a { color: #fff !important; }
body.dark-mode .filters-sidebar { background-color: #1e1e1e !important; border-color: #333 !important; color: #e0e0e0 !important; }
body.dark-mode h1, body.dark-mode h2, body.dark-mode h3, body.dark-mode h4, body.dark-mode h5, body.dark-mode h6 { color: #fff !important; }
body.dark-mode .products-toolbar { background-color: #1e1e1e !important; border-color: #333 !important; color: #e0e0e0 !important; }
body.dark-mode .products-toolbar .sort-select { background-color: #333 !important; color: #fff !important; border-color: #555 !important; }
body.dark-mode .products-toolbar .view-btn { background-color: #333 !important; color: #e0e0e0 !important; border-color: #555 !important; }
body.dark-mode .products-toolbar .view-btn.active { background-color: #000080 !important; color: #fff !important; border-color: #000080 !important; }
body.dark-mode .loc-item { color: #e0e0e0 !important; }
body.dark-mode .loc-item:hover, body.dark-mode .loc-item.active { color: #fff !important; background-color: #000080 !important; }
body.dark-mode input[type="text"], body.dark-mode select, body.dark-mode textarea { background-color: #333 !important; color: #fff !important; border-color: #555 !important; }
body.dark-mode .breadcrumb-item a, body.dark-mode .breadcrumb-item.active { color: #bbb !important; }

/* Primary navigation: concise dropdown structure for important SEO pages. */
header.home-header,
header.header-child {
  background: rgba(5, 24, 45, 0.96) !important;
  border-bottom: 1px solid rgba(213, 171, 43, 0.28);
}

header.home-header .inner-header,
header.header-child .inner-header {
  gap: 18px;
}

@media (min-width: 992px) {
  header.home-header .main-menu,
  header.header-child .main-menu {
    flex: 1 1 auto;
    display: flex !important;
    justify-content: center;
  }
}
@media (max-width: 991px) {
  header.home-header .main-menu,
  header.header-child .main-menu {
    display: none !important;
  }
  header.home-header .header-actions,
  header.header-child .header-actions {
    display: none !important;
  }
}

header.home-header .main-menu > ul,
header.header-child .main-menu > ul {
  gap: 0;
}

header.home-header .main-menu > ul > li > a,
header.header-child .main-menu > ul > li > a {
  color: #f8fafc !important;
  padding: 18px 13px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

header.home-header .main-menu > ul > li > a:hover,
header.header-child .main-menu > ul > li > a:hover,
header.home-header .main-menu > ul > li:hover > a,
header.header-child .main-menu > ul > li:hover > a {
  color: #e5bd4f !important;
}

header.home-header .main-menu .sub-menu,
header.header-child .main-menu .sub-menu {
  top: 100%;
  min-width: 250px;
  margin-top: 0;
  padding: 7px 0;
  border: 0;
  border-top: 3px solid #d5ab2b;
  border-radius: 0 0 8px 8px;
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.22);
}

header.home-header .main-menu .sub-menu a,
header.header-child .main-menu .sub-menu a {
  padding: 11px 18px;
  color: #22304a !important;
  font-size: 14px;
  font-weight: 500;
  text-transform: none;
}

header.home-header .main-menu .sub-menu a:hover,
header.header-child .main-menu .sub-menu a:hover {
  padding-left: 22px;
  background: #f6f1e4;
  color: #8c6814 !important;
}

@media (max-width: 1199px) and (min-width: 992px) {
  header.home-header .main-menu > ul > li > a,
  header.header-child .main-menu > ul > li > a {
    padding-right: 8px;
    padding-left: 8px;
    font-size: 11px;
  }
}

@media (max-width: 991px) {
  .mobile-nav-body .menu .sub-menu {
    display: block !important;
    position: static;
    margin: 0;
    padding: 0 0 7px 14px;
    opacity: 1;
    visibility: visible;
    transform: none;
    box-shadow: none;
    border: 0;
  }

  .mobile-nav-body .menu .menu-item-has-children > a {
    font-weight: 700;
    color: #0b2f57;
  }

  .mobile-nav-body .menu .sub-menu a {
    padding-top: 8px;
    padding-bottom: 8px;
    font-size: 14px;
  }
}
body.dark-mode .text-muted { color: #aaa !important; }
body.dark-mode .product-card .product-price { color: #fff !important; }
/* --- DARK MODE TOGGLE SWITCH --- */
.theme-switch-wrapper { display: flex; align-items: center; }
.theme-switch { display: inline-block; height: 30px; position: relative; width: 56px; margin: 0; }
.theme-switch input { display: none; }
.theme-switch .slider { background-color: #ccc; bottom: 0; cursor: pointer; left: 0; position: absolute; right: 0; top: 0; transition: .4s; display: flex; align-items: center; justify-content: space-between; padding: 0 5px; }
.theme-switch .slider:before { background-color: #fff; bottom: 3px; content: ""; height: 24px; left: 4px; position: absolute; transition: .4s; width: 24px; z-index: 2; }
.theme-switch .slider.round { border-radius: 34px; }
.theme-switch .slider.round:before { border-radius: 50%; }
.theme-switch input:checked + .slider { background-color: #000080; }
.theme-switch input:checked + .slider:before { transform: translateX(24px); }
.theme-switch .sun-icon { color: #f39c12; font-size: 14px; z-index: 1; margin-left: 2px; }
.theme-switch .moon-icon { color: #f1c40f; font-size: 14px; z-index: 1; margin-right: 2px; }
/* --- DARK MODE SEGMENTED CONTROL --- */
.theme-segmented-control { position: relative; display: flex; width: 100%; background-color: #f1f5f9; border-radius: 30px; padding: 4px; box-shadow: inset 0 2px 4px rgba(0,0,0,0.06); margin-bottom: 20px; transition: background-color 0.4s ease; }
.theme-segmented-control input { display: none; }
.theme-segmented-control .segment-label { flex: 1; text-align: center; padding: 10px 0; font-size: 14px; font-weight: 600; color: #64748b; cursor: pointer; position: relative; z-index: 2; transition: color 0.3s ease; border-radius: 30px; margin-bottom: 0; }
.theme-segmented-control input#modeLight:checked ~ .light-label { color: #d97706; /* Sunset orange */ }
.theme-segmented-control input#modeDark:checked ~ .dark-label { color: #fff; }
.segment-slider { position: absolute; top: 4px; left: 4px; width: calc(50% - 4px); height: calc(100% - 8px); background-color: #fff; border-radius: 30px; box-shadow: 0 2px 8px rgba(0,0,0,0.12); transition: transform 0.4s cubic-bezier(0.68, -0.55, 0.27, 1.55), background-color 0.4s ease; z-index: 1; }
.theme-segmented-control input#modeDark:checked ~ .segment-slider { transform: translateX(100%); background-color: #1e293b; /* Dark elegant blue */ }
body.dark-mode .theme-segmented-control { background-color: #0f172a; box-shadow: inset 0 2px 4px rgba(0,0,0,0.5); }
body.dark-mode .theme-segmented-control .segment-label { color: #94a3b8; }
body.dark-mode .theme-segmented-control input#modeDark:checked ~ .dark-label { color: #fff; }
body.dark-mode .theme-segmented-control input#modeLight:checked ~ .light-label { color: #cbd5e1; }
/* --- WEATHER WIDGET --- */
.weather-widget { background: linear-gradient(135deg, #0052D4 0%, #4364F7 50%, #6FB1FC 100%); border-radius: 12px; padding: 15px; color: #fff; box-shadow: 0 4px 15px rgba(0,0,0,0.1); margin-bottom: 20px; }
.weather-loading { text-align: center; font-size: 14px; color: #fff; }
.weather-header { font-size: 16px; font-weight: 600; margin-bottom: 12px; text-align: center; text-shadow: 1px 1px 2px rgba(0,0,0,0.2); }
.weather-days-grid { display: flex; justify-content: space-between; gap: 8px; }
.weather-day { flex: 1; background: rgba(255, 255, 255, 0.15); border-radius: 8px; padding: 10px 5px; text-align: center; backdrop-filter: blur(5px); border: 1px solid rgba(255,255,255,0.3); transition: transform 0.2s; }
.weather-day.active { background: rgba(255, 255, 255, 0.35); transform: scale(1.05); box-shadow: 0 4px 8px rgba(0,0,0,0.15); border-color: #fff; }
.weather-day .w-label { font-size: 11px; text-transform: uppercase; font-weight: bold; opacity: 0.9; margin-bottom: 4px; }
.weather-day .w-date { font-size: 12px; margin-bottom: 5px; }
.weather-day .w-icon { font-size: 22px; margin-bottom: 5px; filter: drop-shadow(1px 2px 2px rgba(0,0,0,0.2)); }
.weather-day .w-temp { font-size: 12px; font-weight: 600; }
/* --- STICKY SIDEBAR --- */
@media (min-width: 992px) {
  .filters-sidebar {
    position: sticky;
    top: 90px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
    scrollbar-width: thin;
  }
}

/* CSS cho Nut Xem chi tiet */
.tour-details-toggle-wrap {
    border-top: 1px solid #e5e7eb;
    padding-top: 15px;
    padding-bottom: 10px;
    margin-top: 20px;
}
.btn-toggle-details {
    background-color: transparent;
    color: #c59d5f;
    border: 1px solid #c59d5f;
    border-radius: 50px;
    padding: 6px 24px;
    font-weight: 600;
    font-size: 14.5px;
    transition: all 0.3s ease;
}
.btn-toggle-details:hover {
    background-color: #c59d5f;
    color: #fff;
}

/* Imported cruise guide pages: neutralize legacy inline layouts and use the site system. */
.page-content .content-section .imported-cruise-guide {
    max-width: 980px;
    margin: 0 auto;
    color: #243447;
    font-size: 16px;
    line-height: 1.8;
}
.imported-cruise-guide > * { margin: 0 0 24px; }
.imported-cruise-guide h2,
.imported-cruise-guide h3,
.imported-cruise-guide h4 {
    color: #0a1f44 !important;
    line-height: 1.3;
    margin: 42px 0 16px;
}
.imported-cruise-guide h2 { font-size: clamp(26px, 3.3vw, 36px); }
.imported-cruise-guide h3 { font-size: clamp(21px, 2.6vw, 28px); }
.imported-cruise-guide p { margin: 0 0 16px; }
.imported-cruise-guide ul,
.imported-cruise-guide ol { margin: 0 0 20px 22px; padding: 0; }
.imported-cruise-guide li { list-style: revert; margin: 7px 0; }
.imported-cruise-guide a { color: #a77d3d; font-weight: 600; text-decoration: underline; }
.imported-cruise-guide img { display: block; width: 100%; max-width: 100%; height: auto; border-radius: 12px; margin: 22px auto; }
.imported-cruise-guide figure { margin: 28px auto; }
.imported-cruise-guide figcaption { color: #64748b; font-size: 13px; text-align: center; }
.imported-cruise-guide table { display: table; width: 100%; margin: 26px 0; border-collapse: collapse; overflow: hidden; border: 1px solid #d9e1ea; border-radius: 10px; }
.imported-cruise-guide th { background: #0a1f44; color: #fff; font-weight: 700; }
.imported-cruise-guide th,
.imported-cruise-guide td { padding: 12px 14px; border: 1px solid #d9e1ea; vertical-align: top; }
.imported-cruise-guide tr:nth-child(even) td { background: #f8fafc; }
.imported-cruise-guide iframe { max-width: 100%; border: 0; border-radius: 12px; }
@media (max-width: 767px) {
    .page-content .content-section .imported-cruise-guide { font-size: 15px; line-height: 1.7; }
    .imported-cruise-guide table { display: block; overflow-x: auto; white-space: normal; }
    .imported-cruise-guide th,
    .imported-cruise-guide td { min-width: 160px; padding: 10px; }
}

/* Keep the membership CTA within the gold-and-navy brand palette. */
.login-saving-callout .actions .btn.btn-primary {
    background: #c59d5f !important;
    border-color: #c59d5f !important;
    color: #fff !important;
}
.login-saving-callout .actions .btn.btn-primary:hover {
    background: #a77d3d !important;
    border-color: #a77d3d !important;
}

/* Site-specific header brand: a fixed lockup prevents logo assets from
   changing the hero/header height on any page. */
header .logo img[src*="halong-lan-ha-cruise-tours-logo"] {
    display: block;
    width: auto !important;
    height: 64px !important;
    max-width: min(360px, 34vw) !important;
    object-fit: contain;
}

@media (max-width: 767px) {
    header .logo img[src*="halong-lan-ha-cruise-tours-logo"] {
        height: 44px !important;
        max-width: 250px !important;
    }
}

/* Responsive video embed in post content */
.description-content iframe,
.description-content object,
.description-content embed,
figure.wp-block-embed iframe {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16 / 9;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}
figure.wp-block-embed {
    margin: 20px 0;
    width: 100%;
}

/* TÄƒng kÃ­ch thÆ°á»›c áº£nh cÃ¡c tour con trong trang chi tiáº¿t du thuyá»n */
.check-availability .room-list .room-item .room-gallery-img {
    width: 100% !important;
    aspect-ratio: 4/3 !important;
    object-fit: cover !important;
    border-radius: 8px !important;
}


@media (max-width: 768px) {
  .check-availability .room-list .room-item .room-gallery-img {
      aspect-ratio: 4/3 !important;
  }
}

/* Fix table borders in content */
.post-content table,
.description-content table,
.entry-content table,
.tab-content table {
    border-collapse: collapse;
    width: 100%;
    margin-bottom: 20px;
}
.post-content table th,
.post-content table td,
.description-content table th,
.description-content table td,
.entry-content table th,
.entry-content table td,
.tab-content table th,
.tab-content table td {
    border: 1px solid #dee2e6 !important;
    padding: 10px 12px;
}

/* Global fix for table borders in post content */
article table, .container table {
    border-collapse: collapse !important;
    width: 100% !important;
}
article table th, article table td,
.container table th, .container table td,
.check-availability table th, .check-availability table td {
    border: 1px solid #333 !important;
    padding: 10px !important;
}

/* Standardize image gallery aspect ratio */
.room-gallery .room-gallery-img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

/* --- TĂNG ĐỘ SẮC NÉT & RÕ RÀNG CHO TOÀN BỘ CHỮ TRÊN WEBSITE --- */
body, p, span, li, a, .accordion-body, .accordion-button, .entry-content, .description-content, td, th {
    font-family: 'Inter', sans-serif !important;
    text-rendering: optimizeLegibility !important;
    -webkit-font-smoothing: subpixel-antialiased !important;
    -moz-osx-font-smoothing: auto !important;
}

/* Đảm bảo màu chữ đủ đậm (không bị xám mờ) và độ dày (font-weight) tiêu chuẩn */
body, p, li, .accordion-body, .entry-content, .description-content, .faq-answer {
    color: #1f2937 !important;
    font-weight: 500 !important;
}

/* Tiêu đề cần đậm hơn nữa */
h1, h2, h3, h4, h5, h6, .accordion-button, .tour-title, .faq-question {
    font-family: 'Inter', sans-serif !important;
    color: #111827 !important;
    font-weight: 700 !important;
}

/* Nút Xem thêm (Giới thiệu) */
.description-content .btn-more,
.product-info .btn-more {
    width: max-content !important;
    margin: 25px auto 10px !important;
    display: flex !important;
    justify-content: center;
    align-items: center;
    padding: 10px 28px !important;
    color: #000080 !important; /* Màu thương hiệu */
    border: 1.5px solid #000080 !important; /* Viền bao quanh */
    border-radius: 50px !important; /* Bo góc tròn (Pill) */
    background-color: #ffffff !important;
    background-image: none !important; /* Xóa gradient text cũ nếu có */
    -webkit-background-clip: border-box !important;
    font-weight: 600 !important;
    transition: all 0.3s ease !important;
}

.description-content .btn-more:hover,
.product-info .btn-more:hover {
    background-color: #000080 !important;
    color: #ffffff !important;
}

.description-content .btn-more:hover i,
.product-info .btn-more:hover i {
    color: #ffffff !important;
}

/* Các câu hỏi FAQ (Accordion) */
.accordion-button {
    font-weight: 600 !important;
    color: #111827 !important;
}
.accordion-body {
    line-height: 1.7 !important;
}

/* Hero Banner Overlay & Text Colors */
.section-banner {
    position: relative !important;
}
.section-banner::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.2)) !important;
    z-index: 1 !important;
    pointer-events: none !important;
}
.section-banner .inner-banner {
    position: relative !important;
    z-index: 2 !important;
}
.section-banner h1,
.section-banner .banner-content h1 {
    color: #ffffff !important;
    text-shadow: 2px 2px 10px rgba(0, 0, 0, 0.8), 0px 4px 15px rgba(0, 0, 0, 0.4) !important;
}

/* Restore footer colors */
footer {
  color: #ffffff !important;
}
footer .footer-col h4,
footer .footer-col ul li a,
footer .description,
footer .newsletter-section h3,
footer .newsletter-section p {
  color: #ffffff !important;
}
footer .footer-col ul li a:hover {
  color: #e2e8f0 !important;
}

/* Force booking popup header colors to white */
.order-title, .order-title .svc-title {
  color: #ffffff !important;
}
.order-subtitle {
  color: #ffffff !important;
}

/* Force native mobile scrolling for specific carousels to match tabs */
@media (max-width: 767px) {
  #productsCarousel.owl-carousel .owl-stage-outer,
  #relatedProductsCarousel.owl-carousel .owl-stage-outer {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    scroll-snap-type: x mandatory !important;
    scroll-behavior: smooth !important;
    padding-bottom: 5px; 
  }
  #productsCarousel.owl-carousel .owl-stage-outer::-webkit-scrollbar,
  #relatedProductsCarousel.owl-carousel .owl-stage-outer::-webkit-scrollbar {
    display: none;
  }
  #productsCarousel.owl-carousel .owl-stage,
  #relatedProductsCarousel.owl-carousel .owl-stage {
    display: flex !important;
    width: max-content !important;
    transform: none !important;
    transition: none !important;
  }
  #productsCarousel.owl-carousel .owl-item,
  #relatedProductsCarousel.owl-carousel .owl-item {
    scroll-snap-align: start !important;
    flex-shrink: 0 !important;
  }
}

/* Fix Footer Black Text Overrides */
footer .company-info, 
footer .company-info *, 
footer .contact-info, 
footer .contact-info *,
footer .contact-info .item .info .label,
footer .contact-info .item .info .value,
footer .copyright {
  color: #ffffff !important;
}

/* Fix gallery thumbs container height overflow on medium viewports */
.product-detail .gallery-section .gallery-grid .gallery-thumbs {
  height: 100% !important;
}

/* Fix Filter Sidebar overlapping on mobile */
@media (max-width: 767px) {
  .filters-sidebar {
    z-index: 99999 !important;
  }
  .filters-sidebar .mobile-filter-actions {
    padding-bottom: 24px !important;
  }
  body > .mobile-bottom-nav,
  body > .mobile-bottom-bar {
    z-index: 1030 !important; 
  }
}

/* ==========================================================================
   YACHT PAGE REDESIGN
   ========================================================================== */
.vds-custom-page {
  font-family: 'Inter', sans-serif;
  color: #333333;
  line-height: 1.8;
}

/* Premium Intro Banner */
.vds-intro-banner {
  background: linear-gradient(135deg, rgba(11, 69, 108, 0.95), rgba(7, 47, 74, 0.98));
  border-radius: 24px;
  padding: 40px;
  margin-bottom: 45px;
  box-shadow: 0 12px 30px rgba(11, 69, 108, 0.15);
  border: 1px solid rgba(255, 255, 255, 0.1);
  position: relative;
  overflow: hidden;
}

.vds-intro-banner::before {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle, rgba(255,255,255,0.03) 0%, transparent 80%);
  pointer-events: none;
}

.vds-intro-banner p {
  color: #f0f5fa !important;
  margin-bottom: 20px;
  font-size: 15px;
  text-align: justify;
  font-weight: 400;
}

.vds-intro-banner p:last-of-type {
  margin-bottom: 35px;
}

.vds-btn-detail {
  display: inline-block;
  background: #ffffff !important;
  color: #0b456c !important;
  padding: 14px 40px;
  border-radius: 50px;
  text-decoration: none !important;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 13px;
  letter-spacing: 1px;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 4px 15px rgba(255, 255, 255, 0.2);
}

.vds-btn-detail:hover {
  background-color: #f1f1f1 !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(255, 255, 255, 0.3);
}

/* Sleek Scroll Category Menu */
.vds-section-title-wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 2px solid #f1f1f1;
  padding-bottom: 15px;
  margin-bottom: 30px;
}

.vds-main-title {
  text-transform: uppercase;
  font-weight: 800;
  font-size: 22px;
  color: #0b456c;
  margin: 0;
  letter-spacing: 0.5px;
  position: relative;
}

.vds-main-title::after {
  content: '';
  position: absolute;
  bottom: -17px;
  left: 0;
  width: 60px;
  height: 3px;
  background-color: #0b456c;
}

.vds-scroll-menu-container {
  margin-bottom: 40px;
  position: relative;
}

.vds-scroll-menu {
  display: flex;
  overflow-x: auto;
  white-space: nowrap;
  gap: 12px;
  padding: 5px 5px 15px 5px;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none; /* Firefox */
}

.vds-scroll-menu::-webkit-scrollbar {
  display: none; /* Chrome/Safari */
}

.vds-scroll-menu a {
  flex: 0 0 auto;
  display: inline-block;
  padding: 10px 24px;
  border: 1.5px solid #0b456c !important;
  color: #0b456c !important;
  border-radius: 50px;
  text-decoration: none !important;
  font-size: 13px;
  font-weight: 600;
  transition: all 0.3s ease;
  background-color: #ffffff;
  box-shadow: 0 2px 5px rgba(11, 69, 108, 0.05);
}

.vds-scroll-menu a:hover,
.vds-scroll-menu a.active {
  background-color: #0b456c !important;
  color: #ffffff !important;
  box-shadow: 0 4px 12px rgba(11, 69, 108, 0.2);
  transform: translateY(-1px);
}

/* Yacht Grid & Cards */
.vds-grid-yacht {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  margin-bottom: 50px;
}

.vds-item-yacht {
  border: 1px solid #eef2f5;
  border-radius: 16px;
  overflow: hidden;
  background: #ffffff;
  display: flex;
  flex-direction: column;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03);
}

.vds-item-yacht:hover {
  transform: translateY(-6px);
  box-shadow: 0 15px 30px rgba(11, 69, 108, 0.15);
  border-color: rgba(11, 69, 108, 0.1);
}

.vds-img-wrap-yacht {
  position: relative;
  width: 100%;
  height: 220px;
  background-color: #f7f9fa;
  overflow: hidden;
}

.vds-img-wrap-yacht a {
  display: block;
  width: 100%;
  height: 100%;
}

.vds-img-wrap-yacht img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  margin: 0 !important;
  transition: transform 0.6s ease;
}

.vds-item-yacht:hover .vds-img-wrap-yacht img {
  transform: scale(1.05);
}

.vds-img-overlay-yacht {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.85));
  color: #ffffff;
  padding: 30px 20px 12px;
  font-size: 12px;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 6px;
}

.vds-title-wrap-yacht {
  background-color: #f8fafc;
  padding: 16px 20px;
  border-bottom: 1px solid #f1f5f9;
}

.vds-title-yacht {
  font-size: 16px;
  font-weight: 700;
  color: #0f172a;
  margin: 0;
  line-height: 1.4;
}

.vds-content-yacht {
  padding: 20px;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}

.vds-time-yacht {
  font-size: 13px;
  color: #64748b;
  margin-bottom: 18px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.vds-price-row-yacht {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: auto;
  padding-top: 15px;
  border-top: 1px dashed #e2e8f0;
}

.vds-slot-yacht {
  font-size: 12px;
  font-weight: 600;
  color: #10b981;
  background: #ecfdf5;
  padding: 4px 10px;
  border-radius: 6px;
}

.vds-price-yacht {
  font-size: 18px;
  font-weight: 800;
  color: #082f49;
}

/* Section Design */
.vds-section {
  margin-bottom: 50px;
}

.vds-section h2 {
  font-size: 22px;
  font-weight: 800;
  color: #0f172a;
  margin-bottom: 25px;
  border-left: 4px solid #0b456c;
  padding-left: 15px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.vds-section p {
  font-size: 15px;
  color: #475569;
  text-align: justify;
  margin-bottom: 20px;
}

/* Premium Comparison Table */
.table-block-component {
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid #e2e8f0;
  box-shadow: 0 4px 12px rgba(0,0,0,0.02);
  margin: 30px 0;
}

.table-block-component table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}

.table-block-component th {
  background-color: #0b456c;
  color: #ffffff;
  font-weight: 700;
  padding: 16px 20px;
  text-align: left;
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: 0.5px;
}

.table-block-component td {
  padding: 16px 20px;
  border-bottom: 1px solid #e2e8f0;
  color: #475569;
  vertical-align: top;
}

.table-block-component tr:last-child td {
  border-bottom: none;
}

.table-block-component tr:nth-child(even) {
  background-color: #f8fafc;
}

.table-block-component td strong {
  color: #0f172a;
}

/* Responsive breakpoints */
@media (max-width: 1024px) {
  .vds-grid-yacht {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
}

@media (max-width: 768px) {
  .vds-grid-yacht {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .vds-intro-banner {
    padding: 25px;
  }
  .vds-img-wrap-yacht {
    height: 180px;
  }
  .table-block-component {
    overflow-x: auto;
  }
  .table-block-component table {
    min-width: 600px;
  }
}

/* Yacht Grid Layout customization (Standardized) */
.vds-products-grid {
  grid-template-columns: repeat(3, 1fr) !important;
}

@media (max-width: 991px) {
  .vds-products-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 767px) {
  .vds-products-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Force page hero title to be white */
.page-hero h1 {
  color: #ffffff !important;
}

/* Fix gallery layout on landscape mobile or screen sizes between 799px and 1199px */
.product-detail .gallery-section .gallery-grid .gallery-thumbs {
  height: 100% !important;
}



/* --- CLASS COLLAPSE LICH TRINH TOUR GOI GANG (UX FIX) --- */
.tour-details-collapse {
    max-height: none !important;
    overflow-y: visible !important;
    padding: 20px !important;
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    margin-top: 15px !important;
}



/* --- CHONG MEO HINH VA VO ANH TRONG ALBUM (UX FIX) --- */
.product-detail .gallery-section .gallery-grid .gallery-main img,
.product-detail .gallery-section .gallery-grid .gallery-thumbs .thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
}

@media (min-width: 800px) {
  .product-detail .gallery-section .gallery-grid .gallery-thumbs .thumb {
    height: 247px !important;
    overflow: hidden !important;
  }

  .product-detail .gallery-section .gallery-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    height: 500px !important;
    gap: 5px !important;
  }

  .product-detail .gallery-section .gallery-grid .gallery-thumbs {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    grid-template-rows: repeat(2, 1fr) !important;
    gap: 5px !important;
    height: 500px !important;
  }
}

/* ==========================================================================
   KEYWORD SEARCH NOTICE BANNER
   ========================================================================== */
.keyword-search-notice {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  background: linear-gradient(135deg, #eef2ff 0%, #e0e7ff 100%);
  border: 1px solid #c7d2fe;
  border-left: 4px solid #000080;
  border-radius: 10px;
  padding: 12px 18px;
  margin-bottom: 16px;
  font-size: 14px;
  color: #1e2a4a;
  box-shadow: 0 2px 8px rgba(0, 0, 128, 0.08);
  animation: fadeInDown 0.3s ease;
}

.keyword-search-notice i.fa-magnifying-glass {
  color: #000080;
  font-size: 16px;
  flex-shrink: 0;
}

.keyword-search-notice strong {
  color: #000080;
}

.keyword-search-notice .clear-search {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: #fff;
  border: 1px solid #c7d2fe;
  border-radius: 20px;
  padding: 4px 12px;
  font-size: 13px;
  color: #6b7280;
  text-decoration: none;
  transition: all 0.2s ease;
  white-space: nowrap;
}

.keyword-search-notice .clear-search:hover {
  background: #fee2e2;
  border-color: #fca5a5;
  color: #dc2626;
}

@keyframes fadeInDown {
  from { opacity: 0; transform: translateY(-8px); }
  to   { opacity: 1; transform: translateY(0); }
}

@media (max-width: 767px) {
  .keyword-search-notice {
    font-size: 13px;
    padding: 10px 14px;
  }
  .keyword-search-notice .clear-search {
    margin-left: 0;
  }
}

/* --- TĂNG ĐỘ TƯƠNG PHẢN CHỮ (TRẮNG) TRÊN NỀN TỐI --- */
/* Đảm bảo tiêu đề trong tất cả các Modal Header luôn là màu trắng */
.modal-header,
.modal-header .modal-title,
.modal-header h1,
.modal-header h2,
.modal-header h3,
.modal-header h4,
.modal-header h5,
.modal-header h6 {
    color: #ffffff !important;
}

/* Đảm bảo nội dung trong Đặt phòng theo tour đoàn có chữ màu trắng */
.group-booking,
.product-detail .group-booking {
    color: #ffffff !important;
}
.group-booking h2,
.group-booking p,
.product-detail .group-booking h2,
.product-detail .group-booking p {
    color: #ffffff !important;
    opacity: 1 !important;
}



/* Group Booking Fixes */
.group-booking, .group-booking *, .product-detail .group-booking, .product-detail .group-booking * { color: #ffffff !important; }

/* Reviews Section - 3 columns layout and sub-ratings */
.section-reviews .reviews-summary {
    display: flex;
    gap: 30px;
    align-items: center;
    justify-content: space-between;
}

@media (max-width: 991px) {
    .section-reviews .reviews-summary {
        flex-direction: column;
        align-items: stretch;
        gap: 20px;
    }
}

.section-reviews .reviews-summary .summary-score {
    min-width: 140px;
}

.section-reviews .reviews-summary .summary-subratings {
    flex: 1.2;
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 0 0 0 40px; /* Thêm padding trái ngăn cách với cột điểm, không cần padding phải */
    border-left: 1px solid #e2e8f0;
}

@media (max-width: 991px) {
    .section-reviews .reviews-summary .summary-subratings {
        border-left: none;
        border-right: none;
        padding: 20px 0;
        border-top: 1px solid #e2e8f0;
        border-bottom: 1px solid #e2e8f0;
    }
}

.section-reviews .reviews-summary .summary-subratings .subrating-item {
    display: flex;
    align-items: center;
    gap: 12px;
}

.section-reviews .reviews-summary .summary-subratings .subrating-item .subrating-label {
    font-size: 14px;
    font-weight: 500;
    color: #64748b;
    min-width: 130px;
}

.section-reviews .reviews-summary .summary-subratings .subrating-item .subrating-bar-wrapper {
    flex: 1;
    height: 6px;
    background: #e2e8f0;
    border-radius: 3px;
    overflow: hidden;
}

.section-reviews .reviews-summary .summary-subratings .subrating-item .subrating-bar-wrapper .subrating-bar-fill {
    height: 100%;
    background: #000080;
    border-radius: 3px;
}

.section-reviews .reviews-summary .summary-subratings .subrating-item .subrating-score {
    font-size: 14px;
    font-weight: 600;
    color: #000080;
    min-width: 25px;
    text-align: right;
}

/* Animations for Load More */
.review-item.review-fade-in {
    animation: reviewFadeIn 0.4s ease-out forwards;
}

@keyframes reviewFadeIn {
    from {
        opacity: 0;
        transform: translateY(15px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ===================================================
   FIX: Ảnh trong phần Giới thiệu sản phẩm responsive trên mobile
   Root cause: WordPress classic editor tự gán style="width:890px" vào .wp-caption
   => override bằng !important để buộc responsive
   =================================================== */

/* 1. Bắt buộc container .wp-caption (WordPress caption div) về max-width 100% */
.content-more .wp-caption,
.description-content .wp-caption,
.section-description .wp-caption,
.product-info .wp-caption {
    width: auto !important;
    max-width: 100% !important;
    display: block !important;
}

/* 2. Ảnh bên trong .wp-caption: width: auto để max-width có tác dụng */
.content-more .wp-caption img,
.description-content .wp-caption img,
.section-description .wp-caption img,
.product-info .wp-caption img,
.content-more img,
.description-content img,
.section-description img,
.product-info img {
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    display: block !important;
}

/* 3. Caption text cũng không được rộng hơn container */
.content-more .wp-caption-text,
.description-content .wp-caption-text,
.section-description .wp-caption-text,
.product-info .wp-caption-text {
    max-width: 100% !important;
    word-wrap: break-word !important;
}

/* 4. Đảm bảo container không bị tràn */
.section-description,
.description-content,
.content-more,
.content-wrapper {
    overflow-x: hidden !important;
    max-width: 100% !important;
}

/* 5. Fix WordPress block editor figures bị tràn */
.section-description figure,
.description-content figure,
.content-more figure {
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* 6. Fix services-list overflow ngang */
.header-services,
.services-list {
    max-width: 100% !important;
    overflow-x: auto !important;
}

/* ===================================================
   FIX: Ngăn chữ trong Menu Dịch vụ Header bị xuống dòng trên mobile
   =================================================== */
.header-services ul {
    display: flex !important;
    flex-wrap: nowrap !important;
    width: max-content !important;
}

.header-services ul li {
    flex: 0 0 auto !important;
}

.header-services ul li a {
    white-space: nowrap !important;
    display: inline-flex !important;
    align-items: center !important;
    flex-direction: row !important;
}

.header-services ul li a span {
    white-space: nowrap !important;
    display: inline !important;
}

/* ===================================================
   FIX: Vị trí du thuyền/tour/khách sạn - flush trái
   =================================================== */

/* Override compiled SCSS: justify-content:space-between → flush trái */
.product-detail .product-header .product-meta .meta-info,
.product-detail .product-header .product-meta .meta-info .meta-info {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
}

/* Wrapper row: icon + địa chỉ + nút map */
.product-detail .product-header .product-meta .meta-info .meta-item.meta-location-wrap {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: 6px !important;
  max-width: 100% !important;
  overflow: hidden !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
}

/* Text địa chỉ: co dãn nhưng không tràn */
.product-detail .product-header .product-meta .meta-info .meta-item.meta-location-wrap .meta-location-text {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-size: 13px !important;
}

/* Nút Xem bản đồ */
.product-detail .product-header .product-meta .meta-info .meta-item.meta-location-wrap .view-map {
  flex-shrink: 0 !important;
  white-space: nowrap !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #000080 !important;
  text-decoration: underline !important;
  padding: 2px 6px !important;
  border: 1px solid #000080 !important;
  border-radius: 4px !important;
  line-height: 1.4 !important;
}

/* SVG icon pin */
.product-detail .product-header .product-meta .meta-info .meta-item.meta-location-wrap > svg {
  flex-shrink: 0 !important;
  width: 16px !important;
  height: 16px !important;
}

/* Mobile ≤ 480px: cho phép text xuống dòng nếu cần */
@media (max-width: 480px) {
  .meta-item.meta-location-wrap {
    flex-wrap: wrap !important;
    align-items: flex-start !important;
  }
  .meta-item.meta-location-wrap .meta-location-text {
    font-size: 12px;
    white-space: normal;
    word-break: break-word;
  }
}

/* ===================================================
   FIX: Địa chỉ trong card listing (Sena, các du thuyền)
   Ngăn the_terms() bị xuống dòng thành dạng grid lộn xộn
   =================================================== */
.product-location {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  overflow: hidden !important;
  max-width: 100% !important;
}

.product-location span {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
  font-size: 13px !important;
  color: #475569 !important;
  max-width: 100% !important;
}

/* Các thẻ <a> địa điểm trong the_terms() */
.product-location span a {
  white-space: nowrap !important;
  color: inherit !important;
  text-decoration: none !important;
}


/* Dấu phân cách giữa các địa điểm */
.product-location span .term-sep {
  flex-shrink: 0 !important;
}

/* ===================================================
   MOBILE RESPONSIVE & TABLE STYLING FIXES
   =================================================== */

/* Force table header text to be white only when the header cell or its row has a background color styled inline.
   This prevents white text on white backgrounds for plain tables. */
th[style*="background"] span,
th[style*="background-color"] span,
tr[style*="background"] th span,
tr[style*="background-color"] th span,
thead[style*="background"] th span,
thead[style*="background-color"] th span {
  color: #ffffff !important;
}

/* Ensure all images and captions do not overflow on mobile screens */
img {
  max-width: 100% !important;
  height: auto !important;
}

.wp-caption,
.wp-block-image,
.wp-caption-text {
  max-width: 100% !important;
  width: auto !important;
}


/* Ensure YouTube iframes are responsive and maintain aspect ratio on mobile */
iframe[src*="youtube.com"],
iframe[src*="youtube-nocookie.com"],
iframe[src*="youtu.be"] {
  max-width: 100% !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 9 !important;
}

/* Responsive tables for mobile viewports - natural wrapping without breaking words */
@media (max-width: 767px) {
  table {
    display: table !important;
    table-layout: auto !important; /* Allow columns to scale naturally */
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    border-collapse: collapse !important;
  }

  table thead,
  table tbody,
  table tr,
  table th,
  table td {
    height: auto !important;
  }

  table th,
  table td,
  table tr th,
  table tr td {
    font-size: 11px !important;
    padding: 6px 4px !important;
    white-space: normal !important; /* Force wrapping at spaces */
    word-break: normal !important; /* KEEP WORDS WHOLE - absolutely do not break letters */
    overflow-wrap: normal !important; /* Normal wrapping behavior */
    line-height: 1.3 !important;
    min-width: auto !important;
    width: auto !important;
  }

  table th span,
  table td span {
    font-size: 11px !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    display: inline !important;
  }

  /* Containers are allowed to scroll horizontally naturally ONLY if content exceeds width */
  .table-content,
  .table-block,
  .horizontal-scroll-wrapper,
  .table-responsive {
    max-width: 100% !important;
    overflow-x: auto !important; /* Natural browser horizontal scroll if table is too wide */
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
  }
}






/* ==========================================================================
   VDS TRAVEL - WEBRTC CLICK-TO-CALL WIDGET
   ========================================================================== */
#vds-webrtc-widget {
    position: fixed;
    bottom: 90px;
    right: 25px;
    z-index: 9999;
    font-family: 'Inter', sans-serif;
}

/* Floating Trigger Button */
#vds-webrtc-trigger {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background-color: #000080;
    color: #ffffff;
    border: none;
    outline: none;
    cursor: pointer;
    box-shadow: 0 4px 15px rgba(0, 0, 128, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

#vds-webrtc-trigger i {
    font-size: 22px;
    z-index: 3;
}

#vds-webrtc-trigger:hover {
    transform: scale(1.08);
    box-shadow: 0 6px 20px rgba(0, 0, 128, 0.5);
}

/* Pulsing Wave Effect */
.vds-pulse-wave {
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 128, 0.4);
    border-radius: 50%;
    z-index: 1;
    animation: vdsPulse 1.8s infinite;
}

@keyframes vdsPulse {
    0% {
        transform: scale(1);
        opacity: 1;
    }
    100% {
        transform: scale(1.6);
        opacity: 0;
    }
}

/* Glassmorphism Popup */
#vds-webrtc-popup {
    position: absolute;
    bottom: 75px;
    right: 0;
    width: 320px;
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(15px) saturate(180%);
    -webkit-backdrop-filter: blur(15px) saturate(180%);
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 18px;
    box-shadow: 0 10px 35px rgba(0, 0, 0, 0.15);
    overflow: hidden;
    transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
    transform-origin: bottom right;
}

#vds-webrtc-widget.vds-webrtc-closed #vds-webrtc-popup {
    transform: scale(0);
    opacity: 0;
    pointer-events: none;
}

#vds-webrtc-widget.vds-webrtc-open #vds-webrtc-popup {
    transform: scale(1);
    opacity: 1;
    pointer-events: auto;
}

/* Header */
.vds-webrtc-header {
    background: #000080;
    color: #ffffff;
    padding: 15px 20px;
    display: flex;
    align-items: center;
    gap: 10px;
    position: relative;
}

.vds-webrtc-logo {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    object-fit: cover;
    border: 1.5px solid rgba(255, 255, 255, 0.5);
    background: #ffffff;
}

.vds-webrtc-header h4 {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
    color: #ffffff !important;
}

#vds-webrtc-close {
    background: transparent;
    border: none;
    color: rgba(255, 255, 255, 0.7);
    font-size: 24px;
    cursor: pointer;
    margin-left: auto;
    outline: none;
    transition: color 0.2s;
    line-height: 1;
}

#vds-webrtc-close:hover {
    color: #ffffff;
}

/* Body */
.vds-webrtc-body {
    padding: 30px 20px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    background: linear-gradient(to bottom, rgba(255,255,255,0.4), rgba(245,247,250,0.5));
}

.vds-agent-avatar {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background-color: #f1f5f9;
    color: #000080;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 38px;
    margin-bottom: 18px;
    box-shadow: inset 0 2px 5px rgba(0,0,0,0.05), 0 4px 10px rgba(0,0,0,0.03);
    border: 1px solid rgba(0, 0, 128, 0.05);
}

#vds-call-status {
    font-size: 15px;
    font-weight: 600;
    color: #334155;
    margin-bottom: 6px;
}

#vds-call-timer {
    font-size: 20px;
    font-weight: 700;
    color: #0f172a;
    letter-spacing: 0.5px;
    margin-top: 5px;
}

/* Dynamic Audio Waveform */
#vds-audio-wave {
    display: flex;
    align-items: flex-end;
    gap: 3px;
    height: 25px;
    margin-top: 15px;
}

#vds-audio-wave span {
    width: 3px;
    background-color: #10b981;
    border-radius: 3px;
    transition: height 0.1s;
}

#vds-audio-wave.vds-wave-inactive span {
    height: 3px !important;
    background-color: #cbd5e1;
}

#vds-audio-wave.vds-wave-active span:nth-child(1) { height: 15px; animation: vdsWave 0.6s infinite alternate; }
#vds-audio-wave.vds-wave-active span:nth-child(2) { height: 25px; animation: vdsWave 0.8s infinite alternate 0.1s; }
#vds-audio-wave.vds-wave-active span:nth-child(3) { height: 10px; animation: vdsWave 0.5s infinite alternate 0.2s; }
#vds-audio-wave.vds-wave-active span:nth-child(4) { height: 20px; animation: vdsWave 0.7s infinite alternate 0.15s; }
#vds-audio-wave.vds-wave-active span:nth-child(5) { height: 12px; animation: vdsWave 0.9s infinite alternate 0.05s; }

@keyframes vdsWave {
    0% { transform: scaleY(0.3); }
    100% { transform: scaleY(1); }
}

/* Footer / Actions */
.vds-webrtc-footer {
    padding: 15px 20px 25px;
    text-align: center;
    background-color: #ffffff;
}

.vds-btn-start-call, .vds-btn-hangup {
    width: 100%;
    padding: 12px 20px;
    border-radius: 50px;
    border: none;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

/* Fix mobile stretch/aspect-ratio issue for listing cards */
.product-card .product-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

/* Fix mobile overflow/horizontal scroll issue by allowing listing cards and their info blocks to shrink */
@media (max-width: 799px) {
    .products-grid.list-view .product-card {
        min-width: 0 !important;
    }
    .products-grid.list-view .product-card .product-info {
        min-width: 0 !important;
    }
}

/* Fix mobile stretch/aspect-ratio issue for listing cards */
.product-card .product-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

/* Fix rage clicks: make sure product badges (e.g. "Xác nhận ngay") do not block clicks to the image link underneath */
.product-card .product-image .product-badge,
.product-image .product-badge,
.product-badge {
    pointer-events: none !important;
}

/* ====================================================
   GROUP BOOKING SECTION FIX
   Fix 1: Overlay màu trong suốt/tối thay vì xanh navy
   Fix 2: Nút Liên hệ ngay không bị mất chữ
   ==================================================== */

/* Ghi đè lại background để bỏ overlay xanh, thay bằng overlay tối neutral */
.product-detail .group-booking {
    background: linear-gradient(rgba(0, 0, 0, 0.45), rgba(0, 0, 0, 0.45)),
                url('https://vdstravel.vn/wp-content/themes/vdstravel/images/group_booking_banner.webp') no-repeat center center !important;
    background-size: cover !important;
    background-position: center 30% !important;
}

/* Đảm bảo h2, p trong group-booking có màu trắng */
.product-detail .group-booking h2,
.product-detail .group-booking p {
    color: #ffffff !important;
    opacity: 1 !important;
}

/* Fix nút Liên hệ ngay: nền trắng, chữ navy - KHÔNG bị ghi đè bởi rule color:white */
.product-detail .group-booking .btn.btn-primary,
.product-detail .group-booking a.btn-primary,
.product-detail .group-booking .btn-primary {
    background-color: #ffffff !important;
    color: #000080 !important;
    border-color: #ffffff !important;
}

.product-detail .group-booking .btn.btn-primary:hover,
.product-detail .group-booking a.btn-primary:hover,
.product-detail .group-booking .btn-primary:hover {
    background-color: #f0f0f0 !important;
    color: #000080 !important;
}

/* Đảm bảo icon trong nút cũng màu navy */
.product-detail .group-booking .btn-primary i,
.product-detail .group-booking .btn.btn-primary i {
    color: #000080 !important;
}

/* ====================================================
   UNIT PRICE DISPLAY IN ORDER MODAL (.ticket-qty)
   Matches font-size and font-weight of quantity (1, 0)
   Placed on the left of minus (-) button
   ==================================================== */
.ticket-row .ticket-qty {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.ticket-row .ticket-qty .unit-price-display {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #000080 !important;
    white-space: nowrap !important;
    margin-right: 6px !important;
    line-height: 1 !important;
}

.ticket-row .ticket-qty .qty {
    font-size: 15px !important;
    font-weight: 700 !important;
    min-width: 20px !important;
    text-align: center !important;
}

/* High Contrast Sharp Text Styling for Booking Modal */
.order-modal,
.order-modal .modal-content,
.order-modal .panel,
.order-modal .ticket-row,
.order-modal .order-summary {
  color: #0f172a !important;
}

.order-modal .panel-title {
  color: #000080 !important;
  font-weight: 700 !important;
  font-size: 1.1rem !important;
}

.order-modal label,
.order-modal .ticket-name,
.order-modal .form-label,
.order-modal .form-check-label {
  color: #0f172a !important;
  font-weight: 600 !important;
}

.order-modal .ticket-desc,
.order-modal .text-muted,
.order-modal small {
  color: #334155 !important;
  font-weight: 500 !important;
}

.order-modal .summary-row {
  color: #0f172a !important;
  font-weight: 600 !important;
  font-size: 0.95rem !important;
  line-height: 1.5 !important;
}

.order-modal .summary-row span {
  color: #1e293b !important;
}

.order-modal .summary-row strong {
  color: #000080 !important;
  font-weight: 700 !important;
}

.order-modal .summary-total span {
  color: #0f172a !important;
  font-weight: 700 !important;
  font-size: 1.1rem !important;
}

.order-modal .summary-total strong {
  color: #000080 !important;
  font-size: 1.3rem !important;
  font-weight: 800 !important;
}

.order-modal .unit-price-display {
  color: #000080 !important;
  font-weight: 700 !important;
}

.order-modal input,
.order-modal select {
  color: #0f172a !important;
  font-weight: 600 !important;
  border-color: #94a3b8 !important;
}

.order-modal input::placeholder {
  color: #64748b !important;
}

/* Option Benefits List Green Checkmark Icon Styling */
.option-desc {
  color: #1e293b !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  margin-top: 6px !important;
}

.option-desc ul,
.option-benefits-list {
  list-style: none !important;
  padding-left: 0 !important;
  margin-bottom: 0 !important;
}

.option-desc ul li,
.option-desc li,
.option-benefits-list li {
  position: relative !important;
  padding-left: 0 !important;
  margin-bottom: 5px !important;
  list-style: none !important;
  color: #1e293b !important;
  font-size: 14px !important;
}

.option-desc ul li::before,
.option-desc li::before,
.option-benefits-list li::before {
  content: none !important;
  display: none !important;
}

.option-desc ul li i,
.option-desc li i,
.option-benefits-list li i {
  color: #10b981 !important;
  margin-right: 6px !important;
}


/* === GUEST PICKER & DATE INPUT POPUP FIX FOR SINGLE PRODUCT PAGES === */
.rooms-availability .group-check,
.availability-form .group-check {
    position: relative !important;
}

.rooms-availability .guest-picker-trigger,
.availability-form .guest-picker-trigger,
#guestPickerTriggerRooms {
    cursor: pointer !important;
    position: relative !important;
    user-select: none !important;
}

.rooms-availability .guest-picker-popup,
.availability-form .guest-picker-popup,
#guestPickerPopupRooms {
    position: absolute !important;
    top: calc(100% + 8px) !important;
    left: 0 !important;
    right: 0 !important;
    min-width: 320px !important;
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    box-shadow: 0 10px 40px rgba(0,0,0,0.18) !important;
    padding: 20px !important;
    z-index: 1050 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(-10px) !important;
    transition: all 0.25s ease-in-out !important;
    pointer-events: none !important;
}

.rooms-availability .guest-picker-popup.active,
.availability-form .guest-picker-popup.active,
#guestPickerPopupRooms.active,
.guest-picker-popup.active {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
    pointer-events: auto !important;
}

.rooms-availability .date-input-group,
.availability-form .date-input-group {
    cursor: pointer !important;
    position: relative !important;
}

.rooms-availability .date-input-group input,
.availability-form .date-input-group input {
    cursor: pointer !important;
}

/* FORCE GLASSMORPHISM OVERRIDE BOOTSTRAP */
body .luxury-homepage .luxury-search-box {
    background: rgba(11, 25, 44, 0.4) !important;
    backdrop-filter: blur(15px) !important;
    -webkit-backdrop-filter: blur(15px) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 12px !important;
    padding: 20px 30px !important;
    max-width: 1000px !important;
    margin: 0 auto !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.15) !important;
}
body .luxury-homepage .luxury-search-box .nav-tabs { 
    border-bottom: none !important; 
    margin-bottom: 20px !important; 
    display: flex !important;
    justify-content: center !important;
}
body .luxury-homepage .luxury-search-box .nav-tabs .nav-link { 
    color: #fff !important; 
    border: none !important; 
    background: transparent !important; 
    font-weight: bold !important; 
    font-size: 1.1rem !important; 
    text-transform: uppercase !important; 
    padding: 10px 20px !important;
}
body .luxury-homepage .luxury-search-box .nav-tabs .nav-link.active {
    color: #d4af37 !important; 
    border-bottom: 2px solid #d4af37 !important; 
    background: transparent !important;
    border-radius: 0 !important;
}
body .luxury-homepage .luxury-search-form { display: flex !important; gap: 15px !important; align-items: flex-end !important; }
body .luxury-homepage .luxury-search-form .field { flex: 1 !important; text-align: left !important; }
body .luxury-homepage .luxury-search-form label { color: #fff !important; font-size: 0.9rem !important; margin-bottom: 8px !important; display:block !important; font-weight: normal !important;}
body .luxury-homepage .luxury-search-form .form-control { background: #fff !important; border: none !important; padding: 12px !important; border-radius: 4px !important; color:#333 !important; height: 50px !important; }
body .luxury-homepage .btn-search-gold { background: #d4af37 !important; color: #fff !important; border: none !important; padding: 0 30px !important; height: 50px !important; border-radius: 4px !important; font-weight: bold !important; cursor: pointer !important; transition: 0.3s !important; display: flex !important; align-items: center !important; justify-content: center !important;}
body .luxury-homepage .btn-search-gold:hover { background: #c19b2f !important; }

body .luxury-homepage .top-rated-cruises { background: #0b192c !important; padding: 60px 0 !important; }
body .luxury-homepage .gold-heading { color: #d4af37 !important; font-family: 'Playfair Display', serif !important; font-size: 2.5rem !important; }
body .luxury-homepage .luxury-card { background: #fff !important; border-radius: 8px !important; overflow: hidden !important; padding-bottom:15px !important; }
body .luxury-homepage .luxury-card .product-image { position: relative !important; }
body .luxury-homepage .gold-badge { position: absolute !important; top: 15px !important; left: 15px !important; background: #d4af37 !important; color: #fff !important; padding: 5px 10px !important; font-size: 0.8rem !important; font-weight: bold !important; border-radius: 4px !important; z-index:2 !important; }
body .luxury-homepage .luxury-card img { width: 100% !important; height: 200px !important; object-fit: cover !important; }
body .luxury-homepage .luxury-card .product-info { padding: 15px !important; text-align: left !important; }
body .luxury-homepage .luxury-card .stars { color: #d4af37 !important; font-size: 14px !important; margin-bottom: 10px !important; }
body .luxury-homepage .luxury-card .product-title a { color: #0b192c !important; font-weight: bold !important; font-size: 1.1rem !important; text-decoration: none !important; }
body .luxury-homepage .luxury-btn-outline { display:block !important; padding:10px !important; border: 2px solid #d4af37 !important; color: #0b192c !important; font-weight:600 !important; text-transform:uppercase !important; border-radius:4px !important; text-decoration:none !important; text-align: center !important; margin-top: 15px !important; transition: 0.3s !important;}
body .luxury-homepage .luxury-btn-outline:hover { background: #d4af37 !important; color: #fff !important; }

/* FIX HEADER COLOR IF POSSIBLE */
header#header { background-color: #0b192c !important; }
header#header .nav-link, header#header .nav-link span { color: #ffffff !important; }

body .luxury-homepage .luxury-hero {
    position: relative !important;
    background-size: cover !important;
    background-position: center center !important;
    padding: 150px 0 200px 0 !important;
    text-align: center !important;
    background-attachment: fixed !important;
}
body .luxury-homepage .luxury-hero::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important;
    background: rgba(11, 25, 44, 0.4) !important;
    z-index: 1 !important;
}
body .luxury-homepage .luxury-hero .inner-banner {
    position: relative !important;
    z-index: 2 !important;
}

/* HOME PAGE TRANSPARENT HEADER */
.luxury-header-transparent {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 999;
    background: transparent !important;
}
.luxury-header-transparent .main-menu ul li a {
    color: #fff !important;
    font-weight: 500;
}
.luxury-header-transparent .main-menu ul li a:hover,
.luxury-header-transparent .main-menu ul li.current-menu-item > a {
    border-bottom: 2px solid #d4af37;
}

/* SEARCH TABS ACTIVE STATE */
.luxury-tab-link.active {
    border-bottom: 2px solid #d4af37 !important;
    color: #d4af37 !important;
}

/* FAQ ACTIVE ACCORDION */
.luxury-faq .accordion-item.active,
.luxury-faq .accordion-button:not(.collapsed) {
    border: 2px solid #d4af37 !important;
    background-color: transparent !important;
}
.luxury-faq .accordion-button:not(.collapsed)::after {
    filter: invert(72%) sepia(51%) saturate(543%) hue-rotate(5deg) brightness(97%) contrast(87%);
}

/* BACKGROUND OVERLAP EFFECT */
body .luxury-homepage .top-rated-cruises { 
    background: linear-gradient(to bottom, #0b192c 0%, #0b192c 55%, #f8f9fa 55%, #f8f9fa 100%) !important; 
    padding: 60px 0 0 0 !important; 
}
body .luxury-homepage .why-choose-us { background-color: #f8f9fa !important; padding-top: 20px !important; }

/* 5 COLUMN GRID */
@media (min-width: 992px) {
    body .luxury-homepage .col-lg-20 {
        width: 20% !important;
        flex: 0 0 20% !important;
        max-width: 20% !important;
    }
}

/* CARD FIXES */
body .luxury-homepage .luxury-card { 
    border-radius: 12px !important; 
    box-shadow: 0 8px 24px rgba(0,0,0,0.08) !important; 
}
body .luxury-homepage .luxury-card img { 
    border-radius: 12px 12px 0 0 !important; 
}
body .luxury-homepage .gold-badge { 
    padding: 4px 12px !important; 
    border-radius: 20px !important;
    font-size: 0.75rem !important; 
    top: 12px !important; 
    left: 12px !important; 
    letter-spacing: 1px !important; 
}
body .luxury-homepage .luxury-btn-outline { 
    max-width: max-content !important; 
    margin: 15px auto 0 auto !important; 
    border-radius: 8px !important; 
    padding: 8px 24px !important;
    font-size: 0.9rem !important;
}

/* OTA LUXURY UI OVERRIDES */
body .luxury-homepage .top-rated-cruises { 
    background: linear-gradient(to bottom, #0A1426 0%, #0A1426 55%, #f8f9fa 55%, #f8f9fa 100%) !important; 
}
body .luxury-homepage .gold-heading { 
    color: #D4AF37 !important; 
}
body .luxury-homepage .luxury-card .product-title a { 
    color: #0A1426 !important; 
}
body .luxury-homepage .luxury-btn-outline { 
    width: 100% !important;
    max-width: 100% !important; 
    border-radius: 4px !important; 
}
body .luxury-homepage .gold-badge { 
    color: #333333 !important;
}
.luxury-header-transparent .main-menu ul {
    gap: 24px;
}

/* STRICT UI UPDATE */
.luxury-header-transparent .main-menu .current-menu-item > a {
    border-bottom: 2px solid #D4AF37 !important;
}
.luxury-search-box-wrapper .nav-tabs .nav-link.active {
    border-bottom: 2px solid #D4AF37 !important;
    color: #D4AF37 !important;
}

/* ==========================================================
   HALONG BAY LUXURY HOMEPAGE — 2026
   Scoped to the home template so product/archive pages keep
   their existing visual language.
   ========================================================== */
:root {
    --luxury-navy: #081a2f;
    --luxury-navy-soft: #102a46;
    --luxury-gold: #d8b54a;
    --luxury-gold-dark: #b89126;
    --luxury-ink: #102033;
    --luxury-cream: #f6f3ec;
    --luxury-white: #ffffff;
    --luxury-shadow: 0 18px 45px rgba(5, 21, 38, .16);
}

body.home,
body.page-template-home {
    color: var(--luxury-ink);
    background: var(--luxury-white);
}

body.home .luxury-homepage,
body.page-template-home .luxury-homepage,
body.home .luxury-homepage p,
body.page-template-home .luxury-homepage p,
body.home .luxury-homepage a,
body.page-template-home .luxury-homepage a,
body.home .luxury-homepage button,
body.page-template-home .luxury-homepage button,
body.home .luxury-homepage input,
body.page-template-home .luxury-homepage input,
body.home .luxury-homepage select,
body.page-template-home .luxury-homepage select {
    font-family: 'Inter', sans-serif;
}

body.home .luxury-homepage h1,
body.home .luxury-homepage h2,
body.home .luxury-homepage h3,
body.page-template-home .luxury-homepage h1,
body.page-template-home .luxury-homepage h2,
body.page-template-home .luxury-homepage h3 {
    font-family: 'Playfair Display', Georgia, serif !important;
}

body.home .luxury-header-transparent,
body.page-template-home .luxury-header-transparent {
    position: absolute;
    inset: 0 0 auto;
    z-index: 1000;
    min-height: 82px;
    color: #fff;
    background: rgba(5, 24, 43, .91) !important;
    border-bottom: 1px solid rgba(216, 181, 74, .25);
    box-shadow: none;
}

body.home .luxury-header-transparent .container-fluid,
body.page-template-home .luxury-header-transparent .container-fluid {
    max-width: 1500px;
    margin-inline: auto;
    padding: 15px 4% !important;
}

body.home .luxury-header-transparent .main-menu ul,
body.page-template-home .luxury-header-transparent .main-menu ul {
    display: flex;
    align-items: center;
    gap: 28px;
    margin: 0;
    padding: 0;
    list-style: none;
}

body.home .luxury-header-transparent .main-menu a,
body.page-template-home .luxury-header-transparent .main-menu a {
    display: block;
    padding: 12px 0 9px;
    color: rgba(255, 255, 255, .9) !important;
    border-bottom: 2px solid transparent;
    font-size: 14px;
    text-decoration: none;
    transition: color .2s ease, border-color .2s ease;
}

body.home .luxury-header-transparent .main-menu a:hover,
body.home .luxury-header-transparent .main-menu .current-menu-item > a,
body.page-template-home .luxury-header-transparent .main-menu a:hover,
body.page-template-home .luxury-header-transparent .main-menu .current-menu-item > a {
    color: var(--luxury-gold) !important;
    border-color: var(--luxury-gold) !important;
}

body.home .luxury-header-transparent .btn-request-quote,
body.page-template-home .luxury-header-transparent .btn-request-quote {
    padding: 11px 19px !important;
    color: #142033 !important;
    background: var(--luxury-gold) !important;
    border-radius: 6px !important;
    box-shadow: 0 6px 18px rgba(216, 181, 74, .22);
    font-size: 13px;
    transition: background .2s ease, transform .2s ease;
}

body.home .luxury-header-transparent .btn-request-quote:hover,
body.page-template-home .luxury-header-transparent .btn-request-quote:hover {
    background: #eccb63 !important;
    transform: translateY(-1px);
}

body.home .luxury-hero,
body.page-template-home .luxury-hero {
    position: relative !important;
    display: flex;
    min-height: 720px !important;
    padding: 180px 24px 235px !important;
    align-items: center;
    justify-content: center;
    isolation: isolate;
    overflow: visible;
    text-align: center;
    background-image: var(--home-hero-image) !important;
    background-position: center 58% !important;
    background-size: cover !important;
    background-attachment: scroll !important;
}

body.home .luxury-hero::before,
body.page-template-home .luxury-hero::before {
    display: none !important;
}

.luxury-hero__shade {
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(180deg, rgba(4, 19, 35, .75) 0%, rgba(4, 19, 35, .50) 45%, rgba(4, 19, 35, .90) 100%);
}

.luxury-hero__content {
    max-width: 840px;
    margin-top: -30px;
    color: #fff;
}

.luxury-eyebrow,
.luxury-section-heading > p,
.luxury-benefits__title > p {
    margin: 0 0 10px;
    color: var(--luxury-gold) !important;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
}

body.home .luxury-hero h1,
body.page-template-home .luxury-hero h1 {
    margin: 0;
    color: #fff !important;
    font-size: clamp(42px, 5.4vw, 74px);
    font-weight: 600 !important;
    letter-spacing: -.02em !important;
    line-height: 1.04 !important;
    text-shadow: 0 4px 25px rgba(0, 0, 0, .35) !important;
}

body.home .luxury-hero .luxury-hero__lead,
body.page-template-home .luxury-hero .luxury-hero__lead {
    max-width: 680px;
    margin: 22px auto 0 !important;
    color: rgba(255, 255, 255, .92) !important;
    font-size: 17px !important;
    font-weight: 400 !important;
    line-height: 1.65 !important;
    text-shadow: 0 2px 14px rgba(0, 0, 0, .5) !important;
}

body.home .luxury-search-box-wrapper,
body.page-template-home .luxury-search-box-wrapper {
    position: absolute;
    z-index: 5;
    right: 24px;
    bottom: -56px;
    left: 24px;
    width: min(1060px, calc(100% - 48px));
    margin: auto;
    padding: 0 26px 26px;
    border: 1px solid rgba(216, 181, 74, .85);
    border-radius: 12px;
    background: rgba(8, 26, 47, .82);
    box-shadow: 0 20px 50px rgba(3, 15, 29, .32);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

body.home .luxury-search-box-wrapper .nav-tabs,
body.page-template-home .luxury-search-box-wrapper .nav-tabs {
    display: flex !important;
    justify-content: center;
    gap: 46px;
    margin: 0 0 14px !important;
    border: 0 !important;
}

body.home .luxury-search-box-wrapper .nav-tabs .nav-link,
body.page-template-home .luxury-search-box-wrapper .nav-tabs .nav-link {
    min-width: 120px;
    padding: 16px 12px 12px;
    color: rgba(255, 255, 255, .72) !important;
    border: 0 !important;
    border-bottom: 2px solid transparent !important;
    background: transparent !important;
    border-radius: 0 !important;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

body.home .luxury-search-box-wrapper .nav-tabs .nav-link.active,
body.page-template-home .luxury-search-box-wrapper .nav-tabs .nav-link.active {
    color: var(--luxury-gold) !important;
    border-bottom-color: var(--luxury-gold) !important;
}

body.home .luxury-search-form,
body.page-template-home .luxury-search-form {
    display: grid !important;
    grid-template-columns: 1.2fr 1.05fr 1.05fr auto;
    gap: 12px !important;
    align-items: end !important;
}

body.home .luxury-search-form label,
body.page-template-home .luxury-search-form label {
    display: block;
    min-width: 0;
    margin: 0;
    text-align: left;
}

body.home .luxury-search-form label > span,
body.page-template-home .luxury-search-form label > span {
    display: block;
    margin-bottom: 7px;
    color: rgba(255, 255, 255, .88);
    font-size: 12px;
    font-weight: 500;
}

body.home .luxury-search-form select,
body.home .luxury-search-form input,
body.page-template-home .luxury-search-form select,
body.page-template-home .luxury-search-form input {
    width: 100%;
    height: 48px !important;
    padding: 0 14px !important;
    color: #243243 !important;
    border: 1px solid transparent !important;
    border-radius: 6px !important;
    outline: none;
    background: #fff !important;
    font-size: 13px;
    font-weight: 500;
}

body.home .luxury-search-form select:focus,
body.home .luxury-search-form input:focus,
body.page-template-home .luxury-search-form select:focus,
body.page-template-home .luxury-search-form input:focus {
    border-color: var(--luxury-gold) !important;
    box-shadow: 0 0 0 3px rgba(216, 181, 74, .18);
}

body.home .luxury-search-form button,
body.page-template-home .luxury-search-form button {
    min-width: 170px;
    height: 48px;
    padding: 0 20px;
    color: #142033;
    border: 0;
    border-radius: 6px;
    background: var(--luxury-gold);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .035em;
    text-transform: uppercase;
    transition: background .2s ease, transform .2s ease;
}

body.home .luxury-search-form button:hover,
body.page-template-home .luxury-search-form button:hover {
    background: #efcf69;
    transform: translateY(-1px);
}

body.home .top-rated-cruises,
body.page-template-home .top-rated-cruises {
    padding: 125px 0 74px !important;
    background: linear-gradient(180deg, var(--luxury-navy) 0, var(--luxury-navy) 67%, #f7f7f5 67%, #f7f7f5 100%) !important;
}

.luxury-section-heading {
    margin-bottom: 36px;
    text-align: center;
}

.luxury-section-heading h2,
.luxury-benefits__title h2 {
    margin: 0;
    color: var(--luxury-ink);
    font-size: clamp(34px, 4vw, 48px);
    font-weight: 600;
    line-height: 1.16;
}

.luxury-section-heading--dark h2 {
    color: #fff !important;
}

.luxury-cruise-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 18px;
}

body.home .luxury-card,
body.page-template-home .luxury-card {
    display: flex;
    min-width: 0;
    flex-direction: column;
    overflow: hidden;
    border: 0 !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: var(--luxury-shadow) !important;
    transition: transform .25s ease, box-shadow .25s ease !important;
}

body.home .luxury-card:hover,
body.page-template-home .luxury-card:hover {
    transform: translateY(-7px) !important;
    box-shadow: 0 24px 54px rgba(5, 21, 38, .24) !important;
}

.luxury-card__image {
    position: relative;
    display: block;
    aspect-ratio: 1.25 / 1;
    overflow: hidden;
    background: #dfe8ec;
}

body.home .luxury-card__image img,
body.page-template-home .luxury-card__image img {
    width: 100% !important;
    height: 100% !important;
    border-radius: 0 !important;
    object-fit: cover !important;
    transition: transform .5s ease;
}

.luxury-card:hover .luxury-card__image img {
    transform: scale(1.04);
}

body.home .luxury-card .gold-badge,
body.page-template-home .luxury-card .gold-badge {
    position: absolute;
    z-index: 2;
    top: 12px !important;
    left: 12px !important;
    padding: 5px 9px !important;
    color: #17202c !important;
    border-radius: 4px !important;
    background: var(--luxury-gold) !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: .05em !important;
    text-transform: uppercase;
}

.luxury-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 15px 14px 16px;
}

.luxury-card__stars {
    margin-bottom: 7px;
    color: var(--luxury-gold);
    font-size: 13px;
    letter-spacing: 2px;
}

.luxury-card__body h3 {
    margin: 0 0 6px;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.18;
}

.luxury-card__body h3 a {
    color: var(--luxury-ink) !important;
    text-decoration: none;
}

.luxury-card__meta {
    min-height: 36px;
    margin: 0 0 12px !important;
    color: #697586 !important;
    font-size: 11px;
    line-height: 1.55;
}

.luxury-card__price {
    margin: auto 0 13px !important;
    color: var(--luxury-ink) !important;
    font-size: 19px;
    font-weight: 700;
}

.luxury-card__price span {
    color: #6f7985;
    font-size: 11px;
    font-weight: 500;
}

body.home .luxury-card__button,
body.page-template-home .luxury-card__button {
    display: block;
    width: 100%;
    padding: 9px 8px;
    color: var(--luxury-ink) !important;
    border: 1px solid var(--luxury-gold);
    border-radius: 999px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .04em;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    transition: color .2s ease, background .2s ease;
}

body.home .luxury-card__button:hover,
body.page-template-home .luxury-card__button:hover {
    color: #fff !important;
    background: var(--luxury-navy);
}

.luxury-empty-state {
    grid-column: 1 / -1;
    padding: 32px;
    color: #fff !important;
    text-align: center;
}

.luxury-view-all {
    margin-top: 31px;
    text-align: center;
}

.luxury-view-all a,
.luxury-text-link {
    color: var(--luxury-gold-dark) !important;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    text-transform: uppercase;
}

.luxury-view-all i,
.luxury-text-link i {
    margin-left: 7px;
    transition: transform .2s ease;
}

.luxury-view-all a:hover i,
.luxury-text-link:hover i {
    transform: translateX(4px);
}

.luxury-benefits {
    padding: 60px 0;
    background: #f7f7f5;
}

.luxury-benefits__inner {
    display: grid;
    grid-template-columns: .72fr 2fr;
    gap: 55px;
    align-items: center;
}

.luxury-benefits__title h2 {
    font-size: 36px;
}

.luxury-benefits__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.luxury-benefit {
    display: flex;
    gap: 13px;
    align-items: center;
}

.luxury-benefit > span {
    display: grid;
    width: 46px;
    height: 46px;
    flex: 0 0 46px;
    place-items: center;
    color: #fff;
    border-radius: 50%;
    background: var(--luxury-gold);
}

.luxury-benefit strong,
.luxury-benefit small {
    display: block;
}

.luxury-benefit strong {
    color: var(--luxury-ink);
    font-size: 12px;
    letter-spacing: .025em;
    text-transform: uppercase;
}

.luxury-benefit small {
    margin-top: 3px;
    color: #78828e;
    font-size: 11px;
}

.luxury-story {
    display: grid;
    min-height: 590px;
    grid-template-columns: 1fr 1fr;
    background: var(--luxury-navy);
}

.luxury-story__image {
    min-height: 500px;
    overflow: hidden;
}

.luxury-story__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.luxury-story__content {
    display: flex;
    max-width: 720px;
    padding: clamp(55px, 7vw, 95px);
    flex-direction: column;
    justify-content: center;
    color: #fff;
}

.luxury-story__content h2 {
    max-width: 580px;
    margin: 0;
    color: #fff !important;
    font-size: clamp(38px, 4.5vw, 60px);
    font-weight: 600;
    line-height: 1.08;
}

.luxury-gold-line {
    width: 56px;
    height: 2px;
    margin: 25px 0;
    background: var(--luxury-gold);
}

.luxury-story__content > p:not(.luxury-eyebrow) {
    margin: 0 0 18px;
    color: rgba(255, 255, 255, .78) !important;
    font-size: 15px;
    line-height: 1.82;
}

.luxury-story__content .luxury-text-link {
    margin-top: 8px;
    color: var(--luxury-gold) !important;
}

.luxury-faq {
    padding: 90px 0 100px;
    background: #fff;
}

.luxury-faq__inner {
    max-width: 950px;
}

.luxury-faq__list {
    display: grid;
    gap: 10px;
}

.luxury-faq__list details {
    overflow: hidden;
    border: 1px solid #b9c1c8;
    border-radius: 6px;
    background: #fff;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.luxury-faq__list details[open] {
    border-color: var(--luxury-gold);
    box-shadow: 0 8px 24px rgba(8, 26, 47, .07);
}

.luxury-faq__list summary {
    position: relative;
    padding: 18px 58px 18px 20px;
    color: var(--luxury-ink);
    cursor: pointer;
    list-style: none;
    font-size: 15px;
    font-weight: 700;
}

.luxury-faq__list summary::-webkit-details-marker {
    display: none;
}

.luxury-faq__list summary::after {
    content: '+';
    position: absolute;
    top: 50%;
    right: 21px;
    color: var(--luxury-ink);
    font-size: 24px;
    font-weight: 300;
    transform: translateY(-50%);
}

.luxury-faq__list details[open] summary::after {
    content: '−';
    color: var(--luxury-gold-dark);
}

.luxury-faq__list details p {
    margin: -2px 58px 20px 20px !important;
    color: #5c6875 !important;
    font-size: 14px;
    line-height: 1.72;
}

.luxury-cta {
    padding: 50px 0;
    background: var(--luxury-cream);
    border-top: 1px solid #ebe5d9;
}

.luxury-cta__inner {
    display: flex;
    gap: 30px;
    align-items: center;
    justify-content: space-between;
}

.luxury-cta__inner p {
    margin: 0 0 5px !important;
    color: var(--luxury-gold-dark) !important;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.luxury-cta__inner h2 {
    max-width: 760px;
    margin: 0;
    color: var(--luxury-ink);
    font-size: clamp(28px, 3vw, 38px);
}

.luxury-cta__inner > a {
    flex: 0 0 auto;
    padding: 14px 24px;
    color: var(--luxury-ink) !important;
    border-radius: 6px;
    background: var(--luxury-gold);
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
    text-transform: uppercase;
}

@media (max-width: 1199px) {
    body.home .luxury-header-transparent .main-menu ul,
    body.page-template-home .luxury-header-transparent .main-menu ul {
        gap: 16px;
    }

    .luxury-cruise-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .luxury-cruise-grid .luxury-card:nth-child(n+4) {
        display: none;
    }

    .luxury-benefits__inner {
        grid-template-columns: 1fr;
        gap: 28px;
    }
}

@media (max-width: 991px) {
    body.home .luxury-header-transparent,
    body.page-template-home .luxury-header-transparent {
        min-height: 72px;
    }

    body.home .luxury-header-transparent .main-menu,
    body.home .luxury-header-transparent .header-actions,
    body.page-template-home .luxury-header-transparent .main-menu,
    body.page-template-home .luxury-header-transparent .header-actions {
        display: none !important;
    }

    body.home .luxury-hero,
    body.page-template-home .luxury-hero {
        min-height: 680px !important;
        padding: 140px 20px 265px !important;
    }

    .luxury-hero__content {
        margin-top: 0;
    }

    body.home .luxury-search-box-wrapper,
    body.page-template-home .luxury-search-box-wrapper {
        bottom: -115px;
    }

    body.home .luxury-search-form,
    body.page-template-home .luxury-search-form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.home .luxury-search-form button,
    body.page-template-home .luxury-search-form button {
        width: 100%;
    }

    body.home .top-rated-cruises,
    body.page-template-home .top-rated-cruises {
        padding-top: 175px !important;
    }

    .luxury-story {
        grid-template-columns: 1fr;
    }

    .luxury-story__image {
        min-height: 430px;
    }

    .luxury-story__content {
        max-width: none;
        padding: 60px 7%;
    }
}

@media (max-width: 767px) {
    body.home .luxury-hero,
    body.page-template-home .luxury-hero {
        min-height: 760px !important;
        padding: 120px 18px 385px !important;
        background-position: 58% center !important;
    }

    body.home .luxury-hero h1,
    body.page-template-home .luxury-hero h1 {
        font-size: clamp(38px, 11vw, 53px);
    }

    body.home .luxury-search-box-wrapper,
    body.page-template-home .luxury-search-box-wrapper {
        right: 14px;
        bottom: -78px;
        left: 14px;
        width: calc(100% - 28px);
        padding: 0 16px 18px;
    }

    body.home .luxury-search-box-wrapper .nav-tabs,
    body.page-template-home .luxury-search-box-wrapper .nav-tabs {
        gap: 4px;
    }

    body.home .luxury-search-box-wrapper .nav-tabs .nav-link,
    body.page-template-home .luxury-search-box-wrapper .nav-tabs .nav-link {
        min-width: 0;
        padding-inline: 10px;
        font-size: 11px;
    }

    body.home .luxury-search-form,
    body.page-template-home .luxury-search-form {
        grid-template-columns: 1fr;
        gap: 9px !important;
    }

    body.home .luxury-search-form label > span,
    body.page-template-home .luxury-search-form label > span {
        margin-bottom: 4px;
    }

    body.home .luxury-search-form select,
    body.home .luxury-search-form input,
    body.page-template-home .luxury-search-form select,
    body.page-template-home .luxury-search-form input,
    body.home .luxury-search-form button,
    body.page-template-home .luxury-search-form button {
        height: 44px !important;
    }

    body.home .top-rated-cruises,
    body.page-template-home .top-rated-cruises {
        padding: 135px 0 62px !important;
        background: linear-gradient(180deg, var(--luxury-navy) 0, var(--luxury-navy) 32%, #f7f7f5 32%, #f7f7f5 100%) !important;
    }

    .luxury-cruise-grid {
        display: flex;
        margin-right: -12px;
        padding: 0 12px 24px 0;
        gap: 14px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }

    .luxury-cruise-grid::-webkit-scrollbar {
        display: none;
    }

    .luxury-cruise-grid .luxury-card,
    .luxury-cruise-grid .luxury-card:nth-child(n+4) {
        display: flex;
        min-width: min(78vw, 310px);
        scroll-snap-align: start;
    }

    .luxury-card__image {
        aspect-ratio: 1.45 / 1;
    }

    .luxury-benefits {
        padding: 50px 0;
    }

    .luxury-benefits__list {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .luxury-story__image {
        min-height: 320px;
    }

    .luxury-story__content {
        padding: 50px 24px 58px;
    }

    .luxury-faq {
        padding: 64px 0 70px;
    }

    .luxury-faq__list summary {
        padding: 16px 48px 16px 16px;
        font-size: 14px;
    }

    .luxury-faq__list details p {
        margin: 0 20px 18px 16px !important;
    }

    .luxury-cta__inner {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (prefers-reduced-motion: reduce) {
    .luxury-homepage *,
    .luxury-homepage *::before,
    .luxury-homepage *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
    }
}

/* Legacy homepage markup compatibility.
   The live site may serve cached PHP while the stylesheet is refreshed first. */
.luxury-homepage .section-banner.luxury-hero {
    min-height: 650px !important;
    padding: 150px 0 170px !important;
}

.luxury-homepage .section-banner.luxury-hero > .inner-banner {
    position: static !important;
}

.luxury-homepage .section-banner.luxury-hero .luxury-search-box-wrapper {
    top: auto !important;
    bottom: 54px !important;
    left: 50% !important;
    width: min(1000px, calc(100% - 48px)) !important;
    transform: translateX(-50%) !important;
}

.luxury-homepage .section-banner.luxury-hero .luxury-search-form {
    display: grid !important;
    grid-template-columns: minmax(190px, 1.2fr) minmax(180px, 1fr) minmax(180px, 1fr) minmax(190px, auto) !important;
    gap: 14px !important;
    align-items: end !important;
}

.luxury-homepage .section-banner.luxury-hero .luxury-search-form .field {
    width: auto !important;
    min-width: 0 !important;
    flex: none !important;
    text-align: left !important;
}

.luxury-homepage .section-banner.luxury-hero .luxury-search-form .field label {
    min-height: 20px !important;
    margin-bottom: 7px !important;
    white-space: nowrap !important;
}

.luxury-homepage .section-banner.luxury-hero .luxury-search-form .field .form-control,
.luxury-homepage .section-banner.luxury-hero .luxury-search-form > label select,
.luxury-homepage .section-banner.luxury-hero .luxury-search-form > label input {
    width: 100% !important;
    min-width: 0 !important;
}

.luxury-homepage .section-banner.luxury-hero .luxury-search-form button {
    width: 100% !important;
    min-width: 190px !important;
}

.luxury-homepage .top-rated-cruises > .container > h2.gold-heading {
    position: relative !important;
    z-index: 20 !important;
    margin: 0 0 34px !important;
    color: #d8b54a !important;
    line-height: 1.2 !important;
}

.luxury-homepage .top-rated-cruises > .container > .row.mt-4 {
    margin-top: 0 !important;
}

@media (max-width: 991px) {
    .luxury-homepage .section-banner.luxury-hero {
        min-height: 760px !important;
        padding-bottom: 310px !important;
    }

    .luxury-homepage .section-banner.luxury-hero .luxury-search-box-wrapper {
        bottom: 42px !important;
    }

    .luxury-homepage .section-banner.luxury-hero .luxury-search-form {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 575px) {
    .luxury-homepage .section-banner.luxury-hero {
        min-height: 900px !important;
        padding-bottom: 485px !important;
    }

    .luxury-homepage .section-banner.luxury-hero .luxury-search-box-wrapper {
        width: calc(100% - 28px) !important;
        padding: 0 16px 18px !important;
    }

    .luxury-homepage .section-banner.luxury-hero .luxury-search-form {
        grid-template-columns: 1fr !important;
    }

    .luxury-homepage .section-banner.luxury-hero .luxury-search-form button {
        min-width: 0 !important;
    }
}

/* ==========================================================================
   HOMEPAGE FULL MOCKUP DESIGN EXTENSIONS (NAVY BLUE THEME MATCHING MOCKUP)
   ========================================================================== */

/* Navy Background to White Overlap Section for Top Rated Cruises */
body .luxury-homepage .top-rated-cruises {
    background: linear-gradient(to bottom, #0b192c 0%, #0b192c 55%, #ffffff 55%, #ffffff 100%) !important;
    padding: 60px 0 60px 0 !important;
}

.luxury-intro-block {
    text-align: center;
    max-width: 960px;
    margin: 0 auto 50px auto;
    color: #ffffff;
}
.luxury-intro-block h2 {
    font-family: 'Playfair Display', serif !important;
    color: #D4AF37 !important;
    font-size: 2.2rem !important;
    font-weight: 700 !important;
    margin-bottom: 20px !important;
}
.luxury-intro-block .intro-desc {
    font-family: 'Inter', sans-serif !important;
    font-size: 1rem !important;
    line-height: 1.7 !important;
    color: rgba(255, 255, 255, 0.85) !important;
    margin-bottom: 15px !important;
}

/* Top Rated Cruises Section Heading */
.luxury-section-heading--dark h1,
.luxury-section-heading--dark h2 {
    color: #D4AF37 !important;
    font-family: 'Playfair Display', serif !important;
    font-size: 2rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    text-align: center !important;
    margin-bottom: 20px !important;
}

/* Cruise Grid 5 Columns */
.luxury-homepage .luxury-cruise-grid {
    display: grid !important;
    grid-template-columns: repeat(5, 1fr) !important;
    gap: 24px !important;
}
@media (max-width: 1199px) {
    .luxury-homepage .luxury-cruise-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}
@media (max-width: 575px) {
    .luxury-homepage .luxury-cruise-grid {
        grid-template-columns: 1fr !important;
    }
}

/* Category Grid Section (Navy Background) */
.luxury-experiences-section {
    padding: 70px 0;
    background-color: #0b192c !important;
}
.luxury-experiences-section .subtitle {
    text-align: center;
    color: rgba(255, 255, 255, 0.8);
    margin-top: -10px;
    margin-bottom: 40px;
}
.luxury-category-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}
@media (max-width: 991px) {
    .luxury-category-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 575px) {
    .luxury-category-grid {
        grid-template-columns: 1fr;
    }
}
.luxury-category-card {
    background: #ffffff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.luxury-category-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.3);
}
.category-card__img img {
    width: 100%;
    height: 180px;
    object-fit: cover;
}
.category-card__content {
    padding: 20px;
}
.category-card__content h3 {
    font-size: 1.25rem;
    font-weight: 700;
    color: #0b192c;
    margin-bottom: 10px;
}
.category-card__content p {
    font-size: 0.9rem;
    color: #475569;
    line-height: 1.6;
    margin-bottom: 15px;
}
.btn-read-more {
    font-weight: 600;
    color: #D4AF37 !important;
    text-decoration: underline !important;
}

/* Curated Itineraries Section (Navy Background) */
.luxury-curated-itineraries {
    padding: 70px 0;
    background: #0b192c !important;
}
.curated-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}
@media (max-width: 991px) {
    .curated-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 575px) {
    .curated-grid {
        grid-template-columns: 1fr;
    }
}
.curated-card {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    height: 260px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
}
.curated-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.curated-card__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,0.1) 0%, rgba(11,25,44,0.9) 100%);
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    color: #ffffff;
}
.curated-card__overlay h3 {
    font-size: 1.2rem;
    font-weight: 700;
    color: #D4AF37;
    margin-bottom: 4px;
}
.curated-meta {
    font-size: 0.85rem;
    color: rgba(255,255,255,0.9);
}

/* Why Book Section (Navy Background) */
.luxury-why-book {
    padding: 70px 0;
    background: #0b192c !important;
}
.why-book-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}
@media (max-width: 991px) {
    .why-book-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 575px) {
    .why-book-grid {
        grid-template-columns: 1fr;
    }
}
.why-book-card {
    background: #ffffff;
    border-radius: 12px;
    padding: 30px 20px;
    text-align: center;
    box-shadow: 0 8px 24px rgba(0,0,0,0.15);
}
.why-book-card .icon-wrap {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    border: 2px solid #D4AF37;
    margin: 0 auto 20px auto;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #D4AF37;
    font-size: 24px;
}
.why-book-card h3 {
    font-size: 1.15rem;
    font-weight: 700;
    color: #0b192c;
    margin-bottom: 10px;
}
.why-book-card p {
    font-size: 0.88rem;
    color: #475569;
    line-height: 1.5;
}

/* Travel Guides Section (Navy Background) */
.luxury-travel-guides {
    padding: 70px 0;
    background: #0b192c !important;
}
.guide-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
@media (max-width: 991px) {
    .guide-grid {
        grid-template-columns: 1fr;
    }
}
.guide-card {
    background: #ffffff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
}
.guide-card__img img {
    width: 100%;
    height: 200px;
    object-fit: cover;
}
.guide-card__body {
    padding: 24px;
}
.guide-card__body h3 {
    font-size: 1.2rem;
    font-weight: 700;
    color: #0b192c;
    margin-bottom: 10px;
}
.guide-card__body p {
    font-size: 0.9rem;
    color: #475569;
    line-height: 1.6;
    margin-bottom: 15px;
}

/* FAQ Layout Enhancements (Light Background) */
.luxury-faq {
    padding: 70px 0;
    background: #f8f9fa !important;
}
.faq-cards-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 40px;
}
@media (max-width: 768px) {
    .faq-cards-grid {
        grid-template-columns: 1fr;
    }
}
.faq-card-item {
    background: #ffffff;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid #e2e8f0;
    display: flex;
    align-items: center;
    padding: 12px;
    gap: 15px;
}
.faq-card-item img {
    width: 70px;
    height: 70px;
    border-radius: 8px;
    object-fit: cover;
}
.faq-card-item__info h4 {
    font-size: 0.95rem;
    font-weight: 600;
    color: #0b192c;
    margin-bottom: 4px;
}
.faq-card-price {
    font-size: 0.85rem;
    font-weight: 700;
    color: #D4AF37;
    margin: 0;
}

.luxury-faq__list details {
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    margin-bottom: 14px;
    background: #ffffff;
    transition: all 0.3s ease;
}
.luxury-faq__list details[open] {
    border-color: #D4AF37;
    box-shadow: 0 4px 20px rgba(212, 175, 55, 0.12);
}
.luxury-faq__list summary {
    padding: 18px 24px;
    font-weight: 600;
    font-size: 1.05rem;
    color: #0b192c;
    cursor: pointer;
    list-style: none;
    position: relative;
}
.luxury-faq__list summary::-webkit-details-marker {
    display: none;
}
.luxury-faq__list summary::after {
    content: '+';
    position: absolute;
    right: 24px;
    font-size: 1.4rem;
    color: #94a3b8;
    line-height: 1;
}
.luxury-faq__list details[open] summary::after {
    content: '−';
    color: #D4AF37;
}
.luxury-faq__list .faq-content {
    padding: 0 24px 20px 24px;
    color: #475569;
    line-height: 1.7;
    font-size: 0.95rem;
}

/* ==========================================================================
   HOMEPAGE FULL MOCKUP DESIGN EXTENSIONS
   ========================================================================== */

/* Navy Background Section for Intro & Top Rated Cruises */
body .luxury-homepage .top-rated-cruises {
    background: linear-gradient(to bottom, #0b192c 0%, #0b192c 55%, #ffffff 55%, #ffffff 100%) !important;
    padding: 60px 0 80px 0 !important;
}

.luxury-intro-block {
    text-align: center;
    max-width: 960px;
    margin: 0 auto 50px auto;
    color: #ffffff;
}
.luxury-intro-block h2 {
    font-family: 'Playfair Display', serif !important;
    color: #ffffff !important;
    font-size: 2.2rem !important;
    font-weight: 700 !important;
    margin-bottom: 20px !important;
}
.luxury-intro-block .intro-desc {
    font-family: 'Inter', sans-serif !important;
    font-size: 1rem !important;
    line-height: 1.7 !important;
    color: rgba(255, 255, 255, 0.85) !important;
    margin-bottom: 15px !important;
}

/* Top Rated Cruises Section Heading */
.luxury-section-heading--dark h2 {
    color: #D4AF37 !important;
    font-family: 'Playfair Display', serif !important;
    font-size: 2rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    text-align: center !important;
    margin-bottom: 40px !important;
}

/* Cruise Grid 5 Columns */
.luxury-homepage .luxury-cruise-grid {
    display: grid !important;
    grid-template-columns: repeat(5, 1fr) !important;
    gap: 24px !important;
}
@media (max-width: 1199px) {
    .luxury-homepage .luxury-cruise-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}
@media (max-width: 575px) {
    .luxury-homepage .luxury-cruise-grid {
        grid-template-columns: 1fr !important;
    }
}

/* Category Grid Section */
.luxury-experiences-section {
    padding: 70px 0;
    background-color: #f8f9fa;
}
.luxury-experiences-section .subtitle {
    text-align: center;
    color: #64748b;
    margin-top: -10px;
    margin-bottom: 40px;
}
.luxury-category-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}
@media (max-width: 991px) {
    .luxury-category-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 575px) {
    .luxury-category-grid {
        grid-template-columns: 1fr;
    }
}
.luxury-category-card {
    background: #ffffff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.luxury-category-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.1);
}
.category-card__img img {
    width: 100%;
    height: 180px;
    object-fit: cover;
}
.category-card__content {
    padding: 20px;
}
.category-card__content h3 {
    font-size: 1.25rem;
    font-weight: 700;
    color: #0b192c;
    margin-bottom: 10px;
}
.category-card__content p {
    font-size: 0.9rem;
    color: #64748b;
    line-height: 1.6;
    margin-bottom: 15px;
}
.btn-read-more {
    font-weight: 600;
    color: #D4AF37 !important;
    text-decoration: underline !important;
}

/* Curated Itineraries Section */
.luxury-curated-itineraries {
    padding: 70px 0;
    background: #ffffff;
}
.curated-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}
@media (max-width: 991px) {
    .curated-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 575px) {
    .curated-grid {
        grid-template-columns: 1fr;
    }
}
.curated-card {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    height: 260px;
}
.curated-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.curated-card__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,0.1) 0%, rgba(11,25,44,0.85) 100%);
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    color: #ffffff;
}
.curated-card__overlay h3 {
    font-size: 1.2rem;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 4px;
}
.curated-meta {
    font-size: 0.85rem;
    color: rgba(255,255,255,0.8);
}

/* Why Book Section */
.luxury-why-book {
    padding: 70px 0;
    background: #f8f9fa;
}
.why-book-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}
@media (max-width: 991px) {
    .why-book-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 575px) {
    .why-book-grid {
        grid-template-columns: 1fr;
    }
}
.why-book-card {
    background: #ffffff;
    border-radius: 12px;
    padding: 30px 20px;
    text-align: center;
    box-shadow: 0 8px 24px rgba(0,0,0,0.04);
}
.why-book-card .icon-wrap {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    border: 2px solid #D4AF37;
    margin: 0 auto 20px auto;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #D4AF37;
    font-size: 24px;
}
.why-book-card h3 {
    font-size: 1.15rem;
    font-weight: 700;
    color: #0b192c;
    margin-bottom: 10px;
}
.why-book-card p {
    font-size: 0.88rem;
    color: #64748b;
    line-height: 1.5;
}

/* Travel Guides Section */
.luxury-travel-guides {
    padding: 70px 0;
    background: #ffffff;
}
.guide-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
@media (max-width: 991px) {
    .guide-grid {
        grid-template-columns: 1fr;
    }
}
.guide-card {
    background: #f8f9fa;
    border-radius: 12px;
    overflow: hidden;
}
.guide-card__img img {
    width: 100%;
    height: 200px;
    object-fit: cover;
}
.guide-card__body {
    padding: 24px;
}
.guide-card__body h3 {
    font-size: 1.2rem;
    font-weight: 700;
    color: #0b192c;
    margin-bottom: 10px;
}
.guide-card__body p {
    font-size: 0.9rem;
    color: #64748b;
    line-height: 1.6;
    margin-bottom: 15px;
}

/* FAQ Layout Enhancements */
.faq-cards-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 40px;
}
@media (max-width: 768px) {
    .faq-cards-grid {
        grid-template-columns: 1fr;
    }
}
.faq-card-item {
    background: #ffffff;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid #e2e8f0;
    display: flex;
    align-items: center;
    padding: 12px;
    gap: 15px;
}
.faq-card-item img {
    width: 70px;
    height: 70px;
    border-radius: 8px;
    object-fit: cover;
}
.faq-card-item__info h4 {
    font-size: 0.95rem;
    font-weight: 600;
    color: #0b192c;
    margin-bottom: 4px;
}
.faq-card-price {
    font-size: 0.85rem;
    font-weight: 700;
    color: #D4AF37;
    margin: 0;
}

.luxury-faq__list details {
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    margin-bottom: 14px;
    background: #ffffff;
    transition: all 0.3s ease;
}
.luxury-faq__list details[open] {
    border-color: #D4AF37;
    box-shadow: 0 4px 20px rgba(212, 175, 55, 0.12);
}
.luxury-faq__list .faq-content {
    padding: 0 24px 20px 24px;
    color: #475569;
    line-height: 1.7;
    font-size: 14.5px;
}

/* ==========================================================================
   BRAND-ALIGNED CATEGORY & CRUISE GUIDE COMPONENTS
   Luxury Ocean Navy (#041a34 / #0b192c) & Warm Gold (#d4af37 / #d7a936)
   ========================================================================== */

/* 1. Intro Banner Box (Always Crisp Pure White Text) */
.vds-intro-box,
.entry-content .vds-intro-box,
.page-content .vds-intro-box {
  background: #041a34 !important;
  border-radius: 22px !important;
  padding: 30px !important;
  margin-bottom: 40px !important;
  box-shadow: 0 4px 20px rgba(4, 26, 52, 0.15) !important;
}

.vds-intro-box,
.vds-intro-box *,
.entry-content .vds-intro-box,
.entry-content .vds-intro-box *,
.vds-intro-box p,
.entry-content .vds-intro-box p,
.vds-intro-box span,
.entry-content .vds-intro-box span,
.vds-intro-box strong,
.entry-content .vds-intro-box strong,
.vds-intro-box b,
.entry-content .vds-intro-box b,
.vds-intro-box a,
.entry-content .vds-intro-box a {
  color: #ffffff !important;
}

.vds-intro-box p,
.entry-content .vds-intro-box p {
  color: #ffffff !important;
  margin-bottom: 15px !important;
  font-size: 15.5px !important;
  line-height: 1.75 !important;
  text-align: justify !important;
  font-weight: 400 !important;
}

.vds-intro-box p:last-child,
.entry-content .vds-intro-box p:last-child {
  margin-bottom: 0 !important;
}


/* 8. Comparison & Price Tables (Crisp Grid Borders, Center Alignment, Pure White Headers, Responsive Auto-Wrap) */
.table-block-component {
  border-radius: 8px !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch !important;
  border: 1.5px solid #cbd5e1 !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.04) !important;
  margin: 30px auto !important;
  width: 100% !important;
  max-width: 100% !important;
  background: #ffffff !important;
  box-sizing: border-box !important;
}

/* Eliminate duplicate borders on nested legacy wrappers */
.horizontal-scroll-wrapper,
.table-block,
.table-content,
._tableContainer_16hzy_1,
._tableWrapper_16hzy_14 {
  border: none !important;
  box-shadow: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

.table-block-component table,
table.table-styled,
table {
  width: 100% !important;
  min-width: 100% !important;
  table-layout: auto !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  font-size: 14px !important;
  text-align: center !important;
  border: none !important;
  margin: 0 !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
}

.table-block-component th,
.table-block th,
table th,
th {
  background-color: #041a34 !important;
  color: #ffffff !important; /* Pure Crisp White Header Text */
  font-weight: 700 !important;
  padding: 13px 10px !important;
  text-align: center !important;
  vertical-align: middle !important;
  text-transform: uppercase !important;
  font-size: 12.5px !important;
  letter-spacing: 0.3px !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  line-height: 1.4 !important;
  white-space: normal !important;
  word-wrap: break-word !important;
}

.table-block-component th *,
.table-block th *,
table th *,
th * {
  color: #ffffff !important;
  background: transparent !important;
  background-color: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  display: inline !important;
  font-weight: 700 !important;
}

.table-block-component td,
.table-block td,
table td,
td {
  padding: 11px 10px !important;
  border: 1px solid #cbd5e1 !important; /* Clear, sharp cell borders */
  color: #0f172a !important; /* Deep, sharp dark slate */
  font-size: 13.5px !important;
  line-height: 1.55 !important;
  vertical-align: middle !important;
  text-align: center !important;
  font-weight: 450 !important;
  white-space: normal !important;
  word-wrap: break-word !important;
}

.table-block-component td ul,
.table-block-component td ol,
table td ul,
table td ol {
  text-align: left !important;
  padding-left: 18px !important;
  margin: 4px 0 !important;
}

.table-block-component td li,
table td li {
  text-align: left !important;
  margin-bottom: 4px !important;
}

.table-block-component tr:nth-child(even),
.table-block tr:nth-child(even),
table tr:nth-child(even) {
  background-color: #f8fafc !important;
}

/* Mobile Responsive Optimization for Tables */
@media (max-width: 768px) {
  .table-block-component {
    margin: 18px 0 !important;
    border-radius: 6px !important;
    border: 1px solid #cbd5e1 !important;
  }
  
  .table-block-component table,
  table {
    font-size: 11.5px !important;
  }
  
  .table-block-component th,
  table th {
    padding: 8px 4px !important;
    font-size: 10.5px !important;
    letter-spacing: 0px !important;
    line-height: 1.25 !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
  }
  
  .table-block-component td,
  table td {
    padding: 7px 4px !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
  }

  .table-block-component td ul,
  .table-block-component td ol {
    padding-left: 10px !important;
  }
  
  .table-block-component td li {
    font-size: 10.5px !important;
    line-height: 1.3 !important;
    margin-bottom: 2px !important;
  }
}



.table-block-component tr:hover,
table tr:hover {
  background-color: #f1f5f9 !important;
}

/* 9. Sharp High-Contrast Body Typography */
.entry-content,
.page-content,
.post-content,
article,
body {
  color: #0f172a !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
  text-rendering: optimizeLegibility !important;
}

.entry-content p,
.page-content p,
.post-content p,
article p {
  color: #0f172a !important;
  font-size: 15px !important;
  line-height: 1.75 !important;
  font-weight: 450 !important;
}

/* Preserve white text inside dark backgrounds */
.vds-intro-box,
.vds-intro-box p,
.vds-intro-box span,
.vds-intro-box strong,
.vds-intro-box b,
.vds-intro-box a {
  color: #ffffff !important;
}

.entry-content h2,
.page-content h2,
.post-content h2,
h2 {
  color: #041a34 !important;
  font-weight: 700 !important;
  font-size: 20px !important;
  margin-top: 35px !important;
  margin-bottom: 15px !important;
}

.entry-content h3,
.page-content h3,
.post-content h3,
h3 {
  color: #041a34 !important;
  font-weight: 700 !important;
  font-size: 17px !important;
  margin-top: 25px !important;
  margin-bottom: 12px !important;
}

.entry-content ul,
.page-content ul,
.post-content ul,
ul, ol {
  color: #0f172a !important;
  font-size: 15px !important;
  line-height: 1.75 !important;
}

.entry-content li,
.page-content li,
.post-content li,
li {
  color: #0f172a !important;
  margin-bottom: 8px !important;
}

.entry-content p strong,
.entry-content td strong,
.entry-content li strong,
p strong, td strong, li strong,
p b, td b, li b {
  color: #041a34 !important;
  font-weight: 700 !important;
}



/* 2. Scrollable Category Pill Menu */
.vds-scroll-menu {
  display: flex !important;
  overflow-x: auto !important;
  white-space: nowrap !important;
  gap: 12px !important;
  padding-bottom: 15px !important;
  margin-bottom: 25px !important;
  -webkit-overflow-scrolling: touch !important;
  scrollbar-width: none !important;
}

.vds-scroll-menu::-webkit-scrollbar {
  display: none !important;
}

.vds-scroll-menu a {
  flex: 0 0 auto !important;
  display: inline-block !important;
  padding: 8px 22px !important;
  border: 1.5px solid #d4af37 !important;
  color: #041a34 !important;
  border-radius: 50px !important;
  text-decoration: none !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  background-color: transparent !important;
  transition: all 0.3s ease !important;
}

.vds-scroll-menu a:hover {
  background: #d4af37 !important;
  color: #ffffff !important;
}

.vds-scroll-menu a.active,
.vds-scroll-menu a[data-active="true"] {
  background: linear-gradient(135deg, #d4af37 0%, #b8860b 100%) !important;
  color: #ffffff !important;
  border-color: #d4af37 !important;
  font-weight: 700 !important;
  box-shadow: 0 3px 10px rgba(212, 175, 55, 0.3) !important;
}

/* 3. Primary CTA & View Details Buttons */
.vds-btn-detail {
  display: inline-block !important;
  background: linear-gradient(135deg, #d4af37 0%, #b8860b 100%) !important;
  color: #ffffff !important;
  padding: 12px 40px !important;
  border-radius: 44px !important;
  text-decoration: none !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  font-size: 14px !important;
  letter-spacing: 0.5px !important;
  border: none !important;
  box-shadow: 0 4px 15px rgba(212, 175, 55, 0.35) !important;
  transition: all 0.3s ease !important;
  cursor: pointer !important;
}

.vds-btn-detail:hover {
  background: linear-gradient(135deg, #e5c158 0%, #ca9718 100%) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 22px rgba(212, 175, 55, 0.5) !important;
  color: #ffffff !important;
}

/* 4. Section Title Dividers */
.vds-title-wrap {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 45px 0 30px !important;
  width: 100% !important;
}

.vds-title-line {
  flex-grow: 1 !important;
  height: 1px !important;
  background-color: #eaeaea !important;
}

.vds-title-text {
  margin: 0 20px !important;
  padding: 10px 24px !important;
  border: 1px solid #eaeaea !important;
  color: #041a34 !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  text-align: center !important;
  background: #ffffff !important;
  letter-spacing: 0.5px !important;
}

/* 5. Experiences & Activities 2-Column Grid */
.vds-exp-grid {
  display: flex !important;
  flex-wrap: wrap !important;
  width: 100% !important;
  box-sizing: border-box !important;
  margin-bottom: 40px !important;
}

.vds-exp-col {
  width: 50% !important;
  box-sizing: border-box !important;
}

.vds-exp-col-1 {
  padding-right: 30px !important;
  border-right: 1px dashed #ccc !important;
}

.vds-exp-col-2 {
  padding-left: 30px !important;
}

.vds-exp-item {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  gap: 15px !important;
  margin-bottom: 25px !important;
  width: 100% !important;
}

.vds-exp-img {
  width: 120px !important;
  height: 80px !important;
  flex: 0 0 120px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.vds-exp-img img {
  width: 120px !important;
  height: 80px !important;
  object-fit: cover !important;
  border-radius: 4px !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  max-width: 120px !important;
}

.vds-exp-text {
  flex: 1 !important;
  min-width: 0 !important;
  text-align: left !important;
}

.vds-exp-text h3 {
  margin: 0 0 5px 0 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #041a34 !important;
  line-height: 1.3 !important;
}

.vds-exp-text p {
  margin: 0 !important;
  font-size: 14px !important;
  color: #475569 !important;
  line-height: 1.5 !important;
}

/* 6. FAQ Interactive Accordion */
details {
  margin-bottom: 12px !important;
  padding: 15px !important;
  border: 1px solid #eaeaea !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  width: 100% !important;
  box-sizing: border-box !important;
  transition: all 0.25s ease !important;
}

details[open] {
  border-color: #d4af37 !important;
  box-shadow: 0 4px 15px rgba(212, 175, 55, 0.1) !important;
}

summary {
  font-weight: 600 !important;
  cursor: pointer !important;
  color: #041a34 !important;
  font-size: 16px !important;
}

.vds-faq-content {
  margin-top: 10px !important;
  padding-top: 10px !important;
  border-top: 1px dashed #eee !important;
  color: #334155 !important;
  line-height: 1.6 !important;
  font-size: 14.5px !important;
  text-align: justify !important;
}

.vds-faq-content ul {
  margin-top: 10px !important;
  padding-left: 20px !important;
}

.vds-faq-content li {
  margin-bottom: 6px !important;
}

/* 7. Category Page 3-Column Responsive Grid */
.vds-products-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
  margin-bottom: 45px !important;
  width: 100% !important;
}

@media (min-width: 1025px) {
  .vds-products-grid > .product-card:nth-child(n+7) {
    display: none !important;
  }
}

@media (max-width: 1024px) and (min-width: 769px) {
  .vds-products-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 15px !important;
  }
}

@media (max-width: 768px) {
  .vds-products-grid {
    grid-template-columns: 1fr !important;
    gap: 15px !important;
  }
  
  .vds-intro-box {
    padding: 22px 18px !important;
  }

  .vds-exp-col {
    width: 100% !important;
  }

  .vds-exp-col-1 {
    padding-right: 0 !important;
    border-right: none !important;
    border-bottom: 1px dashed #ccc !important;
    padding-bottom: 10px !important;
    margin-bottom: 25px !important;
  }

  .vds-exp-col-2 {
    padding-left: 0 !important;
  }

  .vds-title-text {
    font-size: 14px !important;
    margin: 0 10px !important;
    padding: 8px 10px !important;
  }
}






/* === LUXURY RICH SEO FOOTER STYLES === */
.footer-grid-4col {
  display: grid !important;
  grid-template-columns: 1.3fr 1.1fr 1.1fr 1fr !important;
  gap: 36px !important;
  padding-bottom: 30px !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
}
.footer-col h4 {
  color: #D4AF37 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  margin-bottom: 16px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
}
.footer-nav-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.footer-nav-list li {
  margin-bottom: 9px !important;
}
.footer-nav-list li a {
  color: #cbd5e1 !important;
  font-size: 13.5px !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  display: inline-block !important;
}
.footer-nav-list li a:hover {
  color: #ffffff !important;
  transform: translateX(4px) !important;
}
.footer-col-brand p.description {
  color: #94a3b8 !important;
  font-size: 13.5px !important;
  line-height: 1.65 !important;
  margin-top: 12px !important;
}
.footer-seo-bar {
  padding: 20px 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px 12px !important;
  font-size: 13px !important;
}
.footer-seo-bar .seo-bar-title {
  color: #D4AF37 !important;
  font-weight: 700 !important;
  margin-right: 4px !important;
}
.footer-seo-bar a {
  color: #94a3b8 !important;
  text-decoration: none !important;
  transition: color 0.2s !important;
}
.footer-seo-bar a:hover {
  color: #ffffff !important;
  text-decoration: underline !important;
}
.footer-seo-bar .sep {
  color: rgba(255, 255, 255, 0.2) !important;
}

@media (max-width: 991px) {
  .footer-grid-4col {
    grid-template-columns: 1fr 1fr !important;
    gap: 28px !important;
  }
}
@media (max-width: 576px) {
  .footer-grid-4col {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
}


/* === LUXURY SECURE PAYMENT & CHECKOUT STYLES === */
.secure-payment-wrapper {
  background-color: #f8fafc !important;
  min-height: 85vh;
  padding: 40px 0 60px;
}
.payment-hero-banner .security-badge {
  display: inline-block;
  background: #041a34;
  color: #D4AF37;
  font-size: 12px;
  font-weight: 700;
  padding: 6px 14px;
  border-radius: 20px;
  letter-spacing: 0.5px;
  margin-bottom: 12px;
}
.payment-hero-banner .payment-main-title {
  color: #041a34;
  font-size: 30px;
  font-weight: 800;
  margin-bottom: 8px;
  font-family: 'Inter', -apple-system, sans-serif;
}
.payment-hero-banner .payment-sub-title {
  color: #64748b;
  font-size: 14.5px;
  max-width: 680px;
  margin: 0 auto;
}
.payment-card {
  background: #ffffff;
  border-radius: 12px;
  border: 1px solid #e2e8f0;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
  padding: 30px;
}
.card-section-title {
  font-size: 18px;
  font-weight: 700;
  color: #041a34;
  margin-bottom: 4px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.card-section-title i {
  color: #D4AF37;
}
.section-desc {
  font-size: 13px;
  color: #64748b;
  margin-bottom: 20px;
}
.form-label {
  font-size: 13px;
  font-weight: 600;
  color: #334155;
  margin-bottom: 6px;
}
.form-control {
  border: 1px solid #cbd5e1 !important;
  border-radius: 8px !important;
  padding: 10px 14px !important;
  font-size: 14px !important;
  color: #0f172a !important;
  background: #ffffff !important;
  transition: all 0.2s ease !important;
}
.form-control:focus {
  border-color: #041a34 !important;
  box-shadow: 0 0 0 3px rgba(4, 26, 52, 0.1) !important;
  outline: none !important;
}
.payment-methods-grid {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.method-option {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 16px;
  border: 2px solid #e2e8f0;
  border-radius: 10px;
  cursor: pointer;
  transition: all 0.2s ease;
  background: #ffffff;
}
.method-option:hover {
  border-color: #94a3b8;
}
.method-option.active {
  border-color: #041a34;
  background: #f8fafc;
}
.method-option input[type="radio"] {
  margin-top: 4px;
  accent-color: #041a34;
  width: 18px;
  height: 18px;
}
.method-content {
  flex: 1;
}
.method-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 4px;
}
.method-title {
  font-size: 14.5px;
  font-weight: 700;
  color: #041a34;
}
.method-desc {
  font-size: 12.5px;
  color: #64748b;
  margin: 0;
  line-height: 1.5;
}
.wire-info-box {
  background: #f1f5f9;
  border-left: 4px solid #041a34;
  border-radius: 6px;
}
.legal-agreement-box {
  background: #fdf6ec;
  border: 1px solid #faecd8;
  border-radius: 8px;
}
.btn-pay-now {
  background: #041a34 !important;
  color: #ffffff !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  border-radius: 8px !important;
  border: none !important;
  box-shadow: 0 4px 14px rgba(4, 26, 52, 0.25) !important;
  transition: all 0.2s ease !important;
}
.btn-pay-now:hover {
  background: #0b2d56 !important;
  color: #D4AF37 !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(4, 26, 52, 0.35) !important;
}
.booking-code-tag {
  background: #f1f5f9;
  padding: 8px 14px;
  border-radius: 6px;
  font-size: 13px;
  color: #475569;
  display: flex;
  justify-content: space-between;
}
.booking-code-tag strong {
  color: #041a34;
  font-size: 14px;
}
.itemized-details .item-row {
  display: flex;
  justify-content: space-between;
  padding: 8px 0;
  font-size: 13.5px;
  border-bottom: 1px dashed #e2e8f0;
}
.itemized-details .item-row .label {
  color: #64748b;
}
.itemized-details .item-row .val {
  color: #1e293b;
  text-align: right;
  max-width: 60%;
}
.price-breakdown .price-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.total-strike {
  font-size: 14px;
  color: #64748b;
}
.trust-features-grid {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding-top: 14px;
  border-top: 1px solid #e2e8f0;
}
.trust-feat-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.trust-feat-item i {
  font-size: 18px;
  margin-top: 3px;
}
.trust-feat-item strong {
  display: block;
  font-size: 13px;
  color: #041a34;
}
.trust-feat-item p {
  margin: 0;
  font-size: 11.5px;
  color: #64748b;
  line-height: 1.4;
}

/* ===================================================
   VDS TOUR PAGES: COMPACT FAQ ACCORDION & FULL-WIDTH SHARP IMAGES
   =================================================== */

/* 1. FAQ Accordion Compact & Clean Spacing */
.content-section #faqAccordion,
#faqAccordion {
  max-width: 100% !important;
  margin: 28px 0 35px !important;
}

#faqAccordion .accordion-item {
  border: 1px solid #e2e8f0 !important;
  border-radius: 8px !important;
  margin-bottom: 8px !important;
  overflow: hidden !important;
  background: #ffffff !important;
}

#faqAccordion .accordion-header,
#faqAccordion h3.accordion-header {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
}

#faqAccordion .accordion-button {
  padding: 12px 18px !important;
  font-size: 15.5px !important;
  font-weight: 600 !important;
  color: #041a34 !important;
  background: #f8fafc !important;
  box-shadow: none !important;
  min-height: unset !important;
  line-height: 1.45 !important;
  border: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

#faqAccordion .accordion-button:not(.collapsed) {
  color: #0b456c !important;
  background: #f1f5f9 !important;
  border-bottom: 1px solid #e2e8f0 !important;
}

#faqAccordion .accordion-button br {
  display: none !important;
}

#faqAccordion .accordion-body {
  padding: 14px 18px !important;
  color: #334155 !important;
  font-size: 14.5px !important;
  line-height: 1.65 !important;
  background: #ffffff !important;
}

#faqAccordion .accordion-body p {
  margin-bottom: 8px !important;
}

#faqAccordion .accordion-body p:last-child {
  margin-bottom: 0 !important;
}

/* 2. Full-Width Sharp Images for Desktop & Mobile */
.content-section .wp-caption,
.content-section figure.wp-block-image,
.content-section figure {
  width: 100% !important;
  max-width: 100% !important;
  margin: 30px auto !important;
  text-align: center !important;
  display: block !important;
}

.content-section .wp-caption img,
.content-section figure img,
.content-section p > img,
.content-section img.size-full {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  border-radius: 12px !important;
  box-shadow: 0 6px 22px rgba(4, 26, 52, 0.08) !important;
  display: block !important;
  margin: 0 auto !important;
  image-rendering: -webkit-optimize-contrast;
  object-fit: cover !important;
}

.content-section .wp-caption-text,
.content-section figcaption {
  font-size: 13.5px !important;
  color: #64748b !important;
  font-style: italic !important;
  margin-top: 10px !important;
  margin-bottom: 0 !important;
  text-align: center !important;
  line-height: 1.5 !important;
}

/* Legacy Flatsome [featured_box] cards on imported SEO landing pages. */
.content-section .vds-featured-box {
  box-sizing: border-box;
  float: left;
  display: flex;
  width: 50%;
  min-height: calc(var(--vds-featured-image-width) + 8px);
  padding: 8px 18px 16px 0;
  gap: 14px;
  align-items: flex-start;
  font-size: var(--vds-featured-font-size);
  line-height: 1.5;
}

.content-section .vds-featured-box--row-start {
  clear: left;
}

.content-section .vds-featured-box--right {
  flex-direction: row-reverse;
}

.content-section .vds-featured-box__image {
  flex: 0 0 var(--vds-featured-image-width);
  width: var(--vds-featured-image-width) !important;
  max-width: var(--vds-featured-image-width) !important;
  height: var(--vds-featured-image-width) !important;
  margin: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  object-fit: cover !important;
}

.content-section .vds-featured-box__content {
  min-width: 0;
}

.content-section .vds-featured-box__content h1,
.content-section .vds-featured-box__content h2,
.content-section .vds-featured-box__content h3,
.content-section .vds-featured-box__content h4,
.content-section .vds-featured-box__content p {
  margin: 0 0 6px !important;
}

.content-section .vds-featured-box__content h3 {
  font-size: 16px !important;
  line-height: 1.35;
}

@media (max-width: 767px) {
  .content-section .vds-featured-box {
    float: none;
    width: 100%;
    padding-right: 0;
  }
}

/* Legacy [ux_image_box] rows. */
.content-section .vds-image-box {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 12px 0;
}

.content-section .vds-image-box__image {
  flex: 0 0 var(--vds-image-box-width);
  width: var(--vds-image-box-width) !important;
  max-width: var(--vds-image-box-width) !important;
  height: var(--vds-image-box-width) !important;
  margin: 0 !important;
  border-radius: 50% !important;
  box-shadow: none !important;
  object-fit: cover !important;
}

.content-section .vds-image-box__content p {
  margin: 0 !important;
}


/* ==========================================================
   HOMEPAGE TRAVEL GUIDES: EXACT 4 COLUMNS ON DESKTOP
   ========================================================== */
.guide-grid,
body .guide-grid,
body.home .guide-grid,
body .luxury-travel-guides .guide-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 20px !important;
}

@media (max-width: 1199px) {
    .guide-grid,
    body .guide-grid,
    body.home .guide-grid,
    body .luxury-travel-guides .guide-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 16px !important;
    }
}

@media (max-width: 991px) {
    .guide-grid,
    body .guide-grid,
    body.home .guide-grid,
    body .luxury-travel-guides .guide-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 16px !important;
    }
}

@media (max-width: 575px) {
    .guide-grid,
    body .guide-grid,
    body.home .guide-grid,
    body .luxury-travel-guides .guide-grid {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }
}


/* ==========================================================================
   HOMEPAGE SECTION CONTRAST & TYPOGRAPHY ENHANCEMENTS
   ========================================================================== */

/* 1. SECTION 3: PREMIUM EXPERIENCES (Navy Background) */
body.home .luxury-experiences-section,
body .luxury-experiences-section {
    background-color: #0b192c !important;
    padding: 70px 0 !important;
}

body.home .luxury-experiences-section .luxury-section-heading h1,
body .luxury-experiences-section .luxury-section-heading h1 {
    color: #D4AF37 !important;
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: clamp(28px, 3.2vw, 40px) !important;
    font-weight: 700 !important;
    text-align: center !important;
    margin-bottom: 12px !important;
    letter-spacing: 0.5px !important;
    line-height: 1.25 !important;
}

body.home .luxury-experiences-section .subtitle,
body .luxury-experiences-section .subtitle {
    color: #E2E8F0 !important;
    font-size: 15px !important;
    text-align: center !important;
    margin-top: 0 !important;
    margin-bottom: 40px !important;
    opacity: 0.9 !important;
}

/* 2. SECTION 4: WHY BOOK WITH US (Clean White Background for Alternation) */
body.home .luxury-why-book,
body .luxury-why-book {
    background-color: #ffffff !important;
    padding: 75px 0 !important;
    border-top: 1px solid #edf2f7;
    border-bottom: 1px solid #edf2f7;
}

body.home .luxury-why-book .luxury-section-heading h2,
body .luxury-why-book .luxury-section-heading h2 {
    color: #0b192c !important;
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: clamp(28px, 3.2vw, 38px) !important;
    font-weight: 700 !important;
    text-align: center !important;
    margin-bottom: 40px !important;
}

body.home .luxury-why-book .why-book-card,
body .luxury-why-book .why-book-card {
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    padding: 32px 22px !important;
    text-align: center !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05) !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

body.home .luxury-why-book .why-book-card:hover,
body .luxury-why-book .why-book-card:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.09) !important;
}

body.home .luxury-why-book .why-book-card h3,
body .luxury-why-book .why-book-card h3 {
    color: #0b192c !important;
    font-size: 1.15rem !important;
    font-weight: 700 !important;
    margin-bottom: 10px !important;
}

body.home .luxury-why-book .why-book-card p,
body .luxury-why-book .why-book-card p {
    color: #475569 !important;
    font-size: 0.9rem !important;
    line-height: 1.55 !important;
    margin-bottom: 0 !important;
}

/* 3. SECTION 5: TRAVEL GUIDES (Navy Background) */
body.home .luxury-travel-guides,
body .luxury-travel-guides {
    background-color: #0b192c !important;
    padding: 75px 0 !important;
}

body.home .luxury-travel-guides .luxury-section-heading h2,
body .luxury-travel-guides .luxury-section-heading h2 {
    color: #D4AF37 !important;
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: clamp(28px, 3.2vw, 38px) !important;
    font-weight: 700 !important;
    text-align: center !important;
    margin-bottom: 40px !important;
    letter-spacing: 0.5px !important;
}

/* 4. SECTION 6: FAQ (Clean Light/White Background) */
body.home .luxury-faq,
body .luxury-faq {
    background-color: #f8fafc !important;
    padding: 75px 0 !important;
}

body.home .luxury-faq .luxury-section-heading h2,
body .luxury-faq .luxury-section-heading h2 {
    color: #0b192c !important;
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: clamp(28px, 3.2vw, 38px) !important;
    font-weight: 700 !important;
    text-align: center !important;
    margin-bottom: 40px !important;
}


/* ==========================================================
   HOMEPAGE TRAVEL GUIDES: STRICT EQUAL HEIGHT CARDS & IMAGES
   ========================================================== */
.guide-grid,
body .luxury-travel-guides .guide-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 20px !important;
    align-items: stretch !important;
}

.guide-card,
body .luxury-travel-guides .guide-card {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    background: #ffffff !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12) !important;
}

.guide-card__img,
body .luxury-travel-guides .guide-card__img {
    width: 100% !important;
    height: 200px !important;
    min-height: 200px !important;
    max-height: 200px !important;
    overflow: hidden !important;
    position: relative !important;
}

.guide-card__img a,
body .luxury-travel-guides .guide-card__img a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}

.guide-card__img img,
body .luxury-travel-guides .guide-card__img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
    border-radius: 0 !important;
    transition: transform 0.4s ease !important;
}

.guide-card:hover .guide-card__img img {
    transform: scale(1.06) !important;
}

.guide-card__body,
body .luxury-travel-guides .guide-card__body {
    padding: 22px 20px !important;
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
    justify-content: space-between !important;
}

.guide-card__body h3,
body .luxury-travel-guides .guide-card__body h3 {
    margin: 0 0 10px 0 !important;
    font-size: 1.15rem !important;
    line-height: 1.35 !important;
}

.guide-card__body p,
body .luxury-travel-guides .guide-card__body p {
    margin: 0 0 16px 0 !important;
    font-size: 0.88rem !important;
    line-height: 1.55 !important;
    color: #64748b !important;
    flex-grow: 1 !important;
}

.guide-card__body .btn-read-more,
body .luxury-travel-guides .guide-card__body .btn-read-more {
    margin-top: auto !important;
}


/* Keep the Premium Experiences heading readable on the navy section. */
body.home .luxury-experiences-section .premium-experiences-title,
body.page-template-home .luxury-experiences-section .premium-experiences-title,
body.home .luxury-experiences-section h2.premium-experiences-title,
body.page-template-home .luxury-experiences-section h2.premium-experiences-title {
    color: #D4AF37 !important;
    text-shadow: 0 2px 10px rgba(0, 0, 0, .28);
}


/* Mobile homepage grids: two cards per row, with four cruises visible. */
@media (max-width: 575px) {
    body.home .luxury-cruise-grid,
    body.page-template-home .luxury-cruise-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
    }

    body.home .luxury-cruise-grid > .luxury-card:nth-child(n + 5),
    body.page-template-home .luxury-cruise-grid > .luxury-card:nth-child(n + 5) {
        display: none !important;
    }

    body.home .luxury-travel-guides .guide-grid,
    body.page-template-home .luxury-travel-guides .guide-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
    }
}


/* ==========================================================================
   VDS TRAVEL - PREMIUM MOIT & LEGAL POLICIES DESIGN SYSTEM (LUXURY CRUISE)
   ========================================================================== */
.vds-legal-wrap {
  max-width: 1140px;
  margin: 10px auto 60px auto;
  font-family: 'Montserrat', 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  color: #334155;
  line-height: 1.8;
}

/* Executive Header Card */
.vds-hero-card {
  background: linear-gradient(135deg, #041a34 0%, #0a2d59 100%) !important;
  color: #ffffff !important;
  border-radius: 20px !important;
  border: 1px solid #d4af37 !important;
  padding: 36px 32px !important;
  margin-bottom: 35px !important;
  box-shadow: 0 12px 36px rgba(4, 26, 52, 0.16) !important;
  position: relative;
  overflow: hidden;
}

.vds-hero-card::after {
  content: '';
  position: absolute;
  top: -50px;
  right: -50px;
  width: 220px;
  height: 220px;
  background: radial-gradient(circle, rgba(212, 175, 55, 0.15) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
}

.vds-badge-gold {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: #d4af37 !important;
  color: #041a34 !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 1.5px !important;
  padding: 5px 14px !important;
  border-radius: 30px !important;
  margin-bottom: 16px !important;
  text-transform: uppercase !important;
}

.vds-hero-title {
  font-family: 'Playfair Display', Georgia, serif !important;
  color: #ffffff !important;
  font-size: 26px !important;
  font-weight: 700 !important;
  margin: 0 0 6px 0 !important;
  line-height: 1.3 !important;
  letter-spacing: 0.5px !important;
}

.vds-hero-sub {
  color: #f6e58d !important;
  font-size: 14.5px !important;
  margin: 0 0 22px 0 !important;
  font-style: italic !important;
}

.vds-meta-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
  gap: 14px 24px !important;
  padding-top: 20px !important;
  border-top: 1px solid rgba(212, 175, 55, 0.3) !important;
  font-size: 13.5px !important;
  color: #e2e8f0 !important;
}

.vds-meta-item {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  line-height: 1.5 !important;
}

.vds-meta-icon {
  color: #d4af37 !important;
  font-size: 15px !important;
  margin-top: 3px !important;
  flex-shrink: 0 !important;
}

.vds-meta-item strong {
  color: #f6e58d !important;
}

/* Section Title Separator */
.vds-title-wrap {
  display: flex !important;
  align-items: center !important;
  margin: 40px 0 25px 0 !important;
  width: 100% !important;
}

.vds-title-line {
  flex-grow: 1 !important;
  height: 1px !important;
  background-color: #e2e8f0 !important;
}

.vds-title-text {
  margin: 0 20px !important;
  padding: 10px 24px !important;
  border: 1px solid #d4af37 !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  color: #041a34 !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  font-family: 'Playfair Display', Georgia, serif !important;
  text-align: center !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.03) !important;
}

/* Legal Card Sections */
.vds-legal-card {
  background: #ffffff !important;
  border-radius: 16px !important;
  border: 1px solid #e2e8f0 !important;
  border-left: 5px solid #d4af37 !important;
  padding: 32px 30px !important;
  margin-bottom: 28px !important;
  box-shadow: 0 6px 20px rgba(4, 26, 52, 0.05) !important;
}

.vds-card-title {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  font-family: 'Playfair Display', Georgia, serif !important;
  color: #041a34 !important;
  font-size: 21px !important;
  font-weight: 700 !important;
  margin: 0 0 16px 0 !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid #f1f5f9 !important;
}

.vds-card-title i {
  color: #d4af37 !important;
  font-size: 19px !important;
}

.vds-legal-card p {
  font-size: 15px !important;
  color: #475569 !important;
  margin-bottom: 14px !important;
}

.vds-checklist {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 16px 0 !important;
}

.vds-checklist li {
  font-size: 14.5px !important;
  color: #334155 !important;
  margin-bottom: 12px !important;
  position: relative !important;
  padding-left: 28px !important;
  line-height: 1.7 !important;
}

.vds-checklist li::before {
  content: '\f058';
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  position: absolute;
  left: 0;
  top: 2px;
  color: #d4af37;
  font-size: 16px;
}

.vds-checklist li strong {
  color: #0f172a !important;
}

/* Highlight Box */
.vds-highlight-box {
  background: #f8fafc !important;
  border: 1px dashed #cbd5e1 !important;
  border-radius: 12px !important;
  padding: 22px 24px !important;
  margin: 18px 0 !important;
  font-size: 14.5px !important;
  color: #334155 !important;
}

.vds-highlight-box strong {
  color: #041a34 !important;
}

/* Hub Grid for Overview Page (2 Columns) */
.vds-hub-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 24px !important;
  margin: 30px 0 45px 0 !important;
}

.vds-hub-card {
  background: #ffffff !important;
  border-radius: 16px !important;
  border: 1px solid #e2e8f0 !important;
  padding: 28px 24px !important;
  display: flex !important;
  flex-direction: column !important;
  box-shadow: 0 4px 16px rgba(4, 26, 52, 0.04) !important;
  transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
  position: relative !important;
  overflow: hidden !important;
}

.vds-hub-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, #d4af37, #f6e58d);
  opacity: 0;
  transition: opacity 0.3s ease;
}

.vds-hub-card:hover {
  transform: translateY(-6px) !important;
  border-color: rgba(212, 175, 55, 0.6) !important;
  box-shadow: 0 16px 36px rgba(4, 26, 52, 0.12) !important;
}

.vds-hub-card:hover::before {
  opacity: 1 !important;
}

.vds-hub-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 14px !important;
}

.vds-hub-tag {
  font-size: 11px !important;
  font-weight: 800 !important;
  color: #d4af37 !important;
  letter-spacing: 1.5px !important;
  background: rgba(212, 175, 55, 0.12) !important;
  padding: 4px 12px !important;
  border-radius: 20px !important;
}

.vds-hub-icon-wrap {
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  background: #041a34 !important;
  color: #d4af37 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 18px !important;
  box-shadow: 0 4px 10px rgba(4, 26, 52, 0.15) !important;
}

.vds-hub-title {
  font-family: 'Playfair Display', Georgia, serif !important;
  color: #041a34 !important;
  font-size: 19px !important;
  font-weight: 700 !important;
  margin: 0 0 10px 0 !important;
  line-height: 1.4 !important;
}

.vds-hub-desc {
  font-size: 14px !important;
  color: #64748b !important;
  line-height: 1.6 !important;
  margin-bottom: 16px !important;
  flex-grow: 1 !important;
}

.vds-hub-points {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 20px 0 !important;
}

.vds-hub-points li {
  font-size: 13px !important;
  color: #334155 !important;
  margin-bottom: 7px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.vds-hub-points li i {
  color: #10b981 !important;
  font-size: 12px !important;
}

.vds-btn-luxury {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  background: #041a34 !important;
  color: #d4af37 !important;
  padding: 12px 20px !important;
  border-radius: 8px !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
  border: 1px solid #041a34 !important;
  width: 100% !important;
  text-align: center !important;
}

.vds-btn-luxury:hover {
  background: #d4af37 !important;
  color: #041a34 !important;
  border-color: #d4af37 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 18px rgba(212, 175, 55, 0.35) !important;
}

/* Clean Tables */
.vds-table-wrap {
  overflow-x: auto !important;
  margin: 20px 0 !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.04) !important;
}

.vds-clean-table {
  width: 100% !important;
  border-collapse: collapse !important;
  font-size: 14px !important;
  background: #ffffff !important;
}

.vds-clean-table th {
  background: #041a34 !important;
  color: #ffffff !important;
  padding: 14px 18px !important;
  text-align: left !important;
  font-weight: 600 !important;
  border: 1px solid #172a45 !important;
}

.vds-clean-table td {
  padding: 14px 18px !important;
  border: 1px solid #e2e8f0 !important;
  color: #475569 !important;
  vertical-align: top !important;
}

.vds-clean-table tr:nth-child(even) td {
  background: #f8fafc !important;
}

.vds-tag-pill {
  display: inline-block !important;
  padding: 4px 10px !important;
  border-radius: 4px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

.vds-tag-success {
  background: #10b981 !important;
  color: #ffffff !important;
}

.vds-tag-warning {
  background: #f59e0b !important;
  color: #ffffff !important;
}

/* Steps Grid */
.vds-steps-row {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 16px !important;
  margin: 20px 0 !important;
}

.vds-step-box {
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  padding: 20px !important;
  transition: all 0.2s ease !important;
}

.vds-step-box:hover {
  transform: translateY(-3px) !important;
  border-color: #d4af37 !important;
  box-shadow: 0 8px 20px rgba(0,0,0,0.06) !important;
}

.vds-step-badge {
  font-size: 11px !important;
  font-weight: 800 !important;
  color: #d4af37 !important;
  letter-spacing: 1px !important;
  margin-bottom: 8px !important;
}

.vds-step-box h4 {
  font-size: 15px !important;
  color: #041a34 !important;
  margin: 0 0 8px 0 !important;
  font-weight: 700 !important;
}

.vds-step-box p {
  font-size: 13px !important;
  color: #64748b !important;
  margin: 0 !important;
  line-height: 1.6 !important;
}

/* Cross Navigation at bottom */
.vds-cross-nav {
  background: #041a34 !important;
  border-radius: 16px !important;
  padding: 28px !important;
  margin-top: 40px !important;
  border: 1px solid #d4af37 !important;
  color: #ffffff !important;
}

.vds-cross-nav h4 {
  font-family: 'Playfair Display', Georgia, serif !important;
  color: #f6e58d !important;
  font-size: 18px !important;
  margin: 0 0 16px 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

.vds-cross-links {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}

.vds-cross-links a {
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(212, 175, 55, 0.4) !important;
  color: #ffffff !important;
  text-decoration: none !important;
  padding: 7px 14px !important;
  border-radius: 6px !important;
  font-size: 13px !important;
  transition: all 0.2s ease !important;
}

.vds-cross-links a:hover {
  background: #d4af37 !important;
  color: #041a34 !important;
  border-color: #d4af37 !important;
}

/* Mobile Responsive */
@media (max-width: 991px) {
  .vds-hub-grid {
    grid-template-columns: 1fr !important;
  }
  .vds-steps-row {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .vds-meta-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 575px) {
  .vds-steps-row {
    grid-template-columns: 1fr !important;
  }
  .vds-hero-card {
    padding: 24px 20px !important;
  }
  .vds-legal-card {
    padding: 22px 18px !important;
  }
  .vds-hero-title {
    font-size: 20px !important;
  }
}


/* ==========================================================================
   VDS TRAVEL - MASTERPIECE UI/UX DESIGN SYSTEM FOR STATUTORY & MOIT PAGES
   ========================================================================== */
.vds-master-container {
  max-width: 1160px;
  margin: 15px auto 70px auto;
  font-family: 'Montserrat', 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  color: #334155;
  line-height: 1.8;
}

/* 1. Official Executive Trust & Seal Card (Luminous Ivory/White with Gold Accent) */
.vds-trust-card {
  background: #ffffff !important;
  border-radius: 20px !important;
  border: 1px solid #e2e8f0 !important;
  border-top: 5px solid #d4af37 !important;
  padding: 36px 36px 32px 36px !important;
  margin-bottom: 40px !important;
  box-shadow: 0 10px 30px rgba(4, 26, 52, 0.06), 0 1px 3px rgba(0, 0, 0, 0.02) !important;
  position: relative;
  overflow: hidden;
}

.vds-trust-card::after {
  content: '';
  position: absolute;
  top: -60px;
  right: -60px;
  width: 240px;
  height: 240px;
  background: radial-gradient(circle, rgba(212, 175, 55, 0.08) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
}

.vds-trust-top-bar {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin-bottom: 20px !important;
  padding-bottom: 16px !important;
  border-bottom: 1px solid #f1f5f9 !important;
}

.vds-trust-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: rgba(212, 175, 55, 0.12) !important;
  color: #041a34 !important;
  border: 1px solid #d4af37 !important;
  font-size: 11.5px !important;
  font-weight: 800 !important;
  letter-spacing: 1.5px !important;
  padding: 6px 14px !important;
  border-radius: 30px !important;
  text-transform: uppercase !important;
}

.vds-trust-status {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  background: #ecfdf5 !important;
  color: #059669 !important;
  border: 1px solid #a7f3d0 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  padding: 5px 12px !important;
  border-radius: 20px !important;
}

.vds-trust-company {
  font-family: 'Playfair Display', Georgia, serif !important;
  color: #041a34 !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  margin: 0 0 4px 0 !important;
  letter-spacing: 0.5px !important;
}

.vds-trust-company-vn {
  color: #64748b !important;
  font-size: 14px !important;
  margin: 0 0 22px 0 !important;
  font-style: italic !important;
}

.vds-trust-meta-grid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 16px 28px !important;
  background: #f8fafc !important;
  border-radius: 14px !important;
  padding: 22px 24px !important;
  border: 1px solid #edf2f7 !important;
}

.vds-trust-meta-item {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  font-size: 13.5px !important;
  line-height: 1.6 !important;
  color: #475569 !important;
}

.vds-trust-meta-icon {
  color: #d4af37 !important;
  font-size: 16px !important;
  margin-top: 3px !important;
  flex-shrink: 0 !important;
}

.vds-trust-meta-item strong {
  color: #041a34 !important;
  font-weight: 700 !important;
}

/* 2. Section Title Accent */
.vds-accent-header {
  text-align: center !important;
  margin: 45px 0 30px 0 !important;
  position: relative !important;
}

.vds-accent-subtitle {
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: 2px !important;
  color: #d4af37 !important;
  text-transform: uppercase !important;
  margin-bottom: 8px !important;
}

.vds-accent-title {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 26px !important;
  font-weight: 700 !important;
  color: #041a34 !important;
  margin: 0 auto !important;
  position: relative !important;
  display: inline-block !important;
}

.vds-accent-title::after {
  content: '';
  display: block;
  width: 60px;
  height: 3px;
  background: #d4af37;
  margin: 12px auto 0 auto;
  border-radius: 2px;
}

/* 3. Luxury 2-Column Grid for Policy Cards */
.vds-luxury-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 28px !important;
  margin: 30px 0 50px 0 !important;
}

.vds-luxury-card {
  background: #ffffff !important;
  border-radius: 18px !important;
  border: 1px solid #e2e8f0 !important;
  padding: 32px 28px !important;
  display: flex !important;
  flex-direction: column !important;
  box-shadow: 0 4px 20px rgba(4, 26, 52, 0.04) !important;
  transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
  position: relative !important;
  overflow: hidden !important;
}

.vds-luxury-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, #d4af37, #f6e58d, #d4af37);
  opacity: 0;
  transition: opacity 0.3s ease;
}

.vds-luxury-card:hover {
  transform: translateY(-5px) !important;
  border-color: rgba(212, 175, 55, 0.6) !important;
  box-shadow: 0 16px 40px rgba(4, 26, 52, 0.1) !important;
}

.vds-luxury-card:hover::before {
  opacity: 1 !important;
}

.vds-card-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 16px !important;
}

.vds-card-tag {
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 1.5px !important;
  color: #041a34 !important;
  background: rgba(212, 175, 55, 0.15) !important;
  border: 1px solid rgba(212, 175, 55, 0.4) !important;
  padding: 4px 12px !important;
  border-radius: 20px !important;
}

.vds-card-icon-circle {
  width: 48px !important;
  height: 48px !important;
  border-radius: 50% !important;
  background: #041a34 !important;
  color: #d4af37 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 20px !important;
  box-shadow: 0 4px 12px rgba(4, 26, 52, 0.15) !important;
}

.vds-card-heading {
  font-family: 'Playfair Display', Georgia, serif !important;
  color: #041a34 !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  margin: 0 0 10px 0 !important;
  line-height: 1.4 !important;
}

.vds-card-summary {
  font-size: 14px !important;
  color: #64748b !important;
  line-height: 1.65 !important;
  margin-bottom: 18px !important;
  flex-grow: 1 !important;
}

.vds-card-checklist {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 24px 0 !important;
  border-top: 1px dashed #e2e8f0 !important;
  padding-top: 16px !important;
}

.vds-card-checklist li {
  font-size: 13.5px !important;
  color: #334155 !important;
  margin-bottom: 8px !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  line-height: 1.5 !important;
}

.vds-card-checklist li i {
  color: #d4af37 !important;
  font-size: 14px !important;
  flex-shrink: 0 !important;
}

.vds-card-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  background: #041a34 !important;
  color: #ffffff !important;
  padding: 12px 20px !important;
  border-radius: 10px !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
  border: 1px solid #041a34 !important;
  width: 100% !important;
  text-align: center !important;
}

.vds-card-btn:hover {
  background: #d4af37 !important;
  color: #041a34 !important;
  border-color: #d4af37 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 18px rgba(212, 175, 55, 0.35) !important;
}

/* 4. Luxury Detail Policy Pages Card Styling */
.vds-detail-section-card {
  background: #ffffff !important;
  border-radius: 18px !important;
  border: 1px solid #e2e8f0 !important;
  border-left: 5px solid #d4af37 !important;
  padding: 34px 32px !important;
  margin-bottom: 30px !important;
  box-shadow: 0 4px 18px rgba(4, 26, 52, 0.04) !important;
}

.vds-detail-title {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  font-family: 'Playfair Display', Georgia, serif !important;
  color: #041a34 !important;
  font-size: 21px !important;
  font-weight: 700 !important;
  margin: 0 0 16px 0 !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid #f1f5f9 !important;
}

.vds-detail-title i {
  color: #d4af37 !important;
  font-size: 19px !important;
}

.vds-detail-section-card p {
  font-size: 15px !important;
  color: #475569 !important;
  margin-bottom: 14px !important;
}

.vds-detail-checklist {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 16px 0 !important;
}

.vds-detail-checklist li {
  font-size: 14.5px !important;
  color: #334155 !important;
  margin-bottom: 12px !important;
  position: relative !important;
  padding-left: 28px !important;
  line-height: 1.7 !important;
}

.vds-detail-checklist li::before {
  content: '\f058';
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  position: absolute;
  left: 0;
  top: 2px;
  color: #d4af37;
  font-size: 16px;
}

.vds-detail-checklist li strong {
  color: #0f172a !important;
}

/* 5. Luxury Summary Table */
.vds-table-card {
  background: #ffffff !important;
  border-radius: 18px !important;
  border: 1px solid #e2e8f0 !important;
  padding: 28px !important;
  box-shadow: 0 4px 20px rgba(4, 26, 52, 0.04) !important;
  margin-bottom: 40px !important;
  overflow-x: auto !important;
}

.vds-lux-table {
  width: 100% !important;
  border-collapse: collapse !important;
  font-size: 14px !important;
}

.vds-lux-table th {
  background: #041a34 !important;
  color: #ffffff !important;
  padding: 15px 18px !important;
  text-align: left !important;
  font-weight: 600 !important;
  border: 1px solid #041a34 !important;
  font-size: 13.5px !important;
  letter-spacing: 0.5px !important;
}

.vds-lux-table td {
  padding: 15px 18px !important;
  border: 1px solid #e2e8f0 !important;
  color: #475569 !important;
  vertical-align: middle !important;
}

.vds-lux-table tr:nth-child(even) td {
  background: #f8fafc !important;
}

.vds-status-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  padding: 4px 10px !important;
  border-radius: 6px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

.vds-status-success {
  background: #ecfdf5 !important;
  color: #059669 !important;
  border: 1px solid #a7f3d0 !important;
}

/* 6. Responsive Breakdown */
@media (max-width: 991px) {
  .vds-luxury-grid {
    grid-template-columns: 1fr !important;
  }
  .vds-trust-meta-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 575px) {
  .vds-trust-card {
    padding: 24px 20px !important;
  }
  .vds-luxury-card {
    padding: 24px 20px !important;
  }
  .vds-trust-company {
    font-size: 20px !important;
  }
}


/* ==========================================================================
   VDS TRAVEL - LUXURY MOIT PORTAL & 2-COLUMN GRID SYSTEM
   ========================================================================== */
/* 1. Trust Card */
.lux-trust-card {
  background: #ffffff !important;
  border-radius: 20px !important;
  border: 1px solid #e2e8f0 !important;
  box-shadow: 0 10px 32px rgba(4, 26, 52, 0.08) !important;
  overflow: hidden !important;
  margin-bottom: 45px !important;
}

.lux-trust-header {
  background: linear-gradient(135deg, #041a34 0%, #0c2d54 100%) !important;
  padding: 16px 28px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
}

.lux-trust-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: #f1c40f !important;
  font-size: 11.5px !important;
  font-weight: 800 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
}

.lux-trust-status {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  background: rgba(16, 185, 129, 0.18) !important;
  border: 1px solid #10b981 !important;
  color: #34d399 !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  padding: 4px 12px !important;
  border-radius: 20px !important;
}

.lux-trust-body {
  padding: 32px 32px 28px 32px !important;
}

.lux-trust-title {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  color: #041a34 !important;
  margin: 0 0 4px 0 !important;
  letter-spacing: 0.5px !important;
}

.lux-trust-sub {
  color: #64748b !important;
  font-size: 14px !important;
  margin: 0 0 24px 0 !important;
  font-style: italic !important;
}

.lux-stat-grid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 18px !important;
}

.lux-stat-box {
  background: #f8fafc !important;
  border: 1px solid #edf2f7 !important;
  border-radius: 14px !important;
  padding: 18px 20px !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 14px !important;
  transition: all 0.2s ease !important;
}

.lux-stat-box:hover {
  border-color: #d4af37 !important;
  box-shadow: 0 4px 14px rgba(212, 175, 55, 0.12) !important;
  transform: translateY(-2px) !important;
}

.lux-stat-icon {
  width: 42px !important;
  height: 42px !important;
  border-radius: 10px !important;
  background: #041a34 !important;
  color: #d4af37 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 18px !important;
  flex-shrink: 0 !important;
}

.lux-stat-text {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
}

.lux-stat-label {
  font-size: 11.5px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  color: #94a3b8 !important;
}

.lux-stat-val {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #041a34 !important;
}

.lux-stat-val.text-navy {
  color: #041a34 !important;
}

.lux-stat-val.text-gold {
  color: #b45309 !important;
}

.lux-stat-desc {
  font-size: 12.5px !important;
  color: #64748b !important;
  margin-top: 2px !important;
}

/* 2. Section Heading Divider */
.lux-section-header {
  text-align: center !important;
  margin: 50px 0 35px 0 !important;
}

.lux-section-tag {
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: 2px !important;
  color: #d4af37 !important;
  text-transform: uppercase !important;
  margin-bottom: 8px !important;
}

.lux-section-title {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 30px !important;
  font-weight: 700 !important;
  color: #041a34 !important;
  margin: 0 0 14px 0 !important;
}

.lux-anchor-line {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 16px !important;
  margin-bottom: 14px !important;
}

.lux-anchor-line span {
  width: 60px !important;
  height: 1px !important;
  background: #d4af37 !important;
}

.lux-anchor-line i {
  color: #d4af37 !important;
  font-size: 16px !important;
}

.lux-section-desc {
  font-size: 15px !important;
  color: #64748b !important;
  max-width: 650px !important;
  margin: 0 auto !important;
  line-height: 1.65 !important;
}

/* 3. 2-Column Policy Grid (Strict CSS Grid, No Empty P bugs) */
.lux-policy-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 28px !important;
  margin: 35px 0 50px 0 !important;
}

.lux-policy-grid > p {
  display: none !important;
}

.lux-policy-card {
  background: #ffffff !important;
  border-radius: 18px !important;
  border: 1px solid #e2e8f0 !important;
  padding: 32px 28px !important;
  display: flex !important;
  flex-direction: column !important;
  box-shadow: 0 4px 20px rgba(4, 26, 52, 0.05) !important;
  transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
  position: relative !important;
  overflow: hidden !important;
}

.lux-policy-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, #d4af37, #f6e58d, #d4af37);
  opacity: 0;
  transition: opacity 0.3s ease;
}

.lux-policy-card:hover {
  transform: translateY(-6px) !important;
  border-color: rgba(212, 175, 55, 0.6) !important;
  box-shadow: 0 16px 36px rgba(4, 26, 52, 0.12) !important;
}

.lux-policy-card:hover::before {
  opacity: 1 !important;
}

.lux-card-top {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 16px !important;
}

.lux-card-tag {
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 1.5px !important;
  color: #041a34 !important;
  background: rgba(212, 175, 55, 0.14) !important;
  border: 1px solid rgba(212, 175, 55, 0.35) !important;
  padding: 4px 12px !important;
  border-radius: 20px !important;
}

.lux-card-icon {
  width: 48px !important;
  height: 48px !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, #041a34 0%, #0d325e 100%) !important;
  color: #f1c40f !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 20px !important;
  box-shadow: 0 4px 12px rgba(4, 26, 52, 0.2) !important;
}

.lux-card-title {
  font-family: 'Playfair Display', Georgia, serif !important;
  color: #041a34 !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  margin: 0 0 10px 0 !important;
  line-height: 1.4 !important;
}

.lux-card-desc {
  font-size: 14px !important;
  color: #64748b !important;
  line-height: 1.65 !important;
  margin-bottom: 18px !important;
  flex-grow: 1 !important;
}

.lux-card-points {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 24px 0 !important;
  border-top: 1px dashed #e2e8f0 !important;
  padding-top: 16px !important;
}

.lux-card-points li {
  font-size: 13.5px !important;
  color: #334155 !important;
  margin-bottom: 8px !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  line-height: 1.5 !important;
}

.lux-card-points li i {
  color: #059669 !important;
  font-size: 14px !important;
  flex-shrink: 0 !important;
}

.lux-card-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  background: #041a34 !important;
  color: #ffffff !important;
  padding: 12px 20px !important;
  border-radius: 10px !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
  border: 1px solid #041a34 !important;
  width: 100% !important;
  text-align: center !important;
}

.lux-card-btn:hover {
  background: #d4af37 !important;
  color: #041a34 !important;
  border-color: #d4af37 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 18px rgba(212, 175, 55, 0.35) !important;
}

.lux-card-btn:hover i {
  transform: translateX(4px);
  transition: transform 0.2s ease;
}

/* 4. Luxury Table Card */
.lux-table-card {
  background: #ffffff !important;
  border-radius: 18px !important;
  border: 1px solid #e2e8f0 !important;
  padding: 28px !important;
  box-shadow: 0 6px 24px rgba(4, 26, 52, 0.05) !important;
}

.lux-table-title {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #041a34 !important;
  margin-bottom: 20px !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid #edf2f7 !important;
}

.lux-table {
  width: 100% !important;
  border-collapse: collapse !important;
  font-size: 14px !important;
}

.lux-table th {
  background: #041a34 !important;
  color: #ffffff !important;
  padding: 14px 18px !important;
  text-align: left !important;
  font-weight: 600 !important;
  border: 1px solid #041a34 !important;
  font-size: 13.5px !important;
}

.lux-table td {
  padding: 14px 18px !important;
  border: 1px solid #e2e8f0 !important;
  color: #475569 !important;
  vertical-align: middle !important;
}

.lux-table tr:nth-child(even) td {
  background: #f8fafc !important;
}

.lux-pill-success {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  background: #ecfdf5 !important;
  color: #059669 !important;
  border: 1px solid #a7f3d0 !important;
  padding: 4px 10px !important;
  border-radius: 6px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

.lux-table-link {
  color: #041a34 !important;
  font-weight: 700 !important;
  text-decoration: underline !important;
  transition: color 0.2s ease !important;
}

.lux-table-link:hover {
  color: #d4af37 !important;
}

/* Mobile Responsive */
@media (max-width: 991px) {
  .lux-policy-grid {
    grid-template-columns: 1fr !important;
  }
  .lux-stat-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 575px) {
  .lux-trust-body {
    padding: 22px 18px !important;
  }
  .lux-policy-card {
    padding: 22px 18px !important;
  }
  .lux-trust-title {
    font-size: 20px !important;
  }
}


/* ==========================================================================
   VDS TRAVEL - FLAWLESS RESPONSIVE & MOBILE UX/UI OPTIMIZATION
   ========================================================================== */

/* Base Footer Grid Responsive Rules */
.footer-grid-responsive {
  display: grid !important;
  grid-template-columns: 1.5fr 1fr 1fr 1.3fr !important;
  gap: 2rem !important;
  width: 100% !important;
}

.footer-grid-responsive .footer-col {
  min-width: 0 !important;
  word-wrap: break-word !important;
}

.footer-grid-responsive .footer-col ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.footer-grid-responsive .footer-col ul li {
  margin-bottom: 0.65rem !important;
  list-style: none !important;
}

.footer-grid-responsive .footer-col ul li a {
  display: inline-block !important;
  color: #cbd5e1 !important;
  text-decoration: none !important;
  font-size: 13.5px !important;
  transition: color 0.2s ease !important;
}

.footer-grid-responsive .footer-col ul li a:hover {
  color: #f1c40f !important;
}

/* Tablet Breakpoint (<= 991px) */
@media (max-width: 991px) {
  .footer-grid-responsive {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 2rem 1.5rem !important;
  }
  
  .lux-policy-grid {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  .lux-stat-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
}

/* Mobile Breakpoint (<= 768px & <= 575px) */
@media (max-width: 768px) {
  /* Fix squished footer on mobile */
  .footer-grid-responsive {
    display: flex !important;
    flex-direction: column !important;
    gap: 28px !important;
    width: 100% !important;
    padding: 30px 0 10px 0 !important;
  }

  .footer-grid-responsive .footer-col {
    width: 100% !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    padding-bottom: 24px !important;
  }

  .footer-grid-responsive .footer-col:last-child {
    border-bottom: none !important;
    padding-bottom: 0 !important;
  }

  .footer-grid-responsive .footer-col h4 {
    font-size: 16px !important;
    margin-bottom: 14px !important;
  }

  .footer-grid-responsive .footer-col ul li a {
    font-size: 14px !important;
    padding: 3px 0 !important;
  }

  /* Fix Newsletter form width on mobile */
  .newsletter-section {
    padding: 30px 15px !important;
  }
  
  .newsletter-section h3 {
    font-size: 18px !important;
    text-align: center !important;
  }

  .newsletter-section p {
    font-size: 13.5px !important;
    text-align: center !important;
    margin-bottom: 15px !important;
  }

  /* Page Content mobile fixes */
  .page-hero {
    padding: 35px 15px 30px 15px !important;
  }

  .page-hero h1 {
    font-size: 22px !important;
    line-height: 1.35 !important;
  }

  .page-hero p {
    font-size: 13.5px !important;
  }

  .page-content {
    padding: 30px 0 50px 0 !important;
  }

  .lux-trust-card {
    border-radius: 14px !important;
    margin-bottom: 30px !important;
  }

  .lux-trust-header {
    padding: 14px 16px !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
  }

  .lux-trust-badge {
    font-size: 10px !important;
    letter-spacing: 1px !important;
  }

  .lux-trust-status {
    font-size: 10.5px !important;
    padding: 3px 10px !important;
  }

  .lux-trust-body {
    padding: 20px 16px !important;
  }

  .lux-trust-title {
    font-size: 18px !important;
    line-height: 1.35 !important;
  }

  .lux-trust-sub {
    font-size: 13px !important;
    margin-bottom: 16px !important;
  }

  .lux-stat-box {
    padding: 14px 12px !important;
    gap: 12px !important;
  }

  .lux-stat-icon {
    width: 36px !important;
    height: 36px !important;
    font-size: 16px !important;
  }

  .lux-stat-val {
    font-size: 14px !important;
  }

  .lux-stat-desc {
    font-size: 12px !important;
  }

  /* Section heading mobile */
  .lux-section-header {
    margin: 35px 0 25px 0 !important;
  }

  .lux-section-title {
    font-size: 22px !important;
  }

  .lux-section-desc {
    font-size: 13.5px !important;
    padding: 0 10px !important;
  }

  /* Policy cards mobile */
  .lux-policy-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .lux-policy-card {
    padding: 20px 16px !important;
    border-radius: 14px !important;
  }

  .lux-card-title {
    font-size: 17.5px !important;
  }

  .lux-card-desc {
    font-size: 13.5px !important;
    margin-bottom: 14px !important;
  }

  .lux-card-points {
    margin-bottom: 18px !important;
    padding-top: 12px !important;
  }

  .lux-card-points li {
    font-size: 13px !important;
    margin-bottom: 6px !important;
  }

  .lux-card-btn {
    padding: 11px 16px !important;
    font-size: 13px !important;
  }

  /* Table mobile touch scroll */
  .lux-table-card {
    padding: 16px !important;
    border-radius: 14px !important;
  }

  .lux-table-title {
    font-size: 16px !important;
  }

  .lux-table th, .lux-table td {
    padding: 10px 12px !important;
    font-size: 12.5px !important;
  }

  /* Detail section cards mobile */
  .vds-detail-section-card {
    padding: 20px 16px !important;
    border-radius: 14px !important;
    margin-bottom: 20px !important;
  }

  .vds-detail-title {
    font-size: 17.5px !important;
  }

  .vds-detail-section-card p {
    font-size: 14px !important;
  }

  .vds-detail-checklist li {
    font-size: 13.5px !important;
    padding-left: 24px !important;
  }
}


/* === GLOBAL VIEWPORT & MOBILE HORIZONTAL OVERFLOW PREVENTION === */
html, body {
  max-width: 100vw !important;
  overflow-x: hidden !important;
  position: relative !important;
}

header.header-child,
header.home-header {
  max-width: 100vw !important;
  overflow-x: clip !important;
}

/* === HIGH-CONTRAST HERO ON DARK NAVY BACKGROUND === */
.page-hero,
section.page-hero {
  background: linear-gradient(135deg, #041a34 0%, #0c2d54 100%) !important;
  color: #ffffff !important;
  max-width: 100% !important;
}

.page-hero h1,
section.page-hero h1 {
  color: #ffffff !important;
  font-family: 'Playfair Display', Georgia, serif !important;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.4) !important;
}

.page-hero p,
section.page-hero p,
.page-hero .container p,
section.page-hero .container p {
  color: #e2e8f0 !important; /* Luminous, crisp white */
  font-size: 15.5px !important;
  line-height: 1.7 !important;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.3) !important;
}

.page-hero strong,
section.page-hero strong,
.page-hero p strong,
section.page-hero p strong {
  color: #ffffff !important;
  font-weight: 700 !important;
}

@media (max-width: 767px) {
  .page-hero {
    padding: 40px 16px 35px 16px !important;
  }
  .page-hero h1 {
    font-size: 24px !important;
    line-height: 1.3 !important;
  }
  .page-hero p {
    font-size: 14px !important;
    line-height: 1.6 !important;
  }
}
