/* ============================================================================
 *  D'Chicho Restaurant & Grill — assets/css/web-paginas.css
 *  Estilos de las páginas internas (diseno.md §A.7 y §A.8). Se carga
 *  además de web.css en todas las páginas salvo el inicio. Mobile-first.
 *  Fase 9 — Sitio público
 * ========================================================================= */

/* ---------- Cabecera interna ---------- */
.cab{background:var(--c-bg-soft);}
.cab-in{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:120px;padding-block:18px;}
.cab h1{font-size:28px;font-weight:800;letter-spacing:-.5px;margin-top:4px;}
.cab p{font-size:14.5px;color:var(--c-muted);margin-top:4px;}
.cab-img{display:none;}
.migas ol{display:flex;flex-wrap:wrap;gap:6px;font-size:13px;color:var(--c-muted);}
.migas li+li::before{content:"›";margin-right:6px;color:var(--c-muted);}
.migas a:hover{color:var(--c-primary);} .migas [aria-current]{color:var(--c-primary-dark);font-weight:500;}
.sec-t{font-size:20px;font-weight:700;margin:28px 0 16px;} .sec-t.centro{text-align:center;}
.vacio{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:48px 20px;background:var(--c-card);border:1px dashed var(--c-line);border-radius:var(--r-lg);}
.vacio h2,.vacio h3{font-size:20px;} .vacio p{color:var(--c-muted);max-width:420px;margin-bottom:8px;}
.vacio-ic{display:flex;align-items:center;justify-content:center;width:96px;height:96px;border-radius:50%;background:var(--c-primary-soft);color:var(--c-primary);font-size:40px;}
.vacio-txt{color:var(--c-muted);padding:16px 0;}
.btn-sm{height:40px;padding:0 18px;font-size:14px;}
.btn-wa{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:52px;padding:0 26px;border-radius:var(--r-pill);background:#25D366;color:#fff;font-weight:600;}
.btn-wa:hover{background:#1FB959;} .btn-wa.ancho{width:100%;margin-top:14px;}
.btn-outline.claro{border-color:#fff;color:#fff;} .btn-outline.claro:hover{background:#fff;color:#111;}

/* ---------- Catálogo (menú / bebidas) ---------- */
.cat-wrap{display:block;padding-top:14px;}
.cat-chips{margin-bottom:14px;}
.chip{display:inline-flex;align-items:center;gap:7px;height:40px;padding:0 16px;border-radius:var(--r-pill);background:var(--c-card);box-shadow:var(--sh-card);font-size:14px;font-weight:500;color:var(--c-ink);white-space:nowrap;}
.chip i{color:var(--c-primary);} .chip.on{background:var(--c-primary);color:#fff;} .chip.on i{color:#fff;}
.filtros{position:fixed;left:0;right:0;bottom:0;z-index:110;max-height:86vh;overflow-y:auto;background:var(--c-card);border-radius:22px 22px 0 0;box-shadow:0 -12px 40px rgba(0,0,0,.25);padding:14px 18px calc(18px + env(safe-area-inset-bottom));transform:translateY(105%);transition:transform .28s ease;visibility:hidden;}
.filtros.abierto{transform:none;visibility:visible;}
.filtros::before{content:"";display:block;width:44px;height:5px;border-radius:3px;background:var(--c-line);margin:0 auto 10px;}
.filtros-hd{display:flex;align-items:center;justify-content:space-between;} .filtros-hd h2{font-size:18px;}
.filtros-form{display:flex;flex-direction:column;gap:16px;margin-top:8px;}
.f-buscar{display:flex;align-items:center;gap:10px;height:48px;padding:0 16px;border:1.5px solid var(--c-line);border-radius:var(--r-pill);background:var(--c-bg);}
.f-buscar:focus-within{border-color:var(--c-primary);box-shadow:0 0 0 4px rgba(232,93,31,.12);}
.f-buscar i{color:var(--c-muted);} .f-buscar input{flex:1;min-width:0;border:0;outline:0;background:transparent;font:inherit;color:var(--c-ink);}
.filtros fieldset{border:0;margin:0;padding:0;} .filtros legend{font-size:12px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--c-muted);margin-bottom:8px;}
.f-cat{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:12px;cursor:pointer;font-size:14.5px;color:var(--c-text);}
.f-cat input{position:absolute;opacity:0;pointer-events:none;}
.f-cat i{width:20px;color:var(--c-primary);font-size:17px;} .f-cat span{flex:1;} .f-cat em{font-style:normal;font-size:12.5px;color:var(--c-muted);background:var(--c-bg-soft);border-radius:20px;padding:1px 9px;}
.f-cat:hover{background:var(--c-primary-soft-2);} .f-cat.on{background:var(--c-primary-soft);color:var(--c-primary-dark);font-weight:600;}
.f-cat:focus-within{outline:3px solid rgba(232,93,31,.35);}
.f-checks label{display:flex;align-items:center;gap:10px;padding:8px 4px;font-size:14.5px;cursor:pointer;}
.f-checks input{width:18px;height:18px;accent-color:var(--c-primary);} .f-checks i{color:var(--c-primary);width:18px;}
.f-orden{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:var(--c-ink);}
.f-orden select{height:44px;border:1.5px solid var(--c-line);border-radius:12px;padding:0 12px;font:inherit;font-size:14px;color:var(--c-ink);background:var(--c-bg);}
.f-acc{display:flex;flex-direction:column;align-items:stretch;gap:10px;}
.f-limpiar{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:14px;font-weight:500;color:var(--c-muted);}
.f-limpiar:hover{color:var(--c-danger);}
.solo-esc-b{display:none;}
.cat-top{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px;}
.pills{display:flex;gap:8px;flex-wrap:wrap;}
.pill{display:inline-flex;align-items:center;gap:5px;height:32px;padding:0 13px;border-radius:var(--r-pill);background:var(--c-card);border:1px solid var(--c-line);font-size:13px;color:var(--c-muted);}
.pill b{color:var(--c-ink);}
.btn-filtros-cat{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px;border:0;border-radius:var(--r-pill);background:var(--c-card);box-shadow:var(--sh-card);font-weight:600;font-size:14px;color:var(--c-ink);cursor:pointer;}
.nf{min-width:20px;height:20px;border-radius:10px;background:var(--c-primary);color:#fff;font-size:11px;display:inline-flex;align-items:center;justify-content:center;}
.res-t{font-size:19px;font-weight:700;margin-bottom:14px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;} .res-t small{font-size:13px;font-weight:500;color:var(--c-muted);}
.cat-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;} .cat-grid>*{min-width:0;}
.cat-grid .pcard,.rel-grid .pcard{width:auto;min-width:0;}
.cat-grid .pcard-img{height:120px;} .cat-it{scroll-margin-top:90px;display:flex;}
.cat-it .pcard{flex:1;}
.cargar-mas{display:flex;justify-content:center;margin-top:24px;} .cargar-mas span{color:var(--c-muted);font-weight:400;font-size:14px;}
.velo-filtros{position:fixed;inset:0;z-index:105;background:rgba(10,10,12,.5);}

/* Bebidas destacadas */
.beb-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;}
.beb-card{display:flex;align-items:center;gap:16px;min-width:0;padding:18px;border-radius:var(--r-lg);background:var(--c-dark) url("../img/doodles.svg");background-size:240px;color:#fff;box-shadow:var(--sh-float);}
.beb-img{flex-shrink:0;width:110px;height:110px;border-radius:50%;overflow:hidden;border:4px solid rgba(243,154,43,.35);} .beb-img img{width:100%;height:100%;object-fit:cover;}
.beb-txt{min-width:0;flex:1;display:flex;flex-direction:column;gap:5px;}
.beb-pill{align-self:flex-start;display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:700;letter-spacing:.05em;padding:3px 10px;border-radius:20px;background:rgba(243,154,43,.16);color:var(--c-accent);}
.beb-txt h3{color:#fff;font-size:17px;} .beb-txt h3 a:hover{color:var(--c-accent);}
.beb-txt p{font-size:13px;color:var(--c-on-dark-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.beb-pie{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:4px;}
.beb-pie strong{font-size:19px;color:var(--c-accent);}
.beb-btn{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 16px;border:0;border-radius:var(--r-pill);background:var(--c-primary);color:#fff;font-weight:600;cursor:pointer;}

/* ---------- Producto ---------- */
.prod-migas{padding-top:14px;}
.prod{display:grid;grid-template-columns:1fr;gap:22px;padding-top:14px;}
.prod>*{min-width:0;}
.prod-foto{position:relative;border-radius:var(--r-lg);overflow:hidden;background:var(--c-bg-soft);aspect-ratio:4/3;}
.prod-foto img{width:100%;height:100%;object-fit:cover;} .prod-foto.agotado img{opacity:.6;}
.prod-foto .badge-agotado{top:14px;left:14px;font-size:12.5px;padding:5px 12px;}
.prod-foto .btn-heart{display:inline-flex;top:14px;right:14px;width:40px;height:40px;font-size:18px;}
.prod-hoy{position:absolute;left:14px;bottom:14px;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;background:var(--c-dark);color:var(--c-accent);font-size:12.5px;font-weight:600;}
.prod-cat{display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 13px;border-radius:var(--r-pill);background:var(--c-primary-soft);color:var(--c-primary-dark);font-size:13px;font-weight:600;}
.prod-info h1{font-size:28px;font-weight:800;letter-spacing:-.5px;margin-top:10px;}
.prod-rate{display:inline-flex;align-items:center;gap:8px;margin-top:8px;font-size:14px;color:var(--c-muted);} .prod-rate b{color:var(--c-ink);}
.prod-precio{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 12px;margin-top:14px;font-variant-numeric:tabular-nums;}
.prod-precio strong{font-size:30px;font-weight:800;color:var(--c-ink);} .prod-precio strong.oferta{color:var(--c-primary-dark);}
.prod-precio del{font-size:17px;color:var(--c-muted);} .prod-precio .consultar{font-size:17px;color:var(--c-muted);}
.ahorro{font-size:12.5px;font-weight:700;color:#fff;background:var(--c-success);border-radius:20px;padding:2px 10px;}
.prod-nota-pd{flex-basis:100%;font-size:13px;color:var(--c-primary-dark);font-weight:500;}
.prod-desc{margin-top:14px;font-size:15px;line-height:1.7;}
.prod-bloque{margin-top:18px;} .prod-bloque h2{font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--c-muted);margin-bottom:8px;}
.chips-ing{display:flex;flex-wrap:wrap;gap:6px;} .chips-ing li{padding:5px 12px;border-radius:20px;background:var(--c-bg-soft);font-size:13px;}
.prod-iconos{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;}
.prod-iconos li{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:10px;border:1px solid var(--c-line);font-size:13px;}
.prod-iconos i{color:var(--c-primary);} .prod-iconos .veg i{color:var(--c-success);} .prod-iconos .pic i{color:var(--c-danger);} .prod-iconos .alerg{border-color:#F5D48A;background:#FFF8E6;color:#7A5200;} .prod-iconos .alerg i{color:#B7791F;}
[data-theme="dark"] .prod-iconos .alerg{background:#2E2410;color:#F5D48A;border-color:#5a4520;}
.prod-form{margin-top:20px;display:flex;flex-direction:column;gap:14px;}
.mod{border:1px solid var(--c-line);border-radius:var(--r-md);padding:12px 14px;margin:0;background:var(--c-card);}
.mod.error{border-color:var(--c-danger);box-shadow:0 0 0 3px rgba(217,48,37,.12);}
.mod legend{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:0 4px;font-weight:600;font-size:15px;color:var(--c-ink);}
.mod legend em{font-style:normal;font-size:11.5px;font-weight:600;padding:2px 10px;border-radius:20px;background:var(--c-bg-soft);color:var(--c-muted);} .mod legend em.obl{background:rgba(217,48,37,.1);color:var(--c-danger);}
.mod-op{display:flex;align-items:center;gap:12px;padding:10px 6px;border-top:1px solid var(--c-line);cursor:pointer;font-size:14.5px;}
.mod-op:first-of-type{border-top:0;} .mod-op input{width:18px;height:18px;accent-color:var(--c-primary);flex-shrink:0;}
.mod-op span{flex:1;} .mod-op em{font-style:normal;font-size:13.5px;font-weight:600;color:var(--c-ink);}
.mod-op input:disabled+span{color:var(--c-muted);}
.prod-notas{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:var(--c-ink);}
.prod-notas textarea{border:1.5px solid var(--c-line);border-radius:12px;padding:10px 14px;font:inherit;font-size:14px;font-weight:400;resize:vertical;background:var(--c-bg);color:var(--c-ink);}
.prod-notas textarea:focus{outline:0;border-color:var(--c-primary);box-shadow:0 0 0 4px rgba(232,93,31,.12);}
.prod-comprar{display:flex;gap:12px;align-items:center;}
.cant{display:inline-flex;align-items:center;height:52px;border:1.5px solid var(--c-line);border-radius:var(--r-pill);overflow:hidden;flex-shrink:0;}
.cant button{width:44px;height:100%;border:0;background:transparent;cursor:pointer;font-size:16px;color:var(--c-ink);} .cant button:hover{background:var(--c-primary-soft-2);}
.cant input{width:40px;border:0;text-align:center;font:inherit;font-weight:700;font-size:16px;background:transparent;color:var(--c-ink);-moz-appearance:textfield;}
.cant input::-webkit-inner-spin-button,.cant input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0;}
.prod-add{flex:1;min-width:0;padding:0 14px;overflow:hidden;font-size:15px;gap:8px;} .prod-add span,.prod-add b{white-space:nowrap;} .prod-add span{overflow:hidden;text-overflow:ellipsis;} .prod-add:disabled{background:#BDBDBD;box-shadow:none;cursor:not-allowed;}
.prod-wa{background:#25D366;box-shadow:none;align-self:flex-start;}
.prod-tabs{margin-top:34px;}
.tabs{display:flex;gap:6px;border-bottom:1px solid var(--c-line);}
.tabs button{border:0;background:none;padding:12px 16px;font:inherit;font-weight:600;font-size:15px;color:var(--c-muted);border-bottom:2px solid transparent;cursor:pointer;margin-bottom:-1px;}
.tabs button.on{color:var(--c-primary-dark);border-bottom-color:var(--c-primary);} .tabs button span{font-weight:500;}
.tab-panel{padding-top:18px;}
.resenas{display:flex;flex-direction:column;gap:14px;}
.resena{padding:16px;border:1px solid var(--c-line);border-radius:var(--r-md);background:var(--c-card);}
.resena-hd{display:flex;align-items:center;gap:12px;} .resena-hd b{color:var(--c-ink);} .resena-hd small{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--c-muted);margin-top:2px;}
.resena-hd .estrellas{font-size:12px;}
.resena .av{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--c-primary-soft);color:var(--c-primary-dark);font-weight:700;flex-shrink:0;}
.resena>p{margin-top:10px;font-size:14.5px;}
.verif{font-style:normal;font-size:11.5px;color:var(--c-success);font-weight:600;} .verif i{margin-right:3px;}
.resena-resp{margin-top:10px;padding:10px 14px;border-left:3px solid var(--c-primary);background:var(--c-primary-soft-2);border-radius:0 10px 10px 0;font-size:13.5px;} .resena-resp b{font-size:12px;color:var(--c-primary-dark);}
.detalles{display:grid;grid-template-columns:max-content 1fr;gap:10px 22px;font-size:14.5px;} .detalles dt{font-weight:600;color:var(--c-ink);} .detalles dd{margin:0;color:var(--c-text);}
.detalles a{color:var(--c-primary-dark);text-decoration:underline;}
.sec-rel{margin-top:34px;}
.rel-grid{gap:12px;}
.rel-grid .pcard{width:calc((100% - 24px) / 2.3);min-width:150px;}
.prod-barra{position:fixed;left:12px;right:12px;bottom:calc(92px + env(safe-area-inset-bottom));z-index:65;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 8px 8px 16px;border-radius:var(--r-pill);background:var(--c-dark);color:#fff;box-shadow:0 10px 30px rgba(0,0,0,.3);}
.prod-barra span{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.prod-barra .btn-primary{height:44px;padding:0 18px;font-size:14px;flex-shrink:0;}

/* ---------- Plato del día ---------- */
.aviso-preview{background:#1E3A8A;color:#fff;font-size:14px;font-weight:500;} .aviso-preview .container{display:flex;gap:10px;align-items:center;padding-block:10px;}
.pd-banda{background:var(--c-bg-soft);}
.pd-banda-in{display:flex;flex-direction:column;gap:18px;padding-block:18px 24px;}
.pd-fecha-pill{display:inline-flex;align-items:center;gap:8px;margin-top:10px;padding:6px 14px;border-radius:var(--r-pill);background:var(--c-card);box-shadow:var(--sh-card);font-size:13.5px;font-weight:600;color:var(--c-primary-dark);}
.pd-banda h1{font-size:28px;font-weight:800;margin-top:10px;} .pd-banda p{color:var(--c-muted);margin:4px 0 10px;}
.pd-reloj{display:flex;flex-direction:column;align-items:flex-start;gap:8px;}
.pd-reloj-t{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--c-muted);} .pd-reloj-t.cerrado{display:flex;gap:8px;align-items:center;font-size:18px;color:var(--c-danger);text-transform:none;letter-spacing:0;}
.reloj{display:flex;align-items:center;gap:6px;} .reloj>i{font-style:normal;font-weight:800;font-size:22px;color:var(--c-muted);}
.reloj span{display:flex;flex-direction:column;align-items:center;gap:4px;}
.reloj b{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:12px;background:var(--c-dark);color:var(--c-accent);font-size:26px;font-weight:700;font-variant-numeric:tabular-nums;}
.reloj small{font-size:11px;color:var(--c-muted);}
.pd-reloj-pie{font-size:13px;color:var(--c-muted);}
.pd-lista{padding-top:24px;}
.pd-grid{display:grid;grid-template-columns:1fr;gap:16px;}
.pdg-card{display:flex;flex-direction:column;background:var(--c-card);border:1px solid var(--c-line);border-radius:var(--r-lg);box-shadow:var(--sh-card);overflow:hidden;transition:transform .2s,box-shadow .2s;}
.pdg-card:hover{transform:translateY(-4px);box-shadow:var(--sh-float);} .pdg-card.agotado{opacity:.6;}
.pdg-img{position:relative;display:block;aspect-ratio:16/10;} .pdg-img img{width:100%;height:100%;object-fit:cover;}
.pdg-num{position:absolute;top:12px;left:12px;width:36px;height:36px;border-radius:50%;background:var(--c-primary);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(0,0,0,.25);}
.pdg-hoy{position:absolute;top:12px;right:12px;background:var(--c-dark);color:var(--c-accent);font-size:11px;font-weight:700;padding:4px 11px;border-radius:20px;letter-spacing:.06em;}
.pdg-ahorro{position:absolute;bottom:12px;right:12px;background:var(--c-success);color:#fff;font-size:12.5px;font-weight:700;padding:3px 10px;border-radius:20px;}
.pdg-body{display:flex;flex-direction:column;flex:1;padding:16px;}
.pdg-body h2{font-size:18px;font-weight:700;} .pdg-body h2 a:hover{color:var(--c-primary);}
.pdg-nota{display:flex;gap:6px;align-items:flex-start;margin-top:6px;font-size:13.5px;font-weight:600;color:var(--c-primary-dark);}
.pdg-desc{font-size:13.5px;color:var(--c-muted);margin-top:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.pdg-body .pcard-pie{padding-top:14px;} .pdg-body .precio strong{font-size:20px;} .pdg-body .btn-add{width:40px;height:40px;border-radius:10px;font-size:20px;}
.cta-oscura{display:flex;flex-direction:column;gap:16px;margin-top:30px;padding:24px;border-radius:var(--r-lg);background:var(--c-dark) url("../img/doodles.svg");background-size:260px;color:#fff;}
.cta-oscura h2{color:#fff;font-size:22px;} .cta-oscura p{color:var(--c-on-dark-muted);font-size:14px;margin-top:4px;}
.cta-btns{display:flex;flex-wrap:wrap;gap:10px;}

/* ---------- Ofertas ---------- */
.promo-grid{display:grid;grid-template-columns:1fr;gap:16px;}
.promo-card{display:grid;grid-template-columns:1fr;background:var(--c-card);border:1px solid var(--c-line);border-radius:var(--r-lg);box-shadow:var(--sh-card);overflow:hidden;}
.promo-card.ahora{border-color:rgba(30,158,90,.5);box-shadow:0 0 0 3px rgba(30,158,90,.1),var(--sh-card);}
.promo-card-img{position:relative;min-height:170px;background:var(--c-primary-soft);display:flex;align-items:center;justify-content:center;color:var(--c-primary);font-size:48px;}
.promo-card-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.promo-ahora{position:absolute;top:12px;left:12px;display:inline-flex;align-items:center;gap:7px;padding:5px 12px;border-radius:20px;background:#fff;color:var(--c-success);font-size:12px;font-weight:700;box-shadow:var(--sh-card);}
.promo-ahora i{width:8px;height:8px;border-radius:50%;background:var(--c-success);animation:pulso 1.6s infinite;}
@keyframes pulso{50%{box-shadow:0 0 0 6px rgba(30,158,90,.15);}}
.promo-card-body{display:flex;flex-direction:column;gap:8px;padding:18px;}
.promo-tipo{align-self:flex-start;padding:3px 11px;border-radius:20px;background:var(--c-primary-soft);color:var(--c-primary-dark);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;}
.promo-card-body h3{font-size:19px;font-weight:700;} .promo-card-body p{font-size:14px;color:var(--c-muted);}
.promo-incluye b{color:var(--c-ink);}
.promo-chips{display:flex;flex-wrap:wrap;gap:6px;} .promo-chips li{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:20px;background:var(--c-bg-soft);font-size:12.5px;} .promo-chips i{color:var(--c-primary);}
.promo-pie{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:auto;padding-top:8px;} .promo-pie small{font-size:12.5px;color:var(--c-muted);}
.sec-cupones{margin-top:14px;}
.cupon-grid{display:grid;grid-template-columns:1fr;gap:16px;}
.ticket{display:grid;grid-template-columns:120px 1fr;background:var(--c-card);border-radius:var(--r-lg);box-shadow:var(--sh-card);overflow:hidden;position:relative;}
.ticket-izq{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:14px 10px;background:linear-gradient(160deg,var(--c-primary),var(--c-primary-dark));color:#fff;text-align:center;border-right:2px dashed rgba(255,255,255,.6);}
.ticket-izq b{font-size:26px;font-weight:800;line-height:1.1;} .ticket-izq small{font-size:12px;opacity:.9;}
.ticket::before,.ticket::after{content:"";position:absolute;left:109px;width:22px;height:22px;border-radius:50%;background:var(--c-bg-cream);}
.ticket::before{top:-11px;} .ticket::after{bottom:-11px;}
.ticket-der{padding:14px 16px;display:flex;flex-direction:column;gap:8px;}
.ticket-desc{font-size:14px;font-weight:600;color:var(--c-ink);}
.ticket-cod{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 6px 0 14px;border:1.5px dashed var(--c-primary);border-radius:10px;background:var(--c-primary-soft-2);font:inherit;font-size:13px;font-weight:600;color:var(--c-primary-dark);cursor:pointer;}
.ticket-cod span{font-size:17px;font-weight:800;letter-spacing:.04em;color:var(--c-ink);margin-right:6px;}
.ticket-der ul{font-size:12.5px;color:var(--c-muted);display:flex;flex-direction:column;gap:2px;} .ticket-der li::before{content:"• ";color:var(--c-primary);}
.sec-pof{margin-top:30px;}

/* ---------- Nosotros ---------- */
.historia{display:grid;grid-template-columns:1fr;gap:26px;padding-top:28px;}
.historia-img{position:relative;} .historia-img img{width:100%;border-radius:var(--r-lg);aspect-ratio:4/3;object-fit:cover;}
.historia-badge{position:absolute;right:14px;bottom:-18px;display:flex;flex-direction:column;align-items:center;justify-content:center;width:110px;height:110px;border-radius:50%;background:var(--c-primary);color:#fff;text-align:center;box-shadow:var(--sh-btn);border:5px solid var(--c-bg-cream);}
.historia-badge b{font-size:30px;font-weight:800;line-height:1;} .historia-badge small{font-size:11px;font-weight:600;line-height:1.2;padding:0 8px;}
.historia-txt .hero-script{font-family:var(--f-script);font-size:26px;font-weight:700;color:var(--c-primary);}
.historia-txt h2{font-size:26px;font-weight:800;margin:4px 0 12px;} .historia-txt p{margin-bottom:10px;color:var(--c-text);}
.cifras{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0;}
.cifras li{display:flex;flex-direction:column;align-items:center;padding:14px 8px;border-radius:var(--r-md);background:var(--c-card);box-shadow:var(--sh-card);text-align:center;}
.cifras b{font-size:24px;font-weight:800;color:var(--c-primary-dark);} .cifras span{font-size:12.5px;color:var(--c-muted);}
.historia .hero-btns{display:flex;flex-wrap:wrap;gap:12px;}
.valores-grid{display:grid;grid-template-columns:1fr;gap:14px;}
.valor{display:flex;gap:16px;align-items:flex-start;padding:18px;border-radius:var(--r-lg);background:var(--c-card);box-shadow:var(--sh-card);}
.valor h3{font-size:16px;font-weight:600;} .valor p{font-size:14px;color:var(--c-muted);margin-top:4px;}
.gal-full{grid-template-columns:1fr 1fr;}
.sec-testi{margin-top:40px;}

/* ---------- Contacto ---------- */
.contacto{display:grid;grid-template-columns:1fr;gap:20px;padding-top:24px;}
.ct-info,.ct-form-box{background:var(--c-card);border:1px solid var(--c-line);border-radius:var(--r-lg);box-shadow:var(--sh-card);padding:20px;min-width:0;}
.ct-info h2,.ct-form-box h2{font-size:20px;font-weight:700;margin-bottom:14px;}
.ct-datos{display:flex;flex-direction:column;gap:14px;}
.ct-datos li{display:flex;gap:14px;align-items:flex-start;} .ct-datos b{font-size:14px;color:var(--c-ink);} .ct-datos p{font-size:14px;color:var(--c-text);}
.ct-datos a:hover{color:var(--c-primary);} .ct-link{display:inline-flex;gap:4px;font-size:13px;font-weight:600;color:var(--c-primary-dark);margin-top:2px;}
.ct-horario{margin-top:18px;padding:16px;border-radius:var(--r-md);background:var(--c-bg-soft);}
.ct-horario-hd{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;}
.ct-horario h3{font-size:15px;display:flex;gap:8px;align-items:center;} .ct-horario h3 i{color:var(--c-primary);}
.estado-pill{display:inline-flex;align-items:center;gap:7px;padding:4px 12px;border-radius:20px;font-size:12.5px;font-weight:700;}
.estado-pill i{width:8px;height:8px;border-radius:50%;} .estado-pill.abierto{background:rgba(30,158,90,.12);color:var(--c-success);} .estado-pill.abierto i{background:var(--c-success);animation:pulso 1.6s infinite;}
.estado-pill.cerrado{background:rgba(217,48,37,.1);color:var(--c-danger);} .estado-pill.cerrado i{background:var(--c-danger);}
.ct-horario ul{display:flex;flex-direction:column;} .ct-horario li{display:flex;justify-content:space-between;gap:10px;padding:7px 10px;border-radius:8px;font-size:14px;}
.ct-horario li.hoy{background:var(--c-card);font-weight:600;color:var(--c-ink);box-shadow:var(--sh-card);} .ct-horario li em{font-style:normal;font-size:11px;font-weight:700;background:var(--c-primary);color:#fff;border-radius:10px;padding:1px 7px;margin-left:4px;}
.ct-horario li b{font-weight:500;font-variant-numeric:tabular-nums;} .ct-horario li.hoy b{font-weight:700;}
.ct-estado-txt{font-size:13px;color:var(--c-muted);margin-top:8px;}
.ct-redes{margin-top:16px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;} .ct-redes b{font-size:14px;color:var(--c-ink);}
.redes.claro{margin-top:0;} .redes.claro a{color:var(--c-ink);border-color:var(--c-line);} .redes.claro a:hover{color:#fff;}
.ct-form-sub{font-size:14px;color:var(--c-muted);margin:-8px 0 16px;}
.ct-form{display:grid;grid-template-columns:1fr;gap:14px;}
.campo{display:flex;flex-direction:column;gap:6px;min-width:0;}
.campo label{font-size:13px;font-weight:600;color:var(--c-ink);display:flex;justify-content:space-between;gap:10px;} .campo label span{font-weight:400;color:var(--c-muted);}
.campo input:not([type=checkbox]),.campo select,.campo textarea{width:100%;height:48px;border:1.5px solid var(--c-line);border-radius:12px;padding:0 14px;font:inherit;font-size:15px;color:var(--c-ink);background:var(--c-bg);}
.campo textarea{height:auto;padding:12px 14px;resize:vertical;min-height:120px;}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:0;border-color:var(--c-primary);box-shadow:0 0 0 4px rgba(232,93,31,.12);}
.campo.invalido input,.campo.invalido select,.campo.invalido textarea{border-color:var(--c-danger);}
.campo.valido input,.campo.valido select,.campo.valido textarea{border-color:var(--c-success);}
.err{min-height:0;font-size:12.5px;color:var(--c-danger);} .err:not(:empty)::before{content:"\F33B";font-family:bootstrap-icons;margin-right:5px;}
.contador{font-weight:500!important;font-variant-numeric:tabular-nums;} .contador.max{color:var(--c-danger)!important;}
.campo.check label{justify-content:flex-start;align-items:flex-start;gap:10px;font-weight:400;font-size:13.5px;color:var(--c-text);cursor:pointer;}
.campo.check input{width:18px;height:18px;accent-color:var(--c-primary);margin-top:2px;flex-shrink:0;} .campo.check a{color:var(--c-primary-dark);text-decoration:underline;}
.ct-enviar{display:flex;flex-direction:column;gap:10px;}
.ct-enviar .btn-primary{align-self:flex-start;} .ct-enviar .spin{display:none;width:18px;height:18px;border:2px solid rgba(255,255,255,.5);border-top-color:#fff;border-radius:50%;animation:gira .8s linear infinite;}
.ct-enviar .btn-primary.enviando .spin{display:inline-block;} .ct-enviar .btn-primary.enviando i{display:none;}
@keyframes gira{to{transform:rotate(360deg);}}
.ct-resultado{font-size:14px;font-weight:500;} .ct-resultado.ok{color:var(--c-success);} .ct-resultado.err-r{color:var(--c-danger);}
.ct-mapa{margin-top:24px;} .ct-mapa iframe{width:100%;height:320px;border:0;border-radius:var(--r-lg);box-shadow:var(--sh-card);}
.ct-faq{margin-top:10px;}
.faq{max-width:860px;margin:0 auto;}
.faq details{border-bottom:1px solid var(--c-line);}
.faq summary{list-style:none;display:flex;align-items:center;gap:14px;padding:18px 4px;cursor:pointer;}
.faq summary::-webkit-details-marker{display:none;}
.faq-n{font-weight:700;color:var(--c-primary);font-size:15px;} .faq-q{flex:1;font-size:16px;font-weight:600;color:var(--c-ink);}
.faq summary i{font-size:18px;color:var(--c-muted);transition:transform .2s;} .faq details[open] summary i{transform:rotate(45deg);color:var(--c-primary);}
.faq-a{padding:0 4px 18px 42px;font-size:14.5px;color:var(--c-text);line-height:1.7;}

/* ---------- Legal, baja y 404 ---------- */
.legal{display:grid;grid-template-columns:1fr;gap:20px;padding-top:24px;}
.legal-nav{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;} .legal-nav::-webkit-scrollbar{display:none;}
.legal-nav a{white-space:nowrap;padding:9px 14px;border-radius:12px;font-size:14px;font-weight:500;background:var(--c-card);border:1px solid var(--c-line);}
.legal-nav a.on{background:var(--c-primary-soft);color:var(--c-primary-dark);border-color:transparent;font-weight:600;}
.legal-txt{background:var(--c-card);border:1px solid var(--c-line);border-radius:var(--r-lg);padding:22px;font-size:15px;line-height:1.75;min-width:0;}
.legal-txt h2{font-size:19px;font-weight:700;margin:22px 0 8px;} .legal-txt h2:first-child{margin-top:0;} .legal-txt h3{font-size:16px;margin:16px 0 6px;}
.legal-txt p{margin-bottom:10px;} .legal-txt ul,.legal-txt ol{margin:0 0 12px 20px;list-style:disc;} .legal-txt ol{list-style:decimal;} .legal-txt li{margin-bottom:4px;}
.legal-txt a{color:var(--c-primary-dark);text-decoration:underline;}
.legal-contacto{margin-top:20px!important;padding-top:14px;border-top:1px solid var(--c-line);font-size:14px;color:var(--c-muted);}
.caja-centro{display:flex;justify-content:center;padding-block:40px;}
.caja-msg{max-width:520px;width:100%;text-align:center;background:var(--c-card);border:1px solid var(--c-line);border-radius:var(--r-lg);box-shadow:var(--sh-card);padding:32px 22px;display:flex;flex-direction:column;align-items:center;gap:12px;}
.caja-msg h1{font-size:24px;} .caja-msg p{color:var(--c-muted);} .caja-msg form{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:6px;}
.caja-ic{display:flex;align-items:center;justify-content:center;width:84px;height:84px;border-radius:50%;background:var(--c-primary-soft);color:var(--c-primary);font-size:36px;}
.caja-ic.ok{background:rgba(30,158,90,.12);color:var(--c-success);} .caja-ic.err{background:rgba(217,48,37,.1);color:var(--c-danger);}
.err-txt{color:var(--c-danger)!important;font-weight:500;}
.e404{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding-block:44px;}
.e404-ic{display:flex;align-items:center;justify-content:center;width:130px;height:130px;border-radius:50%;background:var(--c-primary-soft);color:var(--c-primary);font-size:62px;animation:flota 3s ease-in-out infinite;}
@keyframes flota{50%{transform:translateY(-8px) rotate(-6deg);}}
.e404-cod{font-size:52px;font-weight:800;color:var(--c-primary);line-height:1;letter-spacing:-2px;}
.e404 h1{font-size:26px;} .e404>p{color:var(--c-muted);max-width:440px;}
.e404-buscar{width:100%;max-width:440px;margin-top:8px;flex:none;}
.e404-btns{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:8px;}

/* ========================================================================
   ≥ 768 px
   ===================================================================== */
@media (min-width:768px){
  .cab-in{min-height:200px;padding-block:28px;}
  .cab h1{font-size:40px;} .cab p{font-size:16px;}
  .cab-img{display:block;flex-shrink:0;width:170px;height:170px;border-radius:50%;overflow:hidden;box-shadow:var(--sh-float);border:6px solid #fff;}
  .cab-img img{width:100%;height:100%;object-fit:cover;}
  .sec-t{font-size:24px;font-weight:600;}
  .cat-grid{grid-template-columns:repeat(3,1fr);gap:18px;} .cat-grid .pcard-img{height:150px;}
  .beb-grid{grid-template-columns:repeat(3,1fr);} .beb-card{flex-direction:column;text-align:center;} .beb-pill{align-self:center;} .beb-img{width:140px;height:140px;}
  .rel-grid .pcard{width:auto;} .rel-grid{grid-template-columns:repeat(4,1fr);gap:20px;}
  .prod{grid-template-columns:1fr 1fr;gap:40px;align-items:start;} .prod-foto{position:sticky;top:110px;}
  .prod-info h1{font-size:36px;}
  .prod-barra{display:none;}
  .pd-banda-in{flex-direction:row;align-items:center;justify-content:space-between;padding-block:30px;}
  .pd-banda h1{font-size:40px;}
  .pd-reloj{align-items:center;padding:18px 22px;border-radius:var(--r-lg);background:var(--c-card);box-shadow:var(--sh-card);}
  .pd-grid{grid-template-columns:repeat(2,1fr);gap:20px;}
  .cta-oscura{flex-direction:row;align-items:center;justify-content:space-between;padding:28px 34px;}
  .promo-grid{grid-template-columns:1fr;}
  .promo-card{grid-template-columns:240px 1fr;} .promo-card-img{min-height:100%;}
  .cupon-grid{grid-template-columns:repeat(2,1fr);}
  .historia{grid-template-columns:1fr 1fr;gap:48px;align-items:center;padding-top:48px;}
  .valores-grid{grid-template-columns:1fr 1fr;gap:18px;}
  .gal-full{grid-template-columns:repeat(3,1fr);}
  .contacto{grid-template-columns:5fr 7fr;gap:24px;padding-top:40px;}
  .ct-info,.ct-form-box{padding:26px;}
  .ct-form{grid-template-columns:1fr 1fr;} .campo.ancho,.ct-enviar{grid-column:1/-1;}
  .ct-mapa iframe{height:420px;}
  .legal{grid-template-columns:240px 1fr;gap:28px;padding-top:40px;align-items:start;}
  .legal-nav{flex-direction:column;position:sticky;top:110px;} .legal-nav a{white-space:normal;}
  .legal-txt{padding:32px 36px;}
}

/* ========================================================================
   ≥ 992 px — barra lateral de filtros fija
   ===================================================================== */
@media (min-width:992px){
  .cat-wrap{display:grid;grid-template-columns:260px 1fr;gap:28px;align-items:start;padding-top:40px;}
  .cat-chips,.btn-filtros-cat,.filtros-hd,.solo-movil-b,.filtros::before{display:none;}
  .solo-esc-b{display:flex;flex-direction:row;align-items:center;gap:10px;} .solo-esc-b select{height:40px;}
  .filtros{position:sticky;top:110px;z-index:1;max-height:calc(100vh - 130px);transform:none;visibility:visible;border-radius:var(--r-lg);box-shadow:var(--sh-card);border:1px solid var(--c-line);padding:18px;}
  .f-acc .btn-primary{display:none;}
  .velo-filtros{display:none;}
  .pd-grid{grid-template-columns:repeat(3,1fr);}
  .promo-grid{grid-template-columns:1fr 1fr;} .promo-card{grid-template-columns:1fr;} .promo-card-img{min-height:180px;}
  .cupon-grid{grid-template-columns:repeat(3,1fr);}
}
@media (min-width:1200px){
  .cat-grid{grid-template-columns:repeat(3,1fr);gap:20px;}
  .promo-card{grid-template-columns:220px 1fr;} .promo-card-img{min-height:100%;}
}
