/* =========================================
   STRICT MOBILE-ONLY CSS
   ========================================= */
@media (max-width: 768px) {
    /* Ensure the body does not allow horizontal scroll */
    html, body {
        overflow-x: hidden !important;
        width: 100% !important;
    }

    /* Force the mobile menu to stay hidden until triggered */
    .mobile-menu {
        display: flex !important; /* It's flex when active, hidden otherwise */
        position: fixed;
        top: 0;
        left: 0;
        width: 100% !important;
        height: 100vh !important;
        overflow-x: hidden !important;
        transform: translateX(100%);
        transition: transform 0.4s ease;
        z-index: 9999;
    }

    .mobile-menu.active {
        transform: translateX(0);
    }

    /* Ensure hidden elements are truly removed from layout */
    .nav-links, .flex.items-center.gap-10 {
        display: none !important;
    }
}

/* =========================================
   DESKTOP PROTECTION (Crucial)
   ========================================= */
@media (min-width: 769px) {
    /* Explicitly hide mobile elements on desktop */
    .mobile-menu, .mobile-menu-btn, .mobile-menu-close {
        display: none !important;
    }
}
@media (max-width:768px){
/* GLOBAL FIX FOR HORIZONTAL SCROLL */
html, body {
    margin: 0;
    padding: 0;
    overflow-x: hidden; /* This prevents the horizontal scroll bar */
    width: 100%;
}

* {
    box-sizing: border-box; /* Ensures padding/borders don't expand elements beyond width */
}
/* =========================
   HIDE DESKTOP MENU
========================= */

.nav-links,
.flex.items-center.gap-10{
    display:none;
}

/* =========================
   MOBILE NAVBAR
========================= */

.nav-container{
    padding:18px 20px;
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.logo-image{
    height:50px;
    margin-left:0;
}

/* =========================
   MENU BUTTON
========================= */

.mobile-menu-btn{
    width:45px;
    height:45px;

    border-radius:50%;

    border:1px solid rgba(255,255,255,0.2);

    background:rgba(255,255,255,0.08);

    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;

    gap:5px;

    cursor:pointer;

    z-index:1002;
}

.mobile-menu-btn span{
    width:18px;
    height:2px;

    background:#fff;

    border-radius:10px;
}

/* =========================
   FULL SCREEN MENU
========================= */

.mobile-menu {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw; /* Use vw for viewport width */
    height: 100vh;
    background: #050505;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 22px;
    transform: translateX(100%);
    transition: 0.4s ease;
    z-index: 1001;
    overflow-x: hidden; /* Add this to ensure menu content doesn't break layout */
}



/* OPEN MENU */

.mobile-menu.active{
    transform:translateX(0);
}

/* =========================
   MENU LINKS
========================= */

.mobile-menu a{
    color:#fff;

    text-decoration:none;

    font-size:18px;

    letter-spacing:3px;
}

/* =========================
   CONTACT
========================= */

.mobile-contact{
    margin-top:40px;

    display:flex;
    flex-direction:column;

    align-items:center;

    gap:12px;
}

.mobile-contact a{
    font-size:14px;

    color:#d6d6d6;
}

/* =========================
   SOCIAL ICONS
========================= */

.mobile-social{
    margin-top:35px;

    display:flex;

    gap:18px;
}

.mobile-social a{
    width:45px;
    height:45px;

    border:1px solid #c5a059;

    border-radius:50%;

    display:flex;
    justify-content:center;
    align-items:center;

    color:#c5a059;

    font-size:18px;
}
}

/* =========================
   HERO TEXT
========================= */

.hero-content{
    padding:0 25px;

    justify-content:center;
    align-items:center;

    text-align:center;
}

.hero-title{
    font-size:46px;
}

/* =========================
   FEEDBACK CARD
========================= */

.feedback-card{
    width:calc(100% - 30px);

    max-width:320px;

    right:50%;

    transform:translateX(50%);

    bottom:90px;
}

/* =========================
   HIDE RIGHT SOCIAL BAR
========================= */

.social-sidebar-right{
    display:none;
}


.mobile-menu-close{
    position:absolute;

    top:25px;
    right:25px;

    width:42px;
    height:42px;

    border-radius:50%;

    border:1px solid rgba(255,255,255,0.2);

    display:flex;
    justify-content:center;
    align-items:center;

    color:#fff;

    font-size:20px;

    cursor:pointer;

    background:rgba(255,255,255,0.05);
}

@media (max-width:768px){

/* HIDE SOCIAL BAR IN HOME */
.social-sidebar-right{
    display:none !important;
}

/* CENTER HERO CONTENT */
.hero-content{
    position:absolute;
    inset:0;

    display:flex;
    flex-direction:column;

    justify-content:center !important;
    align-items:center !important;

    text-align:center;

    padding:0 25px !important;

    z-index:20;
}

/* TITLE */
.hero-title{
    font-size:48px !important;
    line-height:1.05 !important;

    max-width:320px;

    margin:0 auto !important;
}

.hero-title span{
    display:block;
    margin-top:10px;

    font-size:0.5em;
}

/* FEEDBACK CARD */
.feedback-card{
    position:absolute !important;

    left:50% !important;
    right:auto !important;

    transform:translateX(-50%) !important;

    bottom:85px !important;

    width:calc(100% - 30px) !important;
    max-width:320px !important;

    padding:14px 18px !important;
}

/* SLIDER BUTTONS */
.controls-row{
    position:absolute !important;

    left:50% !important;
    right:auto !important;

    transform:translateX(-50%) !important;

    bottom:28px !important;

    gap:14px;
}

/* SMALLER DOTS */
.shape-btn{
    width:10px;
    height:10px;
}

/* NAVBAR */
.nav-container{
    padding:18px 20px !important;
}

/* LOGO */
.logo-image{
    height:50px !important;
    margin-left:0 !important;
}

/* MENU BUTTON */
.mobile-menu-btn{
    margin-right:0 !important;
}
/* Hero section mobile optimization */
.about-hero {
    height: 40vh !important; /* Reduces height to keep content centered on mobile */
    padding: 0 20px !important;
}

.hero-title {
    font-size: 28px !important; /* Smaller size for mobile readability */
    line-height: 1.2 !important;
    white-space: normal !important; /* Allows text to wrap instead of overflowing */
    word-break: break-word;
}

.hero-title span {
    display: block; /* Forces the gold text to appear on its own line */
    margin-top: 5px;
    font-size: 1em; 
}
}


/* Styling for the dropdown toggle */
.mobile-dropdown {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    margin: 10px 0;
}

/* Initially hide submenus */
.mobile-dropdown-content {
    display: none;
    flex-direction: column;
    align-items: center;
    gap: 15px;
    margin-top: 15px;
    width: 100%;
}

/* Class toggled by JavaScript */
.mobile-dropdown-content.show {
    display: flex;
}

/* Submenu link styling */
.mobile-dropdown-content a {
    font-size: 14px !important;
    text-transform: lowercase;
    color: #fff !important;
    letter-spacing: 1px !important;
}

/* Ensure mobile contact is gone */
.mobile-contact {
    display: none !important;
}
/* =========================
   MOBILE RESPONSIVE CSS
========================= */

@media (max-width:768px){

.editorial-section{
    padding:50px 20px 30px !important;
    margin-bottom:0 !important;

    background:#fff;

    text-align:left;
}

/* SUBTITLE */
.editorial-subtitle{
    font-size:20px !important;

    letter-spacing:3px !important;

    margin-top:0 !important;

    margin-bottom:20px !important;

    color:#a68955 !important;

    text-align:center !important;

    font-weight:600;
}

/* MAIN TITLE */
.editorial-title{
    font-family:'Playfair Display', serif;

    font-size:28px !important;

    line-height:1.65 !important;

    letter-spacing:0 !important;

    font-weight:400;

    color:#111;

    text-align:left;

    max-width:100%;
}

/* ANIMATED WORD */
.animated-word{
    border-bottom:1px solid #111;

    padding-bottom:1px;

    font-style:italic;
}

/* CURSOR */
.animated-word::after{
    width:1.5px;
    height:75%;

    right:-3px;
    bottom:3px;
}

/* SMALL MOBILE */
@media (max-width:480px){

.editorial-section{
    padding:45px 18px 25px !important;
}

.editorial-title{
    font-size:20px !important;

    line-height:1.3 !important;

    text-align: justify;
}

.editorial-subtitle{
    font-size:20px !important;

    letter-spacing:2.5px !important;
}

}

}




/* MOBILE HEIGHT REDUCE */
@media (max-width:768px){

.video-hero-section{
    height:520px !important;
    padding-bottom:0 !important;
}

.video-hero-section > div:first-child{
    height:520px !important;
}

.video-hero-section > div:last-child{
    height:520px !important;
}

/* TEXT */
#textContent{
    margin-bottom:28px !important;
    padding:0 22px !important;
}

#textContent p{
    font-size:10px !important;
    letter-spacing:3px !important;
    margin-bottom:14px !important;
}

