/**
 * v2-style.css — Ocean Lanka V2 Landing Experience
 * Subtle Beach & Ocean Resort Aesthetic
 */

:root {
    --kexp-navy-950: #020b17;
    --kexp-navy-900: #041426;
    --kexp-navy-800: #071f3a;
    --kexp-navy-700: #0b2c4f;
    
    --kexp-ocean-blue: #0284c7;
    --kexp-ocean-light: #38bdf8;
    --kexp-lagoon-cyan: #06b6d4;
    
    --kexp-sun-gold: #f59e0b;
    --kexp-sun-amber: #fbbf24;
    --kexp-sun-dark: #d97706;
    
    --kexp-white: #ffffff;
    --kexp-glass-bg: rgba(6, 22, 42, 0.96);
    --kexp-glass-bdr: rgba(251, 191, 36, 0.18);
    
    --kexp-font-disp: 'Outfit', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    --kexp-font-body: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    --kexp-font-serif: 'Cinzel', Georgia, serif;
    --kexp-font-sub: 'Outfit', sans-serif;
    
    --kexp-radius-pill: 9999px;
    --kexp-radius-lg: 20px;
    --kexp-radius-md: 14px;
    --kexp-radius-sm: 8px;
}

*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    background-color: #041426;
}

html.kexp-theme-light {
    background-color: #ede8dc;
}

html, body {
    width: 100%;
    min-height: 100%;
    font-family: var(--kexp-font-body);
    color: #e2e8f0;
    overflow-x: clip;
    scroll-behavior: auto !important;
    -webkit-font-smoothing: antialiased;
}

body {
    background-color: transparent !important;
    background-image: none !important;
}

/* Universal Blurred Doodle Background Layer */
body::before {
    content: "";
    position: fixed;
    top: -24px;
    left: -24px;
    right: -24px;
    bottom: -24px;
    background-color: #041426;
    background-image: 
        radial-gradient(circle at 10% 20%, rgba(245, 158, 11, 0.05) 0%, transparent 40%),
        radial-gradient(circle at 90% 60%, rgba(6, 182, 212, 0.05) 0%, transparent 40%),
        linear-gradient(rgba(2, 11, 23, 0.65), rgba(4, 20, 38, 0.75)),
        url('../images/ocean-doodle-bg.jpg');
    background-repeat: repeat;
    background-position: center top;
    background-size: 620px auto;
    filter: blur(0.8px);
    -webkit-filter: blur(0.8px);
    z-index: -1;
    pointer-events: none;
    transform: translate3d(0, 0, 0);
    will-change: transform;
}

body.kexp-theme-light::before {
    background-color: #ede8dc !important;
    background-image: 
        radial-gradient(circle at 10% 20%, rgba(245, 158, 11, 0.06) 0%, transparent 40%),
        radial-gradient(circle at 90% 60%, rgba(6, 182, 212, 0.06) 0%, transparent 40%),
        linear-gradient(rgba(244, 240, 231, 0.60), rgba(237, 230, 215, 0.70)),
        url('../images/ocean-doodle-light-bg.jpg') !important;
    background-size: 620px auto !important;
    filter: blur(0.8px) !important;
    -webkit-filter: blur(0.8px) !important;
}

#wrapper-container,
#apus-main-content,
#main-container,
.main-content,
.main-content.inner,
.site-main,
.detail-tour,
body.single-to_book #apus-main-content,
body.single-to_book #main-container,
body.single-to_book .main-content,
.kexp-v2-wrapper,
.kexp-diving-wrapper {
    background: transparent !important;
    background-image: none !important;
}

a {
    color: inherit;
    text-decoration: none;
}

img, video {
    max-width: 100%;
    height: auto;
    display: block;
}

.kexp-v2-container {
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 24px;
}

/* ═══════════════════════════════════════════════════════════
   TOP CONTACT ANNOUNCEMENT BAR
   ═══════════════════════════════════════════════════════════ */
.kexp-v2-topbar {
    background: rgba(2, 11, 23, 0.95);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    font-size: 12px;
    padding: 8px 0;
    color: #94a3b8;
    position: relative;
    z-index: 102;
}

.kexp-v2-topbar-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
}

.kexp-v2-topbar-left, .kexp-v2-topbar-right {
    display: flex;
    align-items: center;
    gap: 10px;
}

.kexp-v2-topbar-sep {
    color: rgba(255, 255, 255, 0.2);
}

.kexp-v2-topbar-link {
    color: #cbd5e1;
    transition: color 0.2s;
}

.kexp-v2-topbar-link:hover {
    color: var(--kexp-sun-gold);
}

/* ═══════════════════════════════════════════════════════════
   SCROLL PROGRESS BAR & NAV DOTS
   ═══════════════════════════════════════════════════════════ */
.kexp-progress-bar-wrap {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 3px;
    z-index: 1000;
    background: transparent;
}

.kexp-scroll-progress {
    height: 100%;
    width: 0%;
    background: linear-gradient(90deg, #0284c7, #f59e0b, #38bdf8);
    transition: width 0.1s ease-out;
}

.kexp-section-nav {
    position: fixed;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 99;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.kexp-dot {
    position: relative;
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.2);
    border: 1.5px solid rgba(255, 255, 255, 0.4);
    transition: all 0.25s ease;
    display: block;
}

.kexp-dot.active {
    background: var(--kexp-sun-gold);
    border-color: var(--kexp-sun-amber);
    transform: scale(1.3);
    box-shadow: 0 0 10px rgba(245, 158, 11, 0.7);
}

.kexp-dot::after {
    content: attr(data-label);
    position: absolute;
    right: 22px;
    top: 50%;
    transform: translateY(-50%) translateX(10px);
    background: rgba(4, 20, 38, 0.94);
    border: 1px solid rgba(251, 191, 36, 0.25);
    color: var(--kexp-white);
    padding: 4px 10px;
    border-radius: var(--kexp-radius-pill);
    font-size: 11px;
    font-weight: 600;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    transition: all 0.2s ease;
}

.kexp-dot:hover::after {
    opacity: 1;
    transform: translateY(-50%) translateX(0);
}

/* ═══════════════════════════════════════════════════════════
   MAIN FLOATING NAVIGATION
   ═══════════════════════════════════════════════════════════ */
.kexp-v2-nav {
    position: sticky;
    top: 0;
    left: 0;
    width: 100%;
    background: rgba(4, 20, 38, 0.88);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(251, 191, 36, 0.15);
    z-index: 100;
    transition: all 0.3s ease;
}

.kexp-v2-nav-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 24px;
}

.kexp-nav-brand {
    display: inline-flex;
    align-items: center;
    color: var(--kexp-white);
    text-decoration: none;
}

.kexp-nav-brand-img,
.kexp-v2-footer .kexp-nav-brand-img,
.logo img,
.header-logo img,
.apus-header .logo img,
#apus-header .logo img,
#apus-footer .logo img,
.elementor-674 .logo img,
.elementor-widget-apus_element_logo img {
    filter: brightness(0) invert(1) !important;
    transition: filter 0.25s ease, opacity 0.25s ease, transform 0.25s ease !important;
}

.kexp-nav-brand-img {
    height: 48px;
    width: auto;
    max-width: 175px;
    object-fit: contain;
    display: block;
}

.kexp-nav-brand:hover .kexp-nav-brand-img {
    transform: scale(1.02);
    opacity: 0.92;
}

.kexp-v2-footer .kexp-nav-brand-img {
    height: 44px;
    max-width: 160px;
}

.kexp-nav-logo-icon {
    font-size: 26px;
    line-height: 1;
}

.kexp-nav-logo-text {
    font-family: var(--kexp-font-disp);
    font-size: 20px;
    font-weight: 700;
    letter-spacing: -0.5px;
    display: flex;
    flex-direction: column;
    line-height: 1.1;
}

.kexp-nav-logo-text span {
    font-family: var(--kexp-font-sub);
    font-size: 10.5px;
    font-weight: 600;
    color: var(--kexp-lagoon-cyan);
    letter-spacing: 0.5px;
    text-transform: uppercase;
    margin-top: 2px;
}

.kexp-nav-links {
    display: flex;
    align-items: center;
    gap: 26px;
    list-style: none;
}

.kexp-nav-links a {
    font-size: 13.5px;
    font-weight: 600;
    color: #cbd5e1;
    transition: color 0.2s;
    letter-spacing: 0.2px;
}

.kexp-nav-links a:hover {
    color: var(--kexp-sun-gold);
}

.kexp-nav-right {
    display: flex;
    align-items: center;
    gap: 12px;
}

.kexp-theme-toggle {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 13px;
    background: rgba(251, 191, 36, 0.1);
    border: 1px solid rgba(251, 191, 36, 0.25);
    border-radius: var(--kexp-radius-pill);
    color: var(--kexp-sun-amber);
    font-size: 11.5px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s ease;
}

.kexp-theme-toggle:hover {
    background: rgba(251, 191, 36, 0.2);
}

.kexp-theme-icon-sun { display: inline-block; font-size: 13px; }
.kexp-theme-icon-moon { display: none; font-size: 13px; }

.kexp-currency-sel {
    background: var(--kexp-glass-bg);
    border: 1px solid var(--kexp-glass-bdr);
    color: var(--kexp-white);
    padding: 7px 28px 7px 14px;
    border-radius: var(--kexp-radius-pill);
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23fbbf24'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    transition: border-color 0.2s;
}

.kexp-currency-sel option {
    background-color: #071f3a;
    color: #ffffff;
}

.kexp-nav-cta {
    background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
    color: #ffffff;
    font-family: var(--kexp-font-disp);
    font-size: 12.5px;
    font-weight: 600;
    padding: 9px 20px;
    border-radius: var(--kexp-radius-pill);
    box-shadow: 0 4px 14px rgba(245, 158, 11, 0.35);
    transition: all 0.2s ease;
    white-space: nowrap;
}

.kexp-nav-cta:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(245, 158, 11, 0.5);
    color: #ffffff;
}


/* ═══════════════════════════════════════════════════════════
   SECTION 1: HERO SECTION
   ═══════════════════════════════════════════════════════════ */
.kexp-v2-hero-section {
    position: relative;
    min-height: 92vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 100px 0 80px;
    overflow: hidden;
    text-align: center;
    background-color: #041426;
}

body.kexp-theme-light .kexp-v2-hero-section {
    background-color: #ede8dc !important;
}

.kexp-hero-video-wrap {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    overflow: hidden;
    background: transparent;
    -webkit-mask-image: linear-gradient(
        to bottom,
        #000 0%,
        #000 78%,
        rgba(0, 0, 0, 0.85) 86%,
        rgba(0, 0, 0, 0.35) 94%,
        transparent 100%
    );
    mask-image: linear-gradient(
        to bottom,
        #000 0%,
        #000 78%,
        rgba(0, 0, 0, 0.85) 86%,
        rgba(0, 0, 0, 0.35) 94%,
        transparent 100%
    );
}

.kexp-hero-video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.kexp-v2-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(2, 11, 23, 0.70) 0%,
        rgba(4, 20, 38, 0.38) 45%,
        rgba(4, 20, 38, 0.50) 74%,
        rgba(4, 20, 38, 0.88) 88%,
        #041426 100%
    );
    z-index: 1;
}

/* Light Mode: Video stays clear across content, softly transitions into cream at the lower blend */
body.kexp-theme-light .kexp-v2-hero-overlay {
    background: linear-gradient(
        180deg,
        rgba(15, 23, 42, 0.45) 0%,
        rgba(15, 23, 42, 0.15) 45%,
        rgba(15, 23, 42, 0.25) 74%,
        rgba(237, 230, 215, 0.82) 88%,
        #ede8dc 100%
    ) !important;
}

/* Step 2: Solid background smoothly blends into doodle pattern */
#v2-activities::before,
.kexp-top-act-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 140px;
    background: linear-gradient(
        to bottom,
        #041426 0%,
        rgba(4, 20, 38, 0.85) 30%,
        rgba(4, 20, 38, 0.35) 70%,
        transparent 100%
    );
    pointer-events: none;
    z-index: 1;
}

body.kexp-theme-light #v2-activities::before,
body.kexp-theme-light .kexp-top-act-section::before {
    background: linear-gradient(
        to bottom,
        #ede8dc 0%,
        rgba(237, 230, 215, 0.85) 30%,
        rgba(237, 230, 215, 0.35) 70%,
        transparent 100%
    ) !important;
}

/* PADI Course Official Badge */
.kexp-badge-padi {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    background: rgba(3, 10, 26, 0.88) !important;
    border: 1px solid rgba(255, 255, 255, 0.25) !important;
    padding: 3px 10px 3px 5px !important;
    border-radius: 20px !important;
    backdrop-filter: blur(8px) !important;
}

.kexp-padi-badge-logo {
    width: 18px !important;
    height: 18px !important;
    border-radius: 3px !important;
    object-fit: contain !important;
    flex-shrink: 0 !important;
    background: #ffffff !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3) !important;
    display: inline-block !important;
    vertical-align: middle !important;
}

.kexp-v2-hero-content {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 960px;
}

.kexp-trust-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 16px;
    background: rgba(6, 182, 212, 0.15);
    border: 1px solid rgba(56, 189, 248, 0.35);
    border-radius: var(--kexp-radius-pill);
    color: #bae6fd;
    font-size: 11.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 20px;
    backdrop-filter: blur(8px);
}

.kexp-badge-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #38bdf8;
    box-shadow: 0 0 8px #38bdf8;
}

.kexp-v2-hero-title-wrap {
    text-align: center;
    margin-bottom: 18px;
    width: 100%;
}

.kexp-v2-hero-title {
    font-family: var(--kexp-font-disp);
    font-size: 58px;
    font-weight: 700;
    line-height: 1.1;
    color: var(--kexp-white);
    letter-spacing: -1px;
    margin-bottom: 18px;
    text-shadow: 0 4px 20px rgba(0, 0, 0, 0.6);
}

.kexp-v2-hero-sub {
    display: block;
    font-family: var(--kexp-font-serif);
    font-size: 19px;
    font-weight: 600;
    color: var(--kexp-sun-gold);
    letter-spacing: 3px;
    text-transform: uppercase;
    margin-bottom: 8px;
    text-shadow: 0 2px 10px rgba(245, 158, 11, 0.4);
}

.kexp-v2-hero-desc {
    font-size: 16.5px;
    line-height: 1.65;
    color: #cbd5e1;
    max-width: 760px;
    margin-bottom: 32px;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.6);
}

.kexp-v2-hero-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin-bottom: 30px;
    flex-wrap: wrap;
}

.kexp-v2-filter-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    background: rgba(4, 20, 38, 0.85);
    border: 1px solid rgba(251, 191, 36, 0.3);
    padding: 12px 16px;
    border-radius: var(--kexp-radius-lg);
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.4);
    backdrop-filter: blur(14px);
    width: 100%;
    max-width: 920px;
    margin-bottom: 28px;
    flex-wrap: wrap;
}

.kexp-v2-filter-field {
    flex: 1;
    min-width: 180px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 0 12px;
    border-right: 1px solid rgba(255, 255, 255, 0.1);
}

.kexp-v2-filter-field:last-of-type {
    border-right: none;
}

.kexp-v2-filter-field label {
    font-size: 11px;
    font-weight: 700;
    color: var(--kexp-sun-amber);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 4px;
}

.kexp-v2-filter-field select {
    width: 100%;
    background: transparent;
    border: none;
    color: var(--kexp-white);
    font-family: var(--kexp-font-body);
    font-size: 13.5px;
    font-weight: 600;
    cursor: pointer;
    outline: none;
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23fbbf24'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 4px center;
    padding-right: 20px;
}

.kexp-v2-filter-field select option {
    background-color: #071f3a;
    color: #ffffff;
}

.kexp-v2-filter-btn {
    padding: 12px 24px;
    font-size: 13.5px;
    font-weight: 600;
    white-space: nowrap;
}

.kexp-btn-wa {
    background: linear-gradient(135deg, #25D366 0%, #128C7E 100%) !important;
    color: #ffffff !important;
    border: none !important;
    box-shadow: 0 6px 20px rgba(37, 211, 102, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.35) !important;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
    font-weight: 700 !important;
}

.kexp-btn-wa:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 10px 28px rgba(37, 211, 102, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.45) !important;
    background: linear-gradient(135deg, #2ae06d 0%, #17a494 100%) !important;
    color: #ffffff !important;
    text-decoration: none !important;
}

.kexp-v2-hero-tags {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px 18px;
    font-size: 13px;
    font-weight: 600;
    color: #e2e8f0;
}

.kexp-hero-tag-link {
    text-decoration: none !important;
    color: inherit !important;
}

.kexp-v2-hero-tags span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(255, 255, 255, 0.08);
    padding: 6px 16px;
    border-radius: var(--kexp-radius-pill);
    border: 1px solid rgba(255, 255, 255, 0.16);
    backdrop-filter: blur(8px);
    transition: all 0.22s ease;
}

.kexp-hero-tag-link:hover span {
    background: rgba(255, 255, 255, 0.16);
    border-color: rgba(251, 191, 36, 0.5);
    transform: translateY(-1px);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.3);
}

.kexp-hero-tag-pay {
    border-color: rgba(56, 189, 248, 0.3) !important;
    background: rgba(6, 182, 212, 0.12) !important;
    color: #bae6fd !important;
}

body.kexp-theme-light .kexp-v2-hero-tags {
    color: #0f172a;
}

body.kexp-theme-light .kexp-v2-hero-tags span {
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid rgba(15, 23, 42, 0.15);
    color: #0f172a;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

body.kexp-theme-light .kexp-hero-tag-pay {
    border-color: rgba(2, 132, 199, 0.25) !important;
    background: rgba(240, 249, 255, 0.95) !important;
    color: #0369a1 !important;
}

.kexp-scroll-cue {
    position: absolute;
    bottom: 24px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 700;
    color: var(--kexp-sun-amber);
    text-transform: uppercase;
    letter-spacing: 1px;
}

.kexp-scroll-arrow {
    width: 14px;
    height: 14px;
    border-right: 2px solid var(--kexp-sun-gold);
    border-bottom: 2px solid var(--kexp-sun-gold);
    transform: rotate(45deg);
}

/* ═══════════════════════════════════════════════════════════
   SECTION HEADERS
   ═══════════════════════════════════════════════════════════ */
.kexp-v2-section {
    position: relative;
    padding: 85px 0;
}

/* ═══════════════════════════════════════════════════════════
   SECTION HEADERS: FROSTED PLATFORMS (DARK & LIGHT MODE)
   Protects text from doodle background patterns on all pages
   ═══════════════════════════════════════════════════════════ */
.kexp-v2-section-header,
.kexp-top-act-header,
.kexp-reviews-header,
.kexp-safari-sec-header {
    text-align: center;
    max-width: 820px;
    margin: 0 auto 48px;
    background: rgba(8, 22, 44, 0.92) !important;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 24px;
    padding: 32px 38px 28px;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45);
    position: relative;
    z-index: 2;
}

/* Light Mode: White Platform */
body.kexp-theme-light .kexp-v2-section-header,
body.kexp-theme-light .kexp-top-act-header,
body.kexp-theme-light .kexp-reviews-header,
body.kexp-theme-light .kexp-safari-sec-header {
    background: rgba(255, 255, 255, 0.95) !important;
    border: 1px solid #dbe2ea !important;
    box-shadow: 0 10px 32px rgba(0, 0, 0, 0.08) !important;
}

.kexp-who-badge-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 16px;
    background: rgba(245, 158, 11, 0.16);
    border: 1px solid rgba(251, 191, 36, 0.35);
    border-radius: var(--kexp-radius-pill);
    color: #fbbf24;
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    margin-bottom: 14px;
}

body.kexp-theme-light .kexp-who-badge-pill {
    background: rgba(245, 158, 11, 0.12) !important;
    border-color: rgba(217, 119, 6, 0.35) !important;
    color: #b45309 !important;
}

.kexp-pill-adventures-highlight {
    background: linear-gradient(135deg, rgba(245, 158, 11, 0.22) 0%, rgba(14, 165, 233, 0.18) 100%) !important;
    border: 1px solid rgba(245, 158, 11, 0.6) !important;
    box-shadow: 0 4px 18px rgba(245, 158, 11, 0.22), 0 0 14px rgba(56, 189, 248, 0.16) !important;
    font-size: 12.5px !important;
    letter-spacing: 0.4px !important;
    padding: 7px 18px !important;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

body.kexp-theme-light .kexp-pill-adventures-highlight {
    background: linear-gradient(135deg, rgba(245, 158, 11, 0.15) 0%, rgba(14, 165, 233, 0.12) 100%) !important;
    border-color: rgba(217, 119, 6, 0.5) !important;
    box-shadow: 0 4px 14px rgba(217, 119, 6, 0.15) !important;
}

.kexp-v2-section-title,
.kexp-top-act-header h2,
.kexp-reviews-header h2,
.kexp-safari-sec-header .kexp-safari-sec-title {
    font-family: var(--kexp-font-disp);
    font-size: 34px;
    font-weight: 800;
    color: #ffffff !important;
    letter-spacing: -0.4px;
    line-height: 1.25;
    margin-bottom: 12px;
    text-shadow: 0 2px 14px rgba(0, 0, 0, 0.45);
}

body.kexp-theme-light .kexp-v2-section-title,
body.kexp-theme-light .kexp-top-act-header h2,
body.kexp-theme-light .kexp-reviews-header h2,
body.kexp-theme-light .kexp-safari-sec-header .kexp-safari-sec-title {
    color: #0f172a !important;
    text-shadow: none !important;
}

.kexp-v2-section-subtitle,
.kexp-top-act-header p,
.kexp-reviews-header p,
.kexp-safari-sec-header .kexp-safari-sec-desc {
    font-size: 15.5px;
    line-height: 1.6;
    color: #cbd5e1 !important;
    margin: 0;
}

body.kexp-theme-light .kexp-v2-section-subtitle,
body.kexp-theme-light .kexp-top-act-header p,
body.kexp-theme-light .kexp-reviews-header p,
body.kexp-theme-light .kexp-safari-sec-header .kexp-safari-sec-desc {
    color: #475569 !important;
}

/* ═══════════════════════════════════════════════════════════
   ACTIVITY & PACKAGE CARDS (Slim, Proportional Proportions)
   ═══════════════════════════════════════════════════════════ */
.kexp-act-richgrid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(270px, 315px));
    justify-content: center;
    gap: 20px;
    max-width: 1040px;
    margin: 0 auto;
    width: 100%;
}

@media (min-width: 992px) {
    .kexp-act-richgrid {
        grid-template-columns: repeat(3, minmax(0, 315px));
        justify-content: center;
    }
}

@media (max-width: 991px) and (min-width: 640px) {
    .kexp-act-richgrid {
        grid-template-columns: repeat(2, minmax(0, 315px));
        justify-content: center;
    }
}

#subpkgGrid {
    grid-template-columns: repeat(auto-fit, minmax(270px, 315px));
    justify-content: center;
}

.kexp-rich-card {
    background: linear-gradient(180deg, #0e233d 0%, #071629 100%);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 14px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    text-decoration: none !important;
    color: inherit !important;
    transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.4);
    max-width: 315px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
    cursor: pointer;
}

a.kexp-rich-card,
a.kexp-rich-card:hover,
a.kexp-rich-card:focus,
a.kexp-rich-card:active {
    text-decoration: none !important;
    color: inherit !important;
}

@media (hover: hover) and (pointer: fine) {
    .kexp-rich-card:hover {
        transform: translateY(-4px);
        border-color: #38bdf8;
        box-shadow: 0 12px 30px rgba(0, 0, 0, 0.6), 0 0 16px rgba(56, 189, 248, 0.2);
    }
}

.kexp-combo-highlight-card {
    background: linear-gradient(180deg, #102644 0%, #07172b 100%) !important;
    border: 1.5px solid rgba(245, 158, 11, 0.45) !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45), 0 0 20px rgba(245, 158, 11, 0.12) !important;
    position: relative;
}

@media (hover: hover) and (pointer: fine) {
    .kexp-combo-highlight-card:hover {
        border-color: #fbbf24 !important;
        box-shadow: 0 14px 34px rgba(0, 0, 0, 0.6), 0 0 26px rgba(245, 158, 11, 0.28) !important;
    }
}

.kexp-badge-luxury {
    background: linear-gradient(135deg, #b45309 0%, #d97706 50%, #f59e0b 100%) !important;
    border: 1px solid rgba(254, 240, 138, 0.45) !important;
    color: #ffffff !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
    font-weight: 800 !important;
    letter-spacing: 0.4px;
}

.kexp-badge-cat-lux {
    background: rgba(4, 18, 36, 0.92) !important;
    border: 1px solid rgba(245, 158, 11, 0.35) !important;
    color: #fde68a !important;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.kexp-combo-highlight-card .kexp-rich-title {
    color: #ffffff;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: -0.2px;
}

.kexp-combo-highlight-card .kexp-rich-desc {
    color: #cbd5e1;
    font-size: 11.5px;
    line-height: 1.45;
}

.kexp-combo-lux-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 12px 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 5px !important;
}

.kexp-combo-lux-item {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    background: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 6px !important;
    padding: 5px 8px !important;
    font-size: 11px !important;
    line-height: 1.3 !important;
    transition: all 0.2s ease !important;
    margin: 0 !important;
}

@media (hover: hover) and (pointer: fine) {
    .kexp-combo-highlight-card:hover .kexp-combo-lux-item,
    .kexp-combo-lux-item:hover {
        background: rgba(245, 158, 11, 0.08) !important;
        border-color: rgba(245, 158, 11, 0.25) !important;
    }
}

.kexp-combo-item-name {
    color: #f1f5f9;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    padding-right: 6px;
    font-size: 11px;
}

.kexp-combo-item-tag {
    font-size: 9.5px;
    font-weight: 700;
    letter-spacing: 0.2px;
    color: #38bdf8;
    background: rgba(56, 189, 248, 0.12);
    border: 1px solid rgba(56, 189, 248, 0.28);
    padding: 1.5px 6px;
    border-radius: 999px;
    white-space: nowrap;
    flex-shrink: 0;
    line-height: 1.2;
}

.kexp-combo-highlight-card .kexp-rich-cta {
    background: linear-gradient(135deg, #f59e0b, #d97706) !important;
    box-shadow: 0 3px 12px rgba(245, 158, 11, 0.4) !important;
    padding: 6px 13px;
    color: #ffffff !important;
    font-weight: 700;
}

body.kexp-theme-light .kexp-combo-highlight-card {
    background: #ffffff !important;
    border-color: rgba(217, 119, 6, 0.45) !important;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08), 0 0 16px rgba(245, 158, 11, 0.15) !important;
}

body.kexp-theme-light .kexp-combo-lux-item {
    background: #f8fafc !important;
    border-color: #e2e8f0 !important;
}

body.kexp-theme-light .kexp-combo-item-name {
    color: #0f172a !important;
}

body.kexp-theme-light .kexp-combo-item-tag {
    color: #0284c7 !important;
    background: rgba(2, 132, 199, 0.10) !important;
    border-color: rgba(2, 132, 199, 0.25) !important;
}

/* Special Combos Dedicated Page: Luxury Headers, Badges & Cards */
.kexp-badge-luxury-pill {
    background: linear-gradient(135deg, rgba(217, 119, 6, 0.28) 0%, rgba(245, 158, 11, 0.22) 100%) !important;
    border: 1px solid rgba(251, 191, 36, 0.55) !important;
    color: #fde68a !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: 0.6px !important;
    text-transform: uppercase !important;
    box-shadow: 0 4px 14px rgba(245, 158, 11, 0.16) !important;
    padding: 6px 18px !important;
}

.kexp-combos-page .kexp-diving-hero-header {
    background: linear-gradient(180deg, rgba(14, 34, 60, 0.95) 0%, rgba(7, 20, 38, 0.96) 100%) !important;
    border: 1.5px solid rgba(245, 158, 11, 0.35) !important;
    box-shadow: 0 14px 38px rgba(0, 0, 0, 0.6), 0 0 24px rgba(245, 158, 11, 0.12) !important;
    position: relative;
    padding: 24px 30px 22px !important;
    margin: 0 auto 24px !important;
    max-width: 840px !important;
}

.kexp-combos-page .kexp-v2-section-header {
    background: linear-gradient(180deg, rgba(14, 34, 60, 0.95) 0%, rgba(7, 20, 38, 0.96) 100%) !important;
    border: 1.5px solid rgba(245, 158, 11, 0.35) !important;
    box-shadow: 0 14px 38px rgba(0, 0, 0, 0.6), 0 0 24px rgba(245, 158, 11, 0.12) !important;
    position: relative;
    padding: 24px 30px 22px !important;
    margin: 0 auto 36px !important;
    max-width: 840px !important;
}

.kexp-combos-page .kexp-diving-main-title {
    color: #ffffff !important;
    font-weight: 800 !important;
    letter-spacing: -0.3px !important;
    font-size: 28px !important;
    margin-bottom: 8px !important;
    line-height: 1.25 !important;
}

.kexp-combos-page .kexp-v2-section-title {
    color: #ffffff !important;
    font-weight: 800 !important;
    letter-spacing: -0.3px !important;
    font-size: 26px !important;
    margin-bottom: 8px !important;
    line-height: 1.25 !important;
}

.kexp-combos-page .kexp-diving-lead {
    color: #cbd5e1 !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
    max-width: 760px;
    margin: 0 auto !important;
}

.kexp-combos-page .kexp-v2-section-subtitle {
    color: #cbd5e1 !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
    max-width: 760px;
    margin: 0 auto !important;
}

@media (max-width: 768px) {
    .kexp-combos-page .kexp-diving-hero-header,
    .kexp-combos-page .kexp-v2-section-header {
        padding: 18px 18px 16px !important;
        margin-bottom: 20px !important;
        border-radius: 16px !important;
    }
    .kexp-combos-page .kexp-diving-main-title {
        font-size: 22px !important;
    }
    .kexp-combos-page .kexp-v2-section-title {
        font-size: 20px !important;
    }
    .kexp-combos-page .kexp-diving-lead,
    .kexp-combos-page .kexp-v2-section-subtitle {
        font-size: 13px !important;
    }
}

