/* =========================================================
   SHELTER COFFEE — hoja de estilos única
   Para cambiar la marca del sitio, edita solo el bloque :root.
   Paleta y criterio del manual de marca (Lala Studio, 2024).
   ========================================================= */

@font-face{font-family:"Cormorant Garamond";src:url("../fonts/cormorant-garamond.woff2") format("woff2-variations");font-weight:300 700;font-style:normal;font-display:swap}
@font-face{font-family:"Jost";src:url("../fonts/jost.woff2") format("woff2-variations");font-weight:300 600;font-style:normal;font-display:swap}

:root{
  --verde:#333320;
  --oliva:#655E3D;
  --arena:#D5CDBB;
  --terracota:#BA8D6A;
  --lino:#EFECE4;
  --papel:#F8F6F0;
  --tinta:#24241A;
  --tinta-media:#57523C;
  --salvia:#9A9478;

  --display:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --texto:"Jost","Helvetica Neue",Helvetica,Arial,sans-serif;

  --t-xs:.75rem; --t-s:.875rem; --t-m:1.0625rem; --t-l:1.1875rem;
  --t-h2:clamp(2rem,4.2vw,3.2rem);
  --t-h1:clamp(2.7rem,6vw,4.9rem);

  --e1:.5rem; --e2:1rem; --e3:1.75rem; --e4:3rem; --e5:5.5rem;
  --ancho:1240px;

  --filete:rgba(36,36,26,.14);
  --filete-claro:rgba(213,205,187,.24);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--papel);color:var(--tinta);font-family:var(--texto);font-weight:300;font-size:var(--t-m);line-height:1.72;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
[id]{scroll-margin-top:5.5rem}

h1,h2{margin:0;font-family:var(--display);font-weight:300;line-height:1.06;letter-spacing:-.014em}
h1{font-size:var(--t-h1)}
h2{font-size:var(--t-h2)}
h3{margin:0;font-family:var(--texto);font-weight:500;font-size:1.15rem;line-height:1.35}
p{margin:0 0 var(--e2)}
p:last-child{margin-bottom:0}
h1 em,h2 em{font-style:italic;color:var(--terracota)}
.tnum{font-variant-numeric:tabular-nums}

.contenedor{width:100%;max-width:var(--ancho);margin:0 auto;padding:0 clamp(1.25rem,4vw,3rem)}
.seccion{padding:var(--e5) 0}
.lino{background:var(--lino)}
.verde{background:var(--verde);color:var(--arena)}
.medida{max-width:54ch}

a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:2px solid var(--terracota);outline-offset:3px}
.saltar{position:absolute;left:-9999px;background:var(--terracota);color:var(--tinta);padding:.6rem 1rem;z-index:95}
.saltar:focus{left:1rem;top:1rem}

.rotulo{font-size:var(--t-xs);letter-spacing:.22em;text-transform:uppercase;color:var(--terracota);margin:0 0 .7rem;font-weight:500}
.cabeza{max-width:60ch;margin-bottom:var(--e4)}
.cabeza h2{margin-bottom:.7rem}
.cabeza .lead{color:var(--tinta-media);max-width:54ch}
.verde .cabeza .lead{color:var(--salvia)}

/* ---------- Aparición al hacer scroll ---------- */
.rv{opacity:1}                      /* sin JavaScript, todo se ve */
.js .rv{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.3,1)}
.js .rv.visible{opacity:1;transform:none}

