/* Mobile Fixes - Prevent Horizontal Overflow */

/* Global overflow prevention */
html {
  overflow-x: hidden;
  width: 100%;
}

body {
  overflow-x: hidden;
  width: 100%;
  position: relative;
}

/* Prevent all containers from exceeding viewport width */
* {
  max-width: 100%;
}

/* Fix for containers that might overflow */
.page-wrapper,
.page-wrapper-4,
.main-wrapper,
main {
  overflow-x: hidden;
  width: 100%;
  max-width: 100vw;
}

/* Fix for sections */
section {
  overflow-x: hidden;
  width: 100%;
  max-width: 100vw;
}

/* Container fixes */
.container,
.container-large,
.page-padding {
  overflow-x: hidden;
  width: 100%;
  max-width: 100%;
  padding-left: clamp(1rem, 5vw, 2rem);
  padding-right: clamp(1rem, 5vw, 2rem);
}

/* Grid fixes */
.releases-grid,
.product-grid,
.w-dyn-items {
  overflow-x: hidden;
  width: 100%;
  max-width: 100%;
}

/* Releases Section Wrapper - Fixed position can cause overflow */
.releases-section-wrapper {
  position: relative;
  width: 100%;
  max-width: 100vw;
  overflow-x: hidden;
}

.releases-scroll-container {
  width: 100%;
  max-width: 100vw;
  overflow-x: hidden;
}

/* Scroll Arrow - Can overflow on mobile */
.scroll-arrow {
  display: none;
}

@media (min-width: 768px) {
  .scroll-arrow {
    display: block;
  }
}

/* Fix for images */
img {
  max-width: 100%;
  height: auto;
}

/* Fix for videos */
video {
  max-width: 100%;
  height: auto;
}

/* Fix for iframes */
iframe {
  max-width: 100%;
}

/* Slider/Swiper fixes */
.swiper,
.swiper-wrapper,
.swiper-slide {
  max-width: 100%;
}

/* Fix for slider-photo_overflow that causes horizontal scroll */
.slider-photo_overflow {
  width: 100% !important;
  overflow: hidden;
}

.slider-photo_overflow > div {
  width: 100% !important;
}

/* Footer fixes */
.footer_component {
  overflow-x: hidden;
  width: 100%;
  max-width: 100vw;
}

/* Navbar fixes */
.navbar {
  overflow-x: hidden;
  width: 100%;
  max-width: 100vw;
}

/* Cart sidebar fixes */
.cart-sidebar {
  max-width: 100vw;
}

.cart-sidebar-content {
  max-width: min(450px, 100vw);
}

/* Subscribe modal fixes */
.subscribe-modal {
  max-width: min(540px, 90vw);
  margin: 0 auto;
}

/* Fix for absolute/fixed positioned elements */
[style*="position: absolute"],
[style*="position: fixed"] {
  max-width: 100vw;
}

