/* ============================================================
   Front — componentes interiores generados desde los datos JSON
   (subnavegación de tarjetas, tablas de cifras, programación,
   compañías, premios, descargas, etc.). Usa los tokens de site.css.
   ============================================================ */

.page-body{max-width:1160px;}
.page-body.is-wide{max-width:var(--maxw);}

/* Cabecera de página interior: más compacta y títulos más contenidos */
.page-hero__inner{padding:clamp(44px,6.5vw,86px) var(--gut) clamp(28px,4vw,50px);}
.page-hero .crumbs{margin-bottom:13px;}
.page-hero h1{font-size:clamp(1.85rem,4.3vw,3.3rem);line-height:.96;}
.page-hero .lead{font-size:clamp(.96rem,1.2vw,1.08rem);margin-top:15px;}

/* Texto interior: párrafos algo más pequeños y JUSTIFICADOS (más elegante) */
.page-body p,
.prose p,
.comp__body p,
.entity p,
.award__body p{font-size:.96rem;line-height:1.72;text-align:justify;hyphens:auto;-webkit-hyphens:auto;}
.prose-list li{font-size:.95rem;}
.page-body .lead,
.prose p.lead{font-size:1.12rem;line-height:1.55;text-align:left;color:var(--ink);hyphens:none;}
/* No justificar textos cortos/fichas */
.showcard__meta,.space__meta,.team__name,.infobox span,.histrow__v,.estab li{text-align:left;}

/* Detalle del cartel: acento en degradado bajo los títulos de sección + kicker serif coral */
.section-h::after{content:"";display:block;width:62px;height:4px;border-radius:4px;background:var(--grad-poster);margin-top:16px;}
.kicker{font-family:var(--serif);font-weight:var(--serif-wt);text-transform:none;letter-spacing:.01em;font-size:1.15rem;font-style:italic;color:var(--coral-600);}
.prose-h{border-left:3px solid var(--coral);padding-left:14px;}

/* ---- Subnavegación de sección (rejilla de tarjetas) ---- */
.subnav{background:var(--cream);border-bottom:1px solid var(--line);}
.subnav .wrap{padding-top:22px;padding-bottom:22px;padding-left:24px;padding-right:24px;}
.subnav__grid{display:grid;grid-template-columns:repeat(var(--cols,4),minmax(0,230px));justify-content:center;gap:16px;align-items:stretch;}
.subnav__card{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);
  border-radius:14px;overflow:hidden;box-shadow:var(--shadow-sm);
  transition:transform .18s, box-shadow .18s, border-color .18s;}
.subnav__card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--coral);}
.subnav__media{aspect-ratio:16/10;background-size:cover;background-position:center;}
.subnav__label{flex:1;display:flex;align-items:center;justify-content:center;text-align:center;
  min-height:2.6em;padding:9px 8px 11px;font-family:var(--serif);font-weight:var(--serif-wt);
  text-transform:uppercase;font-size:.86rem;line-height:1.06;letter-spacing:.012em;color:var(--ink);}
.subnav__card.is-active{border-color:var(--coral);box-shadow:0 0 0 1.5px var(--coral),var(--shadow-sm);}
.subnav__card.is-active .subnav__label{color:var(--coral-600);}

/* ---- Presentación (texto traducible + cartel vertical) ---- */
.presgrid{display:grid;grid-template-columns:1.55fr .85fr;gap:clamp(28px,4vw,56px);align-items:start;}
.prestext{min-width:0;}
.presposter{margin:0;position:sticky;top:90px;}
.presposter img{width:100%;height:auto;border-radius:16px;box-shadow:var(--shadow-lg);display:block;}
.pres__sub{font-family:var(--serif);font-style:italic;color:var(--coral-600);font-size:1.25rem;margin:2px 0 22px;}
.intro__flags{display:flex;gap:9px;margin-bottom:18px;}
.flag{width:34px;height:22px;border-radius:4px;overflow:hidden;padding:0;cursor:pointer;border:1px solid var(--line-ink);background:none;display:block;opacity:.6;transition:opacity .15s,box-shadow .15s,transform .15s;}
.flag svg{width:100%;height:100%;display:block;}
.flag:hover{opacity:1;}
.flag.is-active{opacity:1;box-shadow:0 0 0 2px var(--coral);transform:translateY(-1px);}
@media(max-width:860px){.presgrid{grid-template-columns:1fr;}.presposter{position:static;max-width:400px;margin:10px auto 0;}}

/* ---- Cuerpo editorial: párrafos a 2 columnas + listas en celda de color ---- */
.bodyblocks{max-width:100%;}
.txtflow{max-width:70ch;}
.txtcols{columns:2;column-gap:clamp(30px,4vw,52px);}
.txtcols p{break-inside:avoid;margin:0 0 16px;}
.txtcols .lead{column-span:all;margin:0 0 18px;}
.bodyblocks .section-h{margin-top:10px;}
.two .txtcols{column-count:1;}
@media(max-width:760px){.txtcols{column-count:1;}}