body.kexp-theme-light.kexp-combos-page .kexp-diving-hero-header,
body.kexp-theme-light.kexp-combos-page .kexp-v2-section-header {
    background: #ffffff !important;
    border: 1.5px solid rgba(217, 119, 6, 0.35) !important;
    box-shadow: 0 10px 32px rgba(0, 0, 0, 0.08), 0 0 20px rgba(245, 158, 11, 0.1) !important;
}

body.kexp-theme-light .kexp-badge-luxury-pill {
    background: rgba(245, 158, 11, 0.14) !important;
    border-color: rgba(217, 119, 6, 0.45) !important;
    color: #b45309 !important;
    box-shadow: none !important;
}

body.kexp-theme-light.kexp-combos-page .kexp-diving-subtitle {
    color: #0284c7 !important;
}

body.kexp-theme-light.kexp-combos-page .kexp-diving-lead,
body.kexp-theme-light.kexp-combos-page .kexp-v2-section-subtitle {
    color: #475569 !important;
}

/* Special Combos Cards: Perfectly Aligned Meta Rows & Titles */
.kexp-combos-page .kexp-rich-meta-row {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    margin-bottom: 8px !important;
    min-height: 40px !important;
    justify-content: center !important;
}

.kexp-combos-page .kexp-rich-meta-item {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 11px !important;
    color: #94a3b8 !important;
    white-space: nowrap !important;
    line-height: 1.3 !important;
}

.kexp-combos-page .kexp-rich-meta-item svg {
    width: 13px !important;
    height: 13px !important;
    flex-shrink: 0 !important;
    color: #38bdf8 !important;
}

.kexp-combos-page .kexp-rich-title {
    min-height: 42px !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    margin-bottom: 6px !important;
    line-height: 1.3 !important;
}

.kexp-combos-page .kexp-rich-desc {
    min-height: 52px !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    margin-bottom: 10px !important;
}

body.kexp-theme-light.kexp-combos-page .kexp-rich-meta-item {
    color: #64748b !important;
}

body.kexp-theme-light.kexp-combos-page .kexp-rich-meta-item svg {
    color: #0284c7 !important;
}

.kexp-combos-section {
    padding-top: 40px !important;
    padding-bottom: 60px !important;
    position: relative;
}

.kexp-combos-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 80%;
    max-width: 900px;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(245, 158, 11, 0.3), rgba(56, 189, 248, 0.3), transparent);
}

.kexp-rich-thumb {
    position: relative;
    width: 100%;
    height: 155px;
    overflow: hidden;
}

.kexp-rich-thumb > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

@media (hover: hover) and (pointer: fine) {
    .kexp-rich-card:hover .kexp-rich-thumb > img {
        transform: scale(1.05);
    }
}

.kexp-badge-popular {
    position: absolute;
    top: 10px;
    left: 10px;
    background: linear-gradient(135deg, #ea580c, #f59e0b);
    color: #ffffff;
    font-size: 9px;
    font-weight: 700;
    padding: 3px 8px;
    border-radius: var(--kexp-radius-pill);
    letter-spacing: 0.3px;
    line-height: 1.2;
}

.kexp-badge-rating {
    position: absolute;
    bottom: 10px;
    left: 10px;
    background: rgba(4, 20, 38, 0.88);
    border: 1px solid rgba(251, 191, 36, 0.3);
    color: var(--kexp-sun-amber);
    font-size: 10px;
    font-weight: 700;
    padding: 2.5px 7px;
    border-radius: var(--kexp-radius-pill);
    line-height: 1.2;
}

.kexp-badge-count {
    color: #94a3b8;
    font-weight: 500;
}

.kexp-badge-cat {
    position: absolute;
    top: 10px;
    right: 10px;
    background: rgba(4, 20, 38, 0.88);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: #f1f5f9;
    font-size: 9.5px;
    font-weight: 700;
    padding: 2.5px 8px;
    border-radius: var(--kexp-radius-pill);
    line-height: 1.2;
}

.kexp-rich-body {
    padding: 14px 16px 16px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.kexp-rich-meta-row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 6px;
    font-size: 11px;
    color: #94a3b8;
}

.kexp-rich-meta-item {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.kexp-rich-meta-item svg {
    width: 12px;
    height: 12px;
    flex-shrink: 0;
}

.kexp-rich-title {
    font-family: var(--kexp-font-disp);
    font-size: 15px;
    font-weight: 700;
    color: var(--kexp-white);
    margin-bottom: 5px;
    line-height: 1.28;
    letter-spacing: -0.2px;
}

.kexp-rich-desc {
    font-size: 12px;
    line-height: 1.45;
    color: #cbd5e1;
    margin-bottom: 10px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 35px;
}

.kexp-rich-features {
    list-style: none;
    margin-bottom: 12px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 11px;
    color: #94a3b8;
}

.kexp-rich-features li {
    display: block;
    line-height: 1.45;
    margin-bottom: 3px;
}

.kexp-rich-features li.kexp-weather-note {
    background: rgba(245, 158, 11, 0.09);
    border-left: 3px solid #f59e0b;
    padding: 6px 9px;
    border-radius: 4px;
    margin-top: 6px;
    margin-bottom: 6px;
    color: #fde68a;
    font-size: 11px;
    line-height: 1.45;
}

.kexp-rich-features li.kexp-ticket-highlight,
.rich-features li.kexp-ticket-highlight,
li.kexp-ticket-highlight {
    background: rgba(56, 189, 248, 0.09);
    border-left: 3px solid #38bdf8;
    padding: 6px 9px;
    border-radius: 4px;
    margin-top: 6px;
    margin-bottom: 6px;
    color: #bae6fd;
    font-size: 11px;
    line-height: 1.45;
    font-weight: 500;
}
.kexp-rich-features li.kexp-ticket-highlight::before,
.rich-features li.kexp-ticket-highlight::before,
li.kexp-ticket-highlight::before {
    display: none !important;
}

body.kexp-theme-light li.kexp-ticket-highlight {
    background: rgba(2, 132, 199, 0.10) !important;
    border-left: 3px solid #0284c7 !important;
    color: #0369a1 !important;
}

.kexp-ticket-highlight-amber,
li.kexp-ticket-highlight-amber {
    background: rgba(245, 158, 11, 0.14) !important;
    border: 1px solid rgba(245, 158, 11, 0.35) !important;
    border-left: 4px solid #f59e0b !important;
    padding: 10px 14px !important;
    border-radius: 6px !important;
    margin-top: 10px !important;
    margin-bottom: 10px !important;
    font-size: 14.5px !important;
    line-height: 1.6 !important;
    list-style: none !important;
    color: #fef08a !important;
    font-weight: 600 !important;
    display: block !important;
}
.kexp-ticket-highlight-amber::before,
li.kexp-ticket-highlight-amber::before {
    display: none !important;
}
.kexp-ticket-highlight-amber strong {
    color: #fbbf24 !important;
}
body.kexp-theme-light .kexp-ticket-highlight-amber,
body.kexp-theme-light li.kexp-ticket-highlight-amber {
    background: rgba(245, 158, 11, 0.12) !important;
    border-color: rgba(217, 119, 6, 0.4) !important;
    border-left: 4px solid #d97706 !important;
    color: #92400e !important;
}
body.kexp-theme-light .kexp-ticket-highlight-amber strong {
    color: #b45309 !important;
}

.kexp-card-offer-badge {
    display: flex;
    align-items: center;
    gap: 6px;
    background: rgba(245, 158, 11, 0.12);
    border: 1px dashed rgba(245, 158, 11, 0.45);
    border-radius: 6px;
    padding: 5px 9px;
    margin-top: 8px;
    margin-bottom: 4px;
    font-size: 11px;
    line-height: 1.35;
    color: #fde68a;
}

body.kexp-theme-light .kexp-card-offer-badge {
    background: rgba(245, 158, 11, 0.14) !important;
    border-color: rgba(217, 119, 6, 0.45) !important;
    color: #92400e !important;
}

@media (max-width: 768px) {
    .kexp-card-offer-badge {
        font-size: 10px !important;
        padding: 4px 7px !important;
        margin-top: 6px !important;
        margin-bottom: 2px !important;
    }
}

.kexp-rich-footer {
    margin-top: auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 10px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.kexp-rich-from {
    font-size: 9.5px;
    color: #94a3b8;
    text-transform: uppercase;
    display: block;
    line-height: 1;
}

.kexp-rich-price {
    font-family: var(--kexp-font-disp);
    font-size: 18px;
    font-weight: 700;
    color: var(--kexp-sun-gold);
    line-height: 1.1;
}

.kexp-rich-price-wrap {
    display: flex;
    flex-direction: column;
    gap: 2px;
    align-items: flex-start;
}

.kexp-price-meta-row {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    line-height: 1;
}

.kexp-price-orig {
    font-family: var(--kexp-font-disp);
    font-size: 12px;
    font-weight: 600;
    color: #94a3b8;
    text-decoration: line-through;
    text-decoration-color: #ef4444;
    text-decoration-thickness: 1.5px;
}

.kexp-price-discount-badge {
    display: inline-flex;
    align-items: center;
    font-family: var(--kexp-font-disp);
    font-size: 9.5px;
    font-weight: 700;
    color: #10b981;
    background: rgba(16, 185, 129, 0.15);
    border: 1px solid rgba(16, 185, 129, 0.35);
    padding: 2px 5px;
    border-radius: 4px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    line-height: 1.2;
}

.kexp-rich-cta {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 13px;
    background: linear-gradient(135deg, #f59e0b, #d97706);
    color: #ffffff;
    font-family: var(--kexp-font-disp);
    font-size: 11px;
    font-weight: 700;
    border-radius: var(--kexp-radius-pill);
    box-shadow: 0 3px 10px rgba(245, 158, 11, 0.35);
    transition: all 0.2s ease;
}

@media (hover: hover) and (pointer: fine) {
    .kexp-rich-card:hover .kexp-rich-cta {
        box-shadow: 0 5px 14px rgba(245, 158, 11, 0.5);
    }
}

/* ═══════════════════════════════════════════════════════════
   SECTION 3: WHO WE ARE
   ═══════════════════════════════════════════════════════════ */
.kexp-who-unified-card {
    background: linear-gradient(160deg, #0a1f3a 0%, #041224 100%) !important;
    border: 1.5px solid rgba(56, 189, 248, 0.25) !important;
    border-radius: var(--kexp-radius-lg);
    padding: 40px;
    box-shadow: 0 18px 50px rgba(0, 0, 0, 0.65) !important;
}

.kexp-who-header {
    text-align: center;
    margin-bottom: 32px;
}

.kexp-about-card-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 700;
    color: var(--kexp-sun-gold);
    text-transform: uppercase;
    letter-spacing: 0.8px;
    margin-bottom: 8px;
}

.kexp-label-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--kexp-sun-gold);
}

.kexp-who-title {
    font-family: var(--kexp-font-disp);
    font-size: 30px;
    font-weight: 700;
    color: var(--kexp-white);
}

.kexp-who-unified-body {
    display: grid;
    grid-template-columns: 1fr 1px 1fr;
    gap: 32px;
}

.kexp-who-col-separator {
    background: rgba(255, 255, 255, 0.08);
    height: 100%;
}

.kexp-who-section-block {
    margin-bottom: 20px;
}

.kexp-who-text {
    font-size: 14px;
    line-height: 1.65;
    color: #cbd5e1;
    margin-top: 10px;
    margin-bottom: 14px;
}

.kexp-who-highlights {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.kexp-who-chip {
    padding: 5px 14px;
    background: rgba(14, 38, 68, 0.85);
    border: 1px solid rgba(56, 189, 248, 0.25);
    border-radius: var(--kexp-radius-pill);
    font-size: 12px;
    font-weight: 600;
    color: #e2e8f0;
}

.kexp-who-divider {
    height: 1px;
    background: rgba(255, 255, 255, 0.08);
    margin: 20px 0;
}

.kexp-who-stat-hero-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-bottom: 18px;
}

.kexp-who-stat-showcase-card {
    background: #020b17 !important;
    border: 1px solid rgba(251, 191, 36, 0.28) !important;
    padding: 16px;
    border-radius: var(--kexp-radius-md);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.5) !important;
}

.kexp-stat-card-badge-top {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 10.5px;
    font-weight: 600;
    color: var(--kexp-sun-gold);
    letter-spacing: 0.5px;
    margin-bottom: 6px;
}

.kexp-stat-num-row {
    display: flex;
    align-items: baseline;
    gap: 6px;
    margin-bottom: 4px;
}

.kexp-stat-giant-num {
    font-family: var(--kexp-font-disp);
    font-size: 32px;
    font-weight: 700;
    color: var(--kexp-white);
    line-height: 1;
}

.kexp-stat-gold-plus {
    color: var(--kexp-sun-gold);
}

.kexp-stat-unit-text {
    font-size: 11.5px;
    color: #94a3b8;
    font-weight: 500;
}

.kexp-stat-card-title {
    font-family: var(--kexp-font-disp);
    font-size: 13px;
    font-weight: 600;
    color: var(--kexp-white);
    margin-bottom: 4px;
}

.kexp-stat-card-desc {
    font-size: 11.5px;
    color: #94a3b8;
    line-height: 1.4;
}

.kexp-who-google-bar {
    display: flex;
    align-items: center;
    gap: 12px;
    background: rgba(245, 158, 11, 0.1);
    border: 1px solid rgba(251, 191, 36, 0.25);
    padding: 10px 16px;
    border-radius: var(--kexp-radius-pill);
}

.kexp-who-google-stars {
    color: var(--kexp-sun-amber);
    font-size: 15px;
    letter-spacing: 2px;
}

.kexp-who-google-score {
    font-size: 12.5px;
    color: #ffffff;
}

.kexp-who-google-sub {
    font-size: 11px;
    color: #94a3b8;
}

.kexp-video-frame-wrap {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%;
    border-radius: var(--kexp-radius-md);
    overflow: hidden;
    border: 1px solid rgba(251, 191, 36, 0.2);
    margin-bottom: 12px;
}

.kexp-youtube-iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: none;
}

.kexp-video-play-badge {
    color: #e62117;
    font-size: 12px;
}

.kexp-who-pillars {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 14px;
}

.kexp-who-pillar {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-size: 13px;
    color: #cbd5e1;
}

.kexp-who-pillar strong {
    display: block;
    color: var(--kexp-white);
    font-weight: 700;
    margin-bottom: 2px;
}

.kexp-pillar-icon {
    font-size: 18px;
    line-height: 1;
}

/* ═══════════════════════════════════════════════════════════
   SECTION 4: DIVE SITES & REEF DEPTH GUIDE
   ═══════════════════════════════════════════════════════════ */
.kexp-v2-zone-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 22px;
    margin-bottom: 36px;
}

.kexp-v2-zone-card {
    background: linear-gradient(160deg, #0a1f3a 0%, #041224 100%) !important;
    border: 1.5px solid rgba(56, 189, 248, 0.22) !important;
    border-radius: var(--kexp-radius-lg);
    padding: 26px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.55) !important;
    transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.kexp-v2-zone-card:hover {
    transform: translateY(-4px);
    border-color: var(--kexp-sun-gold) !important;
    box-shadow: 0 14px 38px rgba(0, 0, 0, 0.65) !important;
}

.kexp-v2-zone-featured {
    border-color: var(--kexp-sun-amber) !important;
    background: linear-gradient(165deg, #102846 0%, #061528 100%) !important;
    box-shadow: 0 12px 35px rgba(245, 158, 11, 0.12), 0 10px 30px rgba(0, 0, 0, 0.55) !important;
}

.kexp-v2-zone-icon {
    font-size: 30px;
    margin-bottom: 10px;
}

.kexp-v2-zone-time {
    display: inline-block;
    padding: 3px 10px;
    background: rgba(255, 255, 255, 0.08);
    border-radius: var(--kexp-radius-pill);
    font-size: 11px;
    font-weight: 600;
    color: var(--kexp-sun-amber);
    margin-bottom: 10px;
}

.kexp-v2-zone-title {
    font-family: var(--kexp-font-disp);
    font-size: 19px;
    font-weight: 600;
    color: var(--kexp-white);
    margin-bottom: 6px;
}

.kexp-v2-zone-desc {
    font-size: 13.5px;
    line-height: 1.55;
    color: #cbd5e1;
    margin-bottom: 12px;
}

.kexp-v2-zone-tag {
    font-size: 11.5px;
    font-weight: 700;
    color: var(--kexp-lagoon-cyan);
}

/* Depth Box */
.kexp-v2-depth-box {
    background: linear-gradient(160deg, #0a1f3a 0%, #041224 100%) !important;
    border: 1.5px solid rgba(56, 189, 248, 0.22) !important;
    border-radius: var(--kexp-radius-lg);
    padding: 30px;
    box-shadow: 0 14px 40px rgba(0, 0, 0, 0.6) !important;
}

.kexp-v2-depth-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 24px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    padding-bottom: 14px;
}

.kexp-v2-depth-tab {
    padding: 8px 16px;
    background: rgba(8, 25, 48, 0.9) !important;
    border: 1px solid rgba(56, 189, 248, 0.25) !important;
    border-radius: var(--kexp-radius-pill);
    color: #cbd5e1;
    font-family: var(--kexp-font-body);
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s ease;
}

.kexp-v2-depth-tab:hover {
    background: rgba(245, 158, 11, 0.2) !important;
    border-color: var(--kexp-sun-gold) !important;
    color: var(--kexp-white);
}

.kexp-v2-depth-tab.active {
    background: linear-gradient(135deg, #f59e0b, #d97706) !important;
    border-color: transparent !important;
    color: #ffffff !important;
}

.kexp-v2-depth-pane {
    display: none;
}

.kexp-v2-depth-pane.active {
    display: block;
}

.kexp-v2-depth-info h4 {
    font-family: var(--kexp-font-disp);
    font-size: 18px;
    font-weight: 700;
    color: var(--kexp-white);
    margin-bottom: 6px;
}

.kexp-v2-depth-info p {
    font-size: 13.5px;
    color: #94a3b8;
    margin-bottom: 18px;
    max-width: 800px;
}

.kexp-v2-reef-tags-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.kexp-v2-reef-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 12px;
    background: #020b17 !important;
    border: 1px solid rgba(6, 182, 212, 0.3) !important;
    border-radius: var(--kexp-radius-pill);
    font-size: 12px;
    font-weight: 600;
    color: #e2e8f0;
}

.kexp-v2-reef-meter {
    font-size: 10.5px;
    font-weight: 600;
    color: var(--kexp-sun-gold);
    background: rgba(245, 158, 11, 0.2);
    padding: 2px 6px;
    border-radius: var(--kexp-radius-pill);
}

/* ═══════════════════════════════════════════════════════════
   SECTION 5: PACKAGES & COURSES
   ═══════════════════════════════════════════════════════════ */
.kexp-v2-pkg-tabs {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 36px;
}

.kexp-v2-pkg-tab {
    padding: 9px 20px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(251, 191, 36, 0.2);
    border-radius: var(--kexp-radius-pill);
    color: #cbd5e1;
    font-family: var(--kexp-font-disp);
    font-size: 12.5px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}

.kexp-v2-pkg-tab:hover {
    background: rgba(251, 191, 36, 0.15);
    color: var(--kexp-white);
}

.kexp-v2-pkg-tab.active {
    background: linear-gradient(135deg, #f59e0b, #d97706);
    border-color: transparent;
    color: #ffffff;
}

.kexp-v2-pkg-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(270px, 315px));
    justify-content: center;
    gap: 22px;
    max-width: 1040px;
    margin: 0 auto;
}

@media (min-width: 992px) {
    .kexp-v2-pkg-grid {
        grid-template-columns: repeat(3, minmax(0, 315px));
        justify-content: center;
    }
}

.kexp-v2-pkg-card {
    background: linear-gradient(180deg, #0e233d 0%, #071629 100%);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: var(--kexp-radius-lg);
    padding: 26px 22px;
    display: flex;
    flex-direction: column;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.5);
    transition: transform 0.25s ease, border-color 0.25s ease;
    max-width: 315px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
    cursor: pointer;
}

@media (hover: hover) and (pointer: fine) {
    .kexp-v2-pkg-card:hover {
        transform: translateY(-5px);
        border-color: #38bdf8;
    }
}

.kexp-v2-pkg-featured {
    border-color: var(--kexp-sun-amber);
    background: linear-gradient(180deg, rgba(245, 158, 11, 0.12) 0%, rgba(7, 31, 58, 0.85) 100%);
}

.kexp-v2-pkg-badge {
    align-self: flex-start;
    padding: 4px 10px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: var(--kexp-radius-pill);
    font-size: 11px;
    font-weight: 700;
    color: #cbd5e1;
    margin-bottom: 12px;
}

.kexp-v2-badge-gold {
    background: linear-gradient(135deg, #ea580c, #f59e0b);
    color: #ffffff;
    border: none;
}

.kexp-v2-badge-padi {
    background: #0284c7;
    color: #ffffff;
    border: none;
}

.kexp-v2-pkg-name {
    font-family: var(--kexp-font-disp);
    font-size: 20px;
    font-weight: 600;
    color: var(--kexp-white);
    margin-bottom: 4px;
}

.kexp-v2-pkg-sub {
    font-size: 12px;
    color: #94a3b8;
    margin-bottom: 16px;
}

.kexp-v2-pkg-price {
    display: flex;
    align-items: baseline;
    gap: 6px;
    margin-bottom: 18px;
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.kexp-v2-pkg-amount {
    font-family: var(--kexp-font-disp);
    font-size: 32px;
    font-weight: 700;
    color: var(--kexp-sun-gold);
    line-height: 1;
}

.kexp-v2-pkg-per {
    font-size: 12.5px;
    color: #94a3b8;
}

.kexp-v2-pkg-features {
    list-style: none;
    margin-bottom: 24px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    font-size: 13px;
    color: #cbd5e1;
    flex-grow: 1;
}

.kexp-v2-pkg-btn {
    width: 100%;
    text-align: center;
    padding: 11px 18px;
    font-size: 13px;
}

/* ═══════════════════════════════════════════════════════════
   SECTION 6: REVIEWS
   ═══════════════════════════════════════════════════════════ */
.kexp-reviews-header {
    text-align: center;
    max-width: 760px;
    margin: 0 auto 44px;
}

.kexp-google-trust-badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(251, 191, 36, 0.25);
    padding: 7px 16px;
    border-radius: var(--kexp-radius-pill);
    margin-bottom: 14px;
    backdrop-filter: blur(8px);
}

.kexp-google-text {
    font-weight: 700;
    font-size: 12px;
    color: #ffffff;
}

.kexp-stars {
    color: #fbbc05;
    letter-spacing: 2px;
    font-size: 14px;
}

.kexp-rating-score {
    font-size: 12.5px;
    color: #ffffff;
}

.kexp-rating-count {
    font-size: 11.5px;
    color: #94a3b8;
}

.kexp-reviews-title {
    font-family: var(--kexp-font-disp);
    font-size: 32px;
    font-weight: 700;
    color: var(--kexp-white);
    letter-spacing: -0.3px;
    margin-bottom: 10px;
}

.kexp-reviews-subtitle {
    font-size: 15px;
    color: #94a3b8;
}

.kexp-reviews-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 22px;
    margin-bottom: 36px;
}

.kexp-review-card {
    background: linear-gradient(160deg, #0a1f3a 0%, #041224 100%) !important;
    border: 1.5px solid rgba(56, 189, 248, 0.22) !important;
    border-radius: var(--kexp-radius-lg);
    padding: 26px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.55) !important;
    display: flex;
    flex-direction: column;
}

.kexp-review-featured {
    border-color: var(--kexp-sun-amber) !important;
    background: linear-gradient(165deg, #102846 0%, #061528 100%) !important;
    box-shadow: 0 12px 35px rgba(245, 158, 11, 0.12), 0 10px 30px rgba(0, 0, 0, 0.55) !important;
}

.kexp-review-card-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}

.kexp-reviewer-avatar {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: linear-gradient(135deg, #f59e0b, #d97706);
    color: #ffffff;
    font-family: var(--kexp-font-disp);
    font-size: 15px;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
}

.kexp-reviewer-info {
    flex-grow: 1;
}

.kexp-reviewer-name {
    font-family: var(--kexp-font-disp);
    font-size: 15px;
    font-weight: 600;
    color: var(--kexp-white);
    margin-bottom: 2px;
}

.kexp-reviewer-origin {
    font-size: 11px;
    color: #94a3b8;
}

.kexp-review-stars {
    color: #fbbc05;
    letter-spacing: 2px;
    font-size: 13px;
    margin-bottom: 10px;
}

.kexp-review-text {
    font-size: 13.5px;
    line-height: 1.6;
    color: #cbd5e1;
    font-style: italic;
    margin-bottom: 16px;
    flex-grow: 1;
}

.kexp-review-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 11px;
    color: #94a3b8;
    padding-top: 12px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.kexp-review-badge {
    color: #10b981;
    font-weight: 700;
}

.kexp-reviews-action {
    display: flex;
    justify-content: center;
    gap: 14px;
    flex-wrap: wrap;
}

/* ═══════════════════════════════════════════════════════════
   SECTION 7: FOOTER
   ═══════════════════════════════════════════════════════════ */
.kexp-v2-footer {
    background: #020b17;
    border-top: 1px solid rgba(251, 191, 36, 0.18);
    padding: 65px 0 30px;
    color: #94a3b8;
}

.kexp-v2-footer-grid {
    display: grid;
    grid-template-columns: 2fr 1.2fr 1.5fr;
    gap: 40px;
    margin-bottom: 45px;
}

.kexp-v2-footer-heading {
    font-family: var(--kexp-font-disp);
    font-size: 14.5px;
    font-weight: 600;
    color: var(--kexp-white);
    margin-bottom: 16px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.kexp-v2-footer-text {
    font-size: 13px;
    line-height: 1.65;
    color: #94a3b8;
    margin-bottom: 18px;
    max-width: 380px;
}

.kexp-v2-socials {
    display: flex;
    gap: 14px;
}

.kexp-v2-socials a {
    font-size: 12px;
    font-weight: 600;
    color: #cbd5e1;
    transition: color 0.2s;
}

.kexp-v2-socials a:hover {
    color: var(--kexp-sun-gold);
}

.kexp-v2-footer-links, .kexp-v2-footer-contact {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 10px;
    font-size: 13px;
}

.kexp-v2-footer-links a {
    color: #94a3b8;
    transition: color 0.2s;
}

.kexp-v2-footer-links a:hover {
    color: var(--kexp-sun-gold);
    padding-left: 3px;
}

.kexp-v2-footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    padding-top: 22px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    font-size: 12px;
}

/* ═══════════════════════════════════════════════════════════
   BUTTONS & COMMON UI
   ═══════════════════════════════════════════════════════════ */
.kexp-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-radius: var(--kexp-radius-pill);
    font-family: var(--kexp-font-disp);
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.2s ease;
}

.kexp-btn-primary {
    background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
    color: #ffffff;
    box-shadow: 0 4px 14px rgba(245, 158, 11, 0.35);
}

.kexp-btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(245, 158, 11, 0.5);
    color: #ffffff;
}

.kexp-btn-glass {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(251, 191, 36, 0.25);
    color: var(--kexp-white);
    padding: 11px 22px;
}

.kexp-btn-glass:hover {
    background: rgba(251, 191, 36, 0.15);
    border-color: var(--kexp-sun-gold);
    color: var(--kexp-sun-amber);
}

/* ═══════════════════════════════════════════════════════════
   LIGHT / DAY THEME
   ═══════════════════════════════════════════════════════════ */
html.kexp-theme-light,
body.kexp-theme-light {
    color: #334155 !important;
}

body.kexp-theme-light .kexp-theme-icon-sun { display: none; }
body.kexp-theme-light .kexp-theme-icon-moon { display: inline-block; }

body.kexp-theme-light .kexp-v2-wrapper,
body.kexp-theme-light .kexp-diving-wrapper,
body.kexp-theme-light #wrapper-container,
body.kexp-theme-light #main-container,
body.kexp-theme-light #apus-main-content,
body.kexp-theme-light .main-content,
body.kexp-theme-light .main-content.inner,
body.kexp-theme-light .site-main,
body.kexp-theme-light .detail-tour,
body.kexp-theme-light.single-to_book #apus-main-content,
body.kexp-theme-light.single-to_book #main-container,
body.kexp-theme-light.single-to_book .main-content {
    background: transparent !important;
    background-image: none !important;
}

body.kexp-theme-light .kexp-v2-topbar {
    background: #ffffff;
    border-bottom-color: #e2e8f0;
    color: #64748b;
}

body.kexp-theme-light .kexp-v2-topbar-link {
    color: #475569;
}

body.kexp-theme-light .kexp-v2-nav {
    background: rgba(255, 255, 255, 0.92);
    border-bottom-color: #e2e8f0;
}

body.kexp-theme-light .kexp-nav-brand-img,
body.kexp-theme-light .kexp-v2-nav .kexp-nav-brand-img,
body.kexp-theme-light .kexp-v2-footer .kexp-nav-brand-img,
body.kexp-theme-light .logo img,
body.kexp-theme-light .header-logo img,
body.kexp-theme-light .apus-header .logo img,
body.kexp-theme-light #apus-header .logo img,
body.kexp-theme-light #apus-footer .logo img,
body.kexp-theme-light .elementor-674 .logo img,
body.kexp-theme-light .elementor-widget-apus_element_logo img {
    filter: none !important;
}

body.kexp-theme-light .kexp-nav-brand,
body.kexp-theme-light .kexp-v2-section-title,
body.kexp-theme-light .kexp-who-title,
body.kexp-theme-light .kexp-v2-zone-title,
body.kexp-theme-light .kexp-v2-depth-info h4,
body.kexp-theme-light .kexp-v2-pkg-name,
body.kexp-theme-light .kexp-v2-pkg-amount,
body.kexp-theme-light .kexp-reviews-title,
body.kexp-theme-light .kexp-reviewer-name,
body.kexp-theme-light .kexp-v2-footer-heading,
body.kexp-theme-light .kexp-rich-title {
    color: #0f172a;
}

body.kexp-theme-light .kexp-nav-links a {
    color: #475569;
}

body.kexp-theme-light .kexp-theme-toggle {
    background: rgba(245, 158, 11, 0.12);
    border-color: rgba(245, 158, 11, 0.35);
    color: #b45309;
}

