/*
Theme Name: Cinéfilxs Anónimxs
Theme URI: https://cinefilosanonimos.com
Author: Cinéfilxs Anónimxs
Author URI: https://cinefilosanonimos.com
Description: Tema a medida para Cinéfilxs Anónimxs — fanzine editorial, xerox, blanco/negro + naranja. Convertido 1:1 desde HTML/CSS estático.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: cinefilxs
*/

/* =========================================================
   CINÉFILOS ANÓNIMOS — sistema visual
   Fanzine editorial · xerox · b/n + naranja
   Paleta estricta (brief): #ee8002 / #ffffff / #000000
   Tipografía: Helvetica (display) + Open Sans (texto)
   ========================================================= */

:root{
  --ink:#000000;
  --paper:#ffffff;
  --orange:#ee8002;
  --edge:2px;               /* grosor de reglas duras */
  --wash:#f5f4f2;      /* gris papel para cabeceras */
  --slate:#3d3d3d;     /* caja de retrato */
  --maxw:1280px;
  --gutter:clamp(20px,4vw,56px);
  --display:'Helvetica Neue',Helvetica,'Open Sans',Arial,sans-serif;
  --body:'Open Sans',Arial,sans-serif;
}

*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;overflow-x:hidden;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--body);
  font-size:17px;
  line-height:1.6;
  font-weight:400;
  max-width:100vw;
  overflow-x:hidden; /* red de seguridad: ningún elemento puede forzar scroll horizontal en toda la página */
  /* grano de fotocopia, muy sutil, sin degradados */
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='matrix' values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.04 0'/></filter><rect width='120' height='120' filter='url(%23n)'/></svg>");
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}

/* ---------- utilidades tipográficas ---------- */
.eyebrow{
  font-family:var(--display);
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.22em;
  font-size:.72rem;
  line-height:1;
}
.mono{font-variant-numeric:tabular-nums;}

/* ---------- retícula / contenedor ---------- */
.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--gutter);}
.rule{height:var(--edge);background:var(--ink);border:0;margin:0;}
.rule--orange{background:var(--orange);}

/* ---------- perforación de rollo de cine ---------- */
.perf{
  height:22px;
  background-color:var(--ink);
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='34' height='22'><rect width='34' height='22' fill='black'/><rect x='9' y='6' width='16' height='10' rx='2' fill='white'/></svg>");
  background-size:34px 22px;
  background-repeat:repeat-x;
  /* la cinta corre: un fotograma (34px) cada 1.7s, en bucle continuo */
  animation:reel 1.7s linear infinite;
}
@keyframes reel{
  from{background-position:0 0;}
  to{background-position:-34px 0;}
}
@media (prefers-reduced-motion:reduce){.perf{animation:none;}}

/* ---------- barra de utilidad ---------- */
.util{
  background:var(--ink);
  color:var(--paper);
}
.util .wrap{
  display:flex;justify-content:space-between;align-items:center;
  gap:16px;min-height:38px;
}
.util .eyebrow{font-size:.66rem;letter-spacing:.18em;}
.util a:hover{color:var(--orange);}
.util__soc{display:flex;gap:18px;}

/* ---------- masthead ---------- */
.masthead{border-bottom:var(--edge) solid var(--ink);}
.masthead .wrap{
  display:flex;align-items:center;justify-content:space-between;
  gap:24px;padding-block:18px;flex-wrap:wrap;
}
.brand{display:flex;align-items:center;justify-content:flex-start;}
.brand img{display:block;width:clamp(70px,7vw,108px);height:auto;margin:0;}
.nav{display:flex;gap:26px;flex-wrap:wrap;}
.nav a{
  font-family:var(--display);font-weight:700;
  text-transform:uppercase;letter-spacing:.08em;font-size:.82rem;
  padding-bottom:3px;border-bottom:3px solid transparent;
}
.nav a:hover{border-color:var(--orange);}
.nav a[aria-current="page"]{border-color:var(--ink);}