.objbox{background:linear-gradient(135deg,rgba(0,0,0,.08),rgba(194,168,143,.09));
  border:1px solid var(--line);border-left:4px solid var(--coral);border-radius:16px;
  padding:22px clamp(20px,3vw,30px);margin:22px 0;}
.objbox ul{columns:2;column-gap:clamp(28px,3.5vw,44px);list-style:none;padding:0;margin:0;}
.objbox li{break-inside:avoid;position:relative;padding:7px 0 7px 24px;font-size:.94rem;line-height:1.55;color:var(--ink-soft);text-align:left;}
.objbox li::before{content:"";position:absolute;left:0;top:13px;width:9px;height:9px;border-radius:50%;background:var(--coral);}
@media(max-width:620px){.objbox ul{columns:1;}}

/* ---- Prose ---- */
.prose--wide{max-width:72ch;}
.prose-list{margin:0 0 20px;padding-left:1.2em;color:var(--ink-soft);}
.prose-list li{margin:0 0 9px;line-height:1.55;}
.prose-h{font-family:var(--serif);font-weight:var(--serif-wt);font-size:1.5rem;color:var(--ink);margin:28px 0 12px;line-height:1.1;}
.prose-h4{font-family:var(--serif);font-size:1.2rem;color:var(--violet-700);margin:22px 0 8px;}
.prose-closing{font-family:var(--serif);font-weight:var(--serif-wt);font-style:italic;color:var(--coral-600);font-size:1.3rem;margin-top:18px;}
.page-figure{border-radius:18px;overflow:hidden;margin:0;box-shadow:var(--shadow-md);aspect-ratio:4/5;}
.page-figure--wide{aspect-ratio:16/9;max-height:480px;margin:0 auto 8px;}
.page-figure--natural{aspect-ratio:auto;}
.page-figure--poster{aspect-ratio:auto;background:transparent;box-shadow:none;display:flex;justify-content:center;}
/* object-fit cover (faltaba en interiores: estaba solo en home.css) */
.imgfill{width:100%;height:100%;object-fit:cover;display:block;}
.imgnat{width:100%;height:auto;display:block;}
.page-figure--poster img{width:auto;max-width:100%;max-height:760px;height:auto;border-radius:16px;box-shadow:var(--shadow-lg);}
.page-note{color:var(--ink-soft);font-size:.9rem;margin:14px 0;}
.footnote{color:var(--ink-soft);font-size:.82rem;border-left:2px solid var(--line);padding-left:12px;margin:10px 0;}

/* ---- Tablas de datos (cifras / alojamientos) ---- */
.datatable{margin:0 0 34px;}
.datatable__cap{font-family:var(--serif);font-weight:var(--serif-wt);font-size:1.3rem;color:var(--ink);margin:0 0 12px;}
.datatable__scroll{overflow-x:auto;border:1px solid var(--line);border-radius:14px;}
.datatable table{width:100%;border-collapse:collapse;font-size:.9rem;background:var(--paper);}
.datatable th{background:var(--ink);color:var(--cream);text-align:left;font-family:var(--sans);font-weight:700;
  font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;padding:12px 14px;}
.datatable td{padding:10px 14px;border-top:1px solid var(--line);color:var(--ink-soft);}
.datatable tr:nth-child(even) td{background:rgba(0,0,0,.035);}
.datatable .is-total td,.datatable .is-avg td{font-weight:700;color:var(--ink);background:rgba(194,168,143,.10);border-top:2px solid var(--coral);}
.datatable__note{font-size:.82rem;color:var(--ink-soft);margin-top:10px;}

.highlights{display:flex;flex-wrap:wrap;gap:16px;margin:24px 0;}
.highlight{background:var(--cream);border:1px solid var(--line);border-radius:14px;padding:18px 22px;}
.highlight__v{display:block;font-family:var(--serif);font-weight:var(--serif-wt);font-size:1.8rem;color:var(--violet-700);}
.highlight__l{font-size:.82rem;color:var(--ink-soft);}

/* ---- Espacios de Feria (foto redondeada + texto limpio, sin caja) ---- */
.spaces{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(22px,3vw,34px);}
.space{display:flex;flex-direction:column;text-decoration:none;color:inherit;
  background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;
  box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s;}
.space:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.space__fig{position:relative;aspect-ratio:4/3;overflow:hidden;margin:0;line-height:0;}
.space__count{position:absolute;bottom:10px;right:10px;background:rgba(20,12,35,.72);color:#fff;
  font-family:var(--sans);font-size:.7rem;font-weight:700;padding:4px 9px;border-radius:999px;line-height:1;}
.space__more{display:inline-block;margin-top:12px;font-family:var(--sans);font-weight:700;text-transform:uppercase;
  letter-spacing:.05em;font-size:.7rem;color:var(--coral-600);}
