/* A donde Kontxi · v3
   Concepto: la carta de Kontxi hecha web. Editorial y tranquila: papel crema, tinta verde
   casi negra, verde salvia de acuarela solo para decorar, líneas finas y aire. La letra
   manuscrita es "la nota de Kontxi": como mucho una por bloque. El cuenco humeante del
   logo es la "O" de KONTXI y siempre echa vapor; al tocarlo se mueve y humea más. */

/* ---------- Letras (guardadas en la propia web, carpeta fuentes/): solo latin y latin-ext ---------- */
/* latin-ext */
@font-face {
  font-family: 'Allura';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fuentes/allura-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Allura';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fuentes/allura-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Nunito';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(../fuentes/nunito-italic-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Nunito';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(../fuentes/nunito-italic-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(../fuentes/nunito-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(../fuentes/nunito-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Quicksand';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(../fuentes/quicksand-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Quicksand';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(../fuentes/quicksand-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root{color-scheme:light;
  --fondo:#f7f5ef;
  --fondo-2:#eef1e7;
  --superficie:#fdfcf9;
  --tinta:#263027;
  --tinta-2:#576354;
  --verde:#476241;
  --salvia:#a6b89b;
  --salvia-titulo:#76916c;
  --salvia-claro:#e2e9d9;
  --linea:#dfe4d7;
  --linea-fuerte:#c5cebb;
  --yema:#c88f22;
  --aviso:#86561a;
  --error:#a3442c;
  --ok:#3f8a4f;
  --boton:#263027;
  --boton-texto:#f7f5ef;
  --boton-hover:#476241;
  --acuarela-opacidad:.9;
  --sombra:rgba(38,48,39,.08);
  --sombra-fuerte:rgba(38,48,39,.16);
  /* Bloque oscuro final */
  --oscuro:#1e2720;
  --oscuro-2:#263028;
  --oscuro-texto:#eef1e8;
  --oscuro-suave:#b3bfab;
  --oscuro-linea:rgba(238,241,232,.14);

  --f-titulo:"Quicksand","Nunito","Trebuchet MS",sans-serif;
  --f-texto:"Nunito","Quicksand","Segoe UI",system-ui,sans-serif;
  --f-mano:"Allura","Segoe Script","Brush Script MT",cursive;

  --ancho:1240px;
  --gutter-l:max(20px, env(safe-area-inset-left, 0px));
  --gutter-r:max(20px, env(safe-area-inset-right, 0px));
  --curva:cubic-bezier(.22,.8,.24,1);
  --radio:18px;
  --cabecera:76px;
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--cabecera) + 12px);-webkit-text-size-adjust:100%;scrollbar-color:var(--linea-fuerte) transparent}
body{margin:0;background:var(--fondo);color:var(--tinta);font-family:var(--f-texto);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto;display:block}
main{overflow-x:clip}
a{color:inherit}
button{font:inherit;color:inherit}
p{margin:0}
ul,ol,dl,dd{margin:0;padding:0}
h1,h2,h3{margin:0;font-family:var(--f-titulo);font-weight:600;line-height:1.1;text-wrap:balance}
:focus-visible{outline:2.5px solid var(--verde);outline-offset:3px;border-radius:8px}
::selection{background:var(--salvia-claro);color:var(--tinta)}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.solo-lector{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.saltar{position:fixed;left:16px;top:-60px;z-index:100;background:var(--boton);color:var(--boton-texto);padding:10px 16px;border-radius:12px;text-decoration:none;font-weight:700;transition:top .2s}
.saltar:focus{top:calc(12px + env(safe-area-inset-top,0px))}
.envoltura{max-width:var(--ancho);margin:0 auto;padding-left:var(--gutter-l);padding-right:var(--gutter-r)}
.mano{font-family:var(--f-mano);font-weight:400;letter-spacing:0;text-transform:none;line-height:1}
.ico{width:1.15em;height:1.15em;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.estrellas{display:inline-flex;gap:2px;color:var(--yema)}
.estrellas .ico,.ico.estrella{fill:currentColor;stroke:none}
.ico.estrella{color:var(--yema);width:.9em;height:.9em}
.antetitulo{display:flex;align-items:center;gap:10px;font-family:var(--f-titulo);font-weight:700;font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--verde);margin-bottom:16px}
/* Antes era "✳", pero en iPhone salía como emoji verde: ahora una hojita dibujada */
.antetitulo::before{content:"";flex:none;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M3%2021C8%2016%2012%2013%2020%204%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22/%3E%3Cpath%20d%3D%22M20%204c-7%200-11%203-11%209%205%200%2010-3%2011-9z%22/%3E%3Cpath%20d%3D%22M9.5%2015.5c-4%200-6-2-6.5-5%203%200%205.5%201.5%206.5%205z%22/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M3%2021C8%2016%2012%2013%2020%204%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22/%3E%3Cpath%20d%3D%22M20%204c-7%200-11%203-11%209%205%200%2010-3%2011-9z%22/%3E%3Cpath%20d%3D%22M9.5%2015.5c-4%200-6-2-6.5-5%203%200%205.5%201.5%206.5%205z%22/%3E%3C/svg%3E") center/contain no-repeat}
@media (max-width:760px){.solo-escritorio{display:none!important}}

/* ---------- Botones y enlaces ---------- */
.boton{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;font-family:var(--f-titulo);font-weight:700;font-size:15.5px;letter-spacing:.02em;line-height:1.2;text-decoration:none;border-radius:999px;padding:12px 22px;border:1.5px solid transparent;cursor:pointer;white-space:nowrap;transition:background-color .3s var(--curva),border-color .3s,color .3s,transform .3s var(--curva),box-shadow .3s}
.boton:active{transform:scale(.98)}
.boton.primario{background:var(--boton);box-shadow:0 10px 24px -14px var(--sombra-fuerte)}
.boton.primario:hover{box-shadow:0 14px 28px -14px var(--sombra-fuerte)}
.boton.secundario{background:transparent;border-color:var(--linea-fuerte);color:var(--tinta)}
.boton.secundario:hover{border-color:var(--tinta);background:var(--superficie)}
.boton.claro{background:var(--oscuro-texto);color:#1e2720}
.boton.claro:hover{box-shadow:0 12px 26px -14px rgba(0,0,0,.6)}
.boton.contorno{background:transparent;border-color:rgba(238,241,232,.32);color:var(--oscuro-texto)}
.boton.contorno:hover{border-color:var(--oscuro-texto)}
.boton.grande{min-height:54px;font-size:16.5px;padding:14px 28px}
.boton.ancho{width:100%}
.enlace-flecha{display:inline-flex;align-items:center;gap:8px;padding:6px 0;background:none;border:0;cursor:pointer;font-family:var(--f-titulo);font-weight:700;font-size:15.5px;color:var(--verde);text-decoration:none;background-image:linear-gradient(currentColor,currentColor);background-size:0 1.5px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .4s var(--curva)}
.enlace-flecha:hover{background-size:100% 1.5px}
.enlace-flecha .ico{transition:transform .35s var(--curva)}
.enlace-flecha:hover .ico{transform:translate(2px,-2px)}
.enlace-suave{color:var(--tinta-2);font-size:15px;text-underline-offset:4px;text-decoration-color:var(--linea-fuerte)}
.enlace-suave:hover{color:var(--tinta);text-decoration-color:currentColor}
.enlace-boton{background:none;border:0;padding:0;font:inherit;color:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--linea-fuerte);cursor:pointer}
.enlace-boton:hover{text-decoration-color:currentColor}
.boton-copiar{display:inline-flex;align-items:center;gap:8px;min-height:44px;background:none;border:0;padding:8px 2px;font-family:var(--f-titulo);font-weight:700;font-size:14.5px;color:var(--verde);cursor:pointer;border-radius:8px}
.boton-copiar:hover span{text-decoration:underline;text-underline-offset:4px}
.tel-grande{display:inline-block;font-family:var(--f-titulo);font-weight:700;font-size:clamp(30px,3.4vw,40px);letter-spacing:.02em;line-height:1.1;text-decoration:none;font-variant-numeric:tabular-nums;white-space:nowrap}
.tel-grande:hover{color:var(--verde)}
.acciones{display:flex;flex-wrap:wrap;gap:12px;align-items:center}

/* ---------- Cabecera ---------- */
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:41;background:var(--fondo)}
.cabecera{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;transition:background-color .35s,box-shadow .35s}
.cabecera-fila{display:flex;align-items:center;gap:28px;height:var(--cabecera)}
.cabecera.compacta{background:color-mix(in srgb,var(--fondo) 90%,transparent);backdrop-filter:saturate(1.3) blur(12px);-webkit-backdrop-filter:saturate(1.3) blur(12px);box-shadow:0 1px 0 var(--linea)}
.marca{display:block;flex:none;border-radius:50%}
.marca img{width:52px;height:52px;transition:transform .6s var(--curva)}
.marca:hover img{transform:rotate(-10deg)}
.nav{display:flex;gap:2px;margin-left:8px}
.nav a{position:relative;padding:10px 14px;font-family:var(--f-titulo);font-weight:600;font-size:15px;text-decoration:none;color:var(--tinta-2);border-radius:999px;transition:color .25s,background-color .25s}
.nav a:hover{color:var(--tinta);background:var(--salvia-claro)}
.nav a.activo{color:var(--tinta)}
.nav a.activo::after{content:"";position:absolute;left:50%;bottom:3px;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--verde)}
.cabecera-acciones{display:flex;align-items:center;gap:18px;margin-left:auto}
.idiomas{display:flex;gap:2px}
.idiomas button{border:0;background:none;min-width:36px;min-height:36px;padding:4px 6px;border-radius:999px;font-family:var(--f-titulo);font-weight:700;font-size:12.5px;letter-spacing:.08em;color:var(--tinta-2);cursor:pointer;transition:background-color .25s,color .25s}
.idiomas button:hover{color:var(--tinta)}
.idiomas button[aria-pressed="true"]{background:var(--salvia-claro);color:var(--tinta)}
.cabecera-tel{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-titulo);font-weight:700;font-size:15px;text-decoration:none;font-variant-numeric:tabular-nums;white-space:nowrap}
.cabecera-tel .ico{color:var(--verde)}
.cabecera-tel:hover{color:var(--verde)}
.boton-cabecera{min-height:44px;padding:10px 20px;font-size:15px}
.boton-menu{display:none;border:0;background:none;width:48px;height:48px;border-radius:50%;align-items:center;justify-content:center;cursor:pointer;margin-right:-10px}
.boton-menu .ico{width:26px;height:26px}
@media (max-width:1140px){.cabecera-tel{display:none}}
@media (max-width:900px){
  :root{--cabecera:64px}
  .nav,.cabecera .idiomas{display:none}
  .boton-menu{display:inline-flex}
  .marca img{width:44px;height:44px}
  .cabecera-acciones{gap:8px}
}
@media (max-width:420px){.boton-cabecera{display:none}}

.menu-movil{position:fixed;inset:0;z-index:70;background:var(--fondo);display:flex;flex-direction:column;padding:calc(10px + env(safe-area-inset-top,0px)) var(--gutter-r) calc(24px + env(safe-area-inset-bottom,0px)) var(--gutter-l);animation:aparecer .3s var(--curva);overflow-y:auto}
.menu-movil-cabeza{display:flex;align-items:center;justify-content:space-between;min-height:54px}
.menu-movil-cabeza img{width:44px;height:44px}
.cerrar-menu{border:0;background:none;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;cursor:pointer;margin-right:-10px}
.cerrar-menu .ico{width:26px;height:26px}
.menu-movil nav{display:flex;flex-direction:column;margin-top:28px}
.menu-movil nav a{font-family:var(--f-titulo);font-weight:600;font-size:clamp(30px,8.4vw,40px);letter-spacing:-.01em;text-decoration:none;color:var(--tinta);padding:12px 0;border-bottom:1px solid var(--linea);animation:subir-suave .55s var(--curva) both;animation-delay:calc(.06s + var(--i)*.05s)}
.menu-movil-pie{margin-top:auto;padding-top:28px;display:grid;gap:14px}
.menu-movil-pie .estado{justify-self:start;animation:none}
.menu-movil-botones{display:grid;grid-template-columns:1fr 1.4fr;gap:10px}
.menu-movil-botones .boton{padding-inline:12px}
.idiomas.grandes{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;background:var(--fondo-2);padding:5px;border-radius:16px}
.idiomas.grandes button{min-height:46px;font-size:14px;letter-spacing:.02em;border-radius:12px}
.idiomas.grandes button[aria-pressed="true"]{background:var(--superficie);box-shadow:0 1px 4px var(--sombra)}

/* ---------- 1 · Portada ---------- */
.portada{position:relative;padding-block:clamp(8px,2vw,28px) clamp(56px,7vw,96px)}
.portada-rejilla{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);gap:clamp(36px,5vw,72px);align-items:center}
.portada-texto{min-width:0;position:relative;z-index:2}
.estado{display:inline-flex;align-items:center;gap:10px;padding:7px 15px 7px 12px;border-radius:999px;background:var(--superficie);border:1px solid var(--linea);font-family:var(--f-titulo);font-weight:600;font-size:14px;color:var(--tinta-2);animation:subir-suave .7s var(--curva) both}
.estado b{color:var(--tinta);font-weight:700}
.estado .saludo{font-family:var(--f-mano);font-weight:400;font-size:1.45em;line-height:.8;color:var(--verde);margin-right:2px}
.punto{position:relative;width:9px;height:9px;border-radius:50%;background:var(--tinta-2);flex:none}
.estado.abierto .punto{background:var(--ok)}
.estado.abierto .punto::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:2px solid var(--ok);animation:latido 2.4s ease-out infinite}
.estado.cerrado .punto{background:var(--error)}
.estado.neutro .punto{background:var(--yema)}

