/* =========================================================
   COLORES - PÍO BRASS
   ========================================================= */

:root {
    --rojo-pio: #b5121b;
    --rojo-oscuro: #8f0d14;
    --amarillo-pio: #f6b800;
    --amarillo-hover: #d99f00;
    --crema: #fff7e6;
    --crema-oscuro: #f5ead4;
    --blanco: #ffffff;
    --negro: #181818;
    --gris-texto: #555555;
    --gris-claro: #f7f7f7;
}


/* =========================================================
   RESET
   ========================================================= */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: Arial, Helvetica, sans-serif;
    background: var(--blanco);
    color: #333333;
    line-height: 1.6;
}

img {
    max-width: 100%;
}

a {
    text-decoration: none;
}


/* =========================================================
   HERO PRINCIPAL
   ========================================================= */

.hero {
    position: relative;
    height: 85vh;
    min-height: 550px;
    overflow: hidden;
}

.hero-video {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hero-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.58);
}

.hero-content {
    position: relative;
    z-index: 2;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: var(--blanco);
    padding: 20px;
}

.hero-content h1 {
    font-size: clamp(40px, 7vw, 80px);
    font-weight: 900;
    text-transform: uppercase;
    text-shadow: 0 4px 12px rgba(0, 0, 0, 0.45);
}

.hero-content h2 {
    font-size: clamp(22px, 3vw, 40px);
    color: var(--amarillo-pio);
    font-weight: 800;
}

.hero-content p {
    font-size: 30px;
    font-style: italic;
    color: var(--blanco);
}

.hero-buttons {
    margin-top: 30px;
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
    justify-content: center;
}


/* =========================================================
   BOTÓN PRINCIPAL
   ========================================================= */

.btn-pio {
    background: var(--rojo-pio);
    color: var(--blanco);
    border: 2px solid var(--rojo-pio);
    padding: 12px 28px;
    border-radius: 30px;
    font-weight: 700;
    transition:
        background 0.25s ease,
        border-color 0.25s ease,
        transform 0.20s ease,
        box-shadow 0.20s ease;
}

.btn-pio:hover {
    background: var(--rojo-oscuro);
    border-color: var(--rojo-oscuro);
    color: var(--blanco);
    transform: translateY(-2px);
    box-shadow: 0 7px 18px rgba(181, 18, 27, 0.30);
}


/* =========================================================
   BOTÓN AMARILLO
   ========================================================= */

.btn-pio-amarillo {
    background: var(--amarillo-pio);
    color: var(--negro);
    border: 2px solid var(--amarillo-pio);
    padding: 12px 28px;
    border-radius: 30px;
    font-weight: 800;
    transition:
        background 0.25s ease,
        border-color 0.25s ease,
        transform 0.20s ease;
}

.btn-pio-amarillo:hover {
    background: var(--amarillo-hover);
    border-color: var(--amarillo-hover);
    color: var(--negro);
    transform: translateY(-2px);
}


/* =========================================================
   ENCABEZADO DE PÁGINAS INTERNAS
   ========================================================= */

.menu-header {
    background:
        linear-gradient(
            rgba(0, 0, 0, 0.68),
            rgba(0, 0, 0, 0.68)
        ),
        url("../img/local/ambiente.jpg") center center / cover no-repeat;

    color: var(--blanco);
    padding: 90px 20px;
}

.menu-header .subtitulo {
    color: var(--amarillo-pio);
}

.menu-header h1 {
    font-size: clamp(36px, 5vw, 60px);
    font-weight: 900;
    margin-top: 10px;
    margin-bottom: 15px;
}

.menu-header p {
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0;
    font-size: 18px;
    color: rgba(255, 255, 255, 0.92);
}


/* =========================================================
   SUBTÍTULOS
   ========================================================= */

.subtitulo {
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 3px;
    color: var(--rojo-pio);
    text-transform: uppercase;
}


/* =========================================================
   BIENVENIDA
   ========================================================= */

.bienvenida {
    background: var(--crema);
}