.venue__meta{font-family:var(--sans);font-weight:700;font-size:.78rem;color:var(--coral-600);text-transform:uppercase;letter-spacing:.04em;margin:0 0 16px;}
.space__fig img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;}
.space:hover .space__fig img{transform:scale(1.04);}
.space__body{border:0;padding:18px 20px 22px;background:none;display:flex;flex-direction:column;flex:1 1 auto;}
.space__body h3{font-family:var(--serif);font-weight:var(--serif-wt);font-size:1.5rem;line-height:1.04;color:var(--violet-700);margin:0 0 12px;}
.space__meta{font-family:var(--sans);font-weight:700;font-size:.72rem;color:var(--coral-600);margin:0 0 14px;
  text-transform:uppercase;letter-spacing:.07em;line-height:1.5;}
.space__body p{margin:0;color:var(--ink-soft);font-size:.88rem;line-height:1.65;text-align:left;hyphens:none;}

/* ---- Programación ---- */
.showlist{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;}
.showcard{display:flex;gap:14px;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:16px;transition:border-color .16s,transform .16s;}
.showcard:hover{border-color:var(--violet);transform:translateY(-2px);}
.showcard__time{font-family:var(--serif);font-weight:var(--serif-wt);font-size:1.3rem;color:var(--coral-600);flex:none;min-width:54px;}
.showcard__company{font-family:var(--sans);font-weight:700;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--violet-700);}
.showcard__title{font-family:var(--serif);font-size:1.15rem;color:var(--ink);margin:3px 0 6px;line-height:1.1;}
.showcard__meta{font-size:.8rem;color:var(--ink-soft);margin:0 0 8px;}

/* ---- Compañías ---- */
.complist{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.comp{background:var(--paper);border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;}
.comp__fig{aspect-ratio:16/10;overflow:hidden;margin:0;line-height:0;background:var(--cream);}
.comp__body{padding:20px;}
.comp__name{font-family:var(--sans);font-weight:700;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--coral-600);}
.comp__show{font-family:var(--serif);font-size:1.3rem;color:var(--ink);margin:4px 0 10px;}
.comp__body p{color:var(--ink-soft);font-size:.9rem;}
.comp__links{font-size:.84rem;color:var(--violet-700);}
.comp__links a{text-decoration:underline;text-decoration-color:var(--coral);}

/* ---- Premios ---- */
.awards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;}
.award{background:var(--paper);border:1px solid var(--line);border-radius:16px;overflow:hidden;}
.award__fig{aspect-ratio:16/10;overflow:hidden;margin:0;line-height:0;background:var(--cream);}
.award__body{padding:20px;}
.award__cat{font-family:var(--sans);font-weight:700;font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--coral-600);}
.award__show{font-family:var(--serif);font-size:1.35rem;color:var(--ink);margin:6px 0 4px;}
.award__company{color:var(--violet-700);font-weight:600;margin:0;}

/* ---- Listas de enlaces ---- */
.linklist{list-style:none;padding:0;margin:0 0 20px;display:grid;gap:8px;}
.linklist li{padding:11px 14px;border:1px solid var(--line);border-radius:10px;background:var(--paper);}
.linklist a{color:var(--violet-700);text-decoration:underline;text-decoration-color:var(--coral);font-weight:600;}
.linklist__label{font-weight:700;color:var(--ink);}
.linklist__desc{color:var(--ink-soft);}

/* ---- Patrocinadores (Organización) ---- */
.sponsorgrp{margin:0 0 32px;}
.sponsorgrp__h{font-family:var(--sans);font-weight:700;text-transform:uppercase;letter-spacing:.16em;font-size:.74rem;color:var(--coral-600);margin:0 0 16px;}
.sponsorgrp__logos{display:flex;flex-wrap:wrap;gap:18px;align-items:center;}
.sponsorgrp__logo{display:flex;align-items:center;justify-content:center;min-width:120px;height:80px;padding:10px 18px;background:#fff;border:1px solid var(--line);border-radius:12px;}
.sponsorgrp__logo img{max-height:60px;width:auto;object-fit:contain;}

/* ---- Equipo ---- */
.team{border-top:1px solid var(--line);margin-top:18px;}
.team__row{display:flex;justify-content:space-between;gap:18px;padding:14px 0;border-bottom:1px solid var(--line);flex-wrap:wrap;}
.team__role{font-family:var(--sans);font-weight:700;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--violet-700);}
.team__name{font-family:var(--serif);font-size:1.2rem;color:var(--ink);}

/* ---- Ediciones anteriores (con banner/cartel) ---- */
.editions{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;}
.edition{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);
  border-radius:14px;overflow:hidden;transition:transform .16s,box-shadow .16s,border-color .16s;}
.edition:hover{border-color:var(--coral);transform:translateY(-3px);box-shadow:var(--shadow-md);}
.edition__banner{display:block;line-height:0;aspect-ratio:267/65;background:var(--ink);overflow:hidden;}
.edition__banner img{width:100%;height:100%;object-fit:cover;display:block;}
.edition__meta{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:11px 15px;}
.edition__label{font-family:var(--serif);font-weight:var(--serif-wt);font-size:1.2rem;color:var(--ink);}
.edition__year{font-size:.82rem;color:var(--ink-soft);font-weight:600;}
@media (max-width:560px){ .editions{grid-template-columns:1fr 1fr;gap:12px;} }

