/* Peso Neto — demo */
@font-face{
  font-family:'Cassannet Plus';
  src:url('../fonts/Cassannet_Plus_Light.woff2') format('woff2'),url('../fonts/Cassannet_Plus_Light.woff') format('woff');
  font-weight:300;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Cassannet Plus';
  src:url('../fonts/Cassannet_Plus_Regular.woff2') format('woff2'),url('../fonts/Cassannet_Plus_Regular.woff') format('woff');
  font-weight:400;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Cassannet Plus';
  src:url('../fonts/Cassannet_Plus_Bold.woff2') format('woff2'),url('../fonts/Cassannet_Plus_Bold.woff') format('woff');
  font-weight:700;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Cassannet Plus';
  src:url('../fonts/Cassannet_Plus_Black.woff2') format('woff2'),url('../fonts/Cassannet_Plus_Black.woff') format('woff');
  font-weight:900;font-style:normal;font-display:swap;
}
:root{
  --pn-naranja:#FF4713;
  --pn-fuente:'Cassannet Plus','Futura','Century Gothic',Arial,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{background:#fff;font-family:var(--pn-fuente);color:var(--pn-naranja)}
body.gravedad{overflow:hidden}

/* ---- piezas físicas ---- */
#world{position:fixed;inset:0;overflow:hidden;touch-action:none}
.pn-body{position:absolute;top:0;left:0;will-change:transform;cursor:grab;user-select:none;-webkit-user-drag:none}
.pn-body:active{cursor:grabbing}
.pn-body img{display:block;width:100%;height:100%;pointer-events:none;-webkit-user-drag:none;transition:filter .15s ease}
.pn-body.link.hover{cursor:pointer}
.pn-body.link.hover img{filter:brightness(0)}

/* rótulos de texto vivo con Cassannet (sustituyen a los SVG trazados) */
.pn-html.pn-rotulo{border:none;background:transparent;border-radius:0;padding:0}
.pn-rotulo{display:flex;align-items:center;justify-content:center;text-align:center;
  font-family:var(--pn-fuente);font-weight:700;text-transform:uppercase;
  color:var(--pn-naranja);line-height:1;letter-spacing:.01em;
  transition:color .15s ease}
.pn-rotulo .salt{font-feature-settings:'salt'}
.pn-rotulo .giro{display:inline-block;white-space:nowrap}
.pn-rotulo .subr{position:relative}
.pn-rotulo .subr::after{content:'';position:absolute;left:0;right:0;height:.061em;bottom:.04em;background:currentColor}
.pn-rotulo .fino{font-weight:400}
.pn-rotulo.link.hover{color:#000;cursor:pointer}
.pn-rotulo .lineas{display:flex;flex-direction:column;gap:.14em;white-space:nowrap;text-align:left}

/* pieza de texto HTML (placeholder hasta tener SVG trazado) */
.pn-html{display:flex;align-items:center;justify-content:center;text-align:center;
  border:3px solid var(--pn-naranja);border-radius:999px;
  font-size:44px;letter-spacing:.02em;text-transform:uppercase;line-height:1;padding:0.12em 0 0;
  color:var(--pn-naranja);background:#fff;transition:background .15s,color .15s}
.pn-html.link.hover{background:var(--pn-naranja);color:#fff;cursor:pointer}

/* pieza fotografía */
.pn-foto img{width:100%;height:100%;object-fit:cover;display:block}
.pn-foto.link.hover img{filter:brightness(.85)}

/* pieza bloque de texto (prosa) */
.pn-texto{font-family:'Work Sans',Arial,sans-serif;font-weight:300;letter-spacing:.01em;color:#111;
  line-height:1.16;text-align:left;background:#fff;padding:10px 14px;overflow:hidden}
.pn-texto p{margin:0 0 10px}
.pn-texto p:last-child{margin-bottom:0}
.pn-texto strong{font-weight:700}

/* enlaces legales (arriba dcha, iguales en todas las páginas) */
.legal{position:fixed;top:18px;right:22px;z-index:20;display:flex;gap:20px;
  font-family:Arial,Helvetica,sans-serif;font-size:11px;letter-spacing:.01em;
  text-transform:lowercase;white-space:nowrap;
  opacity:0;transition:opacity .6s ease}
.legal.visible{opacity:1}
.legal a{color:var(--pn-naranja);text-decoration:none}
.legal a:hover{text-decoration:underline}
@media (max-width:760px){
  .legal{top:auto;bottom:0;left:0;right:0;justify-content:center;
    gap:14px;font-size:8px;line-height:10px;padding:0 10px max(8px, env(safe-area-inset-bottom));background:#fff;width:100%}
}

/* volver fijo (páginas interiores): colgado a la izquierda, entra en slide down */
.volver-fijo{position:fixed;top:0;left:60px;z-index:500;width:120px;display:block;
  transform:translateY(-110%);transition:transform .7s cubic-bezier(.16,1,.3,1)}
.volver-fijo.visible{transform:translateY(0)}
.volver-fijo img{width:100%;transition:filter .15s}
.volver-fijo:hover img{filter:grayscale(1) contrast(10)}
@media (max-width:760px){
  .volver-fijo{left:50%;top:-30px;width:100px;transform:translate(-50%,-110%)}
  .volver-fijo.visible{transform:translate(-50%,0)}
}

/* ---- overlay RESERVAS ---- */
#reservas{position:fixed;inset:0;z-index:100;background:var(--pn-naranja);color:#fff;
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  padding:24px 24px 12vh;
  transform:translateY(100%);visibility:hidden;
  transition:transform .65s cubic-bezier(.16,1,.3,1),visibility 0s .65s}
#reservas.abierto{transform:translateY(0);visibility:visible;
  transition:transform .65s cubic-bezier(.16,1,.3,1)}
#reservas .cerrar{position:absolute;top:36px;right:48px;width:72px;height:72px;background:none;border:none;cursor:pointer;padding:0}
#reservas .cerrar svg{width:100%;height:100%;stroke:#fff;stroke-width:4.5;stroke-linecap:butt}
#reservas .cerrar:hover svg{stroke:#000}
#reservas h2{font-size:clamp(28px,4.6vw,58px);font-weight:400;letter-spacing:0;text-transform:uppercase}
#reservas h2 u{text-decoration-thickness:0.07em;text-underline-offset:0.14em}
#reservas .tel{display:flex;align-items:center;justify-content:center;margin:42px 0;
  padding:0.15em 58px 0;height:1.4em;border:5px solid #fff;border-radius:999px;
  color:#fff;text-decoration:none;font-weight:400;font-size:clamp(38px,6.5vw,84px);letter-spacing:0;line-height:1}
#reservas .tel:hover{background:#fff;color:var(--pn-naranja)}
#reservas .en{font-size:clamp(13px,1.55vw,21px);font-weight:400;letter-spacing:.03em;text-transform:uppercase}
#reservas .en a{color:#fff;font-weight:700;text-decoration:none}
#reservas .en a:hover{text-decoration:underline}

/* ---- páginas estáticas (cocina alcahueta) ---- */
.pagina{max-width:900px;margin:0 auto;padding:150px 24px 80px}
.pagina h1{font-size:clamp(40px,7vw,84px);text-transform:uppercase;letter-spacing:.03em;margin-bottom:40px}
.pagina p{color:#111;font-family:Georgia,serif;font-size:18px;line-height:1.7;margin-bottom:1.2em;max-width:70ch}
.galeria{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin:50px 0}
.galeria img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.pie{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:70px;font-size:13px;letter-spacing:.06em;text-transform:uppercase}
.pie a{color:var(--pn-naranja)}

@media (max-width:760px){
  .pn-body[data-pieza="telefono"]::after{content:'';position:absolute;
    left:2%;width:96%;bottom:-4px;height:2.5px;background:var(--pn-naranja)}
}

/* panel de texto inferior con scroll propio (cocina alcahueta) */
.texto-pie{position:fixed;left:16px;right:16px;bottom:8px;height:30vh;z-index:5;
  overflow:hidden;background:#fff;
  font-family:'Work Sans',Arial,sans-serif;font-weight:400;font-size:13px;line-height:15px;
  color:#111;
  transition:transform .9s cubic-bezier(.5,0,.75,.5)}
.texto-pie.cayendo{transform:translateY(130vh)}
.texto-scrollzona{height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;
  padding:10px 30px 10px 0;scrollbar-width:none}
.texto-scrollzona::-webkit-scrollbar{display:none}
.texto-pie p{margin:0 0 10px;max-width:660px}
.texto-pie strong{font-weight:700}
/* indicador de scroll: línea con marcador a la derecha (arrastrable) */
.texto-indicador{position:absolute;top:8px;bottom:8px;right:0;width:26px;
  touch-action:none;cursor:grab}
.texto-indicador:active{cursor:grabbing}
.texto-indicador::before{content:'';position:absolute;top:0;bottom:0;right:9px;width:2px;
  background:rgba(255,71,19,.25);border-radius:1px}
.texto-indicador i{position:absolute;right:6px;top:0;width:8px;height:28px;
  background:var(--pn-naranja);border-radius:4px;pointer-events:none}
@media (max-width:760px){
  .texto-pie{bottom:32px;font-size:13px}
}

/* visor de fotos (slide) */
.galeria-overlay{position:fixed;inset:0;z-index:120;background:#fff;display:none;flex-direction:column;justify-content:center}
.galeria-overlay.abierto{display:flex}
.galeria-overlay .cerrar{position:absolute;top:20px;right:20px;width:48px;height:48px;background:none;border:none;cursor:pointer;z-index:2;padding:0}
.galeria-overlay .cerrar svg{width:100%;height:100%;stroke:var(--pn-naranja);stroke-width:4.5;stroke-linecap:butt}
.galeria-pista{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;width:100%;
  -webkit-overflow-scrolling:touch;scrollbar-width:none}
.galeria-pista::-webkit-scrollbar{display:none}
.galeria-pista img{flex:0 0 100%;width:100%;object-fit:contain;max-height:82vh;scroll-snap-align:center}
.galeria-puntos{position:absolute;left:0;right:0;bottom:9vh;display:flex;justify-content:center;gap:10px;pointer-events:none}
.galeria-puntos b{width:9px;height:9px;border-radius:50%;background:#fff;opacity:.45;
  box-shadow:0 0 3px rgba(0,0,0,.35);transition:opacity .2s,transform .2s}
.galeria-puntos b.activo{opacity:1;transform:scale(1.25)}

/* el panel de texto y el visor de fotos son solo de móvil */
@media (min-width:761px){
  .texto-pie, .galeria-overlay{display:none !important}
}

/* ===== Cocina alcahueta MÓVIL: versión estática (texto prioritario) ===== */
.ca-movil{display:none}
@media (max-width:760px){
  body.ca-estatica{overflow:auto}
  .ca-movil{display:block;padding:0 0 64px;
    font-family:'Work Sans',Arial,sans-serif}
  .ca-titulo-txt{font-family:var(--pn-fuente);font-weight:700;color:var(--pn-naranja);
    text-transform:uppercase;font-size:clamp(30px,9vw,40px);line-height:1.05;
    text-align:center;padding:0 20px;margin:0 0 18px}
  .ca-volver{display:block;width:max-content;margin:30px auto 0;
    font-family:var(--pn-fuente);font-weight:400;color:var(--pn-naranja);
    text-transform:uppercase;font-size:20px;letter-spacing:.04em;text-decoration:none;
    border:3px solid var(--pn-naranja);border-radius:999px;background:#fff;
    padding:calc(10px + 0.12em) 36px 10px}
  .ca-volver:active{background:var(--pn-naranja);color:#fff}
  .ca-movil > *{opacity:0;transform:translateY(14px);
    transition:opacity .5s ease, transform .5s ease}
  .ca-movil > .in{opacity:1;transform:none}
  .ca-titulo{display:block;width:82%;max-width:420px;margin:0 auto 22px}
  .ca-slider{position:relative;margin:0 0 36px}
  .ca-pista{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;scrollbar-width:none}
  .ca-pista::-webkit-scrollbar{display:none}
  .ca-pista img{flex:0 0 100%;width:100%;height:40vh;object-fit:cover;scroll-snap-align:center}
  .ca-puntos{position:absolute;left:0;right:0;bottom:10px;display:flex;justify-content:center;gap:10px;pointer-events:none}
  .ca-puntos b{width:9px;height:9px;border-radius:50%;background:#fff;opacity:.45;
    box-shadow:0 0 3px rgba(0,0,0,.35);transition:opacity .2s,transform .2s}
  .ca-puntos b.activo{opacity:1;transform:scale(1.25)}
  .ca-texto{padding:0 20px;font-weight:300;letter-spacing:.01em;font-size:14px;line-height:1.5;color:#111}
  .ca-texto p{margin:0 0 14px;}
  .ca-texto strong{font-weight:700}
  /* caída de salida al pulsar VOLVER (distancia calculada por JS según el scroll) */
  .ca-movil > .cae{transition:transform .9s cubic-bezier(.5,0,.75,.5)}
}

/* ===== páginas legales ===== */
body.legal-pag{overflow:auto}
.pagina-legal{max-width:760px;margin:0 auto;padding:150px 20px 80px;
  font-family:'Work Sans',Arial,sans-serif;font-weight:300;letter-spacing:.01em;
  font-size:14px;line-height:1.6;color:#111}
.pagina-legal h1{font-family:var(--pn-fuente);font-weight:700;color:var(--pn-naranja);
  text-transform:uppercase;font-size:clamp(30px,5vw,44px);line-height:1.05;margin:0 0 30px}
.pagina-legal h2{font-family:var(--pn-fuente);font-weight:400;color:var(--pn-naranja);
  text-transform:uppercase;font-size:20px;margin:34px 0 12px}
.pagina-legal h3{font-weight:700;font-size:15px;margin:22px 0 8px}
.pagina-legal p{margin:0 0 12px}
.pagina-legal ul{margin:0 0 12px 20px;padding:0}
.pagina-legal li{margin:0 0 6px}
.pagina-legal a{color:var(--pn-naranja)}
.pagina-legal em{font-style:italic}
.pagina-legal .cookie-item{margin:0 0 10px;padding-left:14px;border-left:2px solid rgba(255,71,19,.3)}
@media (max-width:760px){
  .pagina-legal{padding:120px 20px 70px}
}

/* ===== páginas legales ===== */
.legal-pagina{max-width:820px;margin:0 auto;padding:150px 24px 90px;
  font-family:'Work Sans',Arial,sans-serif;font-weight:300;font-size:14px;line-height:1.6;color:#111}
.legal-pagina h1{font-family:var(--pn-fuente);font-weight:700;color:var(--pn-naranja);
  font-size:clamp(32px,6vw,54px);line-height:1.05;text-transform:uppercase;margin:0 0 34px}
.legal-pagina h2{font-family:var(--pn-fuente);font-weight:400;color:var(--pn-naranja);
  font-size:21px;text-transform:uppercase;margin:36px 0 12px}
.legal-pagina h3{font-size:15px;font-weight:700;margin:22px 0 8px}
.legal-pagina p{margin:0 0 12px}
.legal-pagina ul,.legal-pagina ol{margin:0 0 14px;padding-left:22px}
.legal-pagina li{margin:0 0 6px}
.legal-pagina a{color:var(--pn-naranja)}
.legal-pagina em{font-style:italic}
.tabla-cookies{width:100%;border-collapse:collapse;margin:8px 0 20px;font-size:13px}
.tabla-cookies th,.tabla-cookies td{text-align:left;padding:7px 10px 7px 0;
  border-bottom:1px solid rgba(255,71,19,.25);vertical-align:top}
.tabla-cookies th{font-weight:700}
@media (max-width:760px){
  .legal-pagina{padding:120px 18px 70px}
}
