
/* =========================================
   LI STUDIO LI · SOBRE NOSOTROS
========================================= */

.sobre-page {
    --sobre-crema: #f8f5ef;
    --sobre-lila: #b58cff;
    --sobre-verde: #a8df6b;
    --sobre-azul: #172b4d;
    --sobre-texto: #536078;

    overflow: clip;
    background: var(--sobre-crema);
    color: var(--sobre-azul);
    font-family: "Nunito", sans-serif;
}

.sobre-page *,
.sobre-page *::before,
.sobre-page *::after {
    box-sizing: border-box;
}

.sobre-page h1,
.sobre-page h2,
.sobre-page h3,
.sobre-page p {
    margin-top: 0;
}

.sobre-page h1,
.sobre-page h2,
.sobre-page h3 {
    font-family: "Geomanist", "Nunito", sans-serif;
}

.sobre-page p {
    color: var(--sobre-texto);
    line-height: 1.85;
}

.sobre-page a {
    text-decoration: none;
}


/* =========================================
   1. HERO
========================================= */

.sobre-hero {
    position: relative;
    isolation: isolate;
    min-height: 680px;
    padding: 155px 15% 100px;
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    align-items: center;
    gap: 45px;
    background:
        radial-gradient(
            circle at 80% 35%,
            rgba(181, 140, 255, 0.20),
            transparent 32%
        ),
        radial-gradient(
            circle at 15% 90%,
            rgba(168, 223, 107, 0.18),
            transparent 28%
        ),
        var(--sobre-crema);
}

.sobre-hero-contenido {
    position: relative;
    z-index: 2;
    max-width: 650px;
    margin-left: 90px;
    margin-top: 45px;
}

.sobre-etiqueta,
.sobre-mini-etiqueta {
    display: inline-block;
    margin-bottom: 22px;
    color: #8760d6;
    font-size: 0.77rem;
    font-weight: 900;
    letter-spacing: 2px;
}

.sobre-hero h1 {
    margin-bottom: 24px;
    font-size: clamp(2.8rem, 5.2vw, 5rem);
    line-height: 1.08;
    letter-spacing: -2px;
}

.sobre-hero h1 span,
.sobre-universo-texto h2 span,
.sobre-titulo-seccion h2 span,
.sobre-proceso-cabecera h2 span,
.sobre-cierre h2 span {
    display: block;
    color: #956be6;
}

.sobre-intro {
    max-width: 530px;
    margin-bottom: 32px;
    font-size: 1.08rem;
}

