/* =====================================================
   Kiosko Doña Rosa — Sistema de diseño propio
   Sin frameworks. Paleta: toldo verde + mostaza + cereza.
   ===================================================== */

@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;700&family=Work+Sans:wght@400;500;600&family=Caveat:wght@600&display=swap');

:root {
    --verde-toldo: #0F5C56;
    --verde-toldo-oscuro: #0A423E;
    --mostaza: #F2A93B;
    --cereza: #D6383B;
    --papel: #FBFAF4;
    --papel-alt: #F1EEE3;
    --tinta: #1C2B28;
    --tinta-suave: #5C6864;
    --borde: #E1DCC9;

    --fuente-display: 'Space Grotesk', sans-serif;
    --fuente-cuerpo: 'Work Sans', sans-serif;
    --fuente-manuscrita: 'Caveat', cursive;
}

* { box-sizing: border-box; }

body {
    margin: 0;
    font-family: var(--fuente-cuerpo);
    background: var(--papel);
    color: var(--tinta);
    line-height: 1.5;
}

a { color: inherit; }
img { max-width: 100%; display: block; }

.contenedor { max-width: 1100px; margin: 0 auto; padding: 0 20px; }

/* ---------- Franja de toldo (rayas) ---------- */
.franja-toldo {
    height: 10px;
    background: repeating-linear-gradient(
        90deg,
        var(--verde-toldo) 0px, var(--verde-toldo) 40px,
        var(--papel) 40px, var(--papel) 80px
    );
}

/* ---------- Header ---------- */
.site-header {
    background: var(--verde-toldo);
    color: var(--papel);
    padding: 18px 0;
}
.site-header .contenedor {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
}
.site-header .logo {
    font-family: var(--fuente-display);
    font-weight: 700;
    font-size: 1.5rem;
    text-decoration: none;
    color: var(--papel);
}
.site-header .logo span {
    display: block;
    font-family: var(--fuente-cuerpo);
    font-weight: 400;
    font-size: 0.75rem;
    color: #CFE6E1;
    margin-top: 2px;
}
.nav-principal { display: flex; gap: 22px; align-items: center; flex-wrap: wrap; }
.nav-principal a {
    text-decoration: none;
    color: var(--papel);
    font-size: 0.92rem;
    font-weight: 500;
    padding-bottom: 3px;
    border-bottom: 2px solid transparent;
    transition: border-color .15s;
}
.nav-principal a:hover, .nav-principal a.activo { border-color: var(--mostaza); }

