/* =========================================================
   Bar La Competencia · estilos
   Azul noche + ámbar de cerveza + blanco frío
   ========================================================= */
:root{
  --noche:#14213D;
  --noche-2:#1D2F55;
  --ambar:#F2B01E;
  --ambar-osc:#C98A00;
  --hueso:#F7F8FA;
  --niebla:#E4EBF5;
  --cielo:#3E7CB1;
  --pizarra:#1B1E24;
  --tiza:#F4F4F0;
  --tinta:#161B26;
  --gris:#4A5468;          /* texto secundario (AA sobre hueso) */
  --linea:#D5DEEB;
  --wa:#25D366; --wa-osc:#128C4A; /* solo botón de WhatsApp */

  --r-s:12px; --r:20px; --r-l:28px;
  --sombra:0 1px 2px rgba(20,33,61,.06),0 8px 24px rgba(20,33,61,.08);
  --sombra-alta:0 2px 6px rgba(20,33,61,.1),0 18px 44px rgba(20,33,61,.18);
  --f-tit:"Bricolage Grotesque",system-ui,sans-serif;
  --f-txt:"DM Sans",system-ui,sans-serif;
  --f-tiza:"Patrick Hand","Comic Sans MS",cursive;
  --alto-cab:64px;
  --ancho:1120px;
}

*,*::before,*::after{box-sizing:border-box}
*{margin:0}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--alto-cab) + 64px)}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{
  font-family:var(--f-txt);font-size:1.0625rem;line-height:1.6;color:var(--tinta);
  background:var(--hueso);-webkit-font-smoothing:antialiased;
  padding-bottom:calc(76px + env(safe-area-inset-bottom));
}
@media (min-width:900px){body{padding-bottom:0}}
img,svg{display:block;max-width:100%}
a{color:var(--cielo);text-underline-offset:3px}
a:hover{color:var(--noche)}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4{font-family:var(--f-tit);line-height:1.08;letter-spacing:-.02em;color:var(--noche);text-wrap:balance}
h1{font-weight:800}
h2{font-weight:800;font-size:clamp(1.9rem,6vw,2.9rem)}
h3{font-weight:700;font-size:1.3rem}
p{text-wrap:pretty}
:focus-visible{outline:3px solid var(--cielo);outline-offset:3px;border-radius:6px}
.oscuro :focus-visible,.pizarra :focus-visible{outline-color:var(--ambar)}
.sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.saltar{position:absolute;left:12px;top:-60px;z-index:200;background:var(--ambar);color:var(--noche);padding:.7rem 1rem;border-radius:10px;font-weight:700}
.saltar:focus{top:12px}