.sobre-boton {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    padding: 15px 24px;
    border-radius: 30px;
    background: linear-gradient(
        110deg,
        #a8df6b,
        #c1e78c 55%,
        #b58cff
    );
    color: var(--sobre-azul);
    font-weight: 900;
    box-shadow: 0 9px 25px rgba(23, 43, 77, 0.10);
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.sobre-boton:hover {
    transform: translateY(-4px);
    box-shadow: 0 13px 28px rgba(23, 43, 77, 0.16);
}

.sobre-boton:focus-visible,
.sobre-page a:focus-visible {
    outline: 3px solid #8760d6;
    outline-offset: 5px;
}


/* =========================================
   2. MI UNIVERSO
========================================= */

.sobre-universo {
    padding: 110px 9%;
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    align-items: center;
    gap: 90px;
    background: #fffdf9;
}

.sobre-universo-visual {
    display: flex;
    justify-content: center;
}

.sobre-marco-creativo {
    position: relative;
    width: 100%;
    max-width: 420px;
    min-height: 430px;
    padding: 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    border: 2px solid rgba(181, 140, 255, 0.35);
    border-radius: 180px 180px 35px 35px;
    background:
        radial-gradient(
            circle at 50% 48%,
            #e7dcff,
            #f1e9ff 45%,
            #f8f5ef 75%
        );
    box-shadow: 14px 14px 0 rgba(168, 223, 107, 0.45);
}

.sobre-marco-estrella {
    align-self: flex-end;
    color: #956be6;
    font-size: 2rem;
}

.sobre-marco-texto {
    font-size: 0.7rem;
    font-weight: 900;
    letter-spacing: 2px;
}

.sobre-ilustracion {
    position: relative;
    width: 100%;
    min-height: 200px;
    display: grid;
    place-items: center;
}

.sobre-ilustracion-planeta {
    font-size: clamp(6rem, 12vw, 9rem);
    filter: drop-shadow(0 14px 12px rgba(23, 43, 77, 0.12));
}

.sobre-ilustracion-hoja {
    position: absolute;
    right: 5%;
    bottom: 5%;
    font-size: 3rem;
    transform: rotate(15deg);
}

.sobre-ilustracion-brillo {
    position: absolute;
    top: 5%;
    left: 10%;
    color: #956be6;
    font-size: 2.5rem;
}

.sobre-marco-firma {
    font-size: 0.9rem;
    font-style: italic;
}

.sobre-universo-texto h2,
.sobre-titulo-seccion h2,
.sobre-proceso-cabecera h2 {
    margin-bottom: 24px;
    font-size: clamp(2.2rem, 4vw, 3.5rem);
    line-height: 1.15;
    letter-spacing: -1px;
}

.sobre-universo-texto p {
    margin-bottom: 18px;
}

.sobre-firma {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 28px;
    color: #8060be;
    font-weight: 800;
}

.sobre-firma span:first-child {
    color: #8dbb5c;
    font-size: 1.5rem;
}


/* =========================================
   3. FILOSOFÍA
========================================= */

.sobre-filosofia {
    padding: 110px 9%;
    background:
        radial-gradient(
            circle at 5% 10%,
            rgba(181, 140, 255, 0.12),
            transparent 28%
        ),
        var(--sobre-crema);
}

.sobre-titulo-seccion {
    max-width: 720px;
    margin: 0 auto 55px;
    text-align: center;
}

.sobre-titulo-seccion > p,
.sobre-proceso-cabecera > p {
    max-width: 620px;
    margin-right: auto;
    margin-left: auto;
}

.sobre-valores-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 25px;
}

.sobre-valor-card {
    position: relative;
    min-width: 0;
    padding: 32px;
    border: 1px solid rgba(23, 43, 77, 0.06);
    border-radius: 28px;
    background: #fffdf9;
    box-shadow: 0 12px 35px rgba(23, 43, 77, 0.045);
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.sobre-valor-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 20px 40px rgba(23, 43, 77, 0.09);
}

.sobre-valor-icono {
    width: 65px;
    height: 65px;
    margin-bottom: 25px;
    display: grid;
    place-items: center;
    border-radius: 22px;
    background: #eee7ff;
    font-size: 2rem;
}

.valor-cercania .sobre-valor-icono {
    background: #f3e8ff;
}

.valor-crecimiento .sobre-valor-icono {
    background: #eaf4d9;
}

.sobre-valor-numero {
    position: absolute;
    top: 32px;
    right: 30px;
    color: #a6aaba;
    font-size: 0.8rem;
    font-weight: 900;
}

.sobre-valor-card h3 {
    margin-bottom: 13px;
    font-size: 1.3rem;
    line-height: 1.3;
}

.sobre-valor-card p {
    margin-bottom: 0;
    font-size: 0.95rem;
}


/* =========================================
   4. PROCESO CREATIVO
========================================= */

.sobre-proceso {
    padding: 110px 8%;
    background: #fffdf9;
}

.sobre-proceso-cabecera {
    max-width: 760px;
    margin: 0 auto 65px;
    text-align: center;
}

.sobre-pasos {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto
        minmax(0, 1fr) auto minmax(0, 1fr) auto
        minmax(0, 1fr);
    align-items: start;
    gap: 17px;
}

.sobre-paso {
    position: relative;
    text-align: center;
}