body.kexp-theme-light .kexp-currency-sel {
    background: #ffffff;
    border-color: #cbd5e1;
    color: #1e293b;
}

body.kexp-theme-light .kexp-currency-sel option {
    background-color: #ffffff;
    color: #1e293b;
}

body.kexp-theme-light .kexp-v2-filter-bar {
    background: rgba(255, 255, 255, 0.95);
    border-color: #cbd5e1;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.08);
}

body.kexp-theme-light .kexp-v2-filter-field label {
    color: #d97706;
}

body.kexp-theme-light .kexp-v2-filter-field select {
    color: #0f172a;
}

body.kexp-theme-light .kexp-v2-filter-field select option {
    background-color: #ffffff;
    color: #0f172a;
}

body.kexp-theme-light .kexp-rich-card,
body.kexp-theme-light .kexp-who-unified-card,
body.kexp-theme-light .kexp-v2-zone-card,
body.kexp-theme-light .kexp-v2-depth-box,
body.kexp-theme-light .kexp-v2-pkg-card,
body.kexp-theme-light .kexp-review-card {
    background: #ffffff !important;
    border-color: #d4cfc5 !important;
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.10) !important;
}

body.kexp-theme-light .kexp-who-text,
body.kexp-theme-light .kexp-v2-zone-desc,
body.kexp-theme-light .kexp-v2-depth-info p,
body.kexp-theme-light .kexp-v2-pkg-sub,
body.kexp-theme-light .kexp-v2-pkg-features,
body.kexp-theme-light .kexp-review-text,
body.kexp-theme-light .kexp-v2-section-subtitle,
body.kexp-theme-light .kexp-v2-footer-text,
body.kexp-theme-light .kexp-rich-desc,
body.kexp-theme-light .kexp-rich-features {
    color: #475569;
}

body.kexp-theme-light .kexp-who-chip,
body.kexp-theme-light .kexp-v2-depth-tab,
body.kexp-theme-light .kexp-v2-pkg-tab,
body.kexp-theme-light .kexp-v2-reef-badge {
    background: #f1f5f9 !important;
    border-color: #cbd5e1 !important;
    color: #1e293b !important;
}

body.kexp-theme-light .kexp-v2-zone-featured,
body.kexp-theme-light .kexp-review-featured {
    background: #ffffff !important;
    border-color: #f59e0b !important;
}

body.kexp-theme-light .kexp-who-stat-showcase-card {
    background: #f8fafc !important;
    border-color: #e2e8f0 !important;
    box-shadow: none !important;
}

body.kexp-theme-light .kexp-stat-giant-num {
    color: #0f172a;
}

body.kexp-theme-light .kexp-v2-pkg-tab.active,
body.kexp-theme-light .kexp-v2-depth-tab.active {
    background: linear-gradient(135deg, #f59e0b, #d97706);
    color: #ffffff;
}

body.kexp-theme-light .kexp-v2-footer {
    background: #ede8dc !important;
    border-top: 1px solid #d4cfc5 !important;
    color: #475569 !important;
}

body.kexp-theme-light .kexp-v2-footer-links a {
    color: #475569 !important;
}

body.kexp-theme-light .kexp-v2-footer-links a:hover {
    color: #0284c7 !important;
}

body.kexp-theme-light .kexp-v2-socials a {
    color: #334155 !important;
}

body.kexp-theme-light .kexp-v2-socials a:hover {
    color: #0284c7 !important;
}

body.kexp-theme-light .kexp-v2-footer-bottom {
    border-top: 1px solid #d4cfc5 !important;
    color: #64748b !important;
}

/* --- Light Mode: Glass Button fix (invisible on light bg) --- */
body.kexp-theme-light .kexp-btn-glass {
    background: rgba(0, 0, 0, 0.06);
    border-color: rgba(0, 0, 0, 0.15);
    color: #1e293b;
}
body.kexp-theme-light .kexp-btn-glass:hover {
    background: rgba(245, 158, 11, 0.12);
    border-color: #f59e0b;
    color: #92400e;
}

/* --- Light Mode: Stat card text --- */
body.kexp-theme-light .kexp-stat-card-title {
    color: #0f172a;
}
body.kexp-theme-light .kexp-stat-card-desc {
    color: #64748b;
}
body.kexp-theme-light .kexp-stat-card-badge-top {
    color: #b45309;
}
body.kexp-theme-light .kexp-stat-unit-text {
    color: #64748b;
}

/* --- Light Mode: Who We Are badge pills --- */
body.kexp-theme-light .kexp-who-badge-pill {
    background: rgba(245, 158, 11, 0.12);
    border-color: rgba(245, 158, 11, 0.3);
    color: #92400e;
}

/* --- Light Mode: Dividers --- */
body.kexp-theme-light .kexp-who-divider {
    background: rgba(0, 0, 0, 0.08);
}
body.kexp-theme-light .kexp-who-col-separator {
    background: rgba(0, 0, 0, 0.08);
}

/* --- Light Mode: Mission pillars (who section) --- */
body.kexp-theme-light .kexp-who-pillar {
    background: #f8fafc;
    border-color: #e2e8f0;
}
body.kexp-theme-light .kexp-who-pillar strong {
    color: #0f172a;
}
body.kexp-theme-light .kexp-who-pillar span {
    color: #64748b;
}

/* --- Light Mode: Google rating bar in who section --- */
body.kexp-theme-light .kexp-who-google-bar {
    background: rgba(245, 158, 11, 0.08);
    border-color: rgba(245, 158, 11, 0.25);
}
body.kexp-theme-light .kexp-who-google-score,
body.kexp-theme-light .kexp-who-google-sub {
    color: #1e293b;
}
body.kexp-theme-light .kexp-who-google-stars {
    color: #f59e0b;
}

/* --- Light Mode: Floating Review Popup (dark card on light bg) --- */
body.kexp-theme-light .kexp-rpop-card {
    background: #ffffff;
    border-color: #e2e8f0;
    box-shadow: 0 8px 32px rgba(0,0,0,0.12), 0 2px 8px rgba(0,0,0,0.06);
}
body.kexp-theme-light .kexp-rpop-rating {
    color: #0f172a;
}
body.kexp-theme-light .kexp-rpop-author {
    color: #64748b;
}
body.kexp-theme-light .kexp-rpop-author strong {
    color: #1e293b;
}
body.kexp-theme-light .kexp-rpop-count {
    color: #94a3b8;
}
body.kexp-theme-light .kexp-rpop-avatar {
    background: #f1f5f9;
    border-color: #e2e8f0;
    color: #1e293b;
}
body.kexp-theme-light .kexp-rpop-close {
    color: rgba(0,0,0,0.3);
}
body.kexp-theme-light .kexp-rpop-close:hover {
    color: rgba(0,0,0,0.6);
}

/* --- Light Mode: About card label/eyebrow --- */
body.kexp-theme-light .kexp-about-card-label {
    color: #b45309;
}
body.kexp-theme-light .kexp-label-dot {
    background: #f59e0b;
}

/* ═══════════════════════════════════════════════════════════
   RESPONSIVE MEDIA QUERIES
   ═══════════════════════════════════════════════════════════ */
@media (max-width: 991px) {
    .kexp-v2-hero-title {
        font-size: 42px;
    }

    .kexp-who-unified-body {
        grid-template-columns: 1fr;
    }

    .kexp-who-col-separator {
        display: none;
    }

    .kexp-v2-footer-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .kexp-nav-links {
        display: none;
    }

    /* Hide Top Contact Announcement Bar on Mobile & Tablets */
    .kexp-v2-topbar {
        display: none !important;
    }
}

@media (max-width: 767px) {
    /* Hide WordPress Admin Bar on mobile screens for a clean view */
    #wpadminbar {
        display: none !important;
    }
    html {
        margin-top: 0 !important;
    }
    body.admin-bar {
        margin-top: 0 !important;
    }

    .kexp-v2-hero-title {
        font-size: 32px;
    }

    .kexp-v2-filter-field {
        border-right: none;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        padding-bottom: 10px;
        margin-bottom: 10px;
    }

    .kexp-v2-filter-btn {
        width: 100%;
    }

    .kexp-section-nav {
        display: none;
    }

    .kexp-nav-brand-img {
        height: 38px;
        max-width: 140px;
    }
}

/* ═══════════════════════════════════════════════════════════
   DEDICATED DIVING & SNORKELING PACKAGES PAGE STYLING
   ═══════════════════════════════════════════════════════════ */
.kexp-diving-page {
    background-color: transparent;
}

.kexp-diving-hero {
    padding-top: 130px;
    padding-bottom: 24px;
    position: relative;
    z-index: 1;
}

.kexp-diving-hero-header {
    max-width: 920px;
    margin: 0 auto 36px;
    text-align: center;
    background: rgba(8, 22, 44, 0.92);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 24px;
    padding: 36px 40px 32px;
    box-shadow: 0 16px 44px rgba(0, 0, 0, 0.5);
    position: relative;
    z-index: 2;
}

body.kexp-theme-light .kexp-diving-hero-header {
    background: rgba(255, 255, 255, 0.95) !important;
    border: 1px solid #dbe2ea !important;
    box-shadow: 0 10px 32px rgba(0, 0, 0, 0.08) !important;
}

body.kexp-theme-light .kexp-diving-main-title {
    color: #0c1b30 !important;
}

body.kexp-theme-light .kexp-diving-subtitle {
    color: #b45309 !important;
}

body.kexp-theme-light .kexp-diving-lead {
    color: #475569 !important;
}

.kexp-diving-main-title {
    font-family: var(--kexp-font-disp);
    font-size: 38px;
    font-weight: 700;
    color: var(--kexp-white);
    letter-spacing: -0.4px;
    line-height: 1.25;
    margin-bottom: 14px;
}

.kexp-diving-subtitle {
    font-family: var(--kexp-font-sub);
    font-size: 19px;
    font-weight: 500;
    color: #e2e8f0;
    margin-bottom: 12px;
}

.kexp-diving-lead {
    font-size: 15.5px;
    line-height: 1.65;
    color: #94a3b8;
    max-width: 800px;
    margin: 0 auto;
}

.kexp-diving-banner-frame {
    width: 100%;
    max-width: 1140px;
    margin: 0 auto 34px;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45);
    border: 1px solid rgba(251, 191, 36, 0.25);
}

.kexp-diving-banner-img {
    width: 100%;
    height: auto;
    display: block;
    max-height: 520px;
    object-fit: cover;
}

.kexp-pkg-jump-bar {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px 14px;
    margin-bottom: 36px;
}

.kexp-pkg-jump-link {
    background: rgba(7, 31, 58, 0.85);
    border: 1px solid rgba(251, 191, 36, 0.28);
    color: #f1f5f9;
    padding: 8px 18px;
    border-radius: var(--kexp-radius-pill);
    font-size: 13px;
    font-weight: 600;
    transition: all 0.2s ease;
    backdrop-filter: blur(8px);
    cursor: pointer;
    font-family: inherit;
}

.kexp-pkg-jump-link:hover,
.kexp-pkg-jump-link.active {
    background: var(--kexp-sun-gold);
    color: #020b17;
    border-color: var(--kexp-sun-amber);
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(245, 158, 11, 0.35);
}

.kexp-main-pkg-trigger {
    cursor: pointer;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
}

@media (hover: hover) and (pointer: fine) {
    .kexp-main-pkg-trigger:hover {
        transform: translateY(-6px);
        border-color: var(--kexp-sun-gold);
        box-shadow: 0 16px 36px rgba(0, 0, 0, 0.5), 0 0 20px rgba(245, 158, 11, 0.2);
    }
}

.kexp-main-pkg-trigger .kexp-rich-cta {
    display: inline-flex;
    align-items: center;
    background: linear-gradient(135deg, #f59e0b, #d97706);
    color: #020b17;
    padding: 8px 16px;
    border-radius: var(--kexp-radius-pill);
    font-weight: 600;
    font-size: 12.5px;
    transition: transform 0.2s ease;
}

@media (hover: hover) and (pointer: fine) {
    .kexp-main-pkg-trigger:hover .kexp-rich-cta {
        transform: translateX(4px);
    }
}

.kexp-subpackages-section {
    padding: 60px 0 80px;
    background: rgba(2, 11, 23, 0.4);
}


.kexp-diving-sec-title {
    font-family: var(--kexp-font-disp);
    font-size: 28px;
    font-weight: 700;
    color: var(--kexp-white);
    letter-spacing: -0.4px;
    margin: 8px 0 10px;
}

.kexp-diving-sec-desc {
    font-size: 15px;
    line-height: 1.65;
    color: #94a3b8;
    max-width: 880px;
}

.kexp-single-card-grid {
    grid-template-columns: minmax(320px, 860px);
    justify-content: start;
}

.kexp-feature-wide-card {
    display: grid;
    grid-template-columns: 360px 1fr;
}

.kexp-feature-wide-card .kexp-rich-thumb {
    height: 100%;
    min-height: 240px;
}

@media (max-width: 860px) {
    .kexp-feature-wide-card {
        grid-template-columns: 1fr;
    }
    .kexp-feature-wide-card .kexp-rich-thumb {
        height: 220px;
    }
}

.kexp-diving-cta-sec {
    padding: 40px 0 80px;
}

.kexp-diving-cta-box {
    background: linear-gradient(135deg, rgba(7, 31, 58, 0.95), rgba(11, 44, 79, 0.95));
    border: 1px solid rgba(251, 191, 36, 0.35);
    border-radius: var(--kexp-radius-lg);
    padding: 36px 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.4);
    flex-wrap: wrap;
}

.kexp-diving-cta-text {
    flex: 1;
    min-width: 280px;
}

.kexp-diving-cta-title {
    font-family: var(--kexp-font-disp);
    font-size: 24px;
    font-weight: 700;
    color: var(--kexp-white);
    margin: 10px 0 8px;
}

.kexp-diving-cta-desc {
    font-size: 14.5px;
    color: #cbd5e1;
    line-height: 1.55;
}

.kexp-diving-cta-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

/* Light Mode Overrides for Diving Page */
body.kexp-theme-light .kexp-diving-main-title {
    color: #0f172a;
}

body.kexp-theme-light .kexp-diving-subtitle {
    color: #334155;
}

body.kexp-theme-light .kexp-diving-lead,
body.kexp-theme-light .kexp-diving-sec-desc {
    color: #64748b;
}

body.kexp-theme-light .kexp-pkg-jump-link {
    background: #ffffff;
    border-color: rgba(2, 132, 199, 0.25);
    color: #0f172a;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

body.kexp-theme-light .kexp-pkg-jump-link:hover {
    background: #0284c7;
    color: #ffffff;
}

body.kexp-theme-light .kexp-diving-sec-title,
body.kexp-theme-light .kexp-diving-cta-title {
    color: #0f172a;
}

body.kexp-theme-light .kexp-diving-pkg-sec {
    border-color: rgba(0, 0, 0, 0.08);
}

body.kexp-theme-light .kexp-diving-cta-box {
    background: linear-gradient(135deg, #ffffff, #f0f9ff);
    border-color: rgba(2, 132, 199, 0.25);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.07);
}

body.kexp-theme-light .kexp-diving-cta-desc {
    color: #475569;
}

/* Highlights Pillars Styling (Dark & Light Mode) */
.kexp-diving-pillars {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    max-width: 1140px;
    margin: 36px auto 10px;
}

.kexp-diving-pillar {
    background: rgba(7, 31, 58, 0.75);
    border: 1px solid rgba(251, 191, 36, 0.22);
    border-radius: 16px;
    padding: 26px 24px;
    backdrop-filter: blur(12px);
    transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
    text-align: left;
}

.kexp-diving-pillar:hover {
    transform: translateY(-4px);
    border-color: rgba(251, 191, 36, 0.5);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.35);
}

.kexp-pillar-icon {
    font-size: 34px;
    display: inline-block;
    margin-bottom: 12px;
}

.kexp-pillar-title {
    font-family: var(--kexp-font-disp);
    font-size: 20px;
    font-weight: 700;
    color: #ffffff;
    margin: 0 0 8px;
    line-height: 1.3;
}

.kexp-pillar-desc {
    font-size: 14px;
    line-height: 1.6;
    color: #cbd5e1;
    margin: 0;
}

/* Light mode overrides for Pillars */
body.kexp-theme-light .kexp-diving-pillar {
    background: #ffffff;
    border-color: rgba(2, 132, 199, 0.2);
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.06);
}

body.kexp-theme-light .kexp-diving-pillar:hover {
    border-color: #0284c7;
    box-shadow: 0 10px 28px rgba(2, 132, 199, 0.15);
}

body.kexp-theme-light .kexp-pillar-title {
    color: #0f172a;
}

body.kexp-theme-light .kexp-pillar-desc {
    color: #475569;
}

@media (max-width: 860px) {
    .kexp-diving-pillars {
        grid-template-columns: 1fr;
        gap: 16px;
    }
}


/* ═══════════════════════════════════════════════════════
   FLOATING REVIEW POPUP WIDGET (bottom-left corner)
   ═══════════════════════════════════════════════════════ */

#kexp-review-popup {
    position: fixed;
    bottom: 24px;
    left: 24px;
    z-index: 9999;
    pointer-events: none;
}

.kexp-rpop-wrap {
    position: relative;
}

.kexp-rpop-card {
    background: #111827;
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 16px;
    padding: 14px 16px 14px 14px;
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 290px;
    max-width: 340px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.55), 0 2px 8px rgba(0,0,0,0.4);
    pointer-events: auto;
    opacity: 0;
    transform: translateY(20px) scale(0.96);
    transition: opacity 0.42s cubic-bezier(0.34,1.56,0.64,1), transform 0.42s cubic-bezier(0.34,1.56,0.64,1);
}

.kexp-rpop-card.kexp-rpop-visible {
    opacity: 1;
    transform: translateY(0) scale(1);
}

.kexp-rpop-card.kexp-rpop-exit {
    opacity: 0;
    transform: translateY(12px) scale(0.97);
    transition: opacity 0.28s ease, transform 0.28s ease;
}

.kexp-rpop-avatar {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: #1f2937;
    border: 2px solid rgba(255,255,255,0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-family: 'Outfit', sans-serif;
    font-size: 15px;
    font-weight: 700;
    color: #f9fafb;
}

.kexp-rpop-body { flex: 1; min-width: 0; }

.kexp-rpop-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 3px;
}

.kexp-rpop-rating {
    display: flex;
    align-items: center;
    gap: 5px;
    font-family: 'Outfit', sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: #f9fafb;
    white-space: nowrap;
}

.kexp-rpop-stars { color: #f59e0b; font-size: 12px; letter-spacing: 1px; }
.kexp-rpop-count { color: rgba(255,255,255,0.45); font-size: 12px; font-weight: 500; }

.kexp-rpop-author {
    font-size: 12.5px;
    color: rgba(255,255,255,0.6);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.kexp-rpop-author strong { color: #e2e8f0; font-weight: 600; }
.kexp-rpop-author .kexp-rpop-star-inline { color: #f59e0b; font-size: 11px; }

.kexp-rpop-close {
    position: absolute;
    top: 6px;
    right: 9px;
    background: none;
    border: none;
    color: rgba(255,255,255,0.28);
    font-size: 14px;
    cursor: pointer;
    padding: 2px 4px;
    line-height: 1;
    transition: color 0.2s;
}

.kexp-rpop-close:hover { color: rgba(255,255,255,0.65); }

@media (max-width: 480px) {
    #kexp-review-popup { bottom: 14px; left: 10px; }
    .kexp-rpop-card { min-width: 250px; max-width: 286px; }
}

/* ═══════════════════════════════════════════════════════════
   COMPREHENSIVE MOBILE FIXES — All Sections
   ═══════════════════════════════════════════════════════════ */
@media (max-width: 767px) {

    /* --- General Section Spacing --- */
    .kexp-v2-section {
        padding: 48px 0;
    }
    .kexp-v2-container {
        padding-left: 16px;
        padding-right: 16px;
    }

    /* --- Hero (Expansive Cinematic Height & Pristine Spacing on Mobile) --- */
    .kexp-v2-hero,
    .kexp-v2-hero-section,
    #v2-hero {
        min-height: 85svh !important;
        min-height: 85vh !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
        padding-top: 85px !important;
        padding-bottom: 45px !important;
        position: relative !important;
        overflow: hidden !important;
        text-align: center !important;
    }

    .kexp-hero-video-wrap {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        background-size: cover !important;
        background-position: center center !important;
        z-index: 0 !important;
    }

    .kexp-v2-hero-overlay {
        position: absolute !important;
        inset: 0 !important;
        background: linear-gradient(
            180deg,
            rgba(2, 11, 23, 0.55) 0%,
            rgba(4, 20, 38, 0.20) 35%,
            rgba(4, 20, 38, 0.40) 65%,
            rgba(4, 20, 38, 0.85) 90%,
            #041426 100%
        ) !important;
        z-index: 1 !important;
    }

    .kexp-v2-hero-content {
        position: relative !important;
        z-index: 2 !important;
        width: 100% !important;
        max-width: 480px !important;
        margin: 0 auto !important;
        padding: 0 16px !important;
    }

    .kexp-trust-badge {
        font-size: 11px !important;
        line-height: 1.4 !important;
        padding: 7px 16px !important;
        margin-bottom: 16px !important;
        max-width: 90% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        text-align: center !important;
    }

    .kexp-v2-hero-title-wrap {
        margin-bottom: 14px !important;
        width: 100% !important;
    }

    .kexp-v2-hero-sub {
        font-size: 13px !important;
        line-height: 1.4 !important;
        letter-spacing: 2.5px !important;
        margin-bottom: 8px !important;
        display: block !important;
    }

    .kexp-v2-hero-title {
        font-size: 32px !important;
        line-height: 1.18 !important;
        margin-bottom: 0 !important;
        letter-spacing: -0.5px !important;
        text-shadow: 0 4px 16px rgba(0, 0, 0, 0.7) !important;
    }

    .kexp-v2-hero-desc {
        font-size: 14.5px !important;
        line-height: 1.65 !important;
        margin-top: 14px !important;
        margin-bottom: 24px !important;
        max-width: 360px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        color: #e2e8f0 !important;
        text-shadow: 0 2px 10px rgba(0, 0, 0, 0.8) !important;
    }

    .kexp-v2-hero-actions {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        width: 100% !important;
        max-width: 290px !important;
        margin: 0 auto 18px !important;
        gap: 12px !important;
    }

    .kexp-v2-hero-actions .kexp-btn {
        width: 100% !important;
        padding: 13px 22px !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        justify-content: center !important;
        text-align: center !important;
        border-radius: 999px !important;
        box-shadow: 0 6px 18px rgba(0, 0, 0, 0.3) !important;
    }

    .kexp-v2-hero-tags {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 8px !important;
        width: 100% !important;
        margin-top: 0 !important;
    }

    .kexp-v2-hero-tags span {
        font-size: 11.5px !important;
        padding: 6px 16px !important;
        background: rgba(4, 15, 30, 0.72) !important;
        border: 1px solid rgba(255, 255, 255, 0.12) !important;
        border-radius: 999px !important;
        backdrop-filter: blur(8px) !important;
        text-align: center !important;
    }

    .kexp-scroll-cue {
        display: none !important;
    }

    .kexp-hero-rating-pill {
        font-size: 11px;
        padding: 6px 12px;
    }

    .kexp-hero-rating-pill .kexp-stars {
        font-size: 11px;
    }

    /* --- Booking / Filter Bar --- */
    .kexp-v2-filter-bar {
        flex-direction: column;
        padding: 16px;
        gap: 12px;
        border-radius: 16px;
    }
    .kexp-v2-filter-field {
        border-right: none !important;
        border-bottom: 1px solid rgba(255,255,255,0.1);
        padding-bottom: 12px;
        margin-bottom: 0;
        width: 100%;
    }
    .kexp-v2-filter-field:last-of-type {
        border-bottom: none;
        padding-bottom: 0;
    }
    .kexp-v2-filter-btn {
        width: 100%;
        justify-content: center;
        padding: 14px;
        font-size: 14px;
    }

    /* --- Who We Are Section --- */
    .kexp-who-title {
        font-size: 24px;
    }
    .kexp-who-unified-body {
        grid-template-columns: 1fr;
        gap: 24px;
    }
    .kexp-who-col-separator {
        display: none;
    }
    .kexp-who-stat-hero-grid {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }
    .kexp-stat-giant-num {
        font-size: 26px;
    }
    .kexp-who-google-bar {
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
        padding: 12px 14px;
    }

    /* --- YouTube iframe --- */
    .kexp-video-frame-wrap {
        position: relative;
        padding-bottom: 56.25%;
        height: 0;
        overflow: hidden;
        border-radius: 12px;
    }
    .kexp-video-frame-wrap iframe,
    .kexp-youtube-iframe {
        position: absolute;
        top: 0; left: 0;
        width: 100% !important;
        height: 100% !important;
        border-radius: 12px;
    }
    .kexp-video-caption {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 10px !important;
        font-size: 12px;
    }

    /* --- Activities / Packages / Zone Grids (Single-Column Comfortable Mobile Layout) --- */
    .kexp-v2-activity-grid,
    .kexp-activity-grid,
    .kexp-packages-grid,
    .kexp-rich-cards-grid,
    .kexp-act-richgrid,
    .kexp-top-act-grid,
    .kexp-v2-pkg-grid,
    #subpkgGrid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        justify-content: center !important;
        gap: 16px !important;
        width: 100% !important;
        max-width: 420px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .kexp-v2-zone-grid {
        grid-template-columns: 1fr !important;
        justify-content: center !important;
        gap: 14px !important;
    }

    /* --- Activity & Package Cards — 1 Per Row, Well-Proportioned on Mobile --- */
    .kexp-v2-activity-card,
    .kexp-rich-card,
    .kexp-subpkg-card,
    .kexp-v2-pkg-card {
        max-width: 100% !important;
        width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        border-radius: 14px !important;
        box-shadow: 0 4px 18px rgba(0, 0, 0, 0.4) !important;
        overflow: hidden !important;
        display: flex;
        flex-direction: column !important;
    }

    /* Honor hidden state when cards are filtered via JS on mobile */
    .kexp-v2-activity-card[style*="display: none"],
    .kexp-rich-card[style*="display: none"],
    .kexp-subpkg-card[style*="display: none"],
    .kexp-v2-pkg-card[style*="display: none"] {
        display: none !important;
    }

    /* Thumbnail — comfortable viewing height */
    .kexp-rich-thumb {
        height: 140px !important;
        min-height: 140px !important;
        max-height: 140px !important;
        position: relative !important;
        border-radius: 13px 13px 0 0 !important;
        overflow: hidden !important;
    }

    .kexp-rich-thumb > img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }

    /* Badges */
    .kexp-badge-popular {
        top: 8px !important;
        left: 8px !important;
        font-size: 8.5px !important;
        padding: 2.5px 7px !important;
        line-height: 1.1 !important;
        border-radius: 999px !important;
    }

    .kexp-badge-rating {
        bottom: 8px !important;
        left: 8px !important;
        font-size: 9.5px !important;
        padding: 2px 7px !important;
        line-height: 1.1 !important;
        border-radius: 999px !important;
    }

    /* Never stretch emoji/smiley images inside rating or cards */
    img.wp-smiley,
    img.emoji,
    .kexp-badge-rating img,
    .kexp-safari-pkg-rating img {
        width: 11px !important;
        height: 11px !important;
        min-width: 11px !important;
        min-height: 11px !important;
        max-width: 11px !important;
        max-height: 11px !important;
        display: inline-block !important;
        vertical-align: -1px !important;
        object-fit: contain !important;
        border: none !important;
        box-shadow: none !important;
        padding: 0 !important;
        margin: 0 2px 0 0 !important;
        position: static !important;
    }

    .kexp-badge-cat {
        top: 8px !important;
        right: 8px !important;
        font-size: 9px !important;
        padding: 2.5px 7px !important;
        line-height: 1.1 !important;
        border-radius: 999px !important;
        max-width: none !important;
        white-space: nowrap !important;
    }

    /* Card Body */
    .kexp-rich-body {
        padding: 12px 15px 14px !important;
        display: flex !important;
        flex-direction: column !important;
        flex-grow: 1 !important;
        gap: 0 !important;
    }

    /* Meta Row */
    .kexp-rich-meta-row {
        gap: 10px !important;
        margin-bottom: 5px !important;
        font-size: 11px !important;
        color: #94a3b8 !important;
        line-height: 1.2 !important;
        display: flex !important;
        flex-wrap: wrap !important;
    }

    .kexp-rich-meta-item {
        gap: 4px !important;
        font-size: 11px !important;
    }

    .kexp-rich-meta-item svg {
        width: 12px !important;
        height: 12px !important;
        flex-shrink: 0 !important;
    }

    /* Card Title */
    .kexp-rich-title {
        font-size: 14.5px !important;
        line-height: 1.3 !important;
        font-weight: 700 !important;
        margin: 0 0 5px 0 !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
        min-height: auto !important;
        letter-spacing: -0.15px !important;
    }

    /* Card Description */
    .kexp-rich-desc {
        font-size: 11.5px !important;
        line-height: 1.4 !important;
        color: #cbd5e1 !important;
        margin: 0 0 7px 0 !important;
        min-height: auto !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
    }

    /* Concise Features Bullets on Mobile */
    .kexp-rich-features,
    .rich-features {
        display: flex !important;
        flex-direction: column !important;
        gap: 3px !important;
        margin-bottom: 8px !important;
        padding-left: 0 !important;
        list-style: none !important;
    }

    .kexp-rich-features li,
    .rich-features li {
        font-size: 11px !important;
        line-height: 1.35 !important;
        color: #94a3b8 !important;
        margin-bottom: 2px !important;
    }

    .kexp-rich-features li:nth-child(n+3),
    .rich-features li:nth-child(n+3) {
        display: none !important;
    }

    /* ALWAYS display special weather & timing notice notes on mobile */
    .kexp-rich-features li.kexp-weather-note,
    .rich-features li.kexp-weather-note,
    li.kexp-weather-note {
        display: block !important;
        background: rgba(245, 158, 11, 0.12) !important;
        border-left: 3px solid #f59e0b !important;
        padding: 6px 9px !important;
        border-radius: 4px !important;
        margin-top: 6px !important;
        margin-bottom: 4px !important;
        color: #fde68a !important;
        font-size: 10.5px !important;
        line-height: 1.4 !important;
    }

    body.kexp-theme-light .kexp-rich-features li.kexp-weather-note,
    body.kexp-theme-light .rich-features li.kexp-weather-note,
    body.kexp-theme-light li.kexp-weather-note {
        background: rgba(245, 158, 11, 0.14) !important;
        border-left: 3px solid #d97706 !important;
        color: #92400e !important;
    }

    /* ALWAYS display mandatory marine sanctuary conservation ticket on mobile */
    .kexp-rich-features li.kexp-ticket-highlight,
    .rich-features li.kexp-ticket-highlight,
    li.kexp-ticket-highlight {
        display: block !important;
        background: rgba(56, 189, 248, 0.12) !important;
        border-left: 3px solid #38bdf8 !important;
        padding: 6px 9px !important;
        border-radius: 4px !important;
        margin-top: 6px !important;
        margin-bottom: 4px !important;
        color: #bae6fd !important;
        font-size: 10.5px !important;
        line-height: 1.4 !important;
        font-weight: 500 !important;
    }
    .kexp-rich-features li.kexp-ticket-highlight::before,
    .rich-features li.kexp-ticket-highlight::before,
    li.kexp-ticket-highlight::before {
        display: none !important;
    }

    body.kexp-theme-light .kexp-rich-features li.kexp-ticket-highlight,
    body.kexp-theme-light .rich-features li.kexp-ticket-highlight,
    body.kexp-theme-light li.kexp-ticket-highlight {
        background: rgba(2, 132, 199, 0.12) !important;
        border-left: 3px solid #0284c7 !important;
        color: #0369a1 !important;
    }

    /* Card Footer & Price */
    .kexp-rich-footer {
        padding-top: 8px !important;
        margin-top: auto !important;
        border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 8px !important;
    }

    .kexp-rich-from {
        font-size: 8.5px !important;
        line-height: 1 !important;
    }

    .kexp-rich-price {
        font-size: 16.5px !important;
        line-height: 1 !important;
    }

    .kexp-price-orig {
        font-size: 11px !important;
    }

    .kexp-price-discount-badge {
        font-size: 8px !important;
        padding: 1.5px 4px !important;
    }

    .kexp-rich-cta {
        font-size: 11px !important;
        padding: 6px 13px !important;
        border-radius: 999px !important;
        white-space: nowrap !important;
        line-height: 1.1 !important;
        gap: 4px !important;
    }

    /* --- V2 Packages Grid & Card (.kexp-v2-pkg-card) --- */
    .kexp-v2-pkg-card {
        padding: 14px 16px !important;
        border-radius: 14px !important;
    }

    .kexp-v2-pkg-badge {
        font-size: 8.5px !important;
        padding: 2.5px 7px !important;
        margin-bottom: 5px !important;
        display: inline-block !important;
    }

    .kexp-v2-pkg-name {
        font-size: 15px !important;
        line-height: 1.3 !important;
        margin-bottom: 4px !important;
    }

    .kexp-v2-pkg-sub {
        font-size: 11.5px !important;
        line-height: 1.35 !important;
        margin-bottom: 6px !important;
    }

    .kexp-v2-pkg-price {
        margin-bottom: 8px !important;
    }

    .kexp-v2-pkg-amount {
        font-size: 18px !important;
    }

    .kexp-v2-pkg-per {
        font-size: 9px !important;
    }

    .kexp-v2-pkg-features {
        display: flex !important;
        flex-direction: column !important;
        gap: 3px !important;
        margin-bottom: 10px !important;
    }

    .kexp-v2-pkg-features li {
        font-size: 11px !important;
        line-height: 1.35 !important;
    }

    .kexp-v2-pkg-features li:nth-child(n+4) {
        display: none !important;
    }
    .kexp-v2-pkg-features li.kexp-ticket-highlight {
        display: block !important;
    }

    .kexp-v2-pkg-btn {
        font-size: 11px !important;
        padding: 7px 14px !important;
        width: 100% !important;
        text-align: center !important;
        justify-content: center !important;
    }

    /* Filter Jump Tabs on Mobile */
    .kexp-pkg-jump-bar {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        gap: 6px !important;
        padding-bottom: 8px !important;
        margin-bottom: 20px !important;
        justify-content: flex-start !important;
        scrollbar-width: none !important;
    }

    .kexp-pkg-jump-bar::-webkit-scrollbar {
        display: none;
    }

    .kexp-pkg-jump-link {
        font-size: 11px !important;
        padding: 6px 12px !important;
        white-space: nowrap !important;
        flex-shrink: 0 !important;
    }

    /* --- Section Titles & Header Platforms --- */
    .kexp-v2-section-header,
    .kexp-top-act-header,
    .kexp-reviews-header,
    .kexp-safari-sec-header {
        padding: 24px 18px 22px !important;
        margin-bottom: 32px !important;
        border-radius: 18px !important;
    }

    .kexp-v2-section-title,
    .kexp-section-eyebrow + h2,
    .kexp-v2-sec-title {
        font-size: 24px !important;
        line-height: 1.3 !important;
    }
    .kexp-section-eyebrow {
        font-size: 10px;
    }

    /* --- Testimonials / Reviews --- */
    .kexp-testimonials-grid,
    .kexp-reviews-grid {
        grid-template-columns: 1fr !important;
        gap: 14px;
    }

    /* --- Pillars (3-col → 1-col) --- */
    .kexp-diving-pillars {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    /* --- WhatsApp button — move up slightly on mobile --- */
    .ol-wa-pulse-wrap {
        bottom: 18px !important;
        right: 14px !important;
    }

    /* --- Review Popup — smaller on mobile --- */
    #kexp-review-popup {
        bottom: 76px;
        left: 10px;
    }
    .kexp-rpop-card {
        min-width: 240px;
        max-width: 280px;
        padding: 10px 12px;
    }

    /* --- Footer --- */
    .kexp-v2-footer-grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }
    .kexp-v2-footer-bottom {
        flex-direction: column;
        gap: 10px;
        text-align: center;
    }

    /* --- Who We Are Pillars (mission section) --- */
    .kexp-who-pillars {
        gap: 14px;
    }
    .kexp-who-pillar {
        gap: 10px;
    }

    /* --- Navbar --- */
    .kexp-v2-nav {
        padding: 0 16px;
    }

    /* --- Single Tour Detail Separate Cards on Mobile & Tablet --- */
    body.single-to_book .elementor-element-0acb001 > .e-con-inner {
        flex-direction: column !important;
        gap: 20px !important;
        padding: 0 !important;
    }
    body.single-to_book .elementor-element-dc6acac > .e-con-inner,
    body.single-to_book .elementor-element-85ee098,
    body.single-to_book .elementor-element-e58e68d {
        padding: 20px 18px !important;
        border-radius: 18px !important;
    }
    body.single-to_book .elementor-element-85ee098 {
        border-right: none !important;
        padding-right: 18px !important;
        margin-bottom: 0 !important;
    }
    body.single-to_book .elementor-element-2df4fbb {
        padding-left: 0 !important;
    }
    body.single-to_book .single-section-tour-detail {
        padding-bottom: 22px !important;
        margin-bottom: 22px !important;
    }
}

@media (max-width: 480px) {
    .kexp-v2-container {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    .kexp-act-richgrid,
    .kexp-top-act-grid,
    .kexp-packages-grid,
    .kexp-rich-cards-grid,
    .kexp-v2-pkg-grid,
    .kexp-safari-pkg-grid,
    #subpkgGrid {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
        max-width: 100% !important;
    }

    .kexp-rich-thumb,
    .kexp-safari-pkg-img {
        height: 135px !important;
        min-height: 135px !important;
        max-height: 135px !important;
    }

    .kexp-rich-body,
    .kexp-safari-pkg-body {
        padding: 11px 13px 13px !important;
    }

    .kexp-rich-title,
    .kexp-safari-pkg-title {
        font-size: 14px !important;
        line-height: 1.3 !important;
    }

    .kexp-rich-desc,
    .kexp-safari-pkg-desc {
        font-size: 11px !important;
        line-height: 1.4 !important;
        -webkit-line-clamp: 2 !important;
    }

    .kexp-rich-price,
    .kexp-safari-pkg-price .amount,
    .kexp-v2-pkg-amount {
        font-size: 16px !important;
    }

    .kexp-rich-cta,
    .kexp-safari-pkg-cta,
    .kexp-v2-pkg-btn {
        font-size: 10.5px !important;
        padding: 6px 12px !important;
    }

    body.single-to_book .elementor-element-dc6acac > .e-con-inner,
    body.single-to_book .elementor-element-85ee098,
    body.single-to_book .elementor-element-e58e68d {
        padding: 16px 10px !important;
        border-radius: 14px !important;
    }
}

@media (max-width: 400px) {
    .kexp-v2-hero-title {
        font-size: 24px;
    }
    .kexp-who-stat-hero-grid {
        grid-template-columns: 1fr;
    }
    .kexp-stat-giant-num {
        font-size: 30px;
    }
}

/* ═══════════════════════════════════════════════════════════
   SINGLE TOUR & ACTIVITY DETAIL PAGE LUXURY STYLING
   ═══════════════════════════════════════════════════════════ */
.detail-tour {
    padding-top: 30px;
    padding-bottom: 60px;
}

/* ── Tour Title / Header Section: Frosted Glass Layer (Dark Mode) ── */
body.single-to_book .elementor-element-70d3201 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

body.single-to_book .elementor-element-70d3201 > .e-con-inner {
    background: rgba(8, 22, 44, 0.90) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border: 1px solid rgba(255, 255, 255, 0.10) !important;
    border-bottom: none !important;
    border-top-left-radius: 22px !important;
    border-top-right-radius: 22px !important;
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
    padding: 36px 40px 24px !important;
    margin-bottom: 0 !important;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35) !important;
}

