.site-header { position:relative; z-index:50; }
.mobile-navigation { display:none; }
.mobile-brand { display:none; }
.menu-trigger { position:fixed; top:min(10vh,60px); left:0; width:104px; height:270px; z-index:51; padding:0; border:0; background:none; cursor:pointer; }
.menu-trigger span { opacity:0; }
.menu { --tab-width:104px; position:fixed; inset:0 auto auto 0; margin:min(10vh,60px) 0 0; width:min(384px,calc(100vw - 16px),calc((100svh - 80px)*.70718)); height:auto; aspect-ratio:384/543; max-width:none; max-height:calc(100svh - 80px); padding:0; border:0; overflow:visible; color:#111; background:url('../actualizacion/MENU_PAPEL.webp') left top/100% auto no-repeat; filter:drop-shadow(5px 7px 7px #160c1640); container-type:inline-size; transform:scale(var(--closed-menu-scale,1)) translateX(calc(-100% + var(--tab-width))); transform-origin:left top; transition:transform 520ms cubic-bezier(.22,.75,.2,1); pointer-events:none; }
.menu.is-open { transform:none; pointer-events:auto; }
.menu:not(:modal) { transition:none; }
.menu::backdrop { background:transparent; transition:background-color 520ms ease; }
.menu.is-open::backdrop { background:#140a0f66; }
.menu nav { position:absolute; inset:0; opacity:0; transition:opacity 200ms ease; }
.menu.is-open nav { opacity:1; transition-delay:170ms; }
.menu ul { position:absolute; inset:14% 20% 12% 13.54%; display:flex; flex-direction:column; justify-content:space-between; margin:0; padding:0; list-style:none; }
.menu li { margin:0; }
.menu a { display:block; padding:10px 0; font-size:6.25cqw; line-height:1.15; font-weight:700; text-decoration:none; color:#111; white-space:nowrap; }
.menu a[aria-current] { color:#ba8041; }
.menu-close { position:absolute; top:21.7%; right:5.7%; z-index:1; width:26%; height:8.84%; padding:0; border:0; background:none; font-size:8.33cqw; font-weight:700; line-height:1; color:#111; transform:rotate(-90deg); cursor:pointer; }
.menu-mobile-label { display:none; }
.menu-active { overflow:hidden; }
.menu-active .menu-trigger { visibility:hidden; }
@media(min-width:901px) and (max-width:1100px) {
.menu { --closed-menu-scale:.75; }
.menu-trigger { width:78px; height:203px; }
}
@media(min-width:701px) and (max-width:900px) {
.menu { --closed-menu-scale:.55; }
.menu-trigger { width:58px; height:149px; }
}
@media (max-width: 700px) {
  .mobile-navigation,
  .mobile-brand {
    display: none;
  }
  .menu {
    --closed-menu-scale: .55;
  }
  .menu-trigger {
    display: block;
    width: 58px;
    height: 149px;
  }
}

/* Pasos: filas comunes en desktop, un bloque centrado por paso en mobile. */
.page-experiencia .experience-steps { aspect-ratio:auto; min-height:0; margin-top:-6.8vw; padding:11.4vw 8.7% 8vw; }
.page-experiencia .steps { position:relative; inset:auto; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; padding:0; margin:3vw 0 0; list-style:none; }
.steps li { position:relative; display:grid; grid-template-rows:clamp(48px,5vw,70px) clamp(145px,14vw,210px) clamp(42px,4vw,60px) auto; justify-items:center; align-items:center; gap:16px; min-width:0; text-align:center; }
.steps li+li::before { content:''; position:absolute; left:-15px; top:22%; bottom:0; width:3px; background:url('../art/EXPERIENCIA_RA_LINEA.webp') center/100% 100% no-repeat; }
.steps .step-number { display:block; width:100%; height:100%; }
.steps .step-illustration { display:block; width:100%; height:100%; }
.steps .step-title { width:100%; height:100%; margin:0; }
.steps .step-title-art { display:block; width:100%; height:100%; }
.steps p { width:100%; max-width:30ch; margin:0 auto; font-size:clamp(14px,1.15vw,17px); line-height:1.5; text-align:center; white-space:normal; }
@media(min-width:701px) and (max-width:1100px) {
.page-experiencia .experience-steps { padding:90px 7% 90px; }
.page-experiencia .steps { margin-top:32px; gap:20px; }
.steps li { grid-template-rows:48px 145px 42px auto; gap:12px; }
.steps li+li::before { left:-10px; }
}
@media(max-width:700px) {
.page-experiencia .experience-steps { margin-top:-35px; padding:65px 7% 75px; }
.page-experiencia .steps { grid-template-columns:minmax(0,1fr); gap:38px; margin-top:25px; }
.steps li { width:100%; max-width:310px; margin:0 auto; grid-template-rows:40px 118px 36px auto; gap:10px; }
.steps li+li::before { display:none; }
.steps p { font-size:15px; max-width:29ch; }
}

/* Panel de mapa: el papel entra y sale por el margen derecho. */
.zenon-map-stage { --map-height:640px; position:relative; isolation:isolate; height:var(--map-height); min-height:0; overflow:hidden; background:var(--claro); }
.zenon-map-stage::before { content:''; position:absolute; inset:0; z-index:2; background:#110d134d; opacity:0; pointer-events:none; transition:opacity 400ms ease; }
.zenon-map-stage.has-spot-card::before { opacity:1; }
.spot-card { position:absolute; z-index:5; inset:18px 18px auto auto; width:min(460px,calc(100% - 36px),calc((var(--map-height) - 36px)*.829565)); aspect-ratio:954/1150; color:var(--oscuro); filter:drop-shadow(0 10px 14px #190c1266); transform:translateX(calc(100% + 40px)); opacity:0; transition:transform 520ms cubic-bezier(.22,.75,.2,1),opacity 220ms ease; }
.spot-card.is-open { transform:translateX(0); opacity:1; }
.spot-card-paper { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; pointer-events:none; }
.spot-card-content { position:relative; padding:54px 9% 8%; }
.spot-card-close { position:absolute; z-index:2; top:3px; left:4px; right:auto; width:44px; height:44px; padding:0; border:0; background:none; color:var(--oscuro); font-size:28px; cursor:pointer; }
.spot-card h3 { margin:0 0 7px; font-size:24px; line-height:1.15; }
.spot-card-neighborhood { font-size:14px; line-height:1.35; margin:0 0 8px; }
.spot-card-count { font-size:14px; line-height:1.4; color:var(--bordo); margin:0 0 12px; }
.spot-videos { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); justify-content:center; gap:14px; width:80%; max-width:260px; margin-inline:auto; }
.spot-video { display:flex; align-items:center; justify-content:center; width:100%; aspect-ratio:9/16; border:1px dashed #392b3360; border-radius:2px; background:#f4ebdd24; color:#66555e; font-size:12px; line-height:1.4; text-align:center; text-decoration:none; }
.spot-video img { width:100%; height:100%; object-fit:cover; }.spot-video span { padding:8px; }
.spot-ra-link { display:block; min-height:32px; margin-top:10px; color:var(--bordo); font-size:12px; line-height:1.4; text-underline-offset:3px; }
@media(min-width:701px) and (max-width:1050px) {
 .zenon-map-stage { --map-height:600px; }
 .spot-card { width:min(420px,calc(100% - 36px),calc((var(--map-height) - 36px)*.829565)); }
 .spot-card h3 { font-size:22px; }.spot-videos { max-width:210px; }
}
@media(min-width:701px) {
 .zenon-map-stage.has-spot-card .maplibregl-ctrl-top-right { left:14px; right:auto; }
}
@media(max-width:700px) {
 .page-experiencia .zenon-map-widget { width:calc(100% + 6vw); margin-inline:-3vw; }
 .zenon-map-stage { --map-height:clamp(460px,calc(100svh - 110px),600px); }
 .spot-card { inset:auto 8px 18px auto; width:min(420px,calc(100% - 16px),calc((var(--map-height) - 32px)*.829565)); }
 .spot-card-content { padding-top:48px; }
 .spot-card h3 { font-size:clamp(18px,5vw,21px); line-height:1.1; margin-bottom:5px; }
 .spot-card-neighborhood, .spot-card-count { font-size:12px; line-height:1.3; margin-bottom:7px; }
 .spot-videos { width:76%; max-width:260px; gap:12px; }.spot-video { font-size:11px; }
 .spot-ra-link { font-size:11px; min-height:26px; margin-top:8px; }
}
@media(prefers-reduced-motion:reduce) {
 .spot-card, .zenon-map-stage::before { transition:none; }
}

/* Preguntas: el centro del contenido coincide con el centro útil del PNG. */
.page-experiencia .faq-paper { position:relative; display:grid; grid-template-areas:'paper'; width:100%; min-height:0; margin:5vw 0 0; isolation:isolate; background:none; }
.faq-paper>.paper-art { grid-area:paper; position:relative; align-self:start; width:100%; height:auto; z-index:0; }
.faq-paper>.paper-art>img { display:block; width:100%; height:auto; object-fit:contain; }
.faq-content { position:absolute; inset:12% 9% 11%; z-index:1; display:flex; flex-direction:column; justify-content:safe center; margin:0; padding:0 3px; text-align:center; overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; }
.faq-content .lettering { width:min(75%,620px); flex-shrink:0; margin:0 auto 22px; }
.faq-content details { text-align:left; flex-shrink:0; }
.faq-content summary { padding-inline:6px; }
.faq-content summary span { display:grid; place-items:center; flex:0 0 28px; width:28px; height:28px; font-size:24px; line-height:1; }
.faq-content details p { width:auto; max-width:100%; margin:0 0 12px; padding:0; overflow-wrap:break-word; }
.faq-paper::before, .faq-paper::after { display:none; }
@media(max-width:1050px) {
.page-experiencia .faq-paper { width:min(100%,650px); margin:45px auto 0; }
.faq-content { inset:11% 9% 10%; }
.faq-content .lettering { width:88%; margin-bottom:16px; }
.faq-content summary { font-size:clamp(14px,1.8vw,18px); line-height:1.3; padding:8px 6px; min-height:44px; }
.faq-content details p { font-size:14px; line-height:1.5; }
}
@media(max-width:700px) {
.page-experiencia .faq-paper { width:calc(100% + 6vw); margin-left:-3vw; margin-right:-3vw; }
}
@media(max-width:360px) {
.faq-content .lettering { width:78%; margin-bottom:12px; }
.faq-content summary { padding-block:6px; }
}

/* Productos: respetar el alfa original; el papel de la tarjeta queda visible. */
.product-photo { display:block; width:100%; height:auto; aspect-ratio:4/5; object-fit:contain; background:transparent; }
.product-card p { word-spacing:normal; letter-spacing:normal; white-space:normal; overflow-wrap:normal; word-break:normal; }

/* Tabla: proporción natural del papel y contenido centrado en ambos ejes. */
.size-paper { position:relative; isolation:isolate; display:grid; grid-template-areas:'paper'; align-items:center; width:107%; margin:6vw -3.5% 0; padding:0; }
.size-paper>.size-paper-art { grid-area:paper; position:relative; width:100%; height:auto; z-index:0; }
.size-paper-art>img { display:block; width:100%; height:auto; object-fit:contain; }
.size-paper-content { grid-area:paper; position:relative; z-index:1; align-self:center; justify-self:center; display:flex; flex-direction:column; align-items:center; width:77%; padding:0; text-align:center; }
.size-title { width:37%; align-self:flex-start; margin:0 0 24px; }
.size-title img { width:100%; }
.size-table { width:100%; margin:0; border-collapse:collapse; table-layout:fixed; color:var(--bordo); font-size:clamp(14px,1.5vw,26px); text-align:left; }
.size-table th, .size-table td { padding:clamp(7px,.7vw,11px) 3px; border-bottom:1px solid #62202480; }
.size-table th { font-weight:600; }
.size-table th:first-child { width:65%; }
.size-note { font-size:clamp(12px,1vw,15px); line-height:1.4; margin:16px 0 0; }
@media(min-width:701px) and (max-width:1050px) {
.size-title { width:42%; margin-bottom:16px; }
.size-table { font-size:14px; }
.size-table th, .size-table td { padding:6px 3px; }
.size-table th:first-child { width:55%; }
.size-note { margin-top:10px; font-size:12px; }
}
@media(max-width:700px) {
.size-paper { width:100%; margin:55px auto 0; }
.size-paper-content { width:82%; }
.size-title { width:92%; align-self:center; margin:0 auto 20px; }
.size-table { font-size:clamp(12px,3.4vw,15px); text-align:center; }
.size-table th:first-child { width:20%; }
.size-table th, .size-table td { padding:10px 2px; }
.size-note { font-size:12px; margin-top:14px; }
}

/* Contacto: eje del formulario centrado y collage alineado al extremo derecho. */
.contact-inner { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,46fr) minmax(0,51fr); align-items:center; gap:3%; width:91.3%; margin:0 0 0 8.7%; }
.contact-copy { min-width:0; text-align:center; }
.contact-form { text-align:left; }
.contact-form label, .contact-form .field-error, .contact-form .form-status, .contact-form .form-explanation { text-align:left; }
.contact-title { width:70%; max-width:415px; margin:0 auto 26px; }
.contact-title img { width:100%; }
.contact-intro { font-size:clamp(17px,1.6vw,26px); line-height:1.5; margin:0 auto 32px; }
.contact-collage { position:relative; z-index:1; width:100%; height:auto; max-width:none; margin:0; justify-self:end; object-fit:contain; }
.contact-copy .contact-form { width:100%; margin-inline:auto; }
.contact-copy .contact-form .form-status, .contact-copy .contact-form .form-explanation { text-align:left; }
@media(max-width:700px) {
.contact-inner { width:100%; margin:0; grid-template-columns:minmax(0,1fr); gap:32px; }
.contact-copy { width:86%; max-width:560px; margin:0 auto; padding:0; }
.contact-title { width:85%; }
.contact-collage { width:min(100%,460px); justify-self:end; }
}

/* Próximas fechas: lugar y CTA comparten el centro entre las dos barras. */
.page-shows .shows-dates { position:relative; z-index:4; aspect-ratio:auto; min-height:108.45vw; padding:18vw 8.6% 13vw; margin-top:-10vw; }
.dates-background { --core-zoom:1; }
.dates-heading { position:relative; display:flex; align-items:center; gap:7vw; z-index:1; }
.dates-heading .lettering { width:25.5%; flex-shrink:0; }
.dates-heading p { font-size:1.8vw; line-height:1.4; margin:0; }
.tickets { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1fr); gap:1.3vw; margin-top:4vw; }
.dates-note { position:relative; z-index:1; margin:2.2vw 0 0; font-size:1vw; line-height:1.45; }
@media(min-width:701px) and (max-width:1100px) {
.page-shows .shows-dates { min-height:0; padding:max(100px,13vw) 6% 22vw; }
.dates-background { --edge-image:url('../actualizacion/SHOWS_FECHAS_FONDO_MOBILE.webp'); --edge-slice-top:58; --edge-slice-bottom:82; --core-zoom:1.2; }
.dates-heading { display:grid; grid-template-columns:190px minmax(0,1fr); gap:30px; }
.dates-heading .lettering { width:100%; }
.dates-heading p { font-size:18px; }
.tickets { gap:22px; margin-top:35px; }
.dates-note { font-size:12px; margin-top:25px; }
}
@media(max-width:700px) {
.page-shows .shows-dates { min-height:0; padding:70px 6% 100px; margin-top:-100px; }
.dates-background { --core-zoom:1.2; }
.dates-heading { display:grid; grid-template-columns:48% 48%; gap:4%; }
.dates-heading .lettering { width:100%; }
.dates-heading p { font-size:13px; line-height:1.45; }
.tickets { gap:20px; margin-top:35px; }
.dates-note { font-size:12px; margin-top:24px; }
}
/* Cuatro sectores originales en horizontal; lectura propia en mobile. */
.ticket { position:relative; display:grid; grid-template-columns:15% 22% minmax(0,1fr) 23%; gap:2%; align-items:center; width:100%; min-width:0; aspect-ratio:1493/316; padding:2.2% 3.2%; }
.ticket-art { position:absolute; inset:0; width:100%; height:100%; z-index:-1; }
.ticket-art>img { width:100%; height:100%; object-fit:contain; }
.ticket-date { display:flex; flex-direction:column; justify-content:center; align-items:center; width:90%; min-height:clamp(90px,11vw,220px); justify-self:center; padding:8px 4px; border-radius:clamp(17px,1.8vw,30px); background:var(--bordo); color:var(--acento); text-align:center; }
.ticket-date strong { display:block; font-size:clamp(36px,4.5vw,82px); line-height:1.05; }
.ticket-date span { font-size:clamp(11px,1vw,18px); margin-top:5px; }
.ticket-place { min-width:0; align-self:stretch; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:8px 12px; border-inline:2px dashed var(--bordo); text-align:center; }
.ticket-place h3 { font-size:clamp(18px,1.8vw,31px); line-height:1.15; margin:0 0 7px; text-transform:uppercase; }
.ticket-place p { font-size:clamp(13px,1.2vw,20px); line-height:1.35; margin:0; }
.ticket-info { min-width:0; }
.ticket-info p { display:flex; align-items:center; gap:8px; font-size:clamp(13px,1.15vw,20px); line-height:1.4; margin:10px 0; }
.ticket-info img { width:clamp(19px,2vw,32px); height:clamp(21px,2.2vw,35px); object-fit:contain; flex-shrink:0; }
.ticket>.button { width:100%; max-width:250px; justify-self:center; align-self:center; font-size:clamp(13px,1vw,17px); line-height:1.25; padding:12px 9px; text-align:center; }
@media(max-width:700px) {
 .ticket { grid-template-columns:72px minmax(0,1fr); grid-template-rows:auto auto auto; gap:0 12px; aspect-ratio:auto; padding:10px 8px; border:12px solid transparent; border-image:url('../actualizacion/SHOWS_FECHAS_TICKET_MOBILE.webp') 12 fill / 12px / 0 round; }
 .ticket-art { display:none; }
 .ticket-date { grid-column:1; grid-row:1/3; width:100%; min-height:94px; height:100%; padding:9px 3px; border-radius:16px; }
 .ticket-date strong { font-size:40px; }.ticket-date span { font-size:12px; }
 .ticket-place { grid-column:2; grid-row:1; align-items:flex-start; border:0; border-left:1px dashed var(--bordo); padding:0 0 7px 11px; text-align:left; }
 .ticket-place h3 { font-size:19px; margin-bottom:3px; }.ticket-place p { font-size:14px; }
 .ticket-info { grid-column:2; grid-row:2; display:grid; gap:5px; padding-left:11px; border-left:1px dashed var(--bordo); }
 .ticket-info p { font-size:13px; line-height:1.3; gap:6px; margin:0; }
 .ticket-info img { width:17px; height:19px; }
 .ticket>.button { grid-column:1/-1; grid-row:3; max-width:none; margin-top:14px; font-size:15px; min-height:44px; padding:11px 8px; }
}

/* Las sombras se calculan sobre la silueta alfa, fuera del viewport del SVG. */
.section-back.edge-paper { overflow:visible; filter:drop-shadow(0 -5px 5px #140c0e40) drop-shadow(0 4px 4px #140c0e30); }
.continuous-paper { overflow:visible; }
.home-show>.section-back, .shows-next>.section-back { filter:drop-shadow(0 -4px 4px #140c0e38); }
.experience-map>.map-back { filter:drop-shadow(0 -4px 4px #140c0e38); }
.hero-scene-picture { filter:drop-shadow(0 4px 4px #140c0e35); }
@media(min-width:701px) {
.zenon-map-stage.has-spot-card .map-fit { left:74px; right:auto; }
}

/* Heroes interiores: alturas por composición, independientes de la altura del celular. */
.subhero { aspect-ratio:1728/742; z-index:2; }
.subhero h1 { position:absolute; width:45.2%; top:16%; left:27.4%; margin:0; }
.experiencia-hero { aspect-ratio:1728/722; }
.page-contacto .subhero { aspect-ratio:1728/760; z-index:1; }
.page-contacto .subhero h1 { width:35%; left:32%; top:22%; }
.merch-hero { z-index:1; }
.merch-hero-art { display:block; width:100%; }
.merch-hero-art>img { width:100%; height:auto; }
.merch-title { position:absolute; width:48%; left:26%; top:15%; margin:0; }
@media(max-width:700px) {
.subhero { aspect-ratio:auto; }
.subhero .section-back, .subhero .section-back>img { width:100%; height:100%; object-fit:cover; object-position:center; }
.merch-hero-art, .merch-hero-art>img { width:100%; height:100%; object-fit:cover; object-position:center; }
.page-shows .subhero { height:clamp(320px,96vw,420px); min-height:0; max-height:none; }
.page-experiencia .subhero { height:clamp(330px,100vw,440px); min-height:0; max-height:none; }
.page-contacto .subhero { width:100%; aspect-ratio:auto; height:clamp(350px,108vw,475px); min-height:0; max-height:none; }
.page-merch .merch-hero { height:clamp(350px,108vw,475px); min-height:0; max-height:none; }
.page-shows .subhero h1, .page-experiencia .subhero h1 { width:min(90%,520px); left:50%; top:15%; transform:translateX(-50%); }
.page-contacto .subhero h1 { width:86%; left:7%; top:14%; }
.merch-title { width:90%; left:5%; top:13%; }
}
@media(prefers-reduced-motion:reduce) {
.menu, .menu nav, .menu::backdrop { transition:none; }
}

/* Próximo show: solo se reduce la Polaroid en mobile. */
.page-shows .shows-photo { position:relative; inset:auto; width:95%; margin:0 0 0 10%; align-self:center; }
@media(max-width:700px) { .page-shows .shows-photo { width:min(80%,340px); margin:0 auto; align-self:center; } }

/* Novedades: el sobre tiene su columna decorativa, separada del formulario. */
.page-shows .newsletter { position:relative; z-index:5; aspect-ratio:auto; padding:14vw 0 9vw; margin-top:-16vw; }
.newsletter-inner { position:relative; width:65%; max-width:1240px; margin-left:22.5%; display:grid; grid-template-columns:minmax(0,1fr) minmax(140px,22%); column-gap:4%; align-items:center; }
.newsletter-inner>.lettering { grid-column:1/-1; grid-row:1; width:84%; margin:0 0 clamp(24px,2.5vw,44px); }
.newsletter-doodle { display:block; position:relative; grid-column:2; grid-row:2; width:100%; max-width:249px; height:auto; justify-self:center; }
.newsletter-form { grid-column:1; grid-row:2; min-width:0; width:100%; margin:0; }
.newsletter-form>label:not(.newsletter-consent) { display:block; color:var(--bordo); font-weight:700; font-size:clamp(14px,1.25vw,20px); line-height:1.4; margin-bottom:10px; }
.email-row { display:flex; align-items:stretch; gap:16px; }
.email-row input { flex:1; width:100%; min-width:0; min-height:48px; padding:12px 22px; border:0; border-radius:50px; box-shadow:inset 2px 4px 6px #0003; font:inherit; font-size:clamp(16px,1.3vw,20px); }
.email-row input::placeholder { color:#a88081; letter-spacing:.1em; }
.email-row .button { flex-shrink:0; min-width:110px; font-size:clamp(15px,1.2vw,20px); }
.newsletter-form .newsletter-consent { display:flex; align-items:center; gap:8px; margin:12px 0 0; color:var(--oscuro); font-size:13px; line-height:1.4; }
.newsletter-consent input { flex:0 0 20px; width:20px; height:20px; margin:0; accent-color:var(--bordo); }
.newsletter-form .form-status { margin:12px 0 0; font-size:clamp(12px,1vw,15px); line-height:1.5; }
@media(min-width:701px) and (max-width:1100px) {
 .page-shows .newsletter { padding-top:18vw; }
 .newsletter-inner { width:82%; margin-inline:auto; grid-template-columns:minmax(0,1fr) 170px; column-gap:24px; }
 .newsletter-inner>.lettering { width:100%; }
 .email-row { gap:10px; }.email-row .button { min-width:90px; padding-inline:16px; }
}
@media(max-width:700px) {
 .page-shows .newsletter { padding:calc(24vw + 40px) 7% 90px; margin-top:-28vw; }
 .newsletter-inner { width:100%; margin:0; grid-template-columns:minmax(0,1fr); gap:24px; }
 .newsletter-inner>.lettering { grid-column:1; grid-row:1; width:100%; margin:0; }
 .newsletter-doodle { grid-column:1; grid-row:2; width:min(36%,150px); }
 .newsletter-form { grid-column:1; grid-row:3; }
 .email-row { flex-direction:column; gap:14px; }.email-row .button { width:100%; }
}

/* Últimos originales de Noches y footer, sin estirar sus texturas. */
.page-shows .shows-nights>.section-back { --nights-underlap:3vw; inset:calc(0px - var(--nights-underlap)) 0 0; width:100%; height:calc(100% + var(--nights-underlap)); object-fit:cover; object-position:center top; filter:none; }
/* La variante de papel de tablet termina con más transparencia inferior.
   Se prolonga el mismo plano fotográfico por detrás, sin mover contenido. */
@media(min-width:701px) and (max-width:1100px) {
 .page-shows .shows-nights>.section-back { --nights-underlap:10vw; }
}
@media(max-width:700px) {
 .page-shows .shows-nights>.section-back { --nights-underlap:0px; }
}
.site-footer { position:relative; isolation:isolate; z-index:10; min-height:20.7vw; margin-top:-4.3vw; color:var(--claro); background:url('../art/FOOTER_FONDO.webp?v=0fcc74b2f417') center top/100% auto no-repeat; filter:drop-shadow(0 -5px 5px #140c0e40); }
.site-footer::before { content:''; position:absolute; z-index:-1; inset:clamp(20px,4vw,70px) 0 0; background:#35191e; pointer-events:none; }
.page-shows .site-footer, .page-merch .site-footer { margin-top:-8vw; }
.page-contacto .site-footer { margin-top:-12vw; }
@media(max-width:700px) { .site-footer, .page-shows .site-footer, .page-merch .site-footer, .page-contacto .site-footer { margin-top:-35px; min-height:0; } }

/* Publicaciones por barrio: foco, papel lateral y videos reales. */
.zenon-map-stage.has-spot-card::before{opacity:0}
.map-spotlight{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}
.pick-marker{position:relative}.pick-count{position:absolute;right:-5px;top:-5px;display:grid;place-items:center;min-width:25px;height:25px;padding:0 6px;border:2px solid #f4ebdd;border-radius:20px;background:#622024;color:#fff;font:700 13px 'Space Grotesk',sans-serif;box-shadow:0 2px 4px #0005}
.spot-card{inset:12px 0 auto auto;width:min(520px,calc(100% - 76px));height:calc(100% - 24px);aspect-ratio:auto;max-height:none;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
.spot-card-paper{object-fit:fill}.spot-card-content{padding:40px 8% 22px}.spot-card-close{left:auto;right:12px;top:6px}
.spot-card h3{font-size:clamp(25px,3vw,38px);font-weight:700;line-height:1.05;margin:0 0 8px}.spot-card-count{margin-bottom:14px}
.spot-videos{width:100%;max-width:none;gap:16px;align-items:start}.experience-tile{min-width:0;text-align:left}.spot-video{position:relative;border:0;cursor:pointer;padding:0;overflow:hidden;background:#392b33;color:white}.spot-video img{display:block}.spot-video .spot-video-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:44px;height:44px;border:2px solid white;border-radius:50%;background:#0005;padding:0;font-size:23px;line-height:1}
.experience-tile h4{font-size:16px;line-height:1.1;margin:8px 0 3px;color:#392b33}.experience-alias{font-size:13px;color:#622024;line-height:1.2;margin:0 0 5px}.experience-mood{display:inline-block;font-size:11px;color:#622024;border:1px solid #62202466;border-radius:12px;padding:2px 8px}
.spot-more{background:#622024;color:#fff;border:0;border-radius:8px;padding:9px 15px;margin:15px 0 5px;font:600 13px 'Space Grotesk',sans-serif;cursor:pointer}.spot-more[hidden]{display:none}.spot-ra-link{border-top:2px solid #392b3355;padding-top:10px;margin-top:12px}
.experience-dialog{width:min(900px,calc(100vw - 24px));max-height:calc(100dvh - 24px);border:0;border-radius:8px;background:#f4ebdd;color:#392b33;padding:25px;box-shadow:0 8px 35px #0006;overscroll-behavior:contain}.experience-dialog::backdrop{background:#0009}.experience-dialog h2{font-size:25px;margin:0 36px 18px 0}.experience-dialog-close{position:absolute;top:5px;right:7px;width:44px;height:44px;border:0;background:none;font-size:30px;cursor:pointer}.experience-dialog-body>video{display:block;width:100%;max-height:75dvh;background:#171218}.experience-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:22px}.experience-gallery .spot-video{max-height:340px}.experience-load-more{background:#622024;color:white;border:0;border-radius:6px;padding:12px 20px}.experience-load-more[hidden]{display:none}
@media(max-width:700px){.spot-card{inset:12px 0 auto auto;width:calc(100% - 104px);height:calc(100% - 24px)}.spot-card-content{padding:36px 8% 16px}.spot-card h3{font-size:26px}.spot-videos{grid-template-columns:minmax(0,1fr);width:88%;margin:auto}.spot-videos .spot-video{max-height:clamp(170px,calc(var(--map-height) - 315px),300px)}.spot-card-count{font-size:12px}.experience-dialog{padding:20px 15px}.experience-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.experience-tile h4{font-size:14px}}

/* Keep the complete panel inside its paper, including the gallery action. */
.spot-card{overflow:hidden}
.spot-card-content{box-sizing:border-box;height:100%;display:flex;flex-direction:column;padding:32px 7% 28px;min-height:0}
.spot-card h3,.spot-card-count,.spot-more{flex-shrink:0}
.spot-videos{flex:1;min-height:0;grid-template-rows:minmax(0,1fr);align-items:stretch;margin:0;width:100%}
.spot-videos .experience-tile{display:grid;grid-template-rows:minmax(0,1fr) auto auto auto;min-height:0}
.spot-videos .spot-video{min-height:0;height:100%;max-height:none;aspect-ratio:auto}
.spot-videos .spot-video img{min-height:0;height:100%;object-fit:cover}
.spot-videos .experience-mood{justify-self:start}
.spot-more{align-self:flex-start;margin:12px 0 0}
@media(max-width:700px){.spot-card-content{padding:36px 8% 26px}.spot-videos{width:100%;margin:0}.spot-videos .spot-video{max-height:none}}