/* ============================================= */
/* == TABLET RESPONSIVE FIX (992px - 1440px) == */
/* == For iPad Pro, Surface, Large Tablets   == */
/* ============================================= */

/* --------------------------------------------- */
/* BASE FIX: Full Width Containers               */
/* --------------------------------------------- */
@media screen and (min-width: 992px) and (max-width: 1440px) {

    /* Force full width containers */
    .container,
    .container-lg,
    .container-xl {
        max-width: 100% !important;
        width: 100% !important;
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    /* Ensure no horizontal overflow */
    html,
    body {
        overflow-x: hidden !important;
        width: 100% !important;
        max-width: 100vw !important;
    }

    /* Fix row negative margins */
    .row {
        margin-left: -10px !important;
        margin-right: -10px !important;
    }

    .row>[class*="col-"] {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
}

/* --------------------------------------------- */
/* HERO SECTION: Full Width Video               */
/* --------------------------------------------- */
@media screen and (min-width: 992px) and (max-width: 1440px) {

    .slider-container,
    .slider-container.scroll-section {
        width: 100vw !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        min-height: 100vh !important;
        height: 100vh !important;
        overflow: hidden !important;
    }

    .hero-video-background {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 100vh !important;
    }

    .hero-video-background video {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: center center !important;
    }

    .slider-content {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 40px !important;
    }
}

/* --------------------------------------------- */
/* NAVBAR: Ensure Full Width WITHOUT overflow   */
/* --------------------------------------------- */
@media screen and (min-width: 992px) and (max-width: 1440px) {

    /* Force html/body to clip overflow */
    html {
        overflow-x: hidden !important;
        width: 100% !important;
    }

    #navbar,
    .navbar.navbar-light {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        overflow-x: hidden !important;
        overflow-y: visible !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    #navbar .container-fluid {
        max-width: 100% !important;
        width: 100% !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    /* Navbar content wrapper */
    #navbar .d-flex,
    #navbarContent {
        max-width: 100% !important;
        overflow: hidden !important;
        flex-wrap: nowrap !important;
    }

    /* Nav links container - prevent overflow */
    #navbar .navbar-nav {
        flex-wrap: nowrap !important;
        overflow: hidden !important;
        max-width: calc(100% - 200px) !important;
        /* Leave space for logo and buttons */
    }

    /* Reduce nav item spacing for better fit */
    #navbar .nav-item {
        margin: 0 3px !important;
        flex-shrink: 1 !important;
    }

    #navbar .nav-link {
        font-size: 12px !important;
        padding: 5px 6px !important;
        white-space: nowrap !important;
    }

    /* Navbar logo size adjustment */
    .navbar-logo-img {
        max-height: 50px !important;
        height: auto !important;
        max-width: 150px !important;
    }

    /* Action buttons smaller */
    #navbar .btn-subscribe-nav {
        padding: 6px 12px !important;
        font-size: 11px !important;
    }

    /* Login button */
    #navbar .nav-start-a-live-btn {
        padding: 6px 12px !important;
        font-size: 11px !important;
    }

    /* Language switcher */
    .language-switcher,
    .current-language-btn {
        padding: 4px 8px !important;
        font-size: 11px !important;
    }
}