/* Specific mobile breakpoint fixes */
@media (max-width: 767px) {
  /* Ensure no element can cause horizontal scroll */
  * {
    max-width: 100vw !important;
  }
  
  /* Container padding adjustments */
  .container,
  .container-large {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  
  .page-padding {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  
  /* Grid adjustments */
  .releases-grid {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 1.5rem;
    padding: 1rem 0;
  }
  
  /* Text overflow prevention */
  h1, h2, h3, h4, h5, h6, p, span, div {
    word-wrap: break-word;
    overflow-wrap: break-word;
    hyphens: auto;
  }
  
  /* Hide elements that might cause overflow */
  .scroll-arrow,
  .scrollToTopBtn {
    display: none !important;
  }
  
  /* Slider adjustments */
  .slider-releases_component,
  .slider-list_component,
  .slider-photo_component {
    overflow-x: hidden;
    max-width: 100%;
  }
  
  /* Social icons adjustments */
  .footer-social-icons,
  .subscribe-social-icons {
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.75rem;
  }
  
  /* Product cards */
  .product-card,
  .release-link-block {
    max-width: 100%;
  }
  
  /* Prevent transforms from causing overflow */
  .release-link-block:hover {
    transform: scale(1.02);
  }
  
  /* Fix for glassmorphism elements */
  .glassmorphism {
    max-width: 100%;
  }
  
  /* Div blocks that might overflow */
  .div-block-16,
  .div-block-2 {
    overflow-x: hidden;
    max-width: 100%;
  }
  
  /* Track list fixes */
  .track,
  .track-details-wrapper {
    overflow-x: hidden;
    max-width: 100%;
  }
  
  /* Media player fixes */
  .main-media-player {
    max-width: 100vw;
    left: 0;
    right: 0;
  }
  
  .media-player {
    flex-wrap: wrap;
    gap: 0.5rem;
  }
  
  /* Copyright wrapper */
  .copyright-wrapper {
    flex-direction: column;
    gap: 1rem;
    text-align: center;
  }
  
  .text-size-regular {
    font-size: 0.75rem;
    line-height: 1.4;
  }
}

/* Extra small devices */
@media (max-width: 480px) {
  .container,
  .container-large,
  .page-padding {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }
  
  .releases-grid {
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 1rem;
  }
  
  /* Heading size adjustments */
  .heading-style-h1 {
    font-size: clamp(1.5rem, 8vw, 3rem);
  }
  
  /* Modal adjustments */
  .subscribe-modal {
    padding: 30px 20px;
    max-width: 95vw;
  }
  
  .subscribe-modal-title {
    font-size: 28px;
  }
}

/* Landscape mobile fixes */
@media (max-width: 767px) and (orientation: landscape) {
  .releases-grid {
    grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
    gap: 1rem;
  }
}

/* Fix for grid items that might overflow */
.grid,
.grid_item {
  max-width: 100%;
  overflow-x: hidden;
}

/* Fix for navigation wrapper */
.nav-wrapper,
.nav_padding {
  max-width: 100vw;
  overflow-x: hidden;
}

/* Fix for slider components */
.slider-releases_component,
.slider-list_component,
.slider-photo_component {
  max-width: 100%;
  overflow-x: hidden;
}

/* Fix for div blocks */
.div-block-2,
.div-block-5,
.div-block-16 {
  max-width: 100%;
  overflow-x: hidden;
}

/* Ensure page wrapper doesn't overflow */
.page-wrapper {
  max-width: 100vw;
  overflow-x: hidden;
}

/* Fix for any absolute positioned elements */
.w-nav {
  max-width: 100vw;
  overflow-x: hidden;
}

/* Additional mobile-specific fixes */
@media (max-width: 767px) {
  /* Force all direct children of body to not overflow */
  body > * {
    max-width: 100vw;
    overflow-x: hidden;
  }
  
  /* Slider photo overflow fix for mobile */
  .slider-photo_overflow {
    width: 100% !important;
    max-width: 100vw !important;
  }
  
  .slider-photo_overflow > div {
    width: 100% !important;
    max-width: 100vw !important;
  }
  
  /* Navigation fixes */
  .navigation {
    max-width: 100vw;
    overflow-x: hidden;
  }
  
  /* Ensure fae-section doesn't overflow */
  .fae-section-1,
  .fea-container-1,
  .fae-wrap-1 {
    max-width: 100%;
    overflow-x: hidden;
  }
  
  /* Store products grid mobile fix */
  .store-products-grid {
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 1rem;
    padding: 0;
  }
  
  /* Product card mobile adjustments */
  .product-card {
    max-width: 100%;
  }
  
  .product-image-wrapper {
    max-width: 100%;
    overflow: hidden;
  }
}

/* Prevent specific problematic elements */
.w-lightbox-view,
.utility-page_component {
  max-width: 100vw;
  overflow-x: hidden;
}

/* Fix for any element with vw units that might overflow */
[style*="100vw"] {
  max-width: 100% !important;
}

/* Smooth scroll container specific fixes */
.releases-section-wrapper[style*="position: fixed"] {
  position: relative !important;
}

@media (max-width: 767px) {
  .releases-section-wrapper {
    position: relative !important;
    height: auto !important;
  }
  
  .releases-scroll-container {
    position: relative !important;
    transform: none !important;
  }
}
