  :root{
    --naranjo:#EC8000; --naranjo-oscuro:#EC8000; --celeste:#00A1C7; --celeste-oscuro:#00739B; --celeste-texto:#006A91;
    --amarillo:#FFFFFF; --verde:#4FA845;
    --negro:#000; --texto:#2b2b2b; --gris:#6b6b6b; --linea:#e6ded2; --papel:#FFF6EA; --blanco:#fff;
    --ancho:1180px; --alto-header:76px;
    --borde:3px solid #000; --sombra:7px 7px 0 #000; --sombra-chica:4px 4px 0 #000;
    --trama-oscura:url("/img/trama-oscura.webp");
    --trama-blanca:url("/img/trama-blanca.webp");
    --trama-tenue:url("/img/trama-tenue.webp");
    --trama-tam:175px 196px;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  /* Evita que visores en modo oscuro (app de Claude, Safari, etc.) oscurezcan el fondo y dejen el texto ilegible */
  :root{color-scheme:light only}
  html,body{background:#fff !important;color:#2b2b2b !important}
  main,.seccion{background:#fff;color:var(--texto)}
  .productos{background:var(--papel) var(--trama-oscura) repeat 0 0/var(--trama-tam) !important}
  .sucursales{background:var(--celeste) var(--trama-blanca) repeat 0 0/var(--trama-tam) !important;color:#fff}
  .intro{background:var(--naranjo) var(--trama-blanca) repeat 0 0/var(--trama-tam) !important}
  .cifras{background:#000 var(--trama-tenue) repeat 0 0/var(--trama-tam) !important;color:#fff}
  .historia{background:var(--papel) var(--trama-oscura) repeat 0 0/var(--trama-tam) !important}
  .contacto{background:var(--blanco) !important}
  html{scroll-behavior:smooth;scroll-padding-top:calc(var(--alto-header) + 12px)}
  body{font-family:"Poppins",system-ui,sans-serif;color:var(--texto);background:var(--blanco);line-height:1.7;font-size:1.0625rem;padding-top:var(--alto-header);overflow-x:hidden}
  img{display:block;max-width:100%}
  a{color:inherit}
  :focus-visible{outline:3px solid var(--celeste);outline-offset:3px}
  .contenedor{max-width:var(--ancho);margin:0 auto;padding:0 24px;position:relative}

  .titular{font-weight:900;text-transform:uppercase;line-height:.95;letter-spacing:-.01em;color:var(--negro)}
  .titulo-seccion{font-size:clamp(2.1rem,6vw,4rem);line-height:1.08;text-shadow:5px 5px 0 var(--negro);color:#fff;text-wrap:balance}
  .titulo-seccion em{font-style:normal;display:inline-block;transform:rotate(-2.5deg)}

  /* Cabecera de sección: título girado + sticker al lado */
  .seccion__cabecera{margin-bottom:46px;display:flex;flex-wrap:wrap;align-items:flex-end;gap:18px 22px}
  .seccion__intro{max-width:56ch;font-size:1.06rem;flex-basis:100%}

  /* ---------- Stickers ---------- */
  .sticker{display:inline-block;font-weight:900;text-transform:uppercase;font-size:.78rem;line-height:1.15;
    padding:.55em .9em;border:3px solid #000;box-shadow:var(--sombra-chica);background:var(--amarillo);color:#000;
    letter-spacing:.01em;white-space:nowrap}
  .sticker--celeste{background:var(--celeste);color:#fff;text-shadow:2px 2px 0 #000}
  .sticker--naranjo{background:var(--naranjo);color:#fff;text-shadow:2px 2px 0 #000}
  .sticker--blanco{background:#fff}
  .sticker--gira{transform:rotate(-3deg)}
  .sticker--gira2{transform:rotate(2.5deg)}
  .sticker--redondo{border-radius:999px;padding:.6em 1.1em}

  .btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;font:900 .92rem/1 "Poppins",sans-serif;
    text-transform:uppercase;letter-spacing:.015em;text-decoration:none;padding:1.05em 1.6em;border:3px solid var(--negro);
    box-shadow:var(--sombra-chica);cursor:pointer;transition:transform .12s,box-shadow .12s,background-color .15s,color .15s;
    background:var(--blanco);color:var(--negro)}
  .btn:hover{transform:translate(3px,3px);box-shadow:1px 1px 0 var(--negro)}
  .btn:active{transform:translate(4px,4px);box-shadow:0 0 0 var(--negro)}
  .btn--celeste{background:var(--celeste);color:var(--blanco)}
  .btn--naranjo{background:var(--naranjo);color:var(--blanco)}
  .btn--amarillo{background:var(--amarillo);color:var(--negro)}
  .btn--blanco{background:var(--blanco);color:var(--negro)}
  .btn svg{width:1.2em;height:1.2em;flex:none}

  /* ---------- Menú fijo arriba ---------- */
  .header{position:fixed;top:0;left:0;right:0;z-index:50;background:var(--negro);border-bottom:4px solid var(--naranjo)}
  .header__fila{display:flex;align-items:center;justify-content:space-between;height:72px;gap:20px}
  .logo{display:inline-flex;text-decoration:none}
  .logo img{height:46px;width:auto}
  .logo-css{display:none;align-items:center;gap:8px}
  .logo-css b{background:var(--naranjo);color:#fff;font-weight:900;font-size:1.35rem;padding:2px 8px;text-shadow:2px 2px 0 #000}
  .logo-css span{font-weight:900;font-size:.72rem;line-height:1.05;text-shadow:2px 2px 0 #000;color:#fff}
  .logo-css span i{font-style:normal;color:var(--celeste);display:block}
  .logo.sin-img img{display:none}.logo.sin-img .logo-css{display:flex}
  .nav{display:flex;align-items:center;gap:28px}
  .nav ul{display:flex;gap:28px;list-style:none}
  .nav a{color:var(--blanco);text-decoration:none;font-weight:600;font-size:.88rem;white-space:nowrap;text-transform:uppercase;letter-spacing:.02em}
  .nav ul a{position:relative;padding:6px 0}
  .nav ul a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--naranjo);transform:scaleX(0);transition:transform .2s}
  .nav ul a:hover::after{transform:scaleX(1)}
  .nav .btn{padding:.72em 1.1em;box-shadow:none;border-color:var(--naranjo);font-size:.8rem}
  .nav .btn:hover{transform:none;box-shadow:none;background:var(--naranjo);filter:brightness(1.12)}

  /* ---------- Banner: carrusel ---------- */
  .banner{background:var(--negro);position:relative;overflow:hidden}
  .banner__pista{display:flex;transition:transform .55s cubic-bezier(.3,.85,.3,1)}
  .banner__slide{flex:0 0 100%;min-width:0}
  .banner__slide img{width:100%;height:100%;aspect-ratio:2000/750;object-fit:cover;display:block}
  .banner__puntos{position:absolute;left:0;right:0;bottom:16px;display:flex;justify-content:center;gap:10px;z-index:3}
  .banner__punto{width:15px;height:15px;border:3px solid #000;background:#fff;cursor:pointer;padding:0;
    transition:background-color .15s,transform .12s}
  .banner__punto:hover{transform:scale(1.15)}
  .banner__punto[aria-selected="true"]{background:var(--naranjo)}

  body.bloqueado{position:fixed;left:0;right:0;width:100%;overflow:hidden}
  /* ---------- La botarga que se despide al cerrar el aviso ---------- */
  .boom{position:fixed;inset:0;z-index:95;display:grid;place-items:center;pointer-events:none}
  .boom[hidden]{display:none}
  .boom__esc{animation:boomEntra .42s cubic-bezier(.2,1.35,.4,1) both, boomSale .42s ease 1.08s both}
  .boom__mascota{display:block;width:min(45vw,200px);height:auto;
    filter:drop-shadow(0 18px 26px rgba(0,0,0,.55));
    transform-origin:50% 97%;animation:masSaluda .62s ease-in-out .3s infinite alternate}
  @keyframes boomEntra{from{opacity:0;transform:translate(-20%,16%) scale(.62) rotate(-12deg)}to{opacity:1;transform:none}}
  @keyframes boomSale{to{opacity:0;transform:translateY(8%) scale(.92)}}
  @keyframes masSaluda{from{transform:rotate(-6deg)}to{transform:rotate(5deg)}}
  @media (prefers-reduced-motion:reduce){.boom{display:none!important}}
  .velo{position:fixed;inset:0;z-index:88;background:rgba(0,0,0,.84)}
  .velo[hidden]{display:none}
  dialog.pop--plano,dialog.visor--plano{position:fixed;z-index:89;top:50%;left:50%;transform:translate(-50%,-50%);
    max-height:92vh;overflow:auto}

  /* ---------- Pop-up de novedades ---------- */
  .pop{border:var(--borde);box-shadow:14px 14px 0 var(--celeste);padding:0;max-width:min(94vw,820px);
    background:#fff;margin:auto;overflow:visible}
  .pop__caja{position:relative}
  .pop img{width:100%;height:auto;display:block}
  .pop__cerrar{position:absolute;top:12px;right:12px;z-index:2;width:44px;height:44px;border-radius:50%;
    border:3px solid #000;background:var(--naranjo);color:#fff;font:900 1rem/1 "Poppins",sans-serif;cursor:pointer;
    box-shadow:3px 3px 0 #000;transition:transform .12s,box-shadow .12s}
  .pop__cerrar:hover{transform:translate(2px,2px);box-shadow:1px 1px 0 #000}
  .pop__local{font-style:normal}
  .pop__pie .sticker{text-shadow:none;font-size:.64rem;padding:.4em .68em;border-width:2px;box-shadow:2px 2px 0 #000}
  .pop__pie .btn{padding:.62em 1.05em;font-size:.68rem;border-width:2px;box-shadow:2px 2px 0 #000}
  .pop__pie{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;
    padding:11px 14px;border-top:var(--borde);background:var(--papel)}

  /* ---------- Cinta corredera ---------- */
  .cinta{background:var(--naranjo);border-top:4px solid #000;border-bottom:4px solid #000;overflow:hidden;padding:11px 0}
  .cinta--celeste{background:var(--celeste)}
  .cinta--amarilla{background:var(--amarillo)}
  .cinta__pista{display:flex;align-items:center;gap:34px;width:max-content;animation:correr 34s linear infinite}
  .cinta b{font-weight:900;text-transform:uppercase;font-size:clamp(.95rem,2.4vw,1.35rem);color:#fff;
    text-shadow:3px 3px 0 #000;white-space:nowrap;letter-spacing:.01em}
  .cinta--amarilla b{color:#000;text-shadow:none}
  .cinta i{flex:none;width:13px;height:13px;background:#000;transform:rotate(45deg)}
  @keyframes correr{to{transform:translateX(-50%)}}

  section{position:relative}
  .seccion{padding:92px 0}

  /* ---------- Bajada de marca (hero compacto) ---------- */
  .intro{background:var(--naranjo);padding:58px 0 64px;overflow:hidden;}
  .intro__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:end}
  .intro__ante{display:inline-block;margin-bottom:16px}
  .intro h1{font-size:clamp(2.3rem,6vw,4.4rem);line-height:1.06;color:#fff;text-shadow:5px 5px 0 #000}
  .intro h1 em{font-style:normal;display:inline-block;background:#000;color:var(--amarillo);padding:0 .18em;
    transform:rotate(-1.5deg);text-shadow:none}
  .intro__texto{color:#000;font-size:1.14rem;font-weight:600;max-width:38ch;margin-bottom:24px}
  .intro__acciones{display:flex;flex-wrap:wrap;gap:14px}
  .intro__pegotes{position:absolute;inset:0;pointer-events:none;overflow:hidden}
  .intro__pegotes .sticker{position:absolute;pointer-events:auto}
  .intro__pegotes .sticker:nth-child(1){top:18px;right:18px;transform:rotate(7deg)}
  .intro__pegotes .sticker:nth-child(2){bottom:10px;right:38%;transform:rotate(-6deg)}

  /* ---------- Galería de empanadas ---------- */
  .productos{background:var(--papel);;padding-top:76px}
  .productos .titulo-seccion{color:var(--naranjo)}
  .filtros{display:flex;flex-wrap:wrap;gap:11px;margin-bottom:46px}
  .filtro{font:900 .85rem "Poppins";text-transform:uppercase;letter-spacing:.015em;padding:.68em 1.15em;
    border:3px solid #000;background:#fff;cursor:pointer;color:#000;box-shadow:3px 3px 0 #000;
    transition:background-color .15s,color .15s,transform .12s,box-shadow .12s}
  .filtro:nth-child(odd){transform:rotate(-1.2deg)}
  .filtro:nth-child(even){transform:rotate(1deg)}
  .filtro:hover{transform:translate(2px,2px) rotate(0);box-shadow:1px 1px 0 #000}
  .filtro[aria-pressed="true"]{background:var(--naranjo);color:#fff;text-shadow:2px 2px 0 #000;transform:rotate(0)}
  .grupo{margin-bottom:68px}
  .grupo:last-child{margin-bottom:0}
  .grupo__titulo{display:inline-block;font-weight:900;text-transform:uppercase;font-size:clamp(1.05rem,2.4vw,1.5rem);
    line-height:1;letter-spacing:.01em;color:#fff;background:var(--naranjo);border:var(--borde);box-shadow:var(--sombra-chica);
    border-radius:999px;padding:.52em 1.15em;margin-bottom:34px;text-shadow:3px 3px 0 #000;transform:rotate(-1.6deg)}
  .grupo--celeste .grupo__titulo{background:var(--celeste)}
  .grupo:nth-child(even) .grupo__titulo{transform:rotate(1.4deg)}
  .grupo[hidden]{display:none}
  .galeria{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:46px 26px;list-style:none}
  .foto[hidden]{display:none}
  .foto button{all:unset;cursor:zoom-in;display:block;width:100%}
  .foto button:focus-visible{outline:3px solid var(--celeste);outline-offset:6px}
  .foto__caja{position:relative;transition:transform .16s cubic-bezier(.2,.8,.2,1)}
  .foto:nth-child(4n+1) .foto__caja{transform:rotate(-1.8deg)}
  .foto:nth-child(4n+2) .foto__caja{transform:rotate(1.4deg)}
  .foto:nth-child(4n+3) .foto__caja{transform:rotate(-.8deg)}
  .foto:nth-child(4n+4) .foto__caja{transform:rotate(2deg)}
  .foto button:hover .foto__caja{transform:rotate(0) translateY(-7px)}
  .foto__marco{background:#fff;overflow:hidden;border:var(--borde);box-shadow:var(--sombra);aspect-ratio:4/5;transition:box-shadow .16s}
  .foto__marco img{width:100%;height:100%;object-fit:cover;display:block}
  .foto__marco--web img{object-fit:contain;background:#fff}
  .foto button:hover .foto__marco{box-shadow:11px 11px 0 var(--celeste)}
  .foto__marco.sin-img{aspect-ratio:4/5;background:#EFE4D4;display:grid;place-content:center}
  .foto__marco.sin-img img{display:none}
  .foto__marco.sin-img::after{content:"EPV";font-weight:900;font-size:2rem;color:#CDBBA3}
  .foto__pie{margin-top:20px}
  .foto__pie h4{font-size:1.18rem;line-height:1.02}

  .visor{position:relative;border:var(--borde);box-shadow:14px 14px 0 var(--naranjo);padding:0;
    max-width:min(96vw,1040px);background:#fff;margin:auto;overflow:visible}
  .visor__cuerpo{display:grid;grid-template-columns:minmax(0,1fr)}
  .visor__foto{background:#0d0d0d;min-height:0;display:grid;align-items:center;--vw:240px}
  .visor__caja{overflow:hidden;width:100%;padding:26px 0}
  .visor__pista{display:flex;gap:18px;align-items:center;width:max-content;
    transition:transform .42s cubic-bezier(.25,.8,.3,1);will-change:transform}
  .visor__card{all:unset;box-sizing:border-box;flex:0 0 var(--vw);aspect-ratio:4/5;position:relative;
    border:3px solid #000;box-shadow:5px 5px 0 #000;background:#000;overflow:hidden;cursor:pointer;
    transform:scale(.76);filter:brightness(.38) blur(2.5px) saturate(.8);
    transition:transform .42s cubic-bezier(.25,.8,.3,1),filter .42s ease,box-shadow .42s ease}
  .visor__card img{width:100%;height:100%;object-fit:cover;display:block}
  .visor__card:hover{filter:brightness(.6) blur(1.5px)}
  .visor__card.es-activa{transform:scale(1);filter:none;cursor:default;box-shadow:7px 7px 0 var(--naranjo)}
  .visor__card.es-activa:hover{filter:none}
  .visor__card:focus-visible{outline:3px solid var(--celeste);outline-offset:3px}
  .visor__ficha{background:var(--celeste);color:#fff;padding:22px 30px 24px;border-top:var(--borde);
    display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px 30px;align-items:center}
  .visor__texto{display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-width:0}
  .visor__lado{display:flex;flex-direction:column;align-items:flex-end;gap:12px}
  .visor__codigo{align-self:flex-start;background:#fff;color:var(--celeste-texto);border:var(--borde);
    box-shadow:3px 3px 0 #000;font-weight:900;font-size:.76rem;letter-spacing:.05em;padding:.42em .85em;border-radius:999px}
  .visor__codigo:empty{display:none}
  .visor__ficha h3{font-size:clamp(1.5rem,3.1vw,2.3rem);color:#fff;text-shadow:3px 3px 0 #000;line-height:1.04}
  .visor__desc{font-size:1.02rem;line-height:1.5;max-width:62ch}
  .visor__precio{align-self:flex-end;background:var(--naranjo);color:#fff;border:var(--borde);
    box-shadow:var(--sombra-chica);font-weight:900;font-size:1.35rem;line-height:1.2;padding:.22em .6em;
    text-shadow:2px 2px 0 #000;transform:rotate(-2deg);margin-top:4px}
  .visor__precio:empty{display:none}
  .visor__pie{display:flex;align-items:center;gap:8px}
  .visor__pie button{font:900 .95rem/1 "Poppins",sans-serif;border:2px solid #000;background:#fff;color:#000;
    width:32px;height:32px;cursor:pointer;box-shadow:2px 2px 0 #000;padding:0;transition:transform .12s,box-shadow .12s}
  .visor__pie button:hover{transform:translate(1px,1px);box-shadow:1px 1px 0 #000}
  .visor__cerrar{position:absolute;top:-16px;right:-16px;z-index:3;width:46px;height:46px;border-radius:50%;
    border:var(--borde);background:var(--naranjo);color:#fff;font:900 1rem/1 "Poppins",sans-serif;cursor:pointer;
    box-shadow:3px 3px 0 #000;transition:transform .12s,box-shadow .12s}
  .visor__cerrar:hover{transform:translate(2px,2px);box-shadow:1px 1px 0 #000}

  /* ---------- Sucursales ---------- */
  .sucursales{background:var(--celeste);color:#fff;padding-top:132px}
  .ola{position:absolute;top:-1px;left:0;width:100%;height:76px;display:block}
  .sucursales .titular{color:#fff}
  .embed{position:relative;background:var(--papel);border:var(--borde);box-shadow:11px 11px 0 #000}
  .embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;z-index:1;background:transparent}
  .embed__aviso{position:absolute;inset:0;display:grid;place-content:center;text-align:center;gap:12px;padding:20px;font-weight:600;color:var(--gris)}
  /* Mapa dibujado: se ve siempre, incluso si el visor bloquea el mapa de Google */
  .mapa{background:#006A91;height:330px;box-shadow:none;border:var(--borde);flex:1 0 auto}
  .mapa__dibujo{position:absolute;inset:0;display:grid;place-items:center;padding:14px 14px 96px}
  .mapa__dibujo svg{width:100%;height:100%;max-width:420px}
  .mapa .embed__aviso{align-content:end;justify-items:center;color:#fff;gap:10px;padding-bottom:26px}
  .mapa .embed__aviso span{font-size:1.02rem;font-weight:900;text-transform:uppercase;text-shadow:2px 2px 0 #000}
  .mapa .embed__aviso .btn{background:var(--amarillo);color:#000}
  .direcciones{background:#fff;color:var(--texto);padding:38px;border:var(--borde);box-shadow:11px 11px 0 #000}
  .direcciones__cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:40px;align-items:start}
  .direcciones__lado{display:flex;flex-direction:column;gap:32px}
  .direcciones__dos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;align-items:start}
  .direcciones .titular{color:#000}
  .ciudad h3{font-size:1.14rem;display:flex;justify-content:space-between;align-items:baseline;gap:10px;
    border-bottom:4px solid var(--naranjo);padding-bottom:9px;margin-bottom:6px}
  .ciudad h3 small{font-weight:600;font-size:.78rem;text-transform:uppercase;color:var(--celeste-texto);white-space:nowrap}
  .ciudad ul{list-style:none}
  .ciudad li{padding:9px 0;border-bottom:1px solid #eee;font-size:.9rem;line-height:1.45;color:var(--gris)}
  .ciudad li:last-child{border-bottom:0}
  .ciudad li strong{display:block;color:#000;font-weight:900;text-transform:uppercase;font-size:.88rem;letter-spacing:.01em}

  /* ---------- Cifras ---------- */
  .cifras{background:#000;color:#fff;padding:62px 0;overflow:hidden}
  .cifras__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;text-align:center}
  .cifra b{display:block;font-weight:900;font-size:clamp(3rem,8vw,5.2rem);line-height:.9;color:var(--amarillo);text-shadow:5px 5px 0 var(--naranjo)}
  .cifra span{display:block;font-weight:900;text-transform:uppercase;font-size:.84rem;letter-spacing:.06em;margin-top:12px;color:#fff}
  .cifras__grid>div:nth-child(1){transform:rotate(-1.5deg)}
  .cifras__grid>div:nth-child(3){transform:rotate(1.5deg)}

  /* ---------- Nosotros ---------- */
  .historia{background:var(--papel);}
  .historia .titulo-seccion{color:var(--celeste)}
  .historia__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:start}
  .historia__texto p{max-width:62ch;margin-bottom:1.1em}
  .historia__texto .destacado{font-size:1.14rem;font-weight:600;color:#000;background:#fff;border:var(--borde);
    box-shadow:var(--sombra-chica);padding:20px 22px;margin:1.7em 0;transform:rotate(-.8deg)}
  .socios{margin:40px 0 30px;padding-top:26px;border-top:4px solid #000}
  .socios h3{font-weight:900;text-transform:uppercase;font-size:.84rem;letter-spacing:.03em;color:#000;margin-bottom:16px}
  .socios__logos{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
  .socios__logos a{display:flex;flex-direction:column;height:100%;text-decoration:none;color:#000}
  .socio__logo{height:112px;background:#fff;border:var(--borde);box-shadow:var(--sombra-chica);display:grid;place-items:center;
    padding:14px 16px;transition:transform .12s,box-shadow .12s}
  .socios__logos li:nth-child(1) .socio__logo{transform:rotate(-2deg)}
  .socios__logos li:nth-child(3) .socio__logo{transform:rotate(2deg)}
  .socios__logos a:hover .socio__logo{transform:rotate(0) translate(2px,2px);box-shadow:1px 1px 0 #000}
  .socio__logo img{max-height:80px;max-width:100%;width:auto;height:auto;object-fit:contain}
  .socio__nombre{font-size:.8rem;font-weight:600;line-height:1.35;margin-top:12px;color:var(--gris)}
  .historia__texto .bienvenida{display:inline-block;font-size:clamp(1.4rem,3vw,2.1rem);line-height:1.1;text-wrap:balance;color:#fff;
    background:var(--naranjo);border:var(--borde);box-shadow:var(--sombra-chica);padding:.45em .7em;
    text-shadow:3px 3px 0 #000;transform:rotate(-2deg)}
  .video{position:sticky;top:calc(var(--alto-header) + 30px);width:min(100%,330px);margin:0 auto;justify-self:center}
  .video__marco{aspect-ratio:9/16;background:#000}
  .video__aviso{position:absolute;inset:0;z-index:2;display:grid;place-content:center;text-align:center;
    gap:8px;padding:20px;font-weight:900;text-transform:uppercase;font-size:.84rem;color:#fff;background:#111}
  .video__aviso[hidden]{display:none}
  .video__aviso small{display:block;font-weight:400;text-transform:none;font-size:.78rem;color:#bbb;margin-top:8px}
  .video video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;z-index:1;background:#000}

  /* ---------- Contacto ---------- */
  .contacto__grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:66px;align-items:start}
  .contacto .titulo-seccion{color:var(--naranjo)}
  .contacto__texto .hablemos{display:inline-block;font-size:clamp(2rem,4.6vw,3.2rem);color:#fff;background:var(--celeste);
    border:var(--borde);box-shadow:var(--sombra-chica);padding:.3em .55em;text-shadow:3px 3px 0 #000;
    margin:30px 0 18px;transform:rotate(-1.8deg)}
  .contacto__texto p{max-width:40ch;margin-bottom:26px;font-size:1.05rem}
  .motivos{list-style:none;margin-top:42px}
  .motivos li{padding:13px 16px;margin-bottom:10px;background:#fff;border:3px solid #000;box-shadow:3px 3px 0 #000;
    color:#000;font-weight:900;text-transform:uppercase;font-size:.86rem;letter-spacing:.015em;
    transition:transform .12s,box-shadow .12s}
  .motivos li:nth-child(odd){transform:rotate(-.7deg)}
  .motivos li:nth-child(even){transform:rotate(.7deg)}
  .motivos li:hover{transform:rotate(0) translate(2px,2px);box-shadow:1px 1px 0 #000;background:var(--amarillo)}
  .form{background:var(--papel);padding:40px;border:var(--borde);box-shadow:var(--sombra)}
  .form__titulo{font-size:1.4rem;margin-bottom:24px}
  .form__fila{display:grid;grid-template-columns:1fr 1fr;gap:18px}
  .campo{display:flex;flex-direction:column;margin-bottom:20px}
  .campo label{font-weight:900;color:#000;font-size:.8rem;text-transform:uppercase;letter-spacing:.02em;margin-bottom:7px}
  .campo label abbr{color:var(--naranjo);text-decoration:none}
  .campo input,.campo select,.campo textarea{font:400 1rem "Poppins",sans-serif;padding:.8em .9em;border:2px solid #000;
    background:#fff;color:var(--texto);border-radius:0;width:100%;transition:box-shadow .15s}
  .campo textarea{min-height:130px;resize:vertical}
  .campo input:focus,.campo select:focus,.campo textarea:focus{outline:none;box-shadow:3px 3px 0 var(--celeste)}
  .campo .error{color:#B3261E;font-size:.85rem;font-weight:600;margin-top:5px;display:none}
  .campo.invalido input{border-color:#B3261E;box-shadow:3px 3px 0 #B3261E}
  .campo.invalido .error{display:block}
  .form__ok{display:none;background:var(--celeste);color:#fff;padding:16px 18px;font-weight:900;text-transform:uppercase;
    font-size:.86rem;border:3px solid #000;box-shadow:3px 3px 0 #000;margin-top:20px}
  .form__ok.visible{display:block}

  /* ---------- Footer ---------- */
  .footer{background:#000 var(--trama-tenue) repeat 0 0/var(--trama-tam);color:#d9d9d9;padding:72px 0 0}
  .footer__grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:48px;padding-bottom:48px}
  .footer__logo{margin-bottom:18px}
  .footer__logo img{height:62px}
  .footer p{max-width:38ch;font-size:.93rem}
  .footer h3{color:#fff;font-weight:900;text-transform:uppercase;font-size:.88rem;letter-spacing:.03em;margin-bottom:16px;
    border-bottom:3px solid var(--naranjo);padding-bottom:8px;display:inline-block}
  .footer ul{list-style:none}
  .footer li{margin-bottom:10px;font-size:.95rem}
  .footer a{text-decoration:none}
  .footer a:hover{color:var(--naranjo)}
  .redes{display:flex;gap:12px}
  .redes a{width:48px;height:48px;display:grid;place-content:center;background:var(--naranjo);border:3px solid #fff;color:#fff;
    transition:background-color .15s,transform .12s}
  .redes a:hover{background:var(--celeste);transform:translateY(-3px)}
  .redes svg{width:20px;height:20px}
  .footer__legal{border-top:1px solid #2a2a2a;padding:20px 0;font-size:.83rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;color:#9a9a9a}
  .franja{height:16px;background:repeating-linear-gradient(90deg,var(--naranjo) 0 34px,var(--amarillo) 34px 68px)}

  .wsp-caja{position:fixed;right:22px;bottom:28px;z-index:40;display:flex;align-items:center;gap:11px}
  .wsp-burbuja{position:relative;max-width:160px;background:#fff;border:3px solid #000;box-shadow:3px 3px 0 #000;padding:6px 18px 6px 9px;opacity:0;transform:translateX(12px);pointer-events:none;transition:opacity .3s ease,transform .3s ease}
  .wsp-burbuja.visible{opacity:1;transform:none;pointer-events:auto}
  .wsp-burbuja::after{content:"";position:absolute;right:-7px;top:50%;width:10px;height:10px;background:#fff;border-right:3px solid #000;border-top:3px solid #000;transform:translateY(-50%) rotate(45deg)}
  .wsp-burbuja a{text-decoration:none;color:var(--texto);font-size:.68rem;line-height:1.28;display:block;font-weight:600}
  .wsp-burbuja a:hover{color:#000}
  .wsp-burbuja__cerrar{position:absolute;top:1px;right:1px;width:18px;height:18px;border:0;background:none;cursor:pointer;font-size:.6rem;color:var(--gris)}
  .wsp-burbuja__cerrar:hover{color:#000}
  .wsp{position:relative;flex:none;width:60px;height:60px;border-radius:50%;background:var(--naranjo);border:3px solid #000;box-shadow:var(--sombra-chica);display:grid;place-content:center;color:#fff;transition:background-color .15s,transform .15s}
  .wsp:hover{background:var(--naranjo);transform:scale(1.06)}
  .wsp svg{width:28px;height:28px}

  /* ---------- Movimiento al desplazar ---------- */
  .js .aparece{opacity:0;transform:translateY(34px)}
  .js .aparece.ya{opacity:1;transform:none;transition:opacity .55s ease,transform .6s cubic-bezier(.2,.85,.25,1)}
  @media (prefers-reduced-motion:reduce){
    *{transition:none!important;animation:none!important}
    .js .aparece{opacity:1!important;transform:none!important}
    .cinta__pista{animation:none}
  }

  /* ---------- Responsive ---------- */
  @media (max-width:980px){
    .intro__grid,.historia__grid,.contacto__grid{grid-template-columns:minmax(0,1fr)}
    .intro__grid{gap:26px}
    .video{position:relative;top:0}
    .direcciones__cols{grid-template-columns:minmax(0,1fr)}
    .socios__logos{max-width:620px}
    .footer__grid{grid-template-columns:1fr 1fr}
    .footer__grid>div:first-child{grid-column:1/-1}
    .nav ul,.nav{gap:18px}
    .intro__pegotes{display:none}
  }
  /* En móvil el menú sigue visible arriba: logo en una fila y enlaces en la segunda */
  @media (max-width:820px){
    :root{--alto-header:106px}
    .header__fila{flex-wrap:wrap;height:auto;padding-top:10px;gap:0}
    .logo img{height:38px}
    .nav{display:contents}
    .nav .btn{padding:.6em .8em;font-size:.75rem}
    .nav ul{order:3;width:calc(100% + 48px);margin:10px -24px 0;padding:0 20px;gap:10px;justify-content:space-between;border-top:1px solid #2a2a2a;overflow-x:auto;scrollbar-width:none}
    .nav ul li{flex:none}
    .nav ul a{display:block;padding:11px 0;font-size:.78rem}
  }
  @media (max-width:600px){
    .banner__puntos{bottom:10px;gap:8px}.banner__punto{width:12px;height:12px;border-width:2px}
    .visor{box-shadow:8px 8px 0 var(--naranjo)}
    .visor__foto{--vw:165px}
    .visor__caja{padding:18px 0}
    .visor__ficha{grid-template-columns:minmax(0,1fr);padding:18px 20px 20px;gap:14px}
    .visor__lado{flex-direction:row;align-items:center;justify-content:space-between;width:100%}
    .visor__precio{align-self:center}
    .visor__ficha{padding:22px 20px;border-left:0;border-top:var(--borde)}
    .visor__cerrar{top:-14px;right:-10px;width:40px;height:40px}
      .pop{box-shadow:8px 8px 0 var(--celeste)}
    .pop__cerrar{top:8px;right:8px;width:38px;height:38px}
    .pop__pie{padding:9px 11px;gap:8px}
    .pop__local{display:none}
    .pop__pie .sticker{font-size:.6rem}
    .pop__pie .btn{font-size:.64rem;padding:.6em .9em}
    .grupo{margin-bottom:48px}
    .grupo__titulo{margin-bottom:24px}
    .seccion{padding:68px 0}
    .productos{padding-top:60px}
    .intro{padding:42px 0 48px}
    .form{padding:24px}
    .form__fila{grid-template-columns:1fr}
    .footer__grid,.direcciones__cols,.direcciones__dos,.cifras__grid{grid-template-columns:1fr}
    .cifras__grid{gap:34px}
    .cifras__grid>div{transform:none!important}
    .socios__logos{gap:10px}
    .socio__logo{height:78px;padding:8px;box-shadow:3px 3px 0 #000}
    .socio__logo img{max-height:54px}
    .socio__nombre{font-size:.7rem}
    .direcciones{padding:22px}
    .intro__acciones .btn{width:100%}
    .galeria{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 16px}
    .foto__pie{margin-top:14px}
    .foto__pie h4{font-size:.94rem}
    .foto__marco{box-shadow:5px 5px 0 #000}
    .foto button:hover .foto__marco{box-shadow:5px 5px 0 var(--celeste)}
      .sucursales{padding-top:104px}
    .mapa{height:400px}
    .mapa__dibujo{padding:10px 12px 158px}
    .nav .btn span{display:none}
    .historia__texto .destacado{padding:16px 18px}
    .wsp-caja{right:16px;bottom:20px;gap:9px}
    .wsp-burbuja{max-width:140px;padding:6px 17px 6px 8px}
    .wsp-burbuja a{font-size:.66rem}
  }

/* ================= Ajustes pedidos por el cliente: más limpio y funcional ================= */
/* --- Fotos de empanadas: sin marco, sin rotación, grilla pareja --- */
.foto:nth-child(4n+1) .foto__caja,.foto:nth-child(4n+2) .foto__caja,
.foto:nth-child(4n+3) .foto__caja,.foto:nth-child(4n+4) .foto__caja{transform:none}
.foto button{cursor:pointer}
.foto button:hover .foto__caja{transform:translateY(-4px)}
.foto__marco{background:transparent;border:0;box-shadow:none;border-radius:16px;aspect-ratio:1/1;overflow:hidden}
.foto button:hover .foto__marco{box-shadow:0 10px 24px rgba(0,0,0,.16)}
.foto__marco--web img{object-fit:cover;background:transparent}
.foto__marco.sin-img{aspect-ratio:1/1;background:#F1E7D8;border-radius:16px}
.foto__marco.sin-img::after{color:#CFC0AA;font-size:1.5rem}
.galeria{grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:30px 22px}
.foto__pie{margin-top:12px}
.foto__pie h4{font-size:1rem;letter-spacing:0;color:#1a1a1a}

/* --- Títulos de grupo: una línea sobria, no una etiqueta girada --- */
.grupo__titulo,.grupo:nth-child(even) .grupo__titulo{display:block;transform:none;background:transparent;
  border:0;border-bottom:2px solid rgba(0,0,0,.14);box-shadow:none;border-radius:0;text-shadow:none;
  color:var(--celeste-texto);padding:0 0 .55em;margin-bottom:26px;font-size:clamp(.9rem,1.7vw,1.1rem);letter-spacing:.09em}
.grupo--celeste .grupo__titulo{background:transparent;color:var(--celeste-texto)}

/* --- Filtros derechos --- */
.filtro:nth-child(odd),.filtro:nth-child(even){transform:none}
.filtro{box-shadow:none;border:2px solid rgba(0,0,0,.22);border-radius:999px;font-size:.78rem;padding:.6em 1.1em}
.filtro:hover{transform:none;box-shadow:none;border-color:#000}
.filtro[aria-pressed="true"]{text-shadow:none;border-color:var(--naranjo)}

/* --- Títulos de sección parejos en todas las secciones --- */
.titulo-seccion{text-shadow:none;letter-spacing:-.005em}
.titulo-seccion em{transform:none}
.productos .titulo-seccion{color:#111}
.sucursales .titulo-seccion{color:#fff}
.historia .titulo-seccion{color:var(--celeste-texto)}
.contacto .titulo-seccion{color:#111}
.seccion__cabecera{align-items:baseline;gap:14px 18px;margin-bottom:34px}
.seccion__cabecera .sticker,.sticker--gira,.sticker--gira2{transform:none}
.seccion__cabecera .sticker{background:transparent;border:0;box-shadow:none;text-shadow:none;
  color:var(--celeste-texto);padding:0;font-size:.74rem;letter-spacing:.1em}
.sucursales .seccion__cabecera .sticker{color:#CDEEFA}
.seccion__intro{color:var(--gris);font-size:.98rem}

/* --- Sucursales: cada local abre su mapa --- */
.ciudad h3{border-bottom-width:3px}
.local{display:flex;align-items:center;justify-content:space-between;gap:12px;text-decoration:none;color:inherit;
  padding:3px 6px 3px 0;border-radius:8px;transition:background-color .14s,padding .14s}
.local:hover,.local:focus-visible{background:rgba(0,161,199,.09);padding-left:8px}
.local__txt{display:block}
.local__ico{width:17px;height:17px;flex:none;fill:var(--celeste);opacity:0;transition:opacity .14s}
.local:hover .local__ico,.local:focus-visible .local__ico{opacity:1}
.local:focus-visible{outline:2px solid var(--celeste);outline-offset:2px}

/* --- Cifras: azules y sin relieve ochentero --- */
.cifra b{color:var(--celeste);text-shadow:none;font-size:clamp(2.6rem,6.5vw,4.2rem)}
.cifra span{color:#cfcfcf;font-weight:700;letter-spacing:.09em;font-size:.78rem}

/* --- Menos cajas giradas en historia y contacto --- */
.historia__texto .destacado{transform:none;border:0;box-shadow:none;background:transparent;
  border-left:4px solid var(--naranjo);padding:4px 0 4px 18px;font-weight:500}
.historia__texto .bienvenida{transform:none;text-shadow:none;border:0;box-shadow:none;border-radius:10px}
.contacto__texto .hablemos{transform:none;text-shadow:none;border:0;box-shadow:none;border-radius:10px;
  font-size:clamp(1.7rem,3.6vw,2.4rem);margin:18px 0 14px}
.intro h1 em{transform:none}


@media (max-width:700px){
  .galeria{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px}
  .foto__pie h4{font-size:.9rem}
  .foto__marco,.foto__marco.sin-img{border-radius:12px}
  .grupo__titulo{margin-bottom:18px}
  .local{padding-right:2px}
}

/* --- Menos peso en los contenedores grandes --- */
.direcciones{box-shadow:0 16px 38px rgba(0,0,0,.14);border:2px solid rgba(0,0,0,.10)}
.embed{box-shadow:0 16px 38px rgba(0,0,0,.18);border:2px solid rgba(0,0,0,.14)}
.form{background:#fff;padding:34px;border:2px solid rgba(0,0,0,.12);box-shadow:0 16px 38px rgba(0,0,0,.10)}
.socios{border-top:2px solid rgba(0,0,0,.14)}
.socios__logos li:nth-child(1) .socio__logo,.socios__logos li:nth-child(3) .socio__logo{transform:none}
.socio__logo{border:2px solid rgba(0,0,0,.12);box-shadow:0 6px 16px rgba(0,0,0,.10)}
.socios__logos a:hover .socio__logo{transform:translateY(-3px);box-shadow:0 10px 22px rgba(0,0,0,.16)}
@media (max-width:700px){ .form{padding:22px} }

/* ================= Menos naranjo, más negro (petición del cliente) ================= */
/* El bloque grande del inicio pasa de naranjo a negro; el naranjo queda de acento */
.intro{background:#000 var(--trama-tenue) repeat 0 0/var(--trama-tam) !important;color:#fff}
.intro h1,.intro .titular{color:#fff}
.intro h1 em{background:transparent;color:var(--naranjo);padding:0;text-shadow:none}
.intro__texto{color:#dcdcdc}

/* Bloque de bienvenida en historia: negro con el naranjo como detalle */
.historia__texto .bienvenida{background:#000;color:#fff}
.historia__texto .bienvenida::after{content:"";display:block;width:62px;height:4px;background:var(--naranjo);margin-top:14px}

/* Nada de amarillo: botón sobre el mapa en blanco */
.embed__aviso .btn{background:#fff;color:#000;border-color:#000}
.sticker{background:#fff;color:#000}
.sticker--celeste{background:var(--celeste);color:#fff}
.sticker--naranjo{background:var(--naranjo);color:#fff}

/* El naranjo se reserva para acentos: CTA, subrayados y estados activos */
.ciudad h3{border-bottom-color:var(--naranjo)}

/* ================= Visor de empanadas: minimalista ================= */
.visor{border:0;border-radius:18px;overflow:hidden;background:#0d0d0d;
  box-shadow:0 30px 70px rgba(0,0,0,.55);max-width:min(96vw,1020px)}
.visor__foto{background:#0d0d0d}
.visor__card{border:0;box-shadow:none;border-radius:12px;background:#141414}
.visor__card.es-activa{box-shadow:0 18px 40px rgba(0,0,0,.55)}
.visor__card:focus-visible{outline:2px solid #fff;outline-offset:3px}

.visor__ficha{background:#0d0d0d;color:#fff;border-top:1px solid rgba(255,255,255,.12);
  padding:24px 32px 28px;align-items:center}
.visor__ficha h3{color:#fff;text-shadow:none;font-size:clamp(1.35rem,2.6vw,1.9rem)}
.visor__desc{color:#bdbdbd;font-size:.98rem}
.visor__codigo{background:transparent;color:#9a9a9a;border:1px solid rgba(255,255,255,.28);
  box-shadow:none;font-size:.66rem;letter-spacing:.14em;padding:.34em .8em}
.visor__precio{background:transparent;border:0;box-shadow:none;text-shadow:none;transform:none;
  color:var(--naranjo);font-size:1.6rem;padding:0;margin:0}

.visor__pie button{border:1px solid rgba(255,255,255,.28);background:transparent;color:#fff;
  box-shadow:none;border-radius:50%;width:34px;height:34px;font-size:1.05rem;
  transition:background-color .14s,border-color .14s}
.visor__pie button:hover{transform:none;box-shadow:none;background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.5)}

.visor__cerrar{top:12px;right:12px;width:38px;height:38px;background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.3);color:#fff;box-shadow:none;backdrop-filter:blur(6px)}
.visor__cerrar:hover{transform:none;box-shadow:none;background:rgba(255,255,255,.22)}

@media (max-width:700px){
  .visor{border-radius:14px}
  .visor__ficha{padding:18px 20px 22px}
  .visor__cerrar{top:10px;right:10px;width:34px;height:34px}
}

.visor__cerrar:focus-visible,.visor__pie button:focus-visible{outline:2px solid rgba(255,255,255,.75);outline-offset:2px}

/* ================= Pop-up del banner: minimalista ================= */
.pop{border:0;border-radius:18px;overflow:hidden;background:#fff;
  box-shadow:0 30px 70px rgba(0,0,0,.5);max-width:min(94vw,800px)}
.pop__cerrar{top:14px;right:14px;width:38px;height:38px;background:rgba(0,0,0,.42);
  border:1px solid rgba(255,255,255,.45);color:#fff;box-shadow:none;backdrop-filter:blur(6px)}
.pop__cerrar:hover{transform:none;box-shadow:none;background:rgba(0,0,0,.62)}
.pop__cerrar:focus-visible{outline:2px solid rgba(255,255,255,.8);outline-offset:2px}
.pop__pie{border-top:0;background:#fff;padding:16px 20px}
.pop__pie .sticker{background:transparent;border:0;box-shadow:none;text-shadow:none;color:#555;
  font-weight:700;font-size:.78rem;letter-spacing:.01em;padding:0;white-space:normal}
.pop__pie .btn{border:0;box-shadow:none;border-radius:999px;background:var(--celeste);color:#fff;
  text-shadow:none;font-size:.74rem;padding:.72em 1.3em}
.pop__pie .btn:hover{transform:none;box-shadow:none;filter:brightness(1.08)}
@media (max-width:700px){
  .pop{border-radius:14px}
  .pop__cerrar{top:10px;right:10px;width:34px;height:34px}
  .pop__pie{padding:13px 14px;gap:10px}
  .pop__pie .sticker{font-size:.72rem}
  .pop__pie .btn{font-size:.7rem;padding:.68em 1.1em}
}

/* Puntos del carrusel: discretos */
.banner__punto{width:9px;height:9px;border:0;border-radius:50%;background:rgba(255,255,255,.45);
  box-shadow:0 1px 3px rgba(0,0,0,.35)}
.banner__punto:hover{transform:none;background:rgba(255,255,255,.75)}
.banner__punto[aria-selected="true"]{background:#fff;transform:none}
.banner__puntos{bottom:14px;gap:8px}
@media (max-width:700px){ .banner__punto{width:8px;height:8px} .banner__puntos{bottom:10px} }

/* ===== Carrusel por sección ===== */
#galeria .grupo{margin-bottom:58px}
.fila__top{display:flex;align-items:flex-end;gap:18px;margin-bottom:2px}
.fila__nav{margin-left:auto;display:flex;gap:9px;flex:0 0 auto}
.fila__nav[hidden]{display:none}
.fila__nav button{all:unset;cursor:pointer;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;
  background:#141414;color:#fff;font-size:1.25rem;line-height:1;transition:background .2s,transform .2s}
.fila__nav button:hover{background:var(--naranjo);color:#000;transform:translateY(-2px)}
.fila{position:relative;overflow:hidden;cursor:grab}
.fila--sola .fila__pista{justify-content:flex-start;cursor:default}
.fila--sola .fila{cursor:default}
.fila--sola .pieza{width:min(420px,34vw)}
.fila--sola .pieza__tag{opacity:1}
.fila--sola .pieza__tag .flc{width:92px;height:79px;margin-bottom:-15px}
.fila--sola .pieza__nom{font-size:1.5rem}
.fila--sola .fila__pista{padding-top:136px}
.fila.arrastrando{cursor:grabbing}
.fila__pista{display:flex;align-items:flex-end;gap:44px;padding:126px 0 30px;will-change:transform;touch-action:pan-y}
.pieza{all:unset;display:block;position:relative;flex:0 0 auto;width:225px;cursor:pointer}
.pieza:focus-visible{outline:3px solid var(--naranjo);outline-offset:6px;border-radius:20px}
.pieza__img{display:block;width:100%;aspect-ratio:4/5;transform-origin:center bottom;object-fit:cover;border-radius:18px;background:#111;
  box-shadow:0 12px 26px rgba(60,35,10,.13);transition:box-shadow .45s ease}
.pieza:hover .pieza__img,.pieza.is-center .pieza__img{box-shadow:0 20px 44px rgba(60,35,10,.22)}
.pieza__tag{position:absolute;bottom:calc(100% + 58px);left:50%;transform:translateX(-50%);
  display:flex;align-items:flex-end;gap:2px;white-space:nowrap;pointer-events:none;
  opacity:0;transition:opacity .2s}
.pieza:hover .pieza__tag,.pieza:focus-visible .pieza__tag,.pieza.is-center .pieza__tag{opacity:1}
/* con el mouse sobre otra foto, la etiqueta pasa a esa y no se juntan dos */
@media (min-width:861px){ .fila__pista:has(.pieza:hover) .pieza.is-center:not(:hover) .pieza__tag{opacity:0} }
.pieza__tag .flc{width:70px;height:60px;color:var(--naranjo);flex:0 0 auto;transform:rotate(-4deg);margin-bottom:-12px;overflow:visible}
.pieza__nom{font-family:'Luckiest Guy',Poppins,sans-serif;font-size:1.05rem;line-height:1;color:#141414;
  transform:rotate(-2deg) translateY(9px);opacity:0;transform-origin:right bottom;margin-bottom:9px}
@keyframes nomIn{to{transform:rotate(-2deg);opacity:1}}
.flc path{fill:currentColor}
.flc .mkt,.flc .mkh{stroke-dasharray:1;stroke-dashoffset:1}
@keyframes dibuja{to{stroke-dashoffset:0}}
/* el trazo se dibuja una sola vez por pieza (clase .dibujada desde JS) y ya no se reinicia */
.pieza__tag .mkt{transition:stroke-dashoffset .46s cubic-bezier(.45,.05,.3,1)}
.pieza__tag .mkh{transition:stroke-dashoffset .22s ease-out .38s}
.pieza.dibujada .pieza__tag .mkt,.pieza.dibujada .pieza__tag .mkh{stroke-dashoffset:0}
.pieza.dibujada .pieza__nom{transform:rotate(-2deg);opacity:1;
  transition:opacity .34s ease .16s,transform .44s cubic-bezier(.18,1.3,.4,1) .16s}

/* ===== Ficha ===== */
.visor{width:min(1000px,calc(100vw - 40px));max-width:none;max-height:min(90vh,720px);overflow:auto;
  background:var(--papel)!important;color:#141414;border:0;border-radius:22px;padding:34px;
  box-shadow:0 36px 90px rgba(0,0,0,.6)}
.visor::backdrop{background:rgba(10,8,6,.76)}
.fichaB{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1fr);gap:46px;align-items:center}
.fichaB__foto{position:relative;border-radius:16px;overflow:hidden;background:#0d0d0d;
  height:clamp(300px,54vh,520px);aspect-ratio:4/5;width:auto;max-width:100%;justify-self:center}
.fichaB__foto img{width:100%;height:100%;object-fit:cover;display:block;
  clip-path:inset(0 0 100% 0);transition:clip-path .62s cubic-bezier(.2,.8,.2,1)}
.visor.go .fichaB__foto img{clip-path:inset(0 0 0 0)}
.fichaB__info{position:relative;min-width:0}
.flc--desk{position:absolute;left:-156px;top:-24px;width:196px;height:170px;transform:rotate(-7deg);
  color:var(--naranjo);pointer-events:none;overflow:visible}
.flc--mov{display:none;position:absolute;color:var(--naranjo);pointer-events:none;overflow:visible}
.visor.go .flc--desk .mkt,.visor.go .flc--mov .mkt{animation:dibuja .5s cubic-bezier(.45,.05,.3,1) .18s forwards}
.visor.go .flc--desk .mkh,.visor.go .flc--mov .mkh{animation:dibuja .24s ease-out .56s forwards}
.nombreB{font-family:'Luckiest Guy',Poppins,sans-serif;font-weight:400;font-size:clamp(1.75rem,3.8vw,2.7rem);
  line-height:.92;margin:0;color:#141414;text-transform:none;letter-spacing:0;
  transform:rotate(-2.2deg) translateY(14px) scale(.96);opacity:0;transform-origin:left bottom;
  transition:transform .46s cubic-bezier(.18,1.3,.4,1) .5s,opacity .3s .5s}
.visor.go .nombreB{transform:rotate(-2.2deg);opacity:1}
.catB{display:inline-block;margin:16px 0 0;font-size:.68rem;font-weight:900;letter-spacing:.17em;
  text-transform:uppercase;color:var(--celeste);opacity:0;transform:translateY(8px);transition:all .34s .62s}
.visor.go .catB{opacity:1;transform:none}
.descB{margin:13px 0 0;font-size:1.02rem;line-height:1.55;color:#5f5f5f;max-width:40ch;
  opacity:0;transform:translateY(10px);transition:all .4s .68s}
.visor.go .descB{opacity:1;transform:none}
.precioB{display:inline-flex;align-items:baseline;gap:9px;margin-top:26px;font-weight:900;font-size:2rem;
  color:var(--naranjo);opacity:0;transform:scale(1.25) rotate(-5deg);transform-origin:left center;
  transition:transform .4s cubic-bezier(.2,1.5,.4,1) .78s,opacity .22s .78s}
.precioB small{font-size:.66rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#8a8a8a}
.visor.go .precioB{opacity:1;transform:none}
.cerrarB{all:unset;position:absolute;top:16px;right:18px;z-index:5;cursor:pointer;width:38px;height:38px;
  border-radius:50%;display:grid;place-items:center;font-size:1.1rem;color:#141414;background:rgba(0,0,0,.08)}
.cerrarB:hover{background:rgba(0,0,0,.18)}
.navB{position:absolute;bottom:24px;right:28px;display:flex;gap:9px;z-index:4}
.navB button{all:unset;cursor:pointer;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;
  background:rgba(0,0,0,.08);color:#141414;font-size:1.15rem;transition:background .2s,transform .2s}
.navB button:hover{background:var(--naranjo);color:#000;transform:translateY(-2px)}

@media (max-width:860px){
  .fila__pista{gap:26px;padding:108px 0 26px;align-items:flex-end}
  .pieza{width:175px}
  .fila--sola .pieza{width:min(70vw,280px)}
  .fila--sola .pieza__tag .flc{width:72px;height:62px;margin-bottom:-12px}
  .fila--sola .pieza__nom{font-size:1.08rem}
  .fila--sola .fila__pista{padding-top:120px}
  /* en móvil no hay hover: la etiqueta la lleva la que está al frente */
  .pieza__tag{bottom:calc(100% + 52px)}
  .pieza:hover .pieza__tag{opacity:0}
  .pieza.is-center .pieza__tag{opacity:1}
  .pieza__tag .flc{width:62px;height:53px;margin-bottom:-11px}
  .pieza__nom{font-size:.88rem}
  .fila__nav button{width:38px;height:38px}
  .visor{padding:22px 20px 26px;border-radius:18px;max-height:92vh}
  .fichaB{grid-template-columns:1fr;gap:18px}
  .fichaB__foto{width:100%;height:auto;aspect-ratio:4/5}
  .flc--desk{display:none}
  .flc--mov{display:block;right:4px;top:-74px;width:132px;height:114px;transform:scaleY(-1) rotate(8deg)}
  .nombreB{font-size:2.3rem}
  .cerrarB{top:12px;right:12px;background:rgba(0,0,0,.5);color:#fff}
  .navB{position:static;margin-top:20px;display:flex;justify-content:flex-end}
  .precioB{margin-top:18px;font-size:1.7rem}
}
@media (prefers-reduced-motion:reduce){.pieza__tag,.flc *{animation:none!important}.flc .mkt,.flc .mkh{stroke-dashoffset:0}}

/* ================= Nuevo sitio: compra online, captcha y ajustes ================= */
.logo img{width:auto}
.nav__botones{display:flex;align-items:center;gap:10px}
.nav .btn--wsp{background:transparent;color:#fff;border-color:rgba(255,255,255,.45)}
.nav .btn--wsp:hover{background:rgba(255,255,255,.12);filter:none}
.btn--pedido{white-space:nowrap}
.intro__acciones .btn--naranjo{border-color:var(--naranjo)}
.productos__cta{margin-top:54px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px 22px;text-align:center}
.productos__cta p{font-weight:600;color:#1a1a1a}
.ficha__pedir{margin-top:22px;border:0;box-shadow:none;border-radius:999px;padding:.85em 1.4em}
.ficha__pedir:hover{transform:translateY(-2px);box-shadow:none;filter:brightness(1.08)}
.btn.btn--pronto{background:#bdbdbd;color:#4a4a4a;cursor:not-allowed}
.btn.btn--pronto:hover,.btn.btn--pronto:active{transform:none;filter:none;box-shadow:var(--sombra-chica)}
.ficha__pedir.btn--pronto:hover,.ficha__pedir.btn--pronto:active{box-shadow:none}

/* Respaldo sin JavaScript: la carta como lista simple (el carrusel la reemplaza) */
.carta-seo{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:26px}
.carta-seo img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:16px}
.carta-seo h4{margin-top:10px;font-size:1rem;line-height:1.2}
.carta-seo p{font-size:.85rem;line-height:1.4;color:var(--gris)}
.carta-seo b{color:var(--naranjo)}

/* Formulario */
.campo--trampa{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.captcha{display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:10px;align-items:center}
.captcha img{display:block;width:200px;height:64px;border:2px solid #000;background:#FFF6EA}
.captcha__otro{width:44px;height:44px;border:2px solid #000;background:#fff;cursor:pointer;font-size:1.25rem;line-height:1}
.captcha__otro:hover{background:var(--papel)}
.campo .captcha input{text-transform:uppercase;letter-spacing:.2em;font-weight:600}
.campo.invalido .captcha input{border-color:#B3261E;box-shadow:3px 3px 0 #B3261E}
.form button[type=submit]:disabled{opacity:.6;cursor:wait}
.form__err{background:#FDECEA;color:#8C1D18;border:2px solid #B3261E;padding:12px 14px;font-weight:600;font-size:.9rem;margin-top:16px}
.form__err[hidden]{display:none}

@media (max-width:820px){
  .nav__botones{gap:8px}
  .nav .btn--wsp{padding:.6em .7em}
}
@media (max-width:600px){
  .nav .btn--pedido span{display:inline}
  .nav .btn--pedido{font-size:.72rem;padding:.62em .8em}
  .captcha{grid-template-columns:auto auto}
  .captcha input{grid-column:1/-1}
  .intro__acciones .btn{width:100%}
}

/* ================= Globo de WhatsApp: burbuja de chat ================= */
.wsp-burbuja{max-width:230px;background:#fff;border:0;border-radius:20px 20px 6px 20px;
  box-shadow:0 10px 28px rgba(0,0,0,.18),0 2px 6px rgba(0,0,0,.08);padding:12px 30px 12px 15px;
  transform:translateY(8px) scale(.96);transform-origin:right bottom;
  transition:opacity .35s ease,transform .35s cubic-bezier(.2,1.3,.4,1)}
.wsp-burbuja.visible{transform:none}
.wsp-burbuja::after{right:-6px;top:auto;bottom:10px;width:14px;height:14px;border:0;border-radius:0 0 4px 0;
  background:#fff;transform:rotate(-45deg);box-shadow:3px 3px 6px rgba(0,0,0,.06)}
.wsp-burbuja a{font-size:.82rem;line-height:1.4;font-weight:500;color:#222}
.wsp-burbuja a::before{content:"Empanadas Puerto Varas";display:block;font-weight:700;font-size:.72rem;color:#1E7F4F;margin-bottom:2px}
.wsp-burbuja__cerrar{top:6px;right:6px;width:22px;height:22px;border-radius:50%;font-size:.62rem;color:#999;background:#f2f2f2}
.wsp-burbuja__cerrar:hover{background:#e6e6e6;color:#333}
.wsp{border:0;box-shadow:0 8px 22px rgba(236,128,0,.45)}
.wsp:hover{box-shadow:0 10px 26px rgba(236,128,0,.55)}
@media (max-width:600px){
  .wsp-burbuja{max-width:200px;padding:10px 28px 10px 13px}
  .wsp-burbuja a{font-size:.76rem}
}
.wsp-burbuja::after{right:-9px;bottom:8px;width:14px;height:18px;border-radius:0;transform:none;box-shadow:none;
  clip-path:polygon(0 0,100% 70%,0 100%)}

/* ================= Celular: menú hamburguesa y ajustes ================= */
.nav__menu{display:none;width:42px;height:42px;border:2px solid rgba(255,255,255,.4);border-radius:10px;background:transparent;
  cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:0}
.nav__menu span{display:block;width:20px;height:2px;background:#fff;border-radius:2px;transition:transform .2s,opacity .2s}
.header.menu-abierto .nav__menu span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.header.menu-abierto .nav__menu span:nth-child(2){opacity:0}
.header.menu-abierto .nav__menu span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media (max-width:820px){
  :root{--alto-header:66px}
  .header__fila{flex-wrap:nowrap;height:62px;padding-top:0;gap:10px}
  .logo img{height:36px}
  .nav{display:flex;align-items:center;gap:8px}
  .nav ul{display:none}
  .header.menu-abierto .nav ul{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;width:auto;
    margin:0;padding:4px 24px 12px;gap:0;background:#000;border-top:1px solid #2a2a2a;border-bottom:4px solid var(--naranjo);
    overflow:visible;order:0;box-shadow:0 18px 30px rgba(0,0,0,.35)}
  .header.menu-abierto .nav ul li{flex:none}
  .header.menu-abierto .nav ul a{display:block;padding:15px 0;font-size:.95rem;border-bottom:1px solid #1f1f1f}
  .header.menu-abierto .nav ul li:last-child a{border-bottom:0}
  .nav ul a::after{display:none}
  .nav .btn--wsp{display:none}
  .nav__menu{display:flex}
}
@media (max-width:600px){
  .nav .btn--pedido{padding:.7em .9em;font-size:.72rem}
  .filtros{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-left:-24px;margin-right:-24px;padding:4px 24px 8px}
  .filtros::-webkit-scrollbar{display:none}
  .filtro{flex:none}
}
@media (max-width:380px){
  .logo img{height:30px}
  .nav .btn--pedido svg{display:none}
}
@media (max-width:700px){ .banner__slide img{aspect-ratio:auto;height:auto} }
