        /* === ESTILOS BASE (CLONADOS DE CATALOG.PHP) === */
        :root {
            --bg-deep: #0a1014;
            --lifestream: #00ffc3;
            --meteor-red: #ff3333;
            --ui-gold: #d4c393;
            --text-main: #f0f0f0;
            --font-main: 'Outfit', sans-serif;
            --glass-bg: rgba(30, 30, 45, 0.4);
            --glass-border: rgba(255, 255, 255, 0.1);
        }

        html { width: 100%; }
        *, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; -webkit-tap-highlight-color: transparent !important; }
        
        body {
            background-color: var(--bg-deep);
            color: var(--text-main);
            font-family: var(--font-main);
            overflow-x: hidden; 
            position: relative;
            min-height: 100vh; 
            margin: 0;
            -webkit-overflow-scrolling: touch;
        }

        /* === FONDO GLOBAL === */
        .bg-universe {
            position: fixed; inset: 0; 
            z-index: -1; 
            pointer-events: none;
            background: radial-gradient(circle at 10% 20%, rgba(0, 224, 255, 0.05) 0%, transparent 40%),
                        radial-gradient(circle at 90% 80%, rgba(255, 51, 51, 0.05) 0%, transparent 40%);
        }

        /* === NAVBAR (CLONADO EXACTO) === */
        .navbar {
            position: fixed; top: 0; left: 0; width: 100%; padding: 0 4%; 
            height: 100px; display: flex; align-items: center; justify-content: space-between;
            background: linear-gradient(to bottom, rgba(10,16,20,0.9) 0%, transparent 100%);
            transition: 0.4s; border-bottom: 1px solid transparent;
            z-index: 1000;
        }

        .navbar.scrolled { background: rgba(10,16,20,0.95); backdrop-filter: blur(10px); border-bottom: 1px solid rgba(255,255,255,0.1); height: 80px; }
        
        .nav-logo img { 
            height: 70px; width: auto; 
            transition: height 0.4s ease;
            filter: drop-shadow(0 0 5px rgba(0, 255, 195, 0.2));
        }
        .navbar.scrolled .nav-logo img { height: 50px; }
        
        .nav-menu { display: flex; gap: 40px; list-style: none; }
        
        .nav-link { 
            text-decoration: none; color: #e0e0e0; font-size: 0.9rem; font-weight: 600; 
            letter-spacing: 1px; text-transform: uppercase; position: relative; 
            transition: color 0.3s ease; padding-bottom: 5px; font-family: var(--font-main); 
        }
        .nav-link::after { 
            content: ''; position: absolute; bottom: 0; left: 50%; width: 0; height: 2px; 
            background-color: var(--lifestream); transition: all 0.3s ease; transform: translateX(-50%); 
        }
        .nav-link:hover, .nav-link.active { color: var(--lifestream); text-shadow: 0 0 8px rgba(0, 255, 195, 0.4); }
        .nav-link:hover::after, .nav-link.active::after { width: 100%; }

        .mobile-menu-toggle { display: none; color: white; font-size: 1.8rem; cursor: pointer; }
        .desktop-spacer { width: 30px; }

        /* === MENÚ MÓVIL === */
        @media (max-width: 900px) {
            .nav-menu {
                position: fixed; top: 0; right: -105%; width: 80%; max-width: 300px; height: 100vh;
                background: rgba(10,16,20,0.98); backdrop-filter: blur(15px);
                flex-direction: column; justify-content: center; align-items: center; gap: 30px; 
                transition: 0.4s ease; z-index: 1001; box-shadow: -5px 0 20px rgba(0,0,0,0.5); padding: 0; 
            }
            .nav-menu.active { right: 0; }
            .mobile-menu-toggle { display: block; z-index: 1002; position: relative; margin-right: 5px; }
            .desktop-spacer { display: none; }
            .navbar { padding: 0 20px; }
            .nav-logo img { height: 35px !important; } 
            .navbar.scrolled .nav-logo img { height: 30px !important; } 
        }

        /* === CONTENEDOR DE LA PÁGINA DE COOKIES === */
        .legal-container {
            position: relative;
            z-index: 1;
            padding: 150px 6% 60px; /* Espacio arriba para que el menú no tape el título */
            max-width: 1000px;
            margin: 0 auto;
        }

        .legal-container h1 {
            color: var(--lifestream);
            font-size: 2.5rem;
            font-weight: 900;
            text-transform: uppercase;
            margin-bottom: 20px;
            letter-spacing: 1px;
        }

        .legal-container p {
            color: #ccc;
            font-size: 1.1rem;
            margin-bottom: 40px;
            line-height: 1.6;
        }

        /* Estilo para integrar la tabla de cookies de CookieYes en la estética oscura */
        .cookie-declaration-wrapper {
            background: rgba(255,255,255,0.03);
            padding: 30px;
            border-radius: 15px;
            border: 1px solid rgba(255,255,255,0.05);
            backdrop-filter: blur(10px);
        }
        
        /* Botón «Gestionar mis cookies» (lo activa CookieYes por la clase cky-banner-element) */
        .legal-container .btn-cookies-gestionar {
            font-family: var(--font-main, 'Outfit', sans-serif);
            font-size: 0.9rem;
            font-weight: 700;
            letter-spacing: 0.04em;
            color: var(--lifestream);
            background: rgba(0, 255, 195, 0.14);
            border: 2px solid var(--lifestream);
            border-radius: 999px;
            padding: 12px 26px;
            cursor: pointer;
            transition: filter 0.2s ease;
        }
        .legal-container .btn-cookies-gestionar:hover { filter: brightness(1.25); }
        .legal-container .btn-cookies-gestionar:focus-visible { outline: 2px solid var(--lifestream); outline-offset: 2px; }
        .cookies-gestionar-bloque { margin: 26px 0 0 0; }

        /* ---- Tabla de cookies que rellena CookieYes ---- */
        /* Hueco reservado mientras carga (la página no salta cuando llega) y radar discreto si tarda más de 0,7 s.
           Si en 8 s no llega (bloqueada, sin conexión…), el hueco se retira solo. */
        .cky-audit-table-element:empty {
            position: relative;
            min-height: 420px;
            animation: ve-cky-hueco 0s linear 8s forwards;
        }
        .cky-audit-table-element:empty::before {
            content: "";
            position: absolute;
            left: 50%; top: 30%;
            width: 54px; height: 54px;
            margin: -27px 0 0 -27px;
            border-radius: 50%;
            background: radial-gradient(circle, var(--lifestream) 0 3.5px, transparent 4.5px);
            border: 1.5px dotted var(--lifestream);
            outline: 1.5px dotted rgba(0, 255, 195, 0.7);
            animation: ve-cky-retardo 0s linear 0.7s both, ve-cky-onda 2s ease-out infinite, ve-cky-fuera 0s linear 8s forwards;
        }
        .cky-audit-table-element:empty::after {
            content: "CARGANDO COOKIES";
            position: absolute;
            left: 50%; top: 30%;
            transform: translate(-50%, 52px);
            font-size: 0.66rem;
            letter-spacing: 0.34em;
            white-space: nowrap;
            color: rgba(240, 240, 240, 0.6);
            animation: ve-cky-retardo 0s linear 0.7s both, ve-cky-fuera 0s linear 8s forwards;
        }
        @keyframes ve-cky-onda { 0% { outline-offset: 0; outline-color: rgba(0, 255, 195, 0.7); } 100% { outline-offset: 34px; outline-color: rgba(0, 255, 195, 0); } }
        @keyframes ve-cky-retardo { from { visibility: hidden; } to { visibility: visible; } }
        @keyframes ve-cky-fuera { to { opacity: 0; visibility: hidden; } }
        @keyframes ve-cky-hueco { to { min-height: 0; } }
        @media (prefers-reduced-motion: reduce) {
            .cky-audit-table-element:empty::before { animation: ve-cky-retardo 0s linear 0.7s both, ve-cky-fuera 0s linear 8s forwards; }
        }

        .cky-audit-table-element h3,
        .cky-audit-table-element .cky-audit-table-title {
            color: var(--lifestream) !important;
            font-family: var(--font-main, 'Outfit', sans-serif) !important;
        }
        .cky-audit-table-element .cky-table-wrapper {
            margin: 14px 0 26px 0 !important;
            overflow-x: auto !important;
            border: 1px solid rgba(255, 255, 255, 0.14) !important;
            border-radius: 10px !important;
            background: #0d1418 !important;
        }
        .cky-audit-table-element table.cky-cookie-audit-table {
            width: 100% !important;
            border-collapse: collapse !important;
            background: transparent !important;
            color: #d6dde2 !important;
            font-family: var(--font-main, 'Outfit', sans-serif) !important;
            font-size: 0.85rem !important;
            line-height: 1.6 !important;
        }
        .cky-audit-table-element table.cky-cookie-audit-table thead th {
            background: rgba(0, 255, 195, 0.12) !important;
            color: var(--lifestream) !important;
            font-weight: 700 !important;
            font-size: 0.74rem !important;
            letter-spacing: 0.08em !important;
            text-transform: uppercase !important;
            text-align: left !important;
            padding: 12px 16px !important;
            border: 0 !important;
        }
        .cky-audit-table-element table.cky-cookie-audit-table tbody td {
            background: transparent !important;
            color: #d6dde2 !important;
            padding: 14px 16px !important;
            font-size: 0.85rem !important;
            line-height: 1.6 !important;
            vertical-align: top !important;
            border: 0 !important;
            border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
        }
        .cky-audit-table-element table.cky-cookie-audit-table tbody tr:nth-child(even) td { background: rgba(255, 255, 255, 0.03) !important; }
        .cky-audit-table-element table.cky-cookie-audit-table tbody td:first-child {
            font-weight: 700 !important;
            white-space: nowrap !important;
            color: var(--ui-gold) !important;
        }
        .cky-audit-table-element table.cky-cookie-audit-table tbody td:nth-child(2) { white-space: nowrap !important; }
        .cky-audit-table-element table.cky-cookie-audit-table td p { font-size: inherit !important; line-height: inherit !important; color: inherit !important; margin: 0 !important; }

        /* Móvil: cada cookie se apila en una tarjeta, sin scroll lateral */
        @media (max-width: 640px) {
            .cky-audit-table-element .cky-table-wrapper { overflow-x: visible !important; }
            .cky-audit-table-element table.cky-cookie-audit-table,
            .cky-audit-table-element table.cky-cookie-audit-table tbody,
            .cky-audit-table-element table.cky-cookie-audit-table tr,
            .cky-audit-table-element table.cky-cookie-audit-table td { display: block !important; width: 100% !important; }
            .cky-audit-table-element table.cky-cookie-audit-table thead { display: none !important; }
            .cky-audit-table-element table.cky-cookie-audit-table tbody tr { border-top: 1px solid rgba(255, 255, 255, 0.14) !important; padding: 6px 0 !important; }
            .cky-audit-table-element table.cky-cookie-audit-table tbody tr:first-child { border-top: 0 !important; }
            .cky-audit-table-element table.cky-cookie-audit-table tbody td { border: 0 !important; padding: 6px 14px !important; background: transparent !important; white-space: normal !important; }
            .cky-audit-table-element table.cky-cookie-audit-table tbody td::before {
                display: block !important;
                font-size: 0.64rem !important;
                letter-spacing: 0.08em !important;
                text-transform: uppercase !important;
                color: var(--lifestream) !important;
                opacity: 0.85 !important;
                font-weight: 600 !important;
                margin-bottom: 1px !important;
            }
            .cky-audit-table-element table.cky-cookie-audit-table tbody td:nth-child(1)::before { content: "Cookie"; }
            .cky-audit-table-element table.cky-cookie-audit-table tbody td:nth-child(2)::before { content: "Duración"; }
            .cky-audit-table-element table.cky-cookie-audit-table tbody td:nth-child(3)::before { content: "Descripción"; }
        }
    