.sobre-paso-numero {
    display: inline-block;
    margin-bottom: 16px;
    color: #956be6;
    font-size: 0.8rem;
    font-weight: 900;
    letter-spacing: 2px;
}

.sobre-paso-icono {
    width: 76px;
    height: 76px;
    margin: 0 auto 20px;
    display: grid;
    place-items: center;
    border-radius: 25px;
    background: #eee7ff;
    font-size: 2rem;
    transform: rotate(-4deg);
}

.sobre-paso:nth-of-type(3n) .sobre-paso-icono {
    background: #eaf4d9;
}

.sobre-paso h3 {
    margin-bottom: 12px;
    font-size: 1.25rem;
}

.sobre-paso p {
    margin-bottom: 0;
    font-size: 0.9rem;
}

.sobre-paso-conector {
    padding-top: 62px;
    color: #a8c879;
    font-size: 1.4rem;
}


/* =========================================
   5. CIERRE
========================================= */

.sobre-cierre {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 100px 9%;
    text-align: center;
    background:
        radial-gradient(
            circle at 10% 20%,
            rgba(181, 140, 255, 0.25),
            transparent 27%
        ),
        radial-gradient(
            circle at 90% 85%,
            rgba(168, 223, 107, 0.2),
            transparent 30%
        ),
        #172b4d;
}

.sobre-cierre .sobre-mini-etiqueta {
    color: #cbb4ff;
}

.sobre-cierre h2 {
    margin-bottom: 22px;
    color: #fffdf9;
    font-size: clamp(2.5rem, 5vw, 4.3rem);
    line-height: 1.1;
    letter-spacing: -1.5px;
}

.sobre-cierre h2 span {
    color: #b5e77d;
}

.sobre-cierre > p {
    max-width: 580px;
    margin: 0 auto 30px;
    color: #e0e5f0;
}

.sobre-cierre-decoracion {
    margin-bottom: 25px;
    color: #c9b0ff;
    font-size: 2.2rem;
}

.sobre-boton-cierre {
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.16);
}


/* =========================================
   6. TABLET
========================================= */

@media (max-width: 1000px) {

    .sobre-hero {
        padding-right: 6%;
        padding-left: 6%;
        gap: 20px;
    }

    .sobre-universo {
        padding-right: 6%;
        padding-left: 6%;
        gap: 45px;
    }

    .sobre-filosofia {
        padding-right: 6%;
        padding-left: 6%;
    }

    .sobre-valor-card {
        padding: 25px;
    }

    .sobre-pasos {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 45px 30px;
    }

    .sobre-paso-conector {
        display: none;
    }

}


/* =========================================
   7. MÓVIL
========================================= */

@media (max-width: 700px) {

    .sobre-hero {
        min-height: auto;
        padding: 125px 7% 75px;
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .sobre-hero h1 {
        font-size: clamp(2.6rem, 10vw, 4rem);
        letter-spacing: -1.5px;
    }

    .sobre-intro {
        font-size: 1rem;
    }

    .sobre-hero-visual {
        min-height: 310px;
    }

    .sobre-planeta-grande {
        width: 210px;
    }

    .sobre-planeta-grande span {
        font-size: 3.7rem;
    }

    .sobre-planeta-pequeno {
        right: 12%;
        width: 45px;
    }

    .sobre-universo {
        padding: 75px 7%;
        grid-template-columns: 1fr;
        gap: 55px;
    }

    .sobre-marco-creativo {
        max-width: 350px;
        min-height: 360px;
    }

    .sobre-ilustracion-planeta {
        font-size: 7rem;
    }

    .sobre-universo-texto h2,
    .sobre-titulo-seccion h2,
    .sobre-proceso-cabecera h2 {
        font-size: clamp(2rem, 8vw, 2.8rem);
    }

    .sobre-filosofia,
    .sobre-proceso {
        padding: 75px 7%;
    }

    .sobre-titulo-seccion {
        margin-bottom: 38px;
    }

    .sobre-valores-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .sobre-valor-card {
        padding: 27px;
    }

    .sobre-valor-card:hover {
        transform: translateY(-3px);
    }

    .sobre-pasos {
        grid-template-columns: 1fr;
        gap: 38px;
    }

    .sobre-paso {
        max-width: 360px;
        margin: 0 auto;
    }

    .sobre-paso p {
        max-width: 310px;
        margin-right: auto;
        margin-left: auto;
    }

    .sobre-cierre {
        padding: 80px 7%;
    }

}


/* =========================================
   8. ACCESIBILIDAD
========================================= */

@media (prefers-reduced-motion: reduce) {

    .sobre-page *,
    .sobre-page *::before,
    .sobre-page *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }

}
/* ========================================
   LOGO ORIGINAL - SOBRE NOSOTROS
======================================== */