.titulo-marca{margin:26px 0 22px;font-weight:700;color:var(--tinta)}
.adonde{display:block;font-size:clamp(36px,4.6vw,64px);margin:0 0 -.16em 3.2em;animation:escribir 1.1s .5s ease-out both}
.kontxi{display:block;font-size:clamp(64px,9.4vw,136px);letter-spacing:.06em;line-height:.95;white-space:nowrap}
.kontxi .l{display:inline-block;animation:subir .9s var(--curva) both;animation-delay:calc(.1s + var(--i)*.06s)}
.kontxi .bol svg{height:1.13em;width:auto;vertical-align:baseline;margin:0 .02em 0 -.01em;overflow:visible}
.kontxi .vapor path{fill:none;stroke-width:3.6;stroke-linecap:round;opacity:0;transform-box:fill-box;transform-origin:50% 100%}
/* Sale enseguida: los retrasos negativos hacen que, al cargar, las tres volutas ya estén a media subida */
.kontxi .vapor path{animation:vapor 3.4s .15s ease-in-out infinite}
.kontxi .vapor path:nth-child(2){animation-delay:-1s}
.kontxi .vapor path:nth-child(3){animation-delay:-2.1s}
.kontxi .bol:hover .vapor path,.kontxi .bol.soplo .vapor path{animation-duration:1.6s}
.kontxi .bol{cursor:pointer}
.kontxi .bol svg{transform-origin:50% 90%}
.kontxi .bol.tilin svg{animation:tilin .7s var(--curva)}

.titular{font-family:var(--f-titulo);font-weight:600;font-size:clamp(23px,2.35vw,32px);line-height:1.2;letter-spacing:-.012em;max-width:20em;animation:subir-suave .8s .55s var(--curva) both}
.subraya{position:relative;white-space:nowrap;z-index:0}
.subraya::after{content:"";position:absolute;z-index:-1;left:-3%;right:-3%;bottom:-.08em;height:.42em;background:var(--salvia);opacity:.75;border-radius:2px;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 20' preserveAspectRatio='none'%3E%3Cpath d='M3 12C40 6 90 5 130 7s50 3 67 1v8c-20 2-45 1-80 0S35 15 3 18z'/%3E%3C/svg%3E") center/100% 100% no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 20' preserveAspectRatio='none'%3E%3Cpath d='M3 12C40 6 90 5 130 7s50 3 67 1v8c-20 2-45 1-80 0S35 15 3 18z'/%3E%3C/svg%3E") center/100% 100% no-repeat;
  clip-path:inset(0 100% 0 0);animation:subrayar .9s 1.15s var(--curva) forwards}
.portada-sub{font-size:clamp(16.5px,1.35vw,18px);color:var(--tinta-2);max-width:32em;margin-top:14px;animation:subir-suave .8s .65s var(--curva) both}
.portada-acciones{margin-top:30px;animation:subir-suave .8s .75s var(--curva) both}
.datos{list-style:none;display:flex;flex-wrap:wrap;gap:14px 0;margin-top:36px;font-size:14px;line-height:1.35;color:var(--tinta-2)}
.datos li{display:flex;flex-direction:column;gap:4px;padding-right:24px;min-width:0;animation:subir-suave .8s var(--curva) both;animation-delay:calc(.85s + var(--i,0) * .1s)}
.datos li:nth-child(2){--i:1}
.datos li:nth-child(3){--i:2}
.datos li + li{padding-left:24px;border-left:1px solid var(--linea-fuerte)}
.datos b{display:flex;align-items:center;gap:5px;font-family:var(--f-titulo);font-weight:700;font-size:22px;line-height:1.1;color:var(--tinta);font-variant-numeric:tabular-nums}

.portada-foto{position:relative;min-width:0;width:100%;justify-self:center;padding:30px 56px 6px}
.datos b.lleno .estrella{animation:latido-estrella .6s var(--curva)}
/* Cinta de papel que sujeta la foto y otra foto debajo, como en un álbum */
.abrir-foto{display:block;width:100%;padding:0;border:0;background:none;border-radius:inherit}
/* Foto del equipo, sin marco. Entrada: un telón salvia barre la foto de izquierda a derecha y,
   al retirarse, la deja ver mientras se aleja de un acercamiento y gana color; después pasa un
   destello de luz, se firma "el equipo de Kontxi" y cae el sello. Con ratón se inclina hacia el puntero. */
.foto-equipo{margin:0;transition:translate .5s var(--curva)}
.foto-equipo .abrir-foto{position:relative;display:block;transition:transform .7s var(--curva)}
.foto-equipo picture{display:block;position:relative;overflow:hidden}
.foto-equipo img{display:block;width:100%;height:auto;aspect-ratio:880/1241;object-fit:cover;background:var(--salvia-claro);transition:scale 1.4s var(--curva)}
.foto-equipo .abrir-foto::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .5s;background:radial-gradient(circle at var(--brillo-x,50%) var(--brillo-y,50%),rgba(255,255,255,.22),transparent 55%);mix-blend-mode:soft-light}
.foto-equipo picture::before{content:"";position:absolute;z-index:2;top:-20%;bottom:-20%;left:0;width:45%;pointer-events:none;background:linear-gradient(100deg,transparent,rgba(255,255,255,.32) 50%,transparent);mix-blend-mode:soft-light;translate:-120% 0;rotate:8deg;opacity:0}
.telon{position:absolute;inset:0;z-index:3;background:var(--salvia);transform:scaleX(0);pointer-events:none}
.foto-equipo figcaption{position:relative;width:max-content;margin:16px auto 0;padding-bottom:6px}
.foto-equipo .mano{font-size:32px;color:var(--verde)}
.trazo-firma{left:-6%;width:112%;bottom:-8px;height:18px}
.foto-equipo .trazo-firma path{transition:none}
@media (prefers-reduced-motion: no-preference){
  .telon{animation:telon 1.35s .15s both}
  .foto-equipo picture{animation:poner 0s .76s both}
  .foto-equipo img{animation:revela-foto 2s .74s cubic-bezier(.16,1,.3,1) both}
  .foto-equipo .abrir-foto{animation:sombra-entra .9s .74s ease-out both}
  .foto-equipo picture::before{animation:destello 1.1s 1.75s cubic-bezier(.4,0,.2,1) both}
  .foto-equipo .mano{display:inline-block;clip-path:inset(0 100% 0 0);animation:escribir-mano 1.1s 1.7s ease-out forwards}
  .foto-equipo .trazo-firma path{stroke-dashoffset:1;animation:trazar .9s 2.5s ease-out forwards}
  /* En el móvil la foto queda debajo: la entrada espera a que se vea */
}

@media (max-width:900px){
  .portada-rejilla{grid-template-columns:1fr;gap:20px}
  .titulo-marca{margin:20px 0 16px}
  .kontxi{font-size:min(19vw,116px)}
  .adonde{font-size:min(9.6vw,60px)}
  .portada-acciones .boton{flex:1 1 0;min-width:0;padding-inline:16px}
  .datos{flex-wrap:nowrap;margin-top:28px}
  .datos li{flex:1 1 0;padding-right:12px}
  .datos li + li{padding-left:12px}
  .portada-foto{margin-inline:auto;width:100%}
}
@media (max-width:420px){.adonde{margin-left:3.1em}.estado{font-size:13px}.datos b{font-size:18px}.datos{font-size:12.5px}}

/* ---------- Secciones ---------- */
.seccion{position:relative}
.cabeza{max-width:44em}
.cabeza h2,.opiniones-cabeza h2,.donde h2{font-weight:600;letter-spacing:-.018em;line-height:1.06}
.cabeza-texto{margin-top:14px;color:var(--tinta-2);max-width:36em}

/* ---------- 2 · Menú del día ---------- */
.menu{background:var(--fondo-2)}
.menu-rejilla{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:clamp(32px,5vw,72px);align-items:start}
.carta{position:relative;background:var(--superficie);padding:52px 40px 30px 64px;text-align:center}
.carta::before{content:"";position:absolute;left:32px;top:40px;bottom:96px;width:2px;background:var(--salvia);border-radius:2px}
.carta-fecha{position:absolute;top:16px;right:20px;font-size:28px;color:var(--verde);rotate:-5deg;transform-origin:100% 0}
.carta-fecha:empty{display:none}
.carta-cabeza h3{display:flex;flex-direction:column;align-items:center;font-weight:600}
.carta-menu{font-size:clamp(54px,5.6vw,74px);letter-spacing:.2em;margin-right:-.2em;text-transform:uppercase;color:var(--salvia-titulo);line-height:1}
.carta-cabeza .mano{font-size:clamp(40px,4vw,52px);color:var(--tinta);margin-top:-.36em}
.carta-nota{margin-top:12px;font-family:var(--f-titulo);font-weight:700;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--tinta-2)}
.carta-lista{margin-top:26px;display:grid}
.carta-lista dt{font-family:var(--f-titulo);font-weight:600;font-size:20px;letter-spacing:.12em;text-transform:uppercase}
.carta-lista dd{margin-top:4px;color:var(--tinta-2);font-size:16px;text-wrap:balance}
.carta-lista dd::before,.platos-hoy li::before{content:"";display:inline-block;width:14px;height:5px;margin-right:8px;vertical-align:3px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%208%22%3E%3Cpath%20d%3D%22M2%205c5-3%209%201%2014-1%202-1%204-2%206-1%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222.4%22%20stroke-linecap%3D%22round%22/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%208%22%3E%3Cpath%20d%3D%22M2%205c5-3%209%201%2014-1%202-1%204-2%206-1%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222.4%22%20stroke-linecap%3D%22round%22/%3E%3C/svg%3E") center/contain no-repeat}
.precio{display:flex;flex-direction:column;align-items:center;margin-top:24px}
.precio .cifra{font-family:var(--f-titulo);font-weight:700;font-size:clamp(66px,6.4vw,84px);line-height:.95;letter-spacing:.04em;color:var(--verde);font-variant-numeric:tabular-nums}
.precio small{font-size:.42em;font-weight:600;color:var(--tinta);margin-left:.08em}
.precio .iva{margin-top:6px;font-family:var(--f-titulo);font-size:11.5px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--tinta-2)}
.carta-unico{margin:22px auto 0;max-width:23em;font-size:15.5px;color:var(--tinta-2)}
.carta-unico strong{color:var(--tinta)}
.carta-tel{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 10px;margin:26px -20px 0 -44px;padding-top:18px;border-top:1px dashed var(--linea-fuerte);font-size:15px;color:var(--tinta-2);text-decoration:none}
.carta-tel b{font-family:var(--f-titulo);color:var(--tinta);font-variant-numeric:tabular-nums;transition:color .25s}
.carta-tel:hover b{color:var(--verde)}

/* Menú de hoy (js/menu.js): cada fila enseña los platos si los hay; si no, la descripción general */
.carta-lista .hoy,.carta .si-hoy{display:none}
.carta-lista .tiene-platos .gen,.carta.con-platos .si-gen{display:none}
.carta-lista .tiene-platos .hoy,.carta.con-platos .si-hoy{display:revert}
.carta-lista dd.hoy::before{content:none}
.platos-hoy{list-style:none;display:grid;gap:5px;margin-top:8px}
.platos-hoy li,.postres-hoy{font-size:17px;line-height:1.35;color:var(--tinta);text-wrap:balance}
.platos-hoy .pez .ico{width:24px;height:24px;margin-right:6px;vertical-align:-6px;color:var(--verde);stroke-width:1.5}
.pez-nota{display:inline-block;margin-left:2px;font-size:24px;line-height:1;color:inherit;rotate:-4deg;white-space:nowrap}
.postres-hoy{--i:7;margin-top:10px}
.postres-hoy span{white-space:nowrap}
.postres-hoy span:not(:last-child)::after{content:" ·";color:var(--salvia-titulo)}
.carta.con-platos .carta-nota{display:none}
@media (min-width:901px){.carta.con-platos ~ .platos{position:sticky;top:calc(var(--cabecera) + 28px)}}
.pan-agua{margin-top:4px;font-size:14px;color:var(--tinta-2)}
.carta-ejemplo{position:absolute;top:16px;left:64px;margin:0;padding:3px 10px;font-size:12px}
html.anima .carta.visto .platos-hoy li,html.anima .carta.visto .postres-hoy{animation:subir-suave .7s var(--curva) both;animation-delay:calc(.3s + var(--i,0) * 90ms)}

.platos{min-width:0}
.menu-rejilla > *,.opiniones-rejilla > *,.reserva-rejilla > *,.donde-rejilla > *{min-width:0}
.platos-rejilla{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:18px 16px}
.plato{min-width:0}
.plato .abrir-foto{position:relative;border-radius:var(--radio);overflow:hidden;background:var(--salvia-claro);isolation:isolate}
.plato img{width:100%;aspect-ratio:1;object-fit:cover}
.plato-pie{display:block;margin-top:10px;font-family:var(--f-titulo);font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--tinta-2)}

.linea-dia{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:clamp(40px,5vw,64px);padding-top:28px;border-top:1px solid var(--linea-fuerte)}
.momento{position:relative;display:grid;grid-template-columns:56px 1fr;gap:16px;align-items:start}
.momento .dibujo{width:56px;height:56px;padding:9px;border-radius:50%;background:var(--superficie);transition:background-color .4s,stroke .4s}
.momento time{display:block;font-family:var(--f-titulo);font-weight:700;font-size:13px;letter-spacing:.14em;color:var(--verde);font-variant-numeric:tabular-nums}
.momento h3{font-size:19px;margin-top:2px}
.momento p{color:var(--tinta-2);font-size:15px;margin-top:4px}
.momento .ahora{position:absolute;top:-30px;left:40px;rotate:-8deg;font-size:30px;color:var(--verde);opacity:0;transition:opacity .4s}
.momento.es-ahora .ahora{opacity:1}
.momento.es-ahora .dibujo{background:var(--verde);stroke:var(--superficie)}

@media (max-width:900px){
  .menu-rejilla{grid-template-columns:1fr}
  .carta{padding:46px 22px 26px 46px;max-width:560px;width:100%;margin-inline:auto}
  .carta::before{left:22px}
  .carta-tel{margin:22px 0 0 -24px}
  .carta-ejemplo{left:46px}
  .platos-hoy li,.postres-hoy{font-size:16.5px}
  .platos-rejilla{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:calc(-1 * var(--gutter-l)) calc(-1 * var(--gutter-r));padding:4px var(--gutter-r) 8px var(--gutter-l);scroll-padding-inline:var(--gutter-l);scrollbar-width:none}
  .platos-rejilla::-webkit-scrollbar{display:none}
  .plato{flex:0 0 min(62%,280px);scroll-snap-align:start}
  .linea-dia{grid-template-columns:1fr;gap:18px}
  .momento{grid-template-columns:48px 1fr;gap:14px;align-items:center}
  .momento .dibujo{width:48px;height:48px;padding:8px}
  .momento .ahora{top:-4px;left:auto;right:0;font-size:28px}
}

/* ---------- Dibujos a línea fina ---------- */
.dibujo{fill:none;stroke:var(--verde);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0;transition:stroke-dashoffset 1.6s var(--curva) .2s}

