:root {
    --heading-primary: #333333;
    --body-primary: #555555;
}
body {
    overflow-x: hidden;
}
@media (max-width: 768px) {
  body {
    overflow-x: hidden !important;
  }
}


/* Global Mobile Scrolling Fixes (scoped inside plugin only in component CSS) */

/* On iOS, relax aggressive scroll snapping to avoid vertical scroll conflicts */
.bhaya-ios .events-container.events-slider,
.bhaya-ios .experiences-slider,
.bhaya-ios .fv-slider,
.bhaya-ios .voyages-slider,
.bhaya-ios .themes-for-the-soul-container.themes-slider,
.bhaya-ios .suites-container.suites-slider {
    scroll-snap-type: x proximity;
    /* Improve iOS scrolling */
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
}

/* Hide slider navigation buttons (global) */
.slider-btn,
.prev-btn,
.next-btn,
button.slider-btn,
button.prev-btn,
button.next-btn {
    display: none !important;
    visibility: hidden !important;
}


/* Touch-friendly improvements for mobile are handled per-component; avoid page-level overrides here */

/* Mobile-specific slider improvements */
@media (max-width: 768px) {
  .events-container.events-slider,
  .experiences-slider,
  .fv-slider,
  .voyages-slider,
  .themes-for-the-soul-container.themes-slider,
  .suites-container.suites-slider,
  .gl-thumbs,
  .fv-gallery-thumbs,
  .sg-slider,
  .tg-slider {
    /* Ensure native scrolling on mobile */
    -webkit-overflow-scrolling: touch !important;
    scroll-behavior: smooth !important;
    overscroll-behavior-x: contain !important;
    overscroll-behavior-y: auto !important;
    /* Allow vertical page scroll while enabling horizontal pan */
    touch-action: pan-x pan-y !important;
  }
}

/* Ensure slider containers explicitly opt into touch behavior without affecting the page */
.events-container.events-slider,
.experiences-slider,
.fv-slider,
.voyages-slider,
.themes-for-the-soul-container.themes-slider,
.suites-container.suites-slider,
.tg-slider,
.sg-slider {
    touch-action: pan-x pan-y; /* allow vertical page scroll when finger moves vertically */
    -ms-touch-action: pan-x;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scroll-behavior: auto;
    /* Improve mobile scrolling performance */
    overscroll-behavior-x: contain;
    overscroll-behavior-y: auto;
}

/* Ensure inner Swiper elements do not block vertical scrolling on Android/Chrome */
@media (hover: none) and (pointer: coarse) {
  .swiper, .swiper-wrapper, .swiper-slide {
    touch-action: pan-x pan-y !important;
  }
}


/* Shared slider controls and progress styles */
.slider-controls {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin-top: 60px;
}

.slider-progress {
    width: 100%;
    height: 1px;
    position: relative;
}

/* Tracks */
.events-progress-track,
.experiences-progress-track,
.featured-voyages-progress-track {
    width: 100%;
    height: 1px;
    position: relative;
    background-color: #B6B6B6;
}

/* Fills */
.events-progress-fill,
.experiences-progress-fill,
.featured-voyages-progress-fill {
    height: 1px;
    background-color: black;
    width: 0%;
    transition: width 0.3s ease;
}

/* Dimming for off-screen or partially visible slider items */
.theme-item,
.event-item,
.experience-item {
    opacity: 1;
    transition: opacity 0.3s ease;
}

.theme-item.is-dimmed,
.event-item.is-dimmed,
.experience-item.is-dimmed {
    opacity: 0.35;
}


/* Prevent horizontal overflow from plugin components without touching the page */
.themes-slider-wrapper,
.events-slider-wrapper,
.experiences-slider-wrapper,
.fv-slider-wrapper,
.voyages-slider-wrapper {
    overflow-x: hidden;
    overflow-y: visible;
    max-width: 100vw;
}

/* Ensure media never overflow their containers inside plugin components */
.themes-slider-wrapper img,
.events-slider-wrapper img,
.experiences-slider-wrapper img,
.fv-slider-wrapper img,
.voyages-slider-wrapper img,
.suites-slider-wrapper img,
.themes-slider-wrapper video,
.events-slider-wrapper video,
.experiences-slider-wrapper video,
.fv-slider-wrapper video,
.voyages-slider-wrapper video,
.suites-slider-wrapper video {
    max-width: 100%;
    height: auto;
}

/* Mobile-specific scrolling improvements */
@media (hover: none) and (pointer: coarse) {
    .events-container.events-slider,
    .experiences-slider,
    .fv-slider,
    .voyages-slider,
    .themes-for-the-soul-container.themes-slider,
    .suites-container.suites-slider,
    .tg-slider,
    .sg-slider {
        /* Allow more natural scrolling on mobile */
        scroll-snap-type: none;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-x: contain;
        overscroll-behavior-y: auto;
        /* Reduce scroll resistance */
        scroll-behavior: auto;
    }
}