body.single-to_book .elementor-element-94bb3a4 {
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* ── Light Mode: Tour Title / Header Section Frosted Glass Layer ── */
body.kexp-theme-light.single-to_book .elementor-element-70d3201 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

body.kexp-theme-light.single-to_book .elementor-element-70d3201 > .e-con-inner {
    background: rgba(255, 255, 255, 0.95) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border: 1px solid #dde3ec !important;
    border-bottom: none !important;
    border-top-left-radius: 22px !important;
    border-top-right-radius: 22px !important;
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
    padding: 36px 40px 24px !important;
    margin-bottom: 0 !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.06) !important;
}

body.kexp-theme-light.single-to_book .elementor-element-94bb3a4 {
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* ── Adjust dc6acac (Gallery) to join seamlessly below the header ── */
body.single-to_book .elementor-element-dc6acac {
    padding-top: 0 !important;
}

body.kexp-theme-light.single-to_book .elementor-element-dc6acac {
    padding-top: 0 !important;
}

/* ── Adjust gallery inner block to continue the frosted card ── */
body.single-to_book .elementor-element-dc6acac > .e-con-inner {
    border-top-left-radius: 0 !important;
    border-top-right-radius: 0 !important;
    border-bottom-left-radius: 22px !important;
    border-bottom-right-radius: 22px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.07) !important;
}

body.kexp-theme-light.single-to_book .elementor-element-dc6acac > .e-con-inner {
    border-top-left-radius: 0 !important;
    border-top-right-radius: 0 !important;
    border-bottom-left-radius: 22px !important;
    border-bottom-right-radius: 22px !important;
    border-top: 1px solid #dde3ec !important;
}







.detail-tour .title-tour {
    font-family: var(--kexp-font-heading, 'Plus Jakarta Sans', sans-serif);
    font-size: 32px;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 12px;
    line-height: 1.25;
}

.detail-tour .category {
    display: inline-block;
    background: rgba(245, 158, 11, 0.15);
    border: 1px solid rgba(245, 158, 11, 0.35);
    color: #fbbf24;
    padding: 4px 14px;
    border-radius: 9999px;
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 12px;
}

.detail-tour .post-total-rating {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    padding: 6px 14px;
    border-radius: 9999px;
    font-size: 14px;
}

.detail-tour .post-total-rating .star-rating {
    color: #fbbf24;
    letter-spacing: 2px;
}

.detail-tour .post-total-rating .rating-text strong {
    color: #ffffff;
}

.detail-tour .top-detail-info {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    padding: 20px;
    margin: 24px 0 32px;
}

.detail-tour .singles_item .icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    background: rgba(245, 158, 11, 0.12);
    color: #fbbf24;
    font-size: 20px;
    margin-right: 14px;
}

.detail-tour .singles_item .name {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #94a3b8;
    margin-bottom: 2px;
}

.detail-tour .singles_item .value {
    font-size: 16px;
    font-weight: 600;
    color: #f8fafc;
}

/* Review Breakdown Card */
.detail-tour .review-total {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 20px;
    padding: 30px;
    margin: 40px 0 30px;
}

.detail-tour .average-rating {
    text-align: center;
    border-right: 1px solid rgba(255, 255, 255, 0.08);
    padding-right: 25px;
}

.detail-tour .average-value {
    font-size: 54px;
    font-weight: 800;
    color: #fbbf24;
    line-height: 1;
    margin-bottom: 8px;
}

.detail-tour .percent-star {
    font-size: 20px;
    color: #fbbf24;
    margin-bottom: 6px;
}

.detail-tour .numbers-rating {
    font-size: 14px;
    color: #94a3b8;
}

.detail-tour .detail-rating-inner {
    padding-left: 25px;
}

.detail-tour .list-rating {
    margin-bottom: 10px;
}

.detail-tour .list-rating .stars-label {
    width: 70px;
    font-size: 13px;
    color: #cbd5e1;
}

.detail-tour .list-rating .progress {
    flex-grow: 1;
    height: 8px;
    background: rgba(255, 255, 255, 0.08);
    border-radius: 9999px;
    overflow: hidden;
    margin: 0 14px;
}

.detail-tour .list-rating .progress-bar-success {
    background: linear-gradient(90deg, #f59e0b, #fbbf24) !important;
    border-radius: 9999px;
}

.detail-tour .list-rating .value {
    width: 35px;
    text-align: right;
    font-size: 13px;
    font-weight: 600;
    color: #94a3b8;
}

/* Light Mode Overrides for Single Tour */
/* ═══════════════════════════════════════════════════════════
   SINGLE TOUR / ACTIVITY PAGE: DARK & LIGHT MODE
   ═══════════════════════════════════════════════════════════ */
/* Default (Dark Mode) Headings & Titles */
body.single-to_book .tour-title,
body.single-to_book .tour-page-title .tour-title,
.elementor-widget-apus_element_booking_single_title .tour-title,
.tour-page-title .tour-title,
.tour-page-title h1,
.tour-page-title h2,
.single-section-tour-detail .title,
.single-section-tour-detail h2,
.single-section-tour-detail h3,
.single-section-tour-detail h4,
.single-section-tour-detail h5,
.babe_post_content_title,
.elementor-widget-apus_element_booking_single_features .title,
.elementor-widget-apus_element_booking_single_description .title,
.detail-tour h1,
.detail-tour h2,
.detail-tour h3,
.detail-tour h4,
.detail-tour h5,
.detail-tour .title-tour {
    color: #ffffff !important;
    font-weight: 700 !important;
}

body.single-to_book .tour-title,
body.single-to_book .tour-page-title .tour-title {
    font-size: 32px !important;
    line-height: 1.25 !important;
    margin-bottom: 12px !important;
}

/* ═══════════════════════════════════════════════════════════
   SINGLE TOUR MAIN CONTENT - UNIFIED CARD WITH PARTITIONS
   (Combines Features, Overview, Included, Calendar into ONE card)
   ═══════════════════════════════════════════════════════════ */

/* ── Separate Tour Details Card & Booking Sidebar Card (Dark Mode) ── */
body.single-to_book .elementor-element-dc6acac {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-bottom: 24px !important;
}

body.single-to_book .elementor-element-dc6acac > .e-con-inner {
    background: rgba(8, 22, 44, 0.88) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 22px !important;
    padding: 24px 32px 14px !important;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35) !important;
}

body.single-to_book .elementor-element-0acb001 {
    padding-top: 0 !important;
    margin-top: 0 !important;
    padding-bottom: 60px !important;
}

body.single-to_book .elementor-element-0acb001 > .e-con-inner {
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin-top: 0 !important;
    box-shadow: none !important;
    gap: 28px !important;
    display: flex !important;
}

/* Left Column: Standalone Frosted Tour Details Card */
body.single-to_book .elementor-element-85ee098 {
    background: rgba(8, 22, 44, 0.88) !important;
    backdrop-filter: blur(18px) !important;
    -webkit-backdrop-filter: blur(18px) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 22px !important;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35) !important;
    padding: 32px 36px 40px !important;
    margin: 0 !important;
    border-right: 1px solid rgba(255, 255, 255, 0.08) !important;
    gap: 0 !important;
    row-gap: 0 !important;
}

/* Right Column: Standalone Frosted Booking Sidebar Card */
body.single-to_book .elementor-element-2df4fbb {
    padding: 0 !important;
    margin: 0 !important;
}

body.single-to_book .elementor-element-e58e68d {
    background: rgba(8, 22, 44, 0.88) !important;
    backdrop-filter: blur(18px) !important;
    -webkit-backdrop-filter: blur(18px) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 22px !important;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35) !important;
    padding: 28px 24px !important;
}

body.single-to_book .tour-entry-content,
body.single-to_book .content-tour-detail .col-lg-8 > article {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}


/* Remove Spacer Gaps inside the Unified Card */
body.single-to_book .elementor-element-85ee098 > .elementor-widget-spacer,
body.single-to_book .tour-entry-content > .elementor-widget-spacer {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Partitioned Sections inside the Unified Card (Dark Mode) */
.single-section-tour-detail,
body.single-to_book .single-section-tour-detail {
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 0 32px 0 !important;
    margin: 0 0 32px 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

/* Last Partitioned Section - No Bottom Divider */
body.single-to_book .elementor-element-85ee098 > .elementor-widget:last-child .single-section-tour-detail,
body.single-to_book .elementor-element-85ee098 > .elementor-widget:has(+ .elementor-widget-spacer:last-child) .single-section-tour-detail,
body.single-to_book .elementor-element-85ee098 > .elementor-widget:last-of-type .single-section-tour-detail,
body.single-to_book .tour-entry-content .single-section-tour-detail:last-child,
body.single-to_book .single-section-tour-detail:last-of-type {
    border-bottom: none !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.single-section-tour-detail .title {
    margin-top: 0 !important;
    margin-bottom: 18px !important;
    padding-bottom: 10px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
}


/* Default (Dark Mode) Body Text & Lists */
body.single-to_book #apus-main-content,
body.single-to_book .single-section-tour-detail,
body.single-to_book .single-section-tour-detail p,
body.single-to_book .single-section-tour-detail ul,
body.single-to_book .single-section-tour-detail ol,
body.single-to_book .single-section-tour-detail ul li,
body.single-to_book .single-section-tour-detail ol li,
body.single-to_book .elementor-widget-text-editor,
body.single-to_book .elementor-widget-text-editor p,
body.single-to_book .elementor-widget-text-editor ul li,
.single-section-tour-detail,
.single-section-tour-detail p,
.single-section-tour-detail ul li,
.single-section-tour-detail ol li {
    color: #cbd5e1 !important;
    font-size: 15px;
    line-height: 1.7;
}

body.single-to_book .single-section-tour-detail strong,
body.single-to_book .single-section-tour-detail b,
.single-section-tour-detail strong,
.single-section-tour-detail b {
    color: #ffffff !important;
}

/* Features Badges in Dark Mode */
.single-section-tour-detail .info-detail-room {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    margin-top: 8px !important;
}

.info-detail-room .item-detail-room,
.single-section-tour-detail .item-detail-room {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    background: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 12px !important;
    padding: 10px 18px !important;
    margin: 0 !important;
    color: #f1f5f9 !important;
}

.info-detail-room .item-detail-room i,
.single-section-tour-detail .item-detail-room i {
    color: #fbbf24 !important;
    font-size: 18px !important;
}

.info-detail-room .item-detail-room .text,
.single-section-tour-detail .item-detail-room .text {
    color: #94a3b8 !important;
    font-weight: 500 !important;
}

/* ── Hide the "What's Included" amenities taxonomy block (user request) ── */
body.single-to_book .tour-single-taxonomy {
    display: none !important;
}

/* Amenities inside What's Included */
.single-section-tour-detail .tour-detail-amenities {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    padding-left: 0 !important;
    list-style: none !important;
    margin: 0 !important;
}

.single-section-tour-detail .tour-detail-amenities li {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    background: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 10px !important;
    padding: 8px 16px !important;
    margin: 0 !important;
    color: #e2e8f0 !important;
}

.single-section-tour-detail .tour-detail-amenities li i {
    color: #38bdf8 !important;
}

.single-section-tour-detail hr {
    border-color: rgba(255, 255, 255, 0.1) !important;
}

/* Certified Diver & Non-Diver Highlight Callout Box (Dark Mode) */
.kexp-diver-notice-box {
    background: linear-gradient(135deg, rgba(245, 158, 11, 0.12) 0%, rgba(6, 182, 212, 0.06) 100%) !important;
    border: 1px solid rgba(245, 158, 11, 0.35) !important;
    border-left: 4px solid #f59e0b !important;
    border-radius: 14px !important;
    padding: 16px 20px !important;
    margin: 22px 0 24px !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25) !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
}

.kexp-diver-notice-box .kexp-notice-row {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
    color: #f1f5f9 !important;
}

.kexp-diver-notice-box .kexp-notice-row strong {
    color: #fbbf24 !important;
    font-weight: 700 !important;
}

.kexp-diver-notice-box .kexp-notice-nondiver {
    font-size: 14.5px !important;
    color: #cbd5e1 !important;
    padding-top: 4px !important;
    border-top: 1px dashed rgba(255, 255, 255, 0.12) !important;
}

.kexp-diver-notice-box .kexp-notice-nondiver strong {
    color: #38bdf8 !important;
}

/* ═══════════════════════════════════════════════════════════
   LIGHT MODE OVERRIDES FOR SINGLE TOUR / ACTIVITY PAGE
   ═══════════════════════════════════════════════════════════ */
/* Light Mode Headings & Titles */
body.kexp-theme-light.single-to_book .tour-title,
body.kexp-theme-light.single-to_book .tour-page-title .tour-title,
body.kexp-theme-light .elementor-widget-apus_element_booking_single_title .tour-title,
body.kexp-theme-light .tour-page-title .tour-title,
body.kexp-theme-light .tour-page-title h1,
body.kexp-theme-light .tour-page-title h2,
body.kexp-theme-light .single-section-tour-detail .title,
body.kexp-theme-light .single-section-tour-detail h2,
body.kexp-theme-light .single-section-tour-detail h3,
body.kexp-theme-light .single-section-tour-detail h4,
body.kexp-theme-light .single-section-tour-detail h5,
body.kexp-theme-light .babe_post_content_title,
body.kexp-theme-light .elementor-widget-apus_element_booking_single_features .title,
body.kexp-theme-light .elementor-widget-apus_element_booking_single_description .title,
body.kexp-theme-light .detail-tour h1,
body.kexp-theme-light .detail-tour h2,
body.kexp-theme-light .detail-tour h3,
body.kexp-theme-light .detail-tour h4,
body.kexp-theme-light .detail-tour h5,
body.kexp-theme-light .detail-tour .title-tour {
    color: #0f172a !important;
}

/* Unified Master Tour Card (Light Mode) - Merges Gallery, Tour Details, and Sidebar */
body.kexp-theme-light.single-to_book .elementor-element-dc6acac {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

body.kexp-theme-light.single-to_book .elementor-element-dc6acac > .e-con-inner {
    background: rgba(255, 255, 255, 0.96) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    border: 1px solid #e2e8f0 !important;
    border-bottom: none !important;
    border-top-left-radius: 24px !important;
    border-top-right-radius: 24px !important;
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
    padding: 28px 36px 14px 36px !important;
    margin-bottom: 0 !important;
}

/* ── Separate Tour Details Card & Booking Sidebar Card (Light Mode) ── */
body.kexp-theme-light.single-to_book .elementor-element-dc6acac {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-bottom: 24px !important;
}

body.kexp-theme-light.single-to_book .elementor-element-dc6acac > .e-con-inner {
    background: rgba(255, 255, 255, 0.94) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 22px !important;
    padding: 24px 32px 14px !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.06) !important;
}

body.kexp-theme-light.single-to_book .elementor-element-0acb001 {
    padding-top: 0 !important;
    margin-top: 0 !important;
    padding-bottom: 60px !important;
}

body.kexp-theme-light.single-to_book .elementor-element-0acb001 > .e-con-inner {
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin-top: 0 !important;
    box-shadow: none !important;
    gap: 28px !important;
    display: flex !important;
}

/* Left Column: Standalone Tour Details Card - Light Mode */
body.kexp-theme-light.single-to_book .elementor-element-85ee098 {
    background: rgba(255, 255, 255, 0.94) !important;
    backdrop-filter: blur(18px) !important;
    -webkit-backdrop-filter: blur(18px) !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 22px !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.06) !important;
    padding: 32px 36px 40px !important;
    margin: 0 !important;
    gap: 0 !important;
    row-gap: 0 !important;
}

/* Right Column: Standalone Booking Sidebar Card - Light Mode */
body.kexp-theme-light.single-to_book .elementor-element-2df4fbb {
    padding: 0 !important;
    margin: 0 !important;
}

body.kexp-theme-light.single-to_book .elementor-element-e58e68d {
    background: rgba(255, 255, 255, 0.94) !important;
    backdrop-filter: blur(18px) !important;
    -webkit-backdrop-filter: blur(18px) !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 22px !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.06) !important;
    padding: 28px 24px !important;
}

body.kexp-theme-light.single-to_book .tour-entry-content,
body.kexp-theme-light.single-to_book .content-tour-detail .col-lg-8 > article {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

/* Partitioned Tour Sections inside Unified Card - Light Mode */
body.kexp-theme-light .single-section-tour-detail,
body.kexp-theme-light.single-to_book .single-section-tour-detail {
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 0 32px 0 !important;
    margin: 0 0 32px 0 !important;
    border-bottom: 1px solid #e2e8f0 !important;
}

body.kexp-theme-light.single-to_book .elementor-element-85ee098 > .elementor-widget:last-child .single-section-tour-detail,
body.kexp-theme-light.single-to_book .elementor-element-85ee098 > .elementor-widget:has(+ .elementor-widget-spacer:last-child) .single-section-tour-detail,
body.kexp-theme-light.single-to_book .elementor-element-85ee098 > .elementor-widget:last-of-type .single-section-tour-detail,
body.kexp-theme-light.single-to_book .tour-entry-content .single-section-tour-detail:last-child,
body.kexp-theme-light.single-to_book .single-section-tour-detail:last-of-type {
    border-bottom: none !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

body.kexp-theme-light .single-section-tour-detail .title {
    color: #0f172a !important;
    border-bottom: 1px solid #f1f5f9 !important;
    margin-top: 0 !important;
    margin-bottom: 18px !important;
    padding-bottom: 10px !important;
    font-size: 22px !important;
    font-weight: 700 !important;
}

/* Light Mode Body Text & Lists (Fixes Pale Bullet Points) */
body.kexp-theme-light.single-to_book #apus-main-content,
body.kexp-theme-light.single-to_book .single-section-tour-detail,
body.kexp-theme-light.single-to_book .single-section-tour-detail p,
body.kexp-theme-light.single-to_book .single-section-tour-detail ul,
body.kexp-theme-light.single-to_book .single-section-tour-detail ol,
body.kexp-theme-light.single-to_book .single-section-tour-detail ul li,
body.kexp-theme-light.single-to_book .single-section-tour-detail ol li,
body.kexp-theme-light.single-to_book .elementor-widget-text-editor,
body.kexp-theme-light.single-to_book .elementor-widget-text-editor p,
body.kexp-theme-light.single-to_book .elementor-widget-text-editor ul li,
body.kexp-theme-light .single-section-tour-detail,
body.kexp-theme-light .single-section-tour-detail p,
body.kexp-theme-light .single-section-tour-detail ul li,
body.kexp-theme-light .single-section-tour-detail ol li,
body.kexp-theme-light .detail-tour,
body.kexp-theme-light .detail-tour p,
body.kexp-theme-light .detail-tour ul li,
body.kexp-theme-light .detail-tour ol li {
    color: #334155 !important;
}

body.kexp-theme-light.single-to_book .single-section-tour-detail strong,
body.kexp-theme-light.single-to_book .single-section-tour-detail b,
body.kexp-theme-light .single-section-tour-detail strong,
body.kexp-theme-light .single-section-tour-detail b,
body.kexp-theme-light .detail-tour strong,
body.kexp-theme-light .detail-tour b {
    color: #0f172a !important;
}

/* Light Mode Features items */
body.kexp-theme-light .single-section-tour-detail .info-detail-room {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    margin-top: 8px !important;
}

body.kexp-theme-light .info-detail-room .item-detail-room,
body.kexp-theme-light .single-section-tour-detail .item-detail-room {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    padding: 10px 18px !important;
    margin: 0 !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.02) !important;
    color: #0f172a !important;
}

body.kexp-theme-light .info-detail-room .item-detail-room i,
body.kexp-theme-light .single-section-tour-detail .item-detail-room i {
    color: #d97706 !important;
    font-size: 18px !important;
}

body.kexp-theme-light .info-detail-room .item-detail-room .text,
body.kexp-theme-light .single-section-tour-detail .item-detail-room .text {
    color: #64748b !important;
    font-weight: 500 !important;
}

/* Light Mode Amenities inside What's Included */
body.kexp-theme-light .single-section-tour-detail .tour-detail-amenities {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    padding-left: 0 !important;
    list-style: none !important;
    margin: 0 !important;
}

body.kexp-theme-light .single-section-tour-detail .tour-detail-amenities li {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 10px !important;
    padding: 8px 16px !important;
    margin: 0 !important;
    color: #334155 !important;
}

body.kexp-theme-light .single-section-tour-detail .tour-detail-amenities li i {
    color: #0284c7 !important;
}

/* Certified Diver & Non-Diver Highlight Callout Box (Light Mode) */
body.kexp-theme-light .kexp-diver-notice-box {
    background: linear-gradient(135deg, rgba(254, 243, 199, 0.75) 0%, rgba(255, 251, 235, 0.95) 100%) !important;
    border: 1px solid #fcd34d !important;
    border-left: 4px solid #d97706 !important;
    box-shadow: 0 4px 16px rgba(217, 119, 6, 0.10) !important;
}

body.kexp-theme-light .kexp-diver-notice-box .kexp-notice-row {
    color: #1e293b !important;
}

body.kexp-theme-light .kexp-diver-notice-box .kexp-notice-row strong {
    color: #b45309 !important;
}

body.kexp-theme-light .kexp-diver-notice-box .kexp-notice-nondiver {
    color: #475569 !important;
    border-top: 1px dashed rgba(217, 119, 6, 0.25) !important;
}

body.kexp-theme-light .kexp-diver-notice-box .kexp-notice-nondiver strong {
    color: #0284c7 !important;
}

/* Light Mode Ratings & Reviews */
body.kexp-theme-light .detail-tour .top-detail-info,
body.kexp-theme-light .detail-tour .review-total {
    background: #ffffff !important;
    border-color: #e2e8f0 !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05) !important;
}

body.kexp-theme-light .detail-tour .singles_item .value {
    color: #0f172a !important;
}

body.kexp-theme-light .detail-tour .average-rating {
    border-right-color: #e2e8f0 !important;
    color: #0f172a !important;
}

body.kexp-theme-light .detail-tour .list-rating .stars-label {
    color: #334155 !important;
}

body.kexp-theme-light .detail-tour .list-rating .progress {
    background: #e2e8f0 !important;
}

body.kexp-theme-light .detail-tour .post-total-rating {
    background: rgba(245, 158, 11, 0.1) !important;
    border-color: rgba(245, 158, 11, 0.25) !important;
}

body.kexp-theme-light .detail-tour .post-total-rating .rating-text strong {
    color: #0f172a !important;
}

/* ═══════════════════════════════════════════════════════════
   UNIVERSAL BOOKING WIDGET (DARK & LIGHT MODE)
   ═══════════════════════════════════════════════════════════ */
/* Dark Mode (Default) Booking Widget Card */
.tour-booking-form,
.detail-tour .sidebar-single-tour .booking-form,
.detail-tour .sidebar-single-tour .widget,
.babe-booking-form,
#booking_form_block,
.babe_booking_form_wrapper,
.elementor-widget-apus_element_booking_single_booking_form {
    background: #0b1528 !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 20px !important;
    padding: 28px !important;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.5) !important;
    color: #f8fafc !important;
}