/* ---------- 3 · Opiniones ---------- */
.opiniones-rejilla{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(36px,6vw,96px);align-items:start}
.opiniones-cabeza{position:sticky;top:calc(var(--cabecera) + 32px)}
.nota{display:flex;align-items:center;gap:18px;margin-top:28px}
.nota-cifra{font-family:var(--f-titulo);font-weight:700;font-size:clamp(68px,6.6vw,88px);line-height:.9;letter-spacing:-.02em;color:var(--verde);font-variant-numeric:tabular-nums}
.nota-detalle{display:flex;flex-direction:column;gap:6px;color:var(--tinta-2);font-size:15px}
.nota-detalle .estrellas .ico{width:22px;height:22px}
.opiniones-enlaces{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-top:26px}
.resenas{list-style:none}
.resena{padding-block:30px;border-top:1px solid var(--linea-fuerte)}
.resena:first-child{padding-top:4px;border-top:0}
.resena figure{margin:0;display:grid;gap:14px}
.resena-plato{display:flex;align-items:center;gap:12px;font-family:var(--f-titulo);font-weight:700;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--verde)}
.resena-plato img{width:44px;height:44px;border-radius:50%;object-fit:cover;flex:none}
.resena blockquote{margin:0}
.resena blockquote p{font-size:clamp(17px,1.45vw,19.5px);line-height:1.6;color:var(--tinta)}
.resena figcaption{display:flex;align-items:center;gap:12px}
.resena cite{font-style:normal;font-family:var(--f-titulo);font-weight:700;font-size:14.5px;letter-spacing:.04em}
.estrellas.pequenas .ico{width:15px;height:15px}

@media (max-width:900px){
  .opiniones-rejilla{grid-template-columns:1fr;gap:28px}
  .opiniones-cabeza{position:static}
  .resena,.resena:first-child{background:var(--superficie)}
  .resena blockquote p{font-size:16.5px}
}

/* ---------- 4 · Reserva ---------- */
.reservar{background:var(--fondo-2)}
.reserva-rejilla{display:grid;grid-template-columns:minmax(0,1.42fr) minmax(0,1fr);gap:clamp(28px,4vw,56px);align-items:start}
.reserva-tarjeta{position:relative;background:var(--superficie);border:1px solid var(--linea);border-radius:24px;padding:clamp(22px,3vw,36px);box-shadow:0 40px 80px -56px var(--sombra-fuerte);min-width:0}
.modo-prueba{display:inline-flex;margin-bottom:18px;padding:6px 12px;border-radius:10px;background:color-mix(in srgb,var(--yema) 16%,transparent);color:var(--aviso);font-size:13.5px;font-weight:700}
#form-reserva{display:grid;gap:24px}
.paso{border:0;margin:0;padding:0;min-width:0}
.paso legend,.paso-titulo{padding:0;margin-bottom:10px;font-family:var(--f-titulo);font-weight:700;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--tinta-2)}
.dias{display:flex;gap:8px;overflow-x:auto;padding:3px 3px 8px;margin:-3px -3px -8px;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:var(--linea-fuerte) transparent}
.dia-chip{flex:none;scroll-snap-align:start;display:grid;justify-items:center;gap:0;min-width:62px;padding:8px 6px 9px;border-radius:14px;border:1.5px solid var(--linea);background:var(--fondo);cursor:pointer;font-family:var(--f-titulo);transition:border-color .25s,background-color .25s,color .25s,transform .25s var(--curva)}
.dia-chip:hover{border-color:var(--linea-fuerte);transform:translateY(-1px)}
.dia-chip .ds{font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--tinta-2)}
.dia-chip .dn{font-size:22px;font-weight:700;line-height:1.15;font-variant-numeric:tabular-nums}
.dia-chip .dm{font-size:11.5px;font-weight:600;color:var(--tinta-2)}
.dia-chip[aria-checked="true"]{background:var(--boton);border-color:var(--boton);color:var(--boton-texto)}
.dia-chip[aria-checked="true"] .ds,.dia-chip[aria-checked="true"] .dm{color:var(--boton-texto);opacity:.8}
.paso-fila{display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px}
.paso-fila .paso-titulo{margin:0;min-width:5.5em}
.contador{display:flex;align-items:center;gap:6px}
.contador-boton{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--linea-fuerte);background:var(--fondo);display:grid;place-items:center;cursor:pointer;transition:background-color .2s,border-color .2s,transform .2s}
.contador-boton:hover{border-color:var(--tinta)}
.contador-boton:active{transform:scale(.92)}
.contador-boton:disabled{opacity:.35;cursor:not-allowed;border-color:var(--linea)}
.contador-boton .ico{width:18px;height:18px}
.contador output{min-width:2.2ch;text-align:center;font-family:var(--f-titulo);font-weight:700;font-size:28px;font-variant-numeric:tabular-nums}
.contador output{display:inline-block}
.contador output.sube{animation:rueda-sube .35s var(--curva)}
.contador output.baja{animation:rueda-baja .35s var(--curva)}
.contador-nota{font-size:14px;color:var(--tinta-2)}
.horas{display:flex;flex-wrap:wrap;gap:8px;min-height:60px;align-items:flex-start}
.horas .aviso-horas{margin:0;font-size:15px;color:var(--tinta-2);padding-top:4px;flex-basis:100%}
.hora{display:grid;justify-items:center;gap:1px;min-width:84px;padding:8px 12px;border-radius:14px;border:1.5px solid var(--linea);background:var(--fondo);cursor:pointer;font-family:var(--f-titulo);transition:border-color .25s,background-color .25s,color .25s,transform .25s var(--curva);animation:subir-suave .4s var(--curva) both;animation-delay:calc(var(--i,0)*.04s)}
.hora:hover:not(:disabled){border-color:var(--linea-fuerte);transform:translateY(-1px)}
.hora b{font-size:18px;font-variant-numeric:tabular-nums}
.hora small{font-family:var(--f-texto);font-size:12px;color:var(--tinta-2)}
.hora.pocas small{color:var(--aviso);font-weight:700}
.hora[aria-checked="true"]{background:var(--boton);border-color:var(--boton);color:var(--boton-texto)}
.hora[aria-checked="true"] small{color:var(--boton-texto);opacity:.85}
.hora:disabled{opacity:.45;cursor:not-allowed;background:transparent}
.hora:disabled b{text-decoration:line-through;text-decoration-thickness:1.5px}
.cargando{display:flex;gap:8px;flex-wrap:wrap}
.cargando span{width:84px;height:54px;border-radius:14px;background:linear-gradient(90deg,var(--fondo-2),var(--fondo),var(--fondo-2));background-size:200% 100%;animation:brillo 1.2s linear infinite}
.campos{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.campo{display:grid;gap:7px;font-family:var(--f-titulo);font-weight:700;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--tinta-2);min-width:0}
.campo input,.campo textarea{font-family:var(--f-texto);font-size:17px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--tinta);background:var(--fondo);border:1.5px solid var(--linea);border-radius:14px;padding:12px 14px;min-height:50px;width:100%;min-width:0;transition:border-color .25s,box-shadow .25s,background-color .25s}
.campo textarea{resize:vertical;min-height:80px}
.campo input:hover,.campo textarea:hover{border-color:var(--linea-fuerte)}
.campo input:focus,.campo textarea:focus{outline:none;border-color:var(--verde);background:var(--superficie);box-shadow:0 0 0 4px color-mix(in srgb,var(--salvia) 30%,transparent)}
.campo input[aria-invalid="true"]{border-color:var(--error);box-shadow:0 0 0 4px color-mix(in srgb,var(--error) 14%,transparent)}
.notas{margin-top:-10px}
.notas summary{display:inline-flex;align-items:center;gap:8px;min-height:40px;list-style:none;cursor:pointer;font-family:var(--f-titulo);font-weight:700;font-size:14.5px;color:var(--verde);border-radius:8px}
.notas summary::-webkit-details-marker{display:none}
.notas summary .ico{width:16px;height:16px;transition:rotate .3s var(--curva)}
.notas[open] summary .ico{rotate:45deg}
.notas .campo{margin-top:6px}
.trampa{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}
.enviar{position:relative;min-height:58px}
.enviar-texto{display:flex;flex-wrap:wrap;justify-content:center;gap:0 .5em;white-space:normal;text-align:center}
.enviar-resumen{font-weight:600;opacity:.82}
.enviar-resumen:empty{display:none}
.enviar-resumen::before{content:"·";margin-right:.5em}
.girando{display:none;width:20px;height:20px;border-radius:50%;border:2.5px solid currentColor;border-right-color:transparent;animation:girar .8s linear infinite}
.enviar.ocupado{pointer-events:none}
.enviar.ocupado .enviar-texto{opacity:0}
.enviar.ocupado .girando{display:block;position:absolute}
.estado-form{min-height:1.4em;margin-top:-12px;font-weight:700;font-size:15px;text-align:center}
.estado-form:empty{display:none}
.estado-form.error{color:var(--error);animation:temblor .4s}
.legal{margin-top:-10px;font-size:13.5px;color:var(--tinta-2);text-align:center}
.reserva-hecha{text-align:center;padding:28px 6px 8px;display:flex;flex-direction:column;align-items:center}
.reserva-hecha:focus{outline:none}
.reserva-hecha .check{width:84px;height:84px;fill:none;stroke:var(--verde);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:trazo 1s .1s var(--curva) forwards}
.reserva-hecha h3{font-size:clamp(28px,3.4vw,36px);margin-top:18px;letter-spacing:-.01em}
.hecha-resumen{margin-top:10px;font-size:17.5px;max-width:28em;color:var(--tinta-2)}
.hecha-resumen b{color:var(--tinta);font-family:var(--f-titulo)}
.hecha-mano{font-size:44px;color:var(--verde);margin:8px 0 18px}
/* Tique de la reserva: sale como de una impresora de barra y Kontxi le pone el sello */
.ticket{--papel-ticket:#fffefa;position:relative;isolation:isolate;width:min(100%,330px);margin:22px auto 4px;padding:24px 24px 20px;color:var(--tinta);text-align:left;font-variant-numeric:tabular-nums;filter:drop-shadow(0 10px 14px var(--sombra-fuerte)) drop-shadow(0 1px 1px var(--sombra))}
.ticket::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--papel-ticket);
  -webkit-mask:radial-gradient(circle 6px at 50% 0,transparent 96%,#000) 0 0/16px 51% repeat-x,radial-gradient(circle 6px at 50% 100%,transparent 96%,#000) 0 100%/16px 51% repeat-x;
  mask:radial-gradient(circle 6px at 50% 0,transparent 96%,#000) 0 0/16px 51% repeat-x,radial-gradient(circle 6px at 50% 100%,transparent 96%,#000) 0 100%/16px 51% repeat-x}
.ticket-cabeza{display:flex;align-items:center;gap:10px;margin:0 0 14px;padding-bottom:12px;border-bottom:1.5px dashed var(--linea-fuerte);font-family:var(--f-titulo);font-weight:700;font-size:15px}
.ticket-cabeza img{width:40px;height:40px;border-radius:50%}
.ticket-num{margin-left:auto;font-size:12px;letter-spacing:.12em;color:var(--tinta-2)}
.ticket-datos{margin:0;display:grid;gap:8px}
.ticket-datos div{display:flex;justify-content:space-between;gap:14px;align-items:baseline}
.ticket-datos dt{font-family:var(--f-titulo);font-size:11.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--tinta-2)}
.ticket-datos dd{margin:0;font-family:var(--f-titulo);font-weight:700;font-size:16.5px;text-align:right;overflow-wrap:anywhere}
.ticket-datos dd::first-letter{text-transform:uppercase}
.ticket-pie{margin:14px 0 0;padding-top:12px;border-top:1.5px dashed var(--linea-fuerte);font-size:12.5px;color:var(--tinta-2);text-align:center}
.ticket-sello{position:absolute;right:-12px;bottom:-16px;background:var(--papel-ticket);padding:4px 12px 2px;border:2px solid var(--verde);border-radius:8px;color:var(--verde);font-family:var(--f-mano,Allura),cursive;font-size:30px;line-height:1.1;rotate:-12deg;opacity:.9;mix-blend-mode:multiply;pointer-events:none}
@media (prefers-reduced-motion: no-preference){
  .reserva-hecha:not([hidden]) .ticket{animation:ticket-sale 1s .25s cubic-bezier(.2,.8,.2,1) both}
  .reserva-hecha:not([hidden]) .ticket-sello{animation:estampar-ticket .6s 1.25s cubic-bezier(.3,1.5,.5,1) both}
}
@keyframes ticket-sale{from{clip-path:inset(0 0 100% 0);translate:0 -18px}to{clip-path:inset(0 0 -40px 0);translate:0 0}}
@keyframes estampar-ticket{0%{opacity:0;scale:2.2;rotate:-30deg}60%{opacity:.9;scale:.94}100%{opacity:.9;scale:1;rotate:-12deg}}
.hecha-calendario{font-size:14px;color:var(--tinta-2);margin-bottom:10px}
.reserva-hecha .acciones{justify-content:center}
.reserva-hecha .otra{margin-top:20px;font-size:15px;color:var(--tinta-2)}

.reserva-lado{display:grid;gap:30px;min-width:0;padding-top:6px}
.llamar .antetitulo{margin-bottom:8px}
.llamar .boton-copiar{display:flex;margin-top:2px}
.garantias{list-style:none;display:grid;gap:12px;padding-top:24px;border-top:1px solid var(--linea-fuerte)}
.garantias li{display:flex;align-items:flex-start;gap:12px;font-size:15.5px;color:var(--tinta-2)}
.garantias .ico{width:20px;height:20px;color:var(--verde);margin-top:2px}
.preguntas-titulo{font-size:12.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--tinta-2);margin-bottom:6px}
.preguntas details{border-top:1px solid var(--linea-fuerte)}
.preguntas details:last-child{border-bottom:1px solid var(--linea-fuerte)}
.preguntas summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:52px;padding:12px 0;font-family:var(--f-titulo);font-weight:700;font-size:16.5px;border-radius:6px}
.preguntas summary::-webkit-details-marker{display:none}
.preguntas summary::after{content:"";flex:none;width:12px;height:12px;background:linear-gradient(var(--verde),var(--verde)) center/12px 2px no-repeat,linear-gradient(var(--verde),var(--verde)) center/2px 12px no-repeat;transition:transform .4s var(--curva),background-size .3s}
.preguntas details[open] summary::after{transform:rotate(180deg);background-size:12px 2px,2px 0}
.preguntas summary:hover{color:var(--verde)}
.preguntas details p{padding:0 0 16px;color:var(--tinta-2);font-size:15.5px}
@supports (interpolate-size:allow-keywords){
  :root{interpolate-size:allow-keywords}
  .preguntas details::details-content,.notas::details-content{block-size:0;overflow:hidden;transition:block-size .4s var(--curva),content-visibility .4s allow-discrete}
  .preguntas details[open]::details-content,.notas[open]::details-content{block-size:auto}
}
@media (max-width:980px){.reserva-rejilla{grid-template-columns:1fr}.reserva-lado{grid-template-columns:1fr 1fr;align-items:start}.reserva-lado .preguntas{grid-column:1/-1}}
@media (max-width:620px){
  .reserva-tarjeta{border-radius:20px;margin-inline:-6px}
  .campos{grid-template-columns:1fr}
  .horas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
  .hora{min-width:0;padding:8px 4px}
  .horas .cargando,.horas .aviso-horas{grid-column:1/-1}
  .enviar-texto{flex-direction:column;align-items:center;line-height:1.25}
  .enviar-resumen{font-size:14px}
  .enviar-resumen::before{display:none}
  .reserva-lado{grid-template-columns:1fr}
  .paso-fila .contador-nota{flex-basis:100%;margin-top:-4px}
}

