
/* Accessibility: Skip Link */
.skip-link {
    position: absolute;
    top: -100px;
    left: 10px;
    background: #0B132B !important;
    color: #FFFFFF !important;
    padding: 8px 16px !important;
    z-index: 999999 !important;
    border-radius: 6px !important;
    text-decoration: none !important;
    transition: top 0.2s ease !important;
}
.skip-link:focus {
    top: 10px !important;
}
@font-face {
    font-family: 'Plus Jakarta Sans Fallback';
    font-display: swap;
    src: local('Arial'), local('Helvetica');
    ascent-override: 95%;
    descent-override: 25%;
    line-gap-override: 0%;
    size-adjust: 102%;
}
@font-face {
    font-family: 'Cinzel Fallback';
    font-display: swap;
    src: local('Times New Roman'), local('Georgia');
    ascent-override: 92%;
    descent-override: 23%;
    line-gap-override: 0%;
    size-adjust: 100%;
}


        /* Universal Viewport & Mobile Sizing Reset */
        *, *::before, *::after {
            box-sizing: border-box !important;
        }

        html, body {
            width: 100% !important;
            max-width: 100% !important;
            overflow-x: hidden !important;
            margin: 0 !important;
            padding: 0 !important;
            -webkit-text-size-adjust: 100% !important;
        }

        .container {
            width: 100% !important;
            max-width: 1200px !important;
            margin: 0 auto !important;
            padding: 0 20px !important;
            box-sizing: border-box !important;
        }

        :root {
            --font-heading: 'Cinzel', 'Cinzel Fallback', Georgia, 'Times New Roman', serif;
            --font-body: 'Plus Jakarta Sans', 'Plus Jakarta Sans Fallback', Arial, system-ui, sans-serif;
            --gold-primary: #8C6A2E;
            --gold-light: #C49F4F;
            --navy-dark: #050D1A;
            --bg-light: #FAFAFB;
            --card-bg: #FFFFFF;
            --border-color: #E2E8F0;
            --shadow-card: 0 10px 30px -5px rgba(5, 13, 26, 0.06);
            --bailable-bg: #ECFDF5;
            --bailable-color: #047857;
            --non-bailable-bg: #FEE2E2;
            --non-bailable-color: #B91C1C;
            --cog-bg: #FEF3C7;
            --cog-color: #B45309;
            --non-cog-bg: #F1F5F9;
            --non-cog-color: #334155;
        }

        body { font-family: var(--font-body); background: #FAFAFB !important; color: #0F172A !important; line-height: 1.7; }
        .container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
        a { text-decoration: none; color: inherit; }

        /* Crisp Light Page Hero Header */
        .page-hero {
            background: #FFFFFF !important;
            color: #050D1A !important;
            padding: 40px 0 25px 0;
            text-align: center;
            border-bottom: 2px solid #E2E8F0;
        }
        .page-hero h1 { font-family: var(--font-heading); font-size: 2.3rem; color: #050D1A !important; margin-bottom: 10px; font-weight: 800; }
        .page-hero p { font-size: 1.05rem; color: #475569 !important; max-width: 820px; margin: 0 auto 15px auto; }
        
        .breadcrumb-box { margin-bottom: 12px; font-size: 0.9rem; color: #8C6A2E !important; font-weight: 600; }
        .breadcrumb-box a { color: #64748B !important; }
        .breadcrumb-box a:hover { color: #8C6A2E !important; }

        /* Search & Filter Container Box */
        .search-filter-box {
            background: #FFFFFF !important;
            padding: 28px 32px;
            border-radius: 16px;
            border: 1.5px solid #CBD5E1 !important;
            box-shadow: 0 10px 30px -5px rgba(5, 13, 26, 0.06) !important;
            margin: 25px auto 30px auto;
        }

        .search-input-wrapper { position: relative; margin-bottom: 16px; }
        .search-input-wrapper .search-icon { position: absolute; left: 20px; top: 50%; transform: translateY(-50%); color: #8C6A2E !important; font-size: 1.25rem; }
        .search-clear-btn {
            position: absolute;
            right: 18px;
            top: 50%;
            transform: translateY(-50%);
            background: #F1F5F9;
            border: none;
            border-radius: 50%;
            width: 28px;
            height: 28px;
            display: none;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            color: #64748B;
            font-size: 0.85rem;
            transition: all 0.2s ease;
        }
        .search-clear-btn:hover { background: #E2E8F0; color: #0F172A; }

        .search-input {
            width: 100%;
            padding: 16px 50px 16px 54px;
            border: 2px solid #CBD5E1 !important;
            border-radius: 10px;
            font-size: 1.05rem;
            outline: none;
            transition: all 0.3s ease;
            font-family: var(--font-body);
            color: #0F172A !important;
            background: #FFFFFF !important;
        }

        .btn-consult-call:hover, .btn-call-consult:hover {
            transform: translateY(-2px) !important;
            box-shadow: 0 8px 24px rgba(140, 106, 46, 0.30) !important;
        }

        .btn-consult-call i, .btn-call-consult i {
            color: #C49F4F !important;
            font-size: 1.05rem !important;
            transition: color 0.3s ease !important;
        }

        .btn-consult-call:hover i, .btn-call-consult:hover i {
            color: #FFFFFF !important;
            -webkit-text-fill-color: #FFFFFF !important;
        }

        .btn-call-action:hover {
            background: #1E293B !important;
            border-color: #C49F4F !important;
            transform: translateY(-1px) !important;
            box-shadow: 0 6px 18px rgba(15, 23, 42, 0.3) !important;
            color: #FFFFFF !important;
            -webkit-text-fill-color: #FFFFFF !important;
        }

        .btn-call-action i {
            color: #E8C382 !important;
        }

    
        /* ==========================================================================
           UNIVERSAL MOBILE VIEWPORT & TOUCH PRECISION (IOS / ANDROID / TABLET)
           ========================================================================== */
        @media (max-width: 768px) {
            /* Prevent iOS automatic input zoom while maintaining sleek aesthetics */
            input[type="text"],
            input[type="number"],
            input[type="date"],
            input[type="search"],
            select,
            .form-control,
            .form-select {
                font-size: 16px !important;
            }
        }

        @media (max-width: 600px) {
            /* Optimized container gutters on small screens */
            .container, .dock-container {
                padding-left: 14px !important;
                padding-right: 14px !important;
            }

            /* Hero Banner Scaling */
            .page-hero {
                padding: 24px 0 16px 0 !important;
            }
            .page-hero h1 {
                font-size: 1.45rem !important;
                line-height: 1.25 !important;
                margin-bottom: 6px !important;
            }
            .page-hero p {
                font-size: 0.86rem !important;
                line-height: 1.45 !important;
                margin-bottom: 8px !important;
            }
            .hero-badge {
                font-size: 0.72rem !important;
                padding: 4px 10px !important;
                margin-bottom: 8px !important;
            }
            .breadcrumb-box {
                font-size: 0.76rem !important;
                margin-bottom: 6px !important;
            }
        }

/* Guarantee Dropdown Menu Visibility - Prevent Clipping */
header, header .container, .nav-container, .primary-nav, .nav-links li, .nav-dropdown {
    overflow: visible !important;
}

/* 2-Line Stacked Navigation Link (Tight Spacing & Unified Alignment) */
.nav-item-stacked {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 6px 12px !important;
    border-radius: 8px !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    background: transparent !important;
    cursor: pointer !important;
    min-width: 72px !important;
}
.nav-item-stacked .nav-line-1,
.nav-item-stacked .nav-line-2 {
    font-family: var(--font-body) !important;
    font-size: 1.02rem !important;
    font-weight: 700 !important;
    color: #0B132B !important;
    -webkit-text-fill-color: #0B132B !important;
    line-height: 1.15 !important;
    display: block !important;
    transition: color 0.2s ease !important;
    white-space: nowrap !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    margin: 0 !important;
    padding: 0 !important;
}
.nav-item-stacked:not(.nav-consult-btn):hover {
    background: rgba(140, 106, 46, 0.08) !important;
}
.nav-item-stacked:not(.nav-consult-btn):hover .nav-line-1,
.nav-item-stacked:not(.nav-consult-btn):hover .nav-line-2 {
    color: #8C6A2E !important;
    -webkit-text-fill-color: #8C6A2E !important;
}

/* Legal Tools Dropdown Container */
.nav-dropdown {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
}
.dropdown-toggle.nav-item-stacked {
    flex-direction: row !important;
    gap: 6px !important;
    padding: 6px 12px !important;
}
.nav-stacked-text {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
}
.nav-stacked-text .nav-line-1, .nav-stacked-text .nav-line-2 {
    font-family: var(--font-body) !important;
    font-size: 1.02rem !important;
    font-weight: 700 !important;
    color: #0B132B !important;
    -webkit-text-fill-color: #0B132B !important;
    line-height: 1.15 !important;
    display: block !important;
    transition: color 0.2s ease !important;
    white-space: nowrap !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    margin: 0 !important;
    padding: 0 !important;
}
.dropdown-arrow {
    font-size: 0.78rem !important;
    color: #8C6A2E !important;
    transition: transform 0.25s ease !important;
    margin-left: 2px !important;
}
.nav-dropdown.open .dropdown-arrow, .nav-dropdown:hover .dropdown-arrow {
    transform: rotate(180deg) !important;
}
.nav-dropdown.open .dropdown-toggle, .nav-dropdown:hover .dropdown-toggle {
    background: rgba(140, 106, 46, 0.08) !important;
}
.dropdown-menu {
    position: absolute !important;
    top: calc(100% + 8px) !important;
    left: 50% !important;
    transform: translateX(-50%) translateY(10px) !important;
    background: #FFFFFF !important;
    border: 1.5px solid #C49F4F !important;
    border-radius: 12px !important;
    box-shadow: 0 12px 35px rgba(11, 19, 43, 0.18) !important;
    min-width: 280px !important;
    padding: 10px !important;
    display: none !important;
    z-index: 10002 !important;
    list-style: none !important;
}
.nav-dropdown.open .dropdown-menu {
    display: block !important;
    transform: translateX(-50%) translateY(0) !important;
}
@media (min-width: 993px) {
    .nav-dropdown:hover .dropdown-menu {
        display: block !important;
        transform: translateX(-50%) translateY(0) !important;
    }
}
.dropdown-menu li {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}
.dropdown-menu a {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 10px 14px !important;
    color: #0F172A !important;
    font-size: 0.90rem !important;
    font-weight: 600 !important;
    border-radius: 8px !important;
    transition: all 0.2s ease !important;
    text-decoration: none !important;
}
.dropdown-menu a:hover {
    background: rgba(140, 106, 46, 0.09) !important;
    color: #8C6A2E !important;
    transform: translateX(3px) !important;
}
.dropdown-menu a i {
    color: #C49F4F !important;
    width: 16px !important;
    text-align: center !important;
}

@media (max-width: 992px) {
    .nav-item-stacked {
        width: 100% !important;
        flex-direction: row !important;
        justify-content: flex-start !important;
        gap: 8px !important;
        padding: 11px 14px !important;
        border-bottom: 1px solid #F1F5F9 !important;
        border-radius: 8px !important;
        box-sizing: border-box !important;
    }
    .nav-stacked-text {
        display: flex !important;
        flex-direction: row !important;
        gap: 6px !important;
        align-items: center !important;
        justify-content: flex-start !important;
        text-align: left !important;
    }
    .nav-dropdown {
        width: 100% !important;
        flex-direction: column !important;
        align-items: stretch !important;
        box-sizing: border-box !important;
    }
    .dropdown-toggle.nav-item-stacked {
        width: 100% !important;
        justify-content: space-between !important;
        padding: 11px 14px !important;
        box-sizing: border-box !important;
    }
    .dropdown-menu {
        display: none !important;
        position: static !important;
        transform: none !important;
        left: auto !important;
        right: auto !important;
        top: auto !important;
        animation: none !important;
        box-shadow: none !important;
        border: 1.5px solid #CBD5E1 !important;
        border-top: 2.5px solid #C49F4F !important;
        background: #F8FAFC !important;
        margin: 6px 0 10px 0 !important;
        border-radius: 10px !important;
        padding: 6px !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        list-style: none !important;
    }
    .nav-dropdown.open .dropdown-menu {
        display: flex !important;
        flex-direction: column !important;
        gap: 4px !important;
        transform: none !important;
        animation: none !important;
        left: auto !important;
        right: auto !important;
        position: static !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    .dropdown-menu li {
        width: 100% !important;
        display: block !important;
        box-sizing: border-box !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    .dropdown-menu li a {
        padding: 10px 12px !important;
        font-size: 0.88rem !important;
        font-weight: 700 !important;
        color: #0F172A !important;
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
        border-radius: 8px !important;
        background: #FFFFFF !important;
        border: 1px solid #E2E8F0 !important;
        text-decoration: none !important;
        box-sizing: border-box !important;
        width: 100% !important;
        white-space: normal !important;
    }
    .dropdown-menu li a:hover, .dropdown-menu li a:active {
        background: #FFFDF9 !important;
        color: #8C6A2E !important;
        border-color: #C49F4F !important;
    }
}


/* ==========================================================================
   RADIANT LUXURY GOLD 'CONSULT NOW' BUTTON IN MOBILE NAVIGATION DRAWER
   ========================================================================== */
@media (max-width: 992px) {
    .nav-links a.nav-consult-btn,
    .nav-links a.btn-gold,
    .nav-links li > a.nav-consult-btn,
    .nav-links a.btn {
        margin-top: 14px !important;
        margin-bottom: 6px !important;
        padding: 14px 22px !important;
        text-align: center !important;
        justify-content: center !important;
        align-items: center !important;
        border-radius: 8px !important;
        background: linear-gradient(135deg, #8C6A2E 0%, #C49F4F 50%, #8C6A2E 100%) !important;
        color: #FFFFFF !important;
        -webkit-text-fill-color: #FFFFFF !important;
        font-weight: 800 !important;
        font-size: 1.05rem !important;
        letter-spacing: 0.5px !important;
        border: 1.5px solid #E8C382 !important;
        box-shadow: 0 6px 22px rgba(140, 106, 46, 0.35) !important;
        display: flex !important;
        gap: 8px !important;
        width: 100% !important;
        box-sizing: border-box !important;
        text-decoration: none !important;
        transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
    }

    .nav-links a.nav-consult-btn:hover,
    .nav-links a.nav-consult-btn:active,
    .nav-links a.btn-gold:hover,
    .nav-links a.btn-gold:active {
        transform: translateY(-2px) scale(1.01) !important;
        box-shadow: 0 10px 28px rgba(140, 106, 46, 0.55) !important;
        border-color: #FFFFFF !important;
        background: linear-gradient(135deg, #A88238 0%, #D4AF37 50%, #8C6A2E 100%) !important;
    }

    .nav-links a.nav-consult-btn .nav-line-1,
    .nav-links a.nav-consult-btn .nav-line-2,
    .nav-links a.nav-consult-btn span {
        color: #FFFFFF !important;
        -webkit-text-fill-color: #FFFFFF !important;
        font-weight: 800 !important;
        font-size: 1.02rem !important;
        letter-spacing: 0.3px !important;
    }
}



.page-hero h1 {
    font-size: 1.85rem !important;
    line-height: 1.35 !important;
    font-family: var(--font-heading) !important;
    font-weight: 800 !important;
    margin-bottom: 8px !important;
    color: #050D1A !important;
}
.box-header-title {
    font-size: 1.15rem !important;
    line-height: 1.4 !important;
    font-weight: 800 !important;
    margin-top: 0 !important;
    margin-bottom: 14px !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}
.bare-chunk-item, .statutory-explanation-card p, .court-ingredients-list li, .roadmap-step-desc, .sidebar-widget p, .page-hero p {
    font-size: 1.00rem !important;
    line-height: 1.70 !important;
    color: #1E293B !important;
}
.stat-pill, .ipc-compare-badge, .statutory-explanation-badge, .court-illustration-badge, .roadmap-step-badge, .btn-nav-prev, .btn-nav-next, .btn-nav-hub {
    font-size: 0.85rem !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
}

.stat-pills-row {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    justify-content: center !important;
    margin-top: 14px !important;
}
.stat-pill {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 6px 14px !important;
    border-radius: 6px !important;
    font-weight: 700 !important;
}
.pill-special {
    background: #FAF5FF !important;
    color: #6B21A8 !important;
    border: 1px solid #E9D5FF !important;
}
.pill-court {
    background: #EFF6FF !important;
    color: #1E40AF !important;
    border: 1px solid #BFDBFE !important;
}
.ipc-compare-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    background: #FFFBEB !important;
    color: #92400E !important;
    border: 1px solid #FDE68A !important;
    padding: 6px 14px !important;
    border-radius: 6px !important;
    font-weight: 700 !important;
}

.content-grid {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 24px !important;
    margin-bottom: 50px !important;
}
.content-grid > div:first-child {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}
/* If a page specifically includes a landmark case sidebar, preserve 2-column layout */
.content-grid:has(aside.sidebar),
.content-grid:has(.sidebar) {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 340px !important;
    gap: 32px !important;
}
@media (max-width: 992px) {
    .content-grid:has(aside.sidebar),
    .content-grid:has(.sidebar) {
        grid-template-columns: 1fr !important;
    }
}

.legal-bare-act-box {
    background: #FFFFFF !important;
    border: 1.5px solid #E2E8F0 !important;
    border-left: 5px solid #8C6A2E !important;
    border-radius: 12px !important;
    padding: 28px 32px !important;
    margin-bottom: 28px !important;
    box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.04), 0 0 0 1px rgba(140, 106, 46, 0.06) !important;
    box-sizing: border-box !important;
    position: relative !important;
}
.legal-bare-act-box .box-header-title {
    color: #8C6A2E !important;
    border-bottom: 1.5px solid #F1E5D1 !important;
    padding-bottom: 14px !important;
    margin-bottom: 20px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
}
.legal-bare-act-box .box-header-title .title-left {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    font-size: 1.25rem !important;
    font-weight: 800 !important;
    color: #8C6A2E !important;
}
.legal-bare-act-box .box-header-title i {
    color: #8C6A2E !important;
    font-size: 1.15rem !important;
}

.statutory-color-legend {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    background: #FDFBF7 !important;
    border: 1px solid #EFE6D5 !important;
    padding: 8px 14px !important;
    border-radius: 6px !important;
    margin-bottom: 20px !important;
    font-size: 0.82rem !important;
    font-weight: 700 !important;
    color: #475569 !important;
}
.statutory-color-legend .legend-item {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
}
.statutory-color-legend .dot {
    width: 8px !important;
    height: 8px !important;
    border-radius: 50% !important;
    display: inline-block !important;
}
.dot-emphasis { background: #991B1B !important; }
.dot-intent { background: #92400E !important; }
.dot-action { background: #1E40AF !important; }
.dot-penalty { background: #C2410C !important; }
.dot-timeline { background: #065F46 !important; }
.dot-money { background: #6B21A8 !important; }

.header-actions {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
}
.statutory-official-tag {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    background: #FEF3C7 !important;
    color: #92400E !important;
    border: 1px solid #FDE68A !important;
    padding: 4px 10px !important;
    border-radius: 4px !important;
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.02em !important;
}
.copy-section-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    background: #F8FAFC !important;
    color: #475569 !important;
    border: 1px solid #CBD5E1 !important;
    padding: 4px 12px !important;
    border-radius: 4px !important;
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}
.copy-section-btn:hover {
    background: #8C6A2E !important;
    color: #FFFFFF !important;
    border-color: #8C6A2E !important;
}

.bare-act-content-wrap {
    color: #1E293B !important;
    font-size: 1.05rem !important;
    line-height: 1.85 !important;
    letter-spacing: -0.005em !important;
}
.bare-chunk-item {
    margin-bottom: 16px !important;
}
.bare-subclause-item {
    padding-left: 20px !important;
    margin-bottom: 10px !important;
    position: relative !important;
}
.subclause-letter {
    color: #8C6A2E !important;
    font-weight: 800 !important;
    margin-right: 4px !important;
}
.subclause-ordinal {
    color: #8C6A2E !important;
    font-weight: 800 !important;
    margin-right: 4px !important;
}
.subsection-num {
    color: #8C6A2E !important;
    font-weight: 800 !important;
    margin-right: 4px !important;
}
.bare-proviso-block {
    background: #FFFBEB !important;
    border-left: 3.5px solid #D97706 !important;
    padding: 14px 18px !important;
    border-radius: 0 6px 6px 0 !important;
    margin: 16px 0 !important;
    color: #78350F !important;
    font-size: 0.98rem !important;
    line-height: 1.70 !important;
}
.proviso-lead {
    font-weight: 800 !important;
    color: #B45309 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin-right: 4px !important;
}
.bare-explanation-block {
    background: #F0FDF4 !important;
    border-left: 3.5px solid #16A34A !important;
    padding: 14px 18px !important;
    border-radius: 0 6px 6px 0 !important;
    margin: 16px 0 !important;
    color: #14532D !important;
    font-size: 0.98rem !important;
    line-height: 1.70 !important;
}
.explanation-lead {
    font-weight: 800 !important;
    color: #15803D !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin-right: 4px !important;
}
.bare-exception-block {
    background: #FEF2F2 !important;
    border-left: 3.5px solid #DC2626 !important;
    padding: 14px 18px !important;
    border-radius: 0 6px 6px 0 !important;
    margin: 16px 0 !important;
    color: #7F1D1D !important;
    font-size: 0.98rem !important;
    line-height: 1.70 !important;
}
.exception-lead {
    font-weight: 800 !important;
    color: #B91C1C !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin-right: 4px !important;
}

.bare-illustration-block {
    background: #F8FAFC !important;
    border: 1px solid #E2E8F0 !important;
    border-radius: 8px !important;
    padding: 16px 20px !important;
    margin: 20px 0 !important;
}
.illustration-lead {
    font-weight: 800 !important;
    color: #475569 !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 0.95rem !important;
    margin-bottom: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
}
.illustration-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}
.illustration-sub-item {
    padding-left: 8px !important;
    font-size: 0.96rem !important;
    line-height: 1.65 !important;
    color: #334155 !important;
}
.ill-letter {
    color: #64748B !important;
    font-weight: 800 !important;
    margin-right: 4px !important;
}

.statutory-def-dock {
    margin-top: 24px !important;
    padding-top: 18px !important;
    border-top: 1px dashed rgba(140, 106, 46, 0.25) !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}
.def-dock-label {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    margin-bottom: 4px !important;
}
.def-dock-label-left {
    font-size: 0.82rem !important;
    font-weight: 800 !important;
    color: #8C6A2E !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
}
.def-dock-hint {
    font-size: 0.74rem !important;
    color: #64748B !important;
    font-style: italic !important;
}
.def-chips-wrap {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
}
.statutory-def-chip {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    background: #FFFFFF !important;
    border: 1px solid rgba(140, 106, 46, 0.25) !important;
    color: #0B132B !important;
    padding: 5px 12px !important;
    border-radius: 20px !important;
    font-size: 0.84rem !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
    box-shadow: 0 2px 5px rgba(11, 19, 43, 0.03) !important;
}
.statutory-def-chip:hover {
    background: #8C6A2E !important;
    color: #FFFFFF !important;
    border-color: #8C6A2E !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(140, 106, 46, 0.25) !important;
}
.statutory-def-chip:hover .def-sec-badge {
    background: rgba(255, 255, 255, 0.25) !important;
    color: #FFFFFF !important;
}
.statutory-def-chip .def-sec-badge {
    background: #FAF6ED !important;
    color: #8C6A2E !important;
    font-size: 0.72rem !important;
    font-weight: 800 !important;
    padding: 2px 6px !important;
    border-radius: 10px !important;
    margin-left: 2px !important;
}
.def-sec-badge {
    background: #F1F5F9 !important;
    color: #64748B !important;
    font-size: 0.72rem !important;
    font-weight: 800 !important;
    padding: 2px 6px !important;
    border-radius: 10px !important;
}
.statutory-def-chip:hover .def-sec-badge {
    background: #FEF3C7 !important;
    color: #92400E !important;
}
.sec-interlink {
    color: #2563EB !important;
    font-weight: 700 !important;
    text-decoration: underline !important;
    text-decoration-thickness: 1.5px !important;
    text-underline-offset: 3px !important;
    transition: color 0.2s ease !important;
}
.sec-interlink:hover {
    color: #1D4ED8 !important;
    text-decoration-color: #1D4ED8 !important;
    background: #EFF6FF !important;
    border-radius: 3px !important;
}

.section-nav-footer {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    background: #FFFFFF !important;
    border: 1.5px solid #CBD5E1 !important;
    border-radius: 12px !important;
    padding: 14px 20px !important;
    margin-top: 30px !important;
    margin-bottom: 30px !important;
    box-shadow: 0 4px 16px rgba(5, 13, 26, 0.04) !important;
}
.btn-nav-prev, .btn-nav-next {
    background: #F8FAFC !important;
    border: 1.5px solid #CBD5E1 !important;
    color: #1E293B !important;
    padding: 10px 18px !important;
    border-radius: 8px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    transition: all 0.2s ease !important;
}
.btn-nav-hub {
    background: linear-gradient(135deg, #1E3A8A 0%, #3B82F6 100%) !important;
    color: #FFFFFF !important;
    padding: 10px 20px !important;
    border-radius: 8px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
    transition: all 0.2s ease !important;
}

/* ==========================================================================
   STATUTORY SEMANTIC FONT COLORS & LEGEND (DIRECT EMBED)
   ========================================================================== */
.law-emphasis {
    color: #6D28D9 !important; /* Royal Violet - Statutory Overrides, Mandates & Legal Fictions */
    font-weight: 700 !important;
    background: rgba(124, 58, 237, 0.08) !important;
    padding: 1px 5px !important;
    border-radius: 4px !important;
    display: inline !important;
}
.law-intent {
    color: #3730A3 !important; /* Royal Indigo - Mens Rea */
    font-weight: 700 !important;
    background: rgba(79, 70, 229, 0.08) !important;
    padding: 1px 5px !important;
    border-radius: 4px !important;
    display: inline !important;
}
.law-action {
    color: #0369A1 !important; /* Vivid Sky Blue - Actus Reus */
    font-weight: 700 !important;
    background: rgba(2, 132, 199, 0.08) !important;
    padding: 1px 5px !important;
    border-radius: 4px !important;
    display: inline !important;
}
.law-penalty {
    color: #B91C1C !important; /* Venetian Crimson - Punishments & Penalties */
    font-weight: 700 !important;
    background: rgba(220, 38, 38, 0.08) !important;
    padding: 1px 5px !important;
    border-radius: 4px !important;
    display: inline !important;
}
.law-timeline {
    color: #B45309 !important; /* Amber Bronze - Timelines & Limitation */
    font-weight: 700 !important;
    background: rgba(217, 119, 6, 0.12) !important;
    padding: 1px 5px !important;
    border-radius: 4px !important;
    display: inline !important;
}
.law-money {
    color: #047857 !important; /* Emerald Green - Monetary Limits & Fines */
    font-weight: 700 !important;
    background: rgba(5, 150, 105, 0.08) !important;
    padding: 1px 5px !important;
    border-radius: 4px !important;
    display: inline !important;
}
.statutory-color-legend {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 12px !important;
    background: #F8FAFC !important;
    border: 1px solid #E2E8F0 !important;
    border-radius: 8px !important;
    padding: 7px 14px !important;
    margin-bottom: 18px !important;
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    color: #64748B !important;
}
.statutory-color-legend .legend-item {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
}
.statutory-color-legend .dot {
    width: 8px !important;
    height: 8px !important;
    border-radius: 50% !important;
    display: inline-block !important;
}
.statutory-color-legend .dot-emphasis { background: #7C3AED !important; }
.statutory-color-legend .dot-intent { background: #4F46E5 !important; }
.statutory-color-legend .dot-action { background: #0284C7 !important; }
.statutory-color-legend .dot-penalty { background: #DC2626 !important; }
.statutory-color-legend .dot-timeline { background: #D97706 !important; }
.statutory-color-legend .dot-money { background: #059669 !important; }


/* === BNS Legacy Compatibility Classes (Zero-Disturbance) === */
.section-main-card {
    border-radius: 16px !important;
    border: 1.5px solid #CBD5E1 !important;
    padding: 32px 36px !important;
    box-shadow: 0 10px 30px -5px rgba(5, 13, 26, 0.06) !important;
    margin-bottom: 30px !important;
    background: #FFFFFF !important;
}
.seq-nav-bar {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 12px !important;
    margin-bottom: 24px !important;
    margin-top: 10px !important;
}
.nav-seq-btn {
    color: #334155 !important;
    padding: 8px 16px !important;
    border-radius: 8px !important;
    font-size: 0.85rem !important;
    font-weight: 700 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    border: 1px solid #CBD5E1 !important;
    background: #FFFFFF !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
}
.nav-seq-btn:hover {
    background: #FFFDF9 !important;
    color: #8C6A2E !important;
    border-color: #C49F4F !important;
    transform: translateY(-1px) !important;
}
.nav-hub-btn {
    background: #FAF6ED !important;
    color: #8C6A2E !important;
    border: 1.5px solid #C49F4F !important;
    padding: 8px 18px !important;
    border-radius: 8px !important;
    font-size: 0.85rem !important;
    font-weight: 800 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
}
.nav-hub-btn:hover {
    background: #C49F4F !important;
    color: #FFFFFF !important;
    transform: translateY(-1px) !important;
}
.badge-cluster {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin-bottom: 15px !important;
}
.law-badge {
    padding: 4px 10px !important;
    border-radius: 6px !important;
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
}
.law-sec-badge {
    background: #050D1A !important;
    color: #C5A059 !important;
}
.law-ipc-badge {
    background: #FAF6ED !important;
    color: #8C6A2E !important;
    border: 1px solid #E5DECD !important;
}
.badge-gray {
    background: #F1F5F9 !important;
    color: #475569 !important;
    border: 1px solid #CBD5E1 !important;
}
.defence-roadmap-box {
    background: #FFFFFF !important;
    border: 1.5px solid #CBD5E1 !important;
    border-radius: 14px !important;
    padding: 24px 26px !important;
    margin-bottom: 25px !important;
    box-shadow: 0 4px 15px rgba(5, 13, 26, 0.04) !important;
}

/* SEO-Optimized Bare Act Heading (H2 inside .box-header-title flex container) */
.bare-act-heading {
    font-size: 1.25rem !important;
    font-weight: 800 !important;
    color: #8C6A2E !important;
    line-height: 1.4 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
}

/* ==========================================================================
   MOBILE RESPONSIVENESS ENHANCEMENTS (Max Width 640px)
   ========================================================================== */
@media (max-width: 640px) {
    .legal-bare-act-box {
        padding: 20px 16px !important;
    }
    .legal-bare-act-box .box-header-title,
    .box-header-title {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 12px !important;
    }
    .bare-act-heading {
        font-size: 1.10rem !important;
        line-height: 1.35 !important;
    }
    .header-actions {
        width: 100% !important;
        justify-content: space-between !important;
    }
    .statutory-color-legend {
        flex-wrap: wrap !important;
        gap: 8px 12px !important;
        padding: 10px 12px !important;
    }
    .section-nav-footer {
        flex-direction: column !important;
        gap: 10px !important;
        padding: 14px 16px !important;
    }
    .section-nav-footer .btn-nav-prev,
    .section-nav-footer .btn-nav-hub,
    .section-nav-footer .btn-nav-next {
        width: 100% !important;
        justify-content: center !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }
    .plain-terms-box {
        padding: 20px 16px !important;
    }
}


/* ==========================================================================
   MASTER DESKTOP 3-COLUMN & MOBILE NAVIGATION ENGINE
   ========================================================================== */
@media (min-width: 993px) {
    .nav-mega-dropdown {
        position: relative !important;
    }

    .nav-mega-dropdown .mega-menu-content,
    #lawsDropdownMenu {
        position: absolute !important;
        top: calc(100% + 4px) !important;
        left: 50% !important;
        transform: translateX(-56%) translateY(5px) !important;
        width: min(1040px, calc(100vw - 32px)) !important;
        min-width: min(960px, calc(100vw - 32px)) !important;
        max-width: 1060px !important;
        background: #FFFFFF !important;
        border: 1.5px solid #C49F4F !important;
        border-radius: 10px !important;
        box-shadow: 0 10px 30px rgba(11, 19, 43, 0.15) !important;
        padding: 8px 16px 10px 16px !important;
        display: none !important;
        z-index: 10002 !important;
        box-sizing: border-box !important;
        opacity: 0 !important;
        visibility: hidden !important;
        transition: opacity 0.2s ease, transform 0.2s ease !important;
    }

    .nav-mega-dropdown:hover .mega-menu-content,
    .nav-mega-dropdown.open .mega-menu-content,
    #lawsDropdown:hover #lawsDropdownMenu,
    #lawsDropdown.open #lawsDropdownMenu {
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: translateX(-56%) translateY(0) !important;
    }

    .mega-menu-grid {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 16px !important;
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .mega-menu-col {
        display: flex !important;
        flex-direction: column !important;
        gap: 1.5px !important;
        min-width: 0 !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .mega-col-title {
        font-family: var(--font-heading) !important;
        font-size: 0.70rem !important;
        font-weight: 800 !important;
        color: #0B132B !important;
        text-transform: uppercase !important;
        letter-spacing: 0.35px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 5px !important;
        padding: 2.5px 6px !important;
        margin: 5px 0 1.5px 0 !important;
        background: linear-gradient(135deg, rgba(196, 159, 79, 0.16) 0%, rgba(140, 106, 46, 0.08) 100%) !important;
        border-left: 3px solid #8C6A2E !important;
        border-top: 1px solid rgba(196, 159, 79, 0.30) !important;
        border-right: 1px solid rgba(196, 159, 79, 0.20) !important;
        border-bottom: 1px solid rgba(196, 159, 79, 0.30) !important;
        border-radius: 3px !important;
        cursor: default !important;
        pointer-events: none !important;
        height: auto !important;
        min-height: auto !important;
        max-height: none !important;
        box-sizing: border-box !important;
        width: 100% !important;
    }

    .mega-menu-col > .mega-col-title:first-child {
        margin-top: 0 !important;
    }

    .mega-title-left {
        display: flex !important;
        align-items: center !important;
        gap: 5px !important;
        width: 100% !important;
        min-width: 0 !important;
        white-space: nowrap !important;
    }

    .mega-col-title i {
        color: #8C6A2E !important;
        font-size: 0.72rem !important;
        flex-shrink: 0 !important;
    }

    .mega-sub-arrow {
        display: none !important;
    }

    .mega-count-badge {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        background: #8C6A2E !important;
        color: #FFFFFF !important;
        font-size: 0.58rem !important;
        font-weight: 800 !important;
        padding: 0 4px !important;
        border-radius: 6px !important;
        margin-left: auto !important;
        line-height: 1.2 !important;
        flex-shrink: 0 !important;
    }

    .mega-menu-list {
        list-style: none !important;
        padding: 0 !important;
        margin: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 0px !important;
        background: transparent !important;
        border: none !important;
        max-height: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    .mega-menu-list li {
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        display: block !important;
        box-sizing: border-box !important;
    }

    .mega-menu-list li a {
        display: flex !important;
        align-items: center !important;
        gap: 5px !important;
        font-size: 0.67rem !important;
        font-weight: 550 !important;
        color: #334155 !important;
        text-decoration: none !important;
        padding: 1.5px 4px !important;
        border-radius: 3px !important;
        background: transparent !important;
        border: none !important;
        height: auto !important;
        min-height: auto !important;
        max-height: none !important;
        transition: all 0.12s ease !important;
        line-height: 1.25 !important;
        white-space: nowrap !important;
        overflow: visible !important;
        text-overflow: clip !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .mega-menu-list li a:hover {
        background: rgba(140, 106, 46, 0.08) !important;
        color: #8C6A2E !important;
        padding-left: 6px !important;
    }

    .mega-menu-list li a i {
        font-size: 0.64rem !important;
        color: #C5A059 !important;
        min-width: 11px !important;
        text-align: center !important;
        flex-shrink: 0 !important;
    }

    .nav-dropdown .dropdown-menu,
    #toolsDropdownMenu {
        position: absolute !important;
        top: calc(100% + 4px) !important;
        left: 50% !important;
        transform: translateX(-50%) translateY(6px) !important;
        background: #FFFFFF !important;
        border: 1.5px solid #C49F4F !important;
        border-radius: 12px !important;
        box-shadow: 0 12px 35px rgba(11, 19, 43, 0.18) !important;
        min-width: 270px !important;
        padding: 8px !important;
        display: none !important;
        z-index: 10002 !important;
        list-style: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
        transition: opacity 0.2s ease, transform 0.2s ease !important;
    }

    .nav-dropdown:hover .dropdown-menu,
    .nav-dropdown.open .dropdown-menu,
    #toolsDropdown:hover #toolsDropdownMenu,
    #toolsDropdown.open #toolsDropdownMenu {
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: translateX(-50%) translateY(0) !important;
    }

    .nav-dropdown .dropdown-menu li,
    #toolsDropdownMenu li {
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
    }

    .nav-dropdown .dropdown-menu li a,
    #toolsDropdownMenu li a {
        display: flex !important;
        align-items: center !important;
        gap: 9px !important;
        padding: 8px 12px !important;
        color: #0F172A !important;
        font-size: 0.88rem !important;
        font-weight: 600 !important;
        border-radius: 6px !important;
        background: transparent !important;
        border: none !important;
        height: auto !important;
        min-height: auto !important;
        transition: all 0.15s ease !important;
        text-decoration: none !important;
    }

    .nav-dropdown .dropdown-menu li a:hover,
    #toolsDropdownMenu li a:hover {
        background: rgba(140, 106, 46, 0.09) !important;
        color: #8C6A2E !important;
        transform: translateX(3px) !important;
    }
}

@media (max-width: 992px) {
    .nav-links {
        display: none !important;
        flex-direction: column !important;
        position: fixed !important;
        top: 58px !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        background: #FFFFFF !important;
        padding: 14px 20px 30px 20px !important;
        border-bottom: 3px solid #8C6A2E !important;
        box-shadow: 0 20px 45px rgba(5, 13, 26, 0.20) !important;
        max-height: calc(100vh - 60px) !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
        z-index: 999999 !important;
        box-sizing: border-box !important;
        gap: 0 !important;
    }
    .nav-links.active {
        display: flex !important;
    }

    .nav-links li {
        width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        margin: 0 !important;
        padding: 0 !important;
        border: none !important;
        box-sizing: border-box !important;
    }

    .nav-links a,
    .nav-links li > a,
    .nav-links .nav-item-stacked,
    .nav-links .dropdown-toggle.nav-item-stacked {
        width: 100% !important;
        height: 50px !important;
        min-height: 50px !important;
        max-height: 50px !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 8px !important;
        padding: 0 14px !important;
        margin: 0 !important;
        border-radius: 8px !important;
        border-top: none !important;
        border-left: none !important;
        border-right: none !important;
        border-bottom: 1px solid #F1F5F9 !important;
        box-sizing: border-box !important;
        text-align: left !important;
        font-size: 1.02rem !important;
        font-weight: 700 !important;
        line-height: 1.2 !important;
        color: #0B132B !important;
        -webkit-text-fill-color: #0B132B !important;
        background: transparent !important;
        text-decoration: none !important;
    }

    .nav-links .dropdown-toggle.nav-item-stacked {
        justify-content: space-between !important;
    }

    .nav-stacked-text {
        display: flex !important;
        flex-direction: row !important;
        gap: 6px !important;
        align-items: center !important;
        justify-content: flex-start !important;
        text-align: left !important;
    }

    .nav-links .dropdown-arrow {
        margin-left: auto !important;
        font-size: 0.85rem !important;
        color: #8C6A2E !important;
        transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
        flex-shrink: 0 !important;
    }
    .nav-dropdown.open .dropdown-arrow {
        transform: rotate(180deg) !important;
        color: #C49F4F !important;
    }

    .nav-dropdown:not(.open) .dropdown-menu,
    .nav-mega-dropdown:not(.open) .mega-menu-content,
    #lawsDropdown:not(.open) #lawsDropdownMenu,
    #toolsDropdown:not(.open) #toolsDropdownMenu {
        display: none !important;
        height: 0 !important;
        max-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
        overflow: hidden !important;
    }

    .nav-dropdown.open .dropdown-menu,
    #toolsDropdown.open #toolsDropdownMenu {
        display: flex !important;
        flex-direction: column !important;
        gap: 5px !important;
        max-height: 600px !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: translateY(0) !important;
        padding: 6px !important;
        margin: 6px 0 10px 0 !important;
        border: 1.5px solid #CBD5E1 !important;
        border-top: 2.5px solid #C49F4F !important;
        border-radius: 10px !important;
        background: #F8FAFC !important;
        list-style: none !important;
        box-sizing: border-box !important;
        width: 100% !important;
    }

    .nav-mega-dropdown.open .mega-menu-content,
    #lawsDropdown.open #lawsDropdownMenu {
        display: block !important;
        max-height: 4000px !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: translateY(0) !important;
        padding: 6px !important;
        margin: 6px 0 10px 0 !important;
        border: 1.5px solid #CBD5E1 !important;
        border-top: 2.5px solid #C49F4F !important;
        border-radius: 10px !important;
        background: #F8FAFC !important;
        box-sizing: border-box !important;
        width: 100% !important;
    }

    .mega-menu-grid {
        display: flex !important;
        flex-direction: column !important;
        gap: 5px !important;
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .mega-menu-col {
        display: contents !important;
    }

    .mega-col-title {
        cursor: pointer !important;
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        padding: 0 12px !important;
        margin: 0 !important;
        background: linear-gradient(135deg, #FFFFFF 0%, #FDFBF7 100%) !important;
        border: 1.5px solid #CBD5E1 !important;
        border-left: 3.5px solid #8C6A2E !important;
        border-radius: 7px !important;
        color: #0F172A !important;
        font-size: 0.86rem !important;
        font-weight: 700 !important;
        user-select: none !important;
        box-sizing: border-box !important;
        width: 100% !important;
        height: 40px !important;
        min-height: 40px !important;
        max-height: 40px !important;
        transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
    }
    .mega-col-title:hover, .mega-col-title:active {
        background: #FFFDF9 !important;
        border-color: #C49F4F !important;
        color: #8C6A2E !important;
    }
    .mega-col-title.open {
        background: #FAF6ED !important;
        border-color: #C49F4F !important;
        border-left-color: #C49F4F !important;
        color: #8C6A2E !important;
        border-bottom-left-radius: 0 !important;
        border-bottom-right-radius: 0 !important;
        border-bottom: 1px dashed #C49F4F !important;
    }

    .mega-count-badge {
        display: inline-block !important;
        background: rgba(140, 106, 46, 0.15) !important;
        color: #8C6A2E !important;
        font-size: 0.70rem !important;
        font-weight: 800 !important;
        padding: 1px 6px !important;
        border-radius: 10px !important;
        margin-left: 4px !important;
    }

    .mega-sub-arrow {
        display: inline-block !important;
        font-size: 0.76rem !important;
        color: #8C6A2E !important;
        transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
        flex-shrink: 0 !important;
    }
    .mega-col-title.open .mega-sub-arrow {
        transform: rotate(180deg) !important;
        color: #C49F4F !important;
    }

    .mega-menu-list {
        display: none !important;
        flex-direction: column !important;
        gap: 2px !important;
        padding: 0 !important;
        margin: 0 !important;
        list-style: none !important;
        background: #FFFFFF !important;
        border: 1.5px solid transparent !important;
        box-sizing: border-box !important;
        width: 100% !important;
    }
    .mega-col-title.open + .mega-menu-list,
    .mega-menu-list.open {
        display: flex !important;
        padding: 4px 6px !important;
        margin: 0 !important;
        border-color: #CBD5E1 !important;
        border-top: none !important;
        border-bottom-left-radius: 7px !important;
        border-bottom-right-radius: 7px !important;
    }

    .nav-dropdown.open .dropdown-menu li,
    #toolsDropdown.open #toolsDropdownMenu li,
    .mega-menu-list li {
        width: 100% !important;
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    .nav-dropdown.open .dropdown-menu li a,
    #toolsDropdown.open #toolsDropdownMenu li a {
        width: 100% !important;
        height: auto !important;
        min-height: 40px !important;
        max-height: none !important;
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
        padding: 8px 12px !important;
        margin: 0 !important;
        border-radius: 6px !important;
        background: #FFFFFF !important;
        border: 1px solid #E2E8F0 !important;
        color: #0F172A !important;
        -webkit-text-fill-color: #0F172A !important;
        font-size: 0.88rem !important;
        font-weight: 700 !important;
        line-height: 1.3 !important;
        text-decoration: none !important;
        box-sizing: border-box !important;
        white-space: normal !important;
        transition: all 0.2s ease !important;
    }

    .nav-dropdown.open .dropdown-menu li a:hover,
    .nav-dropdown.open .dropdown-menu li a:active,
    #toolsDropdown.open #toolsDropdownMenu li a:hover,
    #toolsDropdown.open #toolsDropdownMenu li a:active {
        background: #FFFDF9 !important;
        color: #8C6A2E !important;
        -webkit-text-fill-color: #8C6A2E !important;
        border-color: #C49F4F !important;
        padding-left: 14px !important;
    }

    .nav-dropdown.open .dropdown-menu li a i,
    #toolsDropdown.open #toolsDropdownMenu li a i {
        width: 18px !important;
        text-align: center !important;
        font-size: 0.88rem !important;
        color: #8C6A2E !important;
        flex-shrink: 0 !important;
    }

    .mega-menu-list li a {
        width: 100% !important;
        height: auto !important;
        min-height: 26px !important;
        max-height: none !important;
        display: flex !important;
        align-items: center !important;
        gap: 7px !important;
        padding: 3.5px 7px !important;
        margin: 0 !important;
        border-radius: 5px !important;
        background: #F8FAFC !important;
        border: 1px solid #E2E8F0 !important;
        color: #334155 !important;
        font-size: 0.75rem !important;
        font-weight: 600 !important;
        line-height: 1.2 !important;
        text-decoration: none !important;
        box-sizing: border-box !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
        transition: all 0.15s ease !important;
    }

    .mega-menu-list li a:hover,
    .mega-menu-list li a:active {
        background: rgba(140, 106, 46, 0.08) !important;
        color: #8C6A2E !important;
        border-color: #C49F4F !important;
        padding-left: 9px !important;
    }

    .mega-menu-list li a i {
        font-size: 0.72rem !important;
        color: #C5A059 !important;
        min-width: 13px !important;
        text-align: center !important;
        flex-shrink: 0 !important;
    }

    .nav-links a.nav-consult-btn,
    .nav-links li > a.nav-consult-btn {
        margin-top: 14px !important;
        margin-bottom: 6px !important;
        height: 48px !important;
        min-height: 48px !important;
        max-height: 48px !important;
        justify-content: center !important;
        border-bottom: none !important;
    }
}


/* ==========================================================================
   GLOBAL 3 FLOATING ACTION BUTTONS (CALL, WHATSAPP, BACK TO TOP)
   ========================================================================== */
.floating-cta {
    position: fixed !important;
    bottom: 28px !important;
    right: 28px !important;
    left: auto !important;
    top: auto !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 99999 !important;
    pointer-events: auto !important;
    transform: translateZ(0) !important;
}

.floating-cta .cta-btn,
.floating-cta a.cta-btn,
a.cta-whatsapp,
a.cta-phone {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
    font-size: 1.35rem !important;
    box-shadow: 0 6px 20px rgba(11, 19, 43, 0.22) !important;
    cursor: pointer !important;
    transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.25s ease !important;
    text-decoration: none !important;
    position: relative !important;
    border: none !important;
    touch-action: manipulation !important;
}

a.cta-phone {
    background: linear-gradient(135deg, #0B132B 0%, #1C2541 100%) !important;
    border: 1.5px solid #C49F4F !important;
    color: #C49F4F !important;
    -webkit-text-fill-color: #C49F4F !important;
}

a.cta-whatsapp {
    background: linear-gradient(135deg, #075E54 0%, #128C7E 100%) !important;
    border: 1.5px solid #075E54 !important;
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
}

.floating-cta .cta-btn:hover,
a.cta-whatsapp:hover,
a.cta-phone:hover {
    transform: scale(1.10) translateY(-3px) !important;
    box-shadow: 0 10px 28px rgba(11, 19, 43, 0.32) !important;
}

#backToTop {
    position: fixed !important;
    bottom: 28px !important;
    left: 28px !important;
    right: auto !important;
    z-index: 99999 !important;
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    border-radius: 50% !important;
    background: #FFFFFF !important;
    color: #8C6A2E !important;
    -webkit-text-fill-color: #8C6A2E !important;
    border: 2px solid #C49F4F !important;
    display: none !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 1.15rem !important;
    cursor: pointer !important;
    box-shadow: 0 6px 20px rgba(11, 19, 43, 0.16) !important;
    transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    touch-action: manipulation !important;
}

#backToTop:hover {
    background: #8C6A2E !important;
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
    transform: scale(1.10) translateY(-3px) !important;
    box-shadow: 0 10px 28px rgba(140, 106, 46, 0.30) !important;
}

@media (max-width: 768px) {
    .floating-cta {
        bottom: 20px !important;
        right: 16px !important;
        gap: 10px !important;
    }
    .floating-cta .cta-btn,
    .floating-cta a.cta-btn,
    a.cta-whatsapp,
    a.cta-phone {
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        min-height: 44px !important;
        font-size: 1.20rem !important;
    }
    #backToTop {
        bottom: 24px !important;
        right: 16px !important;
        left: auto !important;
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        min-height: 44px !important;
        font-size: 1.05rem !important;
    }
    body:has(.floating-cta) #backToTop,
    body:has(a.cta-whatsapp) #backToTop {
        bottom: 78px !important;
    }
}


/* ==========================================================================
   UNIVERSAL 100% RELIABLE BACK TO TOP BUTTON
   ========================================================================== */
#backToTop,
button#backToTop,
.back-to-top {
    position: fixed !important;
    bottom: 28px !important;
    left: 28px !important;
    right: auto !important;
    z-index: 99999 !important;
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    border-radius: 50% !important;
    background: #FFFFFF !important;
    color: #8C6A2E !important;
    -webkit-text-fill-color: #8C6A2E !important;
    border: 2px solid #C49F4F !important;
    display: none !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 1.15rem !important;
    cursor: pointer !important;
    box-shadow: 0 6px 20px rgba(11, 19, 43, 0.16) !important;
    transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1), background 0.25s ease !important;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    touch-action: manipulation !important;
}

#backToTop.visible,
#backToTop.show,
#backToTop.active,
button#backToTop.visible,
button#backToTop.show,
button#backToTop.active {
    display: flex !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) scale(1) !important;
}

#backToTop:hover,
button#backToTop:hover {
    background: linear-gradient(135deg, #8C6A2E 0%, #C49F4F 100%) !important;
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
    border-color: #E8C382 !important;
    transform: scale(1.10) translateY(-3px) !important;
    box-shadow: 0 10px 28px rgba(140, 106, 46, 0.35) !important;
}

#backToTop i,
button#backToTop i {
    color: inherit !important;
    -webkit-text-fill-color: inherit !important;
    font-size: 1.10rem !important;
}

@media (max-width: 768px) {
    #backToTop,
    button#backToTop,
    .back-to-top {
        bottom: 24px !important;
        right: 16px !important;
        left: auto !important;
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        min-height: 44px !important;
        font-size: 1.05rem !important;
    }
    body:has(.floating-cta) #backToTop,
    body:has(a.cta-whatsapp) #backToTop {
        bottom: 78px !important;
    }
}


/* ==========================================================================
   ENHANCED MOBILE & DESKTOP RESPONSIVE ENGINE (Tables, Calculators, Bare Acts)
   ========================================================================== */

/* 1. Responsive Multi-Column Table Architecture */
.table-responsive, .table-wrapper {
    width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    margin: 24px 0 !important;
    border-radius: 12px !important;
    border: 1.5px solid #E2E8F0 !important;
    background: #FFFFFF !important;
    box-shadow: 0 4px 16px rgba(5, 13, 26, 0.04) !important;
}
.table-responsive::-webkit-scrollbar {
    height: 6px;
}
.table-responsive::-webkit-scrollbar-track {
    background: #F1F5F9;
    border-radius: 6px;
}
.table-responsive::-webkit-scrollbar-thumb {
    background: #CBD5E1;
    border-radius: 6px;
}
.table-responsive::-webkit-scrollbar-thumb:hover, .content-card div[style*="overflow-x"]::-webkit-scrollbar-thumb:hover {
    background: #C5A059;
}
.table-responsive table, .compare-table, .table-statutory, .content-card table {
    min-width: 720px !important;
    width: 100% !important;
    border-collapse: collapse !important;
    margin: 0 !important;
    table-layout: auto !important;
}
.table-responsive th, .table-responsive td,
.compare-table th, .compare-table td,
.table-statutory th, .table-statutory td,
.content-card th, .content-card td {
    padding: 12px 16px !important;
    text-align: left !important;
    border: 1px solid #CBD5E1 !important;
    font-size: 0.92rem !important;
    vertical-align: top !important;
    line-height: 1.65 !important;
    overflow-wrap: break-word !important;
    word-wrap: break-word !important;
    word-break: normal !important;
    hyphens: auto !important;
    -webkit-hyphens: auto !important;
}
.table-responsive th, .compare-table th {
    background: #F8FAFC;
    color: #0F172A;
    font-weight: 700 !important;
    border-bottom: 2px solid #E2E8F0 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
}
.table-statutory thead th,
.content-card table thead th {
    background: #0B132B !important;
    color: #FFFFFF !important;
    font-weight: 700 !important;
    border: 1px solid #CBD5E1 !important;
    font-size: 0.88rem !important;
    letter-spacing: normal !important;
    text-transform: none !important;
}
.table-statutory thead th:first-child,
.content-card table thead th:first-child {
    min-width: 160px !important;
}

/* 2. Touch Target Sizing on Legal Calculators & Inputs (Suggestion 3) */
@media (max-width: 768px) {
    input[type="text"],
    input[type="number"],
    input[type="search"],
    input[type="email"],
    input[type="tel"],
    select,
    .form-control,
    .form-select,
    .calc-input,
    .search-input {
        min-height: 48px !important;
        font-size: 16px !important; /* Prevents unwanted iOS browser zoom */
        padding: 12px 16px !important;
        border-radius: 8px !important;
        box-sizing: border-box !important;
    }
    
    button.btn,
    button.calc-btn,
    .btn-gold,
    .btn-outline,
    .tab-btn,
    .filter-pill,
    .faq-question {
        min-height: 46px !important;
        padding: 10px 18px !important;
        font-size: 0.92rem !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        touch-action: manipulation !important;
    }
    
    .faq-question {
        min-height: 52px !important;
        padding: 14px 18px !important;
    }
    
    .calculator-card, .calc-box, .calc-container {
        padding: 22px 16px !important;
        border-radius: 12px !important;
    }
}

/* 3. Enhanced Sequential Navigation for Bare Act Sections (Suggestion 4) */
.section-nav-footer {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-top: 35px !important;
    padding-top: 25px !important;
    border-top: 1.5px solid #E2E8F0 !important;
    gap: 14px !important;
    flex-wrap: wrap !important;
}
.btn-nav-prev, .btn-nav-next, .btn-nav-hub {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 11px 20px !important;
    border-radius: 8px !important;
    font-weight: 700 !important;
    font-size: 0.90rem !important;
    text-decoration: none !important;
    transition: all 0.25s ease !important;
    min-height: 46px !important;
    box-sizing: border-box !important;
}
.btn-nav-prev {
    background: #FFFFFF !important;
    color: #0F172A !important;
    border: 1.5px solid #CBD5E1 !important;
    box-shadow: 0 2px 6px rgba(5, 13, 26, 0.04) !important;
}
.btn-nav-prev:hover {
    background: #F8FAFC !important;
    border-color: #C5A059 !important;
    color: #8C6A2E !important;
    transform: translateX(-3px) !important;
}
.btn-nav-next {
    background: #C5A059 !important;
    color: #050D1A !important;
    border: 1.5px solid #C5A059 !important;
    box-shadow: 0 4px 12px rgba(197, 160, 89, 0.25) !important;
    font-weight: 700 !important;
}
.btn-nav-next:hover {
    background: #B08D43 !important;
    border-color: #B08D43 !important;
    color: #050D1A !important;
    transform: translateX(3px) !important;
}
.btn-nav-hub {
    background: #F8FAFC !important;
    color: #475569 !important;
    border: 1px solid #E2E8F0 !important;
}
.btn-nav-hub:hover {
    background: #FAF6ED !important;
    border-color: #C5A059 !important;
    color: #8C6A2E !important;
}

@media (max-width: 768px) {
    .section-nav-footer {
        flex-direction: column !important;
        gap: 10px !important;
        width: 100% !important;
    }
    .btn-nav-prev, .btn-nav-next, .btn-nav-hub {
        width: 100% !important;
        text-align: center !important;
    }
}

/* ============================================================
   LAWS SECTION RESPONSIVE STEPPER, COPY ACTION & CTA CLEARANCE
   ============================================================ */
.btn-copy-section {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #FAF6ED;
    border: 1.5px solid #C49F4F;
    color: #8C6A2E;
    font-size: 0.82rem;
    font-weight: 700;
    padding: 6px 14px;
    border-radius: 20px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.btn-copy-section:hover {
    background: #8C6A2E;
    color: #FFFFFF;
    border-color: #8C6A2E;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(140, 106, 46, 0.25);
}

.section-stepper-bottom {
    margin-bottom: 36px !important;
}

@media (max-width: 650px) {
    .section-nav-stepper {
        display: flex !important;
        flex-direction: row !important;
        gap: 8px !important;
        width: 100% !important;
    }
    .section-nav-stepper .nav-btn {
        flex: 1 1 50% !important;
        justify-content: center !important;
        padding: 10px 8px !important;
        font-size: 0.82rem !important;
    }
    .statute-box, .bare-act-container {
        padding: 18px 14px !important;
        margin-bottom: 24px !important;
    }
}

/* ============================================================
   ENHANCED BARE ACT TYPOGRAPHY & STRUCTURED SUBSECTIONS
   ============================================================ */
.legal-bare-act-box {
    background: #FFFFFF !important;
    border: 1.5px solid #E2E8F0 !important;
    border-left: 5px solid #8C6A2E !important;
    border-radius: 12px !important;
    padding: 28px 32px !important;
    margin-bottom: 28px !important;
    box-shadow: 0 8px 24px -4px rgba(15, 23, 42, 0.05) !important;
}

.bare-act-content-wrap {
    color: #1E293B !important;
    font-size: 1.02rem !important;
    line-height: 1.82 !important;
    font-family: var(--font-body, 'Plus Jakarta Sans', sans-serif) !important;
}

.bare-chunk-item {
    margin: 0 0 14px 0 !important;
    line-height: 1.82 !important;
    color: #1E293B !important;
}

.bare-subclause-item {
    padding-left: 20px !important;
    margin-bottom: 12px !important;
    line-height: 1.82 !important;
    color: #1E293B !important;
}

.subclause-letter, .subclause-ordinal {
    color: #8C6A2E !important;
    font-weight: 800 !important;
    margin-right: 6px !important;
}

.bare-proviso-block {
    background: #FFFBEB !important;
    border-left: 4px solid #D97706 !important;
    padding: 14px 18px !important;
    border-radius: 0 8px 8px 0 !important;
    margin: 14px 0 !important;
    color: #78350F !important;
    font-size: 0.98rem !important;
    line-height: 1.75 !important;
}

.proviso-lead {
    font-weight: 800 !important;
    color: #B45309 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin-right: 6px !important;
}

.bare-explanation-block {
    background: #F0FDF4 !important;
    border-left: 4px solid #16A34A !important;
    padding: 14px 18px !important;
    border-radius: 0 8px 8px 0 !important;
    margin: 14px 0 !important;
    color: #14532D !important;
    font-size: 0.98rem !important;
    line-height: 1.75 !important;
}

.explanation-lead {
    font-weight: 800 !important;
    color: #15803D !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin-right: 6px !important;
}

.bare-exception-block {
    background: #FEF2F2 !important;
    border-left: 4px solid #DC2626 !important;
    padding: 14px 18px !important;
    border-radius: 0 8px 8px 0 !important;
    margin: 14px 0 !important;
    color: #991B1B !important;
    font-size: 0.98rem !important;
    line-height: 1.75 !important;
}

.exception-lead {
    font-weight: 800 !important;
    color: #B91C1C !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin-right: 6px !important;
}

@media (max-width: 650px) {
    .legal-bare-act-box {
        padding: 20px 16px !important;
    }
    .bare-subclause-item {
        padding-left: 12px !important;
    }
}

/* ============================================================
   UNIFORM STATUTE TEXT HIERARCHY & STICKY SIDEBAR ENHANCEMENT
   ============================================================ */
.legal-bare-act-box,
.bare-act-content-wrap,
.bare-chunk-item,
.bare-subclause-item,
.subclause-text,
.bare-proviso-block,
.bare-explanation-block,
.bare-exception-block {
    font-size: 1.02rem !important;
    line-height: 1.82 !important;
    color: #1E293B !important;
    font-family: var(--font-body, 'Plus Jakarta Sans', sans-serif) !important;
}

.bare-proviso-block {
    background: #FFFBEB !important;
    border-left: 4px solid #D97706 !important;
    padding: 14px 18px !important;
    border-radius: 0 8px 8px 0 !important;
    margin: 14px 0 !important;
    color: #78350F !important;
}

.bare-explanation-block {
    background: #F0FDF4 !important;
    border-left: 4px solid #16A34A !important;
    padding: 14px 18px !important;
    border-radius: 0 8px 8px 0 !important;
    margin: 14px 0 !important;
    color: #14532D !important;
}

.bare-exception-block {
    background: #FEF2F2 !important;
    border-left: 4px solid #DC2626 !important;
    padding: 14px 18px !important;
    border-radius: 0 8px 8px 0 !important;
    margin: 14px 0 !important;
    color: #991B1B !important;
}

/* Sticky Desktop Legal Advisory Sidebar */
@media (min-width: 992px) {
    .sidebar-widget {
        background: #FFFFFF !important;
        padding: 24px !important;
        border-radius: 12px !important;
        border-top: 5px solid #C49F4F !important;
        border-left: 1px solid #CBD5E1 !important;
        border-right: 1px solid #CBD5E1 !important;
        border-bottom: 1px solid #CBD5E1 !important;
        position: sticky !important;
        top: 92px !important;
        align-self: start !important;
        box-shadow: 0 6px 20px rgba(5, 13, 26, 0.04) !important;
    }
    .btn-gold {
        background: linear-gradient(135deg, #C5A059, #8C6A2E) !important;
        color: #FFFFFF !important;
        font-weight: 700 !important;
        border-radius: 8px !important;
        text-decoration: none !important;
        box-shadow: 0 4px 14px rgba(140, 106, 46, 0.25) !important;
        transition: all 0.2s ease !important;
    }
    .btn-gold:hover {
        background: linear-gradient(135deg, #B58F49, #7A5920) !important;
        transform: translateY(-1px) !important;
        box-shadow: 0 6px 18px rgba(140, 106, 46, 0.35) !important;
    }
}

/* ============================================================
   DISTINCT STATUTORY TIMELINES, PERIODS & LIMITATION HIGHLIGHTS
   ============================================================ */
.law-timeline {
    color: #B45309 !important;
    font-weight: 700 !important;
    background: rgba(217, 119, 6, 0.12) !important;
    padding: 1px 5px !important;
    border-radius: 4px !important;
    border: 1px solid rgba(217, 119, 6, 0.25) !important;
    display: inline !important;
    letter-spacing: 0.01em !important;
}

/* ============================================================
   ENHANCED STATUTORY SEMANTIC HIGHLIGHTS (COLOR LEGEND)
   ============================================================ */
.law-emphasis {
    color: #7C3AED !important;
    font-weight: 700 !important;
    background: rgba(124, 58, 237, 0.08) !important;
    padding: 1px 4px !important;
    border-radius: 4px !important;
    display: inline !important;
}

.law-intent {
    color: #4F46E5 !important;
    font-weight: 700 !important;
    background: rgba(79, 70, 229, 0.08) !important;
    padding: 1px 4px !important;
    border-radius: 4px !important;
    display: inline !important;
}

.law-action {
    color: #0369A1 !important;
    font-weight: 700 !important;
    background: rgba(2, 132, 199, 0.08) !important;
    padding: 1px 4px !important;
    border-radius: 4px !important;
    display: inline !important;
}

.law-penalty {
    color: #DC2626 !important;
    font-weight: 700 !important;
    background: rgba(220, 38, 38, 0.08) !important;
    padding: 1px 4px !important;
    border-radius: 4px !important;
    display: inline !important;
}

.law-timeline {
    color: #B45309 !important;
    font-weight: 700 !important;
    background: rgba(217, 119, 6, 0.12) !important;
    padding: 1px 5px !important;
    border-radius: 4px !important;
    border: 1px solid rgba(217, 119, 6, 0.25) !important;
    display: inline !important;
}

.law-money {
    color: #059669 !important;
    font-weight: 700 !important;
    background: rgba(5, 150, 105, 0.08) !important;
    padding: 1px 4px !important;
    border-radius: 4px !important;
    display: inline !important;
}

/* ============================================================
   ENHANCED PLAIN-TERMS EXPLANATION BOX (SECOND BOX)
   ============================================================ */
.plain-terms-box {
    background: #FFFFFF !important;
    border: 1.5px solid #E2E8F0 !important;
    border-left: 5px solid #0B132B !important;
    border-radius: 12px !important;
    padding: 24px 28px !important;
    margin-bottom: 28px !important;
    box-shadow: 0 8px 24px -4px rgba(15, 23, 42, 0.04) !important;
}

.plain-terms-box .box-header-title {
    color: #0B132B !important;
    font-size: 1.15rem !important;
    font-weight: 800 !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-bottom: 14px !important;
    border-bottom: 1.5px solid #F1F5F9 !important;
    padding-bottom: 12px !important;
}

.plain-terms-box .box-header-title i {
    color: #C49F4F !important;
    font-size: 1.15rem !important;
}

.plain-meaning-lead {
    font-size: 1.02rem !important;
    line-height: 1.78 !important;
    color: #1E293B !important;
    margin-bottom: 16px !important;
}

.court-ingredients-list {
    background: #F8FAFC !important;
    border: 1px solid #E2E8F0 !important;
    border-radius: 8px !important;
    padding: 16px 20px !important;
    margin-top: 14px !important;
}

.court-ingredients-list li {
    font-size: 0.98rem !important;
    line-height: 1.70 !important;
    color: #334155 !important;
    margin-bottom: 10px !important;
}

.court-ingredients-list li:last-child {
    margin-bottom: 0 !important;
}

.explanation-points-list {
    margin: 12px 0 16px 0 !important;
    padding-left: 22px !important;
    list-style-type: disc !important;
}

.explanation-points-list li {
    font-size: 1.00rem !important;
    line-height: 1.76 !important;
    color: #334155 !important;
    margin-bottom: 10px !important;
}

.explanation-points-list li:last-child {
    margin-bottom: 0 !important;
}

.explanation-points-list li strong {
    color: #0F172A !important;
    font-weight: 700 !important;
}

/* ============================================================
   MODERN CSS ENHANCEMENTS: ACCESSIBILITY, SMOOTHING & SELECTION
   ============================================================ */
html {
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    text-rendering: optimizeLegibility !important;
    -webkit-text-size-adjust: 100% !important;
    text-size-adjust: 100% !important;
}

::selection {
    background: #F1E5D1 !important;
    color: #0B132B !important;
}

::-moz-selection {
    background: #F1E5D1 !important;
    color: #0B132B !important;
}

:focus-visible {
    outline: 2.5px solid #C49F4F !important;
    outline-offset: 2px !important;
}

/* Prevent anchor jumps from clipping behind sticky nav */
[id] {
    scroll-margin-top: 100px !important;
}

@media (prefers-reduced-motion: reduce) {
    *, ::before, ::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

/* Floating CTA Disabled */
.floating-cta, .cta-btn, .cta-phone, .cta-whatsapp { display: none !important; visibility: hidden !important; pointer-events: none !important; width: 0 !important; height: 0 !important; opacity: 0 !important; }


/* ============================================================
   RESPONSIVE SPACING ARCHITECTURE FOR INDIAN LAWS SECTION PAGES
   Calibrated across Desktop, Tablet, and Mobile devices
   ============================================================ */

/* --- 1. SHARED BASELINE: REMOVE UNWANTED VERTICAL VOIDS --- */
.content-grid > div > .section-nav-footer:first-child,
.section-nav-footer[style*="margin-top: 0"],
.section-nav-footer[style*="margin-top:0"] {
    margin-top: 0 !important;
    padding-top: 0 !important;
    border-top: none !important;
}

/* --- 2. DESKTOP VIEWPORT (> 1024px) --- */
@media (min-width: 1025px) {
    .page-hero {
        padding: 28px 0 16px 0 !important;
    }
    .page-hero h1 {
        font-size: 2.1rem !important;
        margin-bottom: 6px !important;
    }
    .page-hero p {
        font-size: 1.02rem !important;
        margin-bottom: 10px !important;
    }
    .content-grid,
    .plain-terms-box,
    .section-nav-footer {
        display: block !important;
        width: 100% !important;
        max-width: 1040px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        box-sizing: border-box !important;
    }
    .content-grid {
        margin-top: 16px !important;
        margin-bottom: 18px !important;
    }
    .content-grid > div:first-child {
        width: 100% !important;
        max-width: 1040px !important;
        box-sizing: border-box !important;
    }
    .content-grid > div > .section-nav-footer:first-child,
    .section-nav-footer[style*="margin-top: 0"],
    .section-nav-footer[style*="margin-top:0"] {
        margin-bottom: 16px !important;
    }
    .legal-bare-act-box {
        padding: 24px 28px !important;
        margin-bottom: 18px !important;
        border-radius: 12px !important;
    }
    .legal-bare-act-box .box-header-title {
        padding-bottom: 12px !important;
        margin-bottom: 16px !important;
        font-size: 1.25rem !important;
    }
    .statutory-def-dock {
        margin-top: 18px !important;
        padding-top: 14px !important;
    }
    .plain-terms-box {
        padding: 22px 26px !important;
        margin-top: 0 !important;
        margin-bottom: 20px !important;
        border-radius: 12px !important;
    }
    .plain-terms-box .box-header-title {
        padding-bottom: 10px !important;
        margin-bottom: 12px !important;
        font-size: 1.15rem !important;
    }
    .section-nav-footer {
        display: flex !important;
        flex-direction: row !important;
        justify-content: space-between !important;
        align-items: center !important;
        margin-top: 20px !important;
        padding-top: 18px !important;
        margin-bottom: 24px !important;
        gap: 14px !important;
    }
    .btn-nav-prev, .btn-nav-next, .btn-nav-hub {
        width: auto !important;
        min-width: 180px !important;
    }
}

/* --- 3. TABLET VIEWPORT (769px to 1024px) --- */
@media (min-width: 769px) and (max-width: 1024px) {
    .container {
        padding: 0 20px !important;
    }
    .page-hero {
        padding: 24px 0 14px 0 !important;
    }
    .page-hero h1 {
        font-size: 1.85rem !important;
        margin-bottom: 6px !important;
    }
    .page-hero p {
        font-size: 0.98rem !important;
        margin-bottom: 8px !important;
    }
    .content-grid,
    .plain-terms-box,
    .section-nav-footer {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        box-sizing: border-box !important;
    }
    .content-grid {
        margin-top: 14px !important;
        margin-bottom: 16px !important;
    }
    .content-grid > div:first-child {
        width: 100% !important;
        max-width: 100% !important;
    }
    .content-grid > div > .section-nav-footer:first-child,
    .section-nav-footer[style*="margin-top: 0"],
    .section-nav-footer[style*="margin-top:0"] {
        margin-bottom: 14px !important;
    }
    .legal-bare-act-box {
        padding: 20px 22px !important;
        margin-bottom: 16px !important;
        border-radius: 12px !important;
    }
    .legal-bare-act-box .box-header-title {
        padding-bottom: 10px !important;
        margin-bottom: 14px !important;
        font-size: 1.18rem !important;
    }
    .statutory-def-dock {
        margin-top: 16px !important;
        padding-top: 12px !important;
    }
    .plain-terms-box {
        padding: 18px 20px !important;
        margin-top: 0 !important;
        margin-bottom: 18px !important;
        border-radius: 12px !important;
    }
    .plain-terms-box .box-header-title {
        padding-bottom: 10px !important;
        margin-bottom: 12px !important;
        font-size: 1.10rem !important;
    }
    .section-nav-footer {
        display: flex !important;
        flex-direction: row !important;
        justify-content: space-between !important;
        align-items: center !important;
        margin-top: 18px !important;
        padding-top: 16px !important;
        margin-bottom: 20px !important;
        gap: 12px !important;
    }
    .btn-nav-prev, .btn-nav-next, .btn-nav-hub {
        flex: 1 !important;
        min-height: 46px !important;
    }
}

/* --- 4. MOBILE VIEWPORT (<= 768px down to 320px) --- */
@media (max-width: 768px) {
    .container {
        padding: 0 12px !important;
    }
    .page-hero {
        padding: 18px 6px 12px 6px !important;
    }
    .page-hero h1 {
        font-size: 1.45rem !important;
        line-height: 1.35 !important;
        margin-bottom: 6px !important;
    }
    .page-hero p {
        font-size: 0.88rem !important;
        line-height: 1.5 !important;
        margin-bottom: 8px !important;
    }
    .breadcrumb-box {
        font-size: 0.82rem !important;
        margin-bottom: 8px !important;
    }
    .content-grid,
    .plain-terms-box,
    .section-nav-footer {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }
    .content-grid {
        margin-top: 10px !important;
        margin-bottom: 14px !important;
    }
    .content-grid > div:first-child {
        width: 100% !important;
        max-width: 100% !important;
    }
    .content-grid > div > .section-nav-footer:first-child,
    .section-nav-footer[style*="margin-top: 0"],
    .section-nav-footer[style*="margin-top:0"] {
        margin-bottom: 12px !important;
    }
    /* Compact horizontal padding on small screens saves 28px of width */
    .legal-bare-act-box {
        padding: 16px 14px !important;
        margin-bottom: 14px !important;
        border-radius: 10px !important;
    }
    .legal-bare-act-box .box-header-title {
        font-size: 1.05rem !important;
        padding-bottom: 8px !important;
        margin-bottom: 10px !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 6px !important;
    }
    .statutory-def-dock {
        margin-top: 14px !important;
        padding-top: 10px !important;
    }
    .plain-terms-box {
        padding: 16px 14px !important;
        margin-top: 0 !important;
        margin-bottom: 14px !important;
        border-radius: 10px !important;
    }
    .plain-terms-box .box-header-title {
        font-size: 1.05rem !important;
        padding-bottom: 8px !important;
        margin-bottom: 10px !important;
    }
    .plain-meaning-lead {
        font-size: 0.94rem !important;
        line-height: 1.65 !important;
        margin-bottom: 12px !important;
    }
    .court-ingredients-list {
        padding: 12px 14px !important;
        margin-top: 10px !important;
    }
    .court-ingredients-list li {
        font-size: 0.90rem !important;
        line-height: 1.60 !important;
        margin-bottom: 8px !important;
    }
    /* Responsive vertical stack for sequential navigation buttons on mobile */
    .section-nav-footer {
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
        width: 100% !important;
        margin-top: 14px !important;
        padding-top: 14px !important;
        margin-bottom: 16px !important;
    }
    .btn-nav-prev, .btn-nav-next, .btn-nav-hub {
        width: 100% !important;
        min-height: 48px !important;
        justify-content: center !important;
        text-align: center !important;
        font-size: 0.90rem !important;
    }
}


/* ==========================================================================
   ADVANCED SECTION RESPONSIVE ENGINE (320px - 480px MOBILE & TABLET POLISH)
   ========================================================================== */
img, svg, iframe, video, object, embed {
    max-width: 100% !important;
    height: auto !important;
}

@media (max-width: 480px) {
    .container {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
    .page-hero {
        padding: 16px 4px 12px 4px !important;
    }
    .page-hero h1 {
        font-size: 1.25rem !important;
        line-height: 1.30 !important;
        margin-bottom: 6px !important;
        word-break: break-word !important;
    }
    .page-hero p {
        font-size: 0.82rem !important;
        line-height: 1.42 !important;
        margin-bottom: 8px !important;
    }
    .breadcrumb-box {
        font-size: 0.76rem !important;
        line-height: 1.35 !important;
        margin-bottom: 8px !important;
    }
    .stat-pills-row {
        gap: 5px !important;
        margin-top: 10px !important;
    }
    .stat-pill, .ipc-compare-badge {
        font-size: 0.70rem !important;
        padding: 4px 8px !important;
        border-radius: 5px !important;
    }
    .legal-bare-act-box {
        padding: 14px 12px !important;
        border-radius: 10px !important;
        margin-bottom: 18px !important;
    }
    .legal-bare-act-box .box-header-title,
    .box-header-title {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 8px !important;
    }
    .bare-act-heading {
        font-size: 0.98rem !important;
        line-height: 1.35 !important;
        word-break: break-word !important;
    }
    .title-left {
        gap: 8px !important;
    }
    .title-icon-badge {
        width: 32px !important;
        height: 32px !important;
        min-width: 32px !important;
        font-size: 0.85rem !important;
    }
    .header-actions {
        width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
        align-items: stretch !important;
    }
    .statutory-official-tag, .copy-section-btn {
        width: 100% !important;
        display: flex !important;
        justify-content: center !important;
        text-align: center !important;
        font-size: 0.74rem !important;
        padding: 6px 12px !important;
        box-sizing: border-box !important;
    }
    .statutory-color-legend {
        padding: 8px 10px !important;
        gap: 6px 10px !important;
        font-size: 0.68rem !important;
        margin-bottom: 14px !important;
    }
    .bare-subclause-item {
        font-size: 0.86rem !important;
        line-height: 1.62 !important;
        margin-bottom: 10px !important;
        word-break: break-word !important;
    }
    .plain-terms-box {
        padding: 14px 12px !important;
        border-radius: 10px !important;
        margin-bottom: 18px !important;
    }
    .plain-terms-box .box-header-title {
        font-size: 1.05rem !important;
        line-height: 1.35 !important;
        margin-bottom: 10px !important;
    }
    .plain-meaning-lead {
        font-size: 0.88rem !important;
        line-height: 1.60 !important;
        margin-bottom: 14px !important;
    }
    .court-ingredients-list {
        padding: 12px 10px !important;
        margin-top: 10px !important;
    }
    .court-ingredients-list ul {
        padding-left: 16px !important;
    }
    .court-ingredients-list li {
        font-size: 0.84rem !important;
        line-height: 1.58 !important;
        margin-bottom: 10px !important;
        word-break: break-word !important;
    }
    .section-nav-footer {
        flex-direction: column !important;
        gap: 8px !important;
        width: 100% !important;
        margin: 16px 0 !important;
    }
    .btn-nav-prev, .btn-nav-next, .btn-nav-hub {
        width: 100% !important;
        text-align: center !important;
        font-size: 0.80rem !important;
        padding: 8px 12px !important;
        box-sizing: border-box !important;
    }
}


/* ==========================================================================
   UNIVERSAL GOLD FORMAT FOR "BROWSE LANDMARK CASES" BUTTON (DESKTOP & MOBILE)
   ========================================================================== */
.mega-banner-btn,
a.mega-banner-btn {
    background: linear-gradient(135deg, #8C6A2E 0%, #C49F4F 50%, #8C6A2E 100%) !important;
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
    font-family: var(--font-body, 'Plus Jakarta Sans', sans-serif) !important;
    font-size: 0.80rem !important;
    font-weight: 800 !important;
    padding: 6px 16px !important;
    border-radius: 20px !important;
    border: 1.5px solid #E8C382 !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    box-shadow: 0 4px 14px rgba(140, 106, 46, 0.35) !important;
    transition: all 0.22s ease !important;
    cursor: pointer !important;
}

.mega-banner-btn:hover,
.mega-banner-btn:active,
a.mega-banner-btn:hover,
a.mega-banner-btn:active {
    background: linear-gradient(135deg, #A88238 0%, #D4AF37 50%, #8C6A2E 100%) !important;
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
    box-shadow: 0 6px 20px rgba(140, 106, 46, 0.50) !important;
    transform: translateY(-1px) !important;
    border-color: #FFFFFF !important;
}

.mega-banner-btn i,
a.mega-banner-btn i {
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
}

@media (max-width: 992px) {
    .mega-featured-banner {
        background: #FAF8F5 !important;
        border: 1.5px solid #E8C382 !important;
        border-radius: 10px !important;
        flex-direction: column !important;
        align-items: stretch !important;
        text-align: center !important;
        padding: 14px 16px !important;
        margin-top: 12px !important;
        box-sizing: border-box !important;
    }

    .mega-banner-tagline {
        color: #0B132B !important;
        font-size: 0.84rem !important;
        font-weight: 700 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        text-align: center !important;
        line-height: 1.35 !important;
    }

    .mega-banner-btn,
    a.mega-banner-btn {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        width: 100% !important;
        min-height: 44px !important;
        padding: 11px 20px !important;
        box-sizing: border-box !important;
        background: linear-gradient(135deg, #8C6A2E 0%, #C49F4F 50%, #8C6A2E 100%) !important;
        color: #FFFFFF !important;
        -webkit-text-fill-color: #FFFFFF !important;
        font-family: var(--font-body, 'Plus Jakarta Sans', sans-serif) !important;
        font-size: 0.90rem !important;
        font-weight: 800 !important;
        border-radius: 24px !important;
        border: 1.5px solid #E8C382 !important;
        box-shadow: 0 4px 15px rgba(140, 106, 46, 0.35) !important;
        text-decoration: none !important;
        transition: all 0.25s ease !important;
        cursor: pointer !important;
    }

    .mega-banner-btn:hover,
    .mega-banner-btn:active,
    a.mega-banner-btn:hover,
    a.mega-banner-btn:active {
        background: linear-gradient(135deg, #A88238 0%, #D4AF37 50%, #8C6A2E 100%) !important;
        color: #FFFFFF !important;
        -webkit-text-fill-color: #FFFFFF !important;
        box-shadow: 0 8px 22px rgba(140, 106, 46, 0.50) !important;
        transform: translateY(-1px) !important;
        border-color: #FFFFFF !important;
    }

    .mega-banner-btn i,
    a.mega-banner-btn i {
        color: #FFFFFF !important;
        -webkit-text-fill-color: #FFFFFF !important;
        font-size: 0.74rem !important;
    }
}


/* === CONSOLIDATED MASTER NAVIGATION ENGINE (3-COLUMN DESKTOP + ACCORDION MOBILE) === */
/* ==========================================================================
   TIGHT COMPACT 14-14-14 INDIAN LAWS MEGA DROPDOWN (SNUG SPACING - DESKTOP & MOBILE)
   ========================================================================== */
@media (min-width: 993px) {
    .nav-mega-dropdown .mega-menu-content,
    #lawsDropdownMenu {
        position: absolute !important;
        top: calc(100% + 4px) !important;
        left: 50% !important;
        transform: translateX(-50%) translateY(0) !important;
        width: min(1120px, calc(100vw - 40px)) !important;
        min-width: min(1080px, calc(100vw - 40px)) !important;
        max-width: 1140px !important;
        background: #FFFFFF !important;
        border: 1.5px solid #C49F4F !important;
        border-radius: 10px !important;
        box-shadow: 0 14px 40px rgba(0, 0, 0, 0.28) !important;
        padding: 10px 18px 8px 18px !important;
        display: none !important;
        z-index: 10002 !important;
        box-sizing: border-box !important;
        opacity: 0 !important;
        visibility: hidden !important;
        transition: opacity 0.2s ease, transform 0.2s ease !important;
    }

    .nav-mega-dropdown:hover .mega-menu-content,
    .nav-mega-dropdown.open .mega-menu-content,
    #lawsDropdown:hover #lawsDropdownMenu,
    #lawsDropdown.open #lawsDropdownMenu {
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: translateX(-50%) translateY(0) !important;
    }

    .mega-menu-grid {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 16px !important;
        align-items: start !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    .mega-menu-col {
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
        min-width: 0 !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .mega-menu-col:not(:last-child) {
        border-right: 1px solid #E2E8F0 !important;
        padding-right: 14px !important;
    }

    .mega-group {
        margin-bottom: 7px !important;
    }
    .mega-group:last-child {
        margin-bottom: 0 !important;
    }

    .mega-col-title {
        font-family: var(--font-heading) !important;
        font-size: 0.78rem !important;
        font-weight: 800 !important;
        color: #0B132B !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        padding-bottom: 3px !important;
        margin-bottom: 3px !important;
        border-bottom: 1.5px solid rgba(140, 106, 46, 0.25) !important;
        background: transparent !important;
        border-top: none !important;
        border-left: none !important;
        border-right: none !important;
        border-radius: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        cursor: default !important;
        user-select: none !important;
        width: 100% !important;
        height: auto !important;
        min-height: auto !important;
        box-sizing: border-box !important;
    }

    .mega-title-left {
        display: inline-flex !important;
        align-items: center !important;
        gap: 6px !important;
    }

    .mega-sub-arrow {
        display: none !important;
    }

    .mega-menu-list {
        list-style: none !important;
        padding: 0 !important;
        margin: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 1px !important;
    }

    .mega-menu-list li {
        margin: 0 !important;
        padding: 0 !important;
    }

    .mega-menu-list li a {
        display: flex !important;
        align-items: center !important;
        gap: 6px !important;
        font-size: 0.84rem !important;
        font-weight: 600 !important;
        color: #334155 !important;
        text-decoration: none !important;
        padding: 2.5px 5px !important;
        border-radius: 4px !important;
        transition: all 0.12s ease !important;
        line-height: 1.28 !important;
        white-space: normal !important;
        word-break: normal !important;
        background: transparent !important;
        border: none !important;
        box-sizing: border-box !important;
    }

    .mega-menu-list li a:hover {
        background: rgba(140, 106, 46, 0.10) !important;
        color: #8C6A2E !important;
        padding-left: 8px !important;
    }

    .mega-menu-list li a i {
        font-size: 0.76rem !important;
        color: #C5A059 !important;
        min-width: 14px !important;
        text-align: center !important;
        flex-shrink: 0 !important;
    }

    .mega-featured-banner {
        background: #FAF8F5 !important;
        border-top: 1.5px solid #E8C382 !important;
        padding: 5px 14px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        border-radius: 0 0 8px 8px !important;
        margin-top: 6px !important;
        box-sizing: border-box !important;
    }

    .mega-banner-tagline {
        color: #0B132B !important;
        font-size: 0.82rem !important;
        font-weight: 700 !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: 6px !important;
    }

    .mega-banner-btn {
        background: linear-gradient(135deg, #B8924B 0%, #E8C382 50%, #C5A059 100%) !important;
        color: #050D1A !important;
        font-size: 0.76rem !important;
        font-weight: 800 !important;
        padding: 3px 12px !important;
        border-radius: 16px !important;
        border: 1px solid #F3D082 !important;
        text-decoration: none !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: 6px !important;
        transition: all 0.2s ease !important;
    }
}

/* ==========================================================================
   PERFECTLY PROPORTIONED MOBILE ACCORDION RULES (< 992px)
   ========================================================================== */
@media (max-width: 992px) {
    .nav-mega-dropdown #lawsDropdownMenu {
        display: none !important;
        width: 100% !important;
        max-height: none !important;
        padding: 8px !important;
        margin: 4px 0 8px 0 !important;
        background: #F8FAFC !important;
        border: 1.5px solid #C49F4F !important;
        border-radius: 8px !important;
        box-sizing: border-box !important;
    }

    .nav-mega-dropdown.open #lawsDropdownMenu {
        display: block !important;
    }

    .mega-menu-grid {
        display: flex !important;
        flex-direction: column !important;
        gap: 6px !important;
        width: 100% !important;
    }

    .mega-menu-col {
        display: flex !important;
        flex-direction: column !important;
        gap: 6px !important;
        width: 100% !important;
        border-right: none !important;
        padding-right: 0 !important;
    }

    .mega-group {
        border: 1px solid #E2E8F0 !important;
        border-radius: 6px !important;
        overflow: hidden !important;
        background: #FFFFFF !important;
        margin-bottom: 0 !important;
    }

    .mega-col-title {
        font-family: var(--font-heading) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 8px 12px !important;
        cursor: pointer !important;
        margin: 0 !important;
        background: #FFFFFF !important;
        border: none !important;
        color: #0F172A !important;
        font-size: 0.88rem !important;
        font-weight: 700 !important;
        height: 38px !important;
        min-height: 38px !important;
        max-height: 38px !important;
        user-select: none !important;
        transition: background 0.15s ease !important;
        box-sizing: border-box !important;
        width: 100% !important;
    }

    .mega-col-title:hover, .mega-col-title:active {
        background: #FFFDF9 !important;
        color: #8C6A2E !important;
    }

    .mega-col-title.open {
        background: #FAF6ED !important;
        color: #8C6A2E !important;
        border-bottom: 1px dashed #C49F4F !important;
    }

    .mega-title-left {
        display: inline-flex !important;
        align-items: center !important;
        gap: 8px !important;
        font-size: 0.88rem !important;
    }

    .mega-title-left i {
        font-size: 0.86rem !important;
        color: #8C6A2E !important;
        min-width: 16px !important;
    }

    .mega-sub-arrow {
        display: inline-block !important;
        font-size: 0.78rem !important;
        color: #8C6A2E !important;
        transition: transform 0.2s ease !important;
    }

    .mega-col-title.open .mega-sub-arrow {
        transform: rotate(180deg) !important;
    }

    .mega-menu-list {
        display: none !important;
        flex-direction: column !important;
        gap: 3px !important;
        padding: 5px 6px !important;
        margin: 0 !important;
        list-style: none !important;
        background: #FDFDFD !important;
        box-sizing: border-box !important;
        width: 100% !important;
    }

    .mega-col-title.open + .mega-menu-list,
    .mega-menu-list.open {
        display: flex !important;
    }

    .mega-menu-list li {
        margin: 0 !important;
        padding: 0 !important;
    }

    .mega-menu-list li a {
        width: 100% !important;
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        padding: 6px 10px !important;
        border-radius: 4px !important;
        background: #FFFFFF !important;
        border: 1px solid #EAEFEF !important;
        color: #334155 !important;
        font-size: 0.82rem !important;
        font-weight: 600 !important;
        text-decoration: none !important;
        box-sizing: border-box !important;
        line-height: 1.25 !important;
        height: auto !important;
        min-height: 32px !important;
    }

    .mega-menu-list li a:hover,
    .mega-menu-list li a:active {
        background: rgba(140, 106, 46, 0.08) !important;
        color: #8C6A2E !important;
        border-color: #C49F4F !important;
        padding-left: 12px !important;
    }

    .mega-menu-list li a i {
        font-size: 0.80rem !important;
        color: #C5A059 !important;
        min-width: 14px !important;
    }

    /* Featured Banner on Mobile: 1-line Tagline & Gold Button Underneath */
    #lawsDropdownMenu .mega-featured-banner,
    .nav-mega-dropdown .mega-featured-banner,
    .mega-featured-banner {
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
        padding: 10px 8px !important;
        margin-top: 8px !important;
        background: #FAF8F5 !important;
        border: 1.5px solid #E8C382 !important;
        border-radius: 8px !important;
        gap: 8px !important;
        box-sizing: border-box !important;
        width: 100% !important;
    }

    #lawsDropdownMenu .mega-featured-banner span,
    .nav-mega-dropdown .mega-featured-banner span,
    .mega-featured-banner span,
    .mega-banner-tagline {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 6px !important;
        font-size: 0.80rem !important;
        color: #0B132B !important;
        -webkit-text-fill-color: #0B132B !important;
        font-weight: 700 !important;
        white-space: normal !important;
        width: 100% !important;
        text-align: center !important;
        letter-spacing: 0px !important;
        box-sizing: border-box !important;
        line-height: 1.3 !important;
    }

    #lawsDropdownMenu .mega-featured-banner span i,
    .mega-banner-tagline i {
        color: #8C6A2E !important;
        font-size: 0.76rem !important;
        flex-shrink: 0 !important;
    }

    #lawsDropdownMenu .mega-banner-btn,
    .nav-mega-dropdown .mega-banner-btn,
    .dropdown-menu a.mega-banner-btn,
    .nav-links a.mega-banner-btn,
    a.mega-banner-btn,
    .mega-banner-btn {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        width: 100% !important;
        min-height: 40px !important;
        padding: 9px 18px !important;
        background: linear-gradient(135deg, #8C6A2E 0%, #C49F4F 100%) !important;
        background-color: #8C6A2E !important;
        color: #FFFFFF !important;
        -webkit-text-fill-color: #FFFFFF !important;
        font-size: 0.88rem !important;
        font-weight: 700 !important;
        border-radius: 8px !important;
        border: 1.5px solid #8C6A2E !important;
        box-shadow: 0 4px 14px rgba(140, 106, 46, 0.35) !important;
        text-decoration: none !important;
        white-space: nowrap !important;
        box-sizing: border-box !important;
        transition: all 0.25s ease !important;
        cursor: pointer !important;
    }

    #lawsDropdownMenu .mega-banner-btn i,
    .nav-mega-dropdown .mega-banner-btn i,
    a.mega-banner-btn i,
    .mega-banner-btn i {
        color: #FFFFFF !important;
        -webkit-text-fill-color: #FFFFFF !important;
        font-size: 0.78rem !important;
        display: inline-block !important;
    }

    #lawsDropdownMenu .mega-banner-btn:hover,
    #lawsDropdownMenu .mega-banner-btn:active,
    a.mega-banner-btn:hover,
    a.mega-banner-btn:active,
    .mega-banner-btn:hover,
    .mega-banner-btn:active {
        background: linear-gradient(135deg, #745722 0%, #B08D43 100%) !important;
        background-color: #745722 !important;
        box-shadow: 0 6px 18px rgba(140, 106, 46, 0.45) !important;
        transform: translateY(-1px) !important;
        color: #FFFFFF !important;
        -webkit-text-fill-color: #FFFFFF !important;
    }
}

/* ==========================================================================
   STATUTORY READER ENHANCEMENTS: INTERACTIVE FILTERING & PRINT STYLESHEET
   ========================================================================== */

/* Interactive Legend Items */
.statutory-color-legend .legend-item {
    cursor: pointer;
    user-select: none;
    padding: 3px 8px !important;
    border-radius: 6px !important;
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
    border: 1px solid transparent !important;
}

.statutory-color-legend .legend-item:hover {
    background: #FFFFFF !important;
    border-color: #CBD5E1 !important;
    transform: translateY(-1px);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05) !important;
}

/* Dim non-matching highlights when an interactive category filter is active */
#bareActSectionBox[data-filter] .statutory-color-legend .legend-item {
    opacity: 0.45;
}

#bareActSectionBox[data-filter] .statutory-color-legend .legend-item.filter-active {
    opacity: 1 !important;
    background: #FFFFFF !important;
    border-color: #8C6A2E !important;
    box-shadow: 0 2px 8px rgba(140, 106, 46, 0.18) !important;
    font-weight: 800 !important;
}

#bareActSectionBox[data-filter="emphasis"] [class*="law-"]:not(.law-emphasis),
#bareActSectionBox[data-filter="intent"] [class*="law-"]:not(.law-intent),
#bareActSectionBox[data-filter="action"] [class*="law-"]:not(.law-action),
#bareActSectionBox[data-filter="penalty"] [class*="law-"]:not(.law-penalty),
#bareActSectionBox[data-filter="timeline"] [class*="law-"]:not(.law-timeline),
#bareActSectionBox[data-filter="money"] [class*="law-"]:not(.law-money) {
    opacity: 0.25 !important;
    background: transparent !important;
    color: inherit !important;
    font-weight: 500 !important;
    border: none !important;
}

#bareActSectionBox[data-filter="emphasis"] .law-emphasis,
#bareActSectionBox[data-filter="intent"] .law-intent,
#bareActSectionBox[data-filter="action"] .law-action,
#bareActSectionBox[data-filter="penalty"] .law-penalty,
#bareActSectionBox[data-filter="timeline"] .law-timeline,
#bareActSectionBox[data-filter="money"] .law-money {
    box-shadow: 0 0 0 2px currentColor !important;
    border-radius: 4px !important;
    opacity: 1 !important;
}

/* ==========================================================================
   COURT-READY PRINT & PDF EXPORT STYLESHEET
   ========================================================================== */
@media print {
    /* Suppress site navigation, search, ads, widgets, and buttons */
    header, nav, footer,
    .skip-link,
    .section-nav-footer,
    .seq-nav-bar,
    .header-actions,
    .copy-section-btn,
    .statutory-color-legend,
    .stat-pills-row,
    .breadcrumb-box,
    .dock-container,
    #backToTop,
    #scrollTop,
    .btn-consult,
    .btn-consult-call,
    .btn-call-consult,
    .adsbygoogle,
    ins.adsbygoogle,
    [id^="google_ads"],
    .google-auto-placed {
        display: none !important;
    }

    /* Clean black & white paper base */
    body {
        background: #FFFFFF !important;
        color: #000000 !important;
        font-size: 11pt !important;
        line-height: 1.6 !important;
    }

    .container {
        max-width: 100% !important;
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .page-hero {
        border-bottom: 2px solid #000000 !important;
        padding: 10px 0 15px 0 !important;
        text-align: left !important;
        background: transparent !important;
    }

    .page-hero h1 {
        font-size: 18pt !important;
        color: #000000 !important;
        margin-bottom: 4px !important;
    }

    .page-hero p {
        font-size: 10pt !important;
        color: #333333 !important;
    }

    .legal-bare-act-box {
        border: 1px solid #CCCCCC !important;
        box-shadow: none !important;
        padding: 15px !important;
        border-radius: 0 !important;
        page-break-inside: auto !important;
    }

    .bare-act-heading {
        font-size: 13pt !important;
        color: #000000 !important;
        border-bottom: 1px solid #CCCCCC !important;
        padding-bottom: 6px !important;
    }

    .bare-act-heading .title-icon-badge {
        display: none !important;
    }

    .bare-chunk-item,
    .bare-subclause-item,
    .bare-proviso-item,
    .bare-explanation-item {
        page-break-inside: avoid !important;
        color: #000000 !important;
        font-size: 11pt !important;
        line-height: 1.6 !important;
    }

    /* Print-friendly semantic highlighting */
    .law-emphasis,
    .law-intent,
    .law-action,
    .law-penalty,
    .law-timeline,
    .law-money {
        background: transparent !important;
        color: #000000 !important;
        font-weight: 700 !important;
        text-decoration: underline dotted #666666 !important;
        -webkit-text-fill-color: #000000 !important;
    }

    .plain-terms-box {
        page-break-before: always;
        border: 1px solid #CCCCCC !important;
        margin-top: 20px !important;
        padding: 15px !important;
    }
}