/* ---- Contacto / entidades / info ---- */
.contactbox{background:var(--cream);border:1px solid var(--line);border-radius:16px;padding:28px;max-width:520px;}
.contactbox h3{font-family:var(--serif);font-size:1.5rem;color:var(--ink);margin:0 0 10px;}
.contactbox p{margin:6px 0;color:var(--ink-soft);}
.contactbox a{color:var(--violet-700);text-decoration:underline;text-decoration-color:var(--coral);}

.entities{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;}
.entity{background:var(--paper);border:1px solid var(--line);border-left:3px solid var(--coral);border-radius:14px;padding:22px;}
.entity h3{font-family:var(--serif);font-size:1.3rem;color:var(--ink);margin:0 0 8px;}
.entity p{margin:0;color:var(--ink-soft);font-size:.92rem;}

.infobox{border:1px solid var(--line);border-left:4px solid var(--coral);border-radius:14px;overflow:hidden;
  max-width:560px;margin:14px 0 26px;background:var(--cream);box-shadow:var(--shadow-sm);}
.infobox__row{display:flex;align-items:center;gap:14px;padding:14px 20px;border-bottom:1px solid var(--line);}
.infobox__row:last-child{border-bottom:0;}
.infobox__ic{flex:0 0 auto;width:34px;height:34px;border-radius:50%;background:#fff;border:1px solid var(--line);
  display:grid;place-items:center;color:var(--coral-600);}
.infobox__ic svg{width:18px;height:18px;fill:currentColor;}
.infobox__ic svg[stroke]{fill:none;}
.infobox__k{font-family:var(--sans);font-weight:700;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--coral-600);flex:0 0 auto;}
.infobox__v{margin-left:auto;text-align:right;font-weight:600;color:var(--ink);font-size:.95rem;word-break:break-word;}
.infobox__v a{color:var(--ink);text-decoration:none;}
.infobox__v a:hover{text-decoration:underline;text-decoration-color:var(--coral);}

.infogrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;}
.infocard{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:20px;}
.infocard h4{font-family:var(--serif);font-size:1.15rem;color:var(--ink);margin:0 0 8px;}
.infocard p{margin:3px 0;color:var(--ink-soft);font-size:.88rem;}

/* ---- Chips / categorías / establecimientos ---- */
.chips{display:flex;flex-wrap:wrap;gap:8px;}
.chip{font-family:var(--sans);font-weight:600;font-size:.78rem;padding:7px 13px;border-radius:999px;background:rgba(0,0,0,.08);border:1px solid var(--line-ink);color:var(--violet-700);}
.catblock{margin:0 0 26px;}
.estab{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px;}
.estab li{padding:8px 0;border-bottom:1px dotted var(--line);color:var(--ink-soft);font-size:.92rem;}
.estab strong{color:var(--ink);}

/* ---- Bases (premios) ---- */
.bases .base{border-top:1px solid var(--line);padding:22px 0;}
.base__h{font-family:var(--serif);font-weight:var(--serif-wt);text-transform:uppercase;font-size:1.25rem;color:var(--violet-700);margin:0 0 12px;}

/* ---- Vídeos ---- */
.videoblock{margin:6px 0 18px;}
.videoblock .prose-h{margin-bottom:8px;}
.videoblock .lead{max-width:62ch;}
.videos{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:22px;}
.videos--single{grid-template-columns:minmax(0,760px);}
.video{margin:0;}
.video__frame{position:relative;aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:var(--ink);box-shadow:0 14px 34px rgba(40,24,70,.16);}
.video__frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.video figcaption{margin-top:10px;font-family:var(--serif);font-weight:var(--serif-wt);font-size:1.02rem;color:var(--violet-700);line-height:1.3;}

/* ---- Historia / créditos / recursos ---- */
.histlist{border-top:1px solid var(--line);}
.histrow{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid var(--line);flex-wrap:wrap;}
.histrow__k{font-family:var(--serif);font-weight:var(--serif-wt);font-size:1.1rem;color:var(--ink);}
.histrow__k em{font-family:var(--sans);font-style:normal;font-size:.78rem;color:var(--ink-soft);font-weight:400;}
.histrow__v{font-family:var(--serif);font-weight:var(--serif-wt);font-size:1.02rem;color:var(--coral-600);text-align:right;}
.credits p,.resources p{margin:8px 0;color:var(--ink-soft);}
.credits__role{font-family:var(--sans);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:.74rem;color:var(--violet-700);}
.credits a,.resources a{color:var(--violet-700);text-decoration:underline;text-decoration-color:var(--coral);}

