        /* Dashboard Urgency Banner */
        #dashboardUrgencyBanner {
            position: fixed;
            top: 80px;
            left: 0;
            width: 100%;
            background: #111;
            border-bottom: 1px solid rgba(212, 175, 55, 0.3);
            color: #fff;
            display: none;
            justify-content: center;
            align-items: center;
            padding: 8px 20px;
            z-index: 999;
            font-size: 0.9rem;
            gap: 15px;
            transition: all 0.3s ease;
        }

        #dashboardUrgencyBanner .urgency-timer {
            color: #D4AF37;
            font-weight: bold;
            font-family: monospace;
        }

        #dashboardUrgencyBanner .btn-upgrade-sm {
            background: #D4AF37;
            color: #000;
            border: none;
            padding: 4px 12px;
            border-radius: 4px;
            font-size: 0.75rem;
            font-weight: bold;
            cursor: pointer;
            transition: transform 0.2s;
        }

        #dashboardUrgencyBanner .btn-upgrade-sm:hover {
            transform: scale(1.05);
        }

        /* --- ZERO FLICKER SHELL --- */
        .navbar, .hero, .section {
            opacity: 0;
            background-color: var(--bg-dark);
            transition: opacity 0.3s ease;
        }
        body.ready .navbar, 
        body.ready .hero, 
        body.ready .section {
            opacity: 1 !important;
        }

        /* --- GLOBAL MODAL CLOSE BUTTON (Modal con X) --- */
        .close-modal-btn {
            transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
        }
        .close-modal-btn:hover {
            transform: rotate(90deg) scale(1.2) !important;
            color: #D4AF37 !important;
            text-shadow: 0 0 10px rgba(212, 175, 55, 0.5);
        }

        /* --- DYNAMIC HEADER & CATEGORIES SWAP --- */
        .dynamic-title-container {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            display: flex;
            align-items: center;
            pointer-events: none;
            z-index: 5;
            box-sizing: border-box;
            padding-left: max(20px, calc((100% - 1200px) / 2 + 40px)) !important;
            padding-right: max(20px, calc((100% - 1200px) / 2 + 40px)) !important;
            transform: translateY(100%);
            opacity: 0;
            transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.3s ease;
        }

        .header-swapped .dynamic-title-container {
            transform: translateY(0);
            opacity: 1;
        }

        .header-swapped .logo-text {
            transform: translateY(-250%);
            opacity: 0;
            transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.1s ease;
        }

        #dynamicCategoryTitle {
            font-family: var(--font-heading);
            font-size: 1.6rem;
            font-weight: 700;
            color: var(--accent) !important;
            text-transform: uppercase;
            letter-spacing: 1px;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
            display: block;
            text-shadow: 0 0 15px var(--accent);
        }

        .ghost-title {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            box-sizing: border-box;
            padding-left: max(20px, calc((100% - 1200px) / 2 + 40px)) !important;
            padding-right: max(20px, calc((100% - 1200px) / 2 + 40px)) !important;
            display: flex;
            align-items: center;
            font-family: var(--font-heading);
            font-size: 1.6rem;
            font-weight: 700;
            color: var(--accent) !important;
            text-transform: uppercase;
            letter-spacing: 1px;
            white-space: nowrap;
            text-shadow: 0 0 15px rgba(255, 202, 40, 0.3);
            transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
            transform: translateY(0);
            opacity: 1;
            pointer-events: none;
        }

        .ghost-title.exit {
            transform: translateY(-200%);
            opacity: 0;
        }

        /* --- PROGRESS BAR --- */
        .header-progress-bar {
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            height: 3px;
            background: rgba(255, 255, 255, 0.05);
            z-index: 1000;
            pointer-events: none;
        }

        #scrollProgressFill {
            height: 100%;
            width: 0%;
            background: var(--accent);
            box-shadow: 0 0 10px var(--accent), 0 0 20px rgba(0,0,0,0.5);
            transition: width 0.1s linear;
        }

        .category-title {
            transition: opacity 0.2s ease;
        }

        .category-title.is-hidden-behind {
            opacity: 0 !important;
            pointer-events: none;
        }