.contenedor{width:min(var(--ancho),100% - 32px);margin-inline:auto}
.seccion{padding:72px 0}
@media (min-width:900px){.seccion{padding:104px 0}}
.antetitulo{
  display:inline-flex;align-items:center;gap:.5rem;font-weight:700;font-size:.8rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--cielo);margin-bottom:.8rem
}
.antetitulo::before{content:"";width:22px;height:3px;border-radius:3px;background:var(--ambar)}
.oscuro .antetitulo{color:var(--ambar)}
.entradilla{color:var(--gris);max-width:58ch;margin-top:.8rem;font-size:1.08rem}
.oscuro{background:var(--noche);color:#DCE4F2}
.oscuro h2,.oscuro h3{color:#fff}
.oscuro .entradilla{color:#B9C6DC}
.fondo-niebla{background:var(--niebla)}

/* ---------- Botones ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:48px;
  padding:.8rem 1.35rem;border-radius:999px;border:2px solid transparent;font-weight:700;
  font-size:1rem;line-height:1.15;text-decoration:none;cursor:pointer;background:none;
  transition:transform .15s ease,background-color .15s ease,box-shadow .15s ease,color .15s ease;
  -webkit-tap-highlight-color:transparent
}
.btn:active{transform:scale(.97)}
.btn svg{width:20px;height:20px;flex:none}
.btn-ambar{background:var(--ambar);color:var(--noche);box-shadow:0 6px 18px rgba(242,176,30,.35)}
.btn-ambar:hover{background:var(--ambar-osc);color:var(--noche)}
.btn-noche{background:var(--noche);color:#fff}
.btn-noche:hover{background:var(--noche-2);color:#fff}
.btn-linea{border-color:currentColor;color:var(--noche)}
.btn-linea:hover{background:var(--noche);color:#fff;border-color:var(--noche)}
.oscuro .btn-linea,.btn-linea.clara{color:#fff}
.oscuro .btn-linea:hover,.btn-linea.clara:hover{background:#fff;color:var(--noche);border-color:#fff}
.btn-wa{background:var(--wa-osc);color:#fff}
.btn-wa:hover{background:#0E7039;color:#fff}
.btn-bloque{width:100%}
.btn-peq{min-height:44px;padding:.55rem 1rem;font-size:.95rem}

/* ---------- Cabecera ---------- */
.cabecera{
  position:sticky;top:0;z-index:60;background:rgba(20,33,61,.97);color:#fff;
  backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);
  border-bottom:1px solid rgba(255,255,255,.08)
}
.cabecera .contenedor{display:flex;align-items:center;justify-content:space-between;height:var(--alto-cab);gap:1rem}
.marca{display:flex;align-items:center;gap:.6rem;color:#fff;text-decoration:none;font-family:var(--f-tit);font-weight:800;font-size:1.15rem;letter-spacing:-.02em}
.marca:hover{color:#fff}
.marca svg{width:36px;height:36px}
.marca small{display:block;font-family:var(--f-txt);font-weight:500;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ambar);line-height:1}
.nav-principal ul{list-style:none;padding:0;display:flex;gap:.3rem}
.nav-principal a{
  display:flex;align-items:center;min-height:44px;padding:.4rem .9rem;border-radius:999px;
  color:#DCE4F2;text-decoration:none;font-weight:600;font-size:.97rem
}
.nav-principal a:hover{background:rgba(255,255,255,.08);color:#fff}
.nav-principal a[aria-current="page"]{background:rgba(242,176,30,.16);color:var(--ambar)}
.btn-menu{display:none}
@media (max-width:859px){
  .btn-menu{
    display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:14px;
    background:rgba(255,255,255,.08);border:0;color:#fff;cursor:pointer
  }
  .nav-principal{
    position:absolute;left:0;right:0;top:var(--alto-cab);background:var(--noche);
    border-bottom:1px solid rgba(255,255,255,.1);padding:.5rem 16px 1rem;display:none;
    box-shadow:0 16px 30px rgba(0,0,0,.25)
  }
  .nav-principal.abierto{display:block}
  .nav-principal ul{flex-direction:column}
  .nav-principal a{font-size:1.1rem;padding:.7rem 1rem}
}
.cab-derecha{display:flex;align-items:center;gap:.5rem}
.btn-cesta-cab{display:none}
@media (min-width:900px){.btn-cesta-cab{display:inline-flex}}

/* ---------- Estado abierto / cerrado ---------- */
.estado{
  display:inline-flex;align-items:center;gap:.55rem;padding:.4rem .9rem .4rem .75rem;border-radius:999px;
  font-weight:700;font-size:.9rem;background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.18)
}
.estado::before{content:"";width:10px;height:10px;border-radius:50%;background:#8994A8}
.estado.abierto::before{background:var(--ambar);box-shadow:0 0 0 0 rgba(242,176,30,.6);animation:latido 2.2s infinite}
.estado.claro{background:#fff;color:var(--noche);border-color:var(--linea)}
@keyframes latido{0%{box-shadow:0 0 0 0 rgba(242,176,30,.55)}70%{box-shadow:0 0 0 10px rgba(242,176,30,0)}100%{box-shadow:0 0 0 0 rgba(242,176,30,0)}}

/* ---------- Hero ---------- */
.hero{
  position:relative;overflow:hidden;color:#DCE4F2;
  background:
    radial-gradient(900px 480px at 85% -10%,rgba(242,176,30,.20),transparent 60%),
    radial-gradient(700px 500px at -10% 110%,rgba(62,124,177,.35),transparent 60%),
    var(--noche);
}
.hero .contenedor{display:grid;gap:2.5rem;padding:56px 0 72px;align-items:center}
@media (min-width:900px){.hero .contenedor{grid-template-columns:1.15fr .85fr;padding:96px 0 112px}}
.hero h1{color:#fff;font-size:clamp(3rem,13vw,6.2rem);line-height:.92;letter-spacing:-.045em;margin:1.1rem 0 1.1rem}
.hero h1 span{display:block;color:var(--ambar)}
.hero .lema{font-size:clamp(1.1rem,3.6vw,1.3rem);max-width:36ch;color:#C9D4E6}
.hero-cta{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.8rem}
.hero-datos{display:flex;flex-wrap:wrap;gap:.5rem 1.2rem;margin-top:1.8rem;font-size:.93rem;color:#9FB0CC}
.hero-datos span{display:inline-flex;align-items:center;gap:.4rem}
.hero-arte{position:relative;max-width:420px;margin-inline:auto;width:100%}
.hero-arte svg{width:100%;height:auto}
.hero-arte .espuma{transform-origin:center bottom}
@media (prefers-reduced-motion:no-preference){
  .hero-arte .burbuja{animation:sube 4s ease-in infinite}
  .hero-arte .burbuja:nth-child(2){animation-delay:1.3s}
  .hero-arte .burbuja:nth-child(3){animation-delay:2.6s}
}
@keyframes sube{0%{transform:translateY(0);opacity:0}15%{opacity:.9}100%{transform:translateY(-120px);opacity:0}}
.hero-sello{
  position:absolute;right:-4px;bottom:8%;background:var(--ambar);color:var(--noche);font-family:var(--f-tiza);
  font-size:1.25rem;line-height:1.1;padding:.7rem 1rem;border-radius:16px;transform:rotate(-6deg);
  box-shadow:0 10px 24px rgba(0,0,0,.25);text-align:center
}

/* ---------- Accesos grandes ---------- */
.accesos{display:grid;gap:1rem;margin-top:-40px;position:relative;z-index:2}
@media (min-width:760px){.accesos{grid-template-columns:repeat(3,1fr)}}
.acceso{
  position:relative;display:flex;flex-direction:column;gap:.4rem;padding:1.5rem 1.4rem 1.4rem;min-height:190px;
  border-radius:var(--r-l);background:#fff;box-shadow:var(--sombra-alta);text-decoration:none;color:var(--tinta);
  overflow:hidden;transition:transform .2s ease,box-shadow .2s ease;border:1px solid var(--linea)
}
.acceso:hover{transform:translateY(-4px);color:var(--tinta)}
.acceso .icono{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:var(--niebla);color:var(--noche);margin-bottom:.5rem}
.acceso .icono svg{width:30px;height:30px}
.acceso h3{font-size:1.45rem}
.acceso p{color:var(--gris);font-size:.98rem}
.acceso .flecha{margin-top:auto;padding-top:.8rem;font-weight:700;color:var(--cielo);display:inline-flex;gap:.4rem;align-items:center}
.acceso.pizarra-mini{background:var(--pizarra);color:var(--tiza);border-color:#2A2F38}
.acceso.pizarra-mini h3{color:var(--tiza)}
.acceso.pizarra-mini p{color:#B8BCC4;font-family:var(--f-tiza);font-size:1.15rem;line-height:1.3}
.acceso.pizarra-mini .icono{background:rgba(255,255,255,.08);color:var(--tiza)}
.acceso.pizarra-mini .flecha{color:var(--ambar)}
.acceso.destacado{background:var(--ambar);border-color:var(--ambar)}
.acceso.destacado p{color:var(--noche)}
.acceso.destacado .icono{background:rgba(20,33,61,.1)}
.acceso.destacado .flecha{color:var(--noche)}

/* ---------- Sellos ---------- */
.sello-llevar{
  display:inline-flex;align-items:center;gap:.35rem;background:var(--noche);color:var(--ambar);
  font-weight:800;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;padding:.35rem .7rem;border-radius:999px;
  white-space:nowrap
}
.destacado .sello-llevar{position:absolute;top:1.1rem;right:1.1rem}

/* ---------- Terraza o barra ---------- */
.dos-zonas{display:grid;gap:1rem;margin-top:2rem}
@media (min-width:760px){.dos-zonas{grid-template-columns:1fr 1fr 1fr}}
.zona{background:var(--noche-2);border-radius:var(--r);padding:1.5rem;border:1px solid rgba(255,255,255,.08)}
.zona h3{display:flex;align-items:center;gap:.6rem;margin-bottom:.5rem}
.zona h3 svg{width:28px;height:28px;color:var(--ambar)}
.zona p{color:#C3CEE0}
.zona strong{color:#fff}
.zona.aviso{background:transparent;border:2px dashed rgba(242,176,30,.55)}

/* ---------- Galería ---------- */
.galeria{display:grid;gap:12px;grid-template-columns:repeat(2,1fr);margin-top:2rem}
@media (min-width:760px){.galeria{grid-template-columns:repeat(4,1fr);grid-auto-rows:200px}
  .galeria figure:nth-child(1){grid-column:span 2;grid-row:span 2}
  .galeria figure:nth-child(4){grid-column:span 2}}
.galeria figure{margin:0;position:relative;border-radius:var(--r);overflow:hidden;min-height:150px}
.galeria img{width:100%;height:100%;object-fit:cover}
/* Hueco para foto real: sustituir src y quitar la clase */
.foto-pendiente{
  background:
    repeating-linear-gradient(135deg,transparent 0 14px,rgba(62,124,177,.07) 14px 28px),
    var(--niebla);
  border:2px dashed #AFC2DC;border-radius:var(--r);
}
.galeria figcaption{
  position:absolute;inset:auto 10px 10px 10px;font-size:.85rem;font-weight:600;color:var(--noche);
  background:rgba(255,255,255,.9);border-radius:10px;padding:.4rem .6rem
}

/* ---------- Reseñas ---------- */
.resenas{display:grid;gap:1rem;margin:2rem 0}
@media (min-width:760px){.resenas{grid-template-columns:repeat(3,1fr)}}
.resena{background:#fff;border-radius:var(--r);padding:1.6rem;box-shadow:var(--sombra);position:relative;display:flex;flex-direction:column}
.resena::before{content:"“";font-family:var(--f-tit);font-weight:800;font-size:4.5rem;line-height:.8;color:var(--ambar);display:block;height:2.2rem}
.resena p{margin-bottom:1rem}
.resena footer{margin-top:auto;font-weight:700;color:var(--noche);font-size:.95rem}
.resena footer span{display:block;font-weight:500;color:var(--gris);font-size:.85rem}

/* ---------- Dónde / contacto ---------- */
.donde{display:grid;gap:1.5rem;margin-top:2rem}
@media (min-width:900px){.donde{grid-template-columns:1fr 1.1fr}}
.tarjeta{background:#fff;border-radius:var(--r);padding:1.6rem;box-shadow:var(--sombra)}
.horario{width:100%;border-collapse:collapse;margin:1rem 0 1.4rem}
.horario th,.horario td{padding:.55rem 0;border-bottom:1px solid var(--linea);text-align:left;font-weight:500}
.horario td{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}
.horario tr.hoy th,.horario tr.hoy td{color:var(--cielo)}
.horario tr.hoy th::after{content:attr(data-hoy);font-weight:700;font-size:.8rem}
.horario .cerr{color:var(--gris);font-weight:600}
.contactos{display:grid;gap:.6rem}
.contacto{
  display:flex;align-items:center;gap:.9rem;padding:.75rem .9rem;border-radius:14px;background:var(--hueso);
  text-decoration:none;color:var(--tinta);min-height:56px;border:1px solid var(--linea);transition:background .15s
}
.contacto:hover{background:var(--niebla);color:var(--tinta)}
.contacto svg{width:24px;height:24px;flex:none;color:var(--cielo)}
.contacto b{display:block;font-size:.8rem;color:var(--gris);font-weight:600;text-transform:uppercase;letter-spacing:.06em}
.contacto span{font-weight:700;word-break:break-word}
.mapa{width:100%;min-height:360px;height:100%;border:0;border-radius:var(--r);box-shadow:var(--sombra);background:var(--niebla)}

/* ---------- Pie ---------- */
.pie{background:#0E182D;color:#9FB0CC;padding:56px 0 32px;font-size:.95rem}
.pie .rejilla{display:grid;gap:2rem}
@media (min-width:760px){.pie .rejilla{grid-template-columns:1.4fr 1fr 1fr}}
.pie h4{color:#fff;font-size:1rem;margin-bottom:.8rem}
.pie a{color:#DCE4F2;text-decoration:none}
.pie a:hover{color:var(--ambar);text-decoration:underline}
.pie ul{list-style:none;padding:0;display:grid;gap:.45rem}
.pie .marca{margin-bottom:.8rem}
.pie .legal{border-top:1px solid rgba(255,255,255,.08);margin-top:2.5rem;padding-top:1.4rem;display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;justify-content:space-between;font-size:.85rem}

/* ---------- Barra fija móvil ---------- */
.barra-movil{
  position:fixed;left:0;right:0;bottom:0;z-index:70;display:grid;grid-template-columns:1fr 1fr 1.25fr;gap:8px;
  padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);
  border-top:1px solid var(--linea);box-shadow:0 -6px 20px rgba(20,33,61,.1)
}
.barra-movil .btn{padding:.6rem .4rem;font-size:.95rem;min-height:52px;border-radius:16px}
.barra-movil .btn-linea{color:var(--noche);border-color:var(--linea);background:#fff}
@media (min-width:900px){.barra-movil{display:none}}
.contador{
  display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:999px;
  background:var(--noche);color:var(--ambar);font-size:.8rem;font-weight:800
}
.contador[data-n="0"]{display:none}

/* ---------- Botón flotante del carrito (escritorio) ---------- */
.fab-cesta{
  position:fixed;right:24px;bottom:24px;z-index:65;display:none;align-items:center;gap:.6rem;
  background:var(--ambar);color:var(--noche);border:0;border-radius:999px;padding:.95rem 1.3rem;
  font-weight:800;box-shadow:0 12px 30px rgba(20,33,61,.3);cursor:pointer;min-height:56px;font-size:1rem
}
.fab-cesta:hover{background:var(--ambar-osc)}
.fab-cesta svg{width:22px;height:22px}
@media (min-width:900px){.fab-cesta{display:inline-flex}}
@media (prefers-reduced-motion:no-preference){.rebote{animation:rebote .45s ease}}
@keyframes rebote{0%,100%{transform:scale(1)}40%{transform:scale(1.12)}}

/* =========================================================
   PIZARRA
   ========================================================= */
.pizarra{
  position:relative;color:var(--tiza);border-radius:18px;padding:clamp(1.4rem,4vw,3rem);
  background:
    radial-gradient(1200px 400px at 20% 0%,rgba(255,255,255,.05),transparent 60%),
    radial-gradient(800px 500px at 90% 100%,rgba(255,255,255,.04),transparent 60%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"),
    var(--pizarra);
  box-shadow:0 0 0 1px #2E333C,0 0 0 8px #111317,0 0 0 9px #3A3F49,var(--sombra-alta);
  margin:8px;
}
.pizarra-cabeza{text-align:center;margin-bottom:2rem}
.pizarra-cabeza h2{color:var(--tiza);font-size:clamp(2.2rem,8vw,3.6rem);letter-spacing:.02em;text-transform:uppercase}
.pizarra-cabeza .nota{font-family:var(--f-tiza);font-size:1.35rem;color:var(--ambar);display:inline-block;transform:rotate(-2deg);margin-top:.4rem}
.pizarra-rejilla{display:grid;gap:2.2rem 3rem}
@media (min-width:760px){.pizarra-rejilla{grid-template-columns:1fr 1fr}}
.pz-cat h3{
  color:var(--tiza);font-size:1.5rem;display:inline-block;position:relative;margin-bottom:.9rem;padding-bottom:.35rem
}
.pz-cat h3::after{
  content:"";position:absolute;left:-2%;right:-4%;bottom:0;height:8px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 8' preserveAspectRatio='none'%3E%3Cpath d='M2 5 C40 2 70 7 110 4 S170 2 198 5' stroke='%23F4F4F0' stroke-opacity='.75' stroke-width='2.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center/100% 100%
}
.pz-lista{list-style:none;padding:0}
.pz-lista li{
  display:flex;align-items:baseline;gap:.6rem;padding:.32rem 0;font-family:var(--f-tiza);font-size:1.3rem;line-height:1.25;
  color:rgba(244,244,240,.93)
}
.pz-lista li::before{content:"•";color:var(--ambar);flex:none}
.pz-lista .puntos{flex:1;border-bottom:2px dotted rgba(244,244,240,.2);transform:translateY(-4px);min-width:12px}
.pz-lista .pz-precio{color:var(--ambar);white-space:nowrap}
.pizarra-pie{
  margin-top:2.2rem;display:flex;flex-wrap:wrap;gap:.8rem 2rem;justify-content:space-between;align-items:center;
  font-family:var(--f-tiza);font-size:1.3rem;color:rgba(244,244,240,.85)
}
.pizarra-pie .gira{transform:rotate(-1.5deg);display:inline-block}
.aviso-alergenos{
  display:flex;gap:.7rem;align-items:flex-start;background:var(--niebla);border-radius:14px;padding:.9rem 1rem;
  font-size:.95rem;color:var(--noche);border-left:4px solid var(--cielo)
}
.aviso-alergenos svg{flex:none;width:22px;height:22px;color:var(--cielo);margin-top:2px}
.pizarra .aviso-alergenos{background:rgba(255,255,255,.06);color:var(--tiza);border-left-color:var(--ambar);font-family:var(--f-txt);font-size:.95rem}
.pizarra .aviso-alergenos svg{color:var(--ambar)}

/* =========================================================
   CABECERA DE PÁGINA INTERIOR
   ========================================================= */
.cabeza-pag{background:var(--noche);color:#C9D4E6;padding:48px 0 56px;position:relative;overflow:hidden}
.cabeza-pag::after{content:"";position:absolute;right:-120px;top:-120px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(242,176,30,.22),transparent 65%)}
.cabeza-pag h1{color:#fff;font-size:clamp(2.4rem,9vw,4rem);margin:.6rem 0 .6rem;letter-spacing:-.035em}
.cabeza-pag p{max-width:56ch}
.migas{font-size:.9rem}
.migas a{color:#9FB0CC}

/* =========================================================
   CARTA
   ========================================================= */
.cat-nav{
  position:sticky;top:var(--alto-cab);z-index:40;background:rgba(247,248,250,.96);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--linea)
}
.cat-nav ul{
  list-style:none;display:flex;gap:.45rem;overflow-x:auto;padding:.7rem 16px;margin:0 auto;max-width:var(--ancho);
  scrollbar-width:none;scroll-snap-type:x proximity
}
.cat-nav ul::-webkit-scrollbar{display:none}
.cat-nav a{
  display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap;min-height:44px;padding:.45rem 1rem;border-radius:999px;
  background:#fff;border:1px solid var(--linea);color:var(--noche);font-weight:700;font-size:.95rem;text-decoration:none;scroll-snap-align:start
}
.cat-nav a:hover{border-color:var(--noche)}
.cat-nav a.activo{background:var(--noche);color:#fff;border-color:var(--noche)}
.cat-nav a.llevar{border-color:var(--ambar)}

.carta-cat{padding:48px 0 16px}
.carta-cat-cabeza{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:.6rem 1rem;margin-bottom:1.2rem}
.carta-cat-cabeza h2{font-size:clamp(1.8rem,6vw,2.4rem);display:flex;align-items:center;gap:.6rem}
.carta-cat-cabeza .emoji{font-size:.8em}
.carta-cat-cabeza .nota{color:var(--gris);font-size:.95rem;width:100%}
.aviso-llevar{
  display:flex;gap:.9rem;align-items:center;background:var(--noche);color:#fff;border-radius:var(--r);padding:1rem 1.2rem;margin-bottom:1.2rem
}
.aviso-llevar .ico{font-size:1.8rem}
.aviso-llevar strong{color:var(--ambar)}
.platos{display:grid;gap:12px}
@media (min-width:700px){.platos{grid-template-columns:1fr 1fr}}
@media (min-width:1040px){.platos{grid-template-columns:1fr 1fr 1fr}}
.plato{
  background:#fff;border:1px solid var(--linea);border-radius:var(--r);padding:1.05rem 1.1rem 1.1rem;
  display:flex;flex-direction:column;gap:.7rem;transition:box-shadow .2s,border-color .2s
}
.plato:hover{box-shadow:var(--sombra);border-color:#C4D1E4}
.plato-cabeza{display:flex;justify-content:space-between;gap:.8rem;align-items:flex-start}
.plato h3{font-size:1.12rem;letter-spacing:-.01em;font-weight:700}
.plato .en{font-size:.85rem;color:var(--gris);margin-top:.15rem}
.plato .desc{font-size:.93rem;color:var(--gris)}
.plato .precio{font-family:var(--f-tit);font-weight:800;font-size:1.15rem;color:var(--noche);white-space:nowrap}
.plato .precio small{font-family:var(--f-txt);font-weight:600;font-size:.75rem;color:var(--gris);display:block;text-align:right}
.plato-acciones{display:flex;gap:8px;margin-top:auto}
.plato-acciones .btn{flex:1;padding:.55rem .6rem;font-size:.95rem;border-radius:14px}
.btn-anadir{background:var(--niebla);color:var(--noche);border:2px solid transparent}
.btn-anadir:hover{background:var(--noche);color:#fff}
.btn-anadir b{font-weight:800}
.btn-anadir.hecho{background:var(--ambar);color:var(--noche)}
.plato .sello-llevar{align-self:flex-start}
.vacio-camperos{
  background:#fff;border:2px dashed var(--ambar);border-radius:var(--r);padding:1.5rem;display:grid;gap:.8rem;justify-items:start
}
.bebidas-rejilla{display:grid;gap:1rem}
@media (min-width:760px){.bebidas-rejilla{grid-template-columns:1fr 1fr 1fr}}
.lista-precios{list-style:none;padding:0}
.lista-precios li{display:flex;gap:.6rem;justify-content:space-between;padding:.45rem 0;border-bottom:1px solid var(--linea);font-size:.97rem}
.lista-precios li span:last-child{font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--noche)}
.lista-precios li:last-child{border-bottom:0}
.vino-precios{font-size:.9rem;text-align:right}
.etiqueta-info{display:inline-block;font-size:.78rem;font-weight:700;padding:.2rem .55rem;border-radius:999px;background:var(--niebla);color:var(--noche)}

.bloque-pedido{display:grid;gap:1.4rem}
@media (min-width:900px){.bloque-pedido{grid-template-columns:1.1fr .9fr;align-items:center}}
.pasos{list-style:none;padding:0;display:grid;gap:.8rem;counter-reset:p}
.pasos li{display:flex;gap:.9rem;align-items:flex-start;counter-increment:p}
.pasos li::before{content:counter(p);flex:none;width:34px;height:34px;border-radius:50%;background:var(--ambar);color:var(--noche);font-weight:800;display:grid;place-items:center}

/* =========================================================
   CARRITO (panel lateral / hoja inferior)
   ========================================================= */
.velo{position:fixed;inset:0;background:rgba(10,16,30,.55);z-index:90;opacity:0;pointer-events:none;transition:opacity .25s}
.velo.visible{opacity:1;pointer-events:auto}
.cesta{
  position:fixed;z-index:100;background:var(--hueso);display:flex;flex-direction:column;
  left:0;right:0;bottom:0;max-height:94dvh;height:94dvh;border-radius:24px 24px 0 0;
  transform:translateY(105%);transition:transform .3s cubic-bezier(.2,.8,.2,1);box-shadow:var(--sombra-alta);visibility:hidden
}
@media (min-width:760px){
  .cesta{left:auto;top:0;height:100dvh;max-height:none;width:min(460px,100%);border-radius:24px 0 0 24px;transform:translateX(105%)}
}
.cesta.abierta{transform:none;visibility:visible}
.cesta-cab{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;border-bottom:1px solid var(--linea);background:#fff;border-radius:inherit}
.cesta-cab h2{font-size:1.4rem}
.btn-cerrar{width:44px;height:44px;border-radius:12px;border:0;background:var(--niebla);cursor:pointer;display:grid;place-items:center;color:var(--noche)}
.btn-cerrar svg{width:20px;height:20px}
.cesta-cuerpo{flex:1;overflow-y:auto;padding:1rem 1.2rem 1.4rem;overscroll-behavior:contain}
.cesta-pie{padding:1rem 1.2rem calc(1rem + env(safe-area-inset-bottom));border-top:1px solid var(--linea);background:#fff}
.linea-total{display:flex;justify-content:space-between;align-items:baseline;font-weight:700;margin-bottom:.8rem}
.linea-total b{font-family:var(--f-tit);font-size:1.6rem;color:var(--noche)}
.cesta-lista{list-style:none;padding:0;display:grid;gap:10px}
.item{background:#fff;border:1px solid var(--linea);border-radius:16px;padding:.8rem .9rem}
.item-fila{display:flex;justify-content:space-between;gap:.8rem;align-items:flex-start}
.item-nombre{font-weight:700;line-height:1.3}
.item-nombre small{display:block;font-weight:500;color:var(--gris);font-size:.85rem}
.item-importe{font-weight:800;white-space:nowrap}
.item-controles{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-top:.6rem}
.cantidad{display:inline-flex;align-items:center;border:1px solid var(--linea);border-radius:999px;overflow:hidden}
.cantidad button{width:44px;height:44px;border:0;background:#fff;font-size:1.3rem;font-weight:700;cursor:pointer;color:var(--noche)}
.cantidad button:hover{background:var(--niebla)}
.cantidad output{min-width:32px;text-align:center;font-weight:800}
.btn-nota{background:none;border:0;color:var(--cielo);font-weight:700;cursor:pointer;min-height:44px;padding:0 .3rem;font-size:.93rem}
.item input.nota{width:100%;margin-top:.5rem}
.recordatorio{background:var(--noche);color:#fff;border-radius:14px;padding:.8rem 1rem;font-size:.93rem;margin:1rem 0}
.recordatorio strong{color:var(--ambar)}
.aviso-cerrado{background:#FFF4D6;color:#5A4200;border-radius:14px;padding:.8rem 1rem;font-size:.95rem;margin-bottom:1rem;border:1px solid #F2D27A}
.cesta-vacia{text-align:center;padding:2.5rem 1rem;display:grid;gap:1rem;justify-items:center;color:var(--gris)}
.cesta-vacia svg{width:64px;height:64px;color:#AFC2DC}

/* Formulario */
.form-pedido{display:grid;gap:1rem;margin-top:1.4rem}
.form-pedido h3{font-size:1.15rem;margin-top:.4rem}
.campo{display:grid;gap:.35rem}
.campo label,.campo legend{font-weight:700;font-size:.93rem;color:var(--noche)}
.campo .ayuda{font-size:.85rem;color:var(--gris)}
input[type=text],input[type=tel],input[type=time],input[type=search],textarea,select{
  width:100%;min-height:48px;padding:.7rem .9rem;border-radius:12px;border:1.5px solid #C4D1E4;background:#fff;font-size:1rem
}
textarea{min-height:80px;resize:vertical}
input:focus,textarea:focus,select:focus{border-color:var(--cielo);outline:none;box-shadow:0 0 0 3px rgba(62,124,177,.2)}
.campo[aria-invalid="true"] input,.campo[aria-invalid="true"] textarea,input[aria-invalid="true"]{border-color:#B3261E}
.error{color:#B3261E;font-size:.87rem;font-weight:600}
fieldset.campo{border:0;padding:0}
.opciones{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.opciones.tres{grid-template-columns:repeat(3,1fr)}
.opcion{position:relative}
.opcion input{position:absolute;opacity:0;inset:0;cursor:pointer}
.opcion span{
  display:flex;align-items:center;justify-content:center;text-align:center;min-height:48px;padding:.5rem;border-radius:12px;
  border:1.5px solid #C4D1E4;background:#fff;font-weight:700;font-size:.95rem;line-height:1.2;cursor:pointer
}
.opcion input:checked+span{background:var(--noche);color:#fff;border-color:var(--noche)}
.opcion input:focus-visible+span{outline:3px solid var(--cielo);outline-offset:2px}
.confirmacion{text-align:center;display:grid;gap:1rem;justify-items:center;padding:2rem .5rem}
.confirmacion .check{width:72px;height:72px;border-radius:50%;background:var(--ambar);display:grid;place-items:center;color:var(--noche)}
.confirmacion .check svg{width:36px;height:36px}
.confirmacion .botones{display:grid;gap:.6rem;width:100%}

/* =========================================================
   TAPAS · ¿No sabes qué pedir?
   ========================================================= */
.buscador-tapas{display:grid;gap:1rem;margin-top:1.6rem}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{
  display:inline-flex;align-items:center;gap:.4rem;min-height:44px;padding:.45rem 1rem;border-radius:999px;cursor:pointer;
  border:1.5px solid #C4D1E4;background:#fff;color:var(--noche);font-weight:700;font-size:.95rem
}
.chip[aria-pressed="true"]{background:var(--noche);color:#fff;border-color:var(--noche)}
.chip[aria-pressed="true"]::before{content:"✓";color:var(--ambar)}
.fila-busqueda{display:flex;gap:8px;flex-wrap:wrap}
.fila-busqueda input{flex:1 1 220px}
.tapas-layout{display:grid;gap:1.5rem;margin-top:1.5rem;align-items:start}
@media (min-width:960px){.tapas-layout{grid-template-columns:1fr 340px}}
.sorpresa{display:grid;gap:10px;margin-top:1rem}
@media (min-width:640px){.sorpresa{grid-template-columns:repeat(3,1fr)}}
.sorpresa-carta{
  background:var(--pizarra);color:var(--tiza);border-radius:18px;padding:1rem 1.1rem;display:grid;gap:.5rem;align-content:space-between;min-height:130px
}
.sorpresa-carta .cat{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ambar);font-weight:700}
.sorpresa-carta .nom{font-family:var(--f-tiza);font-size:1.45rem;line-height:1.15}
@media (prefers-reduced-motion:no-preference){.sorpresa-carta{animation:entra .35s ease both}.sorpresa-carta:nth-child(2){animation-delay:.07s}.sorpresa-carta:nth-child(3){animation-delay:.14s}}
@keyframes entra{from{opacity:0;transform:translateY(8px) rotate(-1deg)}to{opacity:1;transform:none}}
.tabla-tapas{background:#fff;border-radius:var(--r);border:1px solid var(--linea);overflow:hidden}
.tabla-tapas table{width:100%;border-collapse:collapse}
.tabla-tapas th,.tabla-tapas td{padding:.55rem .9rem;text-align:left;border-bottom:1px solid var(--linea);vertical-align:middle}
.tabla-tapas thead th{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--gris);background:var(--hueso)}
.tabla-tapas tbody tr:last-child td{border-bottom:0}
.tabla-tapas .col-precio{text-align:right;white-space:nowrap;font-weight:700}
.tabla-tapas .col-cat{color:var(--gris);font-size:.88rem}
@media (max-width:560px){.tabla-tapas .col-cat{display:none}}
.marcar{display:flex;align-items:center;gap:.7rem;cursor:pointer;min-height:44px;font-weight:600}
.marcar input{width:22px;height:22px;accent-color:var(--noche);flex:none}
.tabla-tapas tr.marcada{background:#FFF8E6}
.etiq{display:inline-block;font-size:.72rem;font-weight:700;color:var(--gris);background:var(--hueso);border-radius:6px;padding:.05rem .4rem;margin:.15rem .2rem 0 0}
.sin-resultados{padding:1.5rem;text-align:center;color:var(--gris)}
.mi-ronda{position:sticky;top:calc(var(--alto-cab) + 16px);background:var(--noche);color:#DCE4F2;border-radius:var(--r);padding:1.3rem}
.mi-ronda h3{color:#fff;display:flex;justify-content:space-between;align-items:center}
.mi-ronda ul{list-style:none;padding:0;margin:.8rem 0;display:grid;gap:.35rem;font-family:var(--f-tiza);font-size:1.2rem;color:var(--tiza)}
.mi-ronda li{display:flex;justify-content:space-between;gap:.5rem;align-items:center}
.mi-ronda li button{background:none;border:0;color:#9FB0CC;cursor:pointer;width:36px;height:36px;border-radius:8px;font-size:1.1rem}
.mi-ronda li button:hover{background:rgba(255,255,255,.1);color:#fff}
.mi-ronda .total-ronda{border-top:1px dashed rgba(255,255,255,.2);padding-top:.7rem;font-size:.93rem}
.mi-ronda .total-ronda b{color:var(--ambar);font-size:1.15rem}
.mi-ronda .acciones{display:grid;gap:8px;margin-top:1rem}
.mi-ronda .vacia{font-family:var(--f-tiza);font-size:1.15rem;color:#9FB0CC;margin:.6rem 0}

/* =========================================================
   LEGALES
   ========================================================= */
.texto-legal{max-width:760px}
.texto-legal h2{font-size:1.5rem;margin:2.2rem 0 .6rem}
.texto-legal p,.texto-legal li{margin-bottom:.7rem;color:#2A3244}
.texto-legal ul{padding-left:1.2rem}
.texto-legal dd{min-width:0;overflow-wrap:anywhere;margin:0}
.texto-legal dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.4rem 1.2rem;background:#fff;padding:1.2rem;border-radius:var(--r-s);border:1px solid var(--linea)}
.texto-legal dt{font-weight:700;color:var(--noche)}

/* ---------- Apariciones suaves ---------- */
@media (prefers-reduced-motion:no-preference){
  .js .aparece{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
  .js .aparece.visto{opacity:1;transform:none}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* =========================================================
   V2 · NAVEGACIÓN: pedir + idioma
   ========================================================= */
.cab-derecha{gap:.4rem}
.btn-pedir-nav{min-height:44px;padding:.5rem 1rem;font-size:.93rem;box-shadow:none}
.selector-idioma{display:inline-flex;border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:3px;gap:2px}
.selector-idioma button{
  min-width:42px;min-height:40px;border:0;border-radius:999px;background:none;color:#C9D4E6;font-weight:800;font-size:.82rem;
  letter-spacing:.06em;cursor:pointer
}
.selector-idioma button[aria-pressed="true"]{background:#fff;color:var(--noche)}
.selector-idioma button:hover{color:#fff}
.selector-idioma button[aria-pressed="true"]:hover{color:var(--noche)}
@media (max-width:899px){.btn-pedir-nav{display:none}}
@media (max-width:420px){.marca{font-size:1rem;gap:.45rem}.marca svg{width:32px;height:32px}.marca small{font-size:.6rem}}

/* =========================================================
   V2 · HERO DE BAR
   ========================================================= */
.hero-bar{position:relative;min-height:min(92svh,820px);display:flex;align-items:flex-end;color:#fff;overflow:hidden;background:var(--noche)}
.hero-fondo{position:absolute;inset:0;z-index:0;margin:0}
.hero-fondo img{width:100%;height:100%;object-fit:cover}
.hero-fondo.foto-pendiente{
  border:0;border-radius:0;
  background:
    radial-gradient(900px 500px at 80% 10%,rgba(242,176,30,.16),transparent 60%),
    radial-gradient(800px 600px at 0% 100%,rgba(62,124,177,.30),transparent 60%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .06 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"),
    linear-gradient(160deg,#1D2F55 0%,#14213D 55%,#0E182D 100%);
}
.hero-fondo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,24,45,.1) 0%,rgba(14,24,45,.35) 45%,rgba(14,24,45,.92) 100%)}
.hero-garabatos{position:absolute;inset:0;z-index:1;pointer-events:none;color:var(--tiza);opacity:.13}
.hero-garabatos svg{position:absolute}
.hero-bar .contenedor{position:relative;z-index:2;padding:150px 0 64px}
@media (min-width:900px){.hero-bar .contenedor{padding:170px 0 96px}}
.hero-etiqueta{display:inline-block;font-weight:700;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ambar);margin-bottom:1rem}
.hero-bar h1{color:#fff;font-size:clamp(2.9rem,12vw,6.6rem);line-height:.92;letter-spacing:-.045em;max-width:12ch}
.hero-bar .lema{font-size:clamp(1.08rem,3.4vw,1.3rem);max-width:46ch;color:#DCE4F2;margin-top:1.2rem}
.hero-bar .hero-cta{margin-top:1.8rem;align-items:center}
.hero-bar .estado{margin-bottom:1.1rem}
.btn-texto{color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:4px;min-height:48px;display:inline-flex;align-items:center;gap:.4rem;padding:0 .4rem}
.btn-texto:hover{color:var(--ambar)}
.btn-texto svg{width:18px;height:18px}
.sello-giro{position:absolute;z-index:3;right:clamp(16px,6vw,90px);top:26px;width:clamp(104px,22vw,150px);aspect-ratio:1}
.sello-giro svg{width:100%;height:100%}
.sello-giro .anillo{transform-origin:50% 50%;transform-box:fill-box}
@media (prefers-reduced-motion:no-preference){.sello-giro .anillo{animation:gira 22s linear infinite}}
@keyframes gira{to{transform:rotate(360deg)}}
.sello-giro text{font-family:var(--f-tit);font-weight:800;font-size:11px;letter-spacing:.12em;fill:var(--noche)}
.nota-mano{
  position:absolute;z-index:3;right:clamp(16px,8vw,130px);top:calc(26px + clamp(104px,22vw,150px) + 8px);
  font-family:var(--f-tiza);font-size:1.35rem;color:var(--tiza);transform:rotate(-5deg);white-space:nowrap
}
@media (max-width:560px){.nota-mano{display:none}}

/* =========================================================
   V2 · TIRA DE FOTOS QUE DESFILA
   ========================================================= */
.tira{overflow:hidden;background:var(--noche);padding:8px 0 28px}
.tira-pista{display:flex;gap:12px;width:max-content;padding-left:12px}
@media (prefers-reduced-motion:no-preference){
  .tira-pista{animation:desfila 50s linear infinite}
  .tira:hover .tira-pista,.tira:focus-within .tira-pista{animation-play-state:paused}
}
@media (prefers-reduced-motion:reduce){.tira{overflow-x:auto}}
@keyframes desfila{to{transform:translateX(-50%)}}
.tira figure{margin:0;position:relative;width:clamp(220px,62vw,340px);aspect-ratio:4/3;border-radius:18px;overflow:hidden;flex:none}
.tira img{width:100%;height:100%;object-fit:cover;display:block}
.tira figcaption{position:absolute;left:10px;bottom:10px;right:10px;font-size:.82rem;font-weight:700;color:var(--noche);background:rgba(255,255,255,.92);border-radius:10px;padding:.35rem .6rem}

/* =========================================================
   V2 · PIZARRA (vista previa) y SORPRÉNDEME en inicio
   ========================================================= */
.pz-dos{columns:1;column-gap:3rem}
@media (min-width:700px){.pz-dos{columns:2}}
.pz-dos li{break-inside:avoid}
.pizarra-cta{display:flex;flex-wrap:wrap;gap:.8rem 1.2rem;align-items:center;justify-content:space-between;margin-top:1.8rem}
.sorpresa-home{display:grid;gap:1.4rem;align-items:center}
@media (min-width:900px){.sorpresa-home{grid-template-columns:.8fr 1.2fr}}
.sorpresa-home .sorpresa{margin-top:0}
.sorpresa-vacia{border:2px dashed #B6C3D6;border-radius:18px;min-height:130px;display:grid;place-items:center;font-family:var(--f-tiza);font-size:1.3rem;color:var(--gris);padding:1rem;text-align:center}

/* =========================================================
   V2 · DOS FORMAS
   ========================================================= */
.dos-formas{display:grid;gap:1rem;margin-top:2rem}
@media (min-width:760px){.dos-formas{grid-template-columns:1fr 1fr}}
.forma{position:relative;border-radius:var(--r-l);padding:1.8rem 1.6rem;display:flex;flex-direction:column;gap:.7rem;min-height:260px;overflow:hidden}
.forma h3{font-size:clamp(1.6rem,5vw,2.2rem);display:flex;gap:.6rem;align-items:center}
.forma p{max-width:40ch;position:relative}
.forma .btn{margin-top:auto;align-self:flex-start;position:relative}
.forma.bar{background:var(--pizarra);color:#D6D9DE}
.forma.bar h3{color:var(--tiza)}
.forma.casa{background:#fff;border:2px solid var(--noche);color:var(--tinta)}
.forma .fondo-ico{position:absolute;right:-18px;bottom:-18px;width:160px;height:160px;opacity:.08}
.forma.bar .fondo-ico{color:#fff}
.forma.casa .fondo-ico{color:var(--noche)}

/* =========================================================
   V2 · LA PLAZA / OPINIÓN
   ========================================================= */
.plaza{display:grid;gap:1.6rem;align-items:center}
@media (min-width:900px){.plaza{grid-template-columns:1fr 1fr;gap:3rem}}
.plaza figure{margin:0}
.plaza img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r-l)}
.plaza p+p{margin-top:.8rem}
.firma{font-family:var(--f-tiza);font-size:1.5rem;color:var(--cielo);margin-top:1rem;transform:rotate(-2deg);display:inline-block}
.opinion{display:grid;gap:1.2rem;align-items:center;background:var(--ambar);color:var(--noche);border-radius:var(--r-l);padding:clamp(1.6rem,5vw,3rem)}
@media (min-width:900px){.opinion{grid-template-columns:1.4fr .6fr}}
.opinion h2{color:var(--noche)}
.opinion .antetitulo{color:var(--noche)}
.opinion .antetitulo::before{background:var(--noche)}
.opinion p{max-width:52ch}
.opinion .estrellas-dib{font-size:2.2rem;letter-spacing:.2em;text-align:center}

/* =========================================================
   V2 · PATROCINADORES (encima del pie)
   ========================================================= */
.patrocinio{background:#fff;border-top:1px solid var(--linea);padding:28px 0 34px;text-align:center}
.patrocinio h2{font-family:var(--f-txt);font-weight:700;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gris);margin-bottom:1.1rem}
.logos{display:flex;flex-wrap:wrap;gap:24px 56px;justify-content:center;align-items:center}
.logos img{height:48px;width:auto}
.logos .logo-cruzcampo{height:36px}
@media (min-width:900px){.logos img{height:60px}.logos .logo-cruzcampo{height:44px}}
.logo-pendiente{display:inline-grid;place-items:center;width:150px;height:48px;border:2px dashed var(--linea);border-radius:10px;color:var(--gris);font-size:.8rem}

/* =========================================================
   V2 · CARTA IMPRESA (carta.html)
   ========================================================= */
.mesa{background:var(--niebla);padding:32px 0 72px}
.hoja{
  background:var(--hueso);border-radius:6px;max-width:1000px;margin:0 auto;padding:clamp(1.5rem,5vw,3.5rem) clamp(1.1rem,5vw,3.5rem);
  box-shadow:0 1px 1px rgba(20,33,61,.06),0 10px 30px rgba(20,33,61,.12),0 30px 60px -30px rgba(20,33,61,.3);position:relative
}
.hoja::before{content:"";position:absolute;inset:8px;border:1px solid var(--linea);border-radius:3px;pointer-events:none}
.hoja-portada{text-align:center;padding-bottom:1.4rem;margin-bottom:1.8rem;border-bottom:2px solid var(--noche)}
.hoja-portada svg{width:64px;height:64px;margin:0 auto .6rem}
.hoja-portada h2{font-size:clamp(1.7rem,7vw,2.6rem);letter-spacing:.03em;text-transform:uppercase}
.hoja-portada p{font-family:var(--f-tiza);font-size:1.3rem;color:var(--cielo)}
#carta-contenido{display:grid;gap:2.6rem}
@media (min-width:900px){#carta-contenido{grid-template-columns:1fr 1fr;gap:2.8rem 3.4rem}#carta-contenido #bebidas{grid-column:1/-1}}
.hoja-cat{scroll-margin-top:calc(var(--alto-cab) + 76px);position:relative}
.hoja-cab{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.6rem}
.rotulo{
  display:inline-flex;flex-direction:column;background:var(--noche);color:#fff;padding:.55rem 1rem .6rem;border-radius:4px;
  font-size:1.35rem;line-height:1.05;letter-spacing:.01em;box-shadow:4px 4px 0 var(--ambar)
}
.rotulo small{font-family:var(--f-txt);font-weight:500;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:#B9C6DC;margin-top:.25rem}
.hoja-ico{width:46px;height:46px;color:var(--noche);flex:none;opacity:.8}
.hoja-leyenda{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gris);text-align:right;font-weight:700}
.hoja-nota{font-size:.92rem;color:var(--gris);margin:.2rem 0 .6rem}
.hoja-vacia{font-family:var(--f-tiza);font-size:1.25rem;color:var(--noche);margin:.4rem 0 .8rem}
.lista-hoja{list-style:none;padding:0}
.linea-plato{display:flex;align-items:baseline;gap:.5rem;padding:.42rem 0}
.lp-nombre{display:flex;flex-direction:column;min-width:0}
.lp-es{font-weight:700;color:var(--noche);line-height:1.25}
.lp-desc{font-size:.88rem;color:var(--gris)}
.lp-otro{font-size:.8rem;color:var(--gris);font-style:italic}
.lp-puntos{flex:1;border-bottom:2px dotted #B6C3D6;min-width:16px;transform:translateY(-5px)}
.lp-precio{font-family:var(--f-tit);font-weight:800;color:var(--noche);white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}
.lp-precio small{font-family:var(--f-txt);font-weight:600;font-size:.72rem;color:var(--gris)}
.lp-precio.vino{font-family:var(--f-txt);font-weight:700;font-size:.85rem;line-height:1.3}
.compacta .linea-plato{padding:.28rem 0;font-size:.95rem}
.compacta .lp-es{font-weight:600}
.hoja-columnas{display:grid;gap:1.4rem}
@media (min-width:760px){.hoja-columnas{grid-template-columns:repeat(3,1fr)}}
.hoja-sub{font-size:1.05rem;border-bottom:2px solid var(--noche);padding-bottom:.3rem;margin-bottom:.4rem}
.en-casa{margin-top:.7rem;font-size:.92rem;color:var(--gris)}
.en-casa a{font-weight:700}
.hoja-cat .btn{margin-top:.8rem}
.hoja-llevar{background:#fff;border:2px dashed var(--ambar-osc);border-radius:12px;padding:1.1rem}
.sello-grande{
  display:inline-block;border:3px solid var(--noche);color:var(--noche);font-family:var(--f-tit);font-weight:800;text-transform:uppercase;
  letter-spacing:.06em;padding:.3rem .8rem;border-radius:8px;transform:rotate(-3deg);margin:.2rem 0 .4rem
}
.aviso-casa{
  display:flex;flex-wrap:wrap;gap:.4rem .8rem;align-items:center;justify-content:center;text-align:center;
  background:#fff;color:var(--noche);border:1px solid var(--linea);border-radius:999px;padding:.6rem 1.2rem;font-size:.95rem;margin:0 auto 1.4rem;max-width:620px
}
.aviso-casa a{font-weight:800}
.acceso-pizarra{
  display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;background:var(--pizarra);color:#D6D9DE;
  border-radius:var(--r);padding:1.3rem 1.5rem;margin:2rem auto 0;max-width:1000px
}
.acceso-pizarra h2{color:var(--tiza);font-size:1.5rem}
.acceso-pizarra p{font-family:var(--f-tiza);font-size:1.2rem}
.hoja .aviso-alergenos{margin-top:2rem}

/* =========================================================
   V2 · PEDIR
   ========================================================= */
.cat-ico{width:34px;height:34px;color:var(--cielo);flex:none}
.destacada-llevar{background:linear-gradient(180deg,#FFF6DC,rgba(255,246,220,0) 85%)}
.cabeza-pag .estado{margin-top:1rem}
.bloque-venir{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;background:#fff;border:1px solid var(--linea);border-radius:var(--r);padding:1.4rem 1.5rem}
.bloque-venir h2{font-size:1.5rem}

/* Sello de plato ("Top ventas", "Nueva") */
.etq{display:inline-block;vertical-align:middle;margin-left:.3rem;background:var(--ambar);color:var(--noche);font-family:var(--f-txt);font-weight:800;font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;padding:.12rem .45rem;border-radius:999px}
/* Promo tapa + bebida */
.pz-precio.promo{color:var(--tiza);opacity:.9}
.promo-tapa{display:inline-flex;align-items:center;gap:.5rem;background:var(--ambar);color:var(--noche);font-family:var(--f-tiza);font-size:1.35rem;line-height:1.15;padding:.45rem 1rem;border-radius:12px;transform:rotate(-1.5deg);margin-top:.8rem;box-shadow:0 6px 16px rgba(0,0,0,.25)}
.promo-tapa b{font-family:var(--f-tit);font-size:1.2rem}
.promo-mini{display:block;font-size:.72rem;font-weight:600;color:var(--gris)}
