/* RESET GENERAL */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Helvetica Neue', Arial, sans-serif;
}

body {
    background-color: #ffffff; /* Fondo de la web cambia a Blanco Puro */
    color: #111111;            /* Letras generales cambian a Negro Profundo */
    overflow-x: hidden;
}

/* HEADER PREMIUM (FONDO CLARO) */
.main-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 4%;
    background-color: rgba(255, 255, 255, 0.95); /* Header translúcido blanco */
    border-bottom: 1px solid #e5e5e5;             /* Línea divisoria gris clara */
    position: sticky;
    top: 0;
    z-index: 1000;
}

.logo a {
    color: #111111; /* Nombre de la marca cambia a Negro */
    text-transform: uppercase;
    font-weight: 700;
    font-size: 1.3rem;
    letter-spacing: 4px;
    text-decoration: none;
}

.header-actions {
    display: flex;
    gap: 30px;
}

.header-actions a {
    color: #111111; /* Íconos y textos cambian a Negro */
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 10px;
    transition: color 0.3s ease;
}

.header-actions a i {
    font-size: 1.3rem;
}

.header-actions a span {
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    font-weight: 500;
}

/* El dorado destaca de forma espectacular sobre el fondo blanco */
.header-actions a:hover {
    color: #d4af37;
}

/* EL LIENZO: CONFIGURACIÓN 16:9 PANTALLA COMPLETA */
.carousel-container {
    width: 100vw;
    position: relative;
    margin: 0;
    padding: 0;
    overflow: hidden;
}

.carousel {
    width: 100%;
    overflow: hidden;
}

.carousel-track {
    display: flex;
    width: 100%;
}

.carousel-item {
    flex: 0 0 100%;
    width: 100%;
}

.carousel-item img {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    display: block;
    background-color: #f5f5f5; /* Fondo de carga gris muy claro */
}

/* CONTROLES DE NAVEGACIÓN MANUAL (< y >) */
.nav-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    color: rgba(0, 0, 0, 0.5); /* Las flechas flotantes cambian a negro sutil */
    font-size: 2.5rem;
    cursor: pointer;
    z-index: 10;
    padding: 15px;
    transition: color 0.3s, transform 0.2s;
}

.nav-arrow:hover {
    color: #d4af37;
    transform: translateY(-50%) scale(1.1);
}

.nav-arrow.prev { left: 3%; }
.nav-arrow.next { right: 3%; }

/* BOTÓN COMPRAR RECONFIGURADO (Gris claro semitransparente con letras negras) */
.btn-comprar {
    position: absolute;
    left: 50%;
    top: calc(6 / 7 * 100%);
    transform: translate(-50%, -50%);
    z-index: 10;
    background-color: rgba(245, 245, 245, 0.6); /* Fondo claro traslúcido al 60% */
    color: #111111;                             /* Letras cambian a Negro */
    padding: 10.5px 45px;
    text-decoration: none;
    text-transform: uppercase;
    font-size: 0.9rem;
    letter-spacing: 3px;
    font-weight: 600;
    border-radius: 40px;
    border: 1px solid rgba(0, 0, 0, 0.1);       /* Borde oscuro muy sutil */
    backdrop-filter: blur(8px);
    transition: background-color 0.3s, transform 0.3s, border-color 0.3s;
}

.btn-comprar:hover {
    background-color: rgba(214, 175, 87, 0.9); /* Sólido dorado elegante en hover */
    color: #ffffff;                             /* Letra blanca solo al pasar el cursor */
    border-color: rgba(214, 175, 87, 1);
    transform: translate(-50%, -50%) scale(1.04);
}

/* 📱 RESPONSIVO: VERSIÓN MÓVIL (Mantiene la reducción estricta del 25%) */
@media (max-width: 768px) {
    .main-header {
        padding: 15px 3%;
    }

    .logo a {
        font-size: 0.975rem;
        letter-spacing: 3px;
    }

    .header-actions {
        gap: 22.5px;
    }

    .header-actions a i {
        font-size: 0.975rem;
    }

    .header-actions a span {
        display: none; /* Sigue ocultando texto en móvil */
    }
    
    .nav-arrow {
        font-size: 1.875rem;
        padding: 11.25px;
    }

    .btn-comprar {
        padding: 7.85px 33.75px;
        font-size: 0.675rem;
        letter-spacing: 2.25px;
        border-radius: 30px;
        top: calc(6 / 7 * 100%);
    }
}