/* Remo Alta Cocina · hecho por @zilidev
   Mundo: su logo nuevo. Verde petróleo y verde oliva sobre crema claro; tipografía geométrica como "ALTA COCINA". */
:root{
  --madera:#1F3438; --madera2:#28454A; --papel:#F6F3EA; --papel2:#E2DCCB; --tinta:#1F2E31;
  --crema:#F6F4EE; --suave:#B9C6C3; --rosa:#66703A; --rosa2:#7F884B; --verde:#7F884B; --rojo:#36616A; --cafe:#36616A;
  --linea:rgba(246,244,238,.14);
  --script:Jost,"Futura","Century Gothic",sans-serif;
  --sans:Jost,"Futura","Century Gothic",system-ui,sans-serif;
  --ease:cubic-bezier(.23,1,.32,1);
  --max:1120px;
  color-scheme:dark;
}
*{box-sizing:border-box;margin:0;padding:0}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:130px;caret-color:var(--rosa);scrollbar-color:var(--cafe) var(--madera)}
body{font-family:var(--sans);font-size:17px;line-height:1.5;color:var(--crema);-webkit-font-smoothing:antialiased;overflow-x:clip;
  background:var(--madera)}
::selection{background:var(--rosa);color:#fff}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
button,input{font:inherit;color:inherit}
h1,h2,h3{font-weight:600;line-height:1.02;letter-spacing:-.01em;text-wrap:balance}
p{text-wrap:pretty}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
:focus-visible{outline:2px solid var(--rosa2);outline-offset:3px}

/* etiqueta de pincel, como en su menú */
/* etiqueta: la tipografía espaciada de "ALTA COCINA" */
.pincel{display:inline-block;font-family:var(--sans);font-weight:500;text-transform:uppercase;letter-spacing:.22em;font-size:.62em;color:var(--verde);line-height:1.2}
.portada .pincel{color:#C9D08F}

.propuesta{background:var(--papel);color:var(--tinta);font-size:14px;text-align:center;padding:8px 16px}
.propuesta b{font-weight:600}

/* barra */
.barra{position:sticky;top:0;z-index:40;background:var(--crema);border-bottom:1px solid var(--papel2)}
.barra .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;height:72px}
.logo img{height:50px;width:auto}
.menu{display:flex;gap:24px;font-size:16px}
.menu a{text-decoration:none;color:var(--cafe);font-weight:500;transition:color 200ms ease}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 22px;border-radius:999px;border:2px solid transparent;font-weight:600;text-decoration:none;transition:transform 160ms var(--ease),background-color 200ms ease,border-color 200ms ease}
.btn:active{transform:scale(.97)}
.btn svg{width:20px;height:20px}
.btn-rosa{background:var(--rosa);color:#fff}
.btn-linea{border-color:rgba(245,238,226,.4);color:var(--crema)}
.barra .btn{min-height:42px;padding:8px 16px;font-size:15px}
@media (hover:hover) and (pointer:fine){.menu a:hover{color:var(--verde)}.btn-rosa:hover{background:var(--rosa2)}.btn-linea:hover{border-color:var(--crema)}}
@media (max-width:760px){.menu{display:none}.logo img{height:40px}}

/* portada */
.portada{position:relative;min-height:min(86svh,760px);display:flex;align-items:flex-end;overflow:hidden;isolation:isolate}
.portada>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transform:scale(1.04);animation:acerca 14s var(--ease) forwards}
.portada::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(31,52,56,.2) 0%,rgba(31,52,56,.6) 45%,var(--madera) 100%)}
@keyframes acerca{to{transform:scale(1)}}
.portada .wrap{width:100%;padding-bottom:56px;padding-top:120px}
.portada .pincel{font-size:clamp(22px,3vw,30px)}
.portada h1{font-size:clamp(46px,8.5vw,104px);margin:16px 0 14px;max-width:13ch;text-shadow:0 2px 30px rgba(0,0,0,.5)}
.portada p{font-size:clamp(18px,2vw,21px);max-width:40ch;color:#E9EEEA}
.acciones{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.sedes-mini{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:22px;font-size:15px;color:var(--suave)}
.sedes-mini span::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--verde);margin-right:8px;vertical-align:middle}