/* ---------- menú hamburguesa (móvil) ---------- */
.nav-toggle{
  display:none;align-items:center;justify-content:center;
  width:46px;height:46px;flex:none;
  border:var(--edge) solid var(--ink);background:var(--paper);
  cursor:pointer;padding:0;position:relative;
}
.nav-toggle__bar,.nav-toggle__bar::before,.nav-toggle__bar::after{
  content:"";display:block;width:22px;height:3px;background:var(--ink);
  position:absolute;left:12px;top:22px;transition:transform .2s ease,opacity .2s ease,background .2s ease;
}
.nav-toggle__bar::before{top:-7px;}
.nav-toggle__bar::after{top:7px;}
body.nav-open .nav-toggle__bar{background:transparent;}
body.nav-open .nav-toggle__bar::before{top:0;transform:rotate(45deg);background:var(--ink);}
body.nav-open .nav-toggle__bar::after{top:0;transform:rotate(-45deg);background:var(--ink);}

@media (max-width:640px){
  .nav-toggle{display:inline-flex;}
  .nav{
    display:flex;flex-direction:column;gap:0;flex-wrap:nowrap;
    position:fixed;inset:0;z-index:200;
    background:var(--paper);
    padding:104px 28px 40px;
    transform:translateX(100%);
    transition:transform .32s ease;
    overflow-y:auto;
  }
  body.nav-open .nav{transform:translateX(0);}
  .nav a{
    font-size:1.5rem;padding:20px 0;width:100%;
    border-bottom:var(--edge) solid var(--ink);
  }
  body.nav-open{overflow:hidden;}
}

/* ---------- marquesina ---------- */
.marquee{
  background:var(--orange);color:var(--ink);
  border-bottom:var(--edge) solid var(--ink);
  overflow:hidden;white-space:nowrap;
}
.marquee__row{
  display:inline-flex;gap:0;align-items:center;
  padding-block:9px;
  animation:slide 26s linear infinite;
}
.marquee span{
  font-family:var(--display);font-weight:800;
  text-transform:uppercase;letter-spacing:.06em;font-size:.82rem;
  padding-inline:22px;
}
.marquee span::after{content:"✦";margin-left:22px;}
@keyframes slide{to{transform:translateX(-50%);}}
@media (prefers-reduced-motion:reduce){.marquee__row{animation:none;}}

/* ---------- gafete: elemento firma ---------- */
.tag{
  display:inline-block;border:var(--edge) solid var(--ink);
  background:var(--paper);color:var(--ink);min-width:210px;
  box-shadow:6px 6px 0 var(--ink);
}
.tag__hello,.tag__name,.tag__role{color:var(--ink);}
.tag__cap{
  background:var(--orange);color:var(--ink);
  border-bottom:var(--edge) solid var(--ink);
  font-family:var(--display);font-weight:800;text-transform:uppercase;
  letter-spacing:.14em;font-size:.7rem;text-align:center;
  padding:7px 10px;position:relative;
}
.tag__cap::before{
  content:"";position:absolute;top:6px;left:50%;transform:translateX(-50%);
  width:34px;height:8px;border:var(--edge) solid var(--ink);border-radius:20px;
  background:var(--paper);
}
.tag__cap span{display:block;margin-top:12px;}
.tag__body{padding:14px 16px 18px;}
.tag__hello{
  font-family:var(--body);font-weight:600;font-size:.8rem;opacity:.7;
  margin:0 0 2px;
}
.tag__name{
  font-family:var(--display);font-weight:800;font-size:1.7rem;line-height:1;
  text-transform:uppercase;margin:0;
}
.tag__role{
  margin:8px 0 0;font-size:.85rem;font-weight:600;
}