/* ---------- 5 · Dónde estamos y pie ---------- */
.donde{background:var(--oscuro);color:var(--oscuro-texto);padding-bottom:0}
.donde .antetitulo{color:var(--salvia)}
.donde .antetitulo::before{color:var(--salvia)}
.donde-rejilla{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.95fr) minmax(0,1fr);gap:clamp(28px,4vw,56px);align-items:start}
.donde-sub{margin-top:10px;color:var(--oscuro-suave);font-size:17px}
.donde-texto .acciones{margin-top:26px}
.donde .boton-copiar{color:var(--salvia)}
.donde .tel-grande{margin-top:28px;color:var(--oscuro-texto)}
.donde .tel-grande:hover{color:var(--salvia)}
.donde .estado{background:rgba(238,241,232,.06);border-color:var(--oscuro-linea);color:var(--oscuro-suave);animation:none}
.donde .estado b{color:var(--oscuro-texto)}
.donde .estado.abierto .punto{background:#7fc58d}
.donde .estado.abierto .punto::after{border-color:#7fc58d}
.donde .estado.cerrado .punto{background:#ef9f89}
.horario{width:100%;margin-top:18px;border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:16px}
.horario th,.horario td{text-align:left;padding:13px 4px;border-bottom:1px solid var(--oscuro-linea);vertical-align:top}
.horario th{font-family:var(--f-titulo);font-weight:700;white-space:nowrap;padding-right:18px;width:1%}
.horario td{color:var(--oscuro-suave)}
.horario tr.hoy th,.horario tr.hoy td{color:var(--oscuro-texto)}
.horario tr.hoy th::after{content:attr(data-hoy);font-family:var(--f-mano);font-weight:400;font-size:26px;margin-left:10px;color:var(--salvia);line-height:0}
.proximo-festivo{margin-top:14px;font-size:14.5px;color:var(--oscuro-suave)}
.proximo-festivo b{color:var(--oscuro-texto)}
.mapa{position:relative;min-height:300px;height:100%;border-radius:var(--radio);overflow:hidden;display:grid;place-items:center;background-size:32px 32px;background-position:center}
.mapa-acuarela{position:absolute;width:min(280px,78%);left:50%;top:50%;translate:-50% -50%;pointer-events:none}
.pin-grande{position:absolute;left:50%;top:calc(50% - 76px);margin-left:-26px;width:52px;height:52px}
.mapa-mano{position:absolute;left:50%;top:calc(50% - 14px);translate:-50% 0;font-size:32px;white-space:nowrap}
.pie{margin-top:clamp(56px,7vw,88px);padding-block:26px calc(26px + env(safe-area-inset-bottom,0px));color:var(--oscuro-suave);font-size:14.5px}
.pie-fila{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 28px}
.pie-marca{display:flex;align-items:center;gap:14px}
.pie-marca img{width:56px;height:56px}
.pie-marca .mano{font-size:36px;color:var(--salvia)}
.pie .enlace-boton{text-decoration-color:rgba(238,241,232,.3)}
.pie .enlace-boton:hover{color:var(--oscuro-texto)}
@media (max-width:1100px){.donde-rejilla{grid-template-columns:1fr 1fr}.mapa{grid-column:1/-1}}
@media (max-width:700px){
  .donde-rejilla{grid-template-columns:1fr}
  .donde-texto .acciones .boton{flex:1 1 auto}
  .pie{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}
  .pie-fila{flex-direction:column;align-items:flex-start}
}

/* ---------- Barra móvil ---------- */
.barra-movil{display:none}
@media (max-width:760px){
  .barra-movil{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:35;gap:10px;padding:10px var(--gutter-r) calc(10px + env(safe-area-inset-bottom,0px)) var(--gutter-l);background:color-mix(in srgb,var(--fondo) 90%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--linea);translate:0 110%;visibility:hidden;transition:translate .45s var(--curva),visibility 0s .45s}
  .barra-movil.visible{translate:0 0;visibility:visible;transition:translate .45s var(--curva),visibility 0s}
  /* Lo que se enfoca con el teclado no queda tapado por la barra de abajo */
  html{scroll-padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}
  .barra-movil .boton{flex:1;min-width:0;padding-inline:12px}
  .barra-movil .boton.primario{flex:1.4}
}

/* ---------- Visor de fotos ---------- */
dialog{color:var(--tinta)}
.visor-boton{position:absolute;width:52px;height:52px;border-radius:50%;border:0;background:rgba(255,255,255,.1);color:#f2f4ee;display:grid;place-items:center;cursor:pointer;transition:background-color .25s,scale .25s}
.visor-boton:hover{background:rgba(255,255,255,.22);scale:1.05}
.visor-boton .ico{width:24px;height:24px}

/* ---------- Privacidad ---------- */
.privacidad{border:0;border-radius:24px;padding:0;width:min(640px,calc(100vw - 32px));max-height:calc(100dvh - 48px);background:var(--superficie);box-shadow:0 40px 100px rgba(0,0,0,.35)}
.privacidad[open]{animation:zoom-entra .3s var(--curva)}
.privacidad::backdrop{background:rgba(20,24,19,.55);backdrop-filter:blur(3px)}
.privacidad-cuerpo{position:relative;padding:38px 34px 30px}
.privacidad h2{font-size:26px;margin-bottom:18px;padding-right:56px;letter-spacing:-.01em}
.privacidad p{margin-bottom:12px;font-size:15.5px;color:var(--tinta-2)}
.privacidad strong{color:var(--tinta)}
.privacidad-cerrar{top:16px;right:16px;background:var(--fondo-2);color:var(--tinta)}
.privacidad-cerrar:hover{background:var(--salvia-claro)}

/* ---------- Aviso ---------- */
.aviso{position:fixed;left:50%;bottom:calc(28px + env(safe-area-inset-bottom,0px));z-index:95;translate:-50% 24px;opacity:0;background:var(--boton);color:var(--boton-texto);padding:12px 20px;border-radius:999px;font-weight:700;font-size:15px;pointer-events:none;transition:opacity .3s,translate .4s var(--curva);white-space:nowrap}
.aviso.visible{opacity:1;translate:-50% 0}
@media (max-width:760px){.aviso{bottom:calc(90px + env(safe-area-inset-bottom,0px))}}

/* ---------- Aparición al hacer scroll ---------- */
html.anima .revela{transition:opacity .8s ease,translate .9s var(--curva);transition-delay:var(--d,0s)}
html.anima .revela:not(.visto){opacity:0;translate:0 22px}
html.anima .revela:not(.visto) .dibujo{stroke-dashoffset:1}

/* ---------- Movimiento (js/movimiento.js y main.js) ----------
   Idea: lo que se mueve es "la mano de Kontxi" (trazos de boli, letra que se escribe) y el papel
   (fotos que se destapan, carta que se asienta). Nada rebota sin motivo ni se mueve en bucle,
   salvo el vapor y los puntos de "ahora". */

/* Títulos: cada palabra sube desde detrás de una línea */
.palabra{display:inline-block;overflow:hidden;vertical-align:top;padding:.14em .06em .14em;margin:-.14em -.06em -.14em}
.palabra > span{display:inline-block;transition:translate 1s var(--curva);transition-delay:calc(var(--d,0s) + .1s + var(--i,0) * .07s)}
html.anima .revela:not(.visto) .palabra > span{translate:0 115%}

/* El asterisco de la carta gira al aparecer cada sección */
.antetitulo::before{display:inline-block;transition:rotate 1.2s var(--curva),scale .8s var(--curva);transition-delay:calc(var(--d,0s) + .05s)}
html.anima .revela:not(.visto) .antetitulo::before{rotate:-200deg;scale:.2}

/* Trazos de boli: se dibujan al aparecer su bloque */
.trazo{position:absolute;fill:none;stroke:var(--verde);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;overflow:visible;pointer-events:none}
.trazo path{stroke-dasharray:1;stroke-dashoffset:0;transition:stroke-dashoffset 1.2s cubic-bezier(.65,.05,.35,1);transition-delay:calc(var(--d,0s) + var(--tarde,.9s))}
html.anima .revela:not(.visto) .trazo path{stroke-dashoffset:1}
.cifra{position:relative}
.trazo-precio{left:50%;top:50%;width:2.5em;height:1.35em;translate:-52% -50%;rotate:-5deg;stroke:var(--salvia-titulo);stroke-width:2.2;--tarde:1.3s}
.tel-grande{position:relative}
.trazo-subraya{left:-1%;bottom:-.34em;width:102%;height:.32em;stroke:var(--salvia-titulo);stroke-width:2.4;--tarde:.7s}
.nota-cifra{position:relative}
.trazo-ola{left:2%;bottom:-.26em;width:96%;height:.2em;stroke-width:2.6;--tarde:1.1s}

/* Estrellas que se encienden una a una */
.estrellas .ico{transition:scale .55s cubic-bezier(.3,1.6,.5,1),opacity .35s,rotate .6s var(--curva);transition-delay:calc(var(--d,0s) + .35s + var(--i,0) * .09s)}
.estrellas .ico:nth-child(2){--i:1}
.estrellas .ico:nth-child(3){--i:2}
.estrellas .ico:nth-child(4){--i:3}
.estrellas .ico:nth-child(5){--i:4}
html.anima .revela:not(.visto) .estrellas .ico{scale:.2;opacity:0;rotate:-60deg}

/* Reseñas: la foto del plato entra girando, como una pegatina */
.resena-plato img{transition:scale .7s cubic-bezier(.3,1.5,.5,1),rotate .8s var(--curva);transition-delay:calc(var(--d,0s) + .15s)}
html.anima .revela:not(.visto) .resena-plato img{scale:.4;rotate:-25deg}

/* Carta: "MENÚ" se asienta y los platos de hoy aparecen uno a uno (ver Menú de hoy) */
.carta-menu{display:inline-block;transition:transform 1.2s var(--curva),opacity .8s;transition-delay:calc(var(--d,0s) + .2s)}
html.anima .carta.revela:not(.visto) .carta-menu{transform:scaleX(1.35);opacity:0}
.carta-cabeza .mano{transition:clip-path 1.1s ease-out;transition-delay:calc(var(--d,0s) + .7s);clip-path:inset(-30% -10% -30% -5%)}
html.anima .carta.revela:not(.visto) .carta-cabeza .mano{clip-path:inset(-30% 100% -30% -5%)}

/* Fotos de platos: se destapan como una cortina y se asientan */
.plato .abrir-foto{transition-delay:calc(var(--d,0s) + .05s)}

/* Línea del día: se rellena hasta la hora de ahora (js/movimiento.js) */
.linea-dia{position:relative}
.linea-avance,.linea-ahora{position:absolute;pointer-events:none;z-index:2}
.linea-avance{left:var(--ini,0);top:-1.5px;height:3px;width:calc(var(--act,0px) - var(--ini,0px));border-radius:3px;background:var(--verde);transform-origin:0 50%;transition:transform 1.6s var(--curva) .2s,width .6s var(--curva)}
.linea-ahora{left:-6.5px;top:-6.5px;width:13px;height:13px;border-radius:50%;background:var(--verde);box-shadow:0 0 0 4px var(--fondo-2);translate:var(--act,0px) 0;transition:translate 1.6s var(--curva) .2s,opacity .4s .2s}
.linea-ahora::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:2px solid var(--verde);animation:latido 2.4s ease-out infinite}
.linea-dia:not(.en-curso) .linea-ahora{opacity:0}
html.anima .linea-dia:not(.visto) .linea-avance{transform:scaleX(0)}
html.anima .linea-dia:not(.visto) .linea-ahora{translate:var(--ini,0px) 0;opacity:0}
.linea-dia.vertical::before{content:"";position:absolute;left:var(--eje,24px);top:var(--ini,0);width:2px;margin-left:-1px;height:calc(var(--fin,0px) - var(--ini,0px));background:var(--linea-fuerte)}
.linea-dia.vertical .linea-avance{left:var(--eje,24px);top:var(--ini,0);width:3px;margin-left:-1.5px;height:calc(var(--act,0px) - var(--ini,0px));transform-origin:50% 0;transition:transform 1.6s var(--curva) .2s,height .6s var(--curva)}
.linea-dia.vertical .linea-ahora{left:calc(var(--eje,24px) - 6.5px);top:-6.5px;translate:0 var(--act,0px)}
html.anima .linea-dia.vertical:not(.visto) .linea-avance{transform:scaleY(0)}
html.anima .linea-dia.vertical:not(.visto) .linea-ahora{translate:0 var(--ini,0px)}
.momento .dibujo{position:relative;z-index:1}
.momento::before{content:"";position:absolute;left:0;top:0;width:56px;height:56px;border-radius:50%;border:2px solid var(--verde);opacity:0;pointer-events:none}
.momento.es-ahora::before{animation:onda 2.6s ease-out infinite}
@media (max-width:900px){.momento::before{top:calc(50% - 24px);width:48px;height:48px}}

/* Cabecera: una línea que se desliza a la sección en la que estás */
.nav{position:relative}
.nav-marca{position:absolute;left:0;bottom:3px;height:2px;border-radius:2px;background:var(--verde);opacity:0;pointer-events:none;transition:opacity .3s}
.nav-marca.lista{transition:translate .55s var(--curva),width .55s var(--curva),opacity .3s}
.nav.con-marca a.activo::after{display:none}

/* Botones principales: se rellenan de tinta desde donde entra el puntero */
.boton.primario,.boton.claro{isolation:isolate;overflow:hidden}
.boton.claro{--relleno:#fff}
.boton.primario::before,.boton.claro::before{content:"";position:absolute;z-index:-1;left:var(--x,50%);top:var(--y,50%);width:280%;aspect-ratio:1;border-radius:50%;background:var(--relleno);translate:-50% -50%;scale:0;transition:scale .6s var(--curva);pointer-events:none}
@media (hover:hover){.boton.primario:hover::before,.boton.claro:hover::before{scale:1}}

/* Reserva: el día y la hora elegidos dan un pequeño salto; el resumen se renueva */
.dia-chip[aria-checked="true"],.hora[aria-checked="true"]{animation:marcar .45s var(--curva)}
.enviar-resumen.cambia{animation:subir-suave .45s var(--curva)}
.reserva-hecha h3,.reserva-hecha > p{animation:subir-suave .7s var(--curva) both}
.reserva-hecha h3{animation-delay:.45s}
.reserva-hecha > p{animation-delay:.6s}



/* Mapa: el pin cae, la acuarela florece y "Abando · Bilbao" se escribe */
.pin-grande{transition:translate .9s cubic-bezier(.3,1.6,.5,1),opacity .3s;transition-delay:calc(var(--d,0s) + .45s)}
html.anima .mapa.revela:not(.visto) .pin-grande{translate:0 -70px;opacity:0}
.mapa-acuarela{transition:rotate 1.6s var(--curva),scale 1.6s var(--curva),opacity 1s;transition-delay:var(--d,0s)}
html.anima .mapa.revela:not(.visto) .mapa-acuarela{rotate:-45deg;scale:.5;opacity:0}
.mapa-mano{clip-path:inset(-30% -10% -30% -5%);transition:clip-path 1.2s ease-out;transition-delay:calc(var(--d,0s) + 1s)}
html.anima .mapa.revela:not(.visto) .mapa-mano{clip-path:inset(-30% 100% -30% -5%)}

/* Pie: "Mila esker!" se escribe y el logo saluda */
.pie-marca .mano{clip-path:inset(-30% -10% -30% -5%);transition:clip-path 1.3s ease-out;transition-delay:calc(var(--d,0s) + .4s)}
html.anima .pie-marca.revela:not(.visto) .mano{clip-path:inset(-30% 100% -30% -5%)}
.pie-marca img{transition:rotate .6s cubic-bezier(.3,1.6,.5,1)}
.pie-marca:hover img{rotate:-14deg}

/* Visor: la foto crece desde su miniatura (View Transitions en main.js) */
::view-transition-old(root),::view-transition-new(root){animation-duration:.4s}

/* Al hacer scroll (solo navegadores que lo soportan y sin "menos movimiento") */
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    /* Las fotos no se desplazan con el scroll: Luken las quiere quietas (17/10) */
    .donde{animation:desplegar linear both;animation-timeline:view();animation-range:entry 0% entry 75%}
  }
}


/* ---------- Detalles v4 (js/detalles.js) ----------
   Cartel colgante, papel, mapa dibujado, sello de HOY, reseñas como notas,
   mantel en el pie, bordes ondulados entre secciones, línea de tinta, temporada y taza. */
/* Acento de temporada: solo asteriscos, la ola de la nota y la línea de tinta */
:root{--acento:var(--salvia)}
:root[data-temporada="primavera"]{--acento:#c98ba1}
:root[data-temporada="verano"]{--acento:#d3a03a}
:root[data-temporada="otono"]{--acento:#c27a40}
:root[data-temporada="invierno"]{--acento:#7f9aab}

.antetitulo::before,.carta-lista dd::before,.platos-hoy li::before{color:var(--acento)}
.trazo-ola{stroke:var(--acento)}

/* Papel: un grano muy fino en el fondo y en la carta, nunca encima de las fotos */
/* El papel se pone cuando la página ya ha cargado, para no retrasar la portada */
.papel :is(body,.menu,.reservar,.carta,.resena,.reserva-tarjeta){background-image:url(../img/papel.webp);background-size:200px}
.papel .donde{background-image:url(../img/papel.webp);background-size:200px;background-blend-mode:soft-light}

/* Titulares más grandes y con más aire */
.seccion{padding-block:clamp(66px,7.8vw,108px)}
.cabeza{margin-bottom:clamp(34px,4vw,54px)}
.cabeza h2,.opiniones-cabeza h2{font-size:clamp(36px,4.7vw,62px);letter-spacing:-.024em;line-height:1.02}
.donde h2{font-size:clamp(32px,3.4vw,46px)}
.cabeza-texto{font-size:clamp(17px,1.4vw,19.5px)}

/* Cartel colgante "Abierto / Cerrado" junto al logo */
.cartel{position:relative;display:block;flex:none;text-decoration:none;transform-origin:50% 2px}
.cartel:hover{animation:balanceo-toque 1.4s cubic-bezier(.35,0,.25,1)}
.cartel::before{position:absolute;top:2px;left:50%;width:38px;height:17px;translate:-50% 0;background:linear-gradient(to top left,transparent calc(50% - .8px),var(--tinta-2) 50%,transparent calc(50% + .8px)) left/50% 100% no-repeat,linear-gradient(to top right,transparent calc(50% - .8px),var(--tinta-2) 50%,transparent calc(50% + .8px)) right/50% 100% no-repeat}
.cartel::after{position:absolute;top:0;left:50%;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:var(--tinta-2)}
.cartel-tabla{font-family:var(--f-titulo);font-weight:700;text-transform:uppercase;white-space:nowrap}
.si-abierto{color:var(--ok)}
html.abierto-ahora .si-cerrado,html:not(.abierto-ahora) .si-abierto{display:none}
@media (max-width:900px){.cartel::before{height:13px}}

/* Bordes ondulados, como cortados a mano, entre secciones */
.menu::before,.menu::after,.reservar::before,.reservar::after{content:"";position:absolute;z-index:1;left:0;right:0;height:16px;background:inherit;pointer-events:none;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 16' preserveAspectRatio='none'%3E%3Cpath d='M0 16V9C22 4 40 3 62 7s38 7 60 3 44-8 68-5 40 8 62 6 46-7 68-4v10z'/%3E%3C/svg%3E") 0 0/320px 16px repeat-x;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 16' preserveAspectRatio='none'%3E%3Cpath d='M0 16V9C22 4 40 3 62 7s38 7 60 3 44-8 68-5 40 8 62 6 46-7 68-4v10z'/%3E%3C/svg%3E") 0 0/320px 16px repeat-x}
.menu::before,.reservar::before{top:-15px}
.menu::after,.reservar::after{bottom:-15px;scale:1 -1;-webkit-mask-position:140px 0;mask-position:140px 0}

/* Mapa dibujado a mano (no está a escala; el mapa real se carga con el botón) */
.mapa{background-image:none}
.mapa-dibujo{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;-webkit-mask-image:radial-gradient(circle at 50% 50%,transparent 0 118px,#000 172px);mask-image:radial-gradient(circle at 50% 50%,transparent 0 118px,#000 172px)}
.calles path{fill:none;stroke:rgba(238,241,232,.2);stroke-width:1.6;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:0;transition:stroke-dashoffset 1.6s var(--curva);transition-delay:calc(var(--d,0s) + .1s)}
.calles path:nth-child(even){transition-delay:calc(var(--d,0s) + .3s)}
.calle-kontxi{fill:none;stroke:var(--salvia);stroke-width:3.2;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:0;transition:stroke-dashoffset 1.4s var(--curva);transition-delay:calc(var(--d,0s) + .5s)}
html.anima .mapa.revela:not(.visto) :is(.calles path,.calle-kontxi){stroke-dashoffset:1}

/* Vapor sobre los platos calientes (al pasar el ratón; en el móvil, solo al verlos) */

/* Galería de platos: se arrastra en ordenador y se desliza con el dedo en el móvil */
.galeria-pie{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px}
.galeria-flechas{display:flex;gap:8px}
.galeria-flecha{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--linea-fuerte);background:var(--superficie);display:grid;place-items:center;cursor:pointer;transition:border-color .25s,background-color .25s,opacity .25s,scale .25s var(--curva)}
.galeria-flecha:hover:not(:disabled){border-color:var(--tinta);scale:1.06}
.galeria-flecha:disabled{opacity:.35;cursor:default}
@media (min-width:901px){
  .platos-rejilla{grid-template-columns:none;grid-template-rows:auto auto;grid-auto-flow:column;grid-auto-columns:calc(50% - 8px);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:2px;cursor:grab}
  .platos-rejilla::-webkit-scrollbar{display:none}
  .platos-rejilla .plato{scroll-snap-align:start}
  .platos-rejilla.arrastrando{scroll-snap-type:none;cursor:grabbing;user-select:none}
  .platos-rejilla.arrastrando .abrir-foto{pointer-events:none}
}

/* Sello de HOY sobre la carta cuando Kontxi ha publicado el menú */
.sello-hoy{position:absolute;z-index:3;top:-22px;left:-22px;width:84px;height:84px;border-radius:50%;margin:0;border:2.5px solid var(--verde);color:var(--verde);background:color-mix(in srgb,var(--superficie) 75%,transparent);display:flex;flex-direction:column;align-items:center;justify-content:center;rotate:-14deg;font-family:var(--f-titulo);font-weight:700;line-height:1;pointer-events:none}
.sello-hoy::before{content:"";position:absolute;inset:4px;border-radius:50%;border:1px dashed currentColor;opacity:.7}
.sello-hoy-dia{font-size:12px;letter-spacing:.22em;text-transform:uppercase;margin-right:-.22em}
.sello-hoy-num{font-size:30px;margin-top:2px}
.sello-hoy.estampa{animation:estampar .7s .6s cubic-bezier(.3,1.5,.5,1) both}
.sello-hoy:not([hidden]) + .carta-ejemplo{margin-left:58px}
@media (max-width:900px){.sello-hoy{width:70px;height:70px;top:-18px;left:-10px}.sello-hoy:not([hidden]) + .carta-ejemplo{margin-left:52px}.sello-hoy-num{font-size:24px}.sello-hoy-dia{font-size:10.5px}}

/* Reseñas como notas de papel pegadas con cinta */
.resenas{padding-top:14px}
.resena,.resena:first-child{position:relative;padding:26px 28px 20px;margin-bottom:20px;border:0;border-radius:3px;background-color:var(--superficie);box-shadow:0 22px 36px -26px var(--sombra-fuerte),0 1px 3px var(--sombra);rotate:-1.1deg;transition:opacity .8s ease,translate .9s var(--curva),rotate .5s var(--curva),box-shadow .5s}
.resena:nth-child(2){rotate:.9deg;margin-left:22px}
.resena:nth-child(3){rotate:-.5deg;margin-left:6px}
/* Reseñas quietas (Luken 17/10): una luz salvia recorre despacio el borde de cada nota */
@property --giro{syntax:"<angle>";inherits:false;initial-value:0deg}
.resena::after{content:"";position:absolute;pointer-events:none;background:conic-gradient(from var(--giro),transparent 0 55%,var(--salvia) 75%,var(--acento) 86%,transparent 95%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}
.resena:nth-child(2)::after{--giro:120deg}.resena:nth-child(3)::after{--giro:240deg}
@media (prefers-reduced-motion: no-preference){
  .resena::after{animation:borde-gira 7s linear infinite}
  .resena:nth-child(2)::after{animation-delay:-2.3s}.resena:nth-child(3)::after{animation-delay:-4.6s}
}
@media (prefers-reduced-motion: reduce){.resena::after{background:color-mix(in srgb,var(--salvia) 45%,transparent)}}
@keyframes borde-gira{from{--giro:0deg}to{--giro:360deg}}
.resena::before{content:"";position:absolute;z-index:2;top:-13px;left:50%;width:96px;height:26px;translate:-50% 0;rotate:3deg;background:color-mix(in srgb,var(--salvia) 55%,transparent);clip-path:polygon(0 0,100% 0,97% 25%,100% 50%,97% 75%,100% 100%,0 100%,3% 75%,0 50%,3% 25%);pointer-events:none}
.resena:nth-child(2)::before{rotate:-4deg;left:30%}
.resena:nth-child(3)::before{rotate:2deg;left:68%}
@media (max-width:900px){
  .resenas{padding-top:18px;padding-bottom:16px}
  .resenas{display:grid;gap:30px}
  .resena,.resena:first-child,.resena:nth-child(2),.resena:nth-child(3){margin:0;padding:28px 22px 22px;border:0;border-radius:3px}
  .resena:nth-child(2){rotate:.7deg}
}

/* Pie: borde de mantel de cuadros y la firma de Kontxi */
.pie{border-top:0;padding-top:0}
.donde.seccion{padding-bottom:6px}
.mantel{height:30px;margin-bottom:26px;background-image:linear-gradient(90deg,color-mix(in srgb,var(--salvia) 34%,transparent) 50%,transparent 50%),linear-gradient(color-mix(in srgb,var(--salvia) 34%,transparent) 50%,transparent 50%);background-size:20px 20px;
  -webkit-mask:radial-gradient(7px at 50% 100%,transparent 96%,#000) 0 0/20px 100% repeat-x;mask:radial-gradient(7px at 50% 100%,transparent 96%,#000) 0 0/20px 100% repeat-x}
.firma{position:relative;display:inline-block;margin-left:8px;padding-bottom:4px}
.firma .mano{font-size:42px;color:var(--oscuro-texto)}
.trazo-firma-pie{left:-4%;bottom:-6px;width:108%;height:16px;stroke:var(--salvia);--tarde:1.5s}

/* Reservar con una taza que se llena al pasar el ratón */
.con-taza .taza{width:1.3em;height:1.3em;flex:none;overflow:visible}
.taza-borde{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.taza-cafe{fill:currentColor;opacity:.85;transform-box:fill-box;transform-origin:50% 100%;scale:1 .18;transition:scale .7s var(--curva)}
.taza-humo{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;opacity:0;transform-box:fill-box;transform-origin:50% 100%}
@media (hover:hover){
  .con-taza:hover .taza-cafe{scale:1 1}
  .con-taza:hover .taza-humo{animation:vapor 1.8s .45s ease-in-out infinite}
}


/* Remates: sin viudas en los párrafos, sin destello gris al tocar en el móvil, controles en verde */
.portada-sub,.cabeza-texto,.resena blockquote p{text-wrap:pretty}
a,button,summary,label,input{-webkit-tap-highlight-color:transparent}
:root{accent-color:var(--verde)}
.platos-rejilla img,.foto-equipo img{-webkit-user-drag:none;user-select:none}


/* Frases alrededor de la foto: etiquetas de papel con letra a mano, medio fuera de la foto */
@media (max-width:900px){
  .portada-foto{max-width:440px;padding:26px 22px 4px}
}


/* Frases sueltas en los huecos vacíos alrededor de la foto: se escriben solas y luego flotan muy suave */

/* ---------- Animaciones ---------- */
@keyframes subir{from{transform:translateY(.4em) rotate(4deg);opacity:0}}
@keyframes subir-suave{from{transform:translateY(14px);opacity:0}}
@keyframes escribir{from{clip-path:inset(-30% 100% -30% -5%)}to{clip-path:inset(-30% -10% -30% -5%)}}
@keyframes vapor{0%{transform:translateY(8px) scaleY(.85);opacity:0}25%{opacity:1}70%{opacity:.7}100%{transform:translateY(-12px) scaleY(1.05);opacity:0}}
@keyframes latido-estrella{40%{scale:1.35;rotate:18deg}}
@keyframes poner{from{opacity:0}to{opacity:1}}
@keyframes escribir-mano{to{clip-path:inset(0 -10% 0 0)}}
@keyframes trazar{to{stroke-dashoffset:0}}
@keyframes telon{0%{transform:scaleX(0);transform-origin:0 50%;animation-timing-function:cubic-bezier(.76,0,.24,1)}44%{transform:scaleX(1);transform-origin:0 50%}46%{transform:scaleX(1);transform-origin:100% 50%;animation-timing-function:cubic-bezier(.76,0,.24,1)}100%{transform:scaleX(0);transform-origin:100% 50%}}
@keyframes revela-foto{from{scale:1.22;filter:saturate(.55) brightness(1.12)}}
@keyframes sombra-entra{from{box-shadow:0 0 0 transparent,0 0 0 transparent}}
@keyframes destello{0%{translate:-120% 0;opacity:0}15%{opacity:1}100%{translate:330% 0;opacity:0}}
@keyframes balanceo{0%{rotate:-16deg;opacity:0}12%{opacity:1}30%{rotate:10deg}50%{rotate:-6deg}70%{rotate:3deg}86%{rotate:-1deg}100%{rotate:0deg}}
@keyframes balanceo-toque{20%{rotate:8deg}45%{rotate:-5deg}70%{rotate:2deg}100%{rotate:0deg}}
@keyframes estampar{0%{scale:2.4;opacity:0;rotate:-40deg}55%{scale:.92;opacity:1}75%{scale:1.04}100%{scale:1;rotate:-14deg}}
@keyframes tilin{20%{rotate:-9deg}45%{rotate:7deg}70%{rotate:-3deg}100%{rotate:0deg}}
@keyframes latido{0%{transform:scale(.6);opacity:.9}100%{transform:scale(1.8);opacity:0}}
.solo-imprimir{display:none}
/* Al imprimir sale solo la carta del día, en un folio, limpia y en claro */
@page{size:A4;margin:14mm}
@media print{
  :root{--fondo:#fff!important;--fondo-2:#fff!important;--superficie:#fff!important;--tinta:#1e261f!important;--tinta-2:#4a5548!important;--verde:#3d5838!important;--salvia:#9fb393!important;--salvia-titulo:#6f8a65!important;--salvia-claro:#e2e9d9!important;--linea:#d6dccd!important;--linea-fuerte:#c5cebb!important;--acento:#b5653a!important;color-scheme:light}
  html,body{background:#fff!important;color:#1e261f}
  *,*::before,*::after{animation:none!important;transition:none!important}
  body > :not(main),main > :not(#menu),#menu .cabeza,.menu-rejilla > :not(.carta),.linea-dia{display:none!important}
  #menu{padding:0!important;background:none!important}
  #menu::before,#menu::after{display:none!important}
  .envoltura{max-width:none;padding:0}
  .menu-rejilla{display:block}
  .revela{opacity:1!important;translate:none!important}
  .revela .palabra > span{translate:none!important}
  .revela .trazo path,.revela .dibujo{stroke-dashoffset:0!important}
  .imprimir-marca img{display:block;margin:0 auto}
  .carta{max-width:150mm;margin:0 auto;box-shadow:none;border:1px solid var(--linea);background:#fff!important;padding:12mm 12mm 8mm 18mm;break-inside:avoid}
  .solo-imprimir{display:block}
  .imprimir-marca{margin:0 0 4mm}
  .imprimir-marca img{width:26mm;height:auto}
  .imprimir-pie{margin:6mm 0 0;padding-top:4mm;border-top:1px dashed var(--linea);font-size:10pt;color:var(--tinta-2)}
  .sello-hoy{top:6mm;left:6mm}
  .carta-tel{color:inherit;text-decoration:none}
}

/* Ubicación (17/10): toda la tarjeta del mapa lleva a la ubicación real en Google Maps.
   El pin late con ondas y una ruta de puntos camina hasta la puerta. */
.mapa-enlace{position:absolute;inset:0;z-index:3;display:flex;align-items:flex-start;justify-content:flex-end;padding:14px;text-decoration:none;border-radius:inherit}
.mapa-enlace:focus-visible{outline:3px solid var(--salvia);outline-offset:-3px}
.mapa-abrir{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;border:1px solid var(--oscuro-linea);font-family:var(--f-titulo);font-weight:700;font-size:13px;letter-spacing:.02em;transition:background-color .3s,color .3s}
.mapa-abrir .ico{width:14px;height:14px}
.ruta-capa{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:1}
.ruta{fill:none;stroke:var(--acento);stroke-width:3;stroke-linecap:round;stroke-dasharray:.1 10;vector-effect:non-scaling-stroke;opacity:.95}
.pin-grande{z-index:2}
@media (max-width:1100px){.mapa{min-height:320px}}
.pin-onda{position:absolute;left:50%;top:calc(50% - 30px);width:64px;height:22px;margin-left:-32px;border:2px solid var(--salvia);border-radius:50%;opacity:0;pointer-events:none}
@media (prefers-reduced-motion: no-preference){
  .ruta{animation:ruta-anda 1.4s linear infinite}
  .pin-onda{animation:pin-onda 2.6s 1.8s ease-out infinite}
  .pin-onda.o2{animation-delay:3.1s}
  .mapa:hover .pin-grande{animation:pin-bota .7s cubic-bezier(.3,1.6,.5,1)}
  html.anima .mapa.revela:not(.visto) .ruta{opacity:0}
}
.ruta{transition:opacity .6s;transition-delay:calc(var(--d,0s) + 1.6s)}
@keyframes ruta-anda{to{stroke-dashoffset:-10.1}}
@keyframes pin-onda{0%{opacity:.8;scale:.3}100%{opacity:0;scale:2.2}}
@keyframes pin-bota{40%{translate:0 -14px}}

/* Más protagonismo a la foto de las cuatro (Luken 17/10): notas y frases más discretas y hacia fuera,
   la foto un poco más grande y con una luz cálida detrás */
.portada-foto{max-width:680px;padding-inline:42px}
@media (max-width:900px){.portada-foto{padding-inline:22px}}
.foto-equipo{position:relative;z-index:1}
.foto-equipo::before{content:"";position:absolute;inset:-6% -10% 4%;z-index:-1;border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--yema) 26%,transparent),transparent);pointer-events:none}
.foto-equipo .abrir-foto{box-shadow:0 50px 90px -40px var(--sombra-fuerte),0 6px 22px var(--sombra),0 0 0 1px rgba(0,0,0,.04)}

/* Foto de las cuatro más limpia (Luken 27/10): fuera frases y sello; solo la foto, la acuarela
   suave detrás y "el equipo de Kontxi" debajo. Esquinas a juego con el resto de fotos */
.foto-equipo .abrir-foto,.foto-equipo picture,.foto-equipo .abrir-foto::after,.telon{border-radius:var(--radio)}
.foto-equipo figcaption{margin-top:20px}

/* Firma de quien hizo la web: pequeña y discreta, abre WhatsApp con Luken */
.pie-credito{font-size:12.5px;opacity:.7}
.pie-credito a{text-decoration:none}
.pie-credito a:hover,.pie-credito a:focus-visible{text-decoration:underline;opacity:1}

/* Nombres de los platos (Luken 17/10): cada uno con un detalle distinto, hecho "a mano".
   Se dibujan cuando la foto entra en pantalla (.visto). */
.plato-pie{position:relative;width:max-content;max-width:100%}
.plato-pie::after{content:"";position:absolute;pointer-events:none}
/* Tortilla: en letra de Kontxi, terracota, con una ola debajo */
.pie-tortilla{font-family:var(--f-mano);font-weight:400;font-size:26px;letter-spacing:0;text-transform:none;color:var(--acento);line-height:1.1}
.pie-tortilla::after{left:0;right:0;bottom:-6px;height:8px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20120%2010%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20d%3D%22M2%206c10-6%2019%205%2029%200s19-6%2029%200%2019%205%2029%200%2019-6%2029%200%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222.4%22%20stroke-linecap%3D%22round%22/%3E%3C/svg%3E") 0 0/100% 100%;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20120%2010%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20d%3D%22M2%206c10-6%2019%205%2029%200s19-6%2029%200%2019%205%2029%200%2019-6%2029%200%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222.4%22%20stroke-linecap%3D%22round%22/%3E%3C/svg%3E") 0 0/100% 100%}
/* Chipirones: una gota de tinta que cae al lado */
.pie-tinta{padding-right:20px;color:var(--tinta)}
.pie-tinta::after{right:0;top:-2px;width:15px;height:15px;background:var(--tinta);-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M12%202c3%205%207%209%207%2013a7%207%200%200%201-14%200c0-4%204-8%207-13z%22/%3E%3Ccircle%20cx%3D%2220%22%20cy%3D%225%22%20r%3D%221.6%22/%3E%3Ccircle%20cx%3D%224%22%20cy%3D%227%22%20r%3D%221.1%22/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M12%202c3%205%207%209%207%2013a7%207%200%200%201-14%200c0-4%204-8%207-13z%22/%3E%3Ccircle%20cx%3D%2220%22%20cy%3D%225%22%20r%3D%221.6%22/%3E%3Ccircle%20cx%3D%224%22%20cy%3D%227%22%20r%3D%221.1%22/%3E%3C/svg%3E") center/contain no-repeat}
/* Espaguetis: un hilo de pasta enrollado debajo */
.pie-espagueti::after{left:0;right:0;height:10px;background:var(--verde);-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20140%2014%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20d%3D%22M2%209c10%200%2014-7%209-7s-4%2010%205%2010%2014-8%209-8-4%2010%205%2010%2014-8%209-8-4%2010%205%2010%2014-8%209-8-4%2010%205%2010%2014-8%209-8-4%2010%205%2010%2014-6%2022-6%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22/%3E%3C/svg%3E") 0 0/100% 100%;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20140%2014%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20d%3D%22M2%209c10%200%2014-7%209-7s-4%2010%205%2010%2014-8%209-8-4%2010%205%2010%2014-8%209-8-4%2010%205%2010%2014-8%209-8-4%2010%205%2010%2014-8%209-8-4%2010%205%2010%2014-6%2022-6%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22/%3E%3C/svg%3E") 0 0/100% 100%}
/* Tarta de queso: etiqueta de papel colgada, como en la vitrina */
.pie-etiqueta{padding:4px 12px 4px 20px;background:var(--superficie);border:1px solid var(--linea-fuerte);border-radius:3px 10px 10px 3px;color:var(--verde);rotate:-2deg;box-shadow:0 6px 12px -8px var(--sombra-fuerte);transform-origin:8px 50%}
.pie-etiqueta::after{left:7px;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;border:1.5px solid var(--salvia)}
/* Tostadas con tomate y aguacate: subrayado de rotulador verde aguacate */
.pie-marcador{color:var(--tinta);background:linear-gradient(transparent 52%,color-mix(in srgb,var(--salvia) 75%,transparent) 45% 95%,transparent 95%) no-repeat 0 0/100% 100%;padding-inline:3px}
.pie-marcador::after{display:none}
/* Mermelada: rodeada a mano, como quien marca su favorita */
.pie-circulo{color:var(--tinta);padding:4px 8px}
.pie-circulo::after{inset:-6px -10px -6px -8px;background:var(--yema);-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20200%2060%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20d%3D%22M150%208C110%200%2040%202%2014%2018S8%2054%2070%2056s124-6%20126-26S150%202%2096%206%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222.2%22%20stroke-linecap%3D%22round%22/%3E%3C/svg%3E") 0 0/100% 100%;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20200%2060%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20d%3D%22M150%208C110%200%2040%202%2014%2018S8%2054%2070%2056s124-6%20126-26S150%202%2096%206%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222.2%22%20stroke-linecap%3D%22round%22/%3E%3C/svg%3E") 0 0/100% 100%}
@media (prefers-reduced-motion: no-preference){
  .pie-tortilla::after,.pie-espagueti::after,.pie-circulo::after{clip-path:inset(-20% 0 -20% 0);transition:clip-path 1.1s ease-out;transition-delay:calc(var(--d,0s) + .9s)}
  .pie-tinta::after{transition:translate .7s cubic-bezier(.3,1.6,.5,1),opacity .3s;transition-delay:calc(var(--d,0s) + 1s)}
  .pie-etiqueta{transition:rotate 1.2s cubic-bezier(.3,1.8,.5,1);transition-delay:calc(var(--d,0s) + .8s)}
  .pie-marcador{transition:background-size .9s ease-out;transition-delay:calc(var(--d,0s) + .9s)}
  .plato:hover .pie-etiqueta{rotate:2deg}
  .plato:hover .pie-tinta::after{animation:gota-cae .8s ease-in}
}
@keyframes gota-cae{50%{translate:0 6px}}
.pie-espagueti{margin-bottom:10px}.pie-espagueti::after{bottom:-10px}

/* Cada antetítulo con su propio dibujito (Luken 17/10: no repetir el mismo icono) */
.ante-menu::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.9%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%2012h18c0%205-4%208-9%208s-9-3-9-8z%22/%3E%3Cpath%20d%3D%22M9%209c-1.2-1.2%201.2-2.4%200-4M14%209c-1.2-1.2%201.2-2.4%200-4%22/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.9%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%2012h18c0%205-4%208-9%208s-9-3-9-8z%22/%3E%3Cpath%20d%3D%22M9%209c-1.2-1.2%201.2-2.4%200-4M14%209c-1.2-1.2%201.2-2.4%200-4%22/%3E%3C/svg%3E")}
.ante-opi::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.9%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%2011.5c0%204-3.6%207-8%207-1.3%200-2.5-.2-3.6-.7L4%2019.5l1.3-3.6C4.5%2014.6%204%2013.1%204%2011.5c0-4%203.6-7%208-7s8%203%208%207z%22/%3E%3Cpath%20d%3D%22M12%2014.6s-3-1.8-3-3.6a1.6%201.6%200%200%201%203-.8%201.6%201.6%200%200%201%203%20.8c0%201.8-3%203.6-3%203.6z%22/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.9%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%2011.5c0%204-3.6%207-8%207-1.3%200-2.5-.2-3.6-.7L4%2019.5l1.3-3.6C4.5%2014.6%204%2013.1%204%2011.5c0-4%203.6-7%208-7s8%203%208%207z%22/%3E%3Cpath%20d%3D%22M12%2014.6s-3-1.8-3-3.6a1.6%201.6%200%200%201%203-.8%201.6%201.6%200%200%201%203%20.8c0%201.8-3%203.6-3%203.6z%22/%3E%3C/svg%3E")}
.ante-res::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.9%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223.5%22%20y%3D%225%22%20width%3D%2217%22%20height%3D%2215%22%20rx%3D%222.5%22/%3E%3Cpath%20d%3D%22M3.5%2010h17M8%203v4M16%203v4%22/%3E%3Cpath%20d%3D%22M9.5%2015l1.8%201.8%203.6-3.6%22/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.9%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223.5%22%20y%3D%225%22%20width%3D%2217%22%20height%3D%2215%22%20rx%3D%222.5%22/%3E%3Cpath%20d%3D%22M3.5%2010h17M8%203v4M16%203v4%22/%3E%3Cpath%20d%3D%22M9.5%2015l1.8%201.8%203.6-3.6%22/%3E%3C/svg%3E")}
.ante-llamar::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.9%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M21%2016.5v3a1.8%201.8%200%200%201-2%201.8A17.8%2017.8%200%200%201%202.7%205a1.8%201.8%200%200%201%201.8-2h3a1.8%201.8%200%200%201%201.8%201.5l.6%202.6a1.8%201.8%200%200%201-.5%201.7L8%2010.2a14%2014%200%200%200%205.8%205.8l1.4-1.4a1.8%201.8%200%200%201%201.7-.5l2.6.6a1.8%201.8%200%200%201%201.5%201.8z%22/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.9%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M21%2016.5v3a1.8%201.8%200%200%201-2%201.8A17.8%2017.8%200%200%201%202.7%205a1.8%201.8%200%200%201%201.8-2h3a1.8%201.8%200%200%201%201.8%201.5l.6%202.6a1.8%201.8%200%200%201-.5%201.7L8%2010.2a14%2014%200%200%200%205.8%205.8l1.4-1.4a1.8%201.8%200%200%201%201.7-.5l2.6.6a1.8%201.8%200%200%201%201.5%201.8z%22/%3E%3C/svg%3E")}
.ante-donde::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.9%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2021s-6.5-5.6-6.5-11a6.5%206.5%200%200%201%2013%200c0%205.4-6.5%2011-6.5%2011z%22/%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2210%22%20r%3D%222.3%22/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.9%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2021s-6.5-5.6-6.5-11a6.5%206.5%200%200%201%2013%200c0%205.4-6.5%2011-6.5%2011z%22/%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2210%22%20r%3D%222.3%22/%3E%3C/svg%3E")}
.antetitulo::before{width:17px;height:17px}

/* Nombres de platos (Luken 17/10, 2ª vuelta): todos a mano como la tortilla, cada uno del color de su plato */
:root{--c-pasta:#4b4f58;--c-queso:#b8862a;--c-aguacate:#5f7f2e;--c-mermelada:#c9692a}
.plato-pie.pie-tinta,.plato-pie.pie-espagueti,.plato-pie.pie-etiqueta,.plato-pie.pie-marcador,.plato-pie.pie-circulo{font-family:var(--f-mano);font-weight:400;font-size:26px;letter-spacing:0;text-transform:none;line-height:1.1;padding:0;margin-bottom:0;background:none;border:0;box-shadow:none;rotate:none;border-radius:0}
.plato-pie.pie-tinta{color:var(--c-tinta)}.plato-pie.pie-espagueti{color:var(--c-pasta)}.plato-pie.pie-etiqueta{color:var(--c-queso)}.plato-pie.pie-marcador{color:var(--c-aguacate)}.plato-pie.pie-circulo{color:var(--c-mermelada)}
.plato-pie:is(.pie-tinta,.pie-espagueti,.pie-etiqueta,.pie-marcador,.pie-circulo)::after{display:block;inset:auto 0 -6px 0;width:auto;height:8px;margin:0;top:auto;border:0;border-radius:0;translate:none;opacity:1;background:currentColor;-webkit-mask:var(--ola) 0 0/100% 100%;mask:var(--ola) 0 0/100% 100%;animation:none}
:root{--ola:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20120%2010%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20d%3D%22M2%206c10-6%2019%205%2029%200s19-6%2029%200%2019%205%2029%200%2019-6%2029%200%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222.4%22%20stroke-linecap%3D%22round%22/%3E%3C/svg%3E")}
@media (prefers-reduced-motion: no-preference){
  .plato-pie:is(.pie-tinta,.pie-espagueti,.pie-etiqueta,.pie-marcador,.pie-circulo)::after{clip-path:inset(-20% 0 -20% 0);transition:clip-path 1.1s ease-out;transition-delay:calc(var(--d,0s) + .9s)}
}
.plato:hover .pie-etiqueta{rotate:none}

/* Mapa en tonos de papel (Luken 17/10: "cambia los colores"): papel crema, calles a lápiz,
   la calle de Kontxi y el pin en terracota, la ruta en verde */
.mapa{--m-papel:#f3ecdc;--m-lapiz:rgba(74,62,40,.22);--m-tinta:#3a3226;background-color:var(--m-papel);border:1px solid rgba(74,62,40,.12);box-shadow:inset 0 0 60px rgba(150,110,60,.18)}
.papel .mapa{background-image:url(../img/papel.webp);background-size:200px}
.mapa .calles path{stroke:var(--m-lapiz)}
.mapa .calle-kontxi{stroke:var(--acento);opacity:.8}
.mapa .ruta{stroke:#476241}
.mapa-acuarela{filter:hue-rotate(-62deg) saturate(.9) brightness(1.08);opacity:.5}
.mapa-mano{color:var(--m-tinta);text-shadow:0 0 12px var(--m-papel),0 0 5px var(--m-papel)}
.pin-grande{fill:var(--acento);stroke:var(--m-papel);stroke-width:1.6;filter:drop-shadow(0 8px 6px rgba(80,50,20,.35))}
.pin-onda{border-color:var(--acento)}
.mapa-abrir{background:var(--m-tinta);border-color:transparent;color:var(--m-papel)}
.mapa-enlace:hover .mapa-abrir{background:var(--acento);color:#fff}
.mapa-enlace{color:var(--m-tinta)}
.platos-rejilla .plato-pie{margin-bottom:9px}

/* Luken 17/10: fotos de platos quietas (sin zoom al aparecer ni al pasar el ratón) y foto de las cuatro sin inclinarse */
.plato .abrir-foto,html.anima .plato .abrir-foto{clip-path:none!important;transition:none}
.plato img,html.anima .plato img,.plato .abrir-foto:hover img{scale:1!important;transform:none!important;transition:none}
.foto-equipo .abrir-foto{transform:none!important}
.foto-equipo .abrir-foto:hover img{scale:1}

/* Nombres de los platos: siempre visibles, con la ola ya dibujada, un brillo que la recorre y brillitos que titilan */
:root{--c-tinta:#0f1014}
.platos-rejilla .plato-pie::after,html.anima .plato .plato-pie::after{clip-path:none!important;transition:none}
@media (prefers-reduced-motion: no-preference){
  .platos-rejilla .plato-pie::after{background:linear-gradient(100deg,currentColor 0 38%,color-mix(in srgb,currentColor 25%,#fff) 50%,currentColor 62% 100%) 0 0/250% 100%;animation:brillo-ola 3.2s ease-in-out infinite}
  .plato:nth-child(2) .plato-pie::after{animation-delay:.5s}.plato:nth-child(3) .plato-pie::after{animation-delay:1s}
  .plato:nth-child(4) .plato-pie::after{animation-delay:1.5s}.plato:nth-child(5) .plato-pie::after{animation-delay:2s}.plato:nth-child(6) .plato-pie::after{animation-delay:2.5s}
}
@keyframes brillo-ola{from{background-position:100% 0}to{background-position:-50% 0}}


/* Latido en los botones de reservar y llamar (Luken 17/10): doble pulso como un corazón y una onda suave alrededor */
@media (prefers-reduced-motion: no-preference){
  .boton[href="#reservar"],.boton[href^="tel:"]{animation:latido-boton 6s ease-in-out infinite}
  .boton[href="#reservar"]:hover,.boton[href^="tel:"]:hover,.boton[href="#reservar"]:focus-visible,.boton[href^="tel:"]:focus-visible{animation-play-state:paused}
}
@keyframes latido-boton{
  0%,100%{scale:1;box-shadow:0 0 0 0 color-mix(in srgb,var(--salvia) 50%,transparent)}
  18%{scale:1.05}
  32%{scale:1.01}
  46%{scale:1.04;box-shadow:0 0 0 5px color-mix(in srgb,var(--salvia) 35%,transparent)}
  75%{scale:1;box-shadow:0 0 0 16px color-mix(in srgb,var(--salvia) 0%,transparent)}
}

/* Nombres de los platos serios y quietos (Luken 17/10): misma letra que el resto, sin ola, brillos ni animación */
.platos-rejilla .plato-pie,.platos-rejilla .plato-pie[class*="pie-"]{font-family:var(--f-titulo);text-transform:uppercase;line-height:1.4;color:var(--tinta-2);padding:0;margin:10px 0 0;background:none;border:0;box-shadow:none;rotate:none;border-radius:0;width:auto;transition:none}
.platos-rejilla .plato-pie::after,.platos-rejilla .plato-pie::before{content:none!important;display:none!important;animation:none!important}

/* Frases de la zona de abajo de la foto, quietas (Luken 17/10): ni se escriben ni flotan */

/* Nombres de platos: formales y más gruesos, cada uno del color de su plato (Luken 17/10) */
.platos-rejilla .plato-pie,.platos-rejilla .plato-pie[class*="pie-"]{font-size:14.5px;font-weight:700;letter-spacing:.07em;-webkit-text-stroke:.35px currentColor}
.platos-rejilla .plato-pie.pie-tortilla{color:var(--acento)}
.platos-rejilla .plato-pie.pie-tinta{color:var(--c-tinta)}
.platos-rejilla .plato-pie.pie-espagueti{color:var(--c-pasta)}
.platos-rejilla .plato-pie.pie-etiqueta{color:var(--c-queso)}
.platos-rejilla .plato-pie.pie-marcador{color:var(--c-aguacate)}
.platos-rejilla .plato-pie.pie-circulo{color:var(--c-mermelada)}

/* Luken 17/10: nombres de platos en negro (blanco en modo oscuro) y sin latido en la barra de abajo del móvil */
.platos-rejilla .plato-pie.plato-pie{color:var(--tinta)}
.barra-movil .boton{animation:none!important}


/* Luken 17/10 14:10: sin latido en "Reservar mesa"; solo late "Llamar" */

/* KONTXI en acuarela con degradado animado y blanco (versión que Luken dijo "me encanta" el 17/10 12:46; restaurada 14:12) */
:root{--k-l1:#2f4a33;--k-l2:#6f8c5f;--k-g1:#a6b89b;--k-g2:#6f8c5f;--k-g3:#476241;--k-blanco:#ffffff}
#g-cuenco .g1{stop-color:var(--k-g1)}#g-cuenco .g2{stop-color:var(--k-g2)}#g-cuenco .g3{stop-color:var(--k-g3)}
.kontxi .cuenco{fill:url(#g-cuenco)}
@media (prefers-reduced-motion: no-preference){
  .kontxi .l:not(.bol){animation:subir .9s var(--curva) both,k-brillo 5s ease-in-out infinite;animation-delay:calc(.1s + var(--i)*.06s),calc(var(--i)*.25s)}
  #g-cuenco .g2{animation:k-taza 5s ease-in-out infinite}
  #g-cuenco .g1{animation:k-taza-1 5s ease-in-out infinite}
  .kontxi .vapor path{animation-name:vapor,k-vapor;animation-duration:3.4s,5s;animation-timing-function:ease-in-out;animation-iteration-count:infinite}
}
@keyframes k-brillo{0%{background-position:100% 0}60%,100%{background-position:0 0}}
@keyframes k-taza{0%,100%{stop-color:var(--k-g2)}40%{stop-color:var(--k-blanco)}}
@keyframes k-taza-1{0%,100%{stop-color:var(--k-g1)}30%{stop-color:var(--k-g2)}}
@keyframes k-vapor{0%,100%{stroke:var(--k-vapor)}50%{stroke:var(--k-blanco)}}
@media print{.kontxi .l:not(.bol){background:none;color:#2f4a33}}

/* Luken 17/10 14:14: ningún botón late */
.boton[href="#reservar"],.boton[href^="tel:"]{animation:none!important}

/* Luken 17/10 16:23: vapor de KONTXI blanco, sin destello blanco; botones verdes */
:root{--k-vapor:#ffffff}
.kontxi .l:not(.bol){background:linear-gradient(105deg,var(--k-l1) 0%,var(--k-l2) 50%,var(--k-l1) 100%) 100% 0/300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent}
.kontxi .vapor path{stroke:#fff;animation-name:vapor!important;filter:drop-shadow(0 0 1.5px rgba(47,74,51,.55)) drop-shadow(0 1px 3px rgba(47,74,51,.25))}
#g-cuenco .g1,#g-cuenco .g2{animation:none!important}
.boton.primario{--boton:#476241;--relleno:#2f4a33;color:#fff}

/* Luken 17/10 16:24: carta del menú con detalles de papel profesionales (marco doble, esquinas, separadores, pliegue y canto) */
.carta{border-radius:3px;box-shadow:0 36px 70px -44px var(--sombra-fuerte),0 2px 8px var(--sombra),0 0 0 1px rgba(70,90,60,.08),inset 0 1px 0 rgba(255,255,255,.6)}
.carta::after{content:"";position:absolute;inset:12px;pointer-events:none;border:1px solid rgba(118,148,104,.75);border-radius:2px;box-shadow:inset 0 0 0 3px transparent,inset 0 0 0 4px rgba(118,148,104,.4);
  background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2040%2040%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%238aa57c%22%20stroke-linecap%3D%22round%22%20transform%3D%22%22%3E%3Cpath%20d%3D%22M3%2037V12a9%209%200%200%201%209-9h25%22%20stroke-width%3D%221.6%22/%3E%3Cpath%20d%3D%22M9%2037V17a8%208%200%200%201%208-8h20%22%20stroke-width%3D%22.9%22%20opacity%3D%22.7%22/%3E%3Cpath%20d%3D%22M15%2021c1-4%203-6%207-7-1%204-3%206-7%207z%22%20fill%3D%22%238aa57c%22%20stroke%3D%22none%22/%3E%3C/g%3E%3C/svg%3E") 0 0/46px no-repeat,url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2040%2040%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%238aa57c%22%20stroke-linecap%3D%22round%22%20transform%3D%22matrix%28-1%200%200%201%2040%200%29%22%3E%3Cpath%20d%3D%22M3%2037V12a9%209%200%200%201%209-9h25%22%20stroke-width%3D%221.6%22/%3E%3Cpath%20d%3D%22M9%2037V17a8%208%200%200%201%208-8h20%22%20stroke-width%3D%22.9%22%20opacity%3D%22.7%22/%3E%3Cpath%20d%3D%22M15%2021c1-4%203-6%207-7-1%204-3%206-7%207z%22%20fill%3D%22%238aa57c%22%20stroke%3D%22none%22/%3E%3C/g%3E%3C/svg%3E") 100% 0/46px no-repeat,url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2040%2040%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%238aa57c%22%20stroke-linecap%3D%22round%22%20transform%3D%22matrix%281%200%200%20-1%200%2040%29%22%3E%3Cpath%20d%3D%22M3%2037V12a9%209%200%200%201%209-9h25%22%20stroke-width%3D%221.6%22/%3E%3Cpath%20d%3D%22M9%2037V17a8%208%200%200%201%208-8h20%22%20stroke-width%3D%22.9%22%20opacity%3D%22.7%22/%3E%3Cpath%20d%3D%22M15%2021c1-4%203-6%207-7-1%204-3%206-7%207z%22%20fill%3D%22%238aa57c%22%20stroke%3D%22none%22/%3E%3C/g%3E%3C/svg%3E") 0 100%/46px no-repeat,url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2040%2040%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%238aa57c%22%20stroke-linecap%3D%22round%22%20transform%3D%22matrix%28-1%200%200%20-1%2040%2040%29%22%3E%3Cpath%20d%3D%22M3%2037V12a9%209%200%200%201%209-9h25%22%20stroke-width%3D%221.6%22/%3E%3Cpath%20d%3D%22M9%2037V17a8%208%200%200%201%208-8h20%22%20stroke-width%3D%22.9%22%20opacity%3D%22.7%22/%3E%3Cpath%20d%3D%22M15%2021c1-4%203-6%207-7-1%204-3%206-7%207z%22%20fill%3D%22%238aa57c%22%20stroke%3D%22none%22/%3E%3C/g%3E%3C/svg%3E") 100% 100%/46px no-repeat,
  linear-gradient(180deg,transparent 49.7%,rgba(60,70,50,.045) 50%,rgba(255,255,255,.45) 50.25%,transparent 50.8%);
  margin:-5px}
.carta-lista{gap:0}
.carta-lista > div{padding:18px 0}
.carta-lista > div:first-child{padding-top:4px}
.carta-lista > div + div{background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20160%2014%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%238aa57c%22%20stroke-linecap%3D%22round%22%3E%3Cpath%20d%3D%22M4%207h58M98%207h58%22%20stroke-width%3D%221%22/%3E%3Cpath%20d%3D%22M66%207h6M88%207h6%22%20stroke-width%3D%221.4%22/%3E%3C/g%3E%3Cpath%20d%3D%22M80%201.5c3.5%202%203.5%209%200%2011-3.5-2-3.5-9%200-11z%22%20fill%3D%22%238aa57c%22/%3E%3Ccircle%20cx%3D%2262%22%20cy%3D%227%22%20r%3D%221.4%22%20fill%3D%22%238aa57c%22/%3E%3Ccircle%20cx%3D%2298%22%20cy%3D%227%22%20r%3D%221.4%22%20fill%3D%22%238aa57c%22/%3E%3C/svg%3E") 50% 0/150px 14px no-repeat;padding-top:30px}
.carta-cabeza{position:relative;padding-bottom:6px}
.carta-nota{display:flex;align-items:center;justify-content:center;gap:12px}
.carta-nota::before,.carta-nota::after{content:"";width:34px;height:1px;background:rgba(138,165,124,.7)}
.carta-tel{border-top-color:rgba(138,165,124,.55)}
@media (max-width:900px){.carta::after{inset:9px;margin:-4px;background-size:36px,36px,36px,36px,auto}}
@media print{.carta::after{display:none}}

/* Luken 17/10 16:31: las fotos tenían que salir antes (la entrada de la foto de las cuatro tardaba ~3 s) */
@media (prefers-reduced-motion: no-preference){
  .telon{animation-duration:.8s;animation-delay:0s}
  .foto-equipo picture{animation-delay:.3s}
  .foto-equipo img{animation-duration:1.1s;animation-delay:.28s}
  .foto-equipo .abrir-foto{animation-delay:.28s}
  .foto-equipo picture::before{animation-delay:.9s}
  .foto-equipo .mano{animation-delay:.9s}
  .foto-equipo .trazo-firma path{animation-delay:1.5s}
}

/* Luken 17/10 16:42: estado abierto/cerrado como distintivo limpio (sin cuerda ni balanceo): verde abierto, rojo cerrado */
.cartel{align-self:center;padding-top:0;margin-left:6px;animation:none!important}
.cartel::before,.cartel::after{content:none}
.cartel-tabla{display:inline-flex;align-items:center;gap:7px;padding:5px 11px 5px 9px;border-radius:999px;border:1px solid #efc8c2;background:#fbecea;color:#a3362c;box-shadow:none;font-size:10.5px;letter-spacing:.16em;line-height:1}
.cartel-tabla::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}
.cartel-tabla .si-abierto,.cartel-tabla .si-cerrado{color:inherit}
html.abierto-ahora .cartel-tabla{border-color:#c6dcc0;background:#ebf3e7;color:#2f5a34}
html.abierto-ahora .cartel-tabla::before{box-shadow:0 0 0 0 rgba(63,138,79,.5)}
@media (prefers-reduced-motion: no-preference){html.abierto-ahora .cartel-tabla::before{animation:pulso-estado 2.4s ease-out infinite}}
@keyframes pulso-estado{0%{box-shadow:0 0 0 0 rgba(63,138,79,.45)}70%,100%{box-shadow:0 0 0 7px rgba(63,138,79,0)}}
@media (max-width:900px){.cartel{margin-left:2px;padding-top:0}.cartel-tabla{font-size:10px;padding:4px 9px 4px 8px}}

/* ── Revisión profesional 17/10 (Luken): pulido sin cambiar la identidad ── */
/* Portada: los tres datos siempre en una fila en portátiles pequeños (antes «19 €» bajaba sola a otra línea a 1024 px) */
@media (min-width:901px) and (max-width:1200px){.datos{flex-wrap:nowrap}.datos li{padding-right:16px}.datos li + li{padding-left:16px}.datos b{font-size:20px}}
/* Tablet: el texto de la portada no se estira a todo el ancho; botones a un tamaño cómodo */
@media (min-width:601px) and (max-width:900px){.portada-sub{max-width:34em}.portada-acciones,.datos{max-width:560px}}
/* Titulares: cortes de línea equilibrados */
.cabeza h2,.opiniones-cabeza h2,.donde h2,.carta-cabeza h3{text-wrap:balance}
/* Opiniones en escritorio: el titular y la nota acompañan al bajar por las reseñas */
@media (min-width:901px){.opiniones-cabeza{position:sticky;top:calc(var(--cabecera) + 40px)}}
/* Reseñas: la luz recorre el borde real de la nota (antes iba 6 px por fuera y parecía un marco descolocado) */
.resena::after{inset:-1px;border-radius:4px;padding:1.5px}
/* Foco de teclado visible también sobre el fondo oscuro de «Dónde estamos» y el pie */
.donde :focus-visible,.pie :focus-visible{outline-color:#cfe0c4}
/* Zonas táctiles de 44 px para el dedo sin mover nada: el relleno de más se compensa con margen negativo
   (o con una capa invisible encima cuando el elemento lleva adornos colocados respecto a su borde) */
.enlace-boton{padding-block:12px;margin-block:-12px}
.tel-grande::before{content:"";position:absolute;inset:-6px -4px}
.enlace-flecha{padding-top:14px;margin-top:-8px}
.opiniones-enlaces .enlace-suave{padding-bottom:20px;margin-bottom:-20px}
.notas summary{position:relative}.notas summary::after{content:"";position:absolute;inset:-2px 0}
.carta-tel{padding-bottom:1px;margin-bottom:-1px}
.cartel{padding-block:9px;margin-block:-9px}
/* Imágenes: mientras cargan, un tono de fondo en vez de un hueco vacío */
.plato img,.resena-plato img{background:var(--salvia-claro)}
/* Aviso legal dentro del panel de privacidad */
.privacidad h3{font-family:var(--f-titulo);font-weight:700;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--verde);margin:22px 0 8px}
.privacidad .legal-bloque h3{margin-top:0}
.privacidad .legal-sub{padding-top:18px;border-top:1px solid var(--linea)}

/* Menú del día en foto (js/menu.js) */
.carta-foto{margin:24px 0 0}
.carta-foto a{display:block;border-radius:4px;overflow:hidden;box-shadow:0 18px 36px -22px var(--sombra-fuerte),0 1px 4px var(--sombra)}
.carta-foto img{display:block;width:100%;height:auto;max-height:640px;object-fit:contain;background:var(--superficie)}
.carta-foto figcaption{margin-top:10px;font-size:24px;color:var(--verde)}
.carta.con-foto .carta-lista,.carta.con-foto .carta-nota,.carta.con-foto .si-gen{display:none}
.carta.con-foto .si-hoy{display:revert}

/* ---------- Tortillas por encargo ---------- */
.tortillas-rejilla{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(20px,3vw,40px);align-items:start}
.tortillas-rejilla[hidden]{display:none}
.tortillas-carta{display:grid;gap:26px}
.tortillas-grupo{display:flex;align-items:center;gap:12px;width:100%}
.tortillas-grupo b{font-family:var(--f-titulo);font-size:15px;letter-spacing:.02em;text-transform:none;color:var(--tinta);background:var(--salvia-claro);border-radius:8px;padding:3px 10px}
.tortillas-lista{list-style:none;margin:0;padding:0}
.tortillas-lista li{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:60px;padding:6px 0;border-bottom:1px solid var(--linea)}
.tortillas-lista li:last-child{border-bottom:0}
.t-nombre{font-size:17px;line-height:1.3;transition:color .2s}
.tortillas-lista li.elegida .t-nombre{color:var(--verde);font-weight:700}
.tortillas-lista .contador{flex:none;gap:4px}
.tortillas-lista .contador output{font-size:21px;min-width:2ch}
.tortillas-lista li:not(.elegida) .contador output{color:var(--tinta-2);opacity:.6}
.tortillas-datos{display:grid;gap:22px}
.tortillas-pedido{background:var(--fondo-2);border-radius:16px;padding:14px 16px}
.tortillas-vacio{margin:0;font-size:15.5px;color:var(--tinta-2)}
.tortillas-elegidas{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:15.5px}
.tortillas-elegidas li{display:flex;justify-content:space-between;gap:12px}
.tortillas-elegidas b{font-variant-numeric:tabular-nums;white-space:nowrap}
.tortillas-total{display:flex;justify-content:space-between;align-items:baseline;margin:10px 0 0;padding-top:10px;border-top:1px solid var(--linea-fuerte);font-family:var(--f-titulo);font-weight:700}
.tortillas-total b{font-size:22px;font-variant-numeric:tabular-nums}
.campo select{font-family:var(--f-texto);font-size:17px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--tinta);background:var(--fondo) url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23576354%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M6%209l6%206%206-6%22/%3E%3C/svg%3E") no-repeat right 14px center/18px;border:1.5px solid var(--linea);border-radius:14px;padding:12px 44px 12px 14px;min-height:50px;width:100%;min-width:0;-webkit-appearance:none;appearance:none;cursor:pointer;transition:border-color .25s,box-shadow .25s}
.campo select:hover{border-color:var(--linea-fuerte)}
.campo select:focus{outline:none;border-color:var(--verde);box-shadow:0 0 0 4px color-mix(in srgb,var(--salvia) 30%,transparent)}
.campo select[aria-invalid="true"]{border-color:var(--error);box-shadow:0 0 0 4px color-mix(in srgb,var(--error) 14%,transparent)}
.tortillas-datos .notas{margin-top:-8px}
.tortillas-datos .estado-form,.tortillas-datos .legal{margin-top:-8px}
.tortillas-hecho{max-width:560px;margin:0 auto}
.tortillas-hecho-texto{margin:14px 0 0;font-size:17.5px;max-width:30em}
.tortillas-hecho-nota{margin:10px 0 0;font-size:15px;color:var(--tinta-2)}
@media (max-width:980px){.tortillas-rejilla{grid-template-columns:1fr}}
@media (max-width:640px){
  .tortillas-carta,.tortillas-datos{border-radius:20px;margin-inline:-6px}
  .t-nombre{font-size:16.5px}
}
@media print{.tortillas{display:none}}

/* Con «reducir movimiento» activado, nada se mueve sin parar: los latidos se quitan y el vapor del cuenco queda quieto */
@media (prefers-reduced-motion: reduce){
  .estado.abierto .punto::after,.linea-ahora::after,.momento.es-ahora::before{animation:none;opacity:0}
  .kontxi .vapor path{animation:none!important;opacity:.8}
  html{scroll-behavior:auto}
}
