        :root {
            --fondo-body: #121110;
            --fondo-container: #1a1817;
            --texto-principal: #e3dec3;
            --texto-secundario: #a69e94;
            --acento-vino: #ff4a54;
            --acento-hover: #ff7d85;
            --borde: #3a3530;
            --lineas-papel: rgba(58, 53, 48, 0.4);
            --sombra: rgba(0, 0, 0, 0.3);
            --text-color: #e3dec3;
            --bg-color: #121110;
            --font-mono: monospace;
        }

 /* --- TEMA ALTERNATIVO: CLARO --- */
          [data-theme="light"]:root {
            --fondo-body: #fcfbf7;
            --fondo-container: #ffffff;
            --texto-principal: #1c1a17;
            --texto-secundario: #615a52;
            --acento-vino: #5a1216;
            --acento-hover: #a12329;
            --borde: #e3dec3;
            --lineas-papel: rgba(227, 222, 195, 0.4);
            --sombra: rgba(0, 0, 0, 0.05);
            --text-color: #1c1a17;
            --bg-color: #fcfbf7;
}
          p a {
            color: var(--acento-vino);
            text-decoration: underline;
            transition: color 1s ease;
        }
      [data-theme="light"] p a {
            color: var(--acento-hover);
        }
        p a:hover {
            color: var(--text-color);
        }

        /* 2. Fondo */
        body {
            background-color: var(--fondo-body);
            background-image: linear-gradient(var(--lineas-papel) 1px, transparent 1px);
            background-size: 100% 28px;
            color: var(--texto-principal);
            font-family: 'Georgia', 'Times New Roman', serif;
            margin: 0;
            padding: 40px 20px;
            line-height: 1.7;
            transition: background-color 1s ease, color 2s ease;
        }

        .main-container {
            max-width: 700px;
            margin: 0 auto;
            background-color: var(--fondo-container);
            padding: 40px;
            border: 1px solid var(--borde);
            box-shadow: 0 4px 15px var(--sombra);
            transition: background-color 1s ease, border-color 1s ease, box-shadow 2s ease;
        }

        header {
            text-align: center;
            border-bottom: 2px solid var(--acento-vino);
            padding-bottom: 20px;
            margin-bottom: 35px;
        }

        /* 3. Tipografía */
        h1 {
            font-size: clamp(1.8em, 5vw, 2.5em);
            font-weight: normal;
            letter-spacing: 1px;
            margin: 0 0 10px 0;
        }

        .tagline {
            font-style: italic;
            color: var(--texto-secundario);
            margin: 0 0 10px 0; /* Añadido un margen abajo de 10px (ver si se queda)*/
            font-size: clamp(0.95em, 2.5vw, 1.1em);
        }

        h2 {
            font-size: clamp(1.1em, 3vw, 1.3em);
            font-weight: normal;
            text-transform: uppercase;
            letter-spacing: 2px;
            color: var(--acento-vino);
            margin-top: 40px;
            border-bottom: 1px solid var(--borde);
            padding-bottom: 5px;
            text-align: left;
        }
        p {
            font-size: 1.15em;
            text-align: left;
            line-height: 1.75;
            text-rendering: optimizeLegibility;
        }
        a {
            color: var(--acento-vino);
            text-decoration: underline;
            transition: color 0.25s ease, text-shadow 0.25s ease;
        }

        a:hover {
            color: var(--acento-hover);
            text-shadow: 0 0 4px rgba(255, 74, 84, 0.15);
        }

        .book-item {
            margin-bottom: 30px;
            padding-bottom: 20px;
            border-bottom: 1px dashed var(--borde);
            text-align: left;
        }

        .book-item:last-child {
            border-bottom: none;
        }

        .book-title {
            font-size: 1.15em;
            font-weight: bold;
            display: block;
        }

        .book-meta {
            font-size: 0.9em;
            font-style: italic;
            color: var(--texto-secundario);
        }

        /* 5. Cuadrícula para Canales de Venta (optimizar luego) */
        .platform-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 15px;
            margin-top: 20px;
            transition: background-color 1s ease, border-color 2s ease, box-shadow 1s ease;
        }

        .platform-card {
            background-color: var(--fondo-body);
            border: 1px solid var(--borde);
            padding: 15px;
            font-size: 0.95em;
            text-align: left;
            transition: background-color 1s ease, border-color 2s ease, box-shadow 1s ease;
        }

        .platform-card:hover {
            transform: translateY(-2px);
            box-shadow: 0 4px 8px var(--sombra);
        }

        .platform-card p {
            margin: 0;
            text-align: left;
            font-size: 0.9em;
            color: var(--texto-secundario);
        }

        .platform-card a {
            font-weight: bold;
            display: inline-block;
            margin-bottom: 5px;
        }

        footer {
            text-align: center;
            margin-top: 60px;
            font-size: 0.85em;
            color: var(--texto-secundario);
            border-top: 1px solid var(--borde);
            padding-top: 20px;
        }
        
