/*===========================
INICIO DE PAGINA Y VARIABLES GLOBALES
===========================*/

/* =========================
   VARIABLES GLOBALES - BD
========================= */

:root {
    --blanco: #FAF9F6;
    --negro: #1C1C1C;
    --dorado: #B59A62;
    --gris: #7A7A7A;   /* gris suave, pero todavía legible sobre el fondo crema */

    --radio: 6px;

    --tipografia: 'Alice', Georgia, serif;
}

/* =========================
   CONFIGURACIÓN GENERAL
========================= */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    min-height: 100vh;
    min-height: 100dvh;

    font-family: var(--tipografia);
    background-color: var(--blanco);
    color: var(--negro);
}

/* =========================
   PANTALLA DE BIENVENIDA
========================= */


/* =========================
   PANTALLA DE BIENVENIDA
========================= */

.pantalla-bienvenida {
    min-height: 100vh;
    min-height: 100dvh;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    gap: 35px;

    padding: 30px 0;
}

/* =========================
   CONTENIDO PRINCIPAL
========================= */

.bienvenida-contenido {
    width: 100%;
    max-width: 480px;

    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;

    padding: 0 20px;
    flex-shrink: 0;
}


/* =========================
   LOGO
========================= */

.bienvenida-logo {
    display: block;

    width: 250px;
    max-width: 70vw;
    height: auto;
    object-fit: contain;
}

/* =========================
   TÍTULO CON ZOOM IN
========================= */

.bienvenida-titulo {
    margin-top: 12px;

    font-family: var(--tipografia);
    font-size: clamp(30px, 5vw, 40px);
    font-weight: 500;
    letter-spacing: 2px;
    line-height: 1.2;

    color: var(--negro);

    animation: aparecerZoom 1s ease-out both;
}

/* =========================
   BOTÓN VER CATÁLOGO
========================= */

.boton-ver-catalogo {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    margin-top: 30px;
    padding: 13px 32px;
    min-width: 190px;

    background-color: var(--negro);
    color: var(--blanco);

    border: 1px solid var(--dorado);
    border-radius: var(--radio);

    font-family: var(--tipografia);
    font-size: 19px;
    font-weight: 500;
    letter-spacing: 1px;
    text-decoration: none;

    transition:
        background-color 0.3s ease,
        color 0.3s ease;
}

.boton-ver-catalogo:hover {
    background-color: var(--dorado);
    color: var(--negro);
}

/* =========================
   HOME DESKTOP - FONDO
========================= */

@media (min-width: 768px) {

    .pantalla-bienvenida {
        position: relative;
        min-height: 100vh;
        min-height: 100dvh;

        background-image: url('https://pub-0c0aa6b749934167b228a056873a9c03.r2.dev/Retrato%20glamuroso%20en%20blanco%20y%20negro.webp');

        background-size: cover;
        background-position: center center;
        background-repeat: no-repeat;

        align-items: center;
        justify-content: center;

        padding: 40px 8vw;
    }

    /* Contenido hacia el lado derecho */
    .bienvenida-contenido {
        width: 100%;
        max-width: 560px;
        margin-right: 0;
        padding: 0 20px;
    }

}

/* =========================
   RESPONSIVE
========================= */

@media (max-width: 480px) {

    .pantalla-bienvenida {
        gap: 25px;
        padding: 20px 0;
    }

}
/* =========================
   ANIMACIÓN ZOOM IN
========================= */

@keyframes aparecerZoom {
    from {
        opacity: 0;
        transform: scale(0.75);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}

/* =========================
   RESPONSIVE - MOBILE
========================= */

@media (max-width: 480px) {
    .bienvenida-logo {
        width: 215px;
    }

    .bienvenida-titulo {
        margin-top: 10px;
        font-size: 30px;
        letter-spacing: 1.5px;
    }

    .boton-ver-catalogo {
        margin-top: 25px;
        min-width: 180px;
        padding: 12px 26px;
        font-size: 18px;
    }
}

/* =========================
   ACCESIBILIDAD
========================= */

@media (prefers-reduced-motion: reduce) {
    .bienvenida-titulo {
        animation: none;
    }

    .boton-ver-catalogo {
        transition: none;
    }
}
/* =========================
   HOME MOBILE - FONDO + LUZ
========================= */

@media (max-width: 767px) {

    .pantalla-bienvenida {
        position: relative;
        justify-content: flex-end;   /* contenido abajo, la cara queda libre */
        gap: 22px;
        padding: 0 0 22px;

        background-image: url('https://pub-0c0aa6b749934167b228a056873a9c03.r2.dev/fondo-home-mobile.webp');
        background-size: cover;
        background-position: center top;
        background-repeat: no-repeat;
    }

    /* Luz blanca detrás del logo */
    .bienvenida-contenido {
        position: relative;
        padding: 0 20px;
        z-index: 1;
    }

    .bienvenida-contenido::before {
        content: "";
        position: absolute;
        z-index: -1;
        inset: -70px -30px -40px;   /* qué tan grande es la luz */
        pointer-events: none;

        background: radial-gradient(
            ellipse at center,
            rgba(255, 255, 255, 0.95) 0%,
            rgba(255, 255, 255, 0.85) 30%,
            rgba(255, 255, 255, 0.45) 55%,
            rgba(255, 255, 255, 0) 75%
        );
        filter: blur(8px);
    }

    .bienvenida-logo {
        width: 200px;
    }

    .bienvenida-titulo {
        font-size: 30px;
        text-shadow: 0 1px 12px rgba(255, 255, 255, 0.9);
    }
}