/* Play & Mix Club · plantillas interiores: cabecera fija, menú móvil, noticia, listados, páginas y 404 */

/* Base que en la maqueta ponía el navegador */
.pmc *, .pmc *::before, .pmc *::after { box-sizing: border-box; }
/* Los estilos globales de Elementor (enlaces rosas, títulos grises) no mandan en el diseño Club */
body.pmc { background: var(--ink); color: var(--text); }
body.pmc a, body.pmc a:hover, body.pmc a:visited { color: inherit; }
body.pmc h1, body.pmc h2, body.pmc h3, body.pmc h4 { color: inherit; letter-spacing: normal; }
body.pmc .story a { color: var(--gold); }
body.pmc .menu a.on, body.pmc .menu a:hover { color: var(--gold); }
body.pmc .stage h1 span { color: var(--gold); }
body.pmc .more { color: var(--gold); }
body.pmc .btn { color: #000; }
body.pmc .btn.line { color: var(--text); }
body.pmc .event .btn, body.pmc .evc .evc-btn { color: var(--gold); }
.skip { position: absolute; left: -9999px; top: 8px; z-index: 100; background: var(--gold); color: #000; padding: 10px 16px; font: 800 16px var(--display); text-transform: uppercase; }
.skip:focus { left: 8px; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.band { background: var(--deck); }
.h1 { font: 900 clamp(48px, 8vw, 7rem)/.86 var(--display); text-transform: uppercase; margin: 0; text-wrap: balance; }

/* Cabecera: sobre el escenario en la portada; sólida en el resto */
.head.solid { position: sticky; top: env(safe-area-inset-top, 0px); background: rgba(5,5,5,.94); backdrop-filter: blur(8px); border-bottom: 1px solid var(--line); }
body.admin-bar .head.solid { top: 32px; }
.menu .has-sub { position: relative; display: inline-flex; }
.menu .sub { display: none; position: absolute; top: 100%; left: 0; min-width: 240px; padding: 8px 0; background: #0d0d0d; box-shadow: 0 20px 40px -12px #000, inset 0 0 0 1px var(--line); z-index: 30; }
.menu .sub a { display: block; padding: 10px 16px; font-size: 15px; white-space: nowrap; }
.menu .sub a::after { display: none; }
.menu .sub a:hover { color: var(--gold); background: rgba(242,191,7,.06); }
.menu .has-sub:hover .sub, .menu .has-sub:focus-within .sub { display: block; }
.searchbar { background: #0d0d0d; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.searchbar[hidden] { display: none; }
.searchbar .wrap { display: flex; gap: 10px; padding-block: 14px; }
.searchbar input, .e404-s input { flex: 1; min-width: 0; font: 400 18px var(--body); padding: 12px 14px; background: #151515; color: var(--text); border: 1px solid rgba(255,255,255,.2); }
.searchbar input:focus, .e404-s input:focus { outline: 2px solid var(--gold); outline-offset: 0; border-color: var(--gold); }
@media (max-width: 1100px) {
  .head.menu-open .menu { display: flex; position: absolute; left: 0; right: 0; top: 100%; flex-direction: column; gap: 0; margin: 0; padding: 8px max(20px, env(safe-area-inset-left, 0px)) 18px; background: #0a0a0a; border-bottom: 1px solid var(--line); max-height: calc(100vh - 80px); overflow-y: auto; }
  .head.menu-open .menu a { padding: 14px 4px; border-bottom: 1px solid var(--line); font-size: 20px; }
  .head.menu-open .menu a::after { display: none; }
  .head.menu-open .menu .has-sub { display: block; }
  .head.menu-open .menu .sub { display: block; position: static; box-shadow: none; background: none; padding: 0 0 6px 16px; }
  .head.menu-open .menu .sub a { font-size: 17px; color: var(--muted); }
  .head .wrap { position: relative; }
}

/* Barra de lectura de la noticia */
.readbar { position: fixed; left: 0; right: 0; top: 0; height: 3px; z-index: 60; pointer-events: none; }
.readbar i { display: block; height: 100%; width: 0; background: var(--gold); }

/* Noticia */
.art-hero { position: relative; isolation: isolate; overflow: hidden; background: #000; }
.art-cover { position: absolute; inset: 0; z-index: -2; }
.art-cover img { width: 100%; height: 100%; object-fit: cover; filter: brightness(.55); }
.art-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(to top, var(--ink) 0%, rgba(5,5,5,.6) 45%, rgba(5,5,5,.2) 100%); }
.art-head { padding-block: 120px 44px; min-height: 420px; display: grid; align-content: end; gap: 16px; }
.art-hero:not(:has(.art-cover)) .art-head { min-height: 0; padding-top: 60px; }
.crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font: 800 15px var(--display); letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.crumbs a:hover { color: var(--gold); }
.art-title { margin: 0; max-width: 20ch; font: 900 clamp(40px, 6vw, 5.4rem)/.9 var(--display); text-transform: uppercase; text-wrap: balance; }
.art-meta { display: flex; flex-wrap: wrap; gap: 8px 22px; color: #d9d5c7; font-size: 16px; }
.art-meta span { display: inline-flex; align-items: center; gap: 6px; }
.art-meta .material-icons { font-size: 18px; color: var(--gold); }
.art-body { padding-block: 48px 24px; }
.story { max-width: 70ch; margin: 0 auto; font-size: 19px; line-height: 1.7; color: #e6e3d8; }
.story > * + * { margin-top: 1.1em; }
.story p { margin: 0 0 1.1em; }
.story h2, .story h3, .story h4 { font-family: var(--display); font-weight: 900; text-transform: uppercase; line-height: 1; color: var(--text); margin: 1.6em 0 .5em; }
.story h2 { font-size: clamp(32px, 3.6vw, 44px); }
.story h3 { font-size: clamp(26px, 2.8vw, 34px); }
.story a { color: var(--gold); text-decoration: underline; text-underline-offset: 4px; }
.story strong { color: var(--text); }
.story img, .story figure, .story iframe, .story video { max-width: 100%; height: auto; }
.story iframe { width: 100%; }
.story figure { margin: 1.6em 0; }
.story figcaption, .story .wp-caption-text { color: var(--muted); font-size: 14px; margin-top: 8px; }
.story blockquote { margin: 1.6em 0; padding: 0 0 0 22px; border-left: 3px solid var(--gold); font: 800 clamp(24px, 2.6vw, 32px)/1.15 var(--display); text-transform: uppercase; color: var(--gold); }
.story ul, .story ol { padding-left: 1.3em; }
.story li { margin: .3em 0; }
.story table { width: 100%; border-collapse: collapse; font-size: 16px; }
.story th, .story td { border-bottom: 1px solid var(--line); padding: 10px 8px; text-align: left; }
.art-elementor { max-width: 1280px; margin: 0 auto; padding: 32px max(20px, env(safe-area-inset-left, 0px)) 24px; }
.art-foot { max-width: calc(70ch + 40px); padding-block: 8px 56px; display: grid; gap: 18px; }
.art-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.art-tags a { font: 800 14px var(--display); letter-spacing: .1em; text-transform: uppercase; padding: 6px 11px; border: 2px solid rgba(255,255,255,.25); }
.art-tags a:hover { border-color: var(--gold); color: var(--gold); }
.share { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; color: var(--muted); font: 800 15px var(--display); letter-spacing: .1em; text-transform: uppercase; }
.share a { width: 42px; height: 42px; border-radius: 50%; border: 2px solid rgba(255,255,255,.25); display: grid; place-items: center; color: var(--text); font-size: 17px; transition: background .2s, color .2s, border-color .2s; }
.share a:hover { background: var(--gold); border-color: var(--gold); color: #000; }

/* Listados */
.page-head { padding-block: 64px 8px; }
.page-lead { margin-top: 16px; max-width: 60ch; color: var(--muted); }
.list-sec { padding-top: 40px; }
.cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 24px; }
.card .media { aspect-ratio: 3/2; }
.card h3 { font: 900 26px/1 var(--display); text-transform: uppercase; margin: 14px 0 6px; text-wrap: balance; }
.card:hover h3 { color: var(--gold); }
.pager { display: flex; justify-content: center; flex-wrap: wrap; gap: 6px; margin-top: 48px; }
.pager .page-numbers { min-width: 44px; height: 44px; padding: 0 10px; display: grid; place-items: center; font: 800 18px var(--display); border: 2px solid var(--line); }
.pager .page-numbers.current { background: var(--gold); border-color: var(--gold); color: #000; }
.pager a.page-numbers:hover { border-color: var(--gold); color: var(--gold); }
.empty { color: var(--muted); font-size: 19px; }
.empty a { color: var(--gold); }

/* Página de Elementor (pendiente de migrar): a todo el ancho */
.page-elementor { min-height: 40vh; }

/* 404 */
.e404 { padding-block: 100px 80px; position: relative; overflow: hidden; }
.e404 .wrap { display: grid; gap: 18px; justify-items: start; }
.e404-n { position: absolute; right: -2vw; top: 10px; font: 900 32vw/.8 var(--display); color: transparent; -webkit-text-stroke: 2px rgba(242,191,7,.25); pointer-events: none; }
.e404 p { max-width: 46ch; color: #d9d5c7; font-size: 19px; margin: 0; }
.e404-s { display: flex; gap: 10px; width: min(560px, 100%); }

@media (max-width: 1100px) { .cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 782px) { body.admin-bar .head.solid { top: 46px; } }
@media (max-width: 640px) {
  .cards { grid-template-columns: minmax(0, 1fr); }
  .art-head { padding-top: 90px; min-height: 340px; }
  .story { font-size: 18px; }
}
