/* Tierra Adentro — cocina de los valles (Cochabamba)
   Identidad: fondo vino-tierra muy oscuro, crema de maíz para el texto, amarillo choclo como
   acento y franjas de aguayo (CSS puro) como firma visual. Gloock para títulos, Work Sans para texto.
   Estructura: una página de restaurante con carta por pestañas, degustación, galería y reservas. */
:root{
  --fondo:#1b1214; --fondo-2:#251a1c; --fondo-3:#30221f; --crema:#f3e9d6; --crema-2:#cdbfa7; --tenue:#9a8c7b;
  --maiz:#e9b23a; --aji:#c8442c; --verde:#5d7a3e; --magenta:#a8325e; --linea:rgba(243,233,214,.14);
  --display:'Gloock', Georgia, serif; --sans:'Work Sans', system-ui, sans-serif;
  --ancho:1200px; --ease:cubic-bezier(.22,.8,.2,1);
}
[hidden]{display:none!important}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overflow-x:clip}
body{background:var(--fondo);color:var(--crema);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:clip}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--maiz);outline-offset:3px}
h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.05;text-wrap:balance}
.cont{max-width:var(--ancho);margin:0 auto;padding-inline:24px}
.sobre{font-size:12.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--maiz);font-weight:600}

/* franja de aguayo: la firma visual del sitio */
.aguayo{height:22px;background:
  repeating-linear-gradient(90deg,transparent 0 18px,rgba(0,0,0,.18) 18px 20px),
  linear-gradient(180deg,var(--aji) 0 18%,var(--maiz) 18% 30%,var(--verde) 30% 48%,var(--magenta) 48% 66%,#2b5c8a 66% 80%,var(--maiz) 80% 88%,var(--aji) 88%)}
.aguayo.fino{height:8px}
.aguayo-rombos{height:26px;background:
  linear-gradient(135deg,var(--fondo) 25%,transparent 25%) -13px 0/26px 26px,
  linear-gradient(225deg,var(--fondo) 25%,transparent 25%) -13px 0/26px 26px,
  linear-gradient(315deg,var(--fondo) 25%,transparent 25%) 0 0/26px 26px,
  linear-gradient(45deg,var(--fondo) 25%,transparent 25%) 0 0/26px 26px, var(--maiz)}

/* botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 28px;border-radius:999px;font-weight:600;font-size:15px;
  letter-spacing:.02em;border:1px solid transparent;cursor:pointer;transition:.3s var(--ease)}
.btn svg{width:17px;height:17px}
.btn-maiz{background:var(--maiz);color:#1b1214}
.btn-maiz:hover{background:#f5c556;transform:translateY(-2px);box-shadow:0 12px 30px -12px rgba(233,178,58,.6)}
.btn-borde{border-color:rgba(243,233,214,.45);color:var(--crema)}
.btn-borde:hover{background:var(--crema);color:var(--fondo)}

/* aviso superior */
.aviso{background:var(--maiz);color:#1b1214;font-size:13.5px;font-weight:500;text-align:center;padding:9px 16px;position:relative;z-index:60}
.aviso b{font-weight:700}

/* cabecera */
.cab{position:absolute;top:38px;left:0;right:0;z-index:50;transition:background .4s, top .4s}
.cab.fija{position:fixed;top:0;background:rgba(27,18,20,.92);backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--linea)}
.cab .cont{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:92px;transition:min-height .4s}
.cab.fija .cont{min-height:72px}
.cab nav{display:flex;gap:30px;font-size:14.5px;font-weight:500;letter-spacing:.03em}
.cab nav.der{justify-content:flex-end;align-items:center}
.cab nav a:not(.btn){position:relative;padding:4px 0;opacity:.9}
.cab nav a:not(.btn)::after{content:"";position:absolute;left:50%;right:50%;bottom:-2px;height:1px;background:var(--maiz);transition:.35s var(--ease)}
.cab nav a:not(.btn):hover::after{left:0;right:0}
.cab .btn{padding:11px 20px;font-size:14px}
.emblema{display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center}
.emblema svg{width:46px;height:46px;color:var(--maiz);transition:transform 1s var(--ease)}
.emblema:hover svg{transform:rotate(45deg)}
.emblema b{font-family:var(--display);font-size:24px;font-weight:400;letter-spacing:.02em;line-height:1}
.emblema small{font-size:9.5px;letter-spacing:.32em;text-transform:uppercase;color:var(--crema-2)}
.ham{display:none;background:none;border:1px solid var(--linea);border-radius:50%;width:46px;height:46px;cursor:pointer;justify-self:end}
.ham span{display:block;width:18px;height:1.5px;background:var(--crema);margin:4px auto}

/* héroe */
.heroe{position:relative;min-height:100svh;display:flex;align-items:flex-end;padding-bottom:90px;overflow:hidden}
.heroe .fondo{position:absolute;inset:0}
.heroe .fondo img{width:100%;height:100%;object-fit:cover;animation:lento 22s ease-in-out infinite alternate}
@keyframes lento{from{transform:scale(1.02)}to{transform:scale(1.14) translate(-1.5%,-1%)}}
.heroe .fondo::after{content:"";position:absolute;inset:0;background:
  linear-gradient(180deg,rgba(27,18,20,.75) 0%,rgba(27,18,20,.15) 32%,rgba(27,18,20,.35) 60%,rgba(27,18,20,.96) 100%)}
.heroe .cont{position:relative;width:100%;display:grid;grid-template-columns:1.4fr .6fr;gap:40px;align-items:end}
.heroe h1{font-size:clamp(52px,8.4vw,128px);line-height:.95;letter-spacing:-.01em}
.heroe h1 em{font-style:normal;color:var(--maiz)}
.heroe p{font-size:19px;color:var(--crema-2);max-width:44ch;margin:24px 0 34px}
.heroe .acciones{display:flex;gap:14px;flex-wrap:wrap}
.estado-local{display:inline-flex;align-items:center;gap:10px;background:rgba(27,18,20,.6);backdrop-filter:blur(8px);border:1px solid var(--linea);
  padding:9px 16px;border-radius:40px;font-size:14px;margin-bottom:26px}
.estado-local i{width:9px;height:9px;border-radius:50%;background:#6fcf5a;box-shadow:0 0 0 0 rgba(111,207,90,.6);animation:late 2s infinite}
.estado-local.cerrado i{background:var(--aji);animation:none}
@keyframes late{70%{box-shadow:0 0 0 9px rgba(111,207,90,0)}100%{box-shadow:0 0 0 0 rgba(111,207,90,0)}}
.heroe .tarjeta-plato{background:rgba(27,18,20,.72);backdrop-filter:blur(10px);border:1px solid var(--linea);border-radius:22px;padding:18px;display:flex;gap:16px;align-items:center}
.heroe .tarjeta-plato img{width:84px;height:84px;border-radius:14px;object-fit:cover}
.heroe .tarjeta-plato small{color:var(--maiz);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:600}
.heroe .tarjeta-plato b{display:block;font-family:var(--display);font-weight:400;font-size:21px;line-height:1.15;margin:3px 0}
.heroe .tarjeta-plato span{color:var(--crema-2);font-size:14px}
.entrada{opacity:0;transform:translateY(30px);animation:entra 1.2s var(--ease) forwards}
.entrada.e2{animation-delay:.18s}.entrada.e3{animation-delay:.36s}.entrada.e4{animation-delay:.54s}
@keyframes entra{to{opacity:1;transform:none}}

/* secciones */
.sec{padding:130px 0}
.sec.clara{background:var(--crema);color:#2a1d1a}
.sec.clara .sobre{color:var(--aji)}
.titulo-sec{text-align:center;max-width:760px;margin:0 auto 70px}
.titulo-sec h2{font-size:clamp(40px,5.2vw,72px);margin-top:16px}
.titulo-sec h2 em{font-style:normal;color:var(--maiz)}
.sec.clara .titulo-sec h2 em{color:var(--aji)}
.titulo-sec p{color:var(--crema-2);font-size:17.5px;margin-top:18px}
.sec.clara .titulo-sec p{color:#6a5a4c}

/* historia */
.historia{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:center}
.historia .fotos{position:relative;padding-bottom:70px}
.historia .fotos .f1{border-radius:200px 200px 24px 24px;overflow:hidden;aspect-ratio:3/4;max-width:420px}
.historia .fotos .f1 img{width:100%;height:100%;object-fit:cover}
.historia .fotos .f2{position:absolute;right:0;bottom:0;width:52%;border-radius:20px;overflow:hidden;aspect-ratio:1;border:8px solid var(--fondo);box-shadow:0 30px 60px -20px rgba(0,0,0,.6)}
.historia .fotos .f2 img{width:100%;height:100%;object-fit:cover}
.historia .fotos .sello{position:absolute;left:-30px;top:40px;width:130px;height:130px;animation:gira 26s linear infinite}
@keyframes gira{to{transform:rotate(360deg)}}
.historia h2{font-size:clamp(38px,4.4vw,62px);margin:18px 0 26px}
.historia p{color:var(--crema-2);font-size:17px;margin-bottom:18px;max-width:54ch}
.historia blockquote{font-family:var(--display);font-size:26px;line-height:1.3;border-left:2px solid var(--maiz);padding-left:24px;margin:34px 0 24px;color:var(--crema)}
.historia .firma{display:flex;align-items:center;gap:14px}
.historia .firma b{display:block;font-weight:600}
.historia .firma small{color:var(--tenue)}
.datos-hist{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px;padding-top:30px;border-top:1px solid var(--linea)}
.datos-hist b{font-family:var(--display);font-size:42px;font-weight:400;color:var(--maiz);display:block;line-height:1}
.datos-hist span{color:var(--tenue);font-size:14px}

/* carta */
.pestanas{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;margin-bottom:22px}
.pestanas button{background:none;border:1px solid rgba(42,29,26,.2);border-radius:40px;padding:11px 22px;font-weight:600;font-size:14.5px;cursor:pointer;color:#2a1d1a;transition:.3s}
.pestanas button:hover{border-color:#2a1d1a}
.pestanas button[aria-selected="true"]{background:#2a1d1a;color:var(--crema);border-color:#2a1d1a}
.filtros-carta{display:flex;justify-content:center;gap:16px;margin-bottom:56px;flex-wrap:wrap;font-size:14px;color:#6a5a4c}
.filtros-carta label{display:inline-flex;align-items:center;gap:8px;cursor:pointer}
.filtros-carta input{accent-color:var(--aji);width:16px;height:16px}
.carta{display:grid;grid-template-columns:1fr 1fr;gap:10px 70px}
.plato{display:grid;grid-template-columns:76px 1fr;gap:18px;padding:20px 0;border-bottom:1px dashed rgba(42,29,26,.22);animation:aparece .5s var(--ease) both}
@keyframes aparece{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.plato img{width:76px;height:76px;border-radius:50%;object-fit:cover}
.plato .sin-foto{width:76px;height:76px;border-radius:50%;background:#e6d9bf;display:grid;place-items:center;color:var(--aji)}
.plato .sin-foto svg{width:30px;height:30px}
.plato .linea1{display:flex;align-items:baseline;gap:10px}
.plato h3{font-size:22px;color:#2a1d1a}
.plato .puntos{flex:1;border-bottom:2px dotted rgba(42,29,26,.3);transform:translateY(-5px);min-width:20px}
.plato .precio{font-weight:700;font-size:17px;color:var(--aji);white-space:nowrap;font-variant-numeric:tabular-nums}
.plato p{color:#6a5a4c;font-size:14.5px;margin-top:4px}
.plato .marcas{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}
.plato .marcas span{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 9px;border-radius:20px}
.m-casa{background:#2a1d1a;color:var(--maiz)}
.m-veg{background:#dfe8cf;color:#3f5a26}
.m-pic{background:#f6d4c8;color:#a3361f}
.m-sg{background:#efe2c6;color:#7a5a16}
.carta-vacia{grid-column:1/-1;text-align:center;padding:40px;color:#6a5a4c}
.nota-carta{text-align:center;color:#6a5a4c;font-size:14px;margin-top:40px}

/* degustación */
.degustacion{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}
.degustacion .izq{position:sticky;top:110px}
.degustacion h2{font-size:clamp(40px,4.6vw,66px);margin:16px 0 22px}
.degustacion .izq p{color:var(--crema-2);font-size:17px;max-width:42ch}
.precio-deg{display:flex;gap:28px;margin:34px 0;padding:26px 0;border-block:1px solid var(--linea)}
.precio-deg b{font-family:var(--display);font-size:46px;font-weight:400;color:var(--maiz);display:block;line-height:1}
.precio-deg span{color:var(--tenue);font-size:14px}
.tiempos{list-style:none;counter-reset:t}
.tiempo{display:grid;grid-template-columns:70px 1fr auto;gap:24px;padding:28px 0;border-bottom:1px solid var(--linea);align-items:center;transition:padding .4s var(--ease), background .4s}
.tiempo:hover{background:var(--fondo-2);padding-inline:18px}
.tiempo .n{font-family:var(--display);font-size:40px;color:var(--maiz);line-height:1}
.tiempo h3{font-size:26px}
.tiempo p{color:var(--tenue);font-size:14.5px;margin-top:4px}
.tiempo .zona{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--crema-2);border:1px solid var(--linea);padding:6px 12px;border-radius:30px;white-space:nowrap}

/* galería */
.galeria{columns:3;column-gap:16px}
.galeria button{display:block;width:100%;margin-bottom:16px;border-radius:18px;overflow:hidden;border:0;padding:0;cursor:zoom-in;position:relative;break-inside:avoid;background:var(--fondo-2)}
.galeria img{width:100%;height:auto;transition:transform 1.1s var(--ease), filter .6s}
.galeria button:hover img{transform:scale(1.05);filter:brightness(1.08)}
.galeria button::after{content:attr(data-pie);position:absolute;left:14px;bottom:14px;background:rgba(27,18,20,.78);backdrop-filter:blur(6px);
  padding:7px 13px;border-radius:30px;font-size:13px;opacity:0;transform:translateY(8px);transition:.4s var(--ease)}
.galeria button:hover::after{opacity:1;transform:none}
.visor{position:fixed;inset:0;z-index:200;background:rgba(14,9,10,.94);display:grid;place-items:center;padding:60px 20px;opacity:0;pointer-events:none;transition:opacity .35s}
.visor.on{opacity:1;pointer-events:auto}
.visor img{max-height:80vh;max-width:min(1100px,100%);border-radius:14px;object-fit:contain;transform:scale(.96);transition:transform .45s var(--ease)}
.visor.on img{transform:none}
.visor .pie-visor{text-align:center;color:var(--crema-2);margin-top:16px;font-size:14.5px}
.visor button{position:absolute;width:54px;height:54px;border-radius:50%;border:1px solid var(--linea);background:rgba(27,18,20,.6);cursor:pointer;display:grid;place-items:center;color:var(--crema)}
.visor button:hover{background:var(--maiz);color:#1b1214;border-color:var(--maiz)}
.visor button svg{width:20px;height:20px}
.visor .cerrar{top:22px;right:22px}
.visor .ant{left:22px;top:50%;transform:translateY(-50%)}
.visor .sig{right:22px;top:50%;transform:translateY(-50%)}

/* reservas */
.reserva{display:grid;grid-template-columns:1.25fr .75fr;gap:28px;align-items:start}
.reserva>*,.paso-res{min-width:0}
.panel-res{background:var(--fondo-2);border:1px solid var(--linea);border-radius:28px;padding:40px}
.paso-res{margin-bottom:34px}
.paso-res h3{font-family:var(--sans);font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--maiz);font-weight:600;margin-bottom:14px;display:flex;justify-content:space-between}
.paso-res h3 small{color:var(--tenue);letter-spacing:.04em;text-transform:none;font-weight:400}
.fechas{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px;scrollbar-width:thin;scroll-snap-type:x mandatory}
.fechas button{flex:none;width:72px;border:1px solid var(--linea);background:var(--fondo);border-radius:16px;padding:10px 0;cursor:pointer;text-align:center;transition:.25s;scroll-snap-align:start}
.fechas button small{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--tenue)}
.fechas button b{display:block;font-family:var(--display);font-weight:400;font-size:26px;line-height:1.2}
.fechas button:hover{border-color:var(--crema-2)}
.fechas button[aria-pressed="true"]{background:var(--maiz);color:#1b1214;border-color:var(--maiz)}
.fechas button[aria-pressed="true"] small{color:#5b4316}
.fechas button:disabled{opacity:.35;cursor:not-allowed;text-decoration:line-through}
.personas{display:flex;align-items:center;gap:18px}
.personas button{width:48px;height:48px;border-radius:50%;border:1px solid var(--linea);background:var(--fondo);cursor:pointer;font-size:22px;line-height:1;transition:.2s}
.personas button:hover:not(:disabled){border-color:var(--maiz);color:var(--maiz)}
.personas button:disabled{opacity:.3;cursor:not-allowed}
.personas output{font-family:var(--display);font-size:40px;min-width:56px;text-align:center}
.horas{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.horas button{border:1px solid var(--linea);background:var(--fondo);border-radius:12px;padding:11px 0;cursor:pointer;font-weight:600;font-variant-numeric:tabular-nums;transition:.25s;position:relative}
.horas button:hover:not(:disabled){border-color:var(--crema-2)}
.horas button[aria-pressed="true"]{background:var(--crema);color:#1b1214;border-color:var(--crema)}
.horas button:disabled{opacity:.3;cursor:not-allowed;text-decoration:line-through}
.horas button.pocas::after{content:"";position:absolute;top:5px;right:6px;width:6px;height:6px;border-radius:50%;background:var(--aji)}
.zonas{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.zonas label{cursor:pointer;position:relative}
.zonas input{position:absolute;left:0;top:0;width:1px;height:1px;opacity:0}
.zonas span{display:block;border:1px solid var(--linea);border-radius:16px;padding:14px;background:var(--fondo);transition:.25s;height:100%}
.zonas span b{display:block;font-weight:600}
.zonas span small{color:var(--tenue);font-size:13px}
.zonas input:checked+span{border-color:var(--maiz);box-shadow:inset 0 0 0 1px var(--maiz)}
.zonas input:focus-visible+span{outline:2px solid var(--maiz);outline-offset:2px}
.datos-res{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.datos-res input,.datos-res textarea{width:100%;background:var(--fondo);border:1px solid var(--linea);border-radius:14px;padding:14px 16px;transition:border-color .25s}
.datos-res textarea{grid-column:1/-1;min-height:84px;resize:vertical}
.datos-res input:focus,.datos-res textarea:focus{outline:none;border-color:var(--maiz)}
.datos-res input.mal{border-color:var(--aji)}
.resumen-res{position:sticky;top:100px;background:var(--crema);color:#2a1d1a;border-radius:28px;overflow:hidden}
.resumen-res .foto{height:170px;position:relative}
.resumen-res .foto img{width:100%;height:100%;object-fit:cover}
.resumen-res .cuerpo{padding:28px}
.resumen-res h3{font-size:30px}
.resumen-res dl{margin:20px 0 24px;display:grid;gap:0}
.resumen-res dl div{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px dashed rgba(42,29,26,.22);font-size:15px}
.resumen-res dt{color:#6a5a4c}
.resumen-res dd{font-weight:600;text-align:right}
.resumen-res .btn{width:100%}
.resumen-res .nota{font-size:12.5px;color:#6a5a4c;margin-top:12px;text-align:center}
.confirmada{display:none;text-align:center;padding:30px 10px 10px}
.confirmada.on{display:block}
.confirmada .codigo{display:inline-block;font-family:var(--display);font-size:34px;letter-spacing:.08em;background:#2a1d1a;color:var(--maiz);padding:8px 20px;border-radius:12px;margin:14px 0}
.confirmada p{color:#6a5a4c;font-size:14.5px}

/* reseñas */
.resenas{overflow:hidden;position:relative;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.resenas .pista{display:flex;gap:18px;width:max-content;animation:desliza 60s linear infinite}
.resenas:hover .pista{animation-play-state:paused}
@keyframes desliza{to{transform:translateX(-50%)}}
.resena{width:380px;flex:none;background:var(--fondo-2);border:1px solid var(--linea);border-radius:22px;padding:28px}
.resena .estrellas{color:var(--maiz);letter-spacing:3px;font-size:16px}
.resena p{font-size:16px;margin:14px 0 20px;color:var(--crema)}
.resena .quien{display:flex;justify-content:space-between;align-items:center;font-size:14px;color:var(--tenue)}
.resena .quien b{color:var(--crema);font-weight:600}

/* visítanos */
.visita{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.horario{background:var(--fondo-2);border:1px solid var(--linea);border-radius:28px;padding:40px}
.horario h3{font-size:36px;margin-bottom:24px}
.horario table{width:100%;border-collapse:collapse}
.horario td{padding:13px 0;border-bottom:1px solid var(--linea);font-size:15.5px}
.horario td:last-child{text-align:right;font-variant-numeric:tabular-nums;color:var(--crema-2)}
.horario tr.hoy td{color:var(--maiz);font-weight:600}
.horario tr.hoy td:first-child::after{content:"Hoy";font-size:11px;letter-spacing:.1em;text-transform:uppercase;background:var(--maiz);color:#1b1214;border-radius:20px;padding:2px 8px;margin-left:10px;vertical-align:middle}
.horario .direccion{margin-top:28px;display:grid;gap:10px;color:var(--crema-2)}
.horario .direccion span{display:flex;gap:12px}
.horario .direccion svg{width:18px;height:18px;color:var(--maiz);flex:none;margin-top:4px}
.mapa-ta{border-radius:28px;overflow:hidden;position:relative;min-height:420px;background:#2a201d}
.mapa-ta>svg{position:absolute;inset:0;width:100%;height:100%}
.mapa-ta .chincheta{position:absolute;left:54%;top:44%;transform:translate(-50%,-100%);text-align:center}
.mapa-ta .chincheta span{display:block;background:var(--maiz);color:#1b1214;font-weight:700;padding:8px 14px;border-radius:30px;font-size:13.5px;white-space:nowrap}
.mapa-ta .chincheta i{display:block;width:16px;height:16px;border-radius:50%;background:var(--aji);border:3px solid var(--crema);margin:8px auto 0;box-shadow:0 0 0 0 rgba(200,68,44,.6);animation:late2 2s infinite}
@keyframes late2{70%{box-shadow:0 0 0 18px rgba(200,68,44,0)}100%{box-shadow:0 0 0 0 rgba(200,68,44,0)}}
.mapa-ta .btn{position:absolute;left:20px;bottom:20px}

/* pie */
.pie{background:#120c0d;padding:90px 0 0}
.pie .cols{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.3fr;gap:44px;padding-bottom:70px}
.pie h4{font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--maiz);font-weight:600;margin-bottom:18px}
.pie ul{list-style:none;display:grid;gap:9px;color:var(--crema-2)}
.pie ul a:hover{color:var(--crema)}
.boletin p{color:var(--crema-2);margin-bottom:16px;font-size:15px}
.boletin form{display:flex;background:var(--fondo-2);border:1px solid var(--linea);border-radius:40px;padding:5px}
.boletin input{flex:1;background:none;border:0;padding:10px 16px;min-width:0}
.boletin input:focus{outline:none}
.boletin button{background:var(--maiz);color:#1b1214;border:0;border-radius:30px;padding:10px 18px;font-weight:600;cursor:pointer}
.boletin .ok{color:#8fd47e;font-size:14px;margin-top:10px}
.pie .legal{border-top:1px solid var(--linea);padding:22px 0;color:var(--tenue);font-size:13px}
.pie .legal .cont{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.pie .legal a{color:var(--maiz)}
.redes-ta{display:flex;gap:10px;margin-top:20px}
.redes-ta a{width:42px;height:42px;border-radius:50%;border:1px solid var(--linea);display:grid;place-items:center;transition:.3s}
.redes-ta a:hover{background:var(--maiz);color:#1b1214;border-color:var(--maiz)}
.redes-ta svg{width:17px;height:17px}

/* botón flotante */
.wa{position:fixed;right:22px;bottom:22px;z-index:70;width:60px;height:60px;border-radius:50%;background:#25d366;display:grid;place-items:center;
  box-shadow:0 14px 30px -10px rgba(37,211,102,.7);transition:transform .3s var(--ease)}
.wa:hover{transform:scale(1.08) rotate(-6deg)}
.wa svg{width:30px;height:30px;color:#fff}

/* revelado */
.js .rv{opacity:0;transform:translateY(34px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.js .rv.visto{opacity:1;transform:none}
.js .rv.d1{transition-delay:.1s}.js .rv.d2{transition-delay:.2s}.js .rv.d3{transition-delay:.3s}

.muestra{background:#0a0607;color:var(--tenue);text-align:center;font-size:12.5px;padding:11px 16px}
.muestra a{color:var(--maiz)}

/* menú móvil */
.menu-movil{position:fixed;inset:0;z-index:90;background:var(--fondo);display:flex;flex-direction:column;justify-content:center;gap:10px;padding:40px 30px;
  opacity:0;pointer-events:none;transition:opacity .4s}
.menu-movil.on{opacity:1;pointer-events:auto}
.menu-movil a{font-family:var(--display);font-size:44px;line-height:1.25}
.menu-movil .cerrar-m{position:absolute;top:24px;right:24px;width:48px;height:48px;border-radius:50%;border:1px solid var(--linea);background:none;cursor:pointer;font-size:22px}

@media (max-width:1000px){
  .cab nav{display:none}
  .cab .cont{grid-template-columns:1fr auto}
  .emblema{align-items:flex-start;text-align:left}
  .ham{display:block}
  .heroe .cont,.historia,.degustacion,.reserva,.visita{grid-template-columns:1fr}
  .heroe .tarjeta-plato{max-width:420px}
  .historia{gap:50px}
  .historia .fotos .sello{left:auto;right:10px;top:-20px;width:100px;height:100px}
  .degustacion .izq,.resumen-res{position:static}
  .carta{grid-template-columns:1fr}
  .galeria{columns:2}
  .horas{grid-template-columns:repeat(4,1fr)}
  .pie .cols{grid-template-columns:1fr 1fr}
}
@media (max-width:620px){
  .sec{padding:90px 0}
  .heroe{padding-bottom:60px}
  .heroe p{font-size:17px}
  .panel-res,.horario{padding:26px 20px}
  .zonas,.datos-res{grid-template-columns:1fr}
  .tiempo{grid-template-columns:50px 1fr;gap:14px}
  .tiempo .zona{grid-column:2;justify-self:start}
  .resena{width:300px}
  .datos-hist b{font-size:32px}
  .pie .cols{grid-template-columns:1fr}
  .plato{grid-template-columns:60px 1fr;gap:14px}
  .plato img,.plato .sin-foto{width:60px;height:60px}
  .plato h3{font-size:19px}
  .galeria{column-gap:10px}
  .galeria button{margin-bottom:10px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .js .rv,.entrada{opacity:1;transform:none}
}