/* fotos */
.fotos{padding:72px 0 24px}
.fotos h2,.carta h2,.sedes h2,.redes h2{font-size:clamp(36px,5.6vw,64px)}
.fotos .sub,.carta .sub,.sedes .sub{color:var(--suave);margin-top:10px;max-width:52ch}
.carrusel{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:28px 20px 10px;margin:0 auto;max-width:calc(var(--max) + 40px);scrollbar-width:thin}
.carrusel figure{flex:0 0 min(78vw,380px);scroll-snap-align:start;border-radius:6px;overflow:hidden;background:var(--madera2);box-shadow:0 20px 40px -24px rgba(0,0,0,.8)}
.carrusel img{aspect-ratio:4/3;width:100%;object-fit:cover;transition:transform 600ms var(--ease)}
@media (hover:hover) and (pointer:fine){.carrusel figure:hover img{transform:scale(1.04)}}

/* carta */
.carta{padding:72px 0 56px;background:var(--papel);color:var(--tinta);margin-top:56px;position:relative}
.carta::before,.carta::after{content:"";position:absolute;left:0;right:0;height:18px;background:var(--papel);
  -webkit-mask:radial-gradient(12px 9px at 50% 0,transparent 98%,#000) 0 0/24px 18px repeat-x;mask:radial-gradient(12px 9px at 50% 0,transparent 98%,#000) 0 0/24px 18px repeat-x}
.carta::before{top:-17px;transform:scaleY(-1)}
.carta::after{bottom:-17px}
.carta .sub{color:#6c5c4e}
.cab{display:flex;justify-content:space-between;align-items:end;gap:18px;flex-wrap:wrap;margin-bottom:22px}
.buscar{width:100%;max-width:340px;background:#fffaf1;border:2px solid var(--papel2);border-radius:999px;padding:12px 18px;color:var(--tinta)}
.buscar::placeholder{color:#8f7e6e}
.buscar:focus{outline:none;border-color:var(--rosa)}
.cats{position:sticky;top:72px;z-index:30;background:var(--papel);display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:12px 0;margin-bottom:8px;border-bottom:2px solid var(--papel2)}
.cats::-webkit-scrollbar{display:none}
.cat{flex:none;text-decoration:none;border:2px solid var(--papel2);border-radius:999px;padding:8px 15px;font-size:15px;color:#5d4d40;white-space:nowrap;transition:background-color 200ms ease,color 200ms ease,border-color 200ms ease}
.cat[aria-current="true"]{background:var(--tinta);color:var(--papel);border-color:var(--tinta)}
.grupo{padding-top:40px}
.grupo h3{font-size:clamp(28px,3.6vw,38px);margin-bottom:6px}
.grupo h3 .pincel{font-size:1em}
.platos{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:0 56px;margin-top:10px}
.plato{display:flex;align-items:baseline;gap:10px;padding:13px 0;border-bottom:1px dashed #cdbfa6}
.plato .n{font-weight:600;font-size:18px}
.plato .n small{display:block;font-weight:400;font-size:14px;color:#7a6a5c}
.plato .puntos{flex:1;border-bottom:2px dotted #c9b99e;transform:translateY(-4px);min-width:16px}
.plato .precio{font-weight:700;font-size:18px;white-space:nowrap;font-variant-numeric:tabular-nums}
.vacio{color:#7a6a5c;padding:24px 0}
.aviso-precios{margin-top:30px;font-size:14px;color:#6c5c4e}
@media (max-width:820px){.platos{grid-template-columns:1fr}}

/* sedes */
.sedes{padding:96px 0 72px}
.lista-sedes{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:32px}
.sede{background:var(--madera2);border:1px solid var(--linea);border-radius:8px;overflow:hidden;display:flex;flex-direction:column}
.sede .mapa{position:relative;aspect-ratio:16/10;background:#1A2D30}
.sede iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.sede .sin-mapa{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:20px;color:var(--suave);font-size:15px;
  background:repeating-linear-gradient(-38deg,rgba(255,255,255,.03) 0 2px,transparent 2px 22px)}
.sede .info{padding:22px;display:grid;gap:10px;flex:1}
.sede h3{font-size:30px}
.sede p{color:var(--suave)}
.sede .tel{font-size:20px;font-weight:600;text-decoration:none;color:var(--crema)}
.sede .acciones{margin-top:auto;padding-top:8px}
@media (max-width:820px){.lista-sedes{grid-template-columns:1fr}}

/* redes */
.redes{padding:24px 0 88px}
.red-lista{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;margin-top:28px}
.red{display:flex;gap:14px;align-items:center;padding:20px;border-radius:8px;background:var(--madera2);border:1px solid var(--linea);text-decoration:none;transition:transform 160ms var(--ease),border-color 200ms ease}
.red:active{transform:scale(.98)}
.red svg{width:28px;height:28px;flex:none;color:var(--rosa2)}
.red b{display:block;font-size:19px}
.red span{color:var(--suave);font-size:15px;word-break:break-word}
@media (hover:hover) and (pointer:fine){.red:hover{border-color:var(--rosa)}}
@media (max-width:820px){.red-lista{grid-template-columns:1fr}}

footer{border-top:1px solid var(--linea);padding:28px 0 40px;color:var(--suave);font-size:14px}
footer .wrap{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
footer a{text-underline-offset:3px}

/* entradas al bajar (solo con JS) */
.js .entra{opacity:0;transform:translateY(22px);transition:opacity 700ms var(--ease),transform 900ms var(--ease);transition-delay:calc(var(--i,0) * 60ms)}
.js .entra.vista{opacity:1;transform:none}
.js .portada .wrap>*{animation:sube 900ms var(--ease) both}
.js .portada .wrap>*:nth-child(2){animation-delay:90ms}.js .portada .wrap>*:nth-child(3){animation-delay:180ms}
.js .portada .wrap>*:nth-child(4){animation-delay:270ms}.js .portada .wrap>*:nth-child(5){animation-delay:360ms}
@keyframes sube{from{opacity:0;transform:translateY(24px)}}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .portada>img{animation:none;transform:none}
  .js .entra{transform:none;transition:opacity 300ms ease}
  .js .portada .wrap>*{animation:none}
  .btn:active,.red:active{transform:none}
}
@media (max-width:520px){.wrap{padding:0 16px}.acciones .btn{flex:1}}

/* fotos con inclinación 3D */
.carrusel{perspective:900px}
.carrusel figure{transform-style:preserve-3d;transition:transform 400ms var(--ease),box-shadow 400ms var(--ease);will-change:transform}
.carrusel figure.inclina{transition:transform 80ms linear}


/* acceso a los pedidos desde la carta */
.pedir-aviso{display:flex;align-items:center;gap:16px;margin-top:34px;padding:18px 20px;border-radius:18px;background:var(--tinta);color:var(--crema);text-decoration:none;transition:transform 160ms var(--ease)}
.pedir-aviso:active{transform:scale(.99)}
.pa-icono{flex:none;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--rosa);color:#fff}
.pa-icono svg{width:24px;height:24px}
.pa-txt{flex:1;color:var(--suave);font-size:15px}
.pa-txt b{display:block;color:var(--crema);font-size:19px;font-weight:600}
.pa-ir{flex:none;display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:10px 20px;border-radius:999px;background:var(--rosa);color:#fff;font-weight:600;transition:background-color 200ms ease}
.pa-ir svg{width:18px;height:18px}
@media (hover:hover) and (pointer:fine){.pedir-aviso:hover .pa-ir{background:var(--rosa2)}}
@media (max-width:620px){.pedir-aviso{flex-wrap:wrap}.pa-ir{width:100%;justify-content:center}}
