/* Arc-En-Ciel Maintenance - Global Mobile Optimizations */

@media (max-width: 1024px) {
    /* Global Mobile Reset & Overflow Fix */
    html, body {
        overflow-x: hidden !important;
        position: relative !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        max-width: 100vw !important;
    }

    /* Force all sections to stay within bounds and allow breakouts */
    .elementor-section, section, .campaign-section {
        width: 100% !important;
        max-width: 100vw !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        overflow: hidden !important;
    }

    /* Fix title wrapping in Campaigns section */
    .campaign-section .editorial-title {
        font-size: 1.75rem !important; 
        line-height: 1.2 !important;
        white-space: normal !important;
        text-align: center !important;
        display: block !important;
        width: 100% !important;
        margin-bottom: 2rem !important;
        word-break: normal !important;
    }

    .campaign-section .editorial-title br {
        display: none !important;
    }

    .campaign-section .editorial-title span {
        display: block !important;
        font-size: 1.5rem !important;
        margin-top: 0.5rem !important;
        opacity: 0.6;
    }

    /* Hamburger & Mobile Menu Visibility */
    #mobile-menu-toggle {
        display: flex !important;
    }

    #mobile-menu-overlay {
        display: flex !important;
    }

    /* Global Typography Fixes */
    h1, .h1 { font-size: 2.227rem !important; line-height: 1.1 !important; }
    h2, .h2 { font-size: 1.832rem !important; line-height: 1.1 !important; }
    h3, .h3 { font-size: 1.558rem !important; }
    
    /* Hamburger & Mobile Menu Core - Precise Transitions */
    .hamburger-bar {
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    }

    #mobile-menu-toggle.is-active .hamburger-bar:nth-child(1) {
        transform: translateY(7px) rotate(45deg) !important;
    }
    #mobile-menu-toggle.is-active .hamburger-bar:nth-child(2) {
        opacity: 0 !important;
        transform: scale(0) !important;
    }
    #mobile-menu-toggle.is-active .hamburger-bar:nth-child(3) {
        transform: translateY(-7px) rotate(-45deg) !important;
    }

    #mobile-menu-overlay.is-active {
        opacity: 1 !important;
        pointer-events: auto !important;
    }

    .mobile-menu-list {
        list-style: none;
        padding: 0;
        margin: 0;
    }

    .mobile-menu-list li a {
        color: white;
        font-family: 'Playfair Display', serif;
        font-size: 2.5rem;
        font-weight: 700;
        text-decoration: none;
        transition: color 0.3s ease;
    }

    .mobile-menu-list li a:hover,
    .mobile-menu-list li.current-menu-item a {
        color: #FF9900;
    }
    
    /* Manifesto Widget Adjustments */
    .manifesto-section {
        padding-top: 4rem !important;
        padding-bottom: 4rem !important;
    }
    .manifesto-title {
        font-size: 2.25rem !important;
        margin-bottom: 1.5rem !important;
    }
    .manifesto-subtitle {
        font-size: 1rem !important;
        margin-bottom: 3rem !important;
    }
    .stats-grid {
        gap: 1.5rem !important;
    }
    .stats-grid .p-8 {
        padding: 1.5rem !important;
    }
    .stat-number {
        font-size: 2.5rem !important;
    }

    /* Campaigns Widget Redesign V2 - "Elegant Card" */
    .campaign-section {
        padding-top: 6rem !important;
        padding-bottom: 6rem !important;
        overflow: hidden !important;
    }

    /* Hide Swiper Arrows on Mobile - Broad selector to avoid overflow */
    .swiper-button-prev, 
    .swiper-button-next,
    [class*="swiper-button-prev"], 
    [class*="swiper-button-next"] {
        display: none !important;
    }

    /* Swiper / Hero Logos */
    .radical-swiper-wrapper {
        margin-bottom: 4rem !important;
    }

    .premium-glass-card {
        aspect-ratio: 1/1 !important;
        width: 160px !important;
        height: 160px !important;
        margin: 0 auto;
        border-radius: 2rem !important;
        background: rgba(255, 255, 255, 0.04) !important;
        border: 1px solid rgba(255, 255, 255, 0.1) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        box-shadow: 0 20px 40px -10px rgba(0, 0, 0, 0.6) !important;
    }

    .client-logo-box {
        width: 100px !important;
        height: 100px !important;
        margin-bottom: 0 !important;
    }

    /* Hide name/meta inside the small cards on mobile to focus on logo */
    .premium-glass-card .client-name, 
    .premium-glass-card .client-meta {
        display: none !important;
    }

    /* Active Logo Glow */
    .swiper-slide-active .premium-glass-card {
        border-color: var(--accent-color, #ff9900) !important;
        background: rgba(var(--accent-rgb, 255, 153, 0), 0.05) !important;
        box-shadow: 0 0 30px rgba(var(--accent-rgb, 255, 153, 0), 0.15) !important;
    }

    /* Campaigns Panel - Full Width Breakout Strategy */
    .campaign-section,
    .elementor-section, /* All elementor sections */
    .elementor-column, /* All elementor columns */
    .elementor-widget-wrap, /* All elementor widget wraps */
    .elementor-widget-campaigns-widget, 
    .elementor-widget-campaigns-widget .elementor-widget-container {
        overflow: visible !important;
    }

    [id^="campaign-info-panel-"] {
        width: 100vw !important;
        position: relative !important;
        left: 50% !important;
        right: 50% !important;
        margin-left: -50vw !important;
        margin-right: -50vw !important;
        max-width: 100vw !important;
        z-index: 20; /* Keep z-index from original */
    }

    .radical-glass-backdrop {
        width: 100% !important;
        max-width: none !important;
        box-sizing: border-box !important; /* Keep from original */
        margin: 0 !important;
        padding: 2rem 1.5rem !important;
        border-radius: 0 !important; /* Full bleed on mobile */
        background: rgba(10, 10, 10, 0.95) !important; /* Keep from original */
        backdrop-filter: blur(80px) !important; /* Keep from original */
        -webkit-backdrop-filter: blur(80px) !important; /* Keep from original */
        border-left: none !important;
        border-right: none !important;
        border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
    }

    .radical-glass-backdrop h3 {
        font-size: 1.75rem !important;
        line-height: 1.2 !important;
        word-break: break-word !important;
    }

    .radical-glass-backdrop p {
        font-size: 1rem !important;
        line-height: 1.6 !important;
        opacity: 0.9 !important;
    }

    .radical-glass-backdrop .grid {
        display: flex !important;
        flex-direction: column !important;
        gap: 3.5rem !important;
        width: 100% !important;
        align-items: center !important;
        max-width: 100% !important;
    }

    .info-name {
        word-break: break-word !important;
        overflow-wrap: break-word !important;
        white-space: normal !important;
        width: 100% !important;
        text-align: center !important;
    }

    /* Client Info Header */
    .lg\:col-span-5 {
        border: none !important;
        padding: 0 !important;
        width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
    }

    .icon-sculpture {
        width: 5rem !important;
        height: 5rem !important;
        margin: 0 auto 2rem !important;
        background: rgba(255, 255, 255, 0.05) !important;
        border: 1px solid rgba(255, 255, 255, 0.15) !important;
        border-radius: 1.5rem !important;
    }

    .info-name {
        font-size: 2.5rem !important;
        font-weight: 900 !important;
        margin-bottom: 1rem !important;
        line-height: 1.1 !important;
        color: #ffffff !important;
        text-shadow: 0 4px 12px rgba(0,0,0,0.3);
    }

    .info-category {
        font-size: 11px !important;
        letter-spacing: 0.4em !important;
        opacity: 0.7 !important;
        font-weight: 800 !important;
    }

    /* Expertise Section */
    .lg\:col-span-7 {
        width: 100% !important;
    }

    .info-prestations {
        display: flex !important;
        flex-direction: column !important;
        gap: 1.25rem !important;
        width: 100% !important;
    }

    .stagger-item {
        background: rgba(255, 255, 255, 0.03) !important;
        border: 1px solid rgba(255, 255, 255, 0.05) !important;
        padding: 1.5rem !important;
        border-radius: 1.75rem !important;
        justify-content: center !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .stagger-item span {
        font-size: 14px !important;
        color: rgba(255, 255, 255, 0.9) !important;
        font-weight: 600 !important;
        letter-spacing: 0.02em !important;
    }

    .stagger-item .w-2 {
        width: 6px !important;
        height: 6px !important;
        margin-right: 0.75rem !important;
    }

    /* Tags/Badges */
    .editorial-badge {
        margin: 2rem auto !important;
        padding: 0.75rem 1.5rem !important;
        background: rgba(255, 255, 255, 0.05) !important;
        border: 1px solid rgba(255, 255, 255, 0.1) !important;
        border-radius: 1rem !important;
    }

    .editorial-badge span:first-child {
        font-size: 9px !important;
        opacity: 0.5 !important;
    }

    .editorial-badge .info-year {
        font-weight: 700 !important;
        color: #ffffff !important;
    }

    /* Small screens tweak */
    @media (max-width: 480px) {
        .editorial-title {
            font-size: 1.75rem !important;
        }
        .manifesto-title {
            font-size: 1.85rem !important;
        }
        .stat-number {
            font-size: 2rem !important;
        }
        .client-logo-box {
            width: 2.5rem !important;
            height: 2.5rem !important;
        }
    }
}