/* ---------- Cabecera ---------- */
.cabecera{position:sticky;top:0;z-index:70;background:var(--verde);border-bottom:1px solid var(--filete-claro)}
.cabecera__fila{display:flex;align-items:center;justify-content:space-between;gap:var(--e3);padding:.9rem 0}
.cabecera__logo img{width:126px}
.nav{display:flex;align-items:center;gap:1.4rem}
.nav a{text-decoration:none;font-size:var(--t-s);letter-spacing:.08em;color:var(--arena);padding-bottom:.2rem;border-bottom:1px solid transparent;transition:border-color .25s,color .25s}
.nav a:hover,.nav a[aria-current="page"]{border-color:var(--terracota);color:#fff}
.boton-menu{display:none;background:none;border:0;color:var(--arena);font-family:var(--texto);font-size:var(--t-s);letter-spacing:.12em;text-transform:uppercase;padding:.4rem 0;cursor:pointer}

/* ---------- Botones ---------- */
.btn{display:inline-flex;align-items:center;gap:.55rem;text-decoration:none;cursor:pointer;background:none;font-family:var(--texto);font-weight:500;font-size:var(--t-s);letter-spacing:.06em;padding:.9rem 1.5rem;border:1px solid currentColor;border-radius:999px;transition:background-color .25s,color .25s,border-color .25s}
.btn svg{width:16px;height:16px;flex:none;fill:currentColor}
.btn--wa{background:var(--terracota);border-color:var(--terracota);color:var(--tinta)}
.btn--wa:hover{background:#a87c59;border-color:#a87c59}
.btn--oscuro{background:var(--verde);border-color:var(--verde);color:var(--arena)}
.btn--oscuro:hover{background:var(--tinta);border-color:var(--tinta)}
.btn--linea{color:var(--tinta)}
.btn--linea:hover{background:var(--tinta);color:var(--papel)}
.btn--claro{color:var(--arena)}
.btn--claro:hover{background:var(--arena);color:var(--verde)}
.acciones{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:var(--e3)}

/* ---------- Héroe ---------- */
.heroe{position:relative;overflow:hidden;background:var(--verde);color:var(--arena)}
.heroe::before{content:"";position:absolute;inset:0;background-image:url("../img/patron.svg");background-size:210px 210px;opacity:.055;pointer-events:none}
.heroe > *{position:relative;z-index:1}
.heroe__rejilla{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:center;padding:clamp(3rem,7vw,5.5rem) 0 var(--e4)}
.heroe h1{max-width:13ch}
.heroe .lead{max-width:42ch;margin-top:var(--e2);color:#ddd7c6;font-size:var(--t-l);line-height:1.6}
.heroe__ilus{justify-self:center;width:min(330px,80%)}
.heroe__ilus img{width:100%;filter:invert(92%) sepia(12%) saturate(360%) hue-rotate(4deg) brightness(97%)}
.heroe__horas{display:flex;flex-wrap:wrap;gap:clamp(1.5rem,4vw,3.5rem);padding:var(--e2) 0 var(--e4);border-top:1px solid var(--filete-claro);font-size:var(--t-s)}
.heroe__horas span{display:block;color:var(--terracota);font-size:var(--t-xs);letter-spacing:.2em;text-transform:uppercase;margin-bottom:.2rem;font-weight:500}
.sello{position:absolute;top:-26px;right:-6px;width:106px;height:106px;z-index:3;animation:girar 26s linear infinite}
.sello svg{width:100%;height:100%}
@keyframes girar{to{transform:rotate(360deg)}}

/* ---------- Franja de cifras ---------- */
.cifras{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--filete);border-bottom:1px solid var(--filete)}
.verde .cifras,.heroe .cifras{border-color:var(--filete-claro)}
.verde .cifra,.heroe .cifra{border-right-color:var(--filete-claro)}
.verde .cifra span,.heroe .cifra span{color:var(--salvia)}
.cifra{padding:1.5rem clamp(.8rem,2vw,1.6rem);border-right:1px solid var(--filete)}
.cifra:last-child{border-right:0}
.cifra b{display:block;font-family:var(--display);font-weight:300;font-size:clamp(1.8rem,3vw,2.5rem);line-height:1}
.cifra span{display:block;font-size:var(--t-xs);letter-spacing:.07em;color:var(--tinta-media);margin-top:.3rem}

/* ---------- Marquesina ---------- */
.marquesina{background:var(--verde);color:var(--arena);overflow:hidden;border-bottom:1px solid var(--filete-claro);padding:.9rem 0}
.mq-pista{display:flex;gap:0;width:max-content;animation:correr 34s linear infinite}
.marquesina:hover .mq-pista{animation-play-state:paused}
.mq-pista span{font-family:var(--display);font-size:clamp(1.4rem,2.6vw,2rem);font-weight:300;padding:0 1.6rem;white-space:nowrap;line-height:1.3}
.mq-pista span:nth-child(even){font-style:italic;color:var(--terracota)}
@keyframes correr{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---------- Espacios de foto ---------- */
.slot{position:relative;overflow:hidden;background:var(--lino);display:block}
.verde .slot,.slot--oscuro{background:#3d3d27}
.slot img{width:100%;height:100%;object-fit:cover;display:block;position:relative;z-index:2}
.slot--vacio img{display:none}
.slot__hueco{position:absolute;inset:0;display:none;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;text-align:center;padding:1.2rem;color:var(--oliva)}
.slot--vacio .slot__hueco{display:flex}
.slot__hueco img{width:46px;height:auto;opacity:.5;position:static}
.slot--vacio .slot__hueco img{display:block}
.slot__hueco span{font-size:var(--t-xs);letter-spacing:.14em;text-transform:uppercase;max-width:22ch;line-height:1.5}
.verde .slot__hueco,.slot--oscuro .slot__hueco{color:var(--salvia)}
.slot--alto{aspect-ratio:4/5}
.slot--ancho{aspect-ratio:3/2}
.slot--cuadro{aspect-ratio:1/1}

/* ---------- Formatos para empresas ---------- */
.formatos{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:start}
.fmt-lista{list-style:none;margin:0;padding:0;border-top:1px solid var(--filete)}
.verde .fmt-lista{border-color:var(--filete-claro)}
.fmt{border-bottom:1px solid var(--filete)}
.verde .fmt{border-bottom-color:var(--filete-claro)}
.fmt__btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;background:none;border:0;cursor:pointer;text-align:left;padding:1.1rem 0;color:inherit;font-family:var(--display);font-size:clamp(1.3rem,2.2vw,1.72rem);font-weight:300;line-height:1.2;transition:color .25s}
.fmt__btn:hover,.fmt[aria-expanded="true"] .fmt__btn{color:var(--terracota)}
.fmt__flecha{flex:none;width:34px;height:34px;border:1px solid var(--filete);border-radius:50%;display:grid;place-items:center;font-size:.95rem;transition:background-color .25s,color .25s,border-color .25s,transform .25s}
.verde .fmt__flecha{border-color:var(--filete-claro)}
.fmt[aria-expanded="true"] .fmt__flecha{background:var(--verde);color:var(--arena);border-color:var(--verde);transform:rotate(45deg)}
.verde .fmt[aria-expanded="true"] .fmt__flecha{background:var(--terracota);color:var(--tinta);border-color:var(--terracota)}
.fmt__cuerpo{overflow:hidden;max-height:0;transition:max-height .45s cubic-bezier(.2,.7,.3,1)}
.fmt__interior{padding:0 0 1.2rem;max-width:52ch}
.fmt__interior p{font-size:var(--t-s);color:var(--tinta-media);margin-bottom:.7rem}
.verde .fmt__interior p{color:var(--salvia)}
.etiquetas{display:flex;flex-wrap:wrap;gap:.4rem}
.etiqueta{font-size:var(--t-xs);letter-spacing:.04em;border:1px solid var(--filete);border-radius:999px;padding:.25rem .7rem;color:var(--tinta-media)}
.verde .etiqueta{border-color:var(--filete-claro);color:var(--arena)}
.fmt-foto{position:sticky;top:6rem}
.fmt-foto .slot{aspect-ratio:4/5}
.fmt-foto figcaption{font-size:var(--t-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--tinta-media);margin-top:.6rem}
.verde .fmt-foto figcaption{color:var(--salvia)}

/* ---------- El espacio: plano y cifras ---------- */
.espacio{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:start}
.plano{background:#fff;border:1px solid var(--filete);padding:1rem}
.plano svg{width:100%;height:auto}
.leyenda{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:.8rem;font-size:var(--t-xs);color:var(--tinta-media)}
.leyenda span{display:inline-flex;align-items:center;gap:.35rem}
.leyenda i{width:11px;height:11px;border:1.5px solid var(--tinta);display:inline-block}
.area{display:flex;align-items:baseline;gap:.7rem;border-bottom:1px solid var(--filete);padding-bottom:.8rem}
.area b{font-family:var(--display);font-weight:300;font-size:clamp(3rem,6vw,4.6rem);line-height:.9}
.area sup{font-size:.34em;top:-1.2em}
.aforos{display:grid;grid-template-columns:repeat(3,1fr);margin:0 0 var(--e3)}
.aforos div{padding:1.1rem 0;border-right:1px solid var(--filete)}
.aforos div:last-child{border-right:0;padding-left:0}
.aforos div+div{padding-left:1.1rem}
.aforos b{display:block;font-family:var(--display);font-weight:300;font-size:1.9rem;line-height:1}
.aforos span{font-size:var(--t-xs);color:var(--tinta-media)}
.specs{list-style:none;margin:0;padding:0}
.specs li{border-top:1px solid var(--filete);padding:.8rem 0}
.specs b{display:block;font-weight:500;font-size:var(--t-s)}
.specs span{font-size:var(--t-s);color:var(--tinta-media)}

/* ---------- Catering ---------- */
.catering{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.3rem,3vw,2.5rem)}
.cat h3{border-bottom:1px solid var(--filete);padding-bottom:.4rem;margin-bottom:.2rem}
.cat .nota{font-size:var(--t-xs);color:var(--tinta-media);margin-bottom:.6rem}
.cat ul{list-style:none;margin:0;padding:0}
.cat li{border-bottom:1px solid var(--filete);padding:.55rem 0;font-size:var(--t-s)}
.cat__eti{display:inline-block;font-size:var(--t-xs);letter-spacing:.06em;background:var(--verde);color:var(--arena);border-radius:999px;padding:.2rem .7rem;margin-bottom:.7rem}
.guia{display:grid;grid-template-columns:auto repeat(4,1fr);gap:.8rem;align-items:center;margin-top:var(--e4);border-top:1px solid var(--filete);padding-top:var(--e3)}
.guia__t{max-width:18ch}
.guia__t p{font-size:var(--t-xs);letter-spacing:.2em;text-transform:uppercase;color:var(--terracota);margin:0 0 .2rem;font-weight:500}
.guia__t b{font-family:var(--display);font-weight:300;font-size:1.5rem;line-height:1.1;display:block}
.guia__c{border:1px solid var(--filete);padding:.9rem;text-align:center}
.guia__c b{display:block;font-family:var(--display);font-weight:300;font-size:2rem;line-height:1}
.guia__c span{font-size:var(--t-xs);color:var(--tinta-media)}

/* ---------- Celebraciones ---------- */
.fichas{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:var(--e2)}
.ficha{font-size:var(--t-s);border:1px solid var(--filete-claro);border-radius:999px;padding:.4rem 1rem}

/* ---------- Aviso fuerte ---------- */
.aviso{display:flex;gap:1rem;align-items:flex-start;border:1px solid var(--terracota);background:rgba(186,141,106,.08);padding:1.1rem 1.3rem;margin-top:var(--e3)}
.aviso b{display:block;font-weight:500;margin-bottom:.2rem}
.aviso p{font-size:var(--t-s);color:var(--tinta-media);margin:0}
.aviso__ic{flex:none;width:26px;height:26px;border:1.5px solid var(--terracota);border-radius:50%;display:grid;place-items:center;color:var(--terracota);font-size:.9rem;margin-top:.15rem}

/* ---------- Pasos ---------- */
.pasos{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1.2rem,3vw,2.5rem);margin-top:var(--e4);counter-reset:paso}
.paso{counter-increment:paso;border-top:2px solid var(--terracota);padding-top:.9rem}
.paso::before{content:"0" counter(paso);display:block;font-family:var(--display);font-size:1.7rem;color:var(--terracota);line-height:1;margin-bottom:.4rem}
.paso b{display:block;font-weight:500;margin-bottom:.2rem}
.paso p{font-size:var(--t-s);color:var(--tinta-media);margin:0}

/* ---------- Galería ---------- */
.galeria{position:relative}
.gal-pista{display:flex;gap:.8rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding-bottom:.6rem;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.gal-pista::-webkit-scrollbar{display:none}
.gal-item{flex:0 0 clamp(230px,27vw,330px);scroll-snap-align:start}
.gal-item .slot{aspect-ratio:4/5}
.gal-item figcaption{font-size:var(--t-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--tinta-media);margin-top:.5rem}
.gal-nav{display:flex;gap:.4rem}
.gal-nav button{width:40px;height:40px;border:1px solid var(--filete);background:none;border-radius:50%;cursor:pointer;font-size:1rem;color:var(--tinta);transition:background-color .2s,color .2s}
.gal-nav button:hover{background:var(--verde);color:var(--arena);border-color:var(--verde)}
.gal-cab{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:var(--e3)}

/* ---------- Preguntas ---------- */
.preguntas{border-top:1px solid var(--filete)}
.pregunta{border-bottom:1px solid var(--filete)}
.pregunta summary{cursor:pointer;padding:1rem 0;font-family:var(--display);font-size:1.3rem;font-weight:300;list-style:none;display:flex;justify-content:space-between;gap:1rem;align-items:center}
.pregunta summary::-webkit-details-marker{display:none}
.pregunta summary::after{content:"+";color:var(--terracota);font-family:var(--texto);font-weight:300;font-size:1.3rem}
.pregunta[open] summary::after{content:"×"}
.pregunta p{padding:0 0 1.1rem;max-width:64ch;font-size:var(--t-s);color:var(--tinta-media)}

/* ---------- Contacto ---------- */
.contacto{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:start}
.datos{list-style:none;margin:var(--e2) 0 0;padding:0}
.datos li{display:grid;grid-template-columns:110px 1fr;gap:1rem;border-top:1px solid var(--filete);padding:.75rem 0;font-size:var(--t-s)}
.datos dt,.datos .k{font-size:var(--t-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--tinta-media)}
.tarjeta-cta{position:relative;overflow:hidden;background:var(--verde);color:var(--arena);min-height:330px;display:flex;flex-direction:column;justify-content:flex-end;padding:var(--e3)}
.tarjeta-cta .slot{position:absolute;inset:0}
.tarjeta-cta__velo{position:absolute;inset:0;background:linear-gradient(to top,rgba(36,36,26,.95) 10%,rgba(36,36,26,.45) 60%,rgba(36,36,26,.2) 100%);z-index:3}
.tarjeta-cta > *{position:relative;z-index:4}

/* ---------- Carta ---------- */
.filtros{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:var(--e3)}
.filtro{font-size:var(--t-s);border:1px solid var(--filete);background:none;border-radius:999px;padding:.4rem 1rem;cursor:pointer;color:var(--tinta);transition:background-color .2s,color .2s,border-color .2s}
.filtro[aria-pressed="true"]{background:var(--verde);color:var(--arena);border-color:var(--verde)}
.menu{columns:2;column-gap:clamp(1.5rem,4vw,3.5rem)}
.menu__grupo{break-inside:avoid;margin-bottom:var(--e3)}
.menu__grupo h3{font-family:var(--display);font-weight:400;font-size:1.5rem;color:var(--oliva);border-bottom:1px solid var(--filete);padding-bottom:.35rem;margin-bottom:.3rem}
.menu__it{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;border-bottom:1px dotted var(--filete);padding:.45rem 0}
.menu__n{font-size:var(--t-s)}
.menu__n i{display:block;font-style:normal;font-size:var(--t-xs);color:var(--tinta-media)}
.menu__p{font-size:var(--t-s);color:var(--tinta-media);white-space:nowrap;font-variant-numeric:tabular-nums}

/* ---------- Pie ---------- */
.pie{background:var(--verde);color:var(--arena);padding:var(--e4) 0 var(--e3)}
.pie__rejilla{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:var(--e3)}
.pie img{width:144px;margin-bottom:var(--e2)}
.pie h2{font-family:var(--texto);font-weight:500;font-size:var(--t-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--terracota);margin-bottom:.7rem}
.pie ul{list-style:none;margin:0;padding:0;display:grid;gap:.4rem;font-size:var(--t-s)}
.pie p{font-size:var(--t-s);color:var(--salvia)}
.pie a{text-decoration:none;border-bottom:1px solid transparent}
.pie a:hover{border-color:var(--terracota)}
.pie__base{margin-top:var(--e4);padding-top:var(--e2);border-top:1px solid var(--filete-claro);display:flex;flex-wrap:wrap;gap:var(--e2);justify-content:space-between;font-size:var(--t-xs);color:var(--salvia)}

/* ---------- WhatsApp flotante ---------- */
.flotante{position:fixed;right:1.1rem;bottom:1.1rem;z-index:80;display:inline-flex;align-items:center;gap:.55rem;background:var(--terracota);color:var(--tinta);text-decoration:none;font-size:var(--t-s);font-weight:500;padding:.85rem 1.2rem;border-radius:999px;box-shadow:0 8px 26px rgba(36,36,26,.26);transition:background-color .25s}
.flotante:hover{background:#a87c59}
.flotante svg{width:19px;height:19px;fill:currentColor}

.error{min-height:60vh;display:flex;align-items:center}

/* ---------- Móvil ---------- */
@media (max-width:980px){
  :root{--e5:3.5rem}
  .heroe__rejilla,.formatos,.espacio,.contacto{grid-template-columns:1fr}
  .cifras{grid-template-columns:1fr 1fr}
  .cifra:nth-child(2n){border-right:0}
  .cifra:nth-child(-n+2){border-bottom:1px solid var(--filete)}
  .catering,.pasos,.pie__rejilla{grid-template-columns:1fr}
  .guia{grid-template-columns:1fr 1fr}
  .menu{columns:1}
  .fmt-foto{position:static;order:-1;margin-bottom:var(--e2)}
  .fmt-foto .slot{aspect-ratio:3/2}
  .sello{width:84px;height:84px;top:-18px}
  .boton-menu{display:block}
  .cabecera__fila{position:relative}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--verde);flex-direction:column;align-items:flex-start;gap:0;padding:.4rem clamp(1.25rem,4vw,3rem) 1.2rem;margin:0 calc(-1*clamp(1.25rem,4vw,3rem));border-bottom:1px solid var(--filete-claro)}
  .nav.abierto{display:flex}
  .nav a{padding:.8rem 0;width:100%;border-bottom:1px solid var(--filete-claro)}
  .nav .btn{width:100%;justify-content:center;margin-top:.8rem}
  .flotante span{display:none}
  .flotante{padding:.9rem;border-radius:50%}
  .aforos div+div{padding-left:.8rem}
}

@media (prefers-reduced-motion:reduce){
  *{transition:none!important;animation:none!important;scroll-behavior:auto!important}
  .rv{opacity:1;transform:none}
  .mq-pista{animation:none}
}

/* ---------- Iconos de redes ---------- */
.redes{display:flex;gap:.55rem;margin-top:var(--e2);flex-wrap:wrap}
.red{display:inline-grid;place-items:center;width:42px;height:42px;border:1px solid var(--filete);border-radius:50%;color:var(--tinta);transition:background-color .22s,color .22s,border-color .22s}
.red svg{width:19px;height:19px;fill:currentColor}
.red:hover{background:var(--verde);color:var(--arena);border-color:var(--verde)}
.red--wa:hover{background:var(--terracota);color:var(--tinta);border-color:var(--terracota)}
.verde .red,.pie .red{border-color:var(--filete-claro);color:var(--arena)}
.verde .red:hover,.pie .red:hover{background:var(--arena);color:var(--verde);border-color:var(--arena)}
.pie .red--wa:hover{background:var(--terracota);color:var(--tinta);border-color:var(--terracota)}

/* ---------- Carta: producto que se abre y muestra su foto ---------- */
.menu__it{display:block;width:100%;text-align:left;background:none;border:0;border-bottom:1px dotted var(--filete);padding:.5rem 0;font-family:inherit;color:inherit}
.menu__fila{display:flex;justify-content:space-between;gap:1rem;align-items:baseline}
.menu__it--abrible{cursor:pointer}
.menu__it--abrible .menu__n::after{content:"+";margin-left:.45rem;color:var(--terracota);font-size:.9em;vertical-align:.05em}
.menu__it--abrible[aria-expanded="true"] .menu__n::after{content:"×"}
.menu__it:hover .menu__n{color:var(--oliva)}
.menu__foto{overflow:hidden;max-height:0;transition:max-height .4s cubic-bezier(.2,.7,.3,1)}
.menu__foto .slot{aspect-ratio:3/2;margin:.6rem 0 .3rem}
.menu__foto p{font-size:var(--t-xs);color:var(--tinta-media);margin:0 0 .5rem}

/* ---------- Páginas legales ---------- */
.legal{max-width:68ch}
.legal h2{font-size:1.6rem;margin:var(--e3) 0 .5rem}
.legal h3{font-size:1.05rem;margin:var(--e2) 0 .3rem}
.legal p,.legal li{font-size:var(--t-s);color:var(--tinta-media)}
.legal ul{padding-left:1.1rem;margin:0 0 var(--e2)}
.legal li{margin-bottom:.3rem}
.legal .fecha{font-size:var(--t-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--terracota)}
.legal__aviso{border:1px solid var(--terracota);background:rgba(186,141,106,.08);padding:1rem 1.2rem;margin-bottom:var(--e3)}
.legal__aviso p{margin:0;color:var(--tinta)}

/* enlaces legales en el pie */
.pie__legal{display:flex;flex-wrap:wrap;gap:1rem;font-size:var(--t-xs)}
