html {
    font-size: 14px;
}

@media (min-width: 768px) {
    html {
        font-size: 16px;
    }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
    position: relative;
    min-height: 100%;
}

body {
    margin-bottom: 60px;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
    color: var(--bs-secondary-color);
    text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
    text-align: start;
}

/* =========================================================
   Identidad visual de Aventuras (la misma del Admin)
   adaptada a los dos estilos de RF12
   ========================================================= */

/* Común a los dos modos: acento y fuente de títulos */

:root {
    --camino: #5fd1b3; /* acento: el camino que elige el lector */
    --camino-claro: #8be3cb;
    --camino-oscuro: #0b2a22;
    --fuente-titulos: "Source Serif 4", Georgia, serif;
}

/* Modo oscuro: la paleta "Noche de lectura" del Admin */
[data-bs-theme="dark"] {
    --bs-body-bg: #11161f;
    --bs-body-color: #dfe4ec;
    --bs-emphasis-color: #f2f4f8;
    --bs-secondary-color: #8e99ab;
    --bs-border-color: #2a3445;
    --bs-tertiary-bg: #0b0f16; /* navbar más oscura que la página */
    --bs-tertiary-bg-rgb: 11, 15, 22; /* la que usa bg-body-tertiary */
    --bs-secondary-bg: #1d2533; /* tarjetas y superficies */
    --bs-link-color: var(--camino);
    --bs-link-color-rgb: 95, 209, 179;
    --bs-link-hover-color: var(--camino-claro);
    --bs-link-hover-color-rgb: 139, 227, 203;
}

/* Modo claro: mismos tonos, invertidos */
[data-bs-theme="light"] {
    --bs-body-bg: #f6f7f9;
    --bs-body-color: #1d2533;
    --bs-emphasis-color: #11161f;
    --bs-secondary-color: #5b6678;
    --bs-border-color: #dde2ea;
    --bs-tertiary-bg: #ffffff;
    --bs-tertiary-bg-rgb: 255, 255, 255;
    --bs-link-color: #17876b; /* el acento más oscuro para que se lea sobre blanco */
    --bs-link-color-rgb: 23, 135, 107;
    --bs-link-hover-color: #0f6652;
    --bs-link-hover-color-rgb: 15, 102, 82;
}

/* Títulos con serif (como un libro) */
h1, h2, h3, h4, h5 {
    font-family: var(--fuente-titulos);
    font-weight: 600;
    color: var(--bs-emphasis-color);
}

/* Logo */
.marca {
    display: flex;
    align-items: center;
    gap: .5rem;
    font-family: var(--fuente-titulos);
    font-size: 1.25rem;
}

.marca-icono {
    color: var(--camino);
}

/* Botón principal con el color del camino (en los dos modos) */
.btn-primary {
    --bs-btn-bg: var(--camino);
    --bs-btn-border-color: var(--camino);
    --bs-btn-color: var(--camino-oscuro);
    --bs-btn-hover-bg: var(--camino-claro);
    --bs-btn-hover-border-color: var(--camino-claro);
    --bs-btn-hover-color: var(--camino-oscuro);
    --bs-btn-active-bg: var(--camino-claro);
    --bs-btn-active-color: var(--camino-oscuro);
    font-weight: 500;
}

/* Tarjetas: en claro, blancas sobre el fondo gris */
[data-bs-theme="light"] .card {
    --bs-card-bg: #ffffff;
}

.home-hero {
    padding: 4rem 1rem 2rem;
}

.home-eyebrow {
    text-transform: uppercase;
    letter-spacing: .12em;
    font-size: .8rem;
}

.home-lead {
    max-width: 38rem;
}

.home-hero h1 {
    font-family: 'Source Serif 4', serif; /* la misma tipografía del logo */
}

.home-numero {
    width: 2.5rem;
    height: 2.5rem;
    margin: 0 auto .75rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    color: var(--bs-primary);
    border: 2px solid var(--bs-primary);
}

.home-estante {
    display: block;
    width: 100%;
    max-width: 640px;
    margin: 1.5rem auto 0;
}

.lectura-centrada {
    min-height: calc(100vh - 14rem); /* pantalla menos menú y pie */
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem 0;
}

.lectura-pagina {
    width: 100%;
    max-width: 44rem;
    padding: 2.5rem 2.25rem;
    border: 1px solid var(--bs-border-color);
    border-radius: .75rem;
    background: var(--bs-tertiary-bg);
    animation: lectura-aparece .5s ease-out;
}

.lectura-eyebrow {
    text-align: center;
    text-transform: uppercase;
    letter-spacing: .12em;
    font-size: .75rem;
    margin-bottom: .5rem;
}

.lectura-titulo {
    text-align: center;
    font-family: 'Source Serif 4', serif;
    font-size: 2rem;
    margin-bottom: .75rem;
}

.lectura-adorno {
    display: block;
    width: 7.5rem;
    height: .75rem;
    margin: 0 auto 1.5rem;
    color: var(--bs-primary);
}

.lectura-texto {
    font-family: 'Source Serif 4', serif;
    font-size: 1.15rem;
    line-height: 1.8;
    white-space: pre-line;
    margin-bottom: 2rem;
}

    .lectura-texto::first-letter {
        float: left;
        font-size: 3.4rem;
        line-height: .9;
        padding: .2rem .5rem 0 0;
        color: var(--bs-primary);
    }

.lectura-pregunta {
    text-align: center;
    font-style: italic;
    margin-bottom: .75rem;
}

.lectura-opciones {
    display: grid;
    gap: .6rem;
}

.lectura-opcion {
    width: 100%;
    display: flex;
    align-items: center;
    gap: .9rem;
    text-align: left;
    padding: .8rem 1rem;
    border: 1px solid var(--bs-border-color);
    border-radius: .5rem;
    background: var(--bs-body-bg);
    color: var(--bs-body-color);
    transition: border-color .15s ease, transform .15s ease;
}

    .lectura-opcion:hover {
        border-color: var(--bs-primary);
        transform: translateX(3px);
    }

.lectura-letra {
    flex: 0 0 auto;
    width: 1.8rem;
    height: 1.8rem;
    border: 1.5px solid var(--bs-primary);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .85rem;
    font-weight: 600;
    color: var(--bs-primary);
}

.lectura-fin {
    text-align: center;
    border-top: 1px solid var(--bs-border-color);
    padding-top: 1.5rem;
}

.lectura-fin-marca {
    font-family: 'Source Serif 4', serif;
    font-size: 2.2rem;
    margin-bottom: .25rem;
}

@keyframes lectura-aparece {
    from {
        opacity: 0;
        transform: translateY(8px);
    }

    to {
        opacity: 1;
        transform: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .lectura-pagina {
        animation: none;
    }

    .lectura-opcion {
        transition: none;
    }
}