/* ==========================================================================
   SCITW Global Layout & Component Stylesheet
   Consolidated External CSS - Fully Responsive (Mobile, Tablet, Desktop)
   ========================================================================== */

html, body {
            overflow-x: hidden !important;
            max-width: 100vw !important;
            width: 100% !important;
            margin: 0;
            padding: 0;
        }

        img, iframe, video, object, embed {
            max-width: 100% !important;
            height: auto;
        }

        .container, .container-fluid, section, header, footer, main {
            max-width: 100% !important;
            box-sizing: border-box;
        }

        /* Core Web Vitals Mobile CLS Layout Shift Prevention */
        .gallery-img, .card-img-top {
            content-visibility: auto;
            aspect-ratio: 16 / 9;
            object-fit: cover;
        }
        .hero-img, .svc-hero-img {
            content-visibility: auto;
            aspect-ratio: 4 / 3;
            object-fit: cover;
        }

/* ═══════════════════════════════════════════════════
           PREMIUM CORPORATE BLACK & RED THEME
        ═══════════════════════════════════════════════════ */
        :root{
            /* Rich corporate brand red */
            --red:#e31e24;
            --red-light:#ff3b40;
            --red-soft:rgba(227,30,36,.10);
            --red-soft2:rgba(227,30,36,.06);
            --red-border:rgba(227,30,36,.22);
            --dark-red:#b71217;
            --red-glow:rgba(227,30,36,.22);
            --red-gradient:linear-gradient(135deg, #e31e24 0%, #ff3b40 100%);

            --font-primary:'Plus Jakarta Sans', 'Outfit', 'Poppins', sans-serif;
            --card-shadow:0 12px 32px rgba(0, 0, 0, 0.06);
            --card-hover-shadow:0 20px 45px rgba(227, 30, 36, 0.18);

            /* ── DEFAULT = LIGHT DAY MODE ── */
            --black:#f4f4f8;
            --surface:#f0f0f5;
            --card:#ffffff;
            --card2:#f8f9fc;
            --card3:#f1f3f9;
            --border:#d8dbe5;
            --border-soft:#e2e6f0;
            --border-red:rgba(227,30,36,.2);
            --text:#1e293b;
            --text-bright:#0f172a;
            --muted:#475569;
            --mid:#334155;
        }

        /* ── NIGHT / DARK MODE CORPORATE HIGH-CONTRAST PALETTE ── */
        [data-theme="dark"], body.dark-mode {
            --black:#090a0f;
            --surface:#10121a;
            --card:#161924;
            --card2:#1c202e;
            --card3:#222738;
            --border:#252a3b;
            --border-soft:#2c3246;
            --border-red:rgba(227,30,36,.35);
            --text:#cbd5e1;
            --text-bright:#ffffff;
            --muted:#cbd5e1;
            --mid:#cbd5e1;
            --card-shadow:0 14px 40px rgba(0, 0, 0, 0.55);
            --card-hover-shadow:0 22px 50px rgba(227, 30, 36, 0.28);
        }

        /* High-Legibility Overrides for Text & Muted Classes */
        .text-muted { color: var(--muted) !important; }
        .text-secondary { color: var(--mid) !important; }

        /* ── UNIVERSAL NIGHT MODE OVERRIDES FOR ALL PAGES & COMPONENTS ── */
        [data-theme="dark"] body, body.dark-mode body {
            background-color: #090a0f !important;
            color: #cbd5e1 !important;
        }

        [data-theme="dark"] section, body.dark-mode section {
            background-color: transparent;
        }

        [data-theme="dark"] .bg-light, body.dark-mode .bg-light,
        [data-theme="dark"] .bg-white, body.dark-mode .bg-white,
        [data-theme="dark"] .bg-surface, body.dark-mode .bg-surface {
            background-color: #161924 !important;
            color: #cbd5e1 !important;
        }

        [data-theme="dark"] .card, body.dark-mode .card,
        [data-theme="dark"] .svc-card-box, body.dark-mode .svc-card-box {
            background-color: #161924 !important;
            border-color: #2c3246 !important;
            color: #cbd5e1 !important;
        }

        [data-theme="dark"] .text-dark, body.dark-mode .text-dark,
        [data-theme="dark"] .text-black, body.dark-mode .text-black,
        [data-theme="dark"] h1, body.dark-mode h1,
        [data-theme="dark"] h2, body.dark-mode h2,
        [data-theme="dark"] h3, body.dark-mode h3,
        [data-theme="dark"] h4, body.dark-mode h4,
        [data-theme="dark"] h5, body.dark-mode h5,
        [data-theme="dark"] h6, body.dark-mode h6 {
            color: #ffffff !important;
        }

        [data-theme="dark"] .text-muted, body.dark-mode .text-muted,
        [data-theme="dark"] .text-secondary, body.dark-mode .text-secondary,
        [data-theme="dark"] p, body.dark-mode p,
        [data-theme="dark"] li, body.dark-mode li {
            color: #cbd5e1 !important;
        }

        [data-theme="dark"] .list-group-item, body.dark-mode .list-group-item {
            background-color: transparent !important;
            border-color: #2c3246 !important;
            color: #cbd5e1 !important;
        }

        [data-theme="dark"] .border, body.dark-mode .border,
        [data-theme="dark"] .border-bottom, body.dark-mode .border-bottom,
        [data-theme="dark"] .border-top, body.dark-mode .border-top {
            border-color: #2c3246 !important;
        }

        [data-theme="dark"] .form-control, body.dark-mode .form-control,
        [data-theme="dark"] .form-select, body.dark-mode .form-select,
        [data-theme="dark"] textarea, body.dark-mode textarea {
            background-color: #0f111a !important;
            border-color: #2c3246 !important;
            color: #ffffff !important;
        }

        [data-theme="dark"] .form-control::placeholder, body.dark-mode .form-control::placeholder {
            color: #8b949e !important;
        }

        [data-theme="dark"] .breadcrumb-item, body.dark-mode .breadcrumb-item,
        [data-theme="dark"] .breadcrumb-item a, body.dark-mode .breadcrumb-item a {
            color: #cbd5e1 !important;
        }

        [data-theme="dark"] .breadcrumb-item.active, body.dark-mode .breadcrumb-item.active {
            color: #e31e24 !important;
        }

        [data-theme="dark"] .accordion-item, body.dark-mode .accordion-item {
            background-color: #161924 !important;
            border-color: #2c3246 !important;
        }

        [data-theme="dark"] .accordion-button, body.dark-mode .accordion-button {
            background-color: #161924 !important;
            color: #ffffff !important;
        }

        [data-theme="dark"] .accordion-button:not(.collapsed), body.dark-mode .accordion-button:not(.collapsed) {
            background-color: rgba(227, 30, 36, 0.15) !important;
            color: #ff4444 !important;
        }

        [data-theme="dark"] .accordion-body, body.dark-mode .accordion-body {
            background-color: #161924 !important;
            color: #cbd5e1 !important;
        }

        [data-theme="dark"] .navbar, body.dark-mode .navbar {
            background: rgba(16, 18, 26, 0.96) !important;
            backdrop-filter: blur(14px) !important;
            -webkit-backdrop-filter: blur(14px) !important;
            border-bottom: 1px solid rgba(227, 30, 36, 0.25) !important;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5) !important;
        }

        [data-theme="dark"] .nav-link, body.dark-mode .nav-link {
            color: #cbd5e1 !important;
        }

        [data-theme="dark"] .nav-link:hover, body.dark-mode .nav-link:hover,
        [data-theme="dark"] .nav-link.active, body.dark-mode .nav-link.active {
            color: #ffffff !important;
        }

        [data-theme="dark"] .dropdown-menu, body.dark-mode .dropdown-menu {
            background: #161924 !important;
            border: 1px solid rgba(227, 30, 36, 0.3) !important;
            box-shadow: 0 20px 60px rgba(0, 0, 0, 0.7) !important;
        }

        [data-theme="dark"] .dropdown-item, body.dark-mode .dropdown-item {
            color: #cbd5e1 !important;
        }

        [data-theme="dark"] .dropdown-item:hover, body.dark-mode .dropdown-item:hover {
            background: rgba(227, 30, 36, 0.18) !important;
            color: #ffffff !important;
        }
        *{margin:0;padding:0;box-sizing:border-box;}
        html, body {
            overflow-x: hidden;
            width: 100%;
            position: relative;
        }
        body{font-family:var(--font-primary);background:var(--black);color:var(--text);-webkit-font-smoothing:antialiased;padding-top:72px;}
        ::selection{background:rgba(232,42,42,.28);color:#fff;}
        ::-webkit-scrollbar{width:5px;}
        ::-webkit-scrollbar-track{background:#f4f4f8;}
        ::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--red-light),var(--dark-red));border-radius:3px;}

        /* ── SCROLL PROGRESS BAR ── */
        .scroll-progress-container{
            position:fixed;top:0;left:0;width:100%;height:3px;
            background:transparent;z-index:9999;pointer-events:none;
        }
        .scroll-progress-bar{
            height:100%;width:0%;
            background:linear-gradient(90deg,var(--red),var(--red-light));
            box-shadow:0 0 10px rgba(232,42,42,.4);
            transition:width 0.1s ease;
        }

        /* ── BACKGROUND WATERMARK ── */
        .bg-watermark{
            position:fixed;top:50%;left:50%;
            transform:translate(-50%,-50%) rotate(-5deg);
            font-size:18vw;font-weight:900;color:var(--red);
            opacity:0.04;pointer-events:none;z-index:-1;
            white-space:nowrap;text-transform:uppercase;
            letter-spacing:2vw;user-select:none;
            transition:transform 0.1s ease-out;
        }
        body.dark-mode .bg-watermark{opacity:0.025;}

        /* ── NAVBAR LOGO & BRAND ── */
        .navbar-logo-wrap{display:flex;align-items:center;gap:.6rem;text-decoration:none;padding:.1rem 0;}
        .navbar-logo-img{
            width:40px;height:40px;border-radius:50%;object-fit:cover;
            border:2px solid #1a1a1a;
            box-shadow:0 2px 8px rgba(0,0,0,.12);
            transition:all .35s ease;flex-shrink:0;
        }
        .navbar-logo-wrap{flex-shrink:1;min-width:0;overflow:hidden;}
        .navbar-logo-wrap:hover .navbar-logo-img{transform:scale(1.06);box-shadow:0 4px 16px rgba(232,42,42,.25);}
        body.dark-mode .navbar-logo-img{border-color:var(--red);box-shadow:0 2px 12px rgba(232,42,42,.25);}
        .navbar-site-name{
            font-size:1.15rem;font-weight:800;color:var(--text-bright);
            letter-spacing:-.3px;line-height:1;white-space:nowrap;
            overflow:hidden;text-overflow:ellipsis;
        }
        @media(max-width:991px){
            .navbar-site-name{font-size:0.95rem;max-width:160px;}
        }
        @media(max-width:480px){
            .navbar-site-name{font-size:0.85rem;max-width:120px;}
        }
        @media(max-width:360px){
            .navbar-site-name{max-width:100px;}
        }
        .navbar-site-name .dot{color:var(--red);}

        /* ── FOOTER LOGO ── */
        .footer-logo-img{
            width:52px;height:52px;border-radius:50%;object-fit:cover;
            border:2.5px solid #1a1a1a;
            box-shadow:0 3px 12px rgba(0,0,0,.15);
            transition:all .35s ease;flex-shrink:0;
        }
        body.dark-mode .footer-logo-img{border-color:var(--red);box-shadow:0 3px 16px rgba(232,42,42,.3);}

        /* ── NAV ── */
        .navbar{
            background:#ffffff !important;
            border-bottom:1px solid var(--border-soft);
            padding:.65rem 0;
            position:fixed !important;top:0 !important;left:0 !important;right:0 !important;z-index:1050 !important;
            box-shadow:0 4px 20px rgba(0,0,0,0.06);
            transition:background-color .2s ease, box-shadow .2s ease;
            transform:translateZ(0);
        }
        .navbar.scrolled{
            background:#ffffff !important;
            padding:.5rem 0;
            box-shadow:0 10px 30px -10px rgba(0,0,0,.12);
        }
        body.dark-mode .navbar{
            background:#0d0d11 !important;
            border-bottom-color:#222228;
            box-shadow:0 4px 25px rgba(0,0,0,0.4);
        }
        body.dark-mode .navbar.scrolled{
            background:#0d0d11 !important;
            box-shadow:0 10px 40px -10px rgba(0,0,0,0.6);
        }
        .brand-dot{width:7px;height:7px;background:var(--red);border-radius:50%;display:inline-block;box-shadow:0 0 8px var(--red-glow);animation:bdot 2.5s ease-in-out infinite;}
        @keyframes bdot{0%,100%{opacity:1;transform:scale(1);box-shadow:0 0 8px var(--red-glow);}50%{opacity:.4;transform:scale(.6);box-shadow:none;}}
        .nav-link{color:var(--mid)!important;font-weight:500;font-size:.86rem;padding:.45rem .9rem!important;transition:color .25s;position:relative;letter-spacing:.1px;}
        .nav-link:hover,.nav-link.active{color:var(--text-bright)!important;}
        .nav-link.active::after{content:'';position:absolute;bottom:-1px;left:.9rem;right:.9rem;height:2px;background:linear-gradient(90deg,var(--red),var(--red-light));border-radius:2px;}
        .dropdown-menu{background:var(--card);border:1px solid var(--border);border-top:2px solid var(--red);border-radius:0 0 12px 12px;min-width:230px;padding:.5rem 0;box-shadow:0 16px 48px rgba(0,0,0,.12);transition:all .2s ease;opacity:0;visibility:hidden;display:none;transform:translateY(10px);z-index:1000;}
        .dropdown-menu.show{opacity:1;visibility:visible;transform:translateY(0);display:block;}
        body.dark-mode .dropdown-menu{background:#13131a;box-shadow:0 20px 60px rgba(0,0,0,.65),0 0 0 1px rgba(232,42,42,.06);}
        .dropdown-item{color:var(--mid)!important;font-size:.83rem;padding:.55rem 1.2rem;transition:all .2s;display:flex;align-items:center;gap:.75rem;border-radius:8px;margin:0 .4rem;}
        .dropdown-item:hover{background:var(--red-soft);color:var(--text-bright)!important;transform:translateX(5px);}
        .dropdown-item i{color:var(--red);font-size:.9rem;transition:all .3s;}
        .dropdown-item:hover i{transform:scale(1.2);}
        .dropdown-header{color:var(--red)!important;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;padding:.8rem 1.2rem .4rem;}

        /* HEADER & NAVBAR CLICKABILITY & DROPDOWN HOVER FIX */
        #mainNav {
            position: fixed !important;
            top: 0 !important;
            left: 0 !important;
            right: 0 !important;
            z-index: 1050 !important;
            pointer-events: auto !important;
        }
        .navbar-nav .nav-link,
        .navbar-nav .dropdown-item,
        .navbar-brand,
        .btn-get-quote,
        .theme-toggle-btn {
            position: relative;
            z-index: 1051 !important;
            cursor: pointer !important;
            pointer-events: auto !important;
        }

        /* SERVICES MULTI-LEVEL FLYOUT MENU */
        @media(min-width:992px){
            .nav-item.dropdown:hover > .dropdown-menu {
                display: block !important;
                opacity: 1 !important;
                visibility: visible !important;
                transform: translateY(0) !important;
                pointer-events: auto !important;
            }

            .dropdown-menu {
                margin-top: 0 !important;
                pointer-events: auto !important;
                z-index: 1080 !important;
            }

            .services-flyout-menu {
                min-width: 310px;
                padding: 0.6rem;
                background: var(--card);
                border-top: 3px solid var(--red);
                border-radius: 0 0 14px 14px;
                box-shadow: 0 20px 45px rgba(0,0,0,0.3);
                border-bottom: 1px solid var(--border-soft);
                border-left: 1px solid var(--border-soft);
                border-right: 1px solid var(--border-soft);
            }

            .cat-flyout-item {
                position: relative;
                list-style: none;
            }

            .cat-flyout-link {
                display: flex;
                align-items: center;
                justify-content: space-between;
                padding: 0.75rem 1rem;
                color: var(--text-bright);
                font-size: 0.88rem;
                font-weight: 700;
                text-decoration: none;
                border-radius: 10px;
                transition: all 0.25s ease;
                margin-bottom: 0.25rem;
            }

            .cat-flyout-link:hover,
            .cat-flyout-item:hover > .cat-flyout-link {
                background: var(--red-soft);
                color: var(--red) !important;
                transform: translateX(3px);
            }

            .flyout-arrow {
                transition: transform 0.25s ease;
                opacity: 0.7;
            }

            .cat-flyout-item:hover .flyout-arrow {
                transform: translateX(4px);
                opacity: 1;
                color: var(--red);
            }

            /* Tier 2 Nested Submenu (Services list under Category) */
            .cat-flyout-submenu {
                position: absolute;
                top: 0;
                left: 100%;
                min-width: 320px;
                max-height: 480px;
                overflow-y: auto;
                background: var(--card);
                border-top: 3px solid var(--red);
                border-left: 1px solid var(--border-soft);
                border-right: 1px solid var(--border-soft);
                border-bottom: 1px solid var(--border-soft);
                border-radius: 0 14px 14px 14px;
                padding: 1rem;
                box-shadow: 0 25px 50px rgba(0,0,0,0.35);
                display: none;
                opacity: 0;
                visibility: hidden;
                transition: opacity 0.25s ease, visibility 0.25s ease;
                z-index: 1070;
            }

            /* Show Submenu on hover */
            .cat-flyout-item:hover > .cat-flyout-submenu {
                display: block;
                opacity: 1;
                visibility: visible;
            }

            .cat-submenu-header {
                font-size: 0.78rem;
                font-weight: 800;
                color: var(--red);
                text-transform: uppercase;
                letter-spacing: 1px;
                padding-bottom: 0.5rem;
                border-bottom: 1px solid var(--border-soft);
                margin-bottom: 0.6rem;
            }

            .svc-flyout-link {
                display: flex;
                align-items: center;
                gap: 0.75rem;
                padding: 0.55rem 0.75rem;
                color: var(--mid);
                font-size: 0.84rem;
                font-weight: 600;
                text-decoration: none;
                border-radius: 8px;
                transition: all 0.2s ease;
            }

            .svc-flyout-link .svc-icon {
                font-size: 0.85rem;
                color: var(--red);
                width: 20px;
                text-align: center;
                transition: transform 0.2s ease;
            }

            .svc-flyout-link:hover {
                background: var(--red-soft);
                color: var(--red) !important;
                transform: translateX(4px);
            }

            .svc-flyout-link:hover .svc-icon {
                transform: scale(1.2);
            }
        }
            .mega-menu{
                position:absolute;top:100%;left:0;
                background:var(--card);border-top:2px solid var(--red);
                padding:1.8rem;
                display:block;
                box-shadow:0 25px 50px -12px rgba(0,0,0,.25);
                border-bottom:1px solid var(--border-soft);
                min-width:550px; /* Wider for individual category grid */
                border-radius:0 0 15px 15px;
            }
            .mega-links-grid{
                display:grid;
                grid-template-columns:repeat(2, 1fr); /* 2 columns by default */
                gap:1rem;
            }
            .mega-col-title{font-size:.7rem;font-weight:800;color:var(--red);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:1rem;display:flex;align-items:center;gap:.6rem;opacity:.8;}
            .mega-link{display:flex;align-items:center;gap:.8rem;text-decoration:none;padding:.65rem .8rem;border-radius:12px;transition:all .3s;border:1px solid transparent;}
            .mega-link:hover{background:var(--red-soft);border-color:var(--red-border);transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.05);}
            .mega-icon{width:34px;height:34px;background:var(--red-soft2);border:1px solid var(--red-border);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--red);font-size:.95rem;flex-shrink:0;transition:all .3s;}
            .mega-link:hover .mega-icon{background:var(--red);color:#fff;box-shadow:0 4px 10px rgba(232,42,42,.3);}
            .mega-info h6{font-size:.84rem;font-weight:700;color:var(--text-bright);margin:0;line-height:1.2;}
            .mega-info p{font-size:.72rem;color:var(--muted);margin:0;line-height:1.3;display:none;} /* Hide desc in small grid if needed, or keep it simple */
            .mega-link:hover h6{color:var(--red);}
        }

        .mob-toggler{
            display:none;
            width:42px;height:42px;
            background:var(--red-soft);border:2px solid var(--red-border);
            border-radius:10px;
            cursor:pointer;flex-shrink:0;
            transition:all .25s;
            padding:0;
            position:relative;
            flex-direction:column;
            align-items:center;
            justify-content:center;
            z-index:1060;
        }
        .mob-toggler:hover{border-color:var(--red);background:var(--red-soft);}
        .mob-toggler.open{border-color:var(--red);background:var(--red-soft);}
        .mob-toggler .bar,
        .mob-toggler .bar::before,
        .mob-toggler .bar::after{
            display:block;width:20px;height:2.5px;
            background:var(--red);border-radius:2px;
            transition:all .3s;
        }
        .mob-toggler .bar{position:relative;margin:0 auto;}
        .mob-toggler .bar::before,
        .mob-toggler .bar::after{
            content:'';position:absolute;left:0;
        }
        .mob-toggler .bar::before{top:-5px;}
        .mob-toggler .bar::after{top:5px;}
        /* X state */
        .mob-toggler.open .bar{background:transparent;}
        .mob-toggler.open .bar::before{transform:rotate(45deg);top:0;}
        .mob-toggler.open .bar::after{transform:rotate(-45deg);top:0;}

        /* ── MOBILE DRAWER ── */
        .mob-drawer-overlay{
            position:fixed;inset:0;
            background:rgba(0,0,0,.5);
            z-index:1049;
            opacity:0;
            visibility:hidden;
            transition:opacity .3s,visibility .3s;
        }
        .mob-drawer-overlay.show{opacity:1;visibility:visible;}
        .mob-drawer{
            position:fixed;top:0;right:0;bottom:0;
            width:min(300px,85vw);
            background:var(--card);
            z-index:1060;
            transform:translateX(100%);
            transition:transform .35s cubic-bezier(.4,0,.2,1);
            display:flex;flex-direction:column;
            box-shadow:-8px 0 40px rgba(0,0,0,.18);
            overflow-y:auto;
        }
        body.dark-mode .mob-drawer{background:#13131a;}
        .mob-drawer.open{transform:translateX(0);}

        /* Drawer header */
        .mob-drawer-head{
            display:flex;align-items:center;justify-content:space-between;
            padding:1.1rem 1.3rem;
            border-bottom:1px solid var(--border-soft);
            flex-shrink:0;
        }
        .mob-drawer-brand{display:flex;align-items:center;gap:.55rem;text-decoration:none;}
        .mob-drawer-brand img{width:34px;height:34px;border-radius:50%;object-fit:cover;border:2px solid #1a1a1a;}
        body.dark-mode .mob-drawer-brand img{border-color:var(--red);}
        .mob-drawer-brand-name{font-size:.95rem;font-weight:800;color:var(--text-bright);}
        .mob-drawer-brand-name .dot{color:var(--red);}
        .mob-drawer-close{
            width:34px;height:34px;border-radius:8px;
            background:var(--card2);border:1px solid var(--border);
            display:flex;align-items:center;justify-content:center;
            cursor:pointer;color:var(--muted);font-size:.85rem;
            transition:all .2s;flex-shrink:0;
        }
        .mob-drawer-close:hover{background:var(--red-soft);border-color:var(--red-border);color:var(--red);}

        /* Drawer utility row */
        .mob-drawer-utils{
            display:flex;align-items:center;gap:.6rem;
            padding:.9rem 1.3rem;
            border-bottom:1px solid var(--border-soft);
            flex-shrink:0;
        }
        .mob-util-btn{
            flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;
            padding:.6rem .8rem;border-radius:9px;
            border:1.5px solid var(--border);background:var(--card2);
            color:var(--mid);font-size:.8rem;font-weight:600;
            text-decoration:none;cursor:pointer;
            transition:all .25s;
        }
        .mob-util-btn:hover{border-color:var(--red-border);background:var(--red-soft);color:var(--red);}
        .mob-util-btn i{font-size:.9rem;}
        .mob-theme-btn .t-sun{color:#f5a623;}
        .mob-theme-btn .t-moon{color:#a8b8d8;display:none;}
        body.dark-mode .mob-theme-btn .t-sun{display:none;}
        body.dark-mode .mob-theme-btn .t-moon{display:inline;}

        /* Drawer nav links */
        .mob-drawer-nav{flex:1;padding:.6rem 0;}
        .mob-nav-link{
            display:flex;align-items:center;gap:.75rem;
            padding:.75rem 1.3rem;
            color:var(--mid);font-size:.88rem;font-weight:500;
            text-decoration:none;
            border-left:3px solid transparent;
            transition:all .2s;
        }
        .mob-nav-link i{width:16px;text-align:center;color:var(--red);font-size:.85rem;}
        .mob-nav-link:hover,.mob-nav-link.active{
            color:var(--text-bright);
            background:var(--red-soft);
            border-left-color:var(--red);
        }
        .mob-nav-section{
            font-size:.65rem;font-weight:700;text-transform:uppercase;
            letter-spacing:1.5px;color:var(--muted);
            padding:.8rem 1.3rem .3rem;
        }
        .mob-sub-link{
            display:flex;align-items:center;gap:.6rem;
            padding:.55rem 1.3rem .55rem 2.8rem;
            color:var(--muted);font-size:.82rem;
            text-decoration:none;transition:color .2s;
        }
        .mob-sub-link:hover{color:var(--red);}
        .mob-sub-link i{font-size:.65rem;color:var(--red);}
        .mob-drawer-cta{
            padding:1rem 1.3rem;
            border-top:1px solid var(--border-soft);
            flex-shrink:0;
        }
        .mob-cta-btn{
            display:flex;align-items:center;justify-content:center;gap:.5rem;
            width:100%;padding:.75rem;border-radius:10px;
            background:linear-gradient(135deg,var(--red),var(--dark-red));
            color:#fff!important;font-weight:700;font-size:.88rem;
            text-decoration:none;border:none;cursor:pointer;
            box-shadow:0 4px 16px rgba(232,42,42,.3);
            transition:all .3s;
        }
        .mob-cta-btn:hover{transform:translateY(-1px);box-shadow:0 6px 22px rgba(232,42,42,.4);}

        /* ── MOBILE CATEGORY ACCORDION ── */
        .mob-cat-toggle{
            width:100%;display:flex;align-items:center;gap:.75rem;
            padding:.8rem 1.3rem;
            background:none;border:none;cursor:pointer;
            color:var(--text-bright);font-size:.88rem;font-weight:700;
            border-left:3px solid transparent;
            transition:all .2s;
            text-align:left;
            font-family:inherit;
        }
        .mob-cat-toggle i:first-child{
            width:16px;text-align:center;color:var(--red);font-size:.9rem;flex-shrink:0;
        }
        .mob-cat-toggle span{flex:1;}
        .mob-cat-arrow{
            font-size:.65rem;color:var(--muted);
            transition:transform .3s ease;
            flex-shrink:0;
        }
        .mob-cat-toggle:hover{
            background:var(--red-soft);
            border-left-color:var(--red);
            color:var(--red);
        }
        .mob-cat-toggle:hover .mob-cat-arrow{color:var(--red);}
        .mob-cat-toggle.open{
            background:var(--red-soft);
            border-left-color:var(--red);
            color:var(--red);
        }
        .mob-cat-toggle.open .mob-cat-arrow{
            transform:rotate(180deg);
            color:var(--red);
        }
        /* Collapsible body */
        .mob-cat-body{
            max-height:0;
            overflow:hidden;
            transition:max-height .35s ease;
            background:var(--card2);
            border-left:3px solid rgba(232,42,42,.2);
            margin-left:1.3rem;
            border-radius:0 0 6px 6px;
        }
        body.dark-mode .mob-cat-body{background:rgba(255,255,255,.03);}
        .mob-cat-body.open{max-height:600px;}
        .mob-view-all{
            color:var(--red)!important;font-weight:600;
            border-top:1px solid var(--border-soft);
            margin-top:.2rem;
        }

        /* Show/hide by breakpoint */
        @media(min-width:992px){
            .mob-toggler{display:none!important;}
            .mob-drawer,.mob-drawer-overlay{display:none!important;}
        }
        @media(max-width:991px){
            .mob-toggler{display:flex!important;}
            #navbarMain{display:none!important;}
        }

        /* ── GET QUOTE BUTTON (navbar) ── */
        .btn-get-quote{
            background:linear-gradient(135deg,var(--red),var(--dark-red));
            color:#fff!important;border:none;
            padding:.5rem 1.2rem;border-radius:8px;
            font-weight:600;font-size:.83rem;
            transition:all .3s;text-decoration:none;
            display:inline-flex;align-items:center;gap:.4rem;
            white-space:nowrap;cursor:pointer;
            box-shadow:0 2px 10px rgba(232,42,42,.25);
            position:relative;overflow:hidden;
        }
        .btn-get-quote i, .btn-get-quote span{position:relative;z-index:2;color:#fff!important;}
        .btn-get-quote::before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(135deg,#ff5555,var(--red));opacity:0;transition:opacity .3s;}
        .btn-get-quote:hover{color:#fff!important;transform:translateY(-2px);box-shadow:0 6px 22px rgba(232,42,42,.4);}
        .btn-get-quote:hover::before{opacity:1;}
        .btn-get-quote:active{transform:translateY(0);}

        /* ── GENERAL BUTTONS ── */
        .btn-red{background:linear-gradient(135deg,var(--red) 0%,var(--dark-red) 100%);color:#fff!important;border:none;padding:.65rem 1.8rem;border-radius:8px;font-weight:600;font-size:.87rem;transition:all .3s;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;position:relative;overflow:hidden;cursor:pointer;letter-spacing:.2px;box-shadow:0 2px 12px rgba(232,42,42,.2);}
        .btn-red i, .btn-red span{position:relative;z-index:2;color:#fff!important;}
        .btn-red::before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(135deg,#ff5555 0%,var(--red) 100%);opacity:0;transition:opacity .3s;}
        .btn-red:hover{color:#fff!important;transform:translateY(-2px);box-shadow:0 8px 28px rgba(232,42,42,.45);}
        .btn-red:hover::before{opacity:1;}
        .btn-red:active{transform:translateY(0);box-shadow:0 3px 12px rgba(232,42,42,.25);}
        .btn-outline-red{background:transparent;color:var(--red);border:1.5px solid rgba(232,42,42,.5);padding:.6rem 1.7rem;border-radius:8px;font-weight:600;font-size:.87rem;transition:all .3s;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;}
        .btn-outline-red:hover{background:linear-gradient(135deg,var(--red),var(--dark-red));color:#fff!important;border-color:var(--red);transform:translateY(-2px);box-shadow:0 8px 28px rgba(232,42,42,.3);}

        /* ── WHATSAPP CTA BUTTON ── */
        .btn-whatsapp{background:transparent;color:#1da851;border:1.5px solid #25d366;padding:.6rem 1.7rem;border-radius:8px;font-weight:600;font-size:.87rem;transition:all .3s;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;}
        .btn-whatsapp:hover{background:linear-gradient(135deg,#25d366,#1da851);color:#fff!important;border-color:#1da851;transform:translateY(-2px);box-shadow:0 8px 24px rgba(37,211,102,.35);}

        /* SECTION HELPERS */
        .section-tag{display:inline-flex;align-items:center;gap:.5rem;background:var(--red-soft);border:1px solid var(--red-border);color:var(--red);font-size:.7rem;font-weight:700;padding:.32rem .95rem;border-radius:50px;letter-spacing:1.8px;text-transform:uppercase;margin-bottom:1rem;}
        .section-title{font-size:clamp(1.75rem,3.5vw,2.4rem);font-weight:800;color:var(--text-bright);line-height:1.25;margin-bottom:.5rem;}
        .section-title span{color:var(--red);text-shadow:0 0 30px rgba(232,42,42,.2);}
        .section-sub{color:var(--muted);font-size:.92rem;line-height:1.8;max-width:560px;margin:0 auto 2.8rem;}
        .red-line{width:44px;height:3px;background:linear-gradient(90deg,var(--red-light),var(--red),rgba(232,42,42,.2));margin:.7rem auto 1rem;border-radius:2px;box-shadow:0 0 10px rgba(232,42,42,.25);}
        .red-line.left{margin-left:0;}

        /* SERVICE CARDS */
        .service-card{background:var(--card);border:1px solid var(--border-soft);border-radius:14px;padding:1.7rem 1.4rem;transition:all .35s cubic-bezier(.4,0,.2,1);height:100%;text-decoration:none;display:flex;flex-direction:column;color:var(--text);position:relative;overflow:hidden;}
        .service-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(232,42,42,.15),transparent);opacity:0;transition:opacity .3s;}
        .service-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--red-light),var(--red),rgba(232,42,42,.2));transform:scaleX(0);transition:transform .35s ease;transform-origin:left;}
        .service-card:hover::before{opacity:1;}
        .service-card:hover::after{transform:scaleX(1);}
        .service-card:hover{border-color:rgba(232,42,42,.25);transform:translateY(-6px);box-shadow:0 16px 48px rgba(0,0,0,.4),0 0 0 1px rgba(232,42,42,.08);color:var(--text);background:var(--card2);}
        .service-card .icon-box{width:52px;height:52px;background:var(--red-soft);border:1px solid var(--red-border);border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:1.1rem;transition:all .35s;flex-shrink:0;}
        .service-card:hover .icon-box{background:linear-gradient(135deg,var(--red),var(--dark-red));border-color:var(--red);box-shadow:0 6px 20px rgba(232,42,42,.3);}
        .service-card .icon-box i{font-size:1.25rem;color:var(--red);transition:color .3s;}
        .service-card:hover .icon-box i{color:#fff;}
        .service-card h5{font-size:.92rem;font-weight:700;margin-bottom:.5rem;color:var(--text-bright);line-height:1.4;}
        .service-card p{font-size:.81rem;color:var(--muted);line-height:1.75;margin:0;flex:1;}
        .card-arrow{margin-top:1rem;font-size:.77rem;color:var(--red);font-weight:600;display:flex;align-items:center;gap:.4rem;transition:all .25s;opacity:.75;}
        .service-card:hover .card-arrow{gap:.75rem;opacity:1;}

        /* FORMS */
        .form-control,.form-select{background:#ffffff;border:1px solid var(--border);color:var(--text);border-radius:9px;padding:.75rem 1rem;font-size:.87rem;transition:all .25s;}
        .form-control:focus,.form-select:focus{background:#fff;border-color:rgba(232,42,42,.55);color:var(--text-bright);box-shadow:0 0 0 3px rgba(232,42,42,.07);}
        .form-control::placeholder{color:#aaa;}
        .form-select option{background:#fff;color:var(--text);}
        body.dark-mode .form-control,body.dark-mode .form-select{background:#111116;border-color:var(--border);color:var(--text);}
        body.dark-mode .form-control:focus,body.dark-mode .form-select:focus{background:#14141a;color:var(--text-bright);}
        body.dark-mode .form-control::placeholder{color:#3a3a48;}
        body.dark-mode .form-select option{background:#17171b;}
        .form-label{color:var(--muted);font-size:.8rem;font-weight:500;margin-bottom:.38rem;}
        .inquiry-box{background:var(--card);border:1px solid var(--border);border-top:3px solid var(--red);border-radius:14px;padding:2rem;position:sticky;top:90px;box-shadow:0 4px 24px rgba(0,0,0,.08);}
        body.dark-mode .inquiry-box{box-shadow:0 8px 40px rgba(0,0,0,.3);}

        /* COUNTER */
        .counter-section{background:var(--surface);border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft);padding:4.5rem 0;position:relative;overflow:hidden;}
        .counter-section::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:700px;height:300px;background:radial-gradient(ellipse,rgba(232,42,42,.05) 0%,transparent 65%);pointer-events:none;}
        .counter-section::after{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(232,42,42,.15),transparent);}
        .counter-item{text-align:center;position:relative;}
        .counter-number{font-size:2.8rem;font-weight:900;background:linear-gradient(135deg,var(--red-light),var(--red));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;letter-spacing:-.5px;}
        .counter-label{font-size:.8rem;color:var(--muted);margin-top:.5rem;font-weight:500;letter-spacing:.3px;}
        .counter-icon{font-size:1.5rem;color:rgba(232,42,42,.2);margin-bottom:.7rem;}

        /* PAGE HEADER */
        .page-header{background:linear-gradient(135deg,#eaeaef 0%,#f5e8e8 60%,#eaeaef 100%);border-bottom:1px solid var(--border);padding:3rem 0;position:relative;overflow:hidden;}
        .page-header::after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--red),transparent);}
        body.dark-mode .page-header{background:linear-gradient(135deg,#111116 0%,#180c0c 60%,#111116 100%);border-bottom-color:var(--border);}
        .breadcrumb-item a{color:var(--red);text-decoration:none;}
        .breadcrumb-item.active{color:var(--muted);}
        .breadcrumb-item+.breadcrumb-item::before{color:var(--border);}

        /* ── FOOTER ── */
        footer{background:#e4e4eb;border-top:1px solid var(--border-soft);padding:4rem 0 0;position:relative;}
        footer::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0%,var(--red) 50%,transparent 100%);}
        body.dark-mode footer{background:#0a0a0d;}

        /* Footer brand link */
        .footer-brand-link{display:flex;align-items:center;gap:.75rem;text-decoration:none;margin-bottom:1rem;}
        .footer-brand-link:hover .footer-logo-img{transform:scale(1.05);}
        .footer-brand-name{font-size:1.4rem;font-weight:900;color:var(--text-bright);letter-spacing:-.5px;line-height:1;}
        .footer-brand-name span{color:var(--red);}

        /* Footer about text */
        .footer-about{font-size:.83rem;color:var(--muted);line-height:1.8;max-width:290px;margin-bottom:1.4rem;}

        /* Footer headings */
        footer h5{color:var(--text-bright);font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:1.8px;margin-bottom:1.2rem;padding-bottom:.55rem;position:relative;}
        footer h5::after{content:'';position:absolute;bottom:0;left:0;width:28px;height:2px;background:linear-gradient(90deg,var(--red),rgba(232,42,42,.2));border-radius:2px;}

        /* Footer links list */
        .footer-links{list-style:none;padding:0;margin:0;}
        .footer-links li{margin-bottom:.45rem;}
        .footer-links a{color:var(--muted);text-decoration:none;font-size:.83rem;display:flex;align-items:center;gap:.5rem;transition:all .22s;}
        .footer-links a i{font-size:.55rem;color:var(--red);transition:transform .22s;flex-shrink:0;}
        .footer-links a:hover{color:var(--red);padding-left:4px;}
        .footer-links a:hover i{transform:translateX(2px);}

        /* Footer contact list */
        .footer-contact{list-style:none;padding:0;margin:0;}
        .footer-contact li{display:flex;align-items:flex-start;gap:.7rem;margin-bottom:.8rem;font-size:.83rem;color:var(--muted);}
        .footer-contact li i{color:var(--red);font-size:.9rem;margin-top:.1rem;flex-shrink:0;width:14px;text-align:center;}
        .footer-contact li a{color:var(--muted);text-decoration:none;transition:color .22s;}
        .footer-contact li a:hover{color:var(--red);}
        .footer-contact li span{line-height:1.6;}

        /* Social icons */
        .social-links{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.2rem;}
        .social-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--card);border:1px solid var(--border);border-radius:9px;color:var(--muted)!important;font-size:.82rem;text-decoration:none;transition:all .3s;}
        .social-icon:hover{background:linear-gradient(135deg,var(--red),var(--dark-red));border-color:var(--red);color:#fff!important;transform:translateY(-3px);box-shadow:0 6px 18px rgba(232,42,42,.3);}
        .social-icon.social-wa:hover{background:linear-gradient(135deg,#25d366,#1da851);border-color:#25d366;box-shadow:0 6px 18px rgba(37,211,102,.3);}

        /* Footer bottom bar */
        .footer-bottom{border-top:1px solid var(--border-soft);padding:1.2rem 0;margin-top:0;}
        .footer-bottom-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;font-size:.78rem;color:var(--muted);}
        @media(max-width:576px){.footer-bottom-inner{justify-content:center;text-align:center;}}

        /* ALERTS */
        .alert-success-custom{background:rgba(40,167,69,.07);border:1px solid rgba(40,167,69,.25);color:#6ecf8a;border-radius:9px;padding:.85rem 1.1rem;font-size:.86rem;}

        /* ── ANIMATED CALL BUTTON ── */
        .call-float{
            position:fixed;
            bottom:28px;left:28px;
            z-index:9999;
            display:flex;align-items:center;
            text-decoration:none;
        }
        /* Pulse rings */
        .call-float-rings{
            position:absolute;
            width:54px;height:54px;
            border-radius:50%;
            pointer-events:none;
            top:0;left:0;
        }
        .call-float-rings::before,
        .call-float-rings::after{
            content:'';
            position:absolute;inset:0;
            border-radius:50%;
            background:rgba(232,42,42,.4);
            animation:callPulse 2.4s ease-out infinite;
        }
        .call-float-rings::after{
            animation-delay:.8s;
            background:rgba(232,42,42,.22);
        }
        @keyframes callPulse{
            0%  {transform:scale(1);   opacity:.9;}
            80% {transform:scale(2.2); opacity:0;}
            100%{transform:scale(2.2); opacity:0;}
        }
        /* Main button */
        .call-float-btn{
            position:relative;z-index:2;
            width:54px;height:54px;
            background:linear-gradient(135deg,var(--red),var(--dark-red));
            border-radius:50%;
            display:flex;align-items:center;justify-content:center;
            color:#fff!important;
            font-size:1.25rem;
            box-shadow:0 6px 24px rgba(232,42,42,.5);
            transition:transform .35s cubic-bezier(.34,1.56,.64,1),
                        box-shadow .35s ease;
            animation:callRing 3.5s ease-in-out infinite;
        }
        @keyframes callRing{
            0%,100%{transform:rotate(0deg) scale(1);}
            5%     {transform:rotate(-18deg) scale(1.08);}
            10%    {transform:rotate(16deg) scale(1.08);}
            15%    {transform:rotate(-12deg) scale(1.05);}
            20%    {transform:rotate(8deg) scale(1.02);}
            25%    {transform:rotate(0deg) scale(1);}
        }
        .call-float:hover .call-float-btn{
            transform:scale(1.15);
            box-shadow:0 10px 32px rgba(232,42,42,.6);
            animation:none;
        }
        /* Mobile: bottom-right, slightly smaller */
        @media(max-width:767px){
            .call-float{
                bottom:22px;
                left:auto;
                right:22px;
            }
            .call-float-btn{width:44px;height:44px;font-size:1rem;}
            .call-float-rings{width:44px;height:44px;}
            .call-float { bottom: 20px; right: 15px; }
        }

        /* ── LAYOUT FIXES ── */
        /* Hide floating buttons when modal is open or drawer is open */
        body.modal-open .call-float, 
        body.modal-open .service-request-float,
        body.drawer-open .call-float, 
        body.drawer-open 

        /* Better spacing for mobile header utilities */
        @media(max-width: 991px) {
            .navbar .d-flex.gap-2 { gap: 0.75rem !important; }
            .theme-toggle-btn { width: 40px; height: 40px; }
        }

        /* Header Search Button */
        .header-search-btn {
            width: 38px;
            height: 38px;
            border-radius: 50%;
            background: rgba(227, 30, 36, 0.1);
            border: 1px solid rgba(227, 30, 36, 0.25);
            color: var(--red) !important;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            transition: all 0.3s ease;
            font-size: 0.95rem;
            flex-shrink: 0;
        }
        .header-search-btn:hover {
            background: var(--red-gradient);
            color: #ffffff !important;
            transform: scale(1.08);
            box-shadow: 0 4px 14px rgba(227, 30, 36, 0.3);
        }
        [data-theme="dark"] .header-search-btn, body.dark-mode .header-search-btn {
            background: rgba(227, 30, 36, 0.2);
            color: #ff4444 !important;
            border-color: rgba(227, 30, 36, 0.4);
        }

        /* Search Modal Backdrop */
        #globalSearchModal .modal-content {
            box-shadow: 0 25px 80px rgba(0,0,0,0.6);
            backdrop-filter: blur(10px);
            -webkit-backdrop-filter: blur(10px);
        }
        .modal-backdrop.show { opacity: 0.85; }

        /* ADMIN NAV BTN */
        .admin-nav-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--red-soft);border:1px solid var(--red-border);border-radius:8px;color:var(--red)!important;font-size:.9rem;text-decoration:none;transition:all .3s;position:relative;}
        .admin-nav-btn:hover{background:linear-gradient(135deg,var(--red),var(--dark-red));border-color:var(--red);color:#fff!important;transform:translateY(-1px);box-shadow:0 5px 18px rgba(232,42,42,.3);}
        .admin-nav-btn .admin-tooltip{position:absolute;bottom:-30px;left:50%;transform:translateX(-50%);background:var(--card2);border:1px solid var(--border);color:var(--text);font-size:.67rem;font-weight:600;padding:.22rem .55rem;border-radius:4px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s;letter-spacing:.5px;text-transform:uppercase;}
        .admin-nav-btn:hover .admin-tooltip{opacity:1;}

        /* ═══════════════════════════════════════════════════
           THEME TOGGLE BUTTON
        ═══════════════════════════════════════════════════ */
        .theme-toggle-btn{
            display:inline-flex;align-items:center;justify-content:center;
            width:38px;height:38px;
            background:var(--card2);
            border:1px solid var(--border);
            border-radius:10px;
            cursor:pointer;
            transition:all .3s;
            position:relative;
            overflow:hidden;
            flex-shrink:0;
        }
        .theme-toggle-btn:hover{
            border-color:var(--red-border);
            background:var(--red-soft);
            transform:translateY(-1px);
            box-shadow:0 4px 14px rgba(232,42,42,.15);
        }
        .theme-toggle-btn .icon-sun,
        .theme-toggle-btn .icon-moon{
            position:absolute;
            font-size:1rem;
            transition:all .4s cubic-bezier(.34,1.56,.64,1);
        }
        /* Light mode (default): show moon icon to indicate "click for dark" */
        .theme-toggle-btn .icon-sun{
            color:#f5a623;
            transform:translateY(0) rotate(0deg);
            opacity:1;
        }
        .theme-toggle-btn .icon-moon{
            color:#a8b8d8;
            transform:translateY(30px) rotate(90deg);
            opacity:0;
        }
        /* Dark mode: show sun icon to indicate "click for light" */
        body.dark-mode .theme-toggle-btn .icon-sun{
            transform:translateY(-30px) rotate(-90deg);
            opacity:0;
        }
        body.dark-mode .theme-toggle-btn .icon-moon{
            transform:translateY(0) rotate(0deg);
            opacity:1;
        }

        /* ═══════════════════════════════════════════════════
           DARK MODE OVERRIDES  (light is the default :root)
        ═══════════════════════════════════════════════════ */
        body.dark-mode{
            --black:#0c0c0e;
            --surface:#111114;
            --card:#17171b;
            --card2:#1d1d22;
            --card3:#222228;
            --border:#2c2c34;
            --border-soft:#222228;
            --border-red:rgba(232,42,42,.18);
            --text:#ccccd6;
            --text-bright:#f0f0f5;
            --muted:#7a7a8a;
            --mid:#a8a8b8;
            --red-soft:rgba(232,42,42,.10);
            --red-soft2:rgba(232,42,42,.06);
            --red-border:rgba(232,42,42,.22);
        }
        body.dark-mode{background:var(--black);color:var(--text);}
        body.dark-mode::-webkit-scrollbar-track{background:#0c0c0e;}

        /* Service cards in dark mode */
        body.dark-mode .service-card{background:var(--card);border-color:var(--border-soft);}
        body.dark-mode .service-card:hover{background:var(--card2);box-shadow:0 16px 48px rgba(0,0,0,.4),0 0 0 1px rgba(232,42,42,.08);}

        /* Counter in dark mode */
        body.dark-mode .counter-section{background:var(--surface);border-color:var(--border-soft);}

        /* Process in dark mode */
        body.dark-mode .process-section{background:var(--surface);}

        /* About in dark mode */
        body.dark-mode .about-section{background:var(--surface);}

        /* Testimonials in dark mode */
        body.dark-mode .testi-card{background:var(--card);border-color:var(--border-soft);}
        body.dark-mode .testi-card:hover{box-shadow:0 12px 36px rgba(0,0,0,.35);}

        /* CTA in dark mode */
        body.dark-mode .cta-section{background:var(--surface);}

        /* Hero in dark mode */
        body.dark-mode .hero-center-box{background:linear-gradient(135deg,#17171b,#1a0a0a);border-color:rgba(232,42,42,.2);box-shadow:0 0 60px rgba(232,42,42,.1),0 20px 60px rgba(0,0,0,.5);}

        /* Theme toggle in dark mode */
        body.dark-mode .theme-toggle-btn{background:var(--card2);border-color:var(--border);}

        /* ── INSTANT THEME SWITCH — no lag ── */
        /* Only transition a handful of key surfaces, never body * */
        .navbar, footer, .admin-card, .stat-card, .service-card,
        .mob-drawer, .dropdown-menu, .adm-welcome{
            transition:background-color .15s ease, border-color .15s ease;
        }
        /* Keep component-level transitions always active */
        .service-card{transition:transform .35s cubic-bezier(.4,0,.2,1),box-shadow .35s,border-color .35s,background-color .18s;}
        .btn-red,.btn-outline-red,.btn-get-quote{transition:transform .3s,box-shadow .3s,opacity .3s;}
        .social-links a,.social-icon,.theme-toggle-btn,.admin-nav-btn{transition:transform .3s,box-shadow .3s,background-color .2s,border-color .2s,color .2s;}
        .navbar-logo-img{transition:transform .35s ease,box-shadow .35s ease;}

body.dark-mode .modal-content { --dark-mode-invert: 1; }
    
    /* Ensure only one modal is open at a time */
    .modal { z-index: 1060; }
    #globalSearchModal { z-index: 1070; }

.sticky-mobile-bar {
            position: fixed;
            bottom: 0; left: 0; right: 0;
            z-index: 9999;
            background: #0d1117;
            border-top: 1px solid rgba(232, 42, 42, 0.4);
            display: flex;
            align-items: center;
            justify-content: space-around;
            padding: 0.4rem 0.2rem;
            box-shadow: 0 -5px 25px rgba(0,0,0,0.5);
        }
        .sm-bar-btn {
            flex: 1;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 2px;
            font-size: 0.68rem;
            font-weight: 700;
            color: #ffffff;
            text-decoration: none !important;
            padding: 0.35rem 0;
            transition: all 0.2s ease;
        }
        .sm-bar-btn.call { color: #34d399; }
        .sm-bar-btn.whatsapp { color: #25D366; }
        .sm-bar-btn.email { color: #60a5fa; }
        .sm-bar-btn.quote { color: #ef4444; }
        .sm-bar-btn i { font-size: 1.1rem; }
        body { padding-bottom: 50px; }
        @media(min-width: 992px) {
            body { padding-bottom: 0; }
        }

.sticky-desktop-sidebar {
            position: fixed;
            right: 0;
            top: 50%;
            transform: translateY(-50%);
            z-index: 9998;
            display: flex;
            flex-direction: column;
            gap: 10px;
            align-items: flex-end;
        }

        .desktop-side-btn {
            display: flex;
            align-items: center;
            justify-content: flex-start;
            gap: 12px;
            text-decoration: none !important;
            color: #ffffff !important;
            font-family: inherit;
            font-size: 0.85rem;
            font-weight: 700;
            white-space: nowrap;
            border-radius: 30px 0 0 30px;
            padding: 6px 16px 6px 6px;
            width: 48px;
            overflow: hidden;
            transition: width 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.25s ease, filter 0.25s ease;
            box-shadow: -4px 4px 15px rgba(0, 0, 0, 0.25);
        }

        .desktop-side-btn:hover {
            width: 145px;
            box-shadow: -6px 8px 25px rgba(0, 0, 0, 0.4);
            filter: brightness(1.08);
        }

        .desktop-side-btn.inquiry:hover {
            width: 165px;
        }

        .desktop-side-btn .side-btn-icon {
            width: 36px;
            height: 36px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.15rem;
            flex-shrink: 0;
            color: #ffffff !important;
            background: rgba(255, 255, 255, 0.22);
            transition: transform 0.25s ease, background-color 0.25s ease;
        }

        .desktop-side-btn:hover .side-btn-icon {
            transform: scale(1.1) rotate(-5deg);
            background: rgba(255, 255, 255, 0.32);
        }

        .desktop-side-btn .side-btn-text {
            opacity: 0;
            transition: opacity 0.25s ease 0.08s;
            letter-spacing: 0.3px;
        }

        .desktop-side-btn:hover .side-btn-text {
            opacity: 1;
        }

        /* Vibrant Brand Gradient Backgrounds */
        .desktop-side-btn.call {
            background: linear-gradient(135deg, #0d6efd, #0b5ed7) !important;
        }

        .desktop-side-btn.whatsapp {
            background: linear-gradient(135deg, #25d366, #1da851) !important;
        }

        .desktop-side-btn.email {
            background: linear-gradient(135deg, #00c6ff, #0072ff) !important;
        }

        .desktop-side-btn.inquiry {
            background: linear-gradient(135deg, #e31e24, #b71217) !important;
        }

.scitw-cookie-banner {
            position: fixed;
            bottom: 20px;
            left: 20px;
            right: 20px;
            max-width: 580px;
            z-index: 99999;
            background: rgba(18, 18, 18, 0.94);
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
            border: 1px solid rgba(255, 193, 7, 0.3);
            border-radius: 16px;
            padding: 20px;
            box-shadow: 0 16px 40px rgba(0, 0, 0, 0.6);
            opacity: 0;
            transform: translateY(30px);
            transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
        }
        .scitw-cookie-banner.show-banner {
            opacity: 1;
            transform: translateY(0);
        }
        @media (max-width: 576px) {
            .scitw-cookie-banner {
                left: 10px;
                right: 10px;
                bottom: 70px;
                padding: 16px;
            }
        }

        /* Modal Stacking and Contrast */
        body.dark-mode .modal-content { --dark-mode-invert: 1; }
        .modal { z-index: 1060; }
        #globalSearchModal { z-index: 1070; }