/* ---------- medios tonos / stills ---------- */
.still{
  position:relative;background:var(--ink);color:var(--paper);
  border:var(--edge) solid var(--ink);
  aspect-ratio:16/10;overflow:hidden;
  display:flex;align-items:flex-end;
}
.still--tall{aspect-ratio:3/4;}
.still--wide{aspect-ratio:21/9;}
.still::before{
  content:"";position:absolute;inset:0;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10'><circle cx='2' cy='2' r='1.5' fill='white'/></svg>");
  background-size:10px 10px;opacity:.28;
}
.still__label{
  position:relative;z-index:1;
  font-family:var(--display);font-weight:800;text-transform:uppercase;
  letter-spacing:.14em;font-size:.66rem;
  padding:8px 10px;background:var(--orange);color:var(--ink);
  margin:10px;border:var(--edge) solid var(--ink);
}
.still--orange{background:var(--orange);color:var(--ink);}
.still--orange::before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10'><circle cx='2' cy='2' r='1.5' fill='black'/></svg>");opacity:.4;}
.still--orange .still__label{background:var(--ink);color:var(--paper);}

/* ---------- chips / categorías ---------- */
.chips{display:flex;flex-wrap:wrap;gap:8px;}
.chip{
  font-family:var(--display);font-weight:700;text-transform:uppercase;
  letter-spacing:.08em;font-size:.68rem;
  padding:5px 10px;border:var(--edge) solid var(--ink);background:var(--paper);
}
.chip--fill{background:var(--ink);color:var(--paper);}
.chip--orange{background:var(--orange);color:var(--ink);}

/* ---------- botones ---------- */
.btn{
  display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;
  font-family:var(--display);font-weight:800;text-transform:uppercase;
  letter-spacing:.08em;font-size:.82rem;
  padding:13px 20px;border:var(--edge) solid var(--ink);
  background:var(--orange);color:var(--ink);cursor:pointer;
  box-shadow:5px 5px 0 var(--ink);transition:transform .08s ease,box-shadow .08s ease;
  overflow-wrap:anywhere;max-width:100%;box-sizing:border-box;
}
.btn:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ink);}
.btn--ghost{background:var(--paper);}
.btn--ink{background:var(--ink);color:var(--paper);box-shadow:5px 5px 0 var(--orange);}

/* ---------- estructura de secciones ---------- */
.section{padding-block:clamp(44px,7vw,88px);}
.section__head{
  display:flex;align-items:baseline;justify-content:space-between;
  gap:20px;flex-wrap:wrap;margin-bottom:30px;
}
.section__title{
  font-family:var(--display);font-weight:800;text-transform:uppercase;
  letter-spacing:-.01em;line-height:.92;font-size:clamp(1.6rem,4vw,2.8rem);margin:0;
}
.kicker{color:var(--orange);}

/* ---------- HERO / SESIÓN ---------- */
.hero{border-bottom:var(--edge) solid var(--ink);padding-block:clamp(36px,6vw,64px);}
.hero__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(24px,4vw,52px);align-items:start;}
.hero__session{
  display:inline-flex;align-items:center;gap:12px;margin-bottom:22px;
}
.hero__num{
  background:var(--ink);color:var(--paper);
  font-family:var(--display);font-weight:800;font-size:.8rem;letter-spacing:.14em;
  padding:6px 12px;text-transform:uppercase;
}
.hero__title{
  font-family:var(--display);font-weight:800;
  font-size:clamp(2.3rem,6.4vw,4.6rem);line-height:.94;
  letter-spacing:-.02em;text-transform:uppercase;margin:0 0 20px;
}
.hero__title em{font-style:normal;color:var(--orange);}
.hero__dek{font-size:1.08rem;max-width:46ch;margin:0 0 26px;font-weight:400;}
.hero__meta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:26px;}
.byline{font-size:.85rem;font-weight:600;}
.byline b{font-weight:800;}

/* ---------- rejilla de tarjetas ---------- */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,2.6vw,34px);}
.grid[hidden]{display:none;} /* .grid{display:grid} de arriba, al tener la misma especificidad que la regla [hidden] del navegador, la pisaba — esto lo corrige */
.grid--2{grid-template-columns:repeat(2,1fr);}
.card{display:flex;flex-direction:column;gap:14px;}
.card__cat{display:flex;align-items:center;gap:8px;}
.card__title{
  font-family:var(--display);font-weight:800;text-transform:uppercase;
  font-size:1.28rem;line-height:1;letter-spacing:-.01em;margin:0;
}
.card:hover .card__title{color:var(--orange);}
.card__dek{font-size:.94rem;margin:0;opacity:.85;}
.card__foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;
  font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;}
.card__foot .arrow{color:var(--orange);}

/* ---------- redes / miembros ---------- */
.members{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,2.4vw,30px);}
.member{display:flex;flex-direction:column;gap:16px;}
.member__still{
  aspect-ratio:1/1;background:var(--slate);border:var(--edge) solid var(--ink);
  display:flex;align-items:flex-end;justify-content:center;position:relative;overflow:hidden;
}
.member__still::before{display:none;}
.member__still img{height:88%;width:auto;object-fit:contain;position:relative;z-index:1;}
.member__still .still__label{position:absolute;left:0;bottom:0;z-index:2;}
/* en Sobre cinéfilxs los retratos van en clave baja */
.members--muted .member__still img{filter:grayscale(1) contrast(1.05);}
.member__desc{font-size:.9rem;margin:0;}

/* ---------- artículo (lectura) ---------- */
.article{max-width:760px;margin-inline:auto;}
.article p{margin:0 0 1.35em;font-size:1.12rem;line-height:1.72;}
.article h2{
  font-family:var(--display);font-weight:800;text-transform:uppercase;
  font-size:1.7rem;letter-spacing:-.01em;margin:2.2em 0 .7em;line-height:1;
}
.article .lead{font-size:1.32rem;line-height:1.55;font-weight:600;}
.article .lead::first-letter{
  float:left;font-family:var(--display);font-weight:800;
  font-size:5.2rem;line-height:.72;padding:6px 12px 0 0;color:var(--orange);
}
.pull{
  border-top:var(--edge) solid var(--ink);border-bottom:var(--edge) solid var(--ink);
  padding:22px 0;margin:2em 0;
  font-family:var(--display);font-weight:800;text-transform:uppercase;
  font-size:clamp(1.4rem,3.4vw,2.1rem);line-height:1.02;letter-spacing:-.01em;
}
.pull b{color:var(--orange);}
.ref{
  background:var(--ink);color:var(--paper);padding:24px;margin:2.4em 0;
  border-left:8px solid var(--orange);
}
.ref .eyebrow{color:var(--orange);margin-bottom:8px;}
.ref p{color:var(--paper);font-size:1rem;margin:0;}

/* ---------- formularios (visual) ---------- */
.field{margin-bottom:18px;}
.field label{
  display:block;font-family:var(--display);font-weight:700;text-transform:uppercase;
  letter-spacing:.1em;font-size:.72rem;margin-bottom:7px;
}
.field input,.field textarea,.field select{
  width:100%;font-family:var(--body);font-size:1rem;
  padding:13px 14px;border:var(--edge) solid var(--ink);
  background:var(--paper);color:var(--ink);
}
.field input:focus,.field textarea:focus,.field select:focus{
  outline:3px solid var(--orange);outline-offset:2px;
}

/* ---------- talleres ---------- */
.workshop{
  display:grid;grid-template-columns:120px 1fr auto;gap:24px;align-items:center;
  border:var(--edge) solid var(--ink);padding:22px;margin-bottom:22px;
}
.workshop__date{
  background:var(--orange);border:var(--edge) solid var(--ink);
  text-align:center;padding:12px;
}
.workshop__date .d{font-family:var(--display);font-weight:800;font-size:2rem;line-height:1;}
.workshop__date .m{font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:.72rem;letter-spacing:.12em;}
.workshop__title{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:1.35rem;line-height:1;margin:0 0 8px;}
.workshop__meta{font-size:.86rem;opacity:.85;margin:0;}

/* ---------- footer ---------- */
.foot{background:var(--ink);color:var(--paper);margin-top:0;}
.foot .perf{border-bottom:0;}
.foot__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:36px;padding-block:52px;}
.foot__brand{margin:0 0 18px;}
.foot__brand img{width:96px;height:auto;}
.foot p{font-size:.92rem;opacity:.85;max-width:38ch;}
.foot h4{font-family:var(--display);font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:.78rem;margin:0 0 14px;color:var(--orange);}
.foot ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;}
.foot ul a{font-size:.92rem;}
.foot ul a:hover{color:var(--orange);}
.foot__bar{border-top:var(--edge) solid var(--orange);padding-block:16px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.foot__bar .eyebrow{font-size:.64rem;opacity:.8;}

/* ---------- misc ---------- */
.stamp{
  display:inline-block;
  border:var(--edge) solid var(--orange);color:var(--orange);
  font-family:var(--display);font-weight:800;text-transform:uppercase;
  letter-spacing:.12em;font-size:.72rem;padding:8px 12px;
}
.page-intro{
  position:relative;overflow:hidden;
  padding-block:clamp(40px,6vw,72px);
  border-bottom:var(--edge) solid var(--ink);
  background:var(--wash);
}
.page-intro .wrap{position:relative;z-index:1;}
.page-intro__text{max-width:60%;}
/* patrón de cuadrícula (contacto) */
.page-intro--grid{
  background-color:var(--wash);
  background-image:
    linear-gradient(to right,rgba(0,0,0,.06) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(0,0,0,.06) 1px,transparent 1px);
  background-size:74px 74px;
}
.page-intro h1{
  font-family:var(--display);font-weight:800;text-transform:uppercase;
  font-size:clamp(2.6rem,8vw,6rem);line-height:.9;letter-spacing:-.02em;margin:14px 0 0;
}
.page-intro p{max-width:52ch;margin:22px 0 0;font-size:1.1rem;}

/* ---------- rejilla genérica de 2 columnas (reemplaza estilos inline
   sin versión móvil: un style="" no puede llevar @media) ---------- */
.split-2col{
  display:grid;grid-template-columns:1fr 1fr;
  gap:clamp(28px,5vw,64px);align-items:start;
}
.split-2col--center{align-items:center;}
/* Texto grande de correo (Contacto): clamp() con piso más bajo para que
   quepa en móviles angostos, más overflow-wrap como garantía absoluta —
   así un dominio largo sin espacios nunca puede empujar la página entera
   más ancha que la pantalla. */
.contact-email{
  font-family:var(--display);font-weight:800;text-transform:uppercase;
  line-height:1.05;margin:0 0 8px;
  font-size:clamp(1.4rem,6.5vw,2.8rem);
  overflow-wrap:anywhere;word-break:break-word;
  max-width:100%;
}
.newsletter-grid{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;}
@media (max-width:800px){
  .split-2col{grid-template-columns:1fr;}
  .newsletter-grid{grid-template-columns:1fr;}
}

/* ---------- cabecera de página: layout de 2 columnas (texto | imagen) ----------
   Usado en Artículos / Sobre / Contacto / Talleres. Home y Artículo individual
   conservan su propio hero a todo lo ancho y NO usan esto. Reemplaza al viejo
   .page-intro__fig posicionado en absoluto (causaba que la imagen subida no
   se viera: un <div> no se autodimensiona a su imagen de fondo). Con una
   columna de grid dedicada, la caja de imagen siempre tiene un tamaño
   garantizado, con o sin imagen. */
.page-intro--split .page-intro__text{max-width:none;}
.page-intro__split-grid{
  display:grid;grid-template-columns:1.15fr .85fr;
  gap:clamp(28px,4vw,56px);align-items:center;
}
/* Columna de la imagen de cabecera: se alinea al fondo y "cancela" el
   padding inferior de .page-intro con un margen negativo, así la imagen
   queda pegada al borde inferior del encabezado (sin hueco debajo),
   mientras el texto conserva su propia alineación normal. */
.page-intro__fig-col{
  align-self:end;
  margin-bottom:calc(-1 * clamp(40px,6vw,72px));
  display:flex;justify-content:flex-end;
}
.page-intro__fig-col img{
  display:block;max-width:100%;height:auto;
  max-height:400px;   /* límite consistente en las 4 páginas, cualquiera sea el tamaño subido */
  width:auto;         /* nunca deforma ni recorta: conserva la proporción real de la imagen */
}
/* Estado sin imagen: mismo límite de 400px, caja gris con borde punteado a modo de aviso. */
.page-intro__fig-col--empty{
  width:100%;max-height:400px;aspect-ratio:3/4;
  border:var(--edge) solid var(--ink);background-color:var(--slate);
  align-items:center;justify-content:center;
  box-shadow:6px 6px 0 var(--orange);
}
/* Variante solo para "Sobre cinéfilxs": centrada verticalmente en vez de
   pegada al borde inferior (a diferencia de Artículos/Talleres/Contacto). */
.page-intro__fig-col--centered{
  align-self:center;margin-bottom:0;
}
@media (max-width:900px){
  .page-intro__split-grid{grid-template-columns:1fr;}
  .page-intro__fig-col{order:-1;margin-bottom:0;align-self:auto;justify-content:center;}
  .page-intro__fig-col img{max-height:280px;}
  .page-intro__fig-col--empty{aspect-ratio:16/10;max-height:280px;}
}
.tabs{display:flex;gap:0;border:var(--edge) solid var(--ink);width:max-content;margin-bottom:34px;}
.tabs__btn{
  font-family:var(--display);font-weight:800;text-transform:uppercase;letter-spacing:.06em;
  font-size:1.05rem;padding:15px 30px;border:0;border-right:var(--edge) solid var(--ink);
  background:var(--paper);color:var(--ink);cursor:pointer;
}
.tabs__btn:last-child{border-right:0;}
.tabs__btn[aria-selected="true"]{background:var(--orange);}
.tabs__btn:hover{background:var(--wash);}
.tabs__btn[aria-selected="true"]:hover{background:var(--orange);}
@media (max-width:480px){
  .tabs{width:100%;}
  .tabs__btn{flex:1;padding:15px 12px;font-size:.92rem;}
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width:1000px){
  .hero__grid{grid-template-columns:1fr;}
  .grid{grid-template-columns:repeat(2,1fr);}
  .members{grid-template-columns:repeat(2,1fr);}
  .foot__grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:640px){
  body{font-size:16px;}
  .grid,.grid--2,.members{grid-template-columns:1fr;}
  .foot__grid{grid-template-columns:1fr;gap:26px;}
  .workshop{grid-template-columns:1fr;gap:16px;text-align:left;}
  .util .wrap{flex-direction:column;align-items:flex-start;gap:6px;padding-block:8px;}
}

/* accesibilidad */
a:focus-visible,button:focus-visible{outline:3px solid var(--orange);outline-offset:3px;}


/* ---------- póster enmarcado (Sobre cinéfilxs) ---------- */
.poster{border:var(--edge) solid var(--ink);width:100%;height:auto;display:block;}

/* ---------- collage del lema ---------- */
.creed{position:relative;overflow:hidden;padding-block:clamp(70px,10vw,130px);}
.creed__inner{position:relative;z-index:2;text-align:center;max-width:720px;margin:0 auto;}
.creed__line{
  font-family:var(--display);font-weight:800;text-transform:uppercase;
  font-size:clamp(1.6rem,4.4vw,3rem);line-height:1.02;letter-spacing:-.01em;margin:18px 0 0;
}
.creed__line em{font-style:normal;color:var(--orange);}
.creed__strip{position:absolute;inset:0;z-index:1;pointer-events:none;}
.creed__strip .frame{
  position:absolute;background:var(--ink);border:var(--edge) solid var(--ink);
  width:230px;aspect-ratio:16/10;
  display:flex;align-items:flex-end;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10'><circle cx='2' cy='2' r='1.5' fill='white'/></svg>");
  background-size:10px 10px;
  background-repeat:repeat; /* explícito: SOLO el patrón de puntos del placeholder debe repetirse */
  animation:cinefilxsFloat 7s ease-in-out infinite;
  transform:rotate(var(--frame-rot,0deg));
}
.creed__strip .frame.has-img{
  background-color:transparent;
  border:0;                     /* imagen subida = look limpio, sin marco */
  background-size:contain;      /* nunca recorta: si subes la proporción correcta, se ve completa */
  background-position:center;
  background-repeat:no-repeat !important; /* refuerzo: una imagen real nunca debe repetirse en mosaico */
}
.creed__strip .frame span{
  font-family:var(--display);font-weight:800;text-transform:uppercase;letter-spacing:.12em;
  font-size:.6rem;background:var(--orange);color:var(--ink);padding:5px 7px;margin:8px;
  border:var(--edge) solid var(--ink);
}
.creed__strip .f1{left:-3%;top:6%;--frame-rot:-7deg;animation-delay:0s;}
.creed__strip .f2{left:16%;top:-8%;--frame-rot:5deg;width:190px;animation-delay:.9s;}
.creed__strip .f3{left:4%;bottom:2%;--frame-rot:4deg;width:250px;animation-delay:1.8s;}
.creed__strip .f4{right:-2%;top:2%;--frame-rot:6deg;animation-delay:.5s;}
.creed__strip .f5{right:14%;bottom:-6%;--frame-rot:-5deg;width:200px;animation-delay:1.3s;}
.creed__strip .f6{right:2%;bottom:8%;--frame-rot:-8deg;width:180px;animation-delay:2.1s;}
@keyframes cinefilxsFloat{
  0%,100%{transform:translateY(0) rotate(var(--frame-rot,0deg));}
  50%{transform:translateY(-14px) rotate(var(--frame-rot,0deg));}
}
@media (prefers-reduced-motion:reduce){
  .creed__strip .frame{animation:none;}
}
@media (max-width:900px){.creed__strip{display:none;}}

/* =========================================================
   AÑADIDOS TEMA WP — cajas de imagen como fondo (no <img>)
   Así ninguna imagen subida en el admin puede romper la
   composición: siempre se recorta/ajusta dentro de la caja.
   ========================================================= */

/* .still ahora puede llevar una imagen de fondo real.
   Si no hay imagen, se conserva el placeholder de puntos + etiqueta. */
.still{background-size:cover;background-position:center;}
.still.has-img::before{opacity:.10;mix-blend-mode:multiply;}
.still.has-img .still__label{display:none;}

/* .member__still: retrato de personaje, contenido (no recortado) y
   apoyado al borde inferior, igual que el <img> original (height:88%). */
.member__still{background-repeat:no-repeat;background-position:bottom center;background-size:contain;}
.member__still.has-img{background-size:88% auto;}
.member__still.has-img .still__label{display:none;}
.member__still img{display:none;} /* ya no se usa <img>, se deja la regla por compatibilidad */
.members--muted .member__still{filter:grayscale(1) contrast(1.05);}

/* .poster: caja con proporción fija de póster (2:3) + imagen de fondo,
   así un póster subido con otra proporción nunca deforma el layout. */
.poster{aspect-ratio:2/3;background-size:cover;background-position:center;height:auto;}

/* Still de apertura de artículo, centrado con ancho máximo (single.php) */
.still--wide-centered{max-width:960px;margin:0 auto 44px;}

/* Seguridad extra: si por algún motivo un <li> termina dentro de .nav
   (submenús, etc.), que nunca muestre viñeta. */
.nav li{list-style:none;margin:0;padding:0;}

/* Placeholder genérico para cualquier caja de imagen sin contenido aún */
.img-box--empty{
  display:flex;align-items:center;justify-content:center;
  background:var(--wash);
}