.tour-booking-form .item_info_price,
.detail-tour .sidebar-single-tour .item_info_price,
.item_info_price {
    border: none !important;
    margin-bottom: 20px !important;
    display: flex !important;
    align-items: baseline !important;
    gap: 8px !important;
}

.tour-booking-form .item_info_price label,
.item_info_price label {
    color: #94a3b8 !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
}

.tour-booking-form .item_info_price .item_info_price_from,
.tour-booking-form .currency_amount,
.item_info_price .item_info_price_from,
.item_info_price .currency_amount {
    color: #38bdf8 !important;
    font-size: 28px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

.tour-booking-form .item_info_price .currency_symbol,
.item_info_price .currency_symbol {
    color: #38bdf8 !important;
}

.tour-booking-form .booking-form-block,
#booking_form .booking-form-block,
#booking_form .input_group {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    padding: 14px 0 !important;
}

.tour-booking-form label,
.tour-booking-form .booking_form_input_label,
#booking_form label,
#booking_form .booking_form_input_label {
    color: #cbd5e1 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    display: block !important;
    margin-bottom: 8px !important;
}

.tour-booking-form .booking_form_step_num,
#booking_form .booking_form_step_num {
    display: none !important;
}

.tour-booking-form input.booking_date,
.tour-booking-form input[type="text"],
.tour-booking-form select,
#booking_form input.booking_date,
#booking_form input[type="text"],
#booking_form select {
    background: #070e1c !important;
    border: 1px solid rgba(255, 255, 255, 0.18) !important;
    color: #ffffff !important;
    border-radius: 10px !important;
    padding: 10px 14px !important;
    font-size: 14px !important;
    box-shadow: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.tour-booking-form .booking-date,
#booking_form .booking-date {
    position: relative !important;
}

.tour-booking-form .booking-date i,
#booking_form .booking-date i {
    color: #fbbf24 !important;
    position: absolute !important;
    right: 14px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    pointer-events: none !important;
}

.tour-booking-form #booking-guests-result,
#booking_form #booking-guests-result {
    color: #94a3b8 !important;
    font-size: 13.5px !important;
    font-style: italic !important;
    padding-top: 4px !important;
}

.tour-booking-form #total_group,
#booking_form #total_group {
    border-bottom: none !important;
    padding: 16px 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}

.tour-booking-form #booking_form_total,
#booking_form #booking_form_total {
    color: #38bdf8 !important;
    font-size: 24px !important;
    font-weight: 800 !important;
}

.tour-booking-form .submit_group,
#booking_form .submit_group {
    padding-top: 8px !important;
}

.tour-booking-form .booking_form_submit,
#booking_form .submit_group .booking_form_submit {
    background: linear-gradient(135deg, #0284c7, #2563eb) !important;
    border: none !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    border-radius: 12px !important;
    padding: 15px 24px !important;
    width: 100% !important;
    font-size: 16px !important;
    transition: all 0.25s ease !important;
    box-shadow: 0 6px 20px rgba(37, 99, 235, 0.4) !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
}

.tour-booking-form .booking_form_submit:hover,
#booking_form .submit_group .booking_form_submit:hover {
    background: linear-gradient(135deg, #0369a1, #1d4ed8) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 10px 24px rgba(37, 99, 235, 0.5) !important;
}

/* Light Mode Overrides for Booking Widget */
body.kexp-theme-light .tour-booking-form,
body.kexp-theme-light .detail-tour .sidebar-single-tour .booking-form,
body.kexp-theme-light .detail-tour .sidebar-single-tour .widget,
body.kexp-theme-light .babe-booking-form,
body.kexp-theme-light #booking_form_block,
body.kexp-theme-light .babe_booking_form_wrapper,
body.kexp-theme-light .elementor-widget-apus_element_booking_single_booking_form {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08) !important;
    color: #0f172a !important;
}

body.kexp-theme-light .tour-booking-form .item_info_price label,
body.kexp-theme-light .item_info_price label {
    color: #64748b !important;
}

body.kexp-theme-light .tour-booking-form .item_info_price .item_info_price_from,
body.kexp-theme-light .tour-booking-form .currency_amount,
body.kexp-theme-light .item_info_price .item_info_price_from,
body.kexp-theme-light .item_info_price .currency_amount,
body.kexp-theme-light .item_info_price .currency_symbol {
    color: #0284c7 !important;
}

body.kexp-theme-light .tour-booking-form .booking-form-block,
body.kexp-theme-light #booking_form .booking-form-block,
body.kexp-theme-light #booking_form .input_group {
    border-bottom: 1px solid #f1f5f9 !important;
}

body.kexp-theme-light .tour-booking-form label,
body.kexp-theme-light .tour-booking-form .booking_form_input_label,
body.kexp-theme-light #booking_form label,
body.kexp-theme-light #booking_form .booking_form_input_label {
    color: #0f172a !important;
    font-weight: 600 !important;
}

body.kexp-theme-light .tour-booking-form input.booking_date,
body.kexp-theme-light .tour-booking-form input[type="text"],
body.kexp-theme-light .tour-booking-form select,
body.kexp-theme-light #booking_form input.booking_date,
body.kexp-theme-light #booking_form input[type="text"],
body.kexp-theme-light #booking_form select {
    background: #f8fafc !important;
    border: 1px solid #cbd5e1 !important;
    color: #0f172a !important;
}

body.kexp-theme-light .tour-booking-form #booking-guests-result,
body.kexp-theme-light #booking_form #booking-guests-result {
    color: #64748b !important;
}

body.kexp-theme-light .tour-booking-form #booking_form_total,
body.kexp-theme-light #booking_form #booking_form_total {
    color: #0284c7 !important;
}

/* ═══════════════════════════════════════════════════════════
   AVAILABILITY CALENDAR & PRICES (DARK & LIGHT MODE)
   ═══════════════════════════════════════════════════════════ */
.elementor-widget-apus_element_booking_single_calendar,
#av-cal,
.single-section-tour-detail:has(#av-cal) {
    display: none !important;
}
/* Dark Mode Calendar Container */
#av-cal {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin-top: 16px !important;
    margin-bottom: 0 !important;
    box-shadow: none !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.cal-month-block {
    background: radial-gradient(ellipse at top, #0d223e 0%, #071324 100%) !important;
    border: 1px solid rgba(56, 189, 248, 0.22) !important;
    border-radius: 16px !important;
    padding: 22px 16px !important;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.4) !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

/* Calendar Month Bar */
#av-cal .cal-month-bar,
.cal-month-bar {
    background: #0f1d37 !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 12px !important;
    color: #ffffff !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    padding: 14px 20px !important;
    margin-bottom: 18px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    text-align: center !important;
}

#av-cal .cal-month-bar .cal-month-prev,
#av-cal .cal-month-bar .cal-month-next,
.cal-month-bar .cal-month-prev,
.cal-month-bar .cal-month-next {
    background: rgba(255, 255, 255, 0.08) !important;
    color: #38bdf8 !important;
    font-size: 14px !important;
    padding: 8px 14px !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

#av-cal .cal-month-bar .cal-month-prev:hover,
#av-cal .cal-month-bar .cal-month-next:hover,
.cal-month-bar .cal-month-prev:hover,
.cal-month-bar .cal-month-next:hover {
    background: #0284c7 !important;
    color: #ffffff !important;
    transform: scale(1.08) !important;
}

/* Weekday Labels */
#av-cal .cal-week-names,
.cal-week-names {
    display: grid !important;
    grid-template-columns: repeat(7, 1fr) !important;
    gap: 8px !important;
    border: none !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    padding: 0 0 12px !important;
    margin-bottom: 16px !important;
    background: transparent !important;
}

#av-cal .cal-week-name,
.cal-week-name {
    background: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid rgba(255, 255, 255, 0.06) !important;
    border-radius: 8px !important;
    color: #94a3b8 !important;
    font-weight: 700 !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    text-align: center !important;
    padding: 8px 0 !important;
}

/* Calendar Days Grid */
#av-cal .cal-dates-block,
.cal-dates-block {
    display: grid !important;
    grid-template-columns: repeat(7, 1fr) !important;
    gap: 8px !important;
}

#av-cal .cal-cell,
.cal-cell {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 48px !important;
    position: relative !important;
}

/* Day Number Pill / Circle */
#av-cal .cal-cell .cal-cell-date,
.cal-cell .cal-cell-date {
    background: rgba(14, 165, 233, 0.14) !important;
    color: #38bdf8 !important;
    border: 1.5px solid rgba(56, 189, 248, 0.35) !important;
    width: 44px !important;
    height: 44px !important;
    line-height: 42px !important;
    border-radius: 50% !important;
    font-size: 14.5px !important;
    font-weight: 600 !important;
    text-align: center !important;
    margin: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
}

#av-cal .cal-cell:hover:not(.cal-cell-disabled) .cal-cell-date,
.cal-cell:hover:not(.cal-cell-disabled) .cal-cell-date {
    background: linear-gradient(135deg, #0284c7, #2563eb) !important;
    color: #ffffff !important;
    border-color: #38bdf8 !important;
    transform: scale(1.12) !important;
    box-shadow: 0 6px 20px rgba(14, 165, 233, 0.5) !important;
}

#av-cal .cal-cell.cal-cell-active .cal-cell-date,
#av-cal .cal-cell.cal-cell-selected .cal-cell-date,
.cal-cell.cal-cell-active .cal-cell-date,
.cal-cell.cal-cell-selected .cal-cell-date {
    background: linear-gradient(135deg, #f59e0b, #d97706) !important;
    color: #020b17 !important;
    border-color: #fbbf24 !important;
    font-weight: 800 !important;
    box-shadow: 0 4px 16px rgba(245, 158, 11, 0.45) !important;
}

#av-cal .cal-cell.cal-cell-disabled .cal-cell-date,
#av-cal .cal-cell.cal-cell-empty .cal-cell-date,
.cal-cell.cal-cell-disabled .cal-cell-date,
.cal-cell.cal-cell-empty .cal-cell-date {
    background: transparent !important;
    border: 1px solid transparent !important;
    color: #475569 !important;
    opacity: 0.45 !important;
    cursor: default !important;
    transform: none !important;
    box-shadow: none !important;
}

/* Calendar Price Tooltip Hover Card */
#av-cal .cal-cell-tooltip,
.cal-cell-tooltip {
    background: #040a16 !important;
    border: 1px solid rgba(56, 189, 248, 0.4) !important;
    border-radius: 12px !important;
    box-shadow: 0 12px 36px rgba(0, 0, 0, 0.85) !important;
    color: #f1f5f9 !important;
    padding: 12px 16px !important;
    font-size: 13px !important;
    z-index: 99999 !important;
}

#av-cal .cal-cell-tooltip .view-rate-details-item,
#av-cal .cal-cell-tooltip .rate_price_general,
.cal-cell-tooltip .view-rate-details-item,
.cal-cell-tooltip .rate_price_general {
    color: #fbbf24 !important;
    font-weight: 700 !important;
    font-size: 14px !important;
}

#av-cal .cal-cell-tooltip .price_age_title,
.cal-cell-tooltip .price_age_title {
    color: #cbd5e1 !important;
}

#av-cal .cal-cell-tooltip .price_age_value,
.cal-cell-tooltip .price_age_value {
    color: #38bdf8 !important;
    font-weight: 700 !important;
}

/* Light Mode Calendar */
body.kexp-theme-light #av-cal {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    box-shadow: none !important;
}

body.kexp-theme-light .cal-month-block {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 16px !important;
    padding: 22px 16px !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04) !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

body.kexp-theme-light #av-cal .cal-month-bar,
body.kexp-theme-light .cal-month-bar {
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    color: #0f172a !important;
}

body.kexp-theme-light #av-cal .cal-month-bar .cal-month-prev,
body.kexp-theme-light #av-cal .cal-month-bar .cal-month-next,
body.kexp-theme-light .cal-month-bar .cal-month-prev,
body.kexp-theme-light .cal-month-bar .cal-month-next {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    color: #0284c7 !important;
}

body.kexp-theme-light #av-cal .cal-week-names,
body.kexp-theme-light .cal-week-names {
    border-bottom: 1px solid #e2e8f0 !important;
    background: transparent !important;
}

body.kexp-theme-light #av-cal .cal-week-name,
body.kexp-theme-light .cal-week-name {
    background: #f1f5f9 !important;
    border: 1px solid #e2e8f0 !important;
    color: #475569 !important;
}

body.kexp-theme-light #av-cal .cal-cell .cal-cell-date,
body.kexp-theme-light .cal-cell .cal-cell-date {
    background: #f0f9ff !important;
    color: #0284c7 !important;
    border: 1.5px solid #bae6fd !important;
}

body.kexp-theme-light #av-cal .cal-cell:hover:not(.cal-cell-disabled) .cal-cell-date,
body.kexp-theme-light .cal-cell:hover:not(.cal-cell-disabled) .cal-cell-date {
    background: linear-gradient(135deg, #0284c7, #2563eb) !important;
    color: #ffffff !important;
    border-color: #0284c7 !important;
}

body.kexp-theme-light #av-cal .cal-cell.cal-cell-active .cal-cell-date,
body.kexp-theme-light #av-cal .cal-cell.cal-cell-selected .cal-cell-date,
body.kexp-theme-light .cal-cell.cal-cell-active .cal-cell-date,
body.kexp-theme-light .cal-cell.cal-cell-selected .cal-cell-date {
    background: linear-gradient(135deg, #f59e0b, #d97706) !important;
    color: #ffffff !important;
    border-color: #f59e0b !important;
}

body.kexp-theme-light #av-cal .cal-cell.cal-cell-disabled .cal-cell-date,
body.kexp-theme-light #av-cal .cal-cell.cal-cell-empty .cal-cell-date,
body.kexp-theme-light .cal-cell.cal-cell-disabled .cal-cell-date,
body.kexp-theme-light .cal-cell.cal-cell-empty .cal-cell-date {
    background: transparent !important;
    border: 1px solid transparent !important;
    color: #94a3b8 !important;
    opacity: 0.4 !important;
}

body.kexp-theme-light #av-cal .cal-cell-tooltip,
body.kexp-theme-light .cal-cell-tooltip {
    background: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.12) !important;
    color: #0f172a !important;
}

body.kexp-theme-light #av-cal .cal-cell-tooltip .view-rate-details-item,
body.kexp-theme-light #av-cal .cal-cell-tooltip .rate_price_general,
body.kexp-theme-light .cal-cell-tooltip .view-rate-details-item,
body.kexp-theme-light .cal-cell-tooltip .rate_price_general {
    color: #d97706 !important;
}

/* ═══════════════════════════════════════════════════════════
   CALENDAR MOBILE & TABLET RESPONSIVE ENGINE
   ═══════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
    #av-cal {
        margin-top: 12px !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .cal-month-block {
        padding: 14px 8px !important;
        border-radius: 14px !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    #av-cal .cal-month-bar,
    .cal-month-bar {
        font-size: 15px !important;
        padding: 9px 12px !important;
        margin-bottom: 12px !important;
        border-radius: 10px !important;
    }

    #av-cal .cal-month-bar .cal-month-prev,
    #av-cal .cal-month-bar .cal-month-next,
    .cal-month-bar .cal-month-prev,
    .cal-month-bar .cal-month-next {
        padding: 6px 10px !important;
        font-size: 12px !important;
        border-radius: 6px !important;
    }

    #av-cal .cal-week-names,
    .cal-week-names {
        gap: 4px !important;
        padding: 0 0 8px !important;
        margin-bottom: 10px !important;
        width: 100% !important;
    }

    #av-cal .cal-week-name,
    .cal-week-name {
        font-size: 10px !important;
        padding: 6px 0 !important;
        letter-spacing: 0 !important;
        border-radius: 6px !important;
        min-width: 0 !important;
    }

    #av-cal .cal-dates-block,
    .cal-dates-block {
        gap: 4px !important;
        width: 100% !important;
    }

    #av-cal .cal-cell,
    .cal-cell {
        min-height: 38px !important;
        min-width: 0 !important;
    }

    #av-cal .cal-cell .cal-cell-date,
    .cal-cell .cal-cell-date {
        width: 36px !important;
        height: 36px !important;
        line-height: 34px !important;
        font-size: 12.5px !important;
        border-width: 1px !important;
    }

    #av-cal .cal-cell-tooltip,
    .cal-cell-tooltip {
        max-width: calc(100vw - 40px) !important;
        font-size: 12px !important;
        padding: 10px 12px !important;
    }
}

@media (max-width: 420px) {
    .cal-month-block {
        padding: 12px 6px !important;
    }

    #av-cal .cal-week-names,
    .cal-week-names,
    #av-cal .cal-dates-block,
    .cal-dates-block {
        gap: 3px !important;
    }

    #av-cal .cal-week-name,
    .cal-week-name {
        font-size: 9px !important;
        padding: 5px 0 !important;
    }

    #av-cal .cal-cell,
    .cal-cell {
        min-height: 35px !important;
    }

    #av-cal .cal-cell .cal-cell-date,
    .cal-cell .cal-cell-date {
        width: 33px !important;
        height: 33px !important;
        line-height: 31px !important;
        font-size: 11.5px !important;
    }
}

@media (max-width: 365px) {
    .cal-month-block {
        padding: 10px 4px !important;
    }

    #av-cal .cal-week-names,
    .cal-week-names,
    #av-cal .cal-dates-block,
    .cal-dates-block {
        gap: 2px !important;
    }

    #av-cal .cal-week-name,
    .cal-week-name {
        font-size: 8px !important;
        padding: 4px 0 !important;
    }

    #av-cal .cal-cell,
    .cal-cell {
        min-height: 31px !important;
    }

    #av-cal .cal-cell .cal-cell-date,
    .cal-cell .cal-cell-date {
        width: 29px !important;
        height: 29px !important;
        line-height: 27px !important;
        font-size: 10.5px !important;
    }
}

/* ═══════════════════════════════════════════════════════════
   LIGHT MODE: DEDICATED PAGES (DIVING & WHALE WATCHING)
   ═══════════════════════════════════════════════════════════ */
body.kexp-theme-light.kexp-diving-page,
body.kexp-theme-light.kexp-whale-page,
body.kexp-theme-light .kexp-diving-wrapper {
    background: transparent !important;
    background-image: none !important;
    color: #334155 !important;
}

body.kexp-theme-light .kexp-subpackages-section {
    background: rgba(0, 0, 0, 0.02) !important;
    border-top: 1px solid rgba(0, 0, 0, 0.06) !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
}

body.kexp-theme-light .kexp-rich-card {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.05) !important;
}

@media (hover: hover) and (pointer: fine) {
    body.kexp-theme-light .kexp-rich-card:hover {
        border-color: #0284c7 !important;
        box-shadow: 0 10px 24px rgba(2, 132, 199, 0.12) !important;
    }
}

body.kexp-theme-light .kexp-rich-title {
    color: #0f172a !important;
}

body.kexp-theme-light .kexp-rich-desc {
    color: #475569 !important;
}

body.kexp-theme-light .kexp-rich-features li {
    color: #334155 !important;
}

body.kexp-theme-light .kexp-rich-features li.kexp-weather-note {
    background: rgba(245, 158, 11, 0.12) !important;
    border-left: 3px solid #d97706 !important;
    color: #92400e !important;
}

body.kexp-theme-light .kexp-rich-features li::before {
    color: #0284c7 !important;
}

body.kexp-theme-light .kexp-rich-meta-row {
    border-top: 1px solid #f1f5f9 !important;
}

body.kexp-theme-light .kexp-rich-meta-item {
    color: #64748b !important;
}

body.kexp-theme-light .kexp-rich-footer {
    border-top: 1px solid #f1f5f9 !important;
}

body.kexp-theme-light .kexp-rich-from {
    color: #64748b !important;
}

body.kexp-theme-light .kexp-rich-price {
    color: #0284c7 !important;
}

body.kexp-theme-light .kexp-price-orig {
    color: #64748b !important;
    text-decoration-color: #dc2626 !important;
}

body.kexp-theme-light .kexp-price-discount-badge {
    color: #047857 !important;
    background: #ecfdf5 !important;
    border-color: #a7f3d0 !important;
}

body.kexp-theme-light .kexp-badge-cat {
    background: #f0f9ff !important;
    border-color: #bae6fd !important;
    color: #0284c7 !important;
}

body.kexp-theme-light .kexp-badge-rating {
    background: #fef3c7 !important;
    border-color: #fde68a !important;
    color: #b45309 !important;
}

body.kexp-theme-light .kexp-diving-banner-frame {
    border: 1px solid #cbd5e1 !important;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08) !important;
}

/* Light Mode: Single Tour Shell */
body.kexp-theme-light #wrapper-container,
body.kexp-theme-light #main-container,
body.kexp-theme-light #apus-main-content,
body.kexp-theme-light .main-content.inner {
    background: transparent !important;
    background-image: none !important;
    color: #334155 !important;
}

/* Universal Floating Theme Toggle Pill */
/* Universal Floating Theme Toggle Pill (Right Side Top) */
.kexp-floating-theme-pill {
    position: fixed !important;
    top: 20px !important;
    right: 24px !important;
    bottom: auto !important;
    left: auto !important;
    z-index: 999999 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    padding: 8px 18px !important;
    background: rgba(11, 21, 40, 0.92) !important;
    border: 1px solid rgba(251, 191, 36, 0.35) !important;
    border-radius: 999px !important;
    color: #fbbf24 !important;
    font-family: var(--kexp-font-body), -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    cursor: pointer !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35), 0 0 10px rgba(245, 158, 11, 0.2) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    transition: all 0.25s ease !important;
}

.kexp-floating-theme-pill:hover {
    transform: translateY(-2px) !important;
    background: rgba(15, 30, 58, 0.98) !important;
    border-color: #fbbf24 !important;
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.45), 0 0 16px rgba(245, 158, 11, 0.35) !important;
}

/* Light Mode: Matches reference image exactly */
body.kexp-theme-light .kexp-floating-theme-pill {
    background: rgba(245, 158, 11, 0.12) !important;
    border: 1px solid rgba(245, 158, 11, 0.35) !important;
    color: #b45309 !important;
    box-shadow: 0 4px 14px rgba(245, 158, 11, 0.15) !important;
}

body.kexp-theme-light .kexp-floating-theme-pill:hover {
    background: rgba(245, 158, 11, 0.22) !important;
    border-color: rgba(245, 158, 11, 0.55) !important;
    color: #9a3412 !important;
    box-shadow: 0 6px 18px rgba(245, 158, 11, 0.25) !important;
}

@media (max-width: 768px) {
    .kexp-floating-theme-pill {
        top: 14px !important;
        right: 14px !important;
        padding: 7px 14px !important;
        font-size: 12px !important;
    }
}

/* ═══════════════════════════════════════════════════════════
   RELATED TOURS / YOU MAY ALSO LIKE (DARK & LIGHT MODE)
   ═══════════════════════════════════════════════════════════ */
.tour-grid-v1 .inner,
.tour-item-style .inner {
    background: #0b1528 !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.35) !important;
    transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}

.tour-grid-v1:hover .inner,
.tour-item-style:hover .inner {
    transform: translateY(-4px) !important;
    box-shadow: 0 14px 32px rgba(0, 0, 0, 0.5) !important;
    border-color: rgba(56, 189, 248, 0.3) !important;
}

.tour-grid-v1 .tour-content,
.tour-item-style .tour-content {
    padding: 18px 20px 22px !important;
}

.tour-grid-v1 .title a,
.tour-item-style .title a {
    color: #ffffff !important;
    font-size: 16.5px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
}

.tour-grid-v1 .top-info .item-detail-room,
.tour-item-style .top-info .item-detail-room {
    color: #94a3b8 !important;
    font-size: 13px !important;
}

.tour-grid-v1 .item_info_price label,
.tour-item-style .item_info_price label {
    color: #94a3b8 !important;
    font-size: 13px !important;
}

.tour-grid-v1 .item_info_price .item_info_price_from,
.tour-item-style .item_info_price .item_info_price_from {
    color: #38bdf8 !important;
    font-size: 22px !important;
    font-weight: 800 !important;
}

/* Light mode for related tour cards */
body.kexp-theme-light .tour-grid-v1 .inner,
body.kexp-theme-light .tour-item-style .inner {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06) !important;
}

body.kexp-theme-light .tour-grid-v1:hover .inner,
body.kexp-theme-light .tour-item-style:hover .inner {
    border-color: #0284c7 !important;
    box-shadow: 0 14px 32px rgba(2, 132, 199, 0.15) !important;
}

body.kexp-theme-light .tour-grid-v1 .title a,
body.kexp-theme-light .tour-item-style .title a {
    color: #0f172a !important;
}

body.kexp-theme-light .tour-grid-v1 .top-info .item-detail-room,
body.kexp-theme-light .tour-item-style .top-info .item-detail-room {
    color: #64748b !important;
}

body.kexp-theme-light .tour-grid-v1 .item_info_price label,
body.kexp-theme-light .tour-item-style .item_info_price label {
    color: #64748b !important;
}

body.kexp-theme-light .tour-grid-v1 .item_info_price .item_info_price_from,
body.kexp-theme-light .tour-item-style .item_info_price .item_info_price_from {
    color: #0284c7 !important;
}

/* ═══════════════════════════════════════════════════════════
   APUS / ELEMENTOR FOOTER (DARK MODE & LIGHT MODE)
   ═══════════════════════════════════════════════════════════ */
/* Dark Mode (Default) Footer Styling */
#apus-footer,
.apus-footer,
.apus-footer-inner,
.elementor-674,
.elementor-674 .elementor-element-a86d14a,
.elementor-674 .elementor-element-68cf01b,
.elementor-674 .elementor-element-35359c6 {
    background: #020b17 !important;
    color: #94a3b8 !important;
    position: relative !important;
}

#apus-footer {
    border-top: 1px solid rgba(251, 191, 36, 0.22) !important;
}

/* Headings & Widget Titles in Dark Mode */
#apus-footer .widget-title,
#apus-footer h2.widget-title,
#apus-footer .elementor-heading-title,
#apus-footer h1,
#apus-footer h2,
#apus-footer h3,
#apus-footer h4,
.elementor-674 .widget-title,
.elementor-674 .elementor-heading-title {
    color: #ffffff !important;
    font-weight: 700 !important;
    letter-spacing: 0.3px !important;
}

/* Specific section subtitles or titles */
#apus-footer .elementor-element-3207703 .elementor-heading-title {
    color: #38bdf8 !important; /* "Best Diving in Kalpitiya, Sri Lanka" */
    font-weight: 700 !important;
    font-size: 19px !important;
    margin-top: 12px !important;
}

#apus-footer .elementor-element-a705a90 .elementor-heading-title {
    color: #fbbf24 !important; /* "FOLLOW US" */
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
}

/* Links in Menus */
#apus-footer a,
#apus-footer ul.menu li a,
.elementor-674 a,
.elementor-674 ul.menu li a {
    color: #cbd5e1 !important;
    font-size: 14px !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    display: inline-block !important;
}

#apus-footer a:hover,
#apus-footer ul.menu li a:hover,
.elementor-674 a:hover,
.elementor-674 ul.menu li a:hover {
    color: #38bdf8 !important;
    transform: translateX(3px) !important;
}

/* Text Content, Paragraphs, Spans, Lists */
#apus-footer p,
#apus-footer span,
#apus-footer li,
#apus-footer .elementor-icon-list-text,
#apus-footer .widget-content,
.elementor-674 p,
.elementor-674 span,
.elementor-674 li,
.elementor-674 .elementor-widget-container {
    color: #94a3b8 !important;
    line-height: 1.8 !important;
    font-size: 14px !important;
}

/* Contact phone/email highlight */
#apus-footer .elementor-element-5484f26 .elementor-icon-list-text,
#apus-footer .elementor-element-93a3fff .elementor-icon-list-text {
    color: #e2e8f0 !important;
    font-weight: 500 !important;
}