/* ---- Recursos (tarjetas) ---- */
.reslist{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:18px;margin:14px 0 8px;}
.rescard{display:flex;align-items:center;justify-content:space-between;gap:24px;text-decoration:none;
  padding:24px 28px;border:1px solid var(--line);border-radius:14px;background:#fff;
  transition:transform .18s,box-shadow .18s,border-color .18s;}
.rescard:hover{transform:translateY(-3px);box-shadow:0 16px 32px rgba(40,24,70,.12);border-color:transparent;}
.rescard__title{display:block;font-family:var(--serif);font-weight:var(--serif-wt);font-size:1.28rem;color:var(--violet-700);line-height:1.2;}
.rescard__desc{display:block;margin-top:6px;font-size:.92rem;color:var(--ink-soft);line-height:1.5;}
.rescard__cta{flex:0 0 auto;font-family:var(--sans);font-weight:700;text-transform:uppercase;letter-spacing:.05em;
  font-size:.72rem;color:var(--coral-600);white-space:nowrap;}
.rescard:hover .rescard__cta span{display:inline-block;transform:translateX(3px);transition:transform .18s;}

/* ---- Libro de Firmas (homenaje a Rosa Mª García Cano) ---- */
.lf__banner{max-width:1100px;margin:0 auto;padding:18px 20px 0;}
.lf__banner img{width:100%;height:auto;display:block;border-radius:16px;box-shadow:0 18px 46px rgba(40,24,70,.18);}
.lf__wrap{max-width:1100px;}
.lf__intro{max-width:62ch;margin:6px auto 4px;text-align:center;font-family:var(--serif);font-style:italic;
  font-size:1.22rem;line-height:1.55;color:var(--violet-700);}
.lf__count{text-align:center;font-family:var(--sans);text-transform:uppercase;letter-spacing:.12em;
  font-size:.72rem;color:var(--ink-soft);margin:8px 0 30px;}
.lf__grid{columns:3 300px;column-gap:20px;}
.firma{break-inside:avoid;margin:0 0 20px;position:relative;padding:22px 22px 18px;border-radius:14px;
  background:#fff;border:1px solid var(--line);box-shadow:0 8px 22px rgba(40,24,70,.06);}
.firma__quote{position:absolute;top:2px;left:14px;font-family:var(--serif);font-size:3.4rem;line-height:1;
  color:var(--coral-600);opacity:.32;}
.firma blockquote{margin:10px 0 0;font-size:.92rem;line-height:1.55;color:var(--ink);}
.firma figcaption{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;}
.firma__name{font-family:var(--serif);font-weight:var(--serif-wt);color:var(--violet-700);font-size:1rem;line-height:1.2;}
.firma__date{font-size:.72rem;color:var(--ink-soft);white-space:nowrap;}
.lf__back{text-align:center;margin-top:18px;}
@media (max-width:760px){
  .lf__grid{columns:1;}
  .lf__intro{font-size:1.08rem;}
}

/* ---- Apartado multimedia: galerías ---- */
.galgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:22px;}
.galcard{display:flex;flex-direction:column;text-decoration:none;border-radius:16px;overflow:hidden;
  background:#fff;border:1px solid var(--line);box-shadow:0 8px 22px rgba(40,24,70,.07);
  transition:transform .2s,box-shadow .2s;}
.galcard:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(40,24,70,.16);}
.galcard__media{display:block;aspect-ratio:16/10;background-size:cover;background-position:center;}
.galcard__body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:3px;}
.galcard__title{font-family:var(--serif);font-weight:var(--serif-wt);font-size:1.2rem;color:var(--violet-700);line-height:1.2;}
.galcard__meta{font-size:.82rem;color:var(--ink-soft);}
.galcard__count{margin-top:6px;font-family:var(--sans);text-transform:uppercase;letter-spacing:.07em;
  font-size:.68rem;color:var(--coral-600);font-weight:700;}

/* ---- Vista de galería: rejilla de fotos ---- */
.gallery__meta{color:var(--ink-soft);margin:0 0 22px;font-size:.95rem;}
.photogrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;}
.photo{position:relative;display:block;border-radius:12px;overflow:hidden;background:var(--ink);
  aspect-ratio:4/3;box-shadow:0 6px 16px rgba(40,24,70,.08);cursor:zoom-in;}
.photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s;}
.photo:hover img{transform:scale(1.06);}
.photo__cap{position:absolute;left:0;right:0;bottom:0;padding:18px 12px 9px;color:#fff;font-size:.8rem;
  background:linear-gradient(transparent,rgba(20,12,35,.78));opacity:0;transition:opacity .2s;}
.photo:hover .photo__cap{opacity:1;}

/* ---- Lightbox ---- */
.lbox{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;
  background:rgba(18,10,32,.92);padding:30px;opacity:0;visibility:hidden;transition:opacity .2s;}