.sobre-hero-visual {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
}

.sobre-logo-contenedor {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 500px;
    padding: 35px;
    animation: logoFlotante 4s ease-in-out infinite;
}

.sobre-logo-original {
    display: block;
    width: 100%;
    max-width: 400px;
    height: auto;
    object-fit: contain;
    transition:
        transform 0.4s ease,
        filter 0.4s ease;
}

/* Efecto al pasar el ratón */

.sobre-logo-contenedor:hover .sobre-logo-original {
    transform: scale(1.07) rotate(-2deg);
    filter: drop-shadow(0 12px 18px rgba(181, 140, 255, 0.3));
}

/* Estrellitas decorativas */

.sobre-logo-contenedor .sobre-estrella {
    position: absolute;
    color: #b58cff;
    pointer-events: none;
    transition: transform 0.4s ease;
}

.sobre-logo-contenedor .estrella-uno {
    top: 12%;
    right: 15%;
    font-size: 2rem;
}

.sobre-logo-contenedor .estrella-dos {
    bottom: 12%;
    left: 15%;
    font-size: 1.6rem;
    color: #a8df6b;
}

.sobre-logo-contenedor .sobre-decoracion-hoja {
    position: absolute;
    right: 7%;
    bottom: 12%;
    font-size: 1.8rem;
    pointer-events: none;
}

.sobre-logo-contenedor:hover .estrella-uno {
    transform: rotate(25deg) scale(1.3);
}

.sobre-logo-contenedor:hover .estrella-dos {
    transform: rotate(-20deg) scale(1.25);
}

/* Movimiento suave */

@keyframes logoFlotante {
    0%, 100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-9px);
    }
}

/* Adaptación a móviles */

@media (max-width: 768px) {
    .sobre-logo-contenedor {
        max-width: 340px;
        padding: 25px;
    }

    .sobre-logo-original {
        max-width: 290px;
    }
}

/* Respeta la preferencia de movimiento reducido */

@media (prefers-reduced-motion: reduce) {
    .sobre-logo-contenedor {
        animation: none;
    }

    .sobre-logo-original {
        transition: none;
    }
}

/* =========================================
   MI UNIVERSO · LOGO PLANTA INTERACTIVO
========================================= */

.sobre-universo {
    grid-template-columns: 0.9fr 1.1fr;
    align-items: center;
    gap: 75px;
}

.sobre-universo-visual {
    display: flex;
    justify-content: center;
    align-items: center;
    min-width: 0;
}

.sobre-planta-contenedor {
    position: relative;
    width: 100%;
    max-width: 410px;
    min-height: 380px;
    display: flex;
    align-items: center;
    justify-content: center;
    isolation: isolate;
}

/* Mancha decorativa detrás del logo */

.sobre-planta-contenedor::before {
    content: "";
    position: absolute;
    z-index: -1;
    width: 82%;
    aspect-ratio: 1;
    border-radius: 48% 52% 61% 39% / 44% 40% 60% 56%;
    background: linear-gradient(
        135deg,
        rgba(181, 140, 255, 0.22),
        rgba(168, 223, 107, 0.32)
    );
    transition:
        transform 0.5s ease,
        border-radius 0.5s ease;
}

