:root { 
    color-scheme: only light;
    --white: #FFFFFF;
    --chocolate: #56443F; 
    --cream: #E4C7B7;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

body, html { 
    height: 100%;
    /* Eliminamos el overflow: hidden que bloquea el gesto */
    font-family: 'Outfit', sans-serif; 
    background-color: var(--chocolate);
    /* Esta es la propiedad clave para Android/Chrome */
    overscroll-behavior-y: auto; 
    overflow-x: hidden;
}
.hero-container {
    position: relative;
    /* Forzamos un alto que permita el gesto de arrastre en Chrome */
    height: 100vh;
    height: 100dvh; 
    width: 100%;
    background: linear-gradient(rgba(0,0,0,0.15), rgba(0,0,0,0.45)), 
                url('/images/marilyncordova-bg.jpg') no-repeat center 20%; 
    background-size: cover;
    /* Evita que el contenedor rebote pero permite el pull-to-refresh */
    touch-action: pan-y; 
}

/* Encabezado con Isotipo y Texto */
.brand-header {
    position: absolute;
    top: 60px;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    z-index: 10;
}

.main-logo {
    height: 65px;
    width: auto;
    /* Invertimos el color marrón del SVG a blanco para el fondo oscuro */
    filter: brightness(0) invert(1);
    margin-bottom: 10px;
}

.brand-text {
    color: var(--white);
    font-size: 1.1rem;
    letter-spacing: 1px;
}
.brand-name { font-weight: 400; }
.brand-variant { font-weight: 200; }

/* Contenido Inferior */
.content-bottom {
    position: absolute;
    bottom: 130px;
    width: 100%;
    padding: 0 20px;
    text-align: center;
    z-index: 5;
}

.headline {
    color: var(--white);
    font-size: clamp(1.6rem, 5vw, 3rem);
    line-height: 1.2;
    margin-bottom: 30px;
    letter-spacing: -0.5px;
    text-shadow: 0 2px 15px rgba(0,0,0,0.3);
}
.headline .light { font-weight: 200; }
.headline .regular { font-weight: 400; }

.btn-booking {
    display: inline-block;
    background-color: var(--white);
    color: var(--chocolate);
    padding: 16px 45px;
    border-radius: 50px;
    text-decoration: none;
    font-weight: 400;
    font-size: 0.85rem;
    transition: all 0.2s ease; /* Transición suave */
    text-transform: uppercase;
    letter-spacing: 2px;

    /* ELIMINAR EL AZUL Y LA SELECCIÓN */
    -webkit-tap-highlight-color: transparent; /* Elimina el recuadro azul en iOS y Android */
    user-select: none; /* Evita que el texto se seleccione al mantener presionado */
    -webkit-user-select: none;
}
/* EFECTO DE PRESIÓN REAL */
.btn-booking:active {
    transform: scale(0.96); /* El botón se "hunde" ligeramente */
    background-color: #f0f0f0; /* Un gris muy sutil para simular presión */
    opacity: 0.9;
}

/* Navegación Inferior */
.quick-nav {
    position: absolute;
    bottom: env(safe-area-inset-bottom, 20px);
    margin-bottom: 25px;
    display: flex;
    gap: 20px;
    width: 100%;
    justify-content: center;
    padding: 0 10px;
    z-index: 10;
}

.quick-nav a {
    color: var(--white);
    text-decoration: none;
    font-size: 0.65rem;
    font-weight: 200;
    opacity: 0.8;
    letter-spacing: 1.5px;
}

/* Ajustes para móviles pequeños */
@media (max-width: 480px) {
    .brand-header { top: 50px; }
    .main-logo { height: 55px; }
    .content-bottom { bottom: 110px; }
    .headline { font-size: 1.5rem; }
}

/* Footer para Políticas y Términos */
.site-footer {
    padding: 20px;
    text-align: center;
    background-color: var(--chocolate);
    color: var(--white);
    font-size: 0.75rem;
    font-weight: 200;
    opacity: 0.8;
}

.site-footer a {
    color: var(--white);
    text-decoration: none;
    transition: opacity 0.2s ease;
}

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