/* Declaración de la fuente Bergen Sans desde la subcarpeta */
@font-face {
    font-family: 'Bergen Sans';
    src: url('./assets/fonts/BergenSans-Regular.otf') format('opentype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Bergen Sans';
    src: url('./assets/fonts/BergenSans-Bold.otf') format('opentype');
    font-weight: bold;
    font-style: normal;
}

:root {
    --bg-color: #f0eae1;
    --fg-color: #8a0216;
    --transition-speed: 0.4s;
}

body, html {
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--bg-color);
    color: var(--fg-color);
    overflow: hidden;
    perspective: 1200px;
    /* Aplicación global de la fuente */
    font-family: 'Bergen Sans', sans-serif;
    cursor: pointer;
}

#tilt-container {
    position: relative;
    width: 85%;
    max-width: 500px;
    height: 70vh;
    transition: transform 0.1s ease-out;
    will-change: transform;
    display: flex;
    justify-content: center;
    align-items: center;
}

.layer {
    position: absolute;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    user-select: none;
    -webkit-user-drag: none;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    pointer-events: none;
    transition: opacity var(--transition-speed) ease-in-out;
}


#img-dot {
    opacity: 0;
}

/* Estado activo (mientras se presiona) */
body.active #img-dot {
    opacity: 1;
}
body.active #img-base {
    opacity: 0;
}

footer {
    position: fixed;
    padding-top: 3px;
    bottom: 30px;
    width: 100%;
    text-align: center;
    font-family: 'Bergen Sans', sans-serif; /*[cite: 2] */
    font-size: 0.7rem;
    font-weight: bold; /* Bergen Sans Bold[cite: 2] */
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--fg-color);
    pointer-events: auto; /* Permite clics[cite: 2] */
}

footer a {
    color: var(--fg-color);
    text-decoration: none;
    opacity: 0.6;
    transition: opacity 0.3s ease;
}

footer a:hover, footer a.active {
    opacity: 1;
    text-decoration: underline;
}

.separator {
    margin: 0 10px;
    opacity: 0.4;
}

/* Marco Global de Contenido */
.content-frame {
    position: absolute;
    top: 15vh;   /* Margen superior del 15% */
    left: 15vh;  /* Margen izquierdo del 20% */
    right: 30vh; /* Margen derecho del 20% (mínimo) */
    bottom: 10vh; /* Margen inferior para no tapar el footer */
    overflow-y: auto; /* Permite scroll interno si el texto es largo */
    padding-right: 20px; /* Espacio para el scrollbar */
    font-family: 'Bergen Sans', sans-serif; /* */

    /* Soporte para Firefox */
    scrollbar-width: thin;
    scrollbar-color: #d2b9b2 transparent;
}

/* Soporte para Chrome, Safari y Edge[cite: 2] */
.content-frame::-webkit-scrollbar {
    width: 6px;
}

.content-frame::-webkit-scrollbar-track {
    background: transparent;
}

.content-frame::-webkit-scrollbar-thumb {
    background-color: #d2b9b2;
    border-radius: 10px;
}

.content-frame::-webkit-scrollbar-thumb:hover {
    background-color: #bfa59e; /* Un tono ligeramente más oscuro al pasar el mouse */
}

.content-frame h1 {
    font-family: 'Bergen Sans', sans-serif; /* */
    font-weight: bold; /* */
    font-size: 1.2rem;
    text-transform: uppercase;
    letter-spacing: 3px;
    margin-bottom: 30px;
    /* Cambios clave: */
    display: inline-block; /* La línea ahora solo medirá lo que mide el texto */
    border-bottom: 1px solid var(--fg-color); /*[cite: 2] */
    padding-bottom: 10px;
}

.content-frame h2 {
    font-weight: bold; /*[cite: 2] */
    font-size: 0.9rem;
    text-transform: uppercase;
    margin-top: 25px;
}

.content-frame p {
    font-weight: normal; /* BergenSans-Regular.otf[cite: 2] */
    font-size: 0.9rem;
    line-height: 1.6;
}

/* Ocultar scrollbar pero permitir funcionalidad (opcional para estética minimalista) */
.content-frame::-webkit-scrollbar {
    width: 3px;
}
.content-frame::-webkit-scrollbar-thumb {
    background-color: var(--fg-color);
}

.right-align-logo {
    position: absolute;
    top: 40px;
    right: 40px;
    width: 140px; /* Tamaño recomendado */
    height: auto;
    display: block;
    /* Si el logo tiene fondo negro y quieres que sea transparente sobre el crema: */
    mix-blend-mode: multiply;
    opacity: 0.9;
}

/* Ajustes para móviles: reduce márgenes en pantallas angostas */
@media (max-width: 600px) {
    .content-frame {
        top: 15vw;
        left: 3vw;
        right: 5vw;
        bottom: 15vw;
        padding-right: 10px;
    }
}