.sobre-logo-planta {
    display: block;
    position: relative;
    width: 78%;
    max-width: 330px;
    height: auto;
    object-fit: contain;
    border-radius: 18px;
    mix-blend-mode: multiply;
    animation: plantaFlotante 4.5s ease-in-out infinite;
    transition:
        transform 0.4s ease,
        filter 0.4s ease;
}

/* Interacción al pasar el ratón */

.sobre-planta-contenedor:hover::before {
    transform: rotate(12deg) scale(1.06);
    border-radius: 38% 62% 46% 54% / 54% 38% 62% 46%;
}

.sobre-planta-contenedor:hover .sobre-logo-planta {
    transform: scale(1.07) rotate(-3deg);
    filter: drop-shadow(0 14px 18px rgba(181, 140, 255, 0.25));
}

/* Destellos */

.sobre-planta-destello,
.sobre-planta-decoracion {
    position: absolute;
    pointer-events: none;
    transition:
        transform 0.4s ease,
        color 0.4s ease;
}

.planta-destello-uno {
    top: 10%;
    right: 12%;
    color: #956be6;
    font-size: 2.5rem;
}

.planta-destello-dos {
    bottom: 15%;
    left: 7%;
    color: #8dbb5c;
    font-size: 2rem;
}

.sobre-planta-decoracion {
    top: 22%;
    left: 10%;
    color: #b58cff;
    font-size: 1.5rem;
}

.sobre-planta-contenedor:hover .planta-destello-uno {
    transform: rotate(25deg) scale(1.3);
}

.sobre-planta-contenedor:hover .planta-destello-dos {
    transform: rotate(-20deg) scale(1.3);
}

.sobre-planta-contenedor:hover .sobre-planta-decoracion {
    transform: rotate(45deg) scale(1.2);
}

/* Movimiento suave */

@keyframes plantaFlotante {
    0%, 100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-8px);
    }
}

/* Tablet */

@media (max-width: 1000px) {
    .sobre-universo {
        gap: 40px;
    }

    .sobre-planta-contenedor {
        min-height: 320px;
    }
}

/* Móvil */

