/* Common Responsive Utilities & Overrides */

.container, 
.header-container, 
.banner-container, 
.about-container, 
.about-movie-container, 
.trailer-container, 
.enquiry-container, 
.footer-container {
    width: 100% !important;
    max-width: 1440px !important;
    margin: 0 auto;
    padding: 0 60px;
}

/* Hamburger Toggle Button (Hidden on Desktop) */
.hamburger-menu {
    display: none;
}

/* --- Tablets & Large Screens (1200px and under) --- */
@media (max-width: 1200px) {
    .container, 
    .header-container, 
    .banner-container, 
    .about-container, 
    .about-movie-container, 
    .trailer-container, 
    .enquiry-container, 
    .footer-container {
        padding: 0 40px;
    }
    
    .trailer-video-wrapper {
        width: 100% !important;
        max-width: 1200px;
        height: auto !important;
        aspect-ratio: 16 / 9;
    }
}

/* --- Medium Screens (992px and under) --- */
@media (max-width: 992px) {
    /* About GPM Creations Section */
    .about-movie-container {
        flex-direction: column;
        align-items: stretch;
        gap: 50px;
        min-height: auto;
    }
    .about-movie-text {
        width: 100%;
        padding-left: 0;
        text-align: center;
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .about-movie-posters {
        position: relative;
        right: auto;
        margin: 0 auto;
        width: 100%;
        max-width: 450px;
        height: 350px;
    }
    .poster-back-left {
        width: 180px;
        height: 225px;
        top: 40px;
    }
    .poster-back-right {
        width: 180px;
        height: 225px;
        top: 40px;
    }
    .poster-main {
        width: 240px;
        height: 300px;
        left: calc(50% - 120px);
    }

    /* Enquiry Section */
    .enquiry-box {
        height: auto;
        flex-direction: column;
        padding: 40px;
        gap: 30px;
        text-align: center;
    }
    .enquiry-text {
        align-items: center;
    }
    .enquiry-contact-grid {
        justify-content: center;
        width: 100%;
    }

    /* Footer Section */
    .footer-grid {
        flex-wrap: wrap;
        gap: 40px;
    }
    .footer-about {
        width: 100%;
        text-align: center;
        align-items: center;
    }
}

/* --- Mobile Devices (768px and under) --- */
@media (max-width: 768px) {
    .container, 
    .header-container, 
    .banner-container, 
    .about-container, 
    .about-movie-container, 
    .trailer-container, 
    .enquiry-container, 
    .footer-container {
        padding: 0 20px;
    }
    
    section {
        padding: 60px 0 !important;
    }

    /* Header Section & Hamburger Navigation */
    .header {
        position: absolute !important;
        background: #000000 !important;
        backdrop-filter: none !important;
        height: 80px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0 20px;
    }
    .header-logo {
        position: static !important;
        width: 110px;
        height: 40px;
        display: flex;
        align-items: center;
    }
    .hamburger-menu {
        display: flex !important;
        flex-direction: column;
        justify-content: space-between;
        width: 24px;
        height: 14px;
        background: transparent;
        border: none;
        cursor: pointer;
        padding: 0;
        z-index: 1002;
    }
    .hamburger-menu .bar {
        width: 100%;
        height: 2px;
        background-color: #ffffff;
        transition: transform 0.3s ease, opacity 0.3s ease;
    }
    .hamburger-menu.open .bar:nth-child(1) {
        transform: translateY(6px) rotate(45deg);
    }
    .hamburger-menu.open .bar:nth-child(2) {
        transform: translateY(-6px) rotate(-45deg);
    }
    .nav-wrapper {
        position: fixed !important;
        top: 0;
        right: -100% !important;
        width: 280px;
        height: 100vh;
        background: rgba(0, 4, 13, 0.98) !important;
        backdrop-filter: blur(15px);
        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: flex-start !important;
        padding: 100px 40px !important;
        box-sizing: border-box;
        transition: right 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
        z-index: 1001 !important;
        gap: 30px !important;
        left: auto !important;
        top: 0 !important;
    }
    .nav-wrapper.open {
        right: 0 !important;
    }
    .nav-links {
        flex-direction: column !important;
        align-items: flex-start !important;
        width: 100% !important;
        height: auto !important;
        gap: 20px !important;
    }
    .nav-item {
        width: 100%;
        padding: 10px 0 !important;
        justify-content: flex-start !important;
        height: auto !important;
    }
    .nav-item span {
        font-size: 18px !important;
        font-weight: 500;
    }
    .social-links {
        display: none !important;
    }

    /* Hero Banner Section */
    .banner {
        height: 100vh !important;
        height: 100dvh !important;
        min-height: 568px;
    }
    .banner-container {
        height: 100% !important;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        align-items: center;
        padding-top: 90px;
        padding-bottom: 30px;
        box-sizing: border-box;
    }
    .banner-content {
        position: static !important;
        margin: 0 !important;
        text-align: center;
        display: flex;
        flex-direction: column;
        align-items: center;
        flex-grow: 1;
        justify-content: center;
        padding-bottom: 50px; /* Manage space: push arrows down to avoid being too close to button */
    }
    .banner-title-img {
        width: 220px;
        margin-bottom: 15px;
    }
    .banner-description {
        width: 100% !important;
        max-width: 100%;
        font-size: 14px;
        line-height: 22px;
        margin-bottom: 20px;
    }
    .banner-branding {
        display: none !important; /* Hide A GPM Creations text on mobile */
    }
    .banner-slider-group {
        position: static !important;
        margin: 0 !important;
        align-self: center;
    }
    .thumbnail-slider {
        display: none !important; /* Hide the thumbnails on mobile */
    }
    .slider-controls {
        align-self: center;
        margin-bottom: 0 !important;
    }

    /* About Section */
    .about-title {
        font-size: 28px;
        line-height: 36px;
    }
    .about-grid {
        flex-direction: column;
        gap: 15px;
    }
    .about-item {
        height: auto;
        padding: 25px;
    }

    /* Trailer Section */
    .trailer-title {
        font-size: 28px;
        line-height: 36px;
    }

    /* About Movie Section */
    .about-movie-title {
        font-size: 28px !important;
        line-height: 36px !important;
    }

    /* Enquiry Section */
    .enquiry-title {
        font-size: 28px;
        line-height: 36px;
    }
    .enquiry-contact-grid {
        flex-direction: column;
        gap: 20px;
        align-items: center;
    }
    .contact-item {
        align-items: center !important;
        text-align: center !important;
    }

    /* Footer Section */
    .footer-grid {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        justify-content: flex-start !important;
        align-items: flex-start !important;
        gap: 40px 20px !important;
    }
    .footer-about {
        width: 100% !important;
        text-align: left !important;
        align-items: flex-start !important;
    }
    .footer-links-column {
        width: calc(50% - 10px) !important;
        align-items: flex-start !important;
        text-align: left !important;
    }
    .footer-contact-info {
        text-align: left !important;
    }
    .footer-copyright {
        text-align: left !important;
    }
}