/* Spacer / Divider */
#apus-footer .elementor-element-07f59fa,
.elementor-674 .elementor-element-07f59fa,
.elementor-674 .elementor-spacer-inner {
    background-color: rgba(255, 255, 255, 0.1) !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
}

/* Copyright Row */
#apus-footer .elementor-element-148c2fa p,
.elementor-674 .elementor-element-148c2fa p,
.apus-copyright {
    color: #64748b !important;
    font-size: 13.5px !important;
    background: #020b17 !important;
}

/* Social Icons */
#apus-footer .elementor-social-icon,
.elementor-674 .elementor-social-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    transition: all 0.2s ease !important;
}

#apus-footer .elementor-social-icon:hover,
.elementor-674 .elementor-social-icon:hover {
    background: #0284c7 !important;
    border-color: #38bdf8 !important;
    transform: translateY(-2px) !important;
}

#apus-footer .elementor-social-icon svg,
.elementor-674 .elementor-social-icon svg {
    fill: #ffffff !important;
    width: 16px !important;
    height: 16px !important;
}

/* Logo enhancement on dark background */
#apus-footer .logo img,
.elementor-674 .logo img {
    filter: brightness(0) invert(1) !important;
}

/* ═══════════════════════════════════════════════════════════
   LIGHT MODE: APUS / ELEMENTOR FOOTER
   ═══════════════════════════════════════════════════════════ */
body.kexp-theme-light #apus-footer,
body.kexp-theme-light .apus-footer,
body.kexp-theme-light .apus-footer-inner,
body.kexp-theme-light .elementor-674,
body.kexp-theme-light .elementor-674 .elementor-element-a86d14a,
body.kexp-theme-light .elementor-674 .elementor-element-68cf01b,
body.kexp-theme-light .elementor-674 .elementor-element-35359c6 {
    background: #ede8dc !important;
    color: #475569 !important;
}

body.kexp-theme-light #apus-footer {
    border-top: 1px solid #d4cfc5 !important;
}

body.kexp-theme-light #apus-footer .widget-title,
body.kexp-theme-light #apus-footer h2.widget-title,
body.kexp-theme-light #apus-footer .elementor-heading-title,
body.kexp-theme-light #apus-footer h1,
body.kexp-theme-light #apus-footer h2,
body.kexp-theme-light #apus-footer h3,
body.kexp-theme-light #apus-footer h4,
body.kexp-theme-light .elementor-674 .widget-title,
body.kexp-theme-light .elementor-674 .elementor-heading-title {
    color: #0f172a !important;
    font-weight: 700 !important;
}

body.kexp-theme-light #apus-footer .elementor-element-3207703 .elementor-heading-title {
    color: #0284c7 !important;
}

body.kexp-theme-light #apus-footer .elementor-element-a705a90 .elementor-heading-title {
    color: #b45309 !important;
}

body.kexp-theme-light #apus-footer a,
body.kexp-theme-light #apus-footer ul.menu li a,
body.kexp-theme-light .elementor-674 a,
body.kexp-theme-light .elementor-674 ul.menu li a {
    color: #334155 !important;
}

body.kexp-theme-light #apus-footer a:hover,
body.kexp-theme-light #apus-footer ul.menu li a:hover,
body.kexp-theme-light .elementor-674 a:hover,
body.kexp-theme-light .elementor-674 ul.menu li a:hover {
    color: #0284c7 !important;
}

body.kexp-theme-light #apus-footer p,
body.kexp-theme-light #apus-footer span,
body.kexp-theme-light #apus-footer li,
body.kexp-theme-light #apus-footer .elementor-icon-list-text,
body.kexp-theme-light #apus-footer .widget-content,
body.kexp-theme-light .elementor-674 p,
body.kexp-theme-light .elementor-674 span,
body.kexp-theme-light .elementor-674 li,
body.kexp-theme-light .elementor-674 .widget-content {
    color: #475569 !important;
}

body.kexp-theme-light #apus-footer .elementor-element-5484f26 .elementor-icon-list-text,
body.kexp-theme-light #apus-footer .elementor-element-93a3fff .elementor-icon-list-text {
    color: #1e293b !important;
}

body.kexp-theme-light #apus-footer .elementor-element-07f59fa,
body.kexp-theme-light .elementor-674 .elementor-element-07f59fa,
body.kexp-theme-light .elementor-674 .elementor-spacer-inner {
    background-color: #d4cfc5 !important;
    border-color: #d4cfc5 !important;
}

body.kexp-theme-light #apus-footer .elementor-element-148c2fa p,
body.kexp-theme-light .elementor-674 .elementor-element-148c2fa p,
body.kexp-theme-light .apus-copyright {
    color: #64748b !important;
    background: #ede8dc !important;
}

body.kexp-theme-light #apus-footer .elementor-social-icon,
body.kexp-theme-light .elementor-674 .elementor-social-icon {
    background: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05) !important;
}

body.kexp-theme-light #apus-footer .elementor-social-icon svg,
body.kexp-theme-light .elementor-674 .elementor-social-icon svg {
    fill: #0284c7 !important;
}

body.kexp-theme-light #apus-footer .elementor-social-icon:hover,
body.kexp-theme-light .elementor-674 .elementor-social-icon:hover {
    background: #0284c7 !important;
    border-color: #0284c7 !important;
}

body.kexp-theme-light #apus-footer .elementor-social-icon:hover svg,
body.kexp-theme-light .elementor-674 .elementor-social-icon:hover svg {
    fill: #ffffff !important;
}

body.kexp-theme-light #apus-footer .logo img,
body.kexp-theme-light .elementor-674 .logo img {
    filter: none !important;
}

/* ═══════════════════════════════════════════════════════════
   TOUR CODE REMOVAL (USER REQUEST: Tour Code: 106-8223 remove that)
   ═══════════════════════════════════════════════════════════ */
.item-detail-room.tour-code,
.tour-code {
    display: none !important;
}

/* ═══════════════════════════════════════════════════════════
   GUEST COUNT REMOVAL (USER REQUEST: remove 12 Guests / number of guests from Features)
   ═══════════════════════════════════════════════════════════ */
.item-detail-room.guest,
.info-detail-room .item-detail-room.guest,
.singles_item.guest {
    display: none !important;
}

/* ═══════════════════════════════════════════════════════════
   DISCOVERY SCUBA DIVING - OPTIONAL POOL PRACTICE CALLOUT
   ═══════════════════════════════════════════════════════════ */
.kexp-dsd-pool-callout {
    background: rgba(56, 189, 248, 0.1) !important;
    border-left: 4px solid #38bdf8 !important;
    border-radius: 8px !important;
    padding: 14px 18px !important;
    margin: 18px 0 22px !important;
}
.kexp-dsd-pool-callout strong {
    color: #38bdf8 !important;
    font-size: 15px !important;
    display: block !important;
    margin-bottom: 6px !important;
}
.kexp-dsd-pool-callout span {
    color: #cbd5e1 !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    display: block !important;
}
body.kexp-theme-light .kexp-dsd-pool-callout {
    background: #f0f9ff !important;
    border-left-color: #0284c7 !important;
}
body.kexp-theme-light .kexp-dsd-pool-callout strong {
    color: #0369a1 !important;
}
body.kexp-theme-light .kexp-dsd-pool-callout span {
    color: #334155 !important;
}

/* ═══════════════════════════════════════════════════════════
   HAVE BOOKING QUESTIONS CARD & SIDEBAR (DARK & LIGHT MODE)
   ═══════════════════════════════════════════════════════════ */
/* Dark Mode: Have booking questions */
.elementor-element-b87439f {
    background: radial-gradient(ellipse at top, #0d223e 0%, #071324 100%) !important;
    border: 1px solid rgba(56, 189, 248, 0.25) !important;
    border-radius: 16px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.45) !important;
    padding: 28px 20px !important;
}

.elementor-element-b87439f .elementor-heading-title {
    color: #f8fafc !important;
    font-weight: 700 !important;
    font-size: 20px !important;
}

.elementor-element-b87439f .elementor-icon-list-item,
.elementor-element-b87439f .elementor-icon-list-text,
.elementor-element-b87439f .elementor-icon-list-item a {
    color: #38bdf8 !important;
    font-size: 14.5px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

.elementor-element-b87439f .elementor-icon-list-item a:hover {
    color: #fbbf24 !important;
}

.elementor-element-b87439f .elementor-icon-list-icon i {
    color: #fbbf24 !important;
    font-size: 16px !important;
}

/* Light Mode: Have booking questions */
body.kexp-theme-light .elementor-element-b87439f {
    background: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 16px !important;
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.06) !important;
}

body.kexp-theme-light .elementor-element-b87439f .elementor-heading-title {
    color: #0f172a !important;
    font-weight: 700 !important;
}

body.kexp-theme-light .elementor-element-b87439f .elementor-icon-list-item,
body.kexp-theme-light .elementor-element-b87439f .elementor-icon-list-text,
body.kexp-theme-light .elementor-element-b87439f .elementor-icon-list-item a {
    color: #0284c7 !important;
}

body.kexp-theme-light .elementor-element-b87439f .elementor-icon-list-item a:hover {
    color: #b45309 !important;
}

body.kexp-theme-light .elementor-element-b87439f .elementor-icon-list-icon i {
    color: #d97706 !important;
}

/* Hotel accommodation disclaimer note */
.elementor-element-63d8b02 {
    margin: 18px 0 !important;
}

.elementor-element-63d8b02 p {
    color: #cbd5e1 !important;
    font-size: 13.5px !important;
    line-height: 1.6 !important;
}

body.kexp-theme-light .elementor-element-63d8b02 p {
    color: #334155 !important;
}

/* Sidebar Reviews block in Light Mode */
body.kexp-theme-light .numbers-rating {
    color: #64748b !important;
}

body.kexp-theme-light .detail-rating .stars-label {
    color: #334155 !important;
}

body.kexp-theme-light .detail-rating .value {
    color: #0f172a !important;
}

/* ═══════════════════════════════════════════════════════════
   WILPATTU SAFARI & TOUR CONTENT STYLING (DARK & LIGHT MODE)
   ═══════════════════════════════════════════════════════════ */
.kexp-safari-lead {
    font-size: 16px !important;
    line-height: 1.75 !important;
    color: #cbd5e1 !important;
    margin-bottom: 24px !important;
}

.kexp-safari-card {
    background: linear-gradient(135deg, rgba(14, 165, 233, 0.08) 0%, rgba(7, 31, 58, 0.75) 100%) !important;
    border: 1px solid rgba(56, 189, 248, 0.25) !important;
    border-radius: 16px !important;
    padding: 24px 26px !important;
    margin: 26px 0 !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.3) !important;
}

.kexp-safari-card-title {
    color: #38bdf8 !important;
    margin-top: 0 !important;
    margin-bottom: 16px !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

.kexp-safari-hl-list {
    list-style: none !important;
    padding-left: 0 !important;
    margin-bottom: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    text-align: left !important;
}

.kexp-safari-hl-item {
    display: flex !important;
    gap: 12px !important;
    align-items: flex-start !important;
    color: #cbd5e1 !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    text-align: left !important;
}

.kexp-safari-hl-item div {
    text-align: left !important;
    flex: 1 1 auto !important;
}

.kexp-safari-hl-item strong {
    color: #f8fafc !important;
}

/* Options Grid */
.kexp-safari-options-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
    gap: 20px !important;
    margin: 22px 0 32px !important;
}

.kexp-option-card {
    background: rgba(11, 21, 40, 0.85) !important;
    border: 1px solid rgba(56, 189, 248, 0.3) !important;
    border-radius: 16px !important;
    padding: 24px !important;
    display: flex !important;
    flex-direction: column !important;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.35) !important;
    transition: transform 0.2s ease, border-color 0.2s ease !important;
}

.kexp-option-card:hover {
    transform: translateY(-3px) !important;
    border-color: #38bdf8 !important;
}

.kexp-option-featured {
    background: linear-gradient(135deg, rgba(245, 158, 11, 0.12) 0%, rgba(11, 21, 40, 0.9) 100%) !important;
    border-color: rgba(245, 158, 11, 0.45) !important;
}

.kexp-option-featured:hover {
    border-color: #f59e0b !important;
}

.kexp-option-badge {
    display: inline-block !important;
    padding: 4px 12px !important;
    border-radius: 999px !important;
    font-size: 11.5px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    margin-bottom: 12px !important;
    align-self: flex-start !important;
}

.kexp-option-badge-blue {
    background: rgba(56, 189, 248, 0.15) !important;
    color: #38bdf8 !important;
    border: 1px solid rgba(56, 189, 248, 0.3) !important;
}

.kexp-option-badge-gold {
    background: linear-gradient(135deg, #f59e0b, #d97706) !important;
    color: #ffffff !important;
    box-shadow: 0 2px 8px rgba(245, 158, 11, 0.4) !important;
}

.kexp-option-title {
    color: #ffffff !important;
    font-size: 19px !important;
    font-weight: 700 !important;
    margin: 0 0 8px !important;
}

.kexp-option-desc {
    color: #94a3b8 !important;
    font-size: 13.5px !important;
    line-height: 1.5 !important;
    margin-bottom: 16px !important;
}

.kexp-option-specs {
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
    padding-top: 14px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 9px !important;
    font-size: 13.5px !important;
    color: #cbd5e1 !important;
    flex-grow: 1 !important;
}

.kexp-option-specs strong {
    color: #f8fafc !important;
}

/* Timeline */
.kexp-timeline-box {
    background: rgba(11, 21, 40, 0.85) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 16px !important;
    padding: 26px 28px !important;
    margin: 30px 0 !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.35) !important;
}

.kexp-timeline-title {
    color: #fbbf24 !important;
    margin-top: 0 !important;
    margin-bottom: 20px !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

.kexp-timeline-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 15px !important;
}

.kexp-timeline-row {
    display: flex !important;
    gap: 16px !important;
    align-items: flex-start !important;
}

.kexp-time-badge {
    background: rgba(56, 189, 248, 0.15) !important;
    color: #38bdf8 !important;
    border: 1px solid rgba(56, 189, 248, 0.3) !important;
    font-weight: 700 !important;
    padding: 4px 10px !important;
    border-radius: 8px !important;
    font-size: 12px !important;
    white-space: nowrap !important;
    min-width: 145px !important;
    text-align: center !important;
}

.kexp-time-badge-gold {
    background: rgba(245, 158, 11, 0.15) !important;
    color: #fbbf24 !important;
    border-color: rgba(245, 158, 11, 0.35) !important;
}

.kexp-time-badge-green {
    background: rgba(16, 185, 129, 0.15) !important;
    color: #34d399 !important;
    border-color: rgba(16, 185, 129, 0.35) !important;
}

.kexp-timeline-text {
    color: #cbd5e1 !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
}

.kexp-timeline-text strong {
    color: #ffffff !important;
}

/* Inclusions Card */
.kexp-inclusions-card {
    background: rgba(11, 21, 40, 0.85) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 20px !important;
    padding: 28px 30px !important;
    margin: 30px 0 !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.35) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    text-align: left !important;
}

.kexp-inclusions-card-title {
    color: #38bdf8 !important;
    margin-top: 0 !important;
    margin-bottom: 18px !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    text-align: left !important;
}

.kexp-inclusions-card ul {
    list-style: none !important;
    font-size: 14.5px !important;
    line-height: 1.85 !important;
    color: #cbd5e1 !important;
    margin-bottom: 16px !important;
    padding-left: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    text-align: left !important;
}

.kexp-inclusions-card ul li {
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
    margin-bottom: 0 !important;
    text-align: left !important;
    line-height: 1.6 !important;
}

.kexp-inclusions-card ul li::before {
    content: "✓" !important;
    color: #38bdf8 !important;
    font-weight: 800 !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
    flex-shrink: 0 !important;
    display: inline-block !important;
    margin-top: 1px !important;
}

.kexp-inclusions-card p {
    text-align: left !important;
}

.kexp-safari-card {
    text-align: left !important;
}

.kexp-safari-card-title {
    text-align: left !important;
}

.kexp-safari-lead {
    text-align: left !important;
}

.kexp-wilpattu-overview {
    text-align: left !important;
}

/* ═══════════════════════════════════════════════════════════
   LIGHT MODE OVERRIDES FOR WILPATTU SAFARI
   ═══════════════════════════════════════════════════════════ */
body.kexp-theme-light .kexp-safari-lead {
    color: #334155 !important;
}

body.kexp-theme-light .kexp-safari-card {
    background: rgba(255, 255, 255, 0.94) !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.06) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
}

body.kexp-theme-light .kexp-safari-card-title {
    color: #0284c7 !important;
}

body.kexp-theme-light .kexp-safari-hl-item {
    color: #475569 !important;
}

body.kexp-theme-light .kexp-safari-hl-item strong {
    color: #0f172a !important;
}

body.kexp-theme-light .kexp-timeline-box {
    background: rgba(255, 255, 255, 0.94) !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.06) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
}

body.kexp-theme-light .kexp-timeline-title {
    color: #b45309 !important;
}

body.kexp-theme-light .kexp-inclusions-card {
    background: rgba(255, 255, 255, 0.94) !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.06) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
}

body.kexp-theme-light .kexp-inclusions-card-title {
    color: #0284c7 !important;
}

body.kexp-theme-light .kexp-inclusions-card ul {
    color: #334155 !important;
}


body.kexp-theme-light .kexp-option-card {
    background: #ffffff !important;
    border-color: #cbd5e1 !important;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.06) !important;
}

body.kexp-theme-light .kexp-option-card:hover {
    border-color: #0284c7 !important;
}

body.kexp-theme-light .kexp-option-featured {
    background: linear-gradient(135deg, rgba(254, 243, 199, 0.4) 0%, #ffffff 100%) !important;
    border-color: #fcd34d !important;
}

body.kexp-theme-light .kexp-option-featured:hover {
    border-color: #f59e0b !important;
}

body.kexp-theme-light .kexp-option-title {
    color: #0f172a !important;
}

body.kexp-theme-light .kexp-option-desc {
    color: #64748b !important;
}

body.kexp-theme-light .kexp-option-specs {
    border-top-color: #e2e8f0 !important;
    color: #334155 !important;
}

body.kexp-theme-light .kexp-option-specs strong {
    color: #0f172a !important;
}

body.kexp-theme-light .kexp-timeline-box {
    background: #ffffff !important;
    border-color: #cbd5e1 !important;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.06) !important;
}

body.kexp-theme-light .kexp-timeline-title {
    color: #b45309 !important;
}

body.kexp-theme-light .kexp-time-badge {
    background: #f0f9ff !important;
    color: #0284c7 !important;
    border-color: #bae6fd !important;
}

body.kexp-theme-light .kexp-time-badge-gold {
    background: #fef3c7 !important;
    color: #b45309 !important;
    border-color: #fde68a !important;
}

body.kexp-theme-light .kexp-time-badge-green {
    background: #ecfdf5 !important;
    color: #047857 !important;
    border-color: #a7f3d0 !important;
}

body.kexp-theme-light .kexp-timeline-text {
    color: #475569 !important;
}

body.kexp-theme-light .kexp-timeline-text strong {
    color: #0f172a !important;
}


/* ═══════════════════════════════════════════════════════════
   FUN DIVE PACKAGE — OFFER PRICE BANNER (Dark Mode default)
   ═══════════════════════════════════════════════════════════ */
.kexp-price-offer-box {
    background: linear-gradient(135deg, rgba(15, 23, 42, 0.95) 0%, rgba(8, 22, 44, 0.98) 100%);
    border: 2px solid rgba(245, 158, 11, 0.55);
    border-radius: 18px;
    padding: 22px 28px 18px;
    margin: 0 0 28px;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.35);
    position: relative;
    overflow: hidden;
}

.kexp-price-offer-box::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: radial-gradient(ellipse at top left, rgba(245, 158, 11, 0.07) 0%, transparent 60%);
    pointer-events: none;
}

.kexp-price-offer-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px 28px;
}

/* Original (crossed-out) price */
.kexp-price-original {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.kexp-price-original s {
    font-size: 18px;
    color: #94a3b8;
    text-decoration: line-through;
    text-decoration-color: #ef4444;
    text-decoration-thickness: 2px;
    font-weight: 500;
}

.kexp-price-original s small {
    font-size: 11px;
    font-weight: 400;
}

/* Offer price */
.kexp-price-offer {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.kexp-price-offer .kexp-price-amount {
    font-size: 32px;
    font-weight: 800;
    color: #fbbf24;
    letter-spacing: -0.5px;
    line-height: 1.1;
}

.kexp-price-offer .kexp-price-amount small {
    font-size: 13px;
    font-weight: 400;
    color: #cbd5e1;
}

/* Shared label */
.kexp-price-label {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 600;
    color: #64748b;
    display: block;
    margin-bottom: 1px;
}

/* Savings badge */
.kexp-price-saving {
    background: rgba(34, 197, 94, 0.12);
    border: 1px solid rgba(34, 197, 94, 0.3);
    color: #4ade80;
    border-radius: 999px;
    padding: 5px 16px;
    font-size: 13px;
    font-weight: 500;
    white-space: nowrap;
}

.kexp-price-saving strong {
    color: #86efac;
    font-weight: 700;
}

/* Divider between price and dinner */
.kexp-offer-dinner {
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid rgba(245, 158, 11, 0.2);
    font-size: 14px;
    color: #cbd5e1;
    line-height: 1.5;
}

.kexp-offer-dinner strong {
    color: #fbbf24;
}

/* ── Light Mode overrides ── */
body.kexp-theme-light .kexp-price-offer-box {
    background: #ffffff;
    border-color: #f59e0b;
    box-shadow: 0 4px 20px rgba(245, 158, 11, 0.12), 0 1px 4px rgba(0,0,0,0.08);
}

body.kexp-theme-light .kexp-price-offer-box::before {
    background: radial-gradient(ellipse at top left, rgba(245, 158, 11, 0.05) 0%, transparent 60%);
}

body.kexp-theme-light .kexp-price-original s {
    color: #64748b;
}

body.kexp-theme-light .kexp-price-offer .kexp-price-amount {
    color: #d97706;
}

body.kexp-theme-light .kexp-price-offer .kexp-price-amount small {
    color: #64748b;
}

body.kexp-theme-light .kexp-price-label {
    color: #94a3b8;
}

body.kexp-theme-light .kexp-price-saving {
    background: rgba(16, 185, 129, 0.08);
    border-color: rgba(16, 185, 129, 0.3);
    color: #059669;
}

body.kexp-theme-light .kexp-price-saving strong {
    color: #047857;
}

body.kexp-theme-light .kexp-offer-dinner {
    border-top-color: rgba(245, 158, 11, 0.2);
    color: #475569;
}

body.kexp-theme-light .kexp-offer-dinner strong {
    color: #b45309;
}

/* ── Responsive ── */
@media (max-width: 600px) {
    .kexp-price-offer-inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
    .kexp-price-offer .kexp-price-amount {
        font-size: 26px;
    }
    .kexp-price-saving {
        font-size: 12px;
        padding: 4px 12px;
    }
    .kexp-price-offer-box {
        padding: 18px 18px 14px;
    }
}


/* ═══════════════════════════════════════════════════════════
   WILPATTU SAFARI — EXPLORE SPECIFIC PACKAGES SECTION
   (Exact match with diving packages styling)
   ═══════════════════════════════════════════════════════════ */
.kexp-safari-packages-section {
    margin: 36px 0 42px;
    padding: 32px 24px;
    background: rgba(10, 22, 40, 0.75);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 24px;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.45);
}

.kexp-safari-sec-header {
    text-align: center;
    margin-bottom: 28px;
}

.kexp-safari-sec-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(245, 158, 11, 0.15);
    border: 1px solid rgba(245, 158, 11, 0.4);
    color: #fbbf24;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: 6px 14px;
    border-radius: 999px;
    margin-bottom: 12px;
}

.kexp-safari-sec-title {
    font-size: 26px;
    font-weight: 800;
    color: #ffffff;
    margin: 0 0 8px;
    letter-spacing: -0.02em;
}

.kexp-safari-sec-desc {
    font-size: 14px;
    color: #94a3b8;
    margin: 0 0 18px;
}

.kexp-safari-filter-pills {
    display: flex;
    justify-content: center;
    gap: 10px;
}

.kexp-safari-filter-pill {
    background: #f59e0b;
    color: #0f172a;
    font-size: 12px;
    font-weight: 700;
    padding: 6px 16px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

/* ── Package Cards Grid ── */
.kexp-safari-pkg-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)) !important;
    gap: 24px;
    width: 100%;
    align-items: stretch;
}

.kexp-safari-pkg-card {
    min-width: 0 !important;
    background: linear-gradient(180deg, #10263f 0%, #091728 100%);
    border: 1.5px solid rgba(56, 189, 248, 0.4);
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5), 0 0 20px rgba(2, 132, 199, 0.15);
    display: flex;
    flex-direction: column;
    text-decoration: none !important;
    color: inherit !important;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.kexp-safari-pkg-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.6), 0 0 25px rgba(56, 189, 248, 0.3);
    border-color: #38bdf8;
    text-decoration: none !important;
}

/* Full Day Card distinct golden border */
.kexp-safari-pkg-card--full-day {
    border-color: rgba(245, 158, 11, 0.55) !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5), 0 0 20px rgba(245, 158, 11, 0.18) !important;
}

.kexp-safari-pkg-card--full-day:hover {
    border-color: #fbbf24 !important;
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.6), 0 0 30px rgba(245, 158, 11, 0.35) !important;
}

/* ── Card Image & Overlays ── */
.kexp-safari-pkg-img {
    position: relative;
    height: 190px;
    overflow: hidden;
    background: #000;
}

.kexp-safari-pkg-img > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.35s ease;
}

.kexp-safari-pkg-card:hover .kexp-safari-pkg-img > img {
    transform: scale(1.05);
}

.kexp-safari-pkg-badge-left {
    position: absolute;
    top: 12px;
    left: 12px;
    background: #f59e0b;
    color: #0f172a;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: 4px 10px;
    border-radius: 999px;
    white-space: nowrap;
    box-shadow: 0 2px 8px rgba(0,0,0,0.35);
}

.kexp-safari-pkg-badge-left--cyan {
    background: #0ea5e9;
    color: #ffffff;
}

.kexp-safari-pkg-badge-right {
    position: absolute;
    top: 12px;
    right: 12px;
    background: rgba(15, 23, 42, 0.85);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    color: #f1f5f9;
    font-size: 10px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.18);
}