.bienvenida h2 {
    font-size: 42px;
    margin: 15px 0;
    font-weight: 800;
    color: var(--negro);
}

.bienvenida p {
    line-height: 1.8;
    color: var(--gris-texto);
}


/* =========================================================
   PRODUCTOS DESTACADOS
   ========================================================= */

.productos-destacados {
    background: var(--blanco);
}

.producto-card {
    background: var(--blanco);
    border-radius: 18px;
    overflow: hidden;
    height: 100%;
    border: 1px solid #eeeeee;
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.09);
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.producto-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.14);
}


/* =========================================================
   IMÁGENES DE PRODUCTOS

   IMPORTANTE:
   object-fit: contain hace que la imagen se muestre COMPLETA.

   Sirve para:
   - Botellas
   - Platos
   - Pollo
   - Chancho al palo
   - Pato en ají
   - Bebidas
   - Cervezas
   - Porciones
   - Postres
   ========================================================= */

.producto-card img {
    width: 100%;
    height: 220px;

    object-fit: contain;
    object-position: center center;

    background-color: #ffffff;

    padding: 8px;

    display: block;
}


/* =========================================================
   INFORMACIÓN DEL PRODUCTO
   ========================================================= */

.producto-info {
    padding: 20px;
}

.producto-info h3 {
    margin: 8px 0;
    font-size: 22px;
    font-weight: 800;
    color: var(--negro);
}

.producto-info p {
    color: #666666;
}

.categoria {
    display: inline-block;
    font-size: 12px;
    color: var(--rojo-pio);
    background: #fff0f0;
    padding: 5px 10px;
    border-radius: 20px;
    font-weight: 700;
    text-transform: uppercase;
}


/* =========================================================
   PARTE INFERIOR DEL PRODUCTO
   PRECIO + BOTÓN
   ========================================================= */

.producto-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
    margin-top: 20px;
}

.producto-bottom strong {
    font-size: 22px;
    color: var(--rojo-pio);
    font-weight: 900;
}


/* =========================================================
   EXPERIENCIA
   ========================================================= */

.experiencia {
    padding: 80px 0;
    background: var(--crema-oscuro);
}

.experiencia h2 {
    font-weight: 800;
    margin-top: 10px;
}

.experiencia-card {
    background: var(--blanco);
    border-radius: 18px;
    overflow: hidden;
    text-align: center;
    height: 100%;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.experiencia-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 26px rgba(0, 0, 0, 0.13);
}

.experiencia-card img {
    width: 100%;
    height: 250px;
    object-fit: cover;
}

.experiencia-card h3 {
    padding: 20px 15px 5px;
    font-weight: 800;
    color: var(--rojo-pio);
}

.experiencia-card p {
    padding: 0 20px 20px;
    color: #666666;
}


/* =========================================================
   NOSOTROS
   ========================================================= */

.nosotros-section {
    background: var(--blanco);
}

.nosotros-section h2 {
    font-weight: 800;
    margin-bottom: 20px;
    color: var(--negro);
}

.nosotros-section p {
    color: var(--gris-texto);
    line-height: 1.8;
}

.nosotros-section img {
    width: 100%;
    border-radius: 18px;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12);
}


/* =========================================================
   PROMOCIONES
   ========================================================= */

.promociones {
    background: var(--amarillo-pio);
}

.promociones h2 {
    color: var(--negro);
}

.promociones .subtitulo {
    color: var(--rojo-pio);
}

.promocion-card {
    background: var(--blanco);
    border-radius: 18px;
    overflow: hidden;
    height: 100%;
    box-shadow: 0 7px 24px rgba(0, 0, 0, 0.14);
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.promocion-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.18);
}


/* =========================================================
   IMÁGENES DE PROMOCIONES

   También se usa CONTAIN para evitar que
   las promociones se corten.
   ========================================================= */

.promocion-card img {
    width: 100%;
    height: 230px;

    object-fit: contain;
    object-position: center center;

    background-color: #ffffff;

    padding: 8px;

    display: block;
}