.lbox.open{opacity:1;visibility:visible;}
.lbox__img{max-width:92vw;max-height:84vh;border-radius:8px;box-shadow:0 24px 60px rgba(0,0,0,.5);}
.lbox__cap{position:absolute;bottom:22px;left:0;right:0;text-align:center;color:#fff;font-size:.95rem;padding:0 20px;}
.lbox__btn{position:absolute;background:rgba(255,255,255,.12);border:0;color:#fff;width:52px;height:52px;
  border-radius:50%;font-size:1.6rem;cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:background .15s;}
.lbox__btn:hover{background:rgba(255,255,255,.28);}
.lbox__prev{left:18px;}.lbox__next{right:18px;}
.lbox__close{top:18px;right:18px;width:46px;height:46px;font-size:1.3rem;}
@media (max-width:760px){
  .lbox__prev{left:6px;}.lbox__next{right:6px;}
  .lbox__btn{width:44px;height:44px;}
}

/* ---- Página de resultados de búsqueda ---- */
.page-hero--search .searchbig{display:flex;gap:10px;margin-top:18px;max-width:560px;}
.searchbig input{flex:1;border:0;border-radius:999px;padding:14px 22px;font-family:var(--sans);font-size:1rem;
  background:rgba(255,255,255,.95);color:var(--ink);box-shadow:0 8px 24px rgba(40,24,70,.18);}
.searchbig button{border:0;border-radius:999px;padding:0 26px;background:var(--coral);color:#fff;
  font-family:var(--sans);font-weight:700;cursor:pointer;font-size:.95rem;}
.searchbig button:hover{background:var(--coral-600);}
.search__count{color:var(--ink-soft);margin:0 0 20px;}
.searchres{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;}
.searchres__item a{display:block;text-decoration:none;padding:18px 22px;border:1px solid var(--line);
  border-radius:14px;background:#fff;transition:transform .15s,box-shadow .15s,border-color .15s;}
.searchres__item a:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(40,24,70,.12);border-color:transparent;}
.searchres__sec{display:block;font-family:var(--sans);text-transform:uppercase;letter-spacing:.08em;
  font-size:.68rem;font-weight:700;color:var(--coral-600);margin-bottom:3px;}
.searchres__title{display:block;font-family:var(--serif);font-weight:var(--serif-wt);font-size:1.3rem;color:var(--violet-700);line-height:1.2;}
.searchres__snip{display:block;margin-top:6px;font-size:.9rem;color:var(--ink-soft);line-height:1.5;}
.searchres__snip mark{background:rgba(194,168,143,.28);color:inherit;padding:0 2px;border-radius:3px;}
@media (max-width:560px){ .searchbig{flex-direction:column;} .searchbig button{padding:12px;} }

/* ---- Layout tabla + notas al lado (cifras) ---- */
.tableaside{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:44px;align-items:start;}
.tableaside__main{min-width:0;}
.tableaside__main .datatable{margin:0;}
.tableaside__side{padding-top:4px;}
.tableaside__side .lead{font-size:1.08rem;line-height:1.55;margin:0 0 20px;}
.tableaside__side .page-note{font-size:.92rem;line-height:1.6;color:var(--ink-soft);
  border-left:3px solid var(--coral);padding-left:18px;margin:0 0 20px;text-align:left;}
.highlights--stack{display:flex;flex-direction:column;gap:14px;margin:0 0 22px;}
.highlights--stack .highlight{background:var(--cream);border-radius:14px;padding:16px 20px;}
.highlights--stack .highlight__v{display:block;font-family:var(--serif);font-weight:var(--serif-wt);
  font-size:1.5rem;color:var(--violet-700);line-height:1.1;}
.highlights--stack .highlight__l{display:block;margin-top:4px;font-size:.85rem;color:var(--ink-soft);line-height:1.4;}
@media (max-width:860px){
  .tableaside{grid-template-columns:1fr;gap:22px;}
  .tableaside__side{padding-top:0;}
}

/* ---- Próximamente (secciones 2026 sin contenido) ---- */
.comingsoon{max-width:680px;margin:40px auto;text-align:center;padding:48px 36px;
  background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 16px 40px rgba(40,24,70,.08);}
.comingsoon__badge{display:inline-block;font-family:var(--sans);font-weight:700;text-transform:uppercase;
  letter-spacing:.14em;font-size:.72rem;color:#fff;background:var(--grad-poster,linear-gradient(120deg,var(--violet-700),var(--coral)));
  padding:8px 18px;border-radius:999px;margin-bottom:22px;}
.comingsoon__h{font-family:var(--serif);font-weight:var(--serif-wt);font-size:clamp(1.6rem,3.4vw,2.3rem);
  color:var(--violet-700);line-height:1.1;margin:0 0 16px;}
.comingsoon__p{font-size:1.05rem;line-height:1.6;color:var(--ink-soft);margin:0 auto 26px;max-width:52ch;}
.comingsoon__cta{margin:0;}

/* ---- Noticias / Notas de prensa (estilo WordPress) ---- */
.wpnews{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:26px;}
.wpcard{display:flex;flex-direction:column;text-decoration:none;background:#fff;border:1px solid var(--line);
  border-radius:16px;overflow:hidden;transition:transform .2s,box-shadow .2s;}
.wpcard:hover{transform:translateY(-4px);box-shadow:0 22px 44px rgba(40,24,70,.16);}
.wpcard__media{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--cream);}
.wpcard__media img{width:100%;height:100%;object-fit:cover;transition:transform .45s;}
.wpcard:hover .wpcard__media img{transform:scale(1.05);}
.wpcard__body{padding:18px 20px 22px;display:flex;flex-direction:column;gap:9px;flex:1 1 auto;}
.wpcard__meta{font-family:var(--sans);text-transform:uppercase;letter-spacing:.07em;font-size:.68rem;font-weight:700;color:var(--coral-600);}
.wpcard__title{font-family:var(--serif);font-weight:var(--serif-wt);font-size:1.3rem;line-height:1.22;color:var(--violet-700);}
.wpcard__excerpt{font-size:.9rem;line-height:1.55;color:var(--ink-soft);
  display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;}