/* Cursor Steampunk */
    body {
        cursor: url("https://cdn.cursors-4u.net/previews/normal-7ecdc54d-preview-64.webp"), auto;
    }
    a, button {
        cursor: url("https://cdn.cursors-4u.net/previews/normal-7ecdc54d-preview-64.webp"), pointer;
    }
    
            /* 4. Menú de Navegación */
        .site-navigation {
            margin: 20px auto 35px auto;
            padding: 0;
            border-top: 1px solid var(--borde);
            border-bottom: 1px solid var(--borde);
        }
        header .site-navigation {
            margin-top: 15px;
            margin-bottom: 0px;
}
        .site-navigation ul {
            list-style: none;
            margin: 0;
            padding: 10px 0;
            display: flex;
            justify-content: center;
            flex-wrap: wrap;
            gap: clamp(15px, 4vw, 30px);
        }

        .site-navigation li {
            margin: 0;
        }
        
        .nav-link {
            font-size: 0.95em;
            text-transform: uppercase;
            letter-spacing: 1.5px;
            text-decoration: none;
            color: var(--texto-secundario);
            font-family: 'Georgia', serif;
            font-style: italic;
            padding: 5px 10px;
            display: inline-block;
            transition: color 0.25s ease, transform 0.2s ease;
        }

        /* (Hover) */
        .nav-link:hover {
            color: var(--acento-hover);
            text-shadow: 0 0 4px rgba(255, 74, 84, 0.1);
            transform: translateY(-1px);
        }

        /* Estado */
        .nav-link.active {
            color: var(--acento-vino);
            font-weight: bold;
            border-bottom: 1px solid var(--acento-vino);
        }