@media (max-width: 700px) {
    .sobre-universo {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .sobre-universo-visual {
        grid-row: 1;
    }

    .sobre-universo-texto {
        grid-row: 2;
    }

    .sobre-planta-contenedor {
        max-width: 330px;
        min-height: 290px;
    }

    .sobre-logo-planta {
        width: 75%;
        max-width: 250px;
    }

    .planta-destello-uno {
        font-size: 2rem;
    }

    .planta-destello-dos {
        font-size: 1.6rem;
    }
}

/* Accesibilidad */

@media (prefers-reduced-motion: reduce) {
    .sobre-logo-planta {
        animation: none;
    }

    .sobre-planta-contenedor *,
    .sobre-planta-contenedor::before {
        transition: none;
    }
}

/* =========================================
   MI UNIVERSO · ALINEACIÓN DEL TEXTO
========================================= */

.sobre-universo-texto {
    width: 100%;
    max-width: 650px;
    justify-self: start;
}

.sobre-universo-texto h2 {
    max-width: 650px;
}

.sobre-universo-texto p {
    max-width: 650px;
    margin-right: 0;
    margin-left: 0;
    text-align: left;
}

.sobre-universo-texto .sobre-firma {
    justify-content: flex-start;
}

/* Título de Mi Universo en línea */

.sobre-universo-texto h2 span {
    display: inline;
}


/* =========================================
   LIBRO INTERACTIVO · LI STUDIO LI
========================================= */

.sobre-libro {
    --libro-crema: #fffdf7;
    --libro-lila: #b58cff;
    --libro-verde: #a8df6b;
    --libro-azul: #172b4d;

    position: relative;
    width: 100%;
    max-width: 1050px;
    margin: 0 auto;
    padding: 25px 28px 20px;
    border: 1px solid rgba(181, 140, 255, 0.25);
    border-radius: 22px 28px 24px 18px;
    background:
        repeating-linear-gradient(
            0deg,
            transparent 0,
            transparent 34px,
            rgba(181, 140, 255, 0.055) 35px
        ),
        var(--libro-crema);
    box-shadow:
        0 22px 55px rgba(23, 43, 77, 0.09),
        8px 8px 0 rgba(168, 223, 107, 0.35);
}

/* Pequeños anillos del lomo */

.sobre-libro-espiral {
    position: absolute;
    top: 30px;
    bottom: 95px;
    left: 8px;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    pointer-events: none;
}

.sobre-libro-espiral span {
    width: 15px;
    height: 23px;
    border: 3px solid #b58cff;
    border-radius: 50%;
    background: var(--libro-crema);
    box-shadow: 2px 2px 0 rgba(23, 43, 77, 0.08);
}

/* Cada página */

.sobre-libro-pagina {
    display: none;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
    gap: 38px;
    min-height: 390px;
    padding: 22px 22px 28px 25px;
    transform-origin: left center;
}

.sobre-libro-pagina.activa {
    display: grid;
    animation: abrirPaginaLibro 0.45s ease both;
}

@keyframes abrirPaginaLibro {
    from {
        opacity: 0;
        transform: perspective(1000px) rotateY(-7deg);
    }

    to {
        opacity: 1;
        transform: perspective(1000px) rotateY(0);
    }
}

/* Ilustración */

.sobre-libro-ilustracion {
    position: relative;
    display: grid;
    place-items: center;
    min-width: 0;
    min-height: 300px;
    padding: 22px;
    border: 1px solid rgba(181, 140, 255, 0.25);
    border-radius: 48% 48% 25px 25px;
    background:
        radial-gradient(
            circle at 25% 20%,
            rgba(181, 140, 255, 0.18),
            transparent 45%
        ),
        linear-gradient(
            145deg,
            #f6f0ff,
            #f2f7e9
        );
    overflow: hidden;
}

.sobre-libro-ilustracion img {
    display: block;
    width: 100%;
    max-width: 360px;
    max-height: 330px;
    height: auto;
    object-fit: contain;
    transition: transform 0.4s ease;
}

.sobre-libro-ilustracion:hover img {
    transform: scale(1.045) rotate(-1deg);
}

.sobre-libro-numero {
    position: absolute;
    right: 14px;
    bottom: 14px;
    display: grid;
    place-items: center;
    width: 43px;
    height: 43px;
    border-radius: 50%;
    background: linear-gradient(135deg, #a8df6b, #b58cff);
    color: #172b4d;
    font-size: 0.9rem;
    font-weight: 900;
}

/* Texto */

.sobre-libro-texto {
    min-width: 0;
    max-width: 420px;
    padding: 20px 12px 20px 0;
}

.sobre-libro-etiqueta {
    display: block;
    margin-bottom: 20px;
    color: #8760d6;
    font-size: 0.7rem;
    font-weight: 900;
    letter-spacing: 1.5px;
    line-height: 1.7;
}

.sobre-libro-texto h3 {
    margin: 0 0 22px;
    color: #172b4d;
    font-family: "Geomanist", "Nunito", sans-serif;
    font-size: clamp(2.2rem, 4vw, 3.3rem);
    line-height: 1.1;
    letter-spacing: -1.5px;
}

.sobre-libro-texto h3 span {
    color: #956be6;
}

.sobre-libro-texto p {
    margin: 0 0 17px;
    color: #536078;
    font-size: 0.98rem;
    line-height: 1.85;
    text-align: left;
}

.sobre-libro-firma {
    display: block;
    margin-top: 25px;
    color: #8060be;
    font-size: 0.88rem;
    font-weight: 800;
    line-height: 1.7;
}

/* Controles */

.sobre-libro-controles {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding: 20px 15px 5px;
    border-top: 1px dashed rgba(181, 140, 255, 0.4);
}

.sobre-libro-boton {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 11px 20px;
    border: 1px solid rgba(181, 140, 255, 0.3);
    border-radius: 30px;
    background: #fff;
    color: #172b4d;
    font-family: "Nunito", sans-serif;
    font-size: 0.9rem;
    font-weight: 900;
    cursor: pointer;
    transition:
        transform 0.25s ease,
        background 0.25s ease,
        box-shadow 0.25s ease;
}

.sobre-libro-boton:not(:disabled):hover {
    transform: translateY(-3px);
    background: linear-gradient(110deg, #a8df6b, #c1e78c 55%, #b58cff);
    box-shadow: 0 7px 18px rgba(23, 43, 77, 0.1);
}

.sobre-libro-boton:focus-visible {
    outline: 3px solid #8760d6;
    outline-offset: 4px;
}

.sobre-libro-boton:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

.sobre-libro-progreso {
    color: #536078;
    font-size: 0.85rem;
    font-weight: 800;
    text-align: center;
    white-space: nowrap;
}

.sobre-libro-pista {
    margin: 30px 0 0;
    color: #8060be;
    font-size: 0.9rem;
    font-weight: 800;
    text-align: center;
}

/* Tablet */

@media (max-width: 850px) {
    .sobre-libro {
        padding: 20px 16px 15px;
    }

    .sobre-libro-pagina {
        gap: 23px;
        padding-right: 12px;
    }

    .sobre-libro-ilustracion {
        min-height: 270px;
        padding: 14px;
    }

    .sobre-libro-texto p {
        font-size: 0.93rem;
    }
}

/* Móvil: ilustración arriba y texto debajo */

@media (max-width: 600px) {
    .sobre-libro {
        padding: 18px 12px 12px;
        border-radius: 18px;
        box-shadow:
            0 14px 32px rgba(23, 43, 77, 0.08),
            5px 5px 0 rgba(168, 223, 107, 0.3);
    }

    .sobre-libro-espiral {
        top: 25px;
        bottom: 105px;
        left: 3px;
    }

    .sobre-libro-espiral span {
        width: 11px;
        height: 18px;
        border-width: 2px;
    }

    .sobre-libro-pagina,
    .sobre-libro-pagina.activa {
        grid-template-columns: minmax(0, 1fr);
        gap: 18px;
        min-height: 0;
        padding: 12px 9px 24px 13px;
    }

    .sobre-libro-ilustracion {
        width: 100%;
        min-height: 0;
        aspect-ratio: 4 / 3;
        padding: 15px;
        border-radius: 45% 45% 20px 20px;
    }

    .sobre-libro-ilustracion img {
        width: 100%;
        max-height: 260px;
    }

    .sobre-libro-numero {
        right: 10px;
        bottom: 10px;
        width: 36px;
        height: 36px;
    }

    .sobre-libro-texto {
        max-width: none;
        padding: 5px 5px 12px;
    }

    .sobre-libro-etiqueta {
        margin-bottom: 12px;
        font-size: 0.65rem;
    }

    .sobre-libro-texto h3 {
        margin-bottom: 17px;
        font-size: clamp(2rem, 9vw, 2.7rem);
    }

    .sobre-libro-texto p {
        font-size: 0.95rem;
        line-height: 1.8;
    }

    .sobre-libro-firma {
        margin-top: 20px;
    }

    .sobre-libro-controles {
        gap: 7px;
        padding: 16px 0 3px;
    }

    .sobre-libro-boton {
        min-height: 43px;
        padding: 10px 12px;
        font-size: 0.8rem;
    }

    .sobre-libro-progreso {
        font-size: 0.76rem;
    }

    .sobre-libro-pista {
        font-size: 0.82rem;
    }
}

/* Accesibilidad */

@media (prefers-reduced-motion: reduce) {
    .sobre-libro-pagina.activa {
        animation: none;
    }

    .sobre-libro-ilustracion img,
    .sobre-libro-boton {
        transition: none;
    }
}