#textContent h1{
    font-size:32px !important;
    line-height:1.25 !important;
}

/* PLAY BUTTON */
#actionBtn{
    width:68px !important;
    height:68px !important;
}

/* BUTTON MOVE LESS */
.video-hero-section[data-playing="true"] #actionBtn{
    margin-top:-60px !important;
}

/* LABEL */
#btnLabel{
    margin-top:12px !important;
    font-size:10px !important;
    letter-spacing:2px !important;
}

}


/* =========================
   MOBILE RESPONSIVE
========================= */

@media (max-width:768px){

.benefits-section{
    padding:55px 20px !important;
    margin-bottom: -100px !important;
}

/* CONTAINER */
.benefits-container{
    grid-template-columns:1fr !important;
    gap:40px !important;
}

/* LEFT SIDE */
.benefits-left{
    position:relative !important;
    top:0 !important;
    text-align:left;
}

.benefits-left .sub-title{
    font-size:12px !important;
    letter-spacing:2px;
    margin-bottom:12px !important;
}

.benefits-left .main-title{
    font-size:32px !important;
    line-height:1.15 !important;
    margin-bottom:24px !important;
}

/* BUTTON */
.btn-tickets{
    padding:12px 22px !important;
    font-size:14px !important;
    border-radius:50px;
    gap:10px;
}

/* RIGHT SIDE */
.benefits-right{
    gap:0 !important;
}

/* EACH ITEM */
.benefit-item{
    grid-template-columns:1fr !important;
    gap:18px !important;

    padding:24px 0 !important;

    border-top:1px solid rgba(0,0,0,0.12) !important;
}

/* HEADER */
.benefit-header{
    align-items:flex-start !important;
    gap:14px !important;
}

/* NUMBER */
.benefit-item .number{
    width:28px !important;
    height:28px !important;

    font-size:12px !important;

    margin-top:0 !important;
}

/* TITLE */
.benefit-title{
    font-size:18px !important;
    line-height:1.35 !important;

    letter-spacing:0 !important;
}

/* TEXT */
.benefit-text{
    font-size:14px !important;
    line-height:1.8 !important;

    color:#666 !important;

    text-align:justify !important;

    padding-left:42px;
}

/* REMOVE STICKY */
.benefits-left{
    height:auto !important;
}

}

