:root {
    --vino: #55001D;
    --dorado: #C89C67;
    --gris-claro: #F5F5F5;
    --gris-fondo: #EFEFEF;
    --gris-texto: #333333;
    --sombra-suave: 0 4px 10px rgba(0,0,0,0.08);
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    font-family: 'Montserrat', Arial, Helvetica, sans-serif;
    color: var(--gris-texto);
    line-height: 1.6;
    background-color: var(--gris-fondo);
    padding-top: 210px; /* header + nav fijos */
}

/* HEADER */
header {
    background-color: var(--vino);
    color: #ffffff;
    padding: 10px 5px;
}

.header-container {
    max-width: 1100px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 30px;
}

.header-container img {
    max-width: 260px;
    width: 100%;
    height: auto;
}

.header-container h1 {
    font-size: 2.4rem;
}

/* NAV */
nav {
    background-color: #ffffff;
    border-bottom: 3px solid var(--dorado);
}

nav ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    list-style: none;
}

nav ul li a {
    display: block;
    padding: 10px 15px;
    text-decoration: none;
    color: var(--vino);
    font-weight: bold;
    font-size: 0.95rem;
}

nav ul li a:hover {
    background-color: var(--gris-claro);
}

/* HEADER + NAV FIJOS */
.fixed-top {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 999;
}

/* CONTENEDOR */
.contenedor {
    margin: 50px;
}

/* SECCIONES */
section {
    background-color: #ffffff;
    padding: 40px;
    max-width: 1100px;
    margin: 30px auto;
    border-radius: 8px;
    box-shadow: var(--sombra-suave);
    border-left: 6px solid var(--vino);
}

/* TÍTULOS */
h2 {
    color: var(--vino);
    font-size: 1.8rem;
    margin-bottom: 20px;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--dorado);
}

/* TEXTO */
p {
    margin-bottom: 15px;
    text-align: justify;
}

/* FOOTER */
footer {
    background-color: var(--vino);
    color: #ffffff;
    text-align: center;
    padding: 25px 15px;
    font-size: 0.9rem;
    margin-top: 50px;
}

footer p { text-align: center; }

footer a {
    color: #ffffff;
    font-weight: bold;
    text-decoration: none;
}

footer a:hover { text-decoration: underline; }

/* =========================
   SLIDER (del style 1)
========================= */
.landing-slider {
    position: relative;
    width: 100%;
    max-width: 1100px;
    margin: 20px auto;
    overflow: hidden;
    background-color: var(--gris-fondo);
    padding-top: 25px;
}

/* Imágenes */
.landing-slider img {
    width: 100%;
    height: auto;
    max-height: 80vh;
    object-fit: contain;
    display: none;
}

.landing-slider img.active {
    display: block;
}

/* Flechas */
.slider-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0,0,0,0.5);
    color: #fff;
    border: none;
    padding: 10px 14px;
    cursor: pointer;
    font-size: 18px;
    z-index: 5;
}

.slider-btn.prev { left: 10px; }
.slider-btn.next { right: 10px; }

/* =========================
   SUBMENUS MULTINIVEL
========================= */
.has-submenu { position: relative; }

/* Submenu base */
.submenu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background: #ffffff;
    list-style: none;
    padding: 0;
    margin: 0;
    min-width: 260px;
    box-shadow: 0 8px 20px rgba(0,0,0,0.15);
    z-index: 1000;
}

/* Submenu nivel 2 */
.submenu .submenu {
    top: 0;
    left: 100%;
}

/* Mostrar submenu SOLO el inmediato */
.has-submenu:hover > .submenu {
    display: block;
}

/* Items */
.submenu li { position: relative; }

.submenu li a {
    display: block;
    padding: 12px 15px;
    color: var(--vino);
    text-decoration: none;
    white-space: nowrap;
}

.submenu li a:hover {
    background-color: var(--gris-claro);
}

/* Flecha indicadora */
.submenu .has-submenu > a::after {
    content: "▶";
    float: right;
    font-size: 10px;
    margin-top: 4px;
}

/* =========================
   LAYOUTS 2 COLUMNAS
========================= */
.torneo-layout,
.mexicable-layout {
    display: flex;
    align-items: center;
    gap: 30px;
    width: 100%;
}

.torneo-img,
.mexicable-img {
    flex: 0 0 40%;
    max-width: 40%;
}

.torneo-texto,
.mexicable-texto {
    flex: 0 0 60%;
    max-width: 60%;
}

.torneo-img img,
.mexicable-img img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 10px; /* se ve bien en ambas */
    box-shadow: var(--sombra-suave);
}


/* LANDING SLIDER */ .landing-slider { position: relative; width: 100%; max-width: 1100px; margin: 20px auto; overflow: hidden; background-color: #EFEFEF; padding-top:25px; } /* Imágenes */ .landing-slider img { width: 100%; height: auto; /* CLAVE: deja crecer proporcional */ max-height: 80vh; /* nunca más alto que la pantalla */ object-fit: contain; /* no recorta */ display: none; } .landing-slider img.active { display: block; } @media (max-width: 768px) { .landing-slider img { max-height: 60vh; } } /* Flechas */ .slider-btn { position: absolute; top: 50%; transform: translateY(-50%); background: rgba(0,0,0,0.5); color: #fff; border: none; padding: 10px 14px; cursor: pointer; font-size: 18px; } .slider-btn.prev { left: 10px; } .slider-btn.next { right: 10px; } /* HEADER + NAV FIJOS */ .fixed-top { position: fixed; top: 0; left: 0; width: 100%; z-index: 999; } /* Para que el contenido no quede oculto */ body { padding-top: 210px; /* ajusta según el alto real del header + nav */ } /* En móvil suele ser más bajo */ @media (max-width: 768px) { body { padding-top: 250px; } } .contenedor { margin:25px; }   

/* =========================
   RESPONSIVE
========================= */
@media (max-width: 768px) {
    body { padding-top: 250px; }



    section { padding: 25px; }
    h2 { font-size: 1.5rem; }

    .contenedor { margin: 25px; }

    /* slider */
    .landing-slider img { max-height: 60vh; }

    /* layouts 2 columnas */
    .torneo-layout,
    .mexicable-layout {
        flex-direction: column;
    }

    .torneo-img,
    .torneo-texto,
    .mexicable-img,
    .mexicable-texto {
        max-width: 100%;
        flex: 1 1 100%;
    }
}