.kexp-safari-pkg-rating {
    position: absolute;
    bottom: 12px;
    left: 12px;
    background: rgba(15, 23, 42, 0.85);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    color: #fbbf24;
    font-size: 11px;
    font-weight: 700;
    padding: 3px 9px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.kexp-safari-pkg-rating span {
    color: #94a3b8;
    font-weight: 500;
}

/* ── Card Body ── */
.kexp-safari-pkg-body {
    padding: 18px 20px;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.kexp-safari-pkg-stats {
    display: flex;
    gap: 16px;
    font-size: 12px;
    color: #94a3b8;
}

.kexp-safari-pkg-stats span {
    display: flex;
    align-items: center;
    gap: 5px;
}

.kexp-safari-pkg-title {
    font-size: 18px;
    font-weight: 800;
    color: #f8fafc;
    line-height: 1.3;
    margin: 0;
}

.kexp-safari-pkg-desc {
    font-size: 13px;
    color: #94a3b8;
    line-height: 1.55;
    margin: 0;
}

.kexp-safari-pkg-features {
    list-style: none;
    margin: 4px 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.kexp-safari-pkg-features li {
    font-size: 12.5px;
    color: #cbd5e1;
    display: flex;
    align-items: flex-start;
    gap: 7px;
    line-height: 1.4;
}

.kexp-safari-pkg-features li::before {
    content: '✓';
    color: #38bdf8;
    font-weight: 800;
    flex-shrink: 0;
    margin-top: 1px;
}

/* ── Card Footer ── */
.kexp-safari-pkg-footer {
    margin-top: auto;
    padding: 14px 20px 18px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.kexp-safari-pkg-price {
    display: flex;
    flex-direction: column;
}

.kexp-safari-pkg-price .from-label {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: #64748b;
    font-weight: 700;
}

.kexp-safari-pkg-price .amount {
    font-size: 26px;
    font-weight: 800;
    color: #38bdf8;
    line-height: 1.1;
}

.kexp-safari-pkg-card--full-day .kexp-safari-pkg-price .amount {
    color: #fbbf24;
}

.kexp-safari-pkg-price .amount small {
    font-size: 11px;
    font-weight: 400;
    color: #94a3b8;
}

.kexp-safari-pkg-cta {
    background: #f59e0b;
    color: #0f172a !important;
    font-size: 13px;
    font-weight: 800;
    padding: 9px 20px;
    border-radius: 999px;
    text-decoration: none !important;
    white-space: nowrap;
    transition: all 0.2s ease;
    box-shadow: 0 4px 14px rgba(245, 158, 11, 0.3);
}

.kexp-safari-pkg-cta:hover {
    background: #fbbf24;
    transform: translateY(-1px);
    box-shadow: 0 6px 18px rgba(245, 158, 11, 0.45);
    text-decoration: none !important;
}

/* ── Light Mode Styles ── */
body.kexp-theme-light .kexp-safari-packages-section {
    background: rgba(255, 255, 255, 0.85);
    border-color: #e2e8f0;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
}

body.kexp-theme-light .kexp-safari-sec-title {
    color: #0f172a;
}

body.kexp-theme-light .kexp-safari-sec-desc {
    color: #64748b;
}

body.kexp-theme-light .kexp-safari-pkg-card {
    background: #ffffff;
    border-color: #cbd5e1;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
}

body.kexp-theme-light .kexp-safari-pkg-card:hover {
    border-color: #0284c7;
    box-shadow: 0 12px 28px rgba(2, 132, 199, 0.15);
}

body.kexp-theme-light .kexp-safari-pkg-card--full-day {
    border-color: #f59e0b !important;
    box-shadow: 0 4px 16px rgba(245, 158, 11, 0.1) !important;
}

body.kexp-theme-light .kexp-safari-pkg-card--full-day:hover {
    border-color: #d97706 !important;
    box-shadow: 0 12px 28px rgba(245, 158, 11, 0.22) !important;
}

body.kexp-theme-light .kexp-safari-pkg-title {
    color: #0f172a;
}

body.kexp-theme-light .kexp-safari-pkg-desc {
    color: #475569;
}

body.kexp-theme-light .kexp-safari-pkg-features li {
    color: #334155;
}

body.kexp-theme-light .kexp-safari-pkg-footer {
    border-top-color: #e2e8f0;
}

body.kexp-theme-light .kexp-safari-pkg-stats {
    color: #64748b;
}

body.kexp-theme-light .kexp-safari-pkg-price .amount {
    color: #0284c7;
}

body.kexp-theme-light .kexp-safari-pkg-card--full-day .kexp-safari-pkg-price .amount {
    color: #d97706;
}

/* ── Safari & Kitesurfing Packages Mobile Responsive (Comfortable 1-Column Layout) ── */
@media (max-width: 640px) {
    .kexp-safari-pkg-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 16px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .kexp-safari-pkg-card {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        border-radius: 14px !important;
        overflow: hidden !important;
        display: flex !important;
        flex-direction: column !important;
    }

    .kexp-safari-pkg-img {
        height: 140px !important;
        min-height: 140px !important;
        max-height: 140px !important;
        border-radius: 13px 13px 0 0 !important;
        position: relative !important;
    }

    .kexp-safari-pkg-badge-left {
        top: 8px !important;
        left: 8px !important;
        font-size: 8.5px !important;
        padding: 3px 8px !important;
        border-radius: 999px !important;
    }

    .kexp-safari-pkg-badge-right {
        top: 8px !important;
        right: 8px !important;
        font-size: 8.5px !important;
        padding: 3px 8px !important;
        border-radius: 999px !important;
    }

    .kexp-safari-pkg-rating {
        bottom: 8px !important;
        left: 8px !important;
        font-size: 9.5px !important;
        padding: 2.5px 7px !important;
        border-radius: 999px !important;
    }

    .kexp-safari-pkg-body {
        padding: 12px 14px 14px !important;
        gap: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        flex-grow: 1 !important;
    }

    .kexp-safari-pkg-stats {
        gap: 8px !important;
        font-size: 11px !important;
        margin-bottom: 5px !important;
        display: flex !important;
        flex-wrap: wrap !important;
    }

    .kexp-safari-pkg-title {
        font-size: 14.5px !important;
        line-height: 1.3 !important;
        margin: 0 0 5px 0 !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
        min-height: 0 !important;
        letter-spacing: -0.15px !important;
        font-weight: 700 !important;
    }

    .kexp-safari-pkg-desc {
        font-size: 11.5px !important;
        line-height: 1.35 !important;
        color: #94a3b8 !important;
        margin: 0 0 8px 0 !important;
        min-height: 0 !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
    }

    .kexp-safari-pkg-features {
        display: flex !important;
        flex-direction: column !important;
        gap: 3px !important;
        margin: 0 0 10px 0 !important;
        padding: 0 !important;
        list-style: none !important;
    }

    .kexp-safari-pkg-features li {
        font-size: 11px !important;
        line-height: 1.3 !important;
    }

    .kexp-safari-pkg-features li:nth-child(n+3) {
        display: none !important;
    }

    .kexp-safari-pkg-footer {
        padding: 8px 0 0 0 !important;
        margin-top: auto !important;
        border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 6px !important;
    }

    .kexp-safari-pkg-price .from-label {
        font-size: 9.5px !important;
        line-height: 1 !important;
    }

    .kexp-safari-pkg-price .amount {
        font-size: 16.5px !important;
        line-height: 1 !important;
    }

    .kexp-safari-pkg-price .amount small {
        font-size: 10px !important;
    }

    .kexp-safari-pkg-cta {
        padding: 6px 14px !important;
        font-size: 11.5px !important;
        border-radius: 999px !important;
        white-space: nowrap !important;
        line-height: 1.1 !important;
    }
}

/* ═══════════════════════════════════════════════════════════
   KITESURFING (PAGE 7900) & SAFARI (PAGE 7877) DEDICATED RESPONSIVE GRIDS
   ═══════════════════════════════════════════════════════════ */

/* Hide stray paragraphs or line breaks injected by wpautop inside grids */
.kexp-safari-pkg-grid > p,
.kexp-safari-pkg-grid > br {
    display: none !important;
}

/* Desktop (>= 992px): 3 Columns for Kitesurfing (7 packages), 2 Columns for Safari */
@media (min-width: 992px) {
    body.page-id-7900 .kexp-safari-pkg-grid {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 24px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        align-items: stretch !important;
    }

    body.page-id-7877 .kexp-safari-pkg-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 24px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        align-items: stretch !important;
    }
}

/* Tablet (641px - 991px): Clean 2 Columns */
@media (max-width: 991px) and (min-width: 641px) {
    body.page-id-7900 .kexp-safari-pkg-grid,
    body.page-id-7877 .kexp-safari-pkg-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 20px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        align-items: stretch !important;
    }

    body.page-id-7900 .kexp-safari-pkg-card,
    body.page-id-7877 .kexp-safari-pkg-card {
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* Wilpattu Safari Cards matching Front Page kexp-rich-card */
.kexp-safari-pkg-grid .kexp-safari-rich-card {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
}

@media (max-width: 767px) {
    body.page-id-7877 #main-container,
    body.page-id-7877 #apus-main-content,
    body.page-id-7877 .main-content {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
    body.page-id-7877 .elementor-element-e9c52e3 {
        padding: 16px 10px 22px !important;
        border-radius: 18px !important;
        margin-top: 14px !important;
        margin-bottom: 22px !important;
    }
    body.page-id-7877 .kexp-safari-packages-section {
        padding: 0 !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        margin: 12px 0 20px !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    body.page-id-7877 .kexp-safari-pkg-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 18px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    body.page-id-7877 .kexp-safari-rich-card {
        max-width: 100% !important;
        width: 100% !important;
        margin: 0 !important;
        border-radius: 16px !important;
        box-shadow: 0 4px 18px rgba(0, 0, 0, 0.45) !important;
    }
    body.page-id-7877 .kexp-safari-rich-card .kexp-rich-thumb {
        height: 180px !important;
        min-height: 180px !important;
        max-height: 180px !important;
    }
    body.page-id-7877 .kexp-safari-rich-card .kexp-rich-body {
        padding: 16px 16px 18px !important;
    }
    body.page-id-7877 .kexp-safari-rich-card .kexp-rich-title {
        font-size: 17px !important;
        font-weight: 800 !important;
        line-height: 1.35 !important;
        margin-bottom: 8px !important;
    }
    body.page-id-7877 .kexp-safari-rich-card .kexp-rich-desc {
        font-size: 13px !important;
        line-height: 1.5 !important;
        color: #94a3b8 !important;
        margin-bottom: 12px !important;
        -webkit-line-clamp: 3 !important;
        display: -webkit-box !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
    }
    body.page-id-7877 .kexp-safari-rich-card .kexp-rich-price {
        font-size: 22px !important;
        font-weight: 800 !important;
        color: #fbbf24 !important;
    }
    body.page-id-7877 .kexp-safari-rich-card .kexp-rich-cta {
        font-size: 12.5px !important;
        font-weight: 700 !important;
        padding: 9px 18px !important;
    }
}

/* Mobile (<= 640px): Full-width 1 Column without restrictive 420px max-width trap */
@media (max-width: 640px) {
    body.page-id-7900 .kexp-safari-pkg-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 16px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    body.page-id-7900 .kexp-safari-pkg-card {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    body.page-id-7900 .elementor-element-943f9b5 {
        padding: 22px 14px 26px !important;
        border-radius: 18px !important;
        margin-top: 14px !important;
        margin-bottom: 22px !important;
    }

    body.page-id-7900 .kexp-safari-packages-section {
        padding: 20px 12px !important;
        border-radius: 16px !important;
        margin: 18px 0 22px !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
}

/* Ensure all feature bullets on Kitesurfing cards are clearly displayed */
body.page-id-7900 .kexp-safari-pkg-features li:nth-child(n+3) {
    display: flex !important;
}

body.page-id-7900 .kexp-safari-packages-section,
body.page-id-7877 .kexp-safari-packages-section {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* ═══════════════════════════════════════════════════════════
   ALL ACTIVITY LANDING PAGES (WHALE WATCHING, SAFARI, KITESURFING, KAYAKING)
   FROSTED GLASS CARD LAYERS (DARK & LIGHT MODES)
   ═══════════════════════════════════════════════════════════ */
body.page-id-7855 #main-container,
body.page-id-7855 #apus-main-content,
body.page-id-7855 .main-content,
body.page-id-7877 #main-container,
body.page-id-7877 #apus-main-content,
body.page-id-7877 .main-content,
body.page-id-7900 #main-container,
body.page-id-7900 #apus-main-content,
body.page-id-7900 .main-content,
body.page-id-7909 #main-container,
body.page-id-7909 #apus-main-content,
body.page-id-7909 .main-content {
    max-width: 1240px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    width: 100% !important;
}

/* 1. Header / Intro Cards (Dark Mode) */
body.page-id-7855 .elementor-element-73f1a2e,
body.page-id-7877 .elementor-element-39b8643,
body.page-id-7900 .elementor-element-9cb98f1,
body.page-id-7909 .elementor-element-fa43a1b {
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    width: 100% !important;
    background: rgba(8, 22, 44, 0.90) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border: 1px solid rgba(255, 255, 255, 0.10) !important;
    border-radius: 24px !important;
    padding: 36px 40px 32px !important;
    margin-top: 28px !important;
    margin-bottom: 28px !important;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35) !important;
}

/* 1. Header / Intro Cards (Light Mode) */
body.kexp-theme-light.page-id-7855 .elementor-element-73f1a2e,
body.kexp-theme-light.page-id-7877 .elementor-element-39b8643,
body.kexp-theme-light.page-id-7900 .elementor-element-9cb98f1,
body.kexp-theme-light.page-id-7909 .elementor-element-fa43a1b {
    background: rgba(255, 255, 255, 0.95) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border: 1px solid #dde3ec !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.06) !important;
}

/* ── Header / Intro Cards: Typography (Dark & Light Mode) ── */
/* Main Title in Dark Mode (e.g. "Safari by Ocean Lanka") */
body.page-id-7855 .elementor-element-73f1a2e .elementor-widget-heading:first-child .elementor-heading-title,
body.page-id-7877 .elementor-element-39b8643 .elementor-widget-heading:first-child .elementor-heading-title,
body.page-id-7900 .elementor-element-9cb98f1 .elementor-widget-heading:first-child .elementor-heading-title,
body.page-id-7909 .elementor-element-fa43a1b .elementor-widget-heading:first-child .elementor-heading-title,
body.page-id-7877 .elementor-element-7752d1c .elementor-heading-title {
    color: #ffffff !important;
    font-weight: 800 !important;
    text-shadow: 0 2px 14px rgba(0, 0, 0, 0.5) !important;
    letter-spacing: -0.5px !important;
}

/* Sub-heading / Tagline in Dark Mode (e.g. "Wilpattu Safari & Kalpitiya River...") */
body.page-id-7855 .elementor-element-73f1a2e .elementor-widget-heading:nth-of-type(2) .elementor-heading-title,
body.page-id-7877 .elementor-element-39b8643 .elementor-widget-heading:nth-of-type(2) .elementor-heading-title,
body.page-id-7900 .elementor-element-9cb98f1 .elementor-widget-heading:nth-of-type(2) .elementor-heading-title,
body.page-id-7909 .elementor-element-fa43a1b .elementor-widget-heading:nth-of-type(2) .elementor-heading-title,
body.page-id-7877 .elementor-element-f5239d7 .elementor-heading-title {
    color: #38bdf8 !important;
    font-weight: 500 !important;
    text-shadow: 0 1px 8px rgba(56, 189, 248, 0.25) !important;
}

/* Description text in Dark Mode */
body.page-id-7855 .elementor-element-73f1a2e .elementor-widget-text-editor,
body.page-id-7855 .elementor-element-73f1a2e .elementor-widget-text-editor p,
body.page-id-7877 .elementor-element-39b8643 .elementor-widget-text-editor,
body.page-id-7877 .elementor-element-39b8643 .elementor-widget-text-editor p,
body.page-id-7900 .elementor-element-9cb98f1 .elementor-widget-text-editor,
body.page-id-7900 .elementor-element-9cb98f1 .elementor-widget-text-editor p,
body.page-id-7909 .elementor-element-fa43a1b .elementor-widget-text-editor,
body.page-id-7909 .elementor-element-fa43a1b .elementor-widget-text-editor p {
    color: #cbd5e1 !important;
    line-height: 1.75 !important;
}

/* Header Cards Typography in Light Mode */
body.kexp-theme-light.page-id-7855 .elementor-element-73f1a2e .elementor-widget-heading:first-child .elementor-heading-title,
body.kexp-theme-light.page-id-7877 .elementor-element-39b8643 .elementor-widget-heading:first-child .elementor-heading-title,
body.kexp-theme-light.page-id-7900 .elementor-element-9cb98f1 .elementor-widget-heading:first-child .elementor-heading-title,
body.kexp-theme-light.page-id-7909 .elementor-element-fa43a1b .elementor-widget-heading:first-child .elementor-heading-title,
body.kexp-theme-light.page-id-7877 .elementor-element-7752d1c .elementor-heading-title {
    color: #0f172a !important;
    text-shadow: none !important;
}

body.kexp-theme-light.page-id-7855 .elementor-element-73f1a2e .elementor-widget-heading:nth-of-type(2) .elementor-heading-title,
body.kexp-theme-light.page-id-7877 .elementor-element-39b8643 .elementor-widget-heading:nth-of-type(2) .elementor-heading-title,
body.kexp-theme-light.page-id-7900 .elementor-element-9cb98f1 .elementor-widget-heading:nth-of-type(2) .elementor-heading-title,
body.kexp-theme-light.page-id-7909 .elementor-element-fa43a1b .elementor-widget-heading:nth-of-type(2) .elementor-heading-title,
body.kexp-theme-light.page-id-7877 .elementor-element-f5239d7 .elementor-heading-title {
    color: #0284c7 !important;
    text-shadow: none !important;
}

body.kexp-theme-light.page-id-7855 .elementor-element-73f1a2e .elementor-widget-text-editor,
body.kexp-theme-light.page-id-7855 .elementor-element-73f1a2e .elementor-widget-text-editor p,
body.kexp-theme-light.page-id-7877 .elementor-element-39b8643 .elementor-widget-text-editor,
body.kexp-theme-light.page-id-7877 .elementor-element-39b8643 .elementor-widget-text-editor p,
body.kexp-theme-light.page-id-7900 .elementor-element-9cb98f1 .elementor-widget-text-editor,
body.kexp-theme-light.page-id-7900 .elementor-element-9cb98f1 .elementor-widget-text-editor p,
body.kexp-theme-light.page-id-7909 .elementor-element-fa43a1b .elementor-widget-text-editor,
body.kexp-theme-light.page-id-7909 .elementor-element-fa43a1b .elementor-widget-text-editor p {
    color: #475569 !important;
}

/* 2. Main Content / Details Cards (Dark Mode) */
body.page-id-7855 .elementor-element-d974ecb,
body.page-id-7877 .elementor-element-e9c52e3,
body.page-id-7900 .elementor-element-943f9b5,
body.page-id-7909 .elementor-element-73e5c26 {
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    width: 100% !important;
    background: rgba(8, 22, 44, 0.90) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border: 1px solid rgba(255, 255, 255, 0.10) !important;
    border-radius: 24px !important;
    padding: 36px 40px 44px !important;
    margin-top: 28px !important;
    margin-bottom: 36px !important;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35) !important;
}

/* 2. Main Content / Details Cards (Light Mode) */
body.kexp-theme-light.page-id-7855 .elementor-element-d974ecb,
body.kexp-theme-light.page-id-7877 .elementor-element-e9c52e3,
body.kexp-theme-light.page-id-7900 .elementor-element-943f9b5,
body.kexp-theme-light.page-id-7909 .elementor-element-73e5c26 {
    background: rgba(255, 255, 255, 0.95) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border: 1px solid #dde3ec !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.06) !important;
}

/* ── Main Content / Details Cards: Typography (Dark & Light Mode) ── */
/* Sub-heading / Pre-title in Dark Mode (e.g. "Boat & 4x4 Jeep Wildlife Expeditions") */
body.page-id-7855 .elementor-element-d974ecb .elementor-widget-heading:first-child .elementor-heading-title,
body.page-id-7877 .elementor-element-e9c52e3 .elementor-widget-heading:first-child .elementor-heading-title,
body.page-id-7900 .elementor-element-943f9b5 .elementor-widget-heading:first-child .elementor-heading-title,
body.page-id-7909 .elementor-element-73e5c26 .elementor-widget-heading:first-child .elementor-heading-title,
body.page-id-7877 .elementor-element-26a1265 .elementor-heading-title {
    color: #38bdf8 !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    text-shadow: 0 1px 8px rgba(56, 189, 248, 0.25) !important;
    margin-bottom: 6px !important;
}

/* Main Section Title in Dark Mode (e.g. "Wilpattu Safari") */
body.page-id-7855 .elementor-element-d974ecb .elementor-widget-heading:nth-of-type(2) .elementor-heading-title,
body.page-id-7877 .elementor-element-e9c52e3 .elementor-widget-heading:nth-of-type(2) .elementor-heading-title,
body.page-id-7900 .elementor-element-943f9b5 .elementor-widget-heading:nth-of-type(2) .elementor-heading-title,
body.page-id-7909 .elementor-element-73e5c26 .elementor-widget-heading:nth-of-type(2) .elementor-heading-title,
body.page-id-7877 .elementor-element-4c4d3d0 .elementor-heading-title {
    color: #ffffff !important;
    font-weight: 800 !important;
    letter-spacing: -0.5px !important;
    text-shadow: 0 2px 14px rgba(0, 0, 0, 0.45) !important;
    margin-bottom: 18px !important;
}

/* Details Card Typography in Light Mode */
body.kexp-theme-light.page-id-7855 .elementor-element-d974ecb .elementor-widget-heading:first-child .elementor-heading-title,
body.kexp-theme-light.page-id-7877 .elementor-element-e9c52e3 .elementor-widget-heading:first-child .elementor-heading-title,
body.kexp-theme-light.page-id-7900 .elementor-element-943f9b5 .elementor-widget-heading:first-child .elementor-heading-title,
body.kexp-theme-light.page-id-7909 .elementor-element-73e5c26 .elementor-widget-heading:first-child .elementor-heading-title,
body.kexp-theme-light.page-id-7877 .elementor-element-26a1265 .elementor-heading-title {
    color: #0284c7 !important;
    text-shadow: none !important;
}

body.kexp-theme-light.page-id-7855 .elementor-element-d974ecb .elementor-widget-heading:nth-of-type(2) .elementor-heading-title,
body.kexp-theme-light.page-id-7877 .elementor-element-e9c52e3 .elementor-widget-heading:nth-of-type(2) .elementor-heading-title,
body.kexp-theme-light.page-id-7900 .elementor-element-943f9b5 .elementor-widget-heading:nth-of-type(2) .elementor-heading-title,
body.kexp-theme-light.page-id-7909 .elementor-element-73e5c26 .elementor-widget-heading:nth-of-type(2) .elementor-heading-title,
body.kexp-theme-light.page-id-7877 .elementor-element-4c4d3d0 .elementor-heading-title {
    color: #0f172a !important;
    text-shadow: none !important;
}

/* 3. Slider Containers Centering */
body.page-id-7855 .elementor-element-a49147d,
body.page-id-7877 .elementor-element-afb176a,
body.page-id-7900 .elementor-element-d47003d,
body.page-id-7909 .elementor-element-336d39f {
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    width: 100% !important;
    margin-bottom: 24px !important;
}

/* 4. Bottom All Items Centering */
body.page-id-7855 .elementor-element-cb77429,
body.page-id-7877 .elementor-element-9de0bf3,
body.page-id-7900 .elementor-element-1d9bad0,
body.page-id-7909 .elementor-element-822e0ec {
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* ═══════════════════════════════════════════════════════════
   SITE HEADER & TOPBAR (ELEMENTOR HEADER 4080)
   ═══════════════════════════════════════════════════════════ */
.elementor-element-5b37cdb,
#apus-header .elementor-element-5b37cdb,
.header-4080 .elementor-element-5b37cdb {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    visibility: hidden !important;
    overflow: hidden !important;
}

/* ═══════════════════════════════════════════════════════════
   MAIN NAVIGATION BAR & MENU PLATFORM (DARK & LIGHT MODE)
   ═══════════════════════════════════════════════════════════ */
#apus-header,
.apus-header,
.header-4080,
.elementor-4080 .elementor-element.elementor-element-9461192,
.header_transparent .apus-header,
.header_transparent:not(.fix-header) .no_keep_header .elementor-element-9461192,
.header_transparent:not(.fix-header) .no_keep_header .elementor-element:not(.no-transparent) {
    background: rgba(7, 22, 41, 0.96) !important;
    border-bottom: 1px solid rgba(56, 189, 248, 0.2) !important;
    box-shadow: 0 4px 25px rgba(0, 0, 0, 0.45) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
}

body.kexp-theme-light #apus-header,
body.kexp-theme-light .apus-header,
body.kexp-theme-light .header-4080,
body.kexp-theme-light .elementor-4080 .elementor-element.elementor-element-9461192,
body.kexp-theme-light .header_transparent .apus-header,
body.kexp-theme-light .header_transparent:not(.fix-header) .no_keep_header .elementor-element-9461192,
body.kexp-theme-light .header_transparent:not(.fix-header) .no_keep_header .elementor-element:not(.no-transparent) {
    background: rgba(255, 255, 255, 0.97) !important;
    border-bottom: 1px solid #e2e8f0 !important;
    box-shadow: 0 4px 20px rgba(15, 23, 42, 0.08) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
}

/* Dedicated Frosted Platform under Menu Links (Home, Activities, About, Contact, Blog) */
.main-menu {
    display: inline-flex !important;
    align-items: center !important;
    background: rgba(8, 26, 49, 0.85) !important;
    border: 1px solid rgba(56, 189, 248, 0.22) !important;
    border-radius: 999px !important;
    padding: 2px 18px !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
}

body.kexp-theme-light .main-menu {
    background: rgba(255, 255, 255, 0.95) !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.06) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
}

/* Nav Menu Links Styling */
#primary-menu > li > a {
    color: #cbd5e1 !important;
    font-weight: 600 !important;
    font-size: 14.5px !important;
    padding: 9px 14px !important;
    transition: color 0.2s ease !important;
}

#primary-menu > li > a:hover,
#primary-menu > li.active > a,
#primary-menu > li:hover > a {
    color: #38bdf8 !important;
}

body.kexp-theme-light #primary-menu > li > a {
    color: #1e293b !important;
    font-weight: 600 !important;
    font-size: 14.5px !important;
    padding: 9px 14px !important;
    transition: color 0.2s ease !important;
}

body.kexp-theme-light #primary-menu > li > a:hover,
body.kexp-theme-light #primary-menu > li.active > a,
body.kexp-theme-light #primary-menu > li:hover > a {
    color: #0284c7 !important;
}

/* Mobile Offcanvas Menu & Mobile Header Theming */
#apus-mobile-menu,
.middle-offcanvas,
#apus-header-mobile,
.header-mobile {
    background: #071629 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25) !important;
}

#apus-header-mobile .vertical-icon,
.header-mobile .vertical-icon {
    border-color: #f1f5f9 !important;
    color: #f1f5f9 !important;
}

#apus-header-mobile .vertical-icon:after,
.header-mobile .vertical-icon:after {
    background-color: #f1f5f9 !important;
}

#apus-header-mobile .account-login a,
.header-mobile .account-login a {
    color: #f1f5f9 !important;
}

#apus-header-mobile .logo img,
.header-mobile .logo img {
    max-height: 42px !important;
    width: auto !important;
    object-fit: contain !important;
    display: inline-block !important;
}

body.kexp-theme-light #apus-mobile-menu,
body.kexp-theme-light .middle-offcanvas,
body.kexp-theme-light #apus-header-mobile,
body.kexp-theme-light .header-mobile {
    background: #ffffff !important;
    border-bottom: 1px solid #e2e8f0 !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06) !important;
}

body.kexp-theme-light #apus-header-mobile .vertical-icon,
body.kexp-theme-light .header-mobile .vertical-icon {
    border-color: #0f172a !important;
    color: #0f172a !important;
}

body.kexp-theme-light #apus-header-mobile .vertical-icon:after,
body.kexp-theme-light .header-mobile .vertical-icon:after {
    background-color: #0f172a !important;
}

body.kexp-theme-light #apus-header-mobile .account-login a,
body.kexp-theme-light .header-mobile .account-login a {
    color: #0f172a !important;
}

.sticky-header,
.header-mobile.sticky-header {
    background: #071629 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

body.kexp-theme-light .sticky-header,
body.kexp-theme-light .header-mobile.sticky-header {
    background: #ffffff !important;
    border-bottom: 1px solid #e2e8f0 !important;
}

/* ═══════════════════════════════════════════════════════════
   SNORKELING EXPECTATION CALLOUT BOX (DARK & LIGHT MODE)
   ═══════════════════════════════════════════════════════════ */
.kexp-snork-insight {
    background: rgba(8, 22, 44, 0.85) !important;
    border: 1.5px solid rgba(56, 189, 248, 0.35) !important;
    border-left: 5px solid #00d2d3 !important;
    padding: 22px 26px !important;
    border-radius: 14px !important;
    margin: 24px 0 !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25) !important;
}

.kexp-snork-insight h4 {
    color: #38bdf8 !important;
    margin: 0 0 12px !important;
    font-size: 17.5px !important;
    font-weight: 700 !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.kexp-snork-insight p {
    margin: 0 0 10px !important;
    line-height: 1.7 !important;
    color: #cbd5e1 !important;
    font-size: 14.5px !important;
}

.kexp-snork-insight p:last-child {
    margin-bottom: 0 !important;
}

.kexp-snork-insight strong {
    color: #ffffff !important;
}

/* Light Mode Overrides */
body.kexp-theme-light .kexp-snork-insight {
    background: #f8fafc !important;
    border-color: #cbd5e1 !important;
    border-left-color: #0284c7 !important;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.05) !important;
}

body.kexp-theme-light .kexp-snork-insight h4 {
    color: #0284c7 !important;
}

body.kexp-theme-light .kexp-snork-insight p {
    color: #334155 !important;
}

body.kexp-theme-light .kexp-snork-insight strong {
    color: #0f172a !important;
}

/* ═══════════════════════════════════════════════════════════
   ACTIVITIES MEGAMENU DROPDOWN (POST 4026) - DARK & LIGHT
   ═══════════════════════════════════════════════════════════ */
.megamenu .dropdown-menu.destinations,
.has-mega-menu.menu-item-4030 > .dropdown-menu,
.middle-offcanvas .has-submenu.menu-item-4030 .sub-menu {
    background: rgba(7, 22, 41, 0.97) !important;
    border: 1px solid rgba(56, 189, 248, 0.25) !important;
    border-radius: 18px !important;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.7), 0 0 25px rgba(56, 189, 248, 0.12) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    padding: 0 !important;
    overflow: hidden !important;
}

body.kexp-theme-light .megamenu .dropdown-menu.destinations,
body.kexp-theme-light .has-mega-menu.menu-item-4030 > .dropdown-menu,
body.kexp-theme-light .middle-offcanvas .has-submenu.menu-item-4030 .sub-menu {
    background: rgba(255, 255, 255, 0.98) !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 20px 45px rgba(15, 23, 42, 0.12), 0 0 20px rgba(2, 132, 199, 0.05) !important;
}

/* Megamenu Grid Container */
.elementor-4026 .elementor-element-8d72590 {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    gap: 24px !important;
    padding: 26px 30px !important;
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 18px !important;
    width: 100% !important;
}

/* Three Tour Columns */
.elementor-4026 .elementor-element-d64b574,
.elementor-4026 .elementor-element-0efe0fb,
.elementor-4026 .elementor-element-3e4f8d0 {
    flex: 1 1 200px !important;
    display: flex !important;
    flex-direction: column !important;
    padding: 0 !important;
}

/* 4th Column: Featured Promo Card */
.elementor-4026 .elementor-element-d542de7 {
    flex: 1.15 1 240px !important;
    background: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid rgba(56, 189, 248, 0.2) !important;
    border-radius: 14px !important;
    padding: 16px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    transition: all 0.3s ease !important;
}

.elementor-4026 .elementor-element-d542de7:hover {
    border-color: rgba(56, 189, 248, 0.45) !important;
    background: rgba(255, 255, 255, 0.06) !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
}

body.kexp-theme-light .elementor-4026 .elementor-element-d542de7 {
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
}

body.kexp-theme-light .elementor-4026 .elementor-element-d542de7:hover {
    border-color: #0284c7 !important;
    background: #f0f9ff !important;
    box-shadow: 0 8px 24px rgba(2, 132, 199, 0.1);
}

/* Column Headings */
.elementor-4026 .elementor-widget-heading .elementor-heading-title {
    color: #38bdf8 !important;
    font-size: 14.5px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.6px !important;
    margin-bottom: 14px !important;
    padding-bottom: 8px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

body.kexp-theme-light .elementor-4026 .elementor-widget-heading .elementor-heading-title {
    color: #0284c7 !important;
    border-bottom-color: #e2e8f0 !important;
}

/* Promo Card Elements */
.elementor-4026 .elementor-element-bf1a3c5 img {
    border-radius: 10px !important;
    width: 100% !important;
    height: 110px !important;
    object-fit: cover !important;
    display: block !important;
    margin-bottom: 10px !important;
}

.elementor-4026 .elementor-element-8eae360 .elementor-heading-title {
    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    margin-bottom: 6px !important;
    padding-bottom: 0 !important;
    border-bottom: none !important;
}

body.kexp-theme-light .elementor-4026 .elementor-element-8eae360 .elementor-heading-title {
    color: #0f172a !important;
}

.elementor-4026 .elementor-element-8eae360 a {
    color: inherit !important;
    text-decoration: none !important;
}

.elementor-4026 .elementor-element-8eae360 a:hover {
    color: #38bdf8 !important;
}

body.kexp-theme-light .elementor-4026 .elementor-element-8eae360 a:hover {
    color: #0284c7 !important;
}

.elementor-4026 .elementor-element-55320a4 p {
    color: #94a3b8 !important;
    font-size: 12.5px !important;
    line-height: 1.55 !important;
    margin: 0 !important;
}

body.kexp-theme-light .elementor-4026 .elementor-element-55320a4 p {
    color: #475569 !important;
}

/* Tour Link Lists */
.elementor-4026 .elementor-icon-list-items {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 9px !important;
}

.elementor-4026 .elementor-icon-list-item {
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
}

.elementor-4026 .elementor-icon-list-item a {
    display: inline-flex !important;
    align-items: center !important;
    color: #cbd5e1 !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    text-decoration: none !important;
    padding: 3px 0 !important;
    transition: all 0.2s ease !important;
    background: transparent !important;
}

.elementor-4026 .elementor-icon-list-item a:hover {
    color: #38bdf8 !important;
    transform: translateX(4px) !important;
}

body.kexp-theme-light .elementor-4026 .elementor-icon-list-item a {
    color: #334155 !important;
}

body.kexp-theme-light .elementor-4026 .elementor-icon-list-item a:hover {
    color: #0284c7 !important;
}

.elementor-4026 .elementor-icon-list-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-right: 8px !important;
    flex-shrink: 0 !important;
}

.elementor-4026 .elementor-icon-list-icon svg {
    width: 11px !important;
    height: 11px !important;
    fill: #00d2d3 !important;
    color: #00d2d3 !important;
}

body.kexp-theme-light .elementor-4026 .elementor-icon-list-icon svg {
    fill: #0284c7 !important;
    color: #0284c7 !important;
}

/* Category footer/hub links */
.elementor-4026 .elementor-icon-list-item:last-child a {
    color: #fbbf24 !important;
    font-weight: 600 !important;
    margin-top: 4px !important;
}

.elementor-4026 .elementor-icon-list-item:last-child a:hover {
    color: #f59e0b !important;
}

body.kexp-theme-light .elementor-4026 .elementor-icon-list-item:last-child a {
    color: #d97706 !important;
}

body.kexp-theme-light .elementor-4026 .elementor-icon-list-item:last-child a:hover {
    color: #b45309 !important;
}

/* Responsive Handling */
@media (max-width: 991px) {
    .elementor-4026 .elementor-element-8d72590 {
        flex-direction: column !important;
        gap: 18px !important;
        padding: 16px !important;
    }
    .navbar-offcanvas .elementor-4026 .elementor-element-d542de7 {
        display: none !important;
    }
}

/* ═══════════════════════════════════════════════════════════
   COMPACT SAFARI HIGHLIGHTS STRIP (POST 7877)
   ═══════════════════════════════════════════════════════════ */
.kexp-safari-mini-strip {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    margin: 18px 0 24px 0 !important;
}

.kexp-safari-mini-pill {
    flex: 1 1 200px !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    background: #081d37 !important;
    border: 1.5px solid rgba(56, 189, 248, 0.35) !important;
    border-radius: 12px !important;
    padding: 10px 14px !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.35) !important;
    transition: transform 0.2s ease, border-color 0.2s ease !important;
}

.kexp-safari-mini-pill:hover {
    transform: translateY(-2px) !important;
    border-color: #38bdf8 !important;
}

.kexp-safari-pill-title {
    color: #ffffff !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
}

.kexp-safari-pill-sub {
    color: #38bdf8 !important;
    font-size: 11.5px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
}

/* Light Mode Overrides */
body.kexp-theme-light .kexp-safari-mini-pill {
    background: #ffffff !important;
    border-color: #e2e8f0 !important;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.06) !important;
}

body.kexp-theme-light .kexp-safari-mini-pill:hover {
    border-color: #0284c7 !important;
}

body.kexp-theme-light .kexp-safari-pill-title {
    color: #0f172a !important;
}

body.kexp-theme-light .kexp-safari-pill-sub {
    color: #0284c7 !important;
}

/* ── Safari Boat Spotlight Box (Dark Mode Default) ── */
.kexp-safari-boat-spotlight {
    background: linear-gradient(135deg, rgba(8, 29, 55, 0.95), rgba(12, 45, 80, 0.95)) !important;
    border: 1.5px solid #0284c7 !important;
    border-left: 6px solid #38bdf8 !important;
    border-radius: 14px !important;
    padding: 18px 22px !important;
    margin: 20px 0 24px !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25) !important;
    transition: background 0.3s ease, border-color 0.3s ease, color 0.3s ease !important;
}
.kexp-safari-boat-spotlight .kexp-safari-spotlight-header {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin-bottom: 10px !important;
}
.kexp-safari-boat-spotlight .kexp-safari-spotlight-icon {
    font-size: 28px !important;
    line-height: 1 !important;
}
.kexp-safari-boat-spotlight .kexp-safari-spotlight-pill {
    display: inline-block !important;
    color: #38bdf8 !important;
    background: rgba(56, 189, 248, 0.12) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    padding: 3px 10px !important;
    border-radius: 4px !important;
    margin-bottom: 4px !important;
}
.kexp-safari-boat-spotlight .kexp-safari-spotlight-title,
.kexp-safari-boat-spotlight h4 {
    color: #ffffff !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    margin: 0 !important;
    line-height: 1.3 !important;
}
.kexp-safari-boat-spotlight .kexp-safari-spotlight-desc,
.kexp-safari-boat-spotlight p {
    color: #cbd5e1 !important;
    font-size: 14.5px !important;
    line-height: 1.65 !important;
    margin: 0 0 12px !important;
}
.kexp-safari-boat-spotlight .kexp-safari-spotlight-desc strong,
.kexp-safari-boat-spotlight p strong {
    color: #38bdf8 !important;
}
.kexp-safari-boat-spotlight .kexp-safari-spotlight-tags {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    padding-top: 6px !important;
}
.kexp-safari-boat-spotlight .kexp-safari-spotlight-tags span {
    font-size: 13px !important;
    font-weight: 600 !important;
    padding: 4px 10px !important;
    border-radius: 6px !important;
}
.kexp-safari-boat-spotlight .kexp-tag-water,
.kexp-safari-boat-spotlight .kexp-tag-bird {
    color: #bae6fd !important;
    background: rgba(56, 189, 248, 0.12) !important;
}
.kexp-safari-boat-spotlight .kexp-tag-time {
    color: #fde047 !important;
    background: rgba(250, 204, 21, 0.14) !important;
}
.kexp-safari-boat-spotlight .kexp-tag-jeep {
    color: #86efac !important;
    background: rgba(34, 197, 94, 0.14) !important;
}

/* ── Safari Boat Spotlight Box (Light Mode) ── */
body.kexp-theme-light .kexp-safari-boat-spotlight,
html.kexp-theme-light .kexp-safari-boat-spotlight {
    background: linear-gradient(135deg, #ffffff 0%, #f0f9ff 100%) !important;
    border: 1.5px solid #bae6fd !important;
    border-left: 6px solid #0284c7 !important;
    box-shadow: 0 6px 20px rgba(2, 132, 199, 0.08) !important;
}
body.kexp-theme-light .kexp-safari-boat-spotlight .kexp-safari-spotlight-pill,
html.kexp-theme-light .kexp-safari-boat-spotlight .kexp-safari-spotlight-pill {
    color: #0284c7 !important;
    background: rgba(2, 132, 199, 0.12) !important;
}
body.kexp-theme-light .kexp-safari-boat-spotlight .kexp-safari-spotlight-title,
body.kexp-theme-light .kexp-safari-boat-spotlight h4,
html.kexp-theme-light .kexp-safari-boat-spotlight .kexp-safari-spotlight-title,
html.kexp-theme-light .kexp-safari-boat-spotlight h4 {
    color: #0c4a6e !important;
}
body.kexp-theme-light .kexp-safari-boat-spotlight .kexp-safari-spotlight-desc,
body.kexp-theme-light .kexp-safari-boat-spotlight p,
html.kexp-theme-light .kexp-safari-boat-spotlight .kexp-safari-spotlight-desc,
html.kexp-theme-light .kexp-safari-boat-spotlight p {
    color: #334155 !important;
}
body.kexp-theme-light .kexp-safari-boat-spotlight .kexp-safari-spotlight-desc strong,
body.kexp-theme-light .kexp-safari-boat-spotlight p strong,
html.kexp-theme-light .kexp-safari-boat-spotlight strong {
    color: #0284c7 !important;
}
body.kexp-theme-light .kexp-safari-boat-spotlight .kexp-tag-water,
body.kexp-theme-light .kexp-safari-boat-spotlight .kexp-tag-bird,
html.kexp-theme-light .kexp-safari-boat-spotlight .kexp-tag-water,
html.kexp-theme-light .kexp-safari-boat-spotlight .kexp-tag-bird,
body.kexp-theme-light .kexp-safari-boat-spotlight span[style*="#bae6fd"],
html.kexp-theme-light .kexp-safari-boat-spotlight span[style*="#bae6fd"] {
    color: #0369a1 !important;
    background: #e0f2fe !important;
    border: 1px solid #bae6fd !important;
}
body.kexp-theme-light .kexp-safari-boat-spotlight .kexp-tag-time,
html.kexp-theme-light .kexp-safari-boat-spotlight .kexp-tag-time,
body.kexp-theme-light .kexp-safari-boat-spotlight span[style*="#fde047"],
html.kexp-theme-light .kexp-safari-boat-spotlight span[style*="#fde047"] {
    color: #92400e !important;
    background: #fef3c7 !important;
    border: 1px solid #fde68a !important;
}
body.kexp-theme-light .kexp-safari-boat-spotlight .kexp-tag-jeep,
html.kexp-theme-light .kexp-safari-boat-spotlight .kexp-tag-jeep,
body.kexp-theme-light .kexp-safari-boat-spotlight span[style*="#86efac"],
html.kexp-theme-light .kexp-safari-boat-spotlight span[style*="#86efac"] {
    color: #166534 !important;
    background: #dcfce7 !important;
    border: 1px solid #bbf7d0 !important;
}

/* ═══════════════════════════════════════════════════════════
   PACKAGE DETAILS MODAL (WHALE WATCHING + FUN DIVING & PACKAGES)
   ═══════════════════════════════════════════════════════════ */
.kexp-pkg-modal-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(4, 12, 28, 0.85);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    z-index: 99999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
    opacity: 0;
    transition: opacity 0.25s ease;
}

.kexp-pkg-modal-backdrop.is-active {
    display: flex;
    opacity: 1;
}

.kexp-pkg-modal-dialog {
    background: #081730;
    border: 1px solid rgba(56, 189, 248, 0.25);
    border-radius: 20px;
    width: 100%;
    max-width: 680px;
    max-height: 90vh;
    overflow-y: auto;
    position: relative;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.6), 0 0 40px rgba(56, 189, 248, 0.15);
    color: #e2e8f0;
    transform: translateY(20px) scale(0.97);
    transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.kexp-pkg-modal-backdrop.is-active .kexp-pkg-modal-dialog {
    transform: translateY(0) scale(1);
}

.kexp-pkg-modal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.15);
    color: #ffffff;
    font-size: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10;
    transition: all 0.2s ease;
}

