/* mobile-fixes.css - CLEANED & CONSOLIDATED VERSION */

/* ===== GLOBAL RESETS & BASE STYLES ===== */
html, body {
    overflow-x: hidden !important;
    position: relative !important;
    width: 100% !important;
}

@media (max-width: 768px) {
    * {
        -webkit-tap-highlight-color: transparent;
        box-sizing: border-box !important;
    }

    

    a, .btn, .btn-card, .nav-menu a, .footer a {
        text-decoration: none !important;
        border-bottom: none !important;
        outline: none !important;
    }

    a::after, a::before, .btn::after, .btn::before, .nav-menu a::after, .nav-menu a::before {
        display: none !important;
        content: none !important;
    }

    /* Animation for menu items */
    @keyframes bubblePop {
        0% { transform: scale(1); }
        50% { transform: scale(1.02); }
        100% { transform: scale(1); }
    }
}

/* ===== PREMIUM MOBILE NAVIGATION ===== */
@media (max-width: 768px) {
    /* Navbar Container */
    .navbar {
        padding: 0.8rem 0 !important;
        background: #ffffff !important;
        box-shadow: 0 2px 10px rgba(0,0,0,0.1) !important;
        width: 100% !important;
        transition: none !important; /* Prevent layout shift delay */
    }

    .logo { margin: 0 !important; float: none !important; }     .logo {
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
    }
    .nav-container {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        width: 100% !important;
        padding: 0 15px !important;
    }

    /* Floating Card Menu (Matches Mawasim Taibah Style) */
    .nav-menu {
        background: #ffffff !important;
        padding: 15px 0 20px 0 !important;
        position: absolute !important;
        top: calc(100% + 15px) !important;
        left: 0 !important;
        width: 100% !important;
        height: auto !important;
        max-height: 80vh !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-start !important;
        transition: opacity 0.3s ease, visibility 0.3s ease !important;
        z-index: 1002 !important;
        overflow-y: auto !important;
        display: none !important;
        border-radius: 25px !important;
        box-shadow: 0 15px 40px rgba(0,0,0,0.15) !important;
        border-bottom: none !important;
        opacity: 0;
        visibility: hidden;
    }

    .nav-menu.active {
        display: flex !important;
        opacity: 1;
        visibility: visible;
    }

    /* Remove Menu Header */
    .nav-menu::before {
        display: none !important;
    }

    .nav-menu li {
        width: 100% !important;
        margin: 0 !important;
        text-align: left !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
    }

    /* Menu Links (Pill Shaped Bordered Cards) */
    .nav-menu a {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important; /* Left align text */
        padding: 1rem 2rem !important; 
        margin: 0.35rem 1.5rem !important;
        color: #000000 !important;
        font-weight: 700 !important;
        font-size: 0.8rem !important;
        letter-spacing: 1px !important;
        transition: all 0.2s ease !important;
        border-radius: 30px !important;
        border: 1px solid #eaeaea !important;
        background: #ffffff !important;
        text-transform: uppercase !important;
        width: calc(100% - 3rem) !important;
        box-shadow: 0 2px 8px rgba(0,0,0,0.02) !important;
    }

    /* Hover & Active State */
    .nav-menu a.active,
    .nav-menu a:hover {
        border-color: #0054a6 !important;
        color: #0054a6 !important;
        background: #fbfbfb !important;
        padding-left: 2rem !important; /* Keep same padding */
    }

    /* Dropdown Toggle Specifics */
    .nav-menu li.dropdown .dropdown-toggle {
        justify-content: space-between !important; /* Arrow on right, text on left */
        color: #000000 !important; /* Force black text so it's visible */
    }

    .nav-menu li.dropdown.active .dropdown-toggle {
        color: #0054a6 !important; /* Gold text when open */
        border-color: #0054a6 !important;
    }

    .nav-menu li.dropdown .dropdown-toggle i {
        font-size: 0.9rem !important;
        transition: transform 0.3s ease !important;
    }

    .nav-menu li.dropdown.active .dropdown-toggle i {
        transform: rotate(180deg) !important;
    }

    /* Dropdown Parent Styling */
    .nav-menu li.dropdown {
        position: relative !important;
        width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
    }

    /* Dropdown Menu Box */
    .nav-menu li.dropdown.active .dropdown-menu {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        position: static !important;
        background: transparent !important;
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
        box-shadow: none !important;
        transform: none !important;
        left: 0 !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    .nav-menu li.dropdown.active .dropdown-menu li {
        width: 100% !important;
        display: flex !important;
        justify-content: flex-start !important; /* Left align */
    }

    /* Dropdown Links - Sub Bubbles */
    .nav-menu li.dropdown.active .dropdown-menu li a {
        padding: 0.7rem 2rem !important; 
        margin: 0.3rem 1.5rem 0.3rem 2.5rem !important; /* Indented bubbles */
        display: flex !important;
        justify-content: flex-start !important; /* Left align text */
        align-items: center !important;
        font-size: 0.85rem !important;
        font-weight: 600 !important;
        color: #444444 !important;
        background: #ffffff !important;
        border-radius: 30px !important;
        border: 1px solid #f0f0f0 !important;
        text-transform: capitalize !important;
        width: calc(100% - 4rem) !important;
    }

    /* Active & Hover States */
    .nav-menu li.dropdown.active .dropdown-menu li a:hover {
        background: #fbfbfb !important;
        color: #0054a6 !important;
        border-color: #0054a6 !important;
        padding-left: 2.5rem !important; /* Slight shift to right on hover */
    }
}

/* ===== PREMIUM HAMBURGER BUTTON ===== */
@media (max-width: 768px) {
    .hamburger {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        gap: 6px !important;
        background: #000000 !important;
        padding: 8px 16px !important;
        border-radius: 50px !important;
        z-index: 1003 !important;
        border: 2px solid transparent !important;
        transition: background 0.3s ease, border-color 0.3s ease !important;
        margin-left: auto !important; /* Pushes to the right */
    }

    .hamburger::before {
        display: none !important;
        content: "" !important;
    }

    .hamburger-lines {
        display: flex !important;
        flex-direction: column !important;
        gap: 4px !important;
        width: 20px !important;
    }

    .hamburger-lines span {
        width: 100% !important;
        height: 2px !important;
        background: #ffffff !important;
        border-radius: 2px !important;
        transition: all 0.3s ease !important;
    }

    /* Active State (Gold background) */
    .hamburger.active {
        background: #0054a6 !important;
        border-color: #000000 !important;
    }

    .hamburger.active::before {
        content: "CLOSE" !important;
        color: #000000 !important;
    }

    .hamburger.active .hamburger-lines span {
        background: #000000 !important;
    }
}

/* ===== LAYOUT & COMPONENT FIXES ===== */
    /* Ensure all sections stay within screen bounds */
    section, .hero, .container, .nav-container {
        max-width: 100vw !important;
        overflow-x: hidden !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    
    .navbar {
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
    }
@media (max-width: 768px) {
    /* Grid & Cards */
    .services-grid, .services-grid-8, .aluminum-cards-grid, .services-mini-grid, .info-grid, .testimonials-grid, .benefits-grid {
        grid-template-columns: 1fr !important;
        gap: 1.5rem !important;
        width: 100% !important;
        padding: 0 15px !important;
    }

    .service-card, .info-card, .benefit-item, .testimonial-card {
        width: 100% !important;
        max-width: 100% !important;
        text-align: left !important;
    }

    /* Alignment */
    .footer { text-align: left !important; }
    .footer-content { grid-template-columns: 1fr !important; gap: 2.5rem !important; }
    .footer-section { align-items: flex-start !important; }
    .social-links { justify-content: flex-start !important; }
    .contact-info li { justify-content: flex-start !important; text-align: left !important; }

    /* Hero Buttons */
    .hero-buttons {
        flex-direction: column !important;
        width: 100% !important;
    }
    .hero-buttons .btn {
        width: 100% !important;
        justify-content: center !important;
    }
}

/* ===== FAQ ACCORDION ===== */
@media (max-width: 768px) {
    .faq-question {
        padding: 15px 20px !important;
        font-size: 1rem !important;
    }
    .faq-answer {
        padding: 0 20px !important;
    }
    .faq-item.active .faq-answer {
        padding: 15px 20px !important;
    }
}

/* ===== 3D CARDS MOBILE FIX ===== */
@media (max-width: 768px) {
    .service-card-3d {
        height: 380px !important;
    }
    .card-3d-front img {
        height: 200px !important;
    }
}
/* Social Media Brand Colors */
.facebook { background: #1877F2 !important; color: #ffffff !important; }
.instagram { background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%,#d6249f 60%,#285AEB 90%) !important; color: #ffffff !important; }
.social-links a { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; transition: 0.3s; text-decoration: none; }
.social-links a:hover { transform: translateY(-3px); opacity: 0.8; }
/* CTA Button Styles */
.btn-whatsapp { background: #25D366 !important; color: #ffffff !important; border: none !important; }
.btn-whatsapp:hover { background: #20b358 !important; transform: translateY(-3px); box-shadow: 0 10px 20px rgba(37, 211, 102, 0.3); }
.btn-call { background: transparent !important; color: #ffffff !important; border: 2px solid #ffffff !important; }
.btn-call:hover { background: #ffffff !important; color: #000000 !important; transform: translateY(-3px); }
.btn-call:focus, .btn-call:active { color: #ffffff !important; background: transparent !important; outline: none; box-shadow: none !important; }
.btn-call:hover:active { background: rgba(255, 255, 255, 0.9) !important; color: #000000 !important; }
.cta-buttons { display: flex; gap: 15px; justify-content: center; flex-wrap: wrap; margin-top: 2rem; }
@media (max-width: 768px) { .cta-buttons { flex-direction: column; align-items: center; } .cta-buttons .btn { width: 100%; max-width: 300px; } }
/* ===== GLOBAL FIXES FOR SOCIAL & CTA ===== */
.facebook { background: #1877F2 !important; color: #ffffff !important; display: inline-flex !important; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; transition: 0.3s; text-decoration: none; }
.instagram { background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%,#d6249f 60%,#285AEB 90%) !important; color: #ffffff !important; display: inline-flex !important; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; transition: 0.3s; text-decoration: none; }
.facebook:hover, .instagram:hover { transform: translateY(-3px); opacity: 0.8; color: #ffffff !important; }

.btn-whatsapp { background: #25D366 !important; color: #ffffff !important; border: none !important; padding: 0.9rem 2rem; border-radius: 50px; font-weight: 600; text-decoration: none; display: inline-flex; align-items: center; gap: 10px; transition: 0.3s; }
.btn-whatsapp:hover { background: #20b358 !important; transform: translateY(-3px); box-shadow: 0 10px 20px rgba(37, 211, 102, 0.3); color: #ffffff !important; }

.btn-call { background: transparent !important; color: #ffffff !important; border: 2px solid #ffffff !important; padding: 0.9rem 2rem; border-radius: 50px; font-weight: 600; text-decoration: none; display: inline-flex; align-items: center; gap: 10px; transition: 0.3s; }
.btn-call:hover { background: #ffffff !important; color: #000000 !important; transform: translateY(-3px); }
.btn-call:focus, .btn-call:active { color: #ffffff !important; background: transparent !important; outline: none !important; box-shadow: none !important; }
.btn-call:hover:active { background: rgba(255, 255, 255, 0.9) !important; color: #000000 !important; }

.cta-buttons { display: flex; gap: 15px; justify-content: center; flex-wrap: wrap; margin-top: 2rem; width: 100%; }
@media (max-width: 768px) { 
    .cta-buttons { flex-direction: column !important; align-items: center !important; } 
    .cta-buttons .btn { width: 100% !important; max-width: 300px; justify-content: center; } 
}

/* ===== FINAL OVERRIDE FOR CTA BUTTONS (Fixing overlapping/circle issues) ===== */
.cta-section .btn-whatsapp, 
.cta-section .btn-call {
    width: auto !important;
    height: auto !important;
    min-width: 180px !important;
    padding: 12px 30px !important;
    border-radius: 50px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: nowrap !important;
    font-size: 1.1rem !important;
    line-height: 1.2 !important;
    text-transform: none !important;
    margin: 5px !important;
}

.cta-section .btn-call i, 
.cta-section .btn-whatsapp i {
    margin-right: 10px !important;
    font-size: 1.2rem !important;
}

@media (max-width: 768px) {
    .cta-section .btn-whatsapp, 
    .cta-section .btn-call {
        width: 100% !important;
        max-width: 300px !important;
        margin: 10px 0 !important;
    }
}

/* ===== EMERGENCY FIX: DO NOT REMOVE ===== */
/* This fixes the conflict where Call Now button became a small circle */
.cta-section .cta-buttons .btn-call, 
.cta-section .cta-buttons .btn-whatsapp {
    width: auto !important;
    height: auto !important;
    min-width: 200px !important;
    max-width: none !important;
    aspect-ratio: auto !important;
    border-radius: 50px !important;
    padding: 15px 35px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    font-size: 1.1rem !important;
    line-height: 1 !important;
    box-sizing: border-box !important;
}

.cta-section .cta-buttons .btn-call i, 
.cta-section .cta-buttons .btn-whatsapp i {
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    font-size: 1.2rem !important;
}

@media (max-width: 768px) {
    .cta-section .cta-buttons .btn-call, 
    .cta-section .cta-buttons .btn-whatsapp {
        width: 100% !important;
        max-width: 320px !important;
        min-width: unset !important;
    }
}

/* ===== SERVICES SUB-NAVBAR (Desktop Mega Menu) ===== */
.services-sub-navbar {
    position: fixed;
    top: 70px; /* Adjust based on navbar height */
    left: 0;
    width: 100%;
    background: #ffffff;
    box-shadow: 0 4px 15px rgba(0,0,0,0.08);
    z-index: 1500;
    display: none;
    padding: 15px 0;
    border-bottom: 2px solid #f0f0f0;
    animation: navSlideDown 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.services-sub-navbar.active {
    display: block;
}

.sub-nav-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 5%;
    display: flex;
    justify-content: center;
    gap: 40px;
}

.sub-nav-container a {
    text-decoration: none;
    color: #000000;
    font-weight: 600;
    font-size: 0.85rem;
    display: flex;
    align-items: center;
    gap: 10px;
    transition: all 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 8px 15px;
    border-radius: 8px;
}

.sub-nav-container a i {
    color: #0054a6; /* Gold accent */
    font-size: 1rem;
}

.sub-nav-container a:hover {
    background: #f8f8f8;
    color: #0054a6;
    transform: translateY(-2px);
}

@keyframes navSlideDown {
    from { transform: translateY(-100%); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}

/* Ensure main navbar stays on top */
.navbar {
    z-index: 2001 !important;
}

@media (max-width: 1024px) {
    .services-sub-navbar {
        display: none !important; /* Hide sub-nav on mobile, use mobile menu instead */
    }
}

/* Disable old dropdown on desktop to use new sub-navbar */
@media (min-width: 1025px) {
    .dropdown-menu {
        display: none !important;
    }
    .dropdown-toggle i {
        transition: transform 0.3s ease;
    }
    .dropdown-toggle.active i {
        transform: rotate(180deg);
    }
}

/* ===== PREMIUM DARK SUB-NAVBAR ENHANCEMENT ===== */
.services-sub-navbar {
    background: #0a0a0a !important; /* Deep dark background */
    border-bottom: 2px solid #0054a6 !important; /* Gold bottom accent */
    box-shadow: 0 10px 30px rgba(0,0,0,0.3) !important;
}

.sub-nav-container a {
    color: #ffffff !important; /* White text for contrast */
    font-size: 0.8rem !important;
    padding: 10px 20px !important;
}

.sub-nav-container a i {
    color: #0054a6 !important; /* Ensure icons stay gold */
}

.sub-nav-container a:hover {
    background: #1a1a1a !important;
    color: #0054a6 !important;
    border-radius: 4px !important;
}

/* Adjust top position if needed - ensuring it fits perfectly */
.services-sub-navbar {
    top: 68px !important; 
}

/* Navbar Background Fix */
.navbar {
    background: #ffffff !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1) !important;
}

.nav-menu a {
    color: #000000 !important;
}

.nav-menu a:hover, .nav-menu a.active {
    color: #0054a6 !important;
}

/* Sub-navbar alignment fix */
.services-sub-navbar {
    top: 70px !important;
}

.floating-buttons a { pointer-events: auto; }

/* ===== HERO & SECTION TITLE MOBILE RESPONSIVENESS FIX ===== */
@media (max-width: 768px) {
    .hero-content h1, .section-header h2 {
        line-height: 1.4 !important;
    }
    .section-header p {
        line-height: 1.5 !important;
        margin-top: 0.5rem !important;
        text-align: left !important;
    }
}

@media (max-width: 480px) {
    .hero-content h1 {
        font-size: 1.8rem !important;
        line-height: 1.4 !important;
    }
    .section-header h2 {
        font-size: 1.7rem !important;
        line-height: 1.4 !important;
    }
    .section-header p {
        font-size: 1rem !important;
        line-height: 1.5 !important;
        text-align: left !important;
    }
}

/* ===== GALLERY IMAGES MOBILE FIX ===== */
@media (max-width: 768px) {
    .gallery-grid {
        grid-template-columns: 1fr !important; /* Single column for better visibility */
        gap: 1.5rem !important;
        padding: 0 15px !important;
    }
    
    .gallery-item {
        width: 100% !important;
        aspect-ratio: 16 / 9 !important; /* Premium landscape look */
        height: auto !important;
    }
    
    .gallery-item img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: center !important;
        display: block !important;
    }
    
    .gallery-overlay {
        opacity: 1 !important; /* Always show text on mobile */
        background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0) 100%) !important;
        align-items: flex-end !important;
        padding: 20px !important;
    }
    
    .overlay-text {
        text-align: left !important;
        width: 100% !important;
    }
    
    .overlay-text h4 {
        font-size: 1.4rem !important;
        margin-bottom: 5px !important;
        white-space: normal !important; /* Prevent text cut-off */
    }
    
    .overlay-text span {
        font-size: 1rem !important;
    }
    
    .gallery-overlay i {
        display: none !important; /* Hide magnifying glass on mobile */
    }
}

/* ===== GLOBAL SECTION SPACING FIX FOR MOBILE ===== */
@media (max-width: 768px) {
    /* Reduce massive white space between sections */
    section, 
    .image-gallery, 
    .service-highlight-section, 
    .services-overview, 
    .why-choose, 
    .cta-section {
        padding-top: 40px !important;
        padding-bottom: 40px !important;
    }
    
    /* Ensure the gap inside grids is also reasonable on mobile */
    .highlight-container, 
    .benefits-grid, 
    .services-grid {
        gap: 2rem !important;
    }
}

/* ===== FOOTER MOBILE ALIGNMENT FIX ===== */
@media (max-width: 768px) {
    .footer-content {
        text-align: left !important;
    }
    
    .footer-section h3 {
        text-align: left !important;
    }
    
    .footer-section h3::after {
        left: 0 !important;
        transform: none !important;
    }
    
    .contact-info li {
        justify-content: flex-start !important;
        text-align: left !important;
    }
    
    .footer-logo {
        margin: 0 auto 1.5rem 0 !important; /* Align logo to left */
    }
}

/* ===== FOOTER TABLET FIX ===== */
@media (max-width: 1024px) and (min-width: 769px) {
    .footer-content {
        grid-template-columns: 1fr 1fr !important; /* 2 columns on tablet */
    }
}

/* ===== FIX HERO PADDING FOR MOBILE NAVBAR OVERLAP ===== */
@media (max-width: 1024px) {
    .hero, .page-hero, .projects-hero {
        padding-top: 130px !important; /* Adjusted to balance navbar clearance and empty space */
    }
}



/* Fix Highlight Section Ordering on Mobile */
@media (max-width: 992px) {
    .highlight-content { display: contents !important; }
    .highlight-content h2 { order: -2 !important; margin-bottom: 0 !important; }
    .highlight-image { order: -1 !important; margin-bottom: 1rem !important; }
    .highlight-content p { order: 1 !important; margin-bottom: 0 !important; }
    .highlight-content .highlight-features { order: 2 !important; margin-bottom: 0 !important; }
    .highlight-content .btn { order: 3 !important; }
    .highlight-container { gap: 1.5rem !important; display: flex !important; flex-direction: column !important; }
}

/* Mobile Navbar Floating Circle/Pill Design */
@media (max-width: 1024px) {
    .navbar {
        width: calc(100% - 20px) !important;
        margin: 10px auto !important;
        border-radius: 40px !important;
        left: 0;
        right: 0;
    }
}

/* Premium Hero Design (Global) */
.page-hero.glass-hero, .hero.glass-hero, .projects-hero.glass-hero {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 150px 5% 50px;
    max-width: 100%;
    position: relative;
    z-index: 1;
    margin-top: 0 !important;
    border-bottom-left-radius: 40px;
    border-bottom-right-radius: 40px;
    overflow: hidden;
}
.glass-hero::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: -1;
}
.glass-hero .hero-content, .glass-hero .container {
    background: transparent;
    border-radius: 20px;
    padding: 3rem 2rem;
    text-align: left;
    max-width: 900px;
    width: 100%;
    margin: 0 auto;
}
.glass-hero h1 {
    font-size: clamp(1.5rem, 5vw, 3.5rem);
    margin-bottom: 1.5rem;
    text-transform: uppercase;
    background: linear-gradient(135deg, var(--primary-color, #0054a6), #fff, var(--primary-color, #0054a6));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    display: inline-block;
    line-height: 1.2;
    font-weight: 800;
}
.glass-hero p {
    color: #f0f0f0 !important;
    font-size: 1.1rem;
    margin-bottom: 2.5rem !important;
    max-width: 850px;
}
.glass-hero-btns {
    display: flex;
    gap: 1.5rem;
    justify-content: flex-start;
    flex-wrap: wrap;
}
@media (max-width: 768px) {
    .glass-hero-btns {
        flex-direction: column;
        width: 100%;
    }
    .glass-hero-btns .btn {
        width: 100%;
        justify-content: center;
    }
}
.glass-hero-btns .btn {
    border-radius: 30px;
    padding: 8px 20px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    min-width: 160px;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}
.glass-hero-btns .btn-primary {
    background: linear-gradient(135deg, var(--primary-color, #0054a6), #e2231a);
    color: #fff;
    border: none;
}
.glass-hero-btns .btn-secondary {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.5);
}
.glass-hero .hero-image { display: none !important; }


.glass-hero h1 span { display: inline !important; }


@media (max-width: 768px) {

/* Footer Links Bubble Style */
.footer-section ul:not(.contact-info) {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.footer-section ul:not(.contact-info) li {
    margin-bottom: 0 !important;
}
.footer-section ul:not(.contact-info) li a {
    background: #ffffff !important;
    color: #000000 !important;
    border-radius: 30px;
    padding: 8px 20px !important;
    display: inline-block;
    font-weight: 600;
    font-size: 0.9rem !important;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    transition: all 0.3s ease;
    max-width: 100%;
    box-sizing: border-box;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.footer-section ul:not(.contact-info) li a:hover {
    padding-left: 20px !important;
    background: #f0f0f0 !important;
    transform: translateY(-2px);
}
.footer-section ul:not(.contact-info) li a::before {
    display: none !important;
}


/* Contact Info Bubble Style */
.contact-info li {
    background: #ffffff !important;
    color: #000000 !important;
    border-radius: 25px;
    padding: 12px 15px !important;
    margin-bottom: 10px !important;
    display: flex;
    align-items: center;
    justify-content: flex-start !important;
    font-weight: 600;
    font-size: clamp(0.6rem, 2.8vw, 0.9rem) !important;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    transition: all 0.3s ease;
    max-width: 100%;
    box-sizing: border-box;
}
.contact-info li:hover {
    transform: translateY(-2px);
}
.contact-info li a {
    color: #000000 !important;
    font-weight: 600;
}
.contact-info li i {
    color: #0054a6 !important;
    font-size: 1.1rem;
    min-width: 25px;
}



}

/* Fix grid blowout causing overflow */
.footer-section {
    min-width: 0;
    max-width: 100%;
}
.footer-section ul {
    min-width: 0;
    max-width: 100%;
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}


/* Features grid mobile 1 column */
@media (max-width: 480px) {
    .features-grid {
        grid-template-columns: 1fr !important;
    }
}


/* Footer Left Alignment Fix */
@media (max-width: 768px) {
    .footer-content, .footer-section {
        text-align: left !important;
        align-items: flex-start !important;
    }
    .social-links {
        justify-content: flex-start !important;
    }
    .footer-section h3 {
        text-align: left !important;
    }
}


/* CTA Left Alignment Fix */
@media (max-width: 768px) {
    .cta-section, .cta-content, .cta-content p, .cta-content h2 {
        text-align: left !important;
    }
}


/* Disable 3D flip effect */
.service-card-3d:hover .card-3d-inner,
.service-card-3d:focus .card-3d-inner,
.service-card-3d:active .card-3d-inner {
    transform: none !important;
}


/* Mobile Blur and Anti-aliasing Fix */
html, body {
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    text-rendering: optimizeLegibility !important;
    overflow-x: hidden !important;
    width: 100%;
}


/* Fix 3D Card Blur Issue & Hide Back Side */
.card-3d-inner, .card-3d-front {
    backface-visibility: visible !important;
    -webkit-backface-visibility: visible !important;
    transform-style: flat !important;
}
.card-3d-back {
    display: none !important;
}


/* Left align service cards */
.card-3d-inner, .card-3d-front, .card-3d-front h3, .card-3d-front p {
    text-align: left !important;
}


/* Universal Mobile HD Fixes */
* {
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}
html, body {
    -webkit-text-size-adjust: 100% !important;
}
img {
    image-rendering: -webkit-optimize-contrast !important;
}
@media (max-width: 768px) {
    .glass-hero h1 {
        background: none !important;
        -webkit-text-fill-color: #ffffff !important;
        color: #ffffff !important;
        text-shadow: 2px 2px 5px rgba(0,0,0,0.8);
    }
    .glass-hero h1 span {
        -webkit-text-fill-color: var(--primary-color, #0054a6) !important;
        color: var(--primary-color, #0054a6) !important;
    }
}


/* Fix Learn More Button Border Clipping */
.btn-card {
    padding: 12px 25px !important;
    line-height: 1.5 !important;
    box-sizing: border-box !important;
    border: 2px solid #000 !important;
    border-radius: 50px !important;
    height: auto !important;
    min-height: 48px !important;
    margin-bottom: 5px !important; /* extra space at bottom */
}


/* Fully Disable 3D Context to fix iOS Blur */
.service-card-3d, .service-card {
    perspective: none !important;
    -webkit-perspective: none !important;
    transform-style: flat !important;
    -webkit-transform-style: flat !important;
}
.card-3d-inner, .card-3d-front {
    transform: none !important;
}


/* Fix btn border clipping */
.btn { box-sizing: border-box !important; height: auto !important; min-height: 48px; display: inline-flex; align-items: center; justify-content: center; }


/* ===== PERFORMANCE OPTIMIZATIONS ===== */
/* Reduce layout shifts and improve rendering speed */
img {
    image-rendering: auto;
}

/* Ensure smooth rendering on all screens */
*, *::before, *::after {
    box-sizing: border-box;
}

/* Reduce paint cost for animations */
.service-card, .review-card, .project-card, .value-card, .feature-item {
    will-change: auto;
}

/* ===== PREVENT BLANK PAGE FLASH ===== */
body {
    opacity: 1 !important;
    transition: none !important;
    visibility: visible !important;
}

/* ===== AOS FAILSAFE - Ensure all elements are visible even if AOS CDN fails ===== */
[data-aos] {
    opacity: 1 !important;
    visibility: visible !important;
}
[data-aos].aos-animate {
    opacity: 1 !important;
}






/* Global Hero Slider Styles */
.slider-hero {
    position: relative;
    background: none !important;
    overflow: hidden;
}
.hero-slider {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    z-index: -2;
}
.hero-slider .slide {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background-size: cover;
    background-position: center;
    opacity: 0;
    transition: opacity 1.5s ease-in-out, transform 8s linear;
    transform: scale(1);
}
.hero-slider .slide.active {
    opacity: 1;
    transform: scale(1.05);
}
.hero-overlay {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0, 0, 0, 0.6);
    z-index: -1;
}



/* 3D Bubble Shape for Headings */
h1, h2, h3, .section-header h2 {
    display: inline-block;
    padding: 8px 20px;
    background: rgba(255, 255, 255, 0.85); /* Semi-transparent white */
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-radius: 50px !important; /* Bubble shape */
    border-top: 2px solid rgba(255, 255, 255, 1);
    border-left: 2px solid rgba(255, 255, 255, 1);
    border-bottom: 2px solid rgba(0, 0, 0, 0.1);
    border-right: 2px solid rgba(0, 0, 0, 0.1);
    box-shadow: 
        inset 3px 3px 6px rgba(255, 255, 255, 0.8),
        inset -3px -3px 6px rgba(0, 0, 0, 0.1),
        5px 5px 15px rgba(0, 0, 0, 0.15);
    margin-bottom: 20px;
    text-shadow: none !important; /* Remove any lingering text shadow */
}

/* Hero H1 (Company Title) - White Glass Bubble so Blue/Red text is visible */
.hero-content h1, .page-hero h1 {
    background: rgba(255, 255, 255, 0.95) !important;
    border-top: 2px solid rgba(255, 255, 255, 1) !important;
    border-left: 2px solid rgba(255, 255, 255, 1) !important;
    border-bottom: 2px solid rgba(0, 0, 0, 0.2) !important;
    border-right: 2px solid rgba(0, 0, 0, 0.2) !important;
    box-shadow: 
        inset 3px 3px 6px rgba(255, 255, 255, 1),
        inset -3px -3px 6px rgba(0, 0, 0, 0.1),
        5px 5px 20px rgba(0, 0, 0, 0.4);
    color: inherit !important; /* Allow span colors to show */
    -webkit-text-fill-color: initial !important; /* FIX INVISIBLE TEXT */
    -webkit-background-clip: border-box !important; /* FIX INVISIBLE TEXT */
    padding: 8px 25px !important;
    border-radius: 40px !important;
}

/* Hero H2 - Dark Glass Bubble so White text is visible */
.hero-content h2, .page-hero h2 {
    background: rgba(0, 0, 0, 0.6) !important;
    border-top: 2px solid rgba(255, 255, 255, 0.2) !important;
    border-left: 2px solid rgba(255, 255, 255, 0.2) !important;
    border-bottom: 2px solid rgba(0, 0, 0, 0.5) !important;
    border-right: 2px solid rgba(0, 0, 0, 0.5) !important;
    box-shadow: 
        inset 2px 2px 5px rgba(255, 255, 255, 0.1),
        inset -2px -2px 5px rgba(0, 0, 0, 0.4),
        5px 5px 15px rgba(0, 0, 0, 0.5);
    color: white !important;
    padding: 10px 30px !important;
    border-radius: 40px !important;
}




/* ---- NEW FIXES FOR TITLE AND BUTTON SIZES ---- */
.hero-content h1, .page-hero h1 {
    font-size: clamp(1.5rem, 3vw, 2.2rem) !important;
    padding: 10px 25px !important;
    border-radius: 30px !important;
    display: inline-block !important;
    max-width: 95% !important;
}

.hero-content p, .page-hero p {
    color: #ffffff !important;
    text-shadow: 2px 2px 5px rgba(0,0,0,0.9), -1px -1px 3px rgba(0,0,0,0.5) !important;
}

.wood-hero-btns, .aluminum-hero-btns, .hero-content .cta-buttons {
    display: flex !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 15px !important;
}

.hero-content .btn, .wood-hero-btns .btn, .aluminum-hero-btns .btn {
    width: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 10px 25px !important;
    margin: 0 !important;
    border-radius: 50px !important;
}

/* ---- Labor and Theka Bubble ---- */
.labor-theka-bubble {
    display: inline-block;
    background: rgba(255, 255, 255, 0.95) !important;
    color: #1a1a1a !important;
    font-weight: 500 !important; /* Thinner / bareek */
    font-size: 0.95rem !important;
    padding: 6px 15px !important;
    border-radius: 30px !important;
    border-top: 1px solid rgba(255, 255, 255, 1);
    border-left: 1px solid rgba(255, 255, 255, 1);
    border-bottom: 1px solid rgba(0, 0, 0, 0.2);
    border-right: 1px solid rgba(0, 0, 0, 0.2);
    box-shadow: 
        inset 2px 2px 5px rgba(255, 255, 255, 1),
        inset -2px -2px 5px rgba(0, 0, 0, 0.05),
        2px 2px 10px rgba(0, 0, 0, 0.15);
    margin: 10px 0;
    text-shadow: none !important;
}
.section-header .labor-theka-bubble {
    margin-top: 15px;
}

/* ===== NAVBAR BUBBLE BUTTONS ===== */
.nav-menu {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    list-style: none !important;
    flex-wrap: nowrap !important;
}

.nav-menu > li > a,
.nav-menu > li > .dropdown-toggle {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    padding: 6px 16px !important;
    border-radius: 50px !important;
    font-size: 0.88rem !important;
    font-weight: 600 !important;
    color: #333 !important;
    text-decoration: none !important;
    background: rgba(0, 84, 166, 0.07) !important;
    border: 1.5px solid rgba(0, 84, 166, 0.15) !important;
    transition: all 0.25s ease !important;
    white-space: nowrap !important;
    position: relative !important;
}

.nav-menu > li > a:hover,
.nav-menu > li > .dropdown-toggle:hover,
.nav-menu > li > a.active {
    background: linear-gradient(135deg, #0054a6, #003f80) !important;
    color: #ffffff !important;
    border-color: #0054a6 !important;
    box-shadow: 0 4px 12px rgba(0, 84, 166, 0.3) !important;
    transform: translateY(-1px) !important;
}

/* Remove the old underline animation */
.nav-menu a::after {
    display: none !important;
}

/* Mobile nav - keep full width */
@media (max-width: 768px) {
    .nav-menu > li > a,
    .nav-menu > li > .dropdown-toggle {
        padding: 10px 20px !important;
        font-size: 1rem !important;
        border-radius: 12px !important;
        width: 100% !important;
        justify-content: flex-start !important;
    }
}

/* ===== 3D WHATSAPP & CALL BUTTONS ===== */

/* WhatsApp Button 3D */
.btn-whatsapp,
a[href*="wa.me"],
.float-wa {
    background: linear-gradient(145deg, #2ecc71, #25D366, #1da851) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 50px !important;
    box-shadow:
        0 6px 0 #158f45,
        0 8px 15px rgba(37, 211, 102, 0.45),
        inset 0 1px 0 rgba(255,255,255,0.3) !important;
    transform: translateY(0) !important;
    transition: all 0.15s ease !important;
    font-weight: 700 !important;
    text-shadow: 0 1px 2px rgba(0,0,0,0.2) !important;
    position: relative !important;
}

.btn-whatsapp:hover,
a[href*="wa.me"]:hover {
    transform: translateY(3px) !important;
    box-shadow:
        0 3px 0 #158f45,
        0 5px 10px rgba(37, 211, 102, 0.4),
        inset 0 1px 0 rgba(255,255,255,0.3) !important;
}

.btn-whatsapp:active,
a[href*="wa.me"]:active {
    transform: translateY(6px) !important;
    box-shadow:
        0 0px 0 #158f45,
        0 2px 6px rgba(37, 211, 102, 0.3) !important;
}

/* Call Button 3D */
.btn-call,
.float-call,
a[href^="tel:"].btn,
a[href^="tel:"].btn-secondary {
    background: linear-gradient(145deg, #3498db, #0054a6, #003f80) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 50px !important;
    box-shadow:
        0 6px 0 #002d5c,
        0 8px 15px rgba(0, 84, 166, 0.4),
        inset 0 1px 0 rgba(255,255,255,0.2) !important;
    transform: translateY(0) !important;
    transition: all 0.15s ease !important;
    font-weight: 700 !important;
    text-shadow: 0 1px 2px rgba(0,0,0,0.3) !important;
}

a[href^="tel:"].btn-secondary {
    background: linear-gradient(145deg, #3498db, #0054a6, #003f80) !important;
}

.btn-call:hover,
.float-call:hover,
a[href^="tel:"].btn:hover {
    transform: translateY(3px) !important;
    box-shadow:
        0 3px 0 #002d5c,
        0 5px 10px rgba(0, 84, 166, 0.35),
        inset 0 1px 0 rgba(255,255,255,0.2) !important;
}

.btn-call:active,
a[href^="tel:"].btn:active {
    transform: translateY(6px) !important;
    box-shadow: 0 0px 0 #002d5c !important;
}

/* Float buttons (bottom corners) 3D */
.float-wa {
    border-radius: 50% !important;
}
.float-call {
    border-radius: 50% !important;
    background: linear-gradient(145deg, #3498db, #0054a6) !important;
    box-shadow:
        0 6px 0 #002d5c,
        0 8px 15px rgba(0,84,166,0.4),
        inset 0 1px 0 rgba(255,255,255,0.2) !important;
}