.wpcard__more{display:inline-flex;align-items:center;gap:7px;margin-top:auto;padding-top:14px;
  font-family:var(--sans);font-weight:700;text-transform:uppercase;letter-spacing:.08em;
  font-size:.72rem;color:var(--coral-600);transition:gap .16s;}
.wpcard__more svg{width:18px;height:18px;}
.wpcard:hover .wpcard__more{gap:13px;}
.wpcard--big{grid-column:span 2;flex-direction:row;}
.wpcard--big .wpcard__media{flex:0 0 52%;aspect-ratio:auto;}
.wpcard--big .wpcard__body{justify-content:center;padding:28px 30px;}
.wpcard--big .wpcard__title{font-size:1.85rem;}
.wpcard--big .wpcard__excerpt{font-size:.98rem;}

/* ---- Artículo (estilo WordPress) ---- */
.wparticle{max-width:820px;margin:0 auto;}
.wparticle__meta{font-family:var(--sans);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:700;color:var(--coral-600);margin:8px 0 8px;}
.wparticle__title{font-family:var(--serif);font-weight:var(--serif-wt);font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.12;color:var(--violet-700);margin:0 0 24px;}
.wparticle__fig{margin:0 0 28px;border-radius:16px;overflow:hidden;box-shadow:var(--shadow-md);}
.wparticle__fig img{width:100%;height:auto;display:block;}
.wparticle__body p{font-size:1.04rem;line-height:1.72;margin:0 0 18px;color:var(--ink);text-align:justify;hyphens:auto;}
.wparticle__dl{margin:26px 0;}
@media (max-width:760px){
  .wpcard--big{grid-column:span 1;flex-direction:column;}
  .wpcard--big .wpcard__media{flex:auto;aspect-ratio:16/10;}
}

/* ---- Avance de Programación: rejilla de espectáculos ---- */
.proggrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:24px;}
.progcard{display:flex;flex-direction:column;text-decoration:none;background:#fff;border:1px solid var(--line);
  border-radius:16px;overflow:hidden;transition:transform .2s,box-shadow .2s;}
.progcard:hover{transform:translateY(-5px);box-shadow:0 24px 46px rgba(40,24,70,.18);}
.progcard__media{position:relative;aspect-ratio:4/3;background:var(--cream);background-size:cover;background-position:center;
  display:flex;align-items:flex-start;}
.progcard__media--empty{background:var(--grad-poster,linear-gradient(160deg,var(--violet-700),var(--coral)));}
.progcard__body{padding:14px 16px 18px;display:flex;flex-direction:column;gap:5px;}
.progcard__co{font-family:var(--sans);text-transform:uppercase;letter-spacing:.06em;font-size:.66rem;font-weight:700;color:var(--coral-600);}
.progcard__t{font-family:var(--serif);font-weight:var(--serif-wt);font-size:1.22rem;line-height:1.18;color:var(--violet-700);}
.progcard__g{font-size:.8rem;color:var(--ink-soft);}