.promocion-card h3 {
    font-size: 23px;
    font-weight: 800;
    margin-bottom: 12px;
    color: var(--negro);
}

.promocion-card p {
    color: #666666;
    margin-bottom: 10px;
}

.promocion-card strong {
    color: var(--rojo-pio);
    font-size: 23px;
    font-weight: 900;
}


/* =========================================================
   TARJETAS GENERALES / CONTACTO
   ========================================================= */

.card {
    border-radius: 18px;
}

.card h3 {
    font-size: 22px;
    font-weight: 800;
    margin-bottom: 12px;
    color: var(--negro);
}

.card a {
    color: var(--rojo-pio);
    font-weight: 700;
}

.card a:hover {
    color: var(--rojo-oscuro);
}


/* =========================================================
   SECCIONES GENERALES
   ========================================================= */

section h2 {
    font-weight: 800;
}

section p {
    line-height: 1.7;
}


/* =========================================================
   BOTONES BOOTSTRAP SECUNDARIOS
   ========================================================= */

.btn-outline-secondary {
    border-radius: 30px;
    padding: 10px 20px;
    font-weight: 600;
}

.btn-outline-secondary:hover {
    background: var(--amarillo-pio);
    border-color: var(--amarillo-pio);
    color: var(--negro);
}


/* =========================================================
   RESPONSIVE - TABLETS
   ========================================================= */

@media (max-width: 991px) {

    .hero {
        height: 75vh;
        min-height: 500px;
    }

    .hero-content p {
        font-size: 24px;
    }

    .bienvenida h2 {
        font-size: 36px;
    }

    .menu-header {
        padding: 75px 20px;
    }
}


/* =========================================================
   RESPONSIVE - CELULARES
   ========================================================= */

@media (max-width: 767px) {

    .hero {
        height: 70vh;
        min-height: 480px;
    }

    .hero-content {
        padding-left: 15px;
        padding-right: 15px;
    }

    .hero-content p {
        font-size: 20px;
    }

    .hero-buttons {
        width: 100%;
    }

    .hero-buttons .btn {
        width: 100%;
        max-width: 280px;
    }


    /* =====================================================
       SEPARACIÓN ENTRE BOTÓN PRINCIPAL Y CONTÁCTANOS
       SOLO EN CELULAR
       ===================================================== */

    .btn-pio + .btn-outline-secondary {
        margin-top: 18px;
    }


    .bienvenida h2 {
        font-size: 30px;
    }

    .menu-header {
        padding: 60px 15px;
    }

    .menu-header p {
        font-size: 16px;
    }


    /* =====================================================
       PRODUCTOS EN CELULAR

       Se mantiene CONTAIN.
       La imagen siempre entra completa.
       ===================================================== */

    .producto-card img,
    .promocion-card img {
        height: 210px;

        object-fit: contain;
        object-position: center center;

        background-color: #ffffff;

        padding: 8px;
    }


    .experiencia {
        padding: 60px 0;
    }

    .experiencia-card img {
        height: 220px;
    }

    .producto-bottom {
        flex-direction: column;
        align-items: stretch;
    }

    .producto-bottom .btn {
        width: 100%;
    }
}


/* =========================================================
   RESPONSIVE - CELULARES PEQUEÑOS
   ========================================================= */

@media (max-width: 480px) {

    .hero {
        min-height: 450px;
    }

    .hero-content p {
        font-size: 18px;
    }

    .menu-header {
        padding: 50px 15px;
    }

    .menu-header h1 {
        font-size: 34px;
    }


    /* =====================================================
       IMÁGENES DE PRODUCTOS EN PANTALLAS PEQUEÑAS
       ===================================================== */

    .producto-card img {
        height: 200px;

        object-fit: contain;
        object-position: center center;

        background-color: #ffffff;

        padding: 8px;
    }

    .promocion-card img {
        height: 200px;

        object-fit: contain;
        object-position: center center;

        background-color: #ffffff;

        padding: 8px;
    }
}