/* Islagenda · páginas antiguas con la jerarquía visual de la web de cine (11-11-2026).
   Va dentro de una guía de la web de cine (functions/_lib/pagina-cine.js): mapa 3D detrás, panel de vidrio, Poppins para titular, Inter para
   leer, coral para la acción, verde para lo hecho. Aquí solo las piezas de cada página: directorio (/canarias), huecos de hoy (/hoy, /en/today),
   Islagenda Pass (/pase) y la 404. Usa las variables de cine.css (--px, --coral, --verde, --oro, --suave, --f-disp…). */

/* Sin índice, el panel ocupa todo el ancho (la guía reserva 250 px para el índice) */
.lectura-pag .doc:not(:has(.doc-indice)) { grid-template-columns: minmax(0, 1fr); max-width: calc(1120 * var(--px)); }
.pc-cuerpo > :first-child { margin-top: 0; }
.pc-cuerpo h2 { margin-top: calc(40 * var(--px)); }
.pc-cuerpo .pc-sub { font-size: calc(15 * var(--px)); color: var(--suave); }

/* ── Botones ── */
.pc-cuerpo .btn, .pc-cuerpo .dir-btn, .pc-boton { display: inline-flex; align-items: center; justify-content: center; gap: calc(8 * var(--px)); min-height: calc(48 * var(--px));
  padding: 0 calc(22 * var(--px)); border: 0; border-radius: 999px; font: 600 calc(16 * var(--px))/1 var(--f-disp); text-decoration: none; cursor: pointer;
  background: rgba(255, 255, 255, .1); color: #fff; box-shadow: inset 0 0 0 calc(1 * var(--px)) rgba(255, 255, 255, .18); transition: background-color .2s, transform .15s; }
.pc-cuerpo .btn:hover, .pc-cuerpo .dir-btn:hover, .pc-boton:hover { background: rgba(255, 255, 255, .18); }
.pc-cuerpo .btn:active, .pc-cuerpo .dir-btn:active, .pc-boton:active { transform: scale(.97); }
.pc-cuerpo .btn-coral, .pc-cuerpo .dir-btn, .pc-cuerpo .dir-btn-coral, .pc-boton.coral { background: var(--coral); color: #fff; box-shadow: 0 calc(10 * var(--px)) calc(26 * var(--px)) rgba(232, 87, 58, .32); }
.pc-cuerpo .btn-coral:hover, .pc-cuerpo .dir-btn:hover, .pc-boton.coral:hover { background: var(--coral-osc); }
.pc-cuerpo .btn-texto { background: transparent; box-shadow: none; padding: 0 calc(4 * var(--px)); min-height: calc(44 * var(--px)); text-decoration: underline; text-underline-offset: calc(4 * var(--px)); font-family: var(--f-txt); font-weight: 600; }
.pc-cuerpo .btn svg, .pc-cuerpo .btn-texto svg { width: calc(16 * var(--px)); height: calc(16 * var(--px)); }
.pc-acciones { display: flex; flex-wrap: wrap; gap: calc(12 * var(--px)); margin-top: calc(22 * var(--px)); }

/* ── Campos, desplegables y chips (/hoy) ── */
.pc-cuerpo .campo { display: grid; gap: calc(8 * var(--px)); margin: 0; }
.pc-cuerpo .campo label, .pc-cuerpo .etq { font: 600 calc(14 * var(--px))/1.3 var(--f-txt); letter-spacing: .02em; color: #fff; }
.pc-cuerpo select { width: 100%; height: calc(50 * var(--px)); padding: 0 calc(40 * var(--px)) 0 calc(14 * var(--px)); border-radius: calc(14 * var(--px)); border: calc(1 * var(--px)) solid rgba(255, 255, 255, .2);
  background: rgba(255, 255, 255, .06) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right calc(12 * var(--px)) center / calc(18 * var(--px));
  color: #fff; font: 500 calc(16 * var(--px))/1 var(--f-txt); -webkit-appearance: none; appearance: none; cursor: pointer; }
.pc-cuerpo select option { color: #0A1020; }
.pc-cuerpo select:focus-visible { outline: calc(3 * var(--px)) solid var(--coral); outline-offset: calc(2 * var(--px)); }
.pc-cuerpo .chips { display: flex; flex-wrap: wrap; gap: calc(8 * var(--px)); }
.pc-cuerpo .chip { min-height: calc(46 * var(--px)); padding: 0 calc(18 * var(--px)); border-radius: 999px; border: calc(1 * var(--px)) solid rgba(255, 255, 255, .2); background: rgba(255, 255, 255, .05);
  color: #fff; font: 500 calc(16 * var(--px))/1 var(--f-txt); cursor: pointer; transition: background-color .2s, border-color .2s; }
.pc-cuerpo .chip:hover { border-color: rgba(255, 255, 255, .5); }
.pc-cuerpo .chip[aria-pressed="true"], .pc-cuerpo .chip[aria-checked="true"] { background: #fff; border-color: #fff; color: #05090D; font-weight: 600; }

/* ── Huecos de hoy ── */
.pc-hoy #filtros { display: grid; grid-template-columns: repeat(auto-fit, minmax(calc(220 * var(--px)), 1fr)); gap: calc(18 * var(--px)); align-items: start; padding: calc(20 * var(--px));
  border-radius: calc(20 * var(--px)); background: rgba(255, 255, 255, .04); box-shadow: inset 0 0 0 calc(1 * var(--px)) rgba(255, 255, 255, .1); }
.pc-hoy #estado { margin: calc(22 * var(--px)) 0 calc(12 * var(--px)); font: 600 calc(14 * var(--px))/1.3 var(--f-txt); color: var(--suave); }
.pc-hoy #lista { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(calc(280 * var(--px)), 1fr)); gap: calc(14 * var(--px)); }
.pc-hoy .hoy-card { display: flex; flex-direction: column; gap: calc(12 * var(--px)); padding: calc(18 * var(--px)); border-radius: calc(20 * var(--px)); background: rgba(255, 255, 255, .05);
  box-shadow: inset 0 0 0 calc(1 * var(--px)) rgba(255, 255, 255, .12); }
.pc-hoy .hoy-cab h2 { margin: 0; font-size: calc(21 * var(--px)); }
.pc-hoy .hoy-cab p { margin: calc(2 * var(--px)) 0 0; font-size: calc(14 * var(--px)); color: var(--suave); }
.pc-hoy .hoy-serv { display: flex; align-items: center; gap: calc(8 * var(--px)); margin: 0; font-size: calc(14 * var(--px)); color: #DCE4E9; }
.pc-hoy .hoy-serv svg { width: calc(16 * var(--px)); height: calc(16 * var(--px)); flex: none; color: var(--verde); }
.pc-hoy .horas { display: grid; grid-template-columns: repeat(auto-fill, minmax(calc(76 * var(--px)), 1fr)); gap: calc(8 * var(--px)); }
.pc-hoy .hora { display: flex; align-items: center; justify-content: center; min-height: calc(46 * var(--px)); border-radius: calc(12 * var(--px)); text-decoration: none;
  background: rgba(255, 255, 255, .08); color: #fff; font: 600 calc(16 * var(--px))/1 var(--f-txt); font-variant-numeric: tabular-nums; box-shadow: inset 0 0 0 calc(1 * var(--px)) rgba(255, 255, 255, .14); transition: background-color .2s; }
.pc-hoy .hora:hover { background: var(--coral); box-shadow: none; }
.pc-hoy .hora-mas { background: transparent; box-shadow: inset 0 0 0 calc(1 * var(--px)) rgba(255, 255, 255, .28); color: var(--suave); }
.pc-hoy .hoy-todo { align-self: flex-start; }
.pc-hoy .hoy-vacio { grid-column: 1 / -1; padding: calc(28 * var(--px)); border-radius: calc(20 * var(--px)); text-align: center; background: rgba(255, 255, 255, .05); }
.pc-hoy .hoy-vacio p { margin-top: calc(6 * var(--px)); color: var(--suave); }
.pc-sellos { display: flex; flex-wrap: wrap; gap: calc(8 * var(--px)) calc(18 * var(--px)); margin-top: calc(18 * var(--px)); font: 500 calc(15 * var(--px))/1.3 var(--f-txt); text-shadow: var(--sombra-l); }
.pc-sellos span { display: inline-flex; align-items: center; gap: calc(8 * var(--px)); }
.pc-sellos svg { width: calc(16 * var(--px)); height: calc(16 * var(--px)); color: var(--verde); }
.pc-nota { margin-top: calc(26 * var(--px)); font-size: calc(14 * var(--px)) !important; color: var(--suave) !important; }

/* ── Directorio (/canarias) ── */
.dir-cine .dir-chips-s h2, .dir-cine .dir-faq h2, .dir-cine > h2 { margin: calc(36 * var(--px)) 0 calc(14 * var(--px)); }
.dir-cine > * + * { margin-top: calc(40 * var(--px)) !important; }
.dir-cine > :first-child, .dir-cine > :first-child h2, .dir-cine h2:first-child { margin-top: 0; }
.dir-cine > h2 + * { margin-top: calc(14 * var(--px)) !important; }
.pc-cuerpo ul.dir-chips { display: flex; flex-wrap: wrap; gap: calc(8 * var(--px)); margin: 0; padding: 0; list-style: none; }
.dir-chips a { display: inline-flex; align-items: center; gap: calc(8 * var(--px)); min-height: calc(46 * var(--px)); padding: 0 calc(18 * var(--px)); border-radius: 999px; text-decoration: none;
  background: rgba(255, 255, 255, .05); box-shadow: inset 0 0 0 calc(1 * var(--px)) rgba(255, 255, 255, .18); font: 500 calc(16 * var(--px))/1 var(--f-txt); color: #fff; transition: background-color .2s; }
.dir-chips a:hover { background: rgba(255, 255, 255, .14); }
.dir-chips small { display: inline-grid; place-items: center; min-width: calc(24 * var(--px)); height: calc(24 * var(--px)); padding: 0 calc(6 * var(--px)); border-radius: 999px; background: var(--verde); color: #05211C; font-weight: 700; font-size: calc(13 * var(--px)); }
.dir-rej { display: grid; grid-template-columns: repeat(auto-fill, minmax(calc(270 * var(--px)), 1fr)); gap: calc(16 * var(--px)); margin-top: calc(14 * var(--px)); }
.dir-card { display: flex; flex-direction: column; overflow: hidden; border-radius: calc(20 * var(--px)); background: rgba(255, 255, 255, .05); box-shadow: inset 0 0 0 calc(1 * var(--px)) rgba(255, 255, 255, .12); transition: transform .25s var(--ease), box-shadow .25s; }
.dir-card:hover { transform: translateY(calc(-3 * var(--px))); box-shadow: inset 0 0 0 calc(1 * var(--px)) rgba(255, 255, 255, .28), 0 calc(20 * var(--px)) calc(40 * var(--px)) rgba(0, 0, 0, .35); }
.dir-card-foto { display: block; text-decoration: none; aspect-ratio: 3 / 2; overflow: hidden; background: radial-gradient(120% 120% at 20% 0%, #1C3A57 0%, #0A1622 70%); }
.dir-card-foto img { width: 100%; height: 100%; object-fit: cover; }
.dir-ini { display: grid; place-items: center; height: 100%; font: 700 calc(72 * var(--px))/1 var(--f-disp); color: rgba(255, 255, 255, .9); text-shadow: var(--sombra-t); }
.dir-card-c { display: flex; flex-direction: column; gap: calc(6 * var(--px)); flex: 1; padding: calc(16 * var(--px)) calc(18 * var(--px)) calc(18 * var(--px)); }
.pc-cuerpo .dir-card-tipo { display: flex; align-items: center; justify-content: space-between; gap: calc(8 * var(--px)); margin: 0; font: 600 calc(12 * var(--px))/1.2 var(--f-txt) !important; letter-spacing: .08em; text-transform: uppercase; color: var(--verde) !important; }
.dir-nota { display: inline-flex; align-items: center; gap: calc(4 * var(--px)); color: var(--oro); text-transform: none; letter-spacing: 0; font-size: calc(14 * var(--px)); }
.dir-nota small { color: var(--suave); font-weight: 400; }
.pc-cuerpo .dir-card h3 { margin: 0; font-size: calc(21 * var(--px)); }
.pc-cuerpo .dir-card h3 a { color: #fff; text-decoration: none; }
.pc-cuerpo .dir-card-lugar, .pc-cuerpo .dir-card-serv { margin: 0; font-size: calc(14 * var(--px)) !important; line-height: 1.45 !important; color: var(--suave) !important; }
.dir-card-lugar { display: flex; align-items: center; gap: calc(6 * var(--px)); }
.dir-card-pie { display: flex; align-items: center; justify-content: space-between; gap: calc(10 * var(--px)); margin-top: auto; padding-top: calc(10 * var(--px)); font-size: calc(14 * var(--px)); color: var(--suave); }
.dir-card-pie b { color: #fff; font-size: calc(18 * var(--px)); }
.dir-cine .dir-vacio, .dir-cine .dir-b2b { margin-top: calc(26 * var(--px)); padding: calc(24 * var(--px)); border-radius: calc(20 * var(--px)); background: rgba(255, 255, 255, .05); box-shadow: inset 0 0 0 calc(1 * var(--px)) rgba(255, 255, 255, .12); }
.dir-cine .dir-b2b { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: calc(16 * var(--px)) calc(24 * var(--px));
  background: linear-gradient(120deg, rgba(232, 87, 58, .22), rgba(43, 211, 181, .12)); }
.dir-cine .dir-b2b h2 { margin: 0 0 calc(4 * var(--px)); font-size: calc(24 * var(--px)); }
.dir-heroe-extra { margin-top: calc(14 * var(--px)); text-shadow: var(--sombra-l); }
.dir-heroe-extra a { color: #fff; }

/* ── Islagenda Pass ── */
.pc-pase .dir-vacio { margin-top: calc(22 * var(--px)); padding: calc(20 * var(--px)); border-radius: calc(18 * var(--px)); background: rgba(255, 255, 255, .06); box-shadow: inset 0 0 0 calc(1 * var(--px)) rgba(255, 255, 255, .12); }
.pc-pase .dir-vacio p { margin: 0 0 calc(12 * var(--px)); }
.pc-pase .dir-vacio p:last-child { margin-bottom: 0; }
.pc-pase .dir-intro { font-size: calc(19 * var(--px)) !important; color: #fff !important; }

/* ── 404 ── */
.pc-404 .pc-codigo { display: block; font: 700 clamp(calc(96 * var(--px)), 16vw, calc(220 * var(--px)))/.9 var(--f-disp); letter-spacing: -.05em; color: var(--coral); text-shadow: var(--sombra-t); }
.pc-404 .pc-rutas { display: grid; grid-template-columns: repeat(auto-fill, minmax(calc(220 * var(--px)), 1fr)); gap: calc(10 * var(--px)); margin: calc(16 * var(--px)) 0 0; padding: 0; list-style: none; }
.pc-404 .pc-rutas a { display: flex; flex-direction: column; gap: calc(2 * var(--px)); padding: calc(16 * var(--px)) calc(18 * var(--px)); border-radius: calc(16 * var(--px)); text-decoration: none;
  background: rgba(255, 255, 255, .05); box-shadow: inset 0 0 0 calc(1 * var(--px)) rgba(255, 255, 255, .12); transition: background-color .2s; }
.pc-404 .pc-rutas a:hover { background: rgba(255, 255, 255, .12); }
.pc-404 .pc-rutas b { font: 600 calc(17 * var(--px))/1.3 var(--f-disp); color: #fff; }
.pc-404 .pc-rutas span { font-size: calc(14 * var(--px)); color: var(--suave); }

/* Avisos de app.v50.js (IG.aviso) sin app.v32.css */
.toast { position: fixed; left: 50%; bottom: calc(24 * var(--px)); transform: translateX(-50%); z-index: 90; max-width: calc(100vw - 32px); padding: calc(12 * var(--px)) calc(18 * var(--px));
  border-radius: calc(14 * var(--px)); background: #fff; color: #05090D; font: 600 calc(15 * var(--px))/1.35 var(--f-txt); box-shadow: 0 calc(20 * var(--px)) calc(50 * var(--px)) rgba(0, 0, 0, .4); }
.toast:empty { display: none; }
.saltar { position: absolute; left: -9999px; }

@media (max-width: 760px) {
  .dir-rej, .pc-hoy #lista { grid-template-columns: minmax(0, 1fr); }
  .pc-hoy #filtros { grid-template-columns: minmax(0, 1fr); padding: calc(14 * var(--px)); }
  .dir-cine .dir-b2b { padding: calc(18 * var(--px)); }
}