/* ---- Badges (estrenos) ---- */
.badges{display:flex;flex-wrap:wrap;gap:6px;}
.badges--compact{padding:8px;}
.badge{display:inline-flex;align-items:center;gap:4px;font-family:var(--sans);font-weight:700;text-transform:uppercase;
  letter-spacing:.04em;font-size:.62rem;padding:4px 9px;border-radius:999px;color:#fff;background:var(--coral-600);line-height:1;}
.badge svg{width:11px;height:11px;fill:currentColor;}
.badge--absoluto{background:#b5294e;}
.badge--espana{background:#c0392b;}
.badge--idioma{background:var(--violet-700);}
.badges--compact .badge{box-shadow:0 2px 8px rgba(0,0,0,.3);}

/* ---- Ficha de espectáculo ---- */
.showficha{max-width:1000px;margin:0 auto;}
.showficha__co{font-family:var(--sans);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:700;color:var(--coral-600);margin:8px 0 4px;}
.showficha__t{font-family:var(--serif);font-weight:var(--serif-wt);font-size:clamp(1.7rem,4vw,2.7rem);line-height:1.1;color:var(--violet-700);margin:0 0 14px;}
.showficha .badges{margin-bottom:26px;}
.showficha__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:40px;align-items:start;}
.showficha__fig{margin:0 0 18px;border-radius:16px;overflow:hidden;box-shadow:var(--shadow-md);}
.showficha__fig img{width:100%;height:auto;display:block;}
.showmeta{display:grid;grid-template-columns:1fr 1fr;gap:14px 22px;margin:0 0 22px;}
.showmeta dt{font-family:var(--sans);text-transform:uppercase;letter-spacing:.06em;font-size:.64rem;font-weight:700;color:var(--coral-600);}
.showmeta dd{margin:2px 0 0;font-size:.95rem;color:var(--ink);line-height:1.4;}
.showficha__syn p{font-size:1.02rem;line-height:1.7;color:var(--ink);margin:0 0 14px;text-align:justify;hyphens:auto;}
.showficha__links{margin:22px 0;}
.showficha__contact{margin-top:20px;border-top:1px solid var(--line);padding-top:16px;}
.showficha__contact p{font-size:.92rem;color:var(--ink-soft);margin:6px 0;}
@media (max-width:860px){ .showficha__grid{grid-template-columns:1fr;gap:24px;} }

@media (max-width:980px){
  .awards,.complist{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:760px){
  /* En móvil la subnavegación se oculta: ya está el menú principal */
  .subnav{display:none;}
}
@media (max-width:600px){
  .awards,.complist{grid-template-columns:1fr;}
  .showlist{grid-template-columns:1fr;}
  .team__row{flex-direction:column;gap:2px;}
}
.showmeta__empty{color:var(--ink-soft);opacity:.45;}

/* Suplementos de alojamiento (profesionales-inscripcion) */
.lodging{margin:30px 0 6px;}
.lodging__title{margin:0 0 16px;}
.lodging__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;}
.lodging__card{background:var(--cream);border:1px solid var(--line);border-radius:14px;
  border-left:4px solid var(--coral);padding:16px 20px;}
.lodging__h{font-family:var(--sans);font-weight:700;text-transform:uppercase;letter-spacing:.04em;
  font-size:.82rem;color:var(--coral-600);margin:0 0 10px;}
.lodging__t{width:100%;border-collapse:collapse;}
.lodging__t th{text-align:left;font-weight:600;color:var(--ink);padding:7px 0;border-bottom:1px solid var(--line);font-size:.95rem;}
.lodging__t td{text-align:right;color:var(--ink-soft);padding:7px 0;border-bottom:1px solid var(--line);white-space:nowrap;}
.lodging__t tr:last-child th,.lodging__t tr:last-child td{border-bottom:0;}
@media (max-width:680px){ .lodging__grid{grid-template-columns:1fr;} }

/* Páginas a todo el ancho (flag "wide"): suelta los topes de lectura
   para que párrafos y columnas lleguen al ancho del contenido (p.ej. precios). */
.page-body--flush .txtflow{max-width:none;}
.page-body--flush .prose--wide{max-width:none;}

/* Página de noticias (rejilla) al ancho del vídeo: 1280 + gutter 24px */
.page-body--wide-media{max-width:var(--maxw);padding-left:24px;padding-right:24px;}

/* Shows: comunidad junto a estrenos, logo por defecto y tarjeta sin enlace */
.showficha__tags{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 26px;}
.showficha__tags .badges{margin:0;}
.badge--comunidad{background:var(--coral-600);}
.progcard--static{cursor:default;}
.progcard--static:hover{transform:none;}
.progcard__media--logo{background-size:62%;background-repeat:no-repeat;background-position:center;background-color:#fff;}
.showficha__fig--logo{display:flex;align-items:center;justify-content:center;background:#fff;
  aspect-ratio:4/3;padding:30px;box-shadow:var(--shadow-md);border-radius:16px;}
.showficha__fig--logo img{width:72%;height:auto;}

/* Botones de acción (inscripción + panel de gestión) */
.actionbtns{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin:6px 0 30px;}
.btn--panel{background:#000;color:#fff;border:0;padding:12px 14px 12px 24px;gap:12px;}
.btn--panel:hover{background:#1f1f1f;transform:translateY(-2px);}
.btn__circle{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;
  background:var(--coral);color:#111;flex:0 0 auto;}
.btn__circle svg{width:17px;height:17px;}

/* Tablas dentro de prosa (p.ej. Política de cookies) */
.prose table,.ck-table{width:100%;border-collapse:collapse;margin:18px 0 24px;font-size:.88rem;}
.prose th,.ck-table th{background:var(--ink);color:#fff;text-align:left;padding:10px 12px;
  font-family:var(--sans);font-weight:700;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;}
.prose td,.ck-table td{padding:10px 12px;border-top:1px solid var(--line);color:var(--ink-soft);vertical-align:top;text-align:left;}
.prose table tr:nth-child(even) td{background:rgba(0,0,0,.03);}