/* --- BOTÓN FLOTANTE MODO OSCURO/CLARO --- */
        .theme-toggle-btn {
            position: fixed;
            bottom: 30px;
            right: 30px;
            background-color: transparent;
            color: var(--texto-secundario);
            border: none;
            padding: 8px 14px;
            font-family: var(--font-mono, monospace);
            font-size: 0.8rem;
            cursor: pointer;
            border-radius: 6px;
            box-shadow: none;
            transition: transform 1s ease, background-color 1.2s ease, color 1s ease, border-color 1s ease;
            z-index: 1000;
        }

        .theme-toggle-btn:hover {
            transform: scale(1.25);
            background-color: rgba(255, 255, 255, 0.05);
            color: var(--texto-principal);
            border-color: var(--texto-secundario);
        }
        /* --- CITAS --- */
        .cita-destacada {
            display: block;
            position: relative;
            margin: 45px 0;
            padding: 20px 20px 20px 40px;
            border-left: 3px solid var(--acento-vino); 
            font-size: 1.15rem;
            font-style: italic;
            line-height: 1.7;
            color: var(--text-color) !important;
            font-size: 120%;
            font-weight: 600;
            transition: color 2s ease, border-color 1s ease; 
}

         .cita-destacada::before {
           content: "“";
           position: absolute;
           top: -15px;
           left: 10px;
           font-size: 5rem;
           color: var(--text-color);
           opacity: 0.08; 
           font-family: serif;
           line-height: 1;
           user-select: none;
           transition: color 1s ease; 
}
         .cita-destacada::after {
           content: "”";
           position: absolute;
           bottom: -45px;
           right: 15px;
           font-size: 5rem;
           color: var(--text-color);
           opacity: 0.08;
           font-family: serif;
           line-height: 1;
           user-select: none;
           transition: color 1s ease;
}

         /* Ajuste responsivo extra/botón tema móvil */
        @media (max-width: 480px) {
            .site-navigation ul {
                padding: 15px 0;
                gap: 10px 20px;
            }
        p   {
                 overflow-wrap: break-word;
            }
            .nav-link {
                font-size: 0.85em;
                letter-spacing: 1px;
            }
            .theme-toggle-btn {
                bottom: 0px;
                right: 0px;
                padding: 6px 8px;
                font-size: 0.65rem;
            }
        }
         /* Iframe Adaptable */
        .iframe-container {
            position: relative;
            width: 100%;
            height: 750px; 
            border: 1px solid var(--borde);
            background-color: transparent;
            box-sizing: border-box;
            margin-top: 20px;
        }

        .iframe-container iframe {
            width: 100%;
            height: 100%;
            border: none;
            display: block;
            filter: brightness(0.9) contrast(1.1);
            transition: filter 1s ease;
        }
        
         /* RSS */
        .rss-badge {
            display: flex;
            align-items: center;
            width: max-content;
            height: 31px;
            margin: 4px auto 0;
            background-color: transparent;
            border: none;
            color: var(--acento-vino);
            font-family: 'Courier New', Courier, monospace;
            font-size: 0.85em;
            font-weight: bold;
            text-decoration: none;
            box-sizing: border-box;
            overflow: hidden;
            transition: all 1s ease;
        }

        .rss-icon {
            display: flex;
            align-items: center;
            height: 100%;
            padding: 0 4px;
            background-color: transparent;
            color: var(--acento-vino);
            font-size: 12px;
            white-space: nowrap;
        }

        .rss-text {
            padding-left: 4px;
            letter-spacing: 0.5px;
            color: var(--acento-vino);
        }

        .rss-badge:hover {
            text-decoration: underline;
            opacity: 0.8;
            transform: scale(1.15);
            color: var(--acento-hover);
        }
        /* Panel Colapsable de RSS */
        details.rss-ayuda {
            margin: 0 auto;
            max-width: 550px;
            width: 100%;
        }

        details.rss-ayuda summary {
            display: block;
            text-align: center;
            list-style: none;
            outline: none;
        }

        details.rss-ayuda summary::-webkit-details-marker {
            display: none;
        }

        .rss-ayuda-trigger {
            display: inline-block;
            font-size: 0.85em;
            font-family: 'Courier New', Courier, monospace;
            font-weight: bold;
            font-style: italic;
            cursor: pointer;
            color: var(--texto-secundario);
            transition: transform 1s ease, color 1s ease;
        }

        .rss-ayuda-trigger:hover {
            color: var(--acento-hover);
            transform: scale(1.15);
        }
        .rss-ayuda-contenido {
            margin-top: 5px;
            padding: 20px;
            background-color: var(--fondo-container);
            border: 1px solid var(--borde);
            box-shadow: 0 4px 15px var(--sombra);
            line-height: 1.7;
            color: var(--texto-principal);
            text-align: left;
            animation: desplegarSuave 1.5s ease-in-out forwards;
            transition: background-color 1s ease, border-color 1s ease, color 1s ease, box-shadow 2s ease;
        }

        .rss-ayuda-contenido p {
            margin: 0 0 15px 0;
            font-size: 1em;
        }

        .rss-ayuda-pasos {
           font-weight: bold;
           margin-top: 20px !important;
        }

        .rss-ayuda-contenido ol {
           margin-left: 20px;
           margin-bottom: 0;
           padding-left: 0;
           text-align: left;
        }

        .rss-ayuda-contenido li {
           margin-bottom: 10px;
           font-size: 0.95em;
        }

        .rss-ayuda-contenido code {
           font-family: var(--font-mono, monospace);
           background-color: var(--fondo-body);
           padding: 3px 6px;
           border: 1px solid var(--borde);
           font-size: 0.85em;
           word-break: break-all;
           transition: background-color 1s ease, border-color 1s ease, color 1s ease;
        }

        @keyframes desplegarSuave {
        from {
        opacity: 0;
        transform: translateY(-8px);
        }
    to {
        opacity: 1;
        transform: translateY(0);
       }
       }