.kexp-pkg-modal-close:hover {
    background: #ef4444;
    border-color: #ef4444;
    transform: rotate(90deg);
}

.kexp-pkg-modal-header {
    position: relative;
    padding: 24px 28px 20px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.kexp-pkg-modal-badge-row {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 10px;
}

.kexp-pkg-modal-tag {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 4px 10px;
    border-radius: 999px;
    background: rgba(245, 158, 11, 0.18);
    color: #fbbf24;
    border: 1px solid rgba(245, 158, 11, 0.35);
}

.kexp-pkg-modal-tag.tag-blue {
    background: rgba(56, 189, 248, 0.15);
    color: #38bdf8;
    border-color: rgba(56, 189, 248, 0.35);
}

.kexp-pkg-modal-title {
    font-family: var(--kexp-font-disp);
    font-size: 24px;
    font-weight: 700;
    color: #ffffff;
    margin: 0 0 8px;
    line-height: 1.25;
}

.kexp-pkg-modal-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    font-size: 13px;
    color: #94a3b8;
}

.kexp-pkg-modal-meta span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.kexp-pkg-modal-body {
    padding: 24px 28px;
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.kexp-modal-section-title {
    font-family: var(--kexp-font-disp);
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #38bdf8;
    margin: 0 0 12px;
    display: flex;
    align-items: center;
    gap: 8px;
}

/* Day Flow Timeline */
.kexp-modal-timeline {
    position: relative;
    padding-left: 20px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.kexp-modal-timeline::before {
    content: "";
    position: absolute;
    left: 6px;
    top: 8px;
    bottom: 8px;
    width: 2px;
    background: linear-gradient(180deg, #f59e0b, #38bdf8, #10b981);
    opacity: 0.5;
}

.kexp-modal-time-step {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.kexp-modal-time-step::before {
    content: "";
    position: absolute;
    left: -20px;
    top: 6px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #f59e0b;
    border: 2px solid #081730;
    box-shadow: 0 0 8px rgba(245, 158, 11, 0.8);
}

.kexp-modal-time-badge {
    font-size: 12px;
    font-weight: 700;
    color: #f59e0b;
    letter-spacing: 0.3px;
}

.kexp-modal-time-desc {
    font-size: 13.5px;
    color: #cbd5e1;
    line-height: 1.45;
}

/* Requirements Box */
.kexp-modal-req-box {
    background: rgba(239, 68, 68, 0.08);
    border: 1px solid rgba(239, 68, 68, 0.25);
    border-radius: 12px;
    padding: 14px 18px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.kexp-modal-req-box.req-blue {
    background: rgba(56, 189, 248, 0.08);
    border-color: rgba(56, 189, 248, 0.25);
}

.kexp-modal-req-item {
    font-size: 13px;
    color: #f1f5f9;
    display: flex;
    align-items: flex-start;
    gap: 8px;
    line-height: 1.4;
}

/* Inclusions Grid */
.kexp-modal-incl-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 10px;
}

.kexp-modal-incl-item {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 10px;
    padding: 10px 14px;
    font-size: 13px;
    color: #cbd5e1;
    display: flex;
    align-items: center;
    gap: 10px;
}

.kexp-modal-incl-item svg {
    color: #10b981;
    flex-shrink: 0;
}

/* Modal Footer */
.kexp-pkg-modal-footer {
    padding: 18px 28px 24px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 14px;
    background: rgba(0, 0, 0, 0.2);
}

.kexp-modal-price-area {
    display: flex;
    flex-direction: column;
}

.kexp-modal-price-val {
    font-family: var(--kexp-font-disp);
    font-size: 28px;
    font-weight: 700;
    color: var(--kexp-sun-gold);
    line-height: 1;
}

.kexp-modal-book-cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    background: linear-gradient(135deg, #f59e0b, #d97706);
    color: #ffffff;
    font-family: var(--kexp-font-disp);
    font-size: 14px;
    font-weight: 700;
    border-radius: var(--kexp-radius-pill);
    box-shadow: 0 6px 20px rgba(245, 158, 11, 0.4);
    text-decoration: none;
    transition: all 0.2s ease;
}

.kexp-modal-book-cta:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(245, 158, 11, 0.6);
    color: #ffffff;
}

/* Light Mode Overrides */
body.kexp-theme-light .kexp-pkg-modal-dialog {
    background: #ffffff !important;
    border-color: #e2e8f0 !important;
    color: #1e293b !important;
    box-shadow: 0 25px 60px rgba(15, 23, 42, 0.15) !important;
}

body.kexp-theme-light .kexp-pkg-modal-close {
    background: #f1f5f9 !important;
    border-color: #cbd5e1 !important;
    color: #334155 !important;
}

body.kexp-theme-light .kexp-pkg-modal-close:hover {
    background: #ef4444 !important;
    color: #ffffff !important;
}

body.kexp-theme-light .kexp-pkg-modal-title {
    color: #0f172a !important;
}

body.kexp-theme-light .kexp-modal-time-desc {
    color: #334155 !important;
}

body.kexp-theme-light .kexp-modal-time-step::before {
    border-color: #ffffff !important;
}

body.kexp-theme-light .kexp-modal-incl-item {
    background: #f8fafc !important;
    border-color: #e2e8f0 !important;
    color: #334155 !important;
}

body.kexp-theme-light .kexp-pkg-modal-footer {
    background: #f8fafc !important;
    border-top-color: #e2e8f0 !important;
}

body.kexp-theme-light .kexp-modal-price-val {
    color: #0284c7 !important;
}

/* ==========================================================================
   Single Activity / Tour WhatsApp Booking Card
   Replaces DB booking form with direct WhatsApp contact
   ========================================================================== */
.kexp-single-wa-booking {
    margin-top: 18px;
    padding: 24px 22px;
    background: #0f172a !important;
    border: 1px solid rgba(37, 211, 102, 0.4) !important;
    border-radius: 16px !important;
    box-shadow: 0 12px 36px rgba(0, 0, 0, 0.45) !important;
    text-align: left;
    position: relative;
    overflow: hidden;
    color: #f1f5f9 !important;
}

.kexp-single-wa-booking::before {
    content: "";
    position: absolute;
    top: -40px;
    right: -40px;
    width: 130px;
    height: 130px;
    background: radial-gradient(circle, rgba(37, 211, 102, 0.2) 0%, transparent 70%);
    pointer-events: none;
}

.kexp-wa-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: rgba(37, 211, 102, 0.16) !important;
    color: #25D366 !important;
    border: 1px solid rgba(37, 211, 102, 0.4) !important;
    border-radius: 20px !important;
    padding: 5px 13px !important;
    font-size: 11.5px !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
    margin-bottom: 14px !important;
}

.kexp-wa-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #25D366;
    box-shadow: 0 0 8px #25D366;
    animation: kexpWaPulse 2s infinite;
    display: inline-block;
    flex-shrink: 0;
}

@keyframes kexpWaPulse {
    0% { transform: scale(0.95); opacity: 0.8; }
    50% { transform: scale(1.3); opacity: 1; }
    100% { transform: scale(0.95); opacity: 0.8; }
}

.kexp-single-wa-booking .kexp-wa-heading,
.kexp-wa-heading {
    font-size: 20px !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
    color: #ffffff !important;
    margin: 0 0 10px !important;
    font-family: inherit !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
    letter-spacing: -0.01em;
}

.kexp-single-wa-booking .kexp-wa-desc,
.kexp-wa-desc {
    font-size: 13.5px !important;
    line-height: 1.6 !important;
    color: #cbd5e1 !important;
    margin: 0 0 16px !important;
}

.kexp-wa-perks {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 20px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 9px !important;
}

.kexp-wa-perks li {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    font-size: 13px !important;
    color: #e2e8f0 !important;
    line-height: 1.4 !important;
}

.kexp-wa-perks li strong {
    color: #ffffff !important;
    font-weight: 700 !important;
}

.kexp-wa-check {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 18px !important;
    height: 18px !important;
    border-radius: 50% !important;
    background: rgba(37, 211, 102, 0.22) !important;
    color: #25D366 !important;
    font-weight: 900 !important;
    font-size: 11px !important;
    flex-shrink: 0 !important;
}

/* Button & WhatsApp Icon */
.kexp-wa-book-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    width: 100% !important;
    padding: 15px 22px !important;
    background: linear-gradient(135deg, #25D366 0%, #1ea952 100%) !important;
    color: #ffffff !important;
    font-size: 15.5px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    border-radius: 12px !important;
    border: none !important;
    box-shadow: 0 8px 24px rgba(37, 211, 102, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.35) !important;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
    margin-top: 6px !important;
}

.kexp-wa-book-btn:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 12px 32px rgba(37, 211, 102, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.45) !important;
    color: #ffffff !important;
    background: linear-gradient(135deg, #2ae06d 0%, #22b95a 100%) !important;
    text-decoration: none !important;
}

.kexp-wa-book-btn .kexp-wa-icon,
.kexp-single-wa-booking .kexp-wa-book-btn svg {
    width: 26px !important;
    min-width: 26px !important;
    max-width: 26px !important;
    height: 26px !important;
    min-height: 26px !important;
    max-height: 26px !important;
    flex-shrink: 0 !important;
    display: inline-block !important;
    vertical-align: middle !important;
}

.kexp-wa-book-btn span {
    color: #ffffff !important;
    font-weight: 700 !important;
    font-size: 15.5px !important;
    letter-spacing: 0.2px !important;
}

.kexp-wa-footer-info {
    margin-top: 14px;
    text-align: center;
    font-size: 12.5px;
    color: #94a3b8 !important;
}

.kexp-wa-footer-info strong {
    color: #38bdf8 !important;
    letter-spacing: 0.3px;
}

/* Light Mode Overrides (ONLY applied when kexp-theme-light is active) */
body.kexp-theme-light .kexp-single-wa-booking {
    background: #ffffff !important;
    border-color: rgba(37, 211, 102, 0.45) !important;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.08) !important;
    color: #334155 !important;
}

body.kexp-theme-light .kexp-single-wa-booking .kexp-wa-heading,
body.kexp-theme-light .kexp-wa-heading {
    color: #0f172a !important;
    text-shadow: none !important;
}

body.kexp-theme-light .kexp-single-wa-booking .kexp-wa-desc,
body.kexp-theme-light .kexp-wa-desc {
    color: #475569 !important;
}

body.kexp-theme-light .kexp-wa-perks li {
    color: #334155 !important;
}

body.kexp-theme-light .kexp-wa-perks li strong {
    color: #0f172a !important;
}

body.kexp-theme-light .kexp-wa-footer-info {
    color: #64748b !important;
}

body.kexp-theme-light .kexp-wa-footer-info strong {
    color: #0284c7 !important;
}

/* WhatsApp Card Hotel Disclaimer Note */
.kexp-wa-hotel-disclaimer {
    margin-top: 14px !important;
    margin-bottom: 24px !important;
    font-size: 13.5px !important;
    line-height: 1.55 !important;
    color: #cbd5e1 !important;
}

.kexp-wa-hotel-disclaimer span {
    color: #ef4444 !important;
}

body.kexp-theme-light .kexp-wa-hotel-disclaimer {
    color: #334155 !important;
}

body.kexp-theme-light .kexp-wa-hotel-disclaimer span {
    color: #dc2626 !important;
}

/* ==========================================================================
   Hero Cinematic Opening Experience:
   1. Video starts in full clarity and center focus (foreground)
   2. Seamlessly fades/settles into background overlay
   3. Staggered text & badge elements glide in gracefully
   ========================================================================== */

/* Hero Elements: hardware accelerated for GSAP Timeline Entrance */
.kexp-v2-hero-section .kexp-hero-video-wrap,
.kexp-v2-hero-section .kexp-v2-hero-overlay,
.kexp-v2-hero-content .kexp-trust-badge,
.kexp-v2-hero-content .kexp-v2-hero-sub,
.kexp-v2-hero-content .kexp-v2-hero-title,
.kexp-v2-hero-content .kexp-v2-hero-desc,
.kexp-v2-hero-content .kexp-v2-hero-actions,
.kexp-v2-hero-content .kexp-v2-hero-tags,
#kexpV2Nav {
    will-change: transform, opacity;
}

/* Hero Initial Animation State (Zero FOUC / No Flash - scoped to html.kexp-anim-init) */
html.kexp-anim-init .kexp-v2-hero-section .kexp-hero-video-wrap {
    opacity: 0;
    transform: scale(1.08);
}

html.kexp-anim-init .kexp-v2-hero-section .kexp-v2-hero-overlay {
    opacity: 0;
}

html.kexp-anim-init #kexpV2Nav {
    opacity: 0;
    transform: translateY(-30px);
}

html.kexp-anim-init .kexp-v2-hero-content .kexp-trust-badge {
    opacity: 0;
    transform: translateY(-16px);
}

html.kexp-anim-init .kexp-v2-hero-content .kexp-v2-hero-sub {
    opacity: 0;
    transform: translateY(18px);
    letter-spacing: 6px;
}

html.kexp-anim-init .kexp-v2-hero-content .kexp-v2-hero-title {
    opacity: 0;
    transform: translateY(25px) scale(0.95);
    filter: blur(6px);
}

html.kexp-anim-init .kexp-v2-hero-content .kexp-v2-hero-desc {
    opacity: 0;
    transform: translateY(20px);
}

html.kexp-anim-init .kexp-v2-hero-content .kexp-v2-hero-actions {
    opacity: 0;
    transform: translateY(20px) scale(0.96);
}

html.kexp-anim-init .kexp-v2-hero-content .kexp-v2-hero-tags {
    opacity: 0;
    transform: translateY(14px);
}

/* --- Gear Options Dual Grid for Packages --- */
.kexp-gear-options-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px !important;
    margin: 28px 0 !important;
    align-items: stretch !important;
}
.kexp-gear-options-grid > p {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.kexp-gear-option-card {
    border-radius: 16px !important;
    padding: 24px 20px !important;
    display: flex !important;
    flex-direction: column !important;
    position: relative !important;
    box-sizing: border-box !important;
}
.kexp-gear-option-card-a {
    background: linear-gradient(180deg, rgba(14, 35, 61, 0.9), rgba(7, 22, 41, 0.98)) !important;
    border: 1.5px solid rgba(56, 189, 248, 0.3) !important;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.35) !important;
}
.kexp-gear-option-card-b {
    background: linear-gradient(180deg, rgba(16, 38, 68, 0.95), rgba(7, 23, 43, 0.98)) !important;
    border: 1.5px solid #f59e0b !important;
    box-shadow: 0 8px 26px rgba(0, 0, 0, 0.45), 0 0 18px rgba(245, 158, 11, 0.15) !important;
}
@media (max-width: 640px) {
    .kexp-gear-options-grid {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }
}


/* ═══════════════════════════════════════════════════════════
   WILPATTU SAFARI MOBILE FULL-WIDTH FIX
   Ensures Wilpattu package cards match front-page cards on mobile
   ═══════════════════════════════════════════════════════════ */
@media (max-width: 767px) {
    html body.page-id-7877 #main-container,
    html body.page-id-7877 #apus-main-content,
    html body.page-id-7877 .main-content {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
    html body.page-id-7877 .elementor-element-e9c52e3 {
        padding: 16px 8px 20px !important;
        border-radius: 16px !important;
        margin-top: 14px !important;
        margin-bottom: 20px !important;
    }
    html body.page-id-7877 .elementor-element-e9c52e3 > .e-con-inner {
        padding-left: 0 !important;
        padding-right: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    html body.page-id-7877 .kexp-safari-packages-section {
        padding: 0 !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        margin: 10px 0 16px !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    html body.page-id-7877 .kexp-safari-pkg-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 16px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    html body.page-id-7877 .kexp-safari-rich-card {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        border-radius: 14px !important;
        box-shadow: 0 4px 18px rgba(0, 0, 0, 0.45) !important;
    }
    html body.page-id-7877 .kexp-safari-rich-card .kexp-rich-thumb {
        height: 180px !important;
        min-height: 180px !important;
        max-height: 180px !important;
    }
    html body.page-id-7877 .kexp-safari-rich-card .kexp-rich-body {
        padding: 15px 14px 16px !important;
    }
    html body.page-id-7877 .kexp-safari-rich-card .kexp-rich-title {
        font-size: 17px !important;
        font-weight: 800 !important;
        line-height: 1.35 !important;
        margin-bottom: 8px !important;
    }
    html body.page-id-7877 .kexp-safari-rich-card .kexp-rich-desc {
        font-size: 13px !important;
        line-height: 1.5 !important;
        color: #94a3b8 !important;
        margin-bottom: 12px !important;
        -webkit-line-clamp: 3 !important;
        display: -webkit-box !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
    }
    html body.page-id-7877 .kexp-safari-rich-card .kexp-rich-price {
        font-size: 22px !important;
        font-weight: 800 !important;
        color: #fbbf24 !important;
    }
    html body.page-id-7877 .kexp-safari-rich-card .kexp-rich-cta {
        font-size: 12.5px !important;
        font-weight: 700 !important;
        padding: 9px 18px !important;
    }
}


/* ==========================================================================
   Single Activity / Tour WhatsApp Booking: Unify & Expand Mobile Width
   Removes triple-nested container borders & padding that squished the card
   ========================================================================== */
.sidebar-single-tour .widget,
.sidebar-single-tour .booking-form,
.sidebar-single-tour .babe_booking_form_wrapper,
.sidebar-single-tour #booking_form_block {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    box-shadow: none !important;
}

body.kexp-theme-light .sidebar-single-tour .widget,
body.kexp-theme-light .sidebar-single-tour .booking-form,
body.kexp-theme-light .sidebar-single-tour .babe_booking_form_wrapper,
body.kexp-theme-light .sidebar-single-tour #booking_form_block {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    box-shadow: none !important;
}

.kexp-single-wa-booking {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

@media (max-width: 767px) {
    .content-tour-detail > .col-12 {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
    .sidebar-single-tour {
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-top: 15px !important;
    }
    .kexp-single-wa-booking {
        padding: 20px 16px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        border-radius: 16px !important;
    }
    .kexp-wa-heading {
        font-size: 18px !important;
        line-height: 1.3 !important;
    }
    .kexp-wa-desc {
        font-size: 13.5px !important;
        line-height: 1.5 !important;
    }
    .kexp-wa-perks li {
        font-size: 13px !important;
        padding: 5px 0 !important;
    }
    .kexp-wa-book-btn {
        padding: 13px 18px !important;
        font-size: 15px !important;
    }
}


/* Larger Group Custom Note Styling */
.kexp-group-custom-note {
    background: linear-gradient(135deg, rgba(14, 165, 233, 0.09) 0%, rgba(37, 211, 102, 0.08) 100%) !important;
    border: 1.5px solid rgba(56, 189, 248, 0.35) !important;
    border-radius: 14px !important;
    padding: 18px 20px !important;
    margin: 24px 0 20px !important;
}
body.kexp-theme-light .kexp-group-custom-note {
    background: #f0fdf4 !important;
    border-color: rgba(37, 211, 102, 0.45) !important;
}
body.kexp-theme-light .kexp-group-custom-note h4 {
    color: #0f172a !important;
}
body.kexp-theme-light .kexp-group-custom-note p {
    color: #334155 !important;
}
body.kexp-theme-light .kexp-group-custom-note p strong {
    color: #0f172a !important;
}