/* --------------------------------------------- */
/* STORY BROWSER SECTION: Full Width            */
/* --------------------------------------------- */
@media screen and (min-width: 992px) and (max-width: 1440px) {
    .story-browser-section {
        width: 100% !important;
        max-width: 100% !important;
    }

    .story-browser-section .container,
    .story-browser-section .container-fluid {
        max-width: 100% !important;
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    /* Story cards grid adjustment */
    .story-grid,
    .story-browser-grid {
        display: grid !important;
        grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
        gap: 20px !important;
    }
}

/* --------------------------------------------- */
/* HOMEPAGE SECTIONS: Full Width                */
/* --------------------------------------------- */
@media screen and (min-width: 992px) and (max-width: 1440px) {

    /* All major homepage sections should be full width */
    .is-home-page section,
    .is-home-page .home-sections,
    .is-home-page .home-sections-swiper,
    .is-home-page .testimonials-section,
    .is-home-page .faq-section,
    .is-home-page .video-showcase-section,
    .is-home-page .story-browser-section,
    .is-home-page .subscribes-container {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }

    /* Override any container max-width on homepage */
    .is-home-page .container,
    .is-home-page .container-fluid,
    .is-home-page .container-lg,
    .is-home-page .container-xl {
        max-width: 100% !important;
        width: 100% !important;
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
}

/* --------------------------------------------- */
/* FOOTER: Full Width                            */
/* --------------------------------------------- */
@media screen and (min-width: 992px) and (max-width: 1440px) {

    footer.footer,
    .footer {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    footer .container,
    .footer .container {
        max-width: 100% !important;
        padding-left: 30px !important;
        padding-right: 30px !important;
    }
}

/* --------------------------------------------- */
/* SUBSCRIPTION PAGE FIX                         */
/* --------------------------------------------- */
@media screen and (min-width: 992px) and (max-width: 1440px) {

    .subscribes-container,
    .subscription-page,
    .pricing-section {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
        box-sizing: border-box !important;
    }

    .subscribes-container .container,
    .subscription-page .container {
        max-width: 100% !important;
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    /* Pricing cards layout */
    .pricing-cards,
    .subscribe-plans {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        gap: 20px !important;
    }

    .pricing-card,
    .subscribe-plan-card {
        flex: 0 1 calc(33.333% - 20px) !important;
        min-width: 300px !important;
        max-width: 400px !important;
    }
}

/* --------------------------------------------- */
/* VIDEO SECTION: Proper Aspect Ratio           */
/* --------------------------------------------- */
@media screen and (min-width: 992px) and (max-width: 1440px) {
    .video-showcase-section {
        width: 100% !important;
        padding: 40px 20px !important;
    }

    .video-showcase-section .container {
        max-width: 100% !important;
    }

    .video-wrapper,
    .video-container {
        width: 100% !important;
        max-width: 900px !important;
        margin: 0 auto !important;
    }
}

/* --------------------------------------------- */
/* SCROLL SECTIONS: Proper Height               */
/* --------------------------------------------- */
@media screen and (min-width: 992px) and (max-width: 1440px) {
    .scroll-section {
        min-height: auto !important;
        padding-bottom: 60px !important;
    }

    /* Hero section should be full height */
    .slider-container.scroll-section {
        min-height: 100vh !important;
        padding-bottom: 0 !important;
    }
}

/* --------------------------------------------- */
/* FAQ & TESTIMONIALS: Proper Width             */
/* --------------------------------------------- */
@media screen and (min-width: 992px) and (max-width: 1440px) {

    .faq-section,
    .testimonials-section,
    .home-sections-swiper {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .faq-section .container,
    .testimonials-section .container {
        max-width: 100% !important;
        padding-left: 40px !important;
        padding-right: 40px !important;
    }
}

/* --------------------------------------------- */
/* TOUCH DEVICE OPTIMIZATIONS                   */
/* --------------------------------------------- */
@media screen and (min-width: 992px) and (max-width: 1440px) and (pointer: coarse) {

    /* Larger touch targets */
    .btn,
    button,
    .nav-link,
    a.card {
        min-height: 44px !important;
    }

    /* Disable hover effects that don't work on touch */
    .nav-link:hover,
    .btn:hover {
        transform: none !important;
    }

    /* Better tap feedback */
    .btn:active,
    .nav-link:active {
        transform: scale(0.98) !important;
        opacity: 0.9 !important;
    }
}

/* --------------------------------------------- */
/* LANDSCAPE ORIENTATION SPECIFIC               */
/* --------------------------------------------- */
@media screen and (min-width: 992px) and (max-width: 1440px) and (orientation: landscape) {

    /* Adjust hero height for landscape */
    .slider-container {
        min-height: 100vh !important;
        height: 100vh !important;
    }

    .slider-content {
        padding-top: 10vh !important;
    }

    .hero-text-content h1 {
        font-size: clamp(40px, 6vw, 70px) !important;
    }

    .hero-text-content p.hero-subtitle {
        font-size: clamp(18px, 2.5vw, 32px) !important;
    }
}

/* --------------------------------------------- */
/* PORTRAIT ORIENTATION SPECIFIC                */
/* --------------------------------------------- */
@media screen and (min-width: 992px) and (max-width: 1440px) and (orientation: portrait) {
    .slider-container {
        min-height: 60vh !important;
        height: auto !important;
    }

    .slider-content {
        padding-top: 15vh !important;
    }
}

/* --------------------------------------------- */
/* PREVENT BODY PADDING ISSUES                  */
/* --------------------------------------------- */
@media screen and (min-width: 992px) and (max-width: 1440px) {
    body:not(.is-home-page) {
        padding-top: 90px !important;
    }

    body.is-home-page {
        padding-top: 0 !important;
    }
}