/* =========================
   MOBILE RESPONSIVE
========================= */

@media (max-width:768px){

.editorial-section{
    padding:60px 20px !important;
}

/* MAIN CONTAINER */
.editorial-container{
    flex-direction:column !important;
    gap:45px !important;
}

/* SIDEBAR TOP */
.editorial-sidebar-right{
    position:relative !important;
    top:0 !important;
    width:100%;
}

/* SUBTITLE */
.section-subtitle{
    font-size:11px !important;
    letter-spacing:2px !important;
    margin-bottom:12px !important;
}

/* MAIN TITLE */
.editorial-sidebar-right h2{
    font-size:30px !important;
    line-height:1.2 !important;
    margin-bottom:20px !important;

    letter-spacing:0 !important;
}

/* DESCRIPTION */
.sidebar-desc{
    font-size:16px !important;
    line-height:1.5 !important;

    text-align:justify !important;

    margin-bottom:24px !important;
}

/* IMAGE BOX */
.sidebar-graphic-box{
    height:220px !important;
    border-radius:18px !important;
}

/* LEFT GRID */
.editorial-grid-left{
    width:100%;
}

/* EACH ROW */
.bento-row,
.bento-row.row-reverse{
    flex-direction:column !important;
    align-items:flex-start !important;

    gap:18px !important;

    padding:28px 0 !important;
}

/* TEXT */
.bento-text{
    padding:0 !important;
}

.bento-text h3{
    font-size:22px !important;
    margin-bottom:10px !important;
}

.bento-text p{
    font-size:17px !important;
    line-height:1.5 !important;

    text-align:justify !important;
}

/* ICON BOX */
.bento-badge{
    width:100% !important;
    height:90px !important;

    border-radius:16px !important;
}

/* ICON */
.badge-icon{
    width:34px !important;
    height:34px !important;
}
/* REMOVE TOP & BOTTOM SPACE */


}

@media (max-width:600px){

.logic-hero-section{
    padding-bottom:0 !important;
}

.cta-center-container{
    margin-bottom:0px !important;
}

}


/* =============================== */
/* FOOTER MOBILE CSS ONLY */
/* =============================== */

@media (max-width:768px){

    .madmaze-footer{
        padding:45px 18px 30px !important;
    }

    /* LOGO */

    .footer-logo{
        margin-bottom:20px !important;
    }

    .footer-logo img{
        width:180px !important;
    }

    /* DESCRIPTION */

    .footer-description{
        font-family:'Inter',sans-serif;

        font-size:14px !important;

        line-height:1.8 !important;

        color:#d2d2d2 !important;

        text-align:justify !important;

        margin-bottom:28px !important;

        padding:0 5px;
    }

    /* SOCIAL ICONS */

    .social-links{
        gap:12px !important;
        margin-bottom:30px !important;

        flex-wrap:wrap;
    }

    .social-links a{
        width:44px !important;
        height:44px !important;

        font-size:16px !important;

        border-radius:50%;

        background:rgba(255,255,255,0.06);

        border:1px solid rgba(255,255,255,0.08);

        backdrop-filter:blur(10px);
    }

    .social-links a:hover{
        transform:none !important;
    }

    /* MENU */

    .footer-nav{
        gap:14px 22px !important;

        margin-bottom:30px !important;

        justify-content:center;
    }

    .footer-nav a{
        font-size:14px !important;

        letter-spacing:0.3px;

        color:#e5e5e5 !important;
    }

    .footer-nav a .arrow{
        font-size:12px;
    }

    /* DIVIDER */

    .footer-divider{
        margin-bottom:20px !important;
    }

    /* BOTTOM */

    .footer-bottom{
        flex-direction:column !important;

        text-align:center;

        gap:10px !important;
    }

    .footer-bottom p{
        font-size:12px !important;

        line-height:1.7;

        color:#9f9f9f;

        /* text-align: justify !important; */
    }

    .legal-links{
        font-size:12px;
    }

    .legal-links a{
        color:#bdbdbd !important;
    }

    /* REMOVE EXTRA GLOW SIZE */

    .madmaze-footer::before{
        width:250px;
        height:250px;
        top:-120px;
        left:-100px;
    }

    .madmaze-footer::after{
        width:220px;
        height:220px;
        bottom:-120px;
        right:-80px;
    }

}