.estado-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--papel);
    color: var(--verde-toldo-oscuro);
    font-size: 0.78rem;
    font-weight: 600;
    padding: 5px 12px;
    border-radius: 20px;
}
.estado-pill .punto { width: 8px; height: 8px; border-radius: 50%; background: #3EA05B; }
.estado-pill.cerrado .punto { background: var(--cereza); }

/* ---------- Hero ---------- */
.hero {
    padding: 64px 0 56px;
    background: var(--papel);
    position: relative;
    overflow: hidden;
}
.hero .contenedor { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 48px; align-items: center; }
@media (max-width: 800px) { .hero .contenedor { grid-template-columns: 1fr; } }

.hero h1 {
    font-family: var(--fuente-display);
    font-size: clamp(2rem, 5vw, 3.1rem);
    line-height: 1.08;
    margin: 0 0 18px;
    color: var(--tinta);
}
.hero h1 em {
    font-style: normal;
    color: var(--cereza);
}
.hero p.subrayado {
    font-size: 1.08rem;
    color: var(--tinta-suave);
    margin-bottom: 28px;
    max-width: 440px;
}
.hero .acciones { display: flex; gap: 14px; flex-wrap: wrap; }

.btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    border-radius: 8px;
    font-weight: 600;
    font-size: 0.95rem;
    text-decoration: none;
    border: none;
    cursor: pointer;
    font-family: var(--fuente-cuerpo);
}
.btn-primario { background: var(--cereza); color: #fff; }
.btn-primario:hover { background: #B92E31; }
.btn-secundario { background: transparent; color: var(--verde-toldo); border: 2px solid var(--verde-toldo); }
.btn-secundario:hover { background: var(--verde-toldo); color: #fff; }

/* ---------- Ficha/boleto (elemento firma) ---------- */
.ficha-oferta {
    background: var(--mostaza);
    color: var(--tinta);
    padding: 28px 26px 22px;
    border-radius: 4px;
    position: relative;
    transform: rotate(-2.2deg);
    box-shadow: 0 10px 28px rgba(15,92,86,0.18);
}
.ficha-oferta::before {
    content: '';
    position: absolute;
    inset: 8px;
    border: 2px dashed rgba(28,43,40,0.35);
    border-radius: 2px;
    pointer-events: none;
}
.ficha-oferta .etiqueta {
    font-family: var(--fuente-manuscrita);
    font-size: 1.9rem;
    line-height: 1;
    color: var(--cereza);
    display: block;
    margin-bottom: 6px;
}
.ficha-oferta .producto {
    font-family: var(--fuente-display);
    font-weight: 700;
    font-size: 1.3rem;
    margin: 4px 0 2px;
}
.ficha-oferta .precio {
    font-family: var(--fuente-display);
    font-size: 2rem;
    font-weight: 700;
    color: var(--verde-toldo-oscuro);
}
.ficha-oferta .precio-antes {
    font-size: 0.95rem;
    color: var(--tinta-suave);
    text-decoration: line-through;
    margin-left: 8px;
}

/* ---------- Secciones ---------- */
.seccion { padding: 56px 0; }
.seccion.alterna { background: var(--papel-alt); }
.seccion h2 {
    font-family: var(--fuente-display);
    font-size: 1.9rem;
    margin: 0 0 8px;
}
.seccion .intro { color: var(--tinta-suave); margin-bottom: 32px; max-width: 560px; }

/* ---------- Grid de productos ---------- */
.grid-productos {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 18px;
}
.tarjeta-producto {
    background: #fff;
    border: 1px solid var(--borde);
    border-radius: 10px;
    padding: 18px;
    transition: transform .15s, box-shadow .15s;
}
.tarjeta-producto:hover { transform: translateY(-3px); box-shadow: 0 8px 20px rgba(15,92,86,0.1); }
.tarjeta-producto .categoria-tag {
    display: inline-block;
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--verde-toldo);
    background: #E7F1EF;
    padding: 3px 9px;
    border-radius: 20px;
    margin-bottom: 10px;
}
.tarjeta-producto h3 { font-family: var(--fuente-display); font-size: 1.05rem; margin: 0 0 6px; }
.tarjeta-producto .precio-tarjeta {
    font-family: var(--fuente-display);
    font-weight: 700;
    font-size: 1.2rem;
    color: var(--cereza);
    margin-top: 8px;
}
.sin-stock { color: var(--tinta-suave); font-size: 0.8rem; }

/* ---------- Info / contacto ---------- */
.info-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
@media (max-width: 760px) { .info-grid { grid-template-columns: 1fr; } }
.info-card {
    background: #fff;
    border: 1px solid var(--borde);
    border-radius: 10px;
    padding: 22px;
}
.info-card .icono { font-size: 1.6rem; margin-bottom: 10px; }
.info-card h3 { font-family: var(--fuente-display); font-size: 1.05rem; margin: 0 0 6px; }
.info-card p { color: var(--tinta-suave); font-size: 0.92rem; margin: 0; }

.mapa-embed { border-radius: 10px; overflow: hidden; border: 1px solid var(--borde); }
.mapa-embed iframe { width: 100%; height: 320px; border: 0; display: block; }

/* ---------- Footer ---------- */
.site-footer {
    background: var(--tinta);
    color: #C9D2CF;
    padding: 36px 0 24px;
    font-size: 0.85rem;
}
.site-footer .contenedor { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 16px; }
.site-footer a { color: #C9D2CF; text-decoration: none; }
.site-footer a:hover { color: #fff; }
.redes { display: flex; gap: 14px; }

/* ---------- Botón flotante de WhatsApp ---------- */
.whatsapp-flotante {
    position: fixed;
    bottom: 22px;
    right: 22px;
    background: #25D366;
    color: #fff;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.6rem;
    text-decoration: none;
    box-shadow: 0 6px 18px rgba(0,0,0,0.25);
    z-index: 40;
}

/* ---------- Utilidades de admin (login, tpv, inventario) ---------- */
.admin-nav { background: var(--verde-toldo-oscuro); padding: .9rem 1.5rem; display: flex; gap: 1.2rem; align-items: center; }
.admin-nav a { color: #CFE6E1; text-decoration: none; font-size: .9rem; font-family: var(--fuente-cuerpo); }
.admin-nav a.activo { color: #fff; font-weight: 700; }
