:root{
  --crema:#eee6d6;
  --papel:#fbf8f0;
  --papel-2:#f5efe3;
  --azul:#160f30;
  --azul-oscuro:#0d0920;
  --tinta:#20231f;
  --gris:#6e716a;
  --rojo:#bd463c;
  --linea:#cfc6b6;
  --blanco:#fffdf8;
  --sombra:0 18px 55px rgba(42,36,27,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--crema);
  color:var(--tinta);
  font-family:Georgia,"Times New Roman",serif;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit}
input,select,textarea{accent-color:var(--azul)}
input[type="file"]::file-selector-button{
  margin:-11px 12px -11px -12px;
  min-height:45px;
  border:0;
  border-right:1px solid var(--azul-oscuro);
  padding:0 15px;
  background:var(--azul);
  color:#fff;
  cursor:pointer;
  font:700 11px/1 Arial,sans-serif;
}
input[type="file"]::file-selector-button:hover{background:var(--azul-oscuro)}
.sitio{
  width:min(1500px,100%);
  min-height:100vh;
  margin:0 auto;
  background:var(--papel);
  border-left:1px solid var(--linea);
  border-right:1px solid var(--linea);
  box-shadow:var(--sombra);
}
.encabezado{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:28px;
  min-height:182px;
  padding:18px 34px;
  border-bottom:1px solid var(--linea);
}
.edicion{
  display:grid;
  gap:5px;
  font-family:Arial,sans-serif;
  text-transform:uppercase;
}
.edicion strong{font-size:11px;letter-spacing:1.5px}
.edicion span{color:var(--gris);font-size:9px;letter-spacing:1.2px}
.marca-logo{
  display:flex;
  align-items:center;
  justify-content:center;
  width:150px;
  height:150px;
}
.marca-logo img{
  width:auto;
  height:auto;
  max-width:150px;
  max-height:150px;
  object-fit:contain;
}
.fecha-destacada{
  justify-self:end;
  min-width:220px;
  display:grid;
  grid-template-columns:auto auto;
  grid-template-rows:auto auto;
  align-items:center;
  column-gap:13px;
  padding:13px 17px;
  background:var(--azul);
  color:#fff;
  box-shadow:0 10px 28px rgba(22,15,48,.18);
}
.fecha-etiqueta{
  grid-column:1/-1;
  margin-bottom:4px;
  font:700 9px/1 Arial,sans-serif;
  letter-spacing:2.2px;
  color:#d9d2ed;
}
.fecha-dia{
  font-size:48px;
  line-height:.9;
}
.fecha-texto{display:grid;gap:4px;font-family:Arial,sans-serif}
.fecha-texto b{font-size:13px}
.fecha-texto span{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:#d9d2ed}
.portada{
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(340px,.82fr);
  align-items:stretch;
  gap:55px;
  padding:52px 34px 40px;
  border-bottom:1px solid var(--linea);
  background:linear-gradient(90deg,rgba(255,255,255,.2),transparent),var(--papel);
}
.sobrelinea,.numero-seccion{
  display:inline-block;
  color:var(--rojo);
  font:700 9px/1 Arial,sans-serif;
  letter-spacing:2px;
  text-transform:uppercase;
}
.portada h1{
  margin:14px 0 0;
  font-size:clamp(58px,7vw,108px);
  line-height:.84;
  letter-spacing:-5px;
}
.efemerides-portada{
  align-self:end;
  min-width:0;
  padding:24px 25px;
  border-left:6px solid var(--azul);
  background:var(--papel-2);
}
.efemerides-cabecera{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:20px;
  padding-bottom:13px;
  border-bottom:1px solid var(--linea);
}
.efemerides-cabecera h2{margin:0;font-size:31px}
.efemerides-resumen{max-height:285px;overflow:auto;padding-right:7px}
.efemerides-resumen article{
  display:grid;
  grid-template-columns:92px 1fr;
  gap:15px;
  padding:14px 0;
  border-bottom:1px solid var(--linea);
}
.efemerides-resumen time{
  color:var(--rojo);
  font:700 10px/1.35 Arial,sans-serif;
  text-transform:uppercase;
}
.efemerides-resumen h3{margin:0 0 5px;font-size:16px;line-height:1.15}
.efemerides-resumen span{color:var(--gris);font:10px/1.3 Arial,sans-serif}
.sin-efemerides{margin:18px 0 0;color:var(--gris);font:13px/1.6 Arial,sans-serif}
.estructura{display:grid;grid-template-columns:330px minmax(0,1fr)}
.barra-lateral{border-right:1px solid var(--linea)}
.panel-filtros{position:sticky;top:0;padding:29px 24px}
.panel-filtros h2{margin:8px 0;font-size:25px}
.panel-filtros>p{margin:0 0 24px;color:var(--gris);font:12px/1.55 Arial,sans-serif}
.formulario-filtros{display:grid;gap:13px}
.acciones-busqueda{display:grid;grid-template-columns:1fr;gap:9px;margin-top:3px}
.boton-reset{
  background:#fff;color:var(--azul);border-color:var(--azul);
  letter-spacing:.35px
}
.boton-reset:hover{background:#eeeaf7}
.campo label{
  display:block;
  margin-bottom:6px;
  font:700 9px/1 Arial,sans-serif;
  letter-spacing:1.4px;
  text-transform:uppercase;
}
.campo input,.campo select{
  width:100%;height:46px;border:1px solid var(--linea);background:var(--blanco);
  color:var(--tinta);padding:0 12px;font:12px Arial,sans-serif;outline:none
}
.campo input:focus,.campo select:focus,.admin-input:focus{
  border-color:var(--azul);
  box-shadow:0 0 0 3px rgba(22,15,48,.10);
}
.boton{
  min-height:45px;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid transparent;padding:11px 16px;cursor:pointer;
  font:700 12px/1.2 Arial,sans-serif;transition:.2s ease
}
.boton:hover{transform:translateY(-1px)}
.boton-principal{background:var(--azul);color:#fff;border-color:var(--azul)}
.boton-principal:hover{background:var(--azul-oscuro)}
.boton-secundario{background:transparent;color:var(--azul);border-color:var(--azul)}
.boton-peligro{background:#9c3029;color:#fff;border-color:#9c3029}
.boton-tabla{min-height:34px;padding:7px 10px;font-size:10px}
.contador-lateral{margin-top:26px;padding-top:20px;border-top:1px solid var(--linea)}
.contador-lateral strong{display:block;color:var(--azul);font-size:46px;line-height:.9}
.contador-lateral span{
  display:block;margin-top:8px;color:var(--gris);font:700 9px/1 Arial,sans-serif;
  letter-spacing:1.3px;text-transform:uppercase
}
.contenido{padding:30px 34px 70px;min-width:0}
.bloque-estrenos+.bloque-estrenos{margin-top:52px}
.bloque-estrenos-actual{
  padding:24px 25px 3px;
  background:linear-gradient(135deg,rgba(22,15,48,.055),transparent 65%);
  border-top:5px solid var(--azul);
}
.cabecera-resultados{
  display:flex;justify-content:space-between;align-items:end;gap:25px;
  padding-bottom:15px;border-bottom:3px double var(--linea)
}
.cabecera-resultados h2{margin:7px 0 0;font-size:34px;line-height:1.08}
.cabecera-resultados p{margin:0;color:var(--gris);font:12px/1.4 Arial,sans-serif;text-align:right}
.cabecera-anual .sobrelinea{color:var(--azul);font-size:10px}
.obra{
  display:grid;grid-template-columns:150px minmax(0,1fr) 180px;gap:26px;
  align-items:start;padding:24px 0;border-bottom:1px solid var(--linea)
}
.marco-afiche{
  position:relative;width:150px;aspect-ratio:2/3;overflow:hidden;background:var(--azul)
}
.marco-afiche img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease,filter .35s ease}
.marco-afiche span{
  position:absolute;inset:auto 0 0;padding:12px 8px;background:rgba(22,15,48,.93);
  color:#fff;text-align:center;transform:translateY(100%);transition:.25s ease;
  font:700 9px/1 Arial,sans-serif;letter-spacing:.8px;text-transform:uppercase
}
.marco-afiche:hover img{transform:scale(1.035);filter:brightness(.8)}
.marco-afiche:hover span{transform:translateY(0)}
.categoria{color:var(--rojo);font:700 9px/1.2 Arial,sans-serif;text-transform:uppercase;letter-spacing:1.4px}
.obra-principal h3{margin:8px 0 10px;font-size:29px;line-height:1;letter-spacing:-.7px}
.obra-principal h3 a:hover{color:var(--azul)}
.obra-principal p{
  margin:0;max-width:760px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;
  overflow:hidden;color:#62665e;font:13px/1.58 Arial,sans-serif
}
.enlace-ficha{
  display:inline-block;margin-top:13px;color:var(--azul);font:700 11px/1 Arial,sans-serif;
  text-decoration:underline;text-underline-offset:3px
}
.obra-meta{margin:0;padding-left:19px;border-left:1px solid var(--linea);font-family:Arial,sans-serif}
.obra-meta div+div{margin-top:18px}
.obra-meta dt{margin:0 0 5px;color:var(--tinta);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px}
.obra-meta dd{margin:0;color:var(--gris);font-size:11px;line-height:1.45}
.aviso-mes-sin-estrenos{padding:25px 0;color:var(--gris);font:13px/1.6 Arial,sans-serif}
.paginacion{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:32px;font:700 11px Arial,sans-serif}
.paginacion a{color:var(--azul);border-bottom:1px solid var(--azul)}
.paginacion span{color:var(--gris)}
.estado-vacio,.detalle-inexistente{
  max-width:650px;margin:60px auto;text-align:center;padding:55px;border:1px solid var(--linea);background:var(--papel-2)
}
.estado-vacio-compacto{margin:25px 0;padding:28px;max-width:none}
.estado-vacio>span,.detalle-inexistente>span{color:var(--rojo);font:700 10px Arial,sans-serif;letter-spacing:2px}
.estado-vacio h3,.detalle-inexistente h1{font-size:35px;margin:12px 0}
.estado-vacio p{font:14px/1.6 Arial,sans-serif;color:var(--gris)}
.estado-vacio .boton,.detalle-inexistente .boton{margin-top:12px}
.pie{
  display:grid;grid-template-columns:.55fr 1fr;gap:40px;padding:28px 34px;
  border-top:1px solid var(--linea);color:var(--gris)
}
.pie strong{display:block;color:var(--tinta);font-size:15px}
.pie span,.pie p{margin:5px 0 0;font:11px/1.55 Arial,sans-serif}

/* FICHA */
.detalle{padding:34px}
.miga{display:flex;gap:9px;color:var(--gris);font:11px Arial,sans-serif;margin-bottom:25px}
.miga a{color:var(--azul);text-decoration:underline}
.ficha-completa{
  display:grid;grid-template-columns:minmax(260px,390px) minmax(0,1fr);gap:58px;
  align-items:start;max-width:1220px;margin:0 auto;padding:30px 0 65px
}
.detalle-afiche{background:var(--azul);box-shadow:0 22px 60px rgba(31,29,22,.19)}
.detalle-afiche img{width:100%;aspect-ratio:2/3;object-fit:cover}
.detalle-informacion{padding-top:22px}
.detalle-informacion h1{margin:13px 0 25px;max-width:850px;font-size:clamp(48px,6vw,90px);line-height:.88;letter-spacing:-3px}
.datos-ficha{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;border-top:1px solid var(--linea);border-bottom:1px solid var(--linea)}
.datos-ficha div{padding:17px 18px 17px 0}
.datos-ficha div:nth-child(even){padding-left:20px;border-left:1px solid var(--linea)}
.datos-ficha div:nth-child(n+3){border-top:1px solid var(--linea)}
.datos-ficha dt{color:var(--rojo);font:700 9px Arial,sans-serif;letter-spacing:1.3px;text-transform:uppercase}
.datos-ficha dd{margin:6px 0 0;font-size:16px}
.sinopsis-completa{padding:31px 0 17px}
.sinopsis-completa p{max-width:850px;margin:13px 0 0;color:#4f544c;font:17px/1.8 Arial,sans-serif}
.acciones-ficha{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}

/* ADMIN */
.admin-body{background:var(--crema);font-family:Arial,sans-serif;color:var(--tinta);margin:0}
.admin-shell{max-width:1320px;margin:0 auto;padding:24px 20px 70px}
.admin-top{
  display:flex;justify-content:space-between;align-items:center;gap:20px;
  padding:12px 0 20px;border-bottom:1px solid var(--linea)
}
.admin-brand-logo{display:flex;align-items:center;gap:13px}
.admin-brand-logo img{width:78px;height:78px;object-fit:contain}
.admin-brand-logo span{font:700 9px Arial,sans-serif;color:var(--rojo);letter-spacing:2px;max-width:150px;line-height:1.4}
.admin-nav{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.admin-version{
  display:inline-flex;align-items:center;min-height:27px;padding:5px 9px;
  background:var(--azul);color:#fff;border-radius:999px;
  font:700 9px/1 Arial,sans-serif;letter-spacing:1.1px
}
.admin-resumen-cambios{
  margin:15px 0 0;padding:16px 18px;border-left:5px solid var(--azul);
  background:#eeeaf7;color:#3f3850;font-size:13px;line-height:1.6
}
.admin-atajos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:20px}
.admin-atajo{
  display:block;padding:19px;border:1px solid var(--azul);background:#fff;
  transition:transform .2s ease,box-shadow .2s ease
}
.admin-atajo:hover{transform:translateY(-2px);box-shadow:0 12px 25px rgba(22,15,48,.10)}
.admin-atajo strong{display:block;color:var(--azul);font:700 17px/1.2 Georgia,serif}
.admin-atajo span{display:block;margin-top:7px;color:var(--gris);font-size:11px;line-height:1.45}
.boton-editar{background:var(--azul);color:#fff;border-color:var(--azul)}
.boton-editar:hover{background:var(--azul-oscuro)}
.admin-card{
  background:var(--papel);border:1px solid var(--linea);padding:28px;margin-top:24px;
  box-shadow:0 12px 30px rgba(42,36,27,.06)
}
.admin-card-mediana{max-width:820px}
.admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.admin-grid-cuatro{grid-template-columns:repeat(4,1fr)}
.admin-kpi{padding:22px;background:var(--papel-2);border:1px solid var(--linea)}
.admin-kpi strong{display:block;font:700 38px Georgia,serif;color:var(--azul)}
.admin-kpi span{font-size:11px;color:var(--gris);text-transform:uppercase;letter-spacing:1px}
.admin-title{margin:0 0 20px;font:700 34px Georgia,serif;line-height:1.08}
.admin-intro{max-width:800px;margin:-8px 0 24px;color:var(--gris);font-size:13px;line-height:1.6}
.admin-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:20px}
.admin-section-head .admin-title{margin-top:7px;margin-bottom:0}
.admin-section-head>p{margin:0;color:var(--gris);font-size:12px}
.admin-filter-form{display:grid;grid-template-columns:minmax(260px,1fr) 190px auto auto;gap:10px;margin-bottom:20px}
.admin-filter-corto{grid-template-columns:260px auto auto;max-width:650px}
.admin-table-wrap{overflow-x:auto}
.admin-table{width:100%;border-collapse:collapse;font-size:12px}
.admin-table th,.admin-table td{padding:11px 9px;border-bottom:1px solid var(--linea);text-align:left;vertical-align:middle}
.admin-table th{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--gris);white-space:nowrap}
.admin-table-obras td:nth-child(2){min-width:200px}
.admin-mini-afiche{width:45px;height:67px;object-fit:cover;background:var(--papel-2)}
.admin-muted{color:var(--gris);font-size:11px}
.estado{display:inline-block;padding:5px 7px;font-size:9px;text-transform:uppercase;letter-spacing:.8px}
.estado-publicada{background:#e9e5f3;color:#160f30}
.estado-borrador{background:#f3e9d2;color:#73551e}
.acciones-tabla{display:flex;align-items:center;gap:7px;white-space:nowrap}
.acciones-tabla form{margin:0}
.admin-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
.admin-field{display:flex;flex-direction:column;gap:7px;min-width:0}
.admin-field.full{grid-column:1/-1}
.admin-field label{font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase}
.admin-field small{color:var(--gris);font-size:11px;line-height:1.45}
.admin-input{
  width:100%;min-height:45px;border:1px solid var(--linea);background:#fff;padding:11px 12px;
  color:var(--tinta);font:13px Arial,sans-serif;outline:none
}
textarea.admin-input{min-height:180px;resize:vertical;line-height:1.55}
.admin-check{padding:12px;background:var(--papel-2);border:1px solid var(--linea)}
.admin-check label{text-transform:none;letter-spacing:0;font-size:12px}
.admin-actions{grid-column:1/-1;display:flex;gap:12px;flex-wrap:wrap;margin-top:5px}
.admin-afiche-edicion{display:grid;grid-template-columns:150px minmax(0,1fr);gap:22px;align-items:center;padding:18px;background:var(--papel-2)}
.admin-afiche-actual{width:130px;aspect-ratio:2/3;object-fit:cover;margin-top:8px;background:#fff}
.alerta{padding:13px 15px;margin:0 0 20px;border:1px solid;font-size:13px;line-height:1.45}
.admin-alerta-superior{margin:24px 0 -2px}
.alerta-ok{background:#eeeaf7;border-color:#b9afd0;color:#160f30}
.alerta-error{background:#fff0ee;border-color:#d9aaa4;color:#8a3029}
.login-wrap{min-height:100vh;display:grid;place-items:center;padding:25px}
.login-card{width:min(460px,100%);background:var(--papel);padding:38px;border:1px solid var(--linea);box-shadow:var(--sombra);text-align:center}
.login-logo{width:150px;height:150px;object-fit:contain;margin:0 auto 15px}
.login-card h1{font:700 42px/1 Georgia,serif;margin:10px 0}
.login-card p{color:var(--gris);font-size:13px;line-height:1.5}
.login-card form{display:grid;gap:15px;margin-top:25px;text-align:left}
.login-card form>.boton{text-align:center}
.nota-seguridad{font-size:11px;color:var(--gris);line-height:1.5;margin-top:18px}
.admin-paginacion{margin-bottom:4px}

@media(max-width:1100px){
  .portada{grid-template-columns:1fr .8fr;gap:32px}
  .estructura{grid-template-columns:285px minmax(0,1fr)}
  .obra{grid-template-columns:120px 1fr}
  .marco-afiche{width:120px}
  .obra-meta{grid-column:2;border-left:0;padding-left:0;display:grid;grid-template-columns:1fr 1fr}
  .obra-meta div+div{margin-top:0}
  .ficha-completa{grid-template-columns:300px 1fr;gap:35px}
  .admin-grid-cuatro{grid-template-columns:repeat(2,1fr)}
  .admin-atajos{grid-template-columns:1fr 1fr}
  .admin-top{align-items:flex-start;flex-direction:column}
  .admin-nav{justify-content:flex-start}
}
@media(max-width:820px){
  .encabezado{grid-template-columns:1fr auto;min-height:auto;padding:16px 20px}
  .edicion{display:none}
  .marca-logo{justify-content:flex-start}
  .marca-logo{width:125px;height:125px}
  .marca-logo img{max-width:125px;max-height:125px}
  .fecha-destacada{min-width:205px}
  .portada{grid-template-columns:1fr;padding:40px 20px 28px}
  .portada h1{font-size:62px;letter-spacing:-3px}
  .efemerides-portada{border-left-width:4px}
  .estructura{grid-template-columns:1fr}
  .barra-lateral{border-right:0;border-bottom:1px solid var(--linea)}
  .panel-filtros{position:relative}
  .formulario-filtros{grid-template-columns:repeat(2,minmax(0,1fr))}
  .formulario-filtros .boton{width:100%}
  .contenido{padding:25px 20px 55px}
  .cabecera-resultados{align-items:flex-start;flex-direction:column}
  .cabecera-resultados p{text-align:left}
  .ficha-completa{grid-template-columns:1fr;max-width:650px}
  .detalle-afiche{max-width:380px;margin:auto}
  .detalle-informacion h1{font-size:58px}
  .pie{grid-template-columns:1fr}
  .admin-grid{grid-template-columns:1fr 1fr}
  .admin-filter-form{grid-template-columns:1fr 1fr}
  .admin-section-head{align-items:flex-start;flex-direction:column}
}
@media(max-width:580px){
  .encabezado{grid-template-columns:1fr;justify-items:center;text-align:center}
  .marca-logo{justify-content:center}
  .marca-logo{width:110px;height:110px}
  .marca-logo img{max-width:110px;max-height:110px}
  .fecha-destacada{justify-self:center;width:100%;max-width:260px}
  .portada h1{font-size:49px}
  .efemerides-cabecera{align-items:flex-start;flex-direction:column;gap:7px}
  .efemerides-resumen article{grid-template-columns:1fr;gap:5px}
  .formulario-filtros{grid-template-columns:1fr}
  .bloque-estrenos-actual{padding:20px 15px 2px}
  .obra{grid-template-columns:92px 1fr;gap:15px}
  .marco-afiche{width:92px}
  .obra-principal h3{font-size:22px}
  .obra-principal p{display:none}
  .obra-meta{grid-column:2;grid-template-columns:1fr}
  .obra-meta div+div{margin-top:11px}
  .cabecera-resultados h2{font-size:28px}
  .detalle{padding:22px 18px}
  .detalle-informacion h1{font-size:47px;letter-spacing:-2px}
  .datos-ficha{grid-template-columns:1fr}
  .datos-ficha div:nth-child(even){padding-left:0;border-left:0}
  .datos-ficha div:nth-child(n+2){border-top:1px solid var(--linea)}
  .sinopsis-completa p{font-size:15px}
  .acciones-ficha .boton{width:100%}
  .admin-form{grid-template-columns:1fr}
  .admin-field.full,.admin-actions{grid-column:1}
  .admin-card{padding:20px}
  .admin-grid,.admin-grid-cuatro,.admin-atajos{grid-template-columns:1fr}
  .admin-filter-form,.admin-filter-corto{grid-template-columns:1fr}
  .admin-afiche-edicion{grid-template-columns:1fr}
  .acciones-tabla{align-items:stretch;flex-direction:column}
}

/* ===== VERSIÓN 4.0: REDES, BANNER, EFEMÉRIDES, TRÁILER Y CACHÉ ===== */
.solo-lectores{
  position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;
  overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important
}
.encabezado{grid-template-rows:auto 1fr;min-height:220px;padding-top:0}
.redes-superiores{
  grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:15px;
  width:calc(100% + 68px);margin:0 -34px;padding:9px 34px;
  border-bottom:1px solid var(--linea);background:var(--papel-2);font-family:Arial,sans-serif
}
.redes-etiqueta{color:var(--gris);font-size:9px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase}
.redes-iconos{display:flex;align-items:center;gap:7px}
.redes-iconos a{
  width:31px;height:31px;display:grid;place-items:center;border:1px solid var(--linea);
  background:var(--blanco);color:var(--azul);transition:.2s ease
}
.redes-iconos a:hover,.redes-iconos a:focus-visible{background:var(--azul);color:#fff;border-color:var(--azul);transform:translateY(-1px)}
.redes-iconos svg{width:17px;height:17px;display:block}

.portada{align-items:center}
.portada-titular{min-width:0}
.banner-portada{
  justify-self:end;width:min(100%,340px);aspect-ratio:1;display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;padding:28px;
  border:1px solid var(--azul);background:
    linear-gradient(135deg,rgba(22,15,48,.07) 25%,transparent 25%) 0 0/28px 28px,
    linear-gradient(315deg,rgba(22,15,48,.07) 25%,transparent 25%) 0 0/28px 28px,
    var(--papel-2);color:var(--azul)
}
.banner-portada span{font:700 9px/1 Arial,sans-serif;letter-spacing:2px;text-transform:uppercase;color:var(--rojo)}
.banner-portada strong{margin:17px 0 13px;font-size:clamp(38px,4.5vw,64px);line-height:.84;letter-spacing:-2px;text-transform:uppercase}
.banner-portada small{font:10px/1.4 Arial,sans-serif;letter-spacing:1px;text-transform:uppercase;color:var(--gris)}

.franja-efemerides{
  display:grid;grid-template-columns:240px minmax(0,1fr);align-items:stretch;
  border-bottom:1px solid var(--linea);background:var(--azul);color:#fff;overflow:hidden
}
.franja-efemerides-titulo{
  position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;
  padding:18px 24px;border-right:1px solid rgba(255,255,255,.18);background:var(--azul)
}
.franja-efemerides-titulo .numero-seccion{color:#d9d2ed;line-height:1.4}
.franja-efemerides-titulo h2{margin:6px 0 0;font-size:26px;line-height:1}
.ticker-ventana{min-width:0;overflow:hidden;padding:13px 0}
.ticker-pista{display:flex;width:max-content;animation:ticker-horizontal var(--ticker-duration,40s) linear infinite;will-change:transform}
.ticker-ventana:hover .ticker-pista,.ticker-ventana:focus-within .ticker-pista{animation-play-state:paused}
.ticker-grupo{display:flex;align-items:stretch;gap:12px;padding-right:12px}
.sticker-efemeride{
  flex:0 0 clamp(255px,28vw,420px);min-height:74px;display:grid;grid-template-columns:auto 1fr;
  grid-template-rows:auto auto;align-content:center;column-gap:12px;padding:12px 15px;
  border:1px solid rgba(255,255,255,.28);background:#fff;color:var(--tinta);box-shadow:0 8px 22px rgba(0,0,0,.13)
}
.sticker-efemeride time{
  grid-row:1/-1;align-self:center;max-width:86px;color:var(--rojo);
  font:700 9px/1.35 Arial,sans-serif;letter-spacing:.7px;text-transform:uppercase
}
.sticker-efemeride strong{align-self:end;font-size:15px;line-height:1.12}
.sticker-efemeride span{align-self:start;margin-top:4px;color:var(--gris);font:9px/1.2 Arial,sans-serif;text-transform:uppercase;letter-spacing:.8px}
.ticker-sin-contenido{display:flex;align-items:center;padding:20px 25px;color:#e4dff1;font:13px/1.5 Arial,sans-serif}
@keyframes ticker-horizontal{from{transform:translateX(0)}to{transform:translateX(-50%)}}

.trailer-pelicula{margin:22px 0 8px;padding-top:28px;border-top:1px solid var(--linea)}
.trailer-cabecera{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:14px}
.trailer-cabecera h2{margin:0;font-size:27px;line-height:1.1}
.trailer-responsive{position:relative;width:100%;aspect-ratio:16/9;background:var(--azul);overflow:hidden;box-shadow:0 18px 45px rgba(22,15,48,.14)}
.trailer-responsive iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

.boton-cache{background:#eeeaf7;color:var(--azul);border-color:#b9afd0}
.boton-cache:hover{background:var(--azul);color:#fff;border-color:var(--azul)}
.admin-atajos{grid-template-columns:repeat(4,minmax(0,1fr))}

@media(max-width:1100px){
  .admin-atajos{grid-template-columns:repeat(2,minmax(0,1fr))}
  .banner-portada{width:min(100%,300px)}
}
@media(max-width:820px){
  .encabezado{grid-template-rows:auto auto auto}
  .redes-superiores{grid-column:1/-1;width:calc(100% + 40px);margin:0 -20px;padding:9px 20px;justify-content:center}
  .portada{grid-template-columns:1fr}
  .banner-portada{justify-self:center;width:min(100%,320px)}
  .franja-efemerides{grid-template-columns:1fr}
  .franja-efemerides-titulo{flex-direction:row;align-items:baseline;justify-content:space-between;gap:15px;border-right:0;border-bottom:1px solid rgba(255,255,255,.18);padding:14px 20px}
  .franja-efemerides-titulo h2{margin:0}
}
@media(max-width:580px){
  .redes-superiores{flex-direction:column;gap:7px}
  .redes-iconos{gap:5px}
  .redes-iconos a{width:30px;height:30px}
  .banner-portada{width:min(100%,270px)}
  .franja-efemerides-titulo{align-items:flex-start;flex-direction:column;gap:4px}
  .sticker-efemeride{flex-basis:280px}
  .trailer-cabecera{align-items:flex-start;flex-direction:column;gap:6px}
  .admin-atajos{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  .ticker-pista{animation:none;transform:none}
  .ticker-ventana{overflow-x:auto}
}

/* ===== VERSIÓN 5.0: REFRESH PÚBLICO Y CUMPLEAÑOS ===== */
.boton-actualizar-publico{
  background:var(--azul);color:#fff;border-color:var(--azul);
  letter-spacing:.35px
}
.boton-actualizar-publico:hover{background:var(--azul-oscuro)}
.sticker-cumpleanos{border-top:5px solid var(--rojo)}
.sticker-cumpleanos time{color:var(--azul)}
.estado-publicado{background:#e9e5f3;color:#160f30}
.admin-grid-cinco{grid-template-columns:repeat(5,minmax(0,1fr))}
.admin-nav .boton{min-height:38px;padding:8px 11px;font-size:10px}

@media(max-width:1200px){
  .admin-grid-cinco{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:820px){
  .admin-grid-cinco{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:580px){
  .admin-grid-cinco{grid-template-columns:1fr}
}

/* ===== VERSIÓN 6.0: CATÁLOGOS NORMALIZADOS Y BANNER EN IMAGEN ===== */
.portada-subtitulo{
  margin:20px 0 0;color:var(--azul);font:700 13px/1.4 Arial,sans-serif;
  letter-spacing:1.1px;text-transform:uppercase
}
.banner-portada-imagen{padding:0;overflow:hidden;background:var(--papel-2)}
.banner-portada-imagen img{width:100%;height:100%;object-fit:cover}
.banner-portada-imagen.banner-sin-imagen::before{
  content:"TU BANNER AQUÍ";display:grid;place-items:center;width:100%;height:100%;
  color:var(--azul);font:700 22px/1.2 Arial,sans-serif;letter-spacing:1px;text-align:center
}
.franja-efemerides-titulo small{
  margin-top:7px;color:#d9d2ed;font:9px/1.3 Arial,sans-serif;letter-spacing:.7px;text-transform:uppercase
}
.sticker-efemeride{border-top:5px solid #c3b8df}
.sticker-cumpleanos{border-top-color:var(--rojo)}
.alerta-esquema{margin:14px 0;padding:12px;border-left:4px solid var(--rojo);background:#f5e8e3;color:#6b302a;font:11px/1.5 Arial,sans-serif}
.admin-multiselect{min-height:210px;padding:6px}
.admin-multiselect option{padding:7px 8px}
.admin-input-inline{min-width:220px;min-height:34px;padding:7px 9px}
.admin-grid-siete{grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}
.admin-grid-siete .admin-kpi{padding:16px}
.admin-grid-siete .admin-kpi strong{font-size:30px}
.boton:disabled,button:disabled{opacity:.45;cursor:not-allowed}
.datos-ficha .dato-ficha-ancho{grid-column:1/-1;border-left:0!important;padding-left:0!important}

@media(max-width:1250px){.admin-grid-siete{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:820px){.admin-grid-siete{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:580px){.admin-grid-siete{grid-template-columns:1fr}.portada-subtitulo{font-size:11px}}

/* ===== VERSIÓN 7.0: OBITUARIOS, LEYENDA DE EFEMÉRIDES Y FILTRO POR AÑO ===== */
.encabezado{grid-template-columns:auto minmax(220px,1fr)}
.marca-logo{grid-column:1}
.fecha-destacada{grid-column:2}

.contador-eventos{display:flex!important;flex-wrap:wrap;gap:8px 12px;align-items:center}
.contador-eventos span{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.muestra-color{width:9px;height:9px;display:inline-block;border:1px solid rgba(255,255,255,.4)}
.muestra-efemeride{background:#c3b8df}
.muestra-cumpleanos{background:var(--rojo)}
.sticker-efemeride time{
  display:grid;place-items:center;min-width:78px;min-height:48px;padding:7px 8px;
  background:#ece8f6;color:#493678;border:1px solid #c3b8df;font-size:10px
}
.sticker-cumpleanos time{background:#f7e3df;color:#8f2f28;border-color:#d97b72}

.franja-obituarios{
  padding:26px 34px 32px;background:#080808;color:#fff;border-bottom:1px solid #282828
}
.obituarios-cabecera{
  display:flex;align-items:end;justify-content:space-between;gap:25px;padding-bottom:17px;
  border-bottom:1px solid #343434
}
.obituarios-cabecera .numero-seccion{color:#bcbcbc}
.obituarios-cabecera h2{margin:7px 0 0;color:#fff;font-size:clamp(25px,3vw,42px);line-height:1;letter-spacing:-1px}
.obituarios-cabecera p{margin:0;color:#aaa;font:10px/1.4 Arial,sans-serif;letter-spacing:1.3px;text-transform:uppercase;white-space:nowrap}
.obituarios-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:20px}
.tarjeta-obituario{
  min-width:0;display:flex;flex-direction:column;min-height:218px;padding:19px;
  border:1px solid #333;background:#111;color:#fff;transition:.2s ease
}
.tarjeta-obituario-enlace:hover,.tarjeta-obituario-enlace:focus-visible{
  border-color:#8d83aa;background:#17131f;transform:translateY(-2px);outline:none
}
.obituario-marca{color:#aaa;font:700 8px/1 Arial,sans-serif;letter-spacing:1.8px;text-transform:uppercase}
.tarjeta-obituario strong{margin:13px 0 6px;font-size:22px;line-height:1.02}
.tarjeta-obituario em{color:#c9c9c9;font:normal 11px/1.35 Arial,sans-serif}
.tarjeta-obituario dl{display:grid;gap:9px;margin:auto 0 0;padding-top:17px;border-top:1px solid #2d2d2d}
.tarjeta-obituario dl div{display:grid;grid-template-columns:72px 1fr;gap:8px}
.tarjeta-obituario dt{color:#8f8f8f;font:700 8px/1.3 Arial,sans-serif;letter-spacing:.8px;text-transform:uppercase}
.tarjeta-obituario dd{margin:0;color:#eee;font:10px/1.35 Arial,sans-serif}
.obituario-noticia{margin-top:14px;color:#d9d2ed;font:700 9px/1 Arial,sans-serif;letter-spacing:.7px;text-transform:uppercase}
.obituarios-vacio{padding:22px 0 2px;color:#aaa;font:13px/1.5 Arial,sans-serif}

.admin-grid-ocho{grid-template-columns:repeat(8,minmax(0,1fr));gap:10px}
.admin-grid-ocho .admin-kpi{padding:15px 10px}
.admin-grid-ocho .admin-kpi strong{font-size:28px}
.admin-table-obituarios td{vertical-align:top}
.enlace-admin{color:var(--azul);text-decoration:underline;text-underline-offset:2px}

@media(max-width:1250px){
  .obituarios-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .admin-grid-ocho{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:900px){
  .obituarios-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:820px){
  .encabezado{grid-template-columns:1fr;justify-items:center}
  .marca-logo,.fecha-destacada{grid-column:1}
  .fecha-destacada{justify-self:center}
  .obituarios-cabecera{align-items:flex-start;flex-direction:column;gap:9px}
  .admin-grid-ocho{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:580px){
  .franja-obituarios{padding:23px 20px 27px}
  .obituarios-grid{grid-template-columns:1fr}
  .tarjeta-obituario{min-height:195px}
  .admin-grid-ocho{grid-template-columns:1fr}
}
.admin-filter-obras{grid-template-columns:minmax(240px,1fr) 170px 150px auto auto}
@media(max-width:1050px){.admin-filter-obras{grid-template-columns:1fr 1fr 1fr}.admin-filter-obras .boton{width:100%}}
@media(max-width:700px){.admin-filter-obras{grid-template-columns:1fr}}

/* ===== VERSIÓN 8.0: SEO, URLS LIMPIAS Y ANALYTICS ===== */
.enlace-meta,.datos-ficha a{color:var(--azul);text-decoration:underline;text-underline-offset:3px}
.enlace-meta:hover,.datos-ficha a:hover{color:var(--rojo)}

.trailer-cabecera small{color:var(--gris);font:10px/1.4 Arial,sans-serif}
.trailer-pendiente{display:grid;place-items:center}
.trailer-pendiente>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.55)}
.boton-reproducir{
  position:relative;z-index:2;display:inline-flex;align-items:center;gap:10px;min-height:52px;
  padding:13px 20px;border:1px solid rgba(255,255,255,.55);background:rgba(22,15,48,.92);
  color:#fff;cursor:pointer;font:700 12px/1 Arial,sans-serif;letter-spacing:.5px
}
.boton-reproducir:hover{background:#fff;color:var(--azul)}
.boton-reproducir span{font-size:18px}

.relacionadas{max-width:1220px;margin:0 auto;padding:45px 0 25px;border-top:1px solid var(--linea)}
.relacionadas-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:22px}
.relacionada-card a{display:block}
.relacionada-card img{width:100%;aspect-ratio:2/3;object-fit:cover;background:var(--azul)}
.relacionada-card strong{display:block;margin-top:10px;font-size:17px;line-height:1.1}
.relacionada-card a:hover strong{color:var(--azul)}
.enlace-ver-todas{color:var(--azul);font:700 11px/1 Arial,sans-serif;text-decoration:underline;text-underline-offset:3px}

.archivo-seo{padding:34px 34px 70px}
.archivo-hero{max-width:1040px;padding:38px 0 34px;border-bottom:4px solid var(--azul)}
.archivo-hero h1{margin:12px 0 16px;font-size:clamp(46px,6vw,88px);line-height:.92;letter-spacing:-3px}
.archivo-hero p{max-width:820px;margin:0;color:var(--gris);font:16px/1.7 Arial,sans-serif}
.archivo-conteo{display:inline-block;margin-top:19px;padding:9px 12px;background:var(--azul);color:#fff;font:700 10px/1 Arial,sans-serif;letter-spacing:1px;text-transform:uppercase}
.archivo-listado{max-width:1180px}
.archivo-otros-enlaces{display:flex;flex-wrap:wrap;gap:10px;margin-top:40px;padding-top:25px;border-top:1px solid var(--linea)}
.archivo-otros-enlaces a{padding:10px 13px;border:1px solid var(--azul);color:var(--azul);font:700 11px/1 Arial,sans-serif}
.archivo-otros-enlaces a:hover{background:var(--azul);color:#fff}

.explorar-seo{padding:48px 34px 56px;border-top:1px solid var(--linea);background:var(--papel-2)}
.explorar-seo-cabecera{max-width:820px}
.explorar-seo-cabecera h2{margin:9px 0 12px;font-size:42px;line-height:1}
.explorar-seo-cabecera p{margin:0;color:var(--gris);font:14px/1.65 Arial,sans-serif}
.explorar-seo-columnas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:30px}
.explorar-seo-columnas h3{margin:0 0 13px;font-size:20px}
.nube-enlaces{display:flex;flex-wrap:wrap;gap:8px}
.nube-enlaces a{padding:8px 10px;border:1px solid var(--linea);background:var(--blanco);font:700 10px/1.2 Arial,sans-serif}
.nube-enlaces a:hover{border-color:var(--azul);background:var(--azul);color:#fff}

.admin-url-seo{margin:10px 0 18px;padding:13px 15px;border-left:4px solid var(--azul);background:#eeeaf7;color:#3f3850;font:12px/1.55 Arial,sans-serif;word-break:break-all}
.admin-url-seo code{font-size:11px}
.admin-seo-resumen{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}
.admin-seo-resumen div{padding:16px;border:1px solid var(--linea);background:var(--papel-2)}
.admin-seo-resumen strong{display:block;color:var(--azul);font:700 30px/1 Georgia,serif}
.admin-seo-resumen span{display:block;margin-top:6px;color:var(--gris);font:10px/1.4 Arial,sans-serif;text-transform:uppercase;letter-spacing:.8px}

@media(max-width:980px){
  .relacionadas-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .explorar-seo-columnas{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  .archivo-seo{padding:25px 20px 50px}
  .archivo-hero h1{font-size:48px;letter-spacing:-2px}
  .explorar-seo{padding:38px 20px 45px}
  .explorar-seo-columnas{grid-template-columns:1fr}
  .relacionadas-grid{grid-template-columns:1fr 1fr;gap:12px}
  .relacionada-card strong{font-size:14px}
  .admin-seo-resumen{grid-template-columns:1fr}
}

/* ===== VERSIÓN 8.3: ENLACES Y PÁGINAS SEO DE DIRECTORES ===== */
.enlace-director{font-weight:700}
.enlace-director::after{content:" ↗";font-size:.72em;text-decoration:none;display:inline-block;margin-left:1px}
.archivo-director-ayuda{margin-top:14px!important;padding-left:14px;border-left:3px solid var(--azul);font-size:12px!important;line-height:1.55!important}
.obra-meta .enlace-director{display:inline;text-decoration-thickness:1px}


/* ===== VERSIÓN 9.0: REDISEÑO INSTITUCIONAL AZUL + DORADO ===== */
:root{
  --crema:#eaf0f6;
  --papel:#ffffff;
  --papel-2:#f5f7fa;
  --azul:#0b3b70;
  --azul-oscuro:#062a51;
  --azul-medio:#145493;
  --azul-claro:#e7f0fa;
  --dorado:#f6b44a;
  --dorado-oscuro:#d98d19;
  --tinta:#142033;
  --gris:#657185;
  --rojo:#f6a33c;
  --linea:#dce3ec;
  --blanco:#ffffff;
  --sombra:0 18px 48px rgba(18,46,82,.10);
  --sombra-suave:0 8px 24px rgba(18,46,82,.08);
  --radio:16px;
}

body.pagina-publica{
  background:#eaf0f6;
  color:var(--tinta);
  font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif;
}
.pagina-publica h1,.pagina-publica h2,.pagina-publica h3,
.pagina-publica strong{font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif}
.pagina-publica .sitio{
  width:min(1540px,100%);
  border:0;
  background:#fff;
  box-shadow:0 0 0 1px rgba(11,59,112,.06),0 28px 80px rgba(9,38,72,.10);
}

/* Cabecera */
.pagina-publica .encabezado-v9{
  display:grid;
  grid-template-columns:170px minmax(0,1fr) auto;
  grid-template-rows:1fr;
  align-items:center;
  gap:30px;
  min-height:106px;
  padding:15px 34px;
  background:#fff;
  border-bottom:1px solid var(--linea);
}
.pagina-publica .encabezado-v9 .marca-logo{
  grid-column:auto;
  width:150px;
  height:76px;
  justify-content:flex-start;
}
.pagina-publica .encabezado-v9 .marca-logo img{
  width:auto;
  height:auto;
  max-width:150px;
  max-height:76px;
}
.pagina-publica .encabezado-centro{display:grid;gap:11px;min-width:0}
.pagina-publica .nav-principal{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px 22px;
  font-size:13px;
  font-weight:700;
}
.pagina-publica .nav-principal a{
  position:relative;
  color:#2f3b50;
  padding:5px 0;
}
.pagina-publica .nav-principal a::after{
  content:"";
  position:absolute;
  left:0;
  right:100%;
  bottom:0;
  height:2px;
  background:var(--dorado);
  transition:right .2s ease;
}
.pagina-publica .nav-principal a:hover::after,
.pagina-publica .nav-principal a:focus-visible::after{right:0}
.pagina-publica .redes-superiores{
  grid-column:auto;
  width:auto;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  display:flex;
  justify-content:flex-start;
  gap:10px;
}
.pagina-publica .redes-etiqueta{
  color:var(--gris);
  font-size:9px;
  letter-spacing:1.5px;
}
.pagina-publica .redes-iconos{gap:6px}
.pagina-publica .redes-iconos a{
  width:28px;
  height:28px;
  border-color:#dbe3ed;
  border-radius:8px;
  background:#f7f9fc;
  color:var(--azul);
}
.pagina-publica .redes-iconos a:hover,
.pagina-publica .redes-iconos a:focus-visible{
  background:var(--azul);
  border-color:var(--azul);
  color:#fff;
}
.pagina-publica .fecha-destacada{
  grid-column:auto;
  justify-self:end;
  min-width:205px;
  border-radius:14px;
  background:linear-gradient(135deg,var(--azul),var(--azul-oscuro));
  box-shadow:0 12px 32px rgba(11,59,112,.22);
}
.pagina-publica .fecha-etiqueta,
.pagina-publica .fecha-texto span{color:#c8d8ec}

/* Hero principal */
.pagina-publica .portada-v9{
  position:relative;
  isolation:isolate;
  display:grid;
  grid-template-columns:minmax(0,1fr) 250px;
  align-items:end;
  gap:45px;
  padding:66px 7.5% 64px;
  overflow:hidden;
  border:0;
  background:
    radial-gradient(circle at 88% 22%,rgba(246,180,74,.16),transparent 18%),
    linear-gradient(135deg,#0b3b70 0%,#072f5d 58%,#06284e 100%);
  color:#fff;
}
.pagina-publica .portada-v9::after{
  content:"";
  position:absolute;
  inset:0 0 0 auto;
  z-index:-1;
  width:28%;
  opacity:.28;
  background-image:radial-gradient(circle,rgba(255,255,255,.42) 1.5px,transparent 1.7px);
  background-size:26px 26px;
}
.pagina-publica .portada-v9 .sobrelinea{
  color:#c8dcf2;
  font-size:10px;
  letter-spacing:2.4px;
}
.pagina-publica .portada-v9 h1{
  max-width:950px;
  margin:14px 0 18px;
  font-size:clamp(42px,5.5vw,82px);
  line-height:.98;
  letter-spacing:-3.2px;
  text-wrap:balance;
}
.pagina-publica .portada-v9 h1 em{
  display:block;
  color:var(--dorado);
  font-style:normal;
}
.pagina-publica .portada-subtitulo{
  max-width:780px;
  margin:0;
  color:#d7e3f0;
  font-size:16px;
  font-weight:400;
  line-height:1.65;
  letter-spacing:0;
  text-transform:none;
}
.pagina-publica .portada-acciones{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:28px;
}
.pagina-publica .boton-acento{
  background:var(--dorado);
  border-color:var(--dorado);
  color:#0a3565;
  border-radius:8px;
}
.pagina-publica .boton-acento:hover{background:#ffc260;border-color:#ffc260}
.pagina-publica .boton-hero-secundario{
  border-color:rgba(255,255,255,.55);
  background:transparent;
  color:#fff;
  border-radius:8px;
}
.pagina-publica .boton-hero-secundario:hover{background:#fff;color:var(--azul)}
.pagina-publica .portada-dato{
  align-self:end;
  display:grid;
  gap:6px;
  padding:22px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:16px;
  background:rgba(255,255,255,.08);
  backdrop-filter:blur(8px);
}
.pagina-publica .portada-dato span{
  color:#c9d9eb;
  font-size:9px;
  font-weight:800;
  letter-spacing:1.5px;
}
.pagina-publica .portada-dato strong{
  color:var(--dorado);
  font-size:52px;
  line-height:.95;
}
.pagina-publica .portada-dato small{color:#fff;font-size:12px;line-height:1.4}

/* Banners reemplazables */
.pagina-publica .banner-superior{
  padding:24px 34px 0;
  background:#fff;
}
.pagina-publica .banner-superior img{
  width:100%;
  aspect-ratio:1400/360;
  object-fit:cover;
  border-radius:18px;
  box-shadow:var(--sombra-suave);
}
.pagina-publica .banner-superior.banner-sin-imagen,
.pagina-publica .banner-inferior-global.banner-sin-imagen{
  display:grid;
  place-items:center;
  min-height:150px;
  border:2px dashed #a9b9cb;
  border-radius:16px;
  background:#f1f5f9;
  color:var(--azul);
  font-size:18px;
  font-weight:800;
}
.pagina-publica .banner-superior.banner-sin-imagen::before{content:"TU BANNER SUPERIOR AQUÍ"}
.pagina-publica .banner-inferior-global{
  display:flex;
  justify-content:center;
  padding:36px 34px 44px;
  background:#f5f7fa;
}
.pagina-publica .banner-inferior-global img{
  width:min(900px,100%);
  aspect-ratio:9/1;
  object-fit:cover;
  border-radius:12px;
  box-shadow:var(--sombra-suave);
}
.pagina-publica .banner-inferior-global.banner-sin-imagen::before{content:"TU BANNER 900 × 100 AQUÍ"}

/* Accesos rápidos */
.pagina-publica .accesos-rapidos{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  padding:24px 34px 34px;
  background:#fff;
}
.pagina-publica .acceso-card{
  min-width:0;
  display:flex;
  align-items:center;
  gap:15px;
  min-height:112px;
  padding:19px;
  border:1px solid #e2e8f0;
  border-radius:14px;
  background:#fff;
  box-shadow:0 8px 22px rgba(19,52,88,.07);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.pagina-publica .acceso-card:hover,
.pagina-publica .acceso-card:focus-visible{
  transform:translateY(-3px);
  border-color:#b8c9dc;
  box-shadow:0 14px 34px rgba(19,52,88,.12);
  outline:none;
}
.pagina-publica .acceso-icono{
  flex:0 0 46px;
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:var(--azul);
  color:#fff;
  font-size:25px;
  line-height:1;
}
.pagina-publica .acceso-buscar .acceso-icono{background:var(--dorado);color:var(--azul)}
.pagina-publica .acceso-online .acceso-icono{background:var(--dorado);color:var(--azul)}
.pagina-publica .acceso-sin-accion{
  cursor:default;
  user-select:none;
}
.pagina-publica .acceso-sin-accion:hover{
  transform:none;
  border-color:#e2e8f0;
  box-shadow:0 8px 22px rgba(19,52,88,.07);
}
.pagina-publica .acceso-sin-accion small{
  color:var(--azul);
  font-weight:800;
  letter-spacing:.7px;
  text-transform:uppercase;
}
.pagina-publica .acceso-card div{min-width:0}
.pagina-publica .acceso-card strong{display:block;font-size:16px;line-height:1.2}
.pagina-publica .acceso-card small{display:block;margin-top:6px;color:var(--gris);font-size:11px;line-height:1.4}

/* Efemérides */
.pagina-publica .franja-efemerides{
  display:grid;
  grid-template-columns:260px minmax(0,1fr);
  margin:0;
  border:0;
  border-top:1px solid var(--linea);
  border-bottom:1px solid var(--linea);
  background:#f5f7fa;
  color:var(--tinta);
}
.pagina-publica .franja-efemerides-titulo{
  padding:24px 26px;
  border-right:1px solid var(--linea);
  background:#fff;
}
.pagina-publica .franja-efemerides-titulo .numero-seccion{color:var(--azul);font-size:9px}
.pagina-publica .franja-efemerides-titulo h2{color:var(--tinta);font-size:30px}
.pagina-publica .franja-efemerides-titulo small{color:var(--gris)}
.pagina-publica .contador-eventos{margin-top:10px!important}
.pagina-publica .contador-eventos span{
  padding:5px 7px;
  border-radius:999px;
  background:#f3f6fa;
  color:#4d5b70;
  font-size:9px;
  font-weight:800;
  letter-spacing:.3px;
}
.pagina-publica .muestra-color{width:10px;height:10px;border:0;border-radius:3px}
.pagina-publica .muestra-efemeride{background:#2d6fc1}
.pagina-publica .muestra-cumpleanos{background:var(--dorado)}
.pagina-publica .ticker-ventana{padding:18px 0}
.pagina-publica .ticker-grupo{gap:14px;padding-right:14px}
.pagina-publica .sticker-efemeride{
  flex-basis:clamp(280px,29vw,430px);
  min-height:92px;
  padding:13px 16px;
  border:1px solid #dfe6ee;
  border-top:4px solid #2d6fc1;
  border-radius:13px;
  background:#fff;
  box-shadow:0 8px 20px rgba(21,52,88,.08);
}
.pagina-publica .sticker-cumpleanos{border-top-color:var(--dorado)}
.pagina-publica .sticker-efemeride time{
  min-width:88px;
  min-height:56px;
  border:0;
  border-radius:10px;
  background:#e8f1fb;
  color:#19599f;
  font-size:10px;
}
.pagina-publica .sticker-cumpleanos time{background:#fff0d5;color:#9a5c00}
.pagina-publica .sticker-efemeride strong{font-size:15px}
.pagina-publica .sticker-efemeride span{color:var(--gris);font-size:9px}
.pagina-publica .ticker-sin-contenido{color:var(--gris)}

/* Obituarios */
.pagina-publica .franja-obituarios{
  padding:32px 34px 38px;
  background:#07090d;
}
.pagina-publica .obituarios-cabecera{max-width:1320px;margin:0 auto}
.pagina-publica .obituarios-cabecera .numero-seccion{color:#9ea7b2}
.pagina-publica .obituarios-cabecera h2{font-size:clamp(26px,3.4vw,46px)}
.pagina-publica .obituarios-grid{
  max-width:1320px;
  margin:22px auto 0;
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.pagina-publica .tarjeta-obituario{
  min-height:224px;
  border:1px solid #262b33;
  border-radius:12px;
  background:#11151b;
}
.pagina-publica .tarjeta-obituario-enlace:hover,
.pagina-publica .tarjeta-obituario-enlace:focus-visible{
  border-color:var(--dorado);
  background:#171c24;
}
.pagina-publica .obituario-noticia{color:var(--dorado)}

/* Catálogo y filtros */
.pagina-publica .estructura{
  grid-template-columns:340px minmax(0,1fr);
  gap:26px;
  padding:34px;
  background:#f4f7fa;
  scroll-margin-top:20px;
}
.pagina-publica .barra-lateral{border:0}
.pagina-publica .panel-filtros{
  top:18px;
  padding:24px;
  border:1px solid var(--linea);
  border-radius:16px;
  background:#fff;
  box-shadow:var(--sombra-suave);
}
.pagina-publica .panel-filtros h2{font-size:26px;color:var(--azul)}
.pagina-publica .panel-filtros>p{font-size:12px}
.pagina-publica .campo label{color:#425168;font-size:9px}
.pagina-publica .campo input,
.pagina-publica .campo select{
  height:48px;
  border-color:#dce3ec;
  border-radius:8px;
  background:#fff;
  font-size:12px;
}
.pagina-publica .boton{border-radius:8px}
.pagina-publica .boton-principal,
.pagina-publica .boton-actualizar-publico{background:var(--azul);border-color:var(--azul)}
.pagina-publica .boton-principal:hover,
.pagina-publica .boton-actualizar-publico:hover{background:var(--azul-oscuro)}
.pagina-publica .boton-reset{border-color:#b8c6d7;background:#f7f9fc}
.pagina-publica .contador-lateral strong{color:var(--azul)}
.pagina-publica .contenido{
  padding:0;
  min-width:0;
}
.pagina-publica .bloque-estrenos{
  padding:24px;
  border:1px solid var(--linea);
  border-radius:16px;
  background:#fff;
  box-shadow:var(--sombra-suave);
}
.pagina-publica .bloque-estrenos+.bloque-estrenos{margin-top:26px}
.pagina-publica .bloque-estrenos-actual{
  border-top:5px solid var(--azul);
  background:#fff;
}
.pagina-publica .cabecera-resultados{
  padding-bottom:18px;
  border-bottom:1px solid var(--linea);
}
.pagina-publica .cabecera-resultados h2{font-size:31px;color:var(--azul);letter-spacing:-.8px}
.pagina-publica .sobrelinea,
.pagina-publica .numero-seccion{color:var(--dorado-oscuro)}
.pagina-publica .listado-obras{display:grid;gap:17px;margin-top:20px}
.pagina-publica .obra{
  grid-template-columns:142px minmax(0,1fr) 185px;
  gap:24px;
  padding:18px;
  border:1px solid #e0e7ef;
  border-radius:14px;
  background:#fff;
  box-shadow:0 7px 20px rgba(19,52,88,.055);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.pagina-publica .obra:hover{
  transform:translateY(-2px);
  border-color:#c7d4e2;
  box-shadow:0 13px 30px rgba(19,52,88,.10);
}
.pagina-publica .marco-afiche{
  width:142px;
  border-radius:10px;
  box-shadow:0 8px 20px rgba(13,42,74,.16);
}
.pagina-publica .obra-principal h3{font-size:27px;color:#18263b}
.pagina-publica .obra-principal p{color:#627086}
.pagina-publica .categoria{color:#b36e08}
.pagina-publica .enlace-ficha,
.pagina-publica .enlace-meta,
.pagina-publica .datos-ficha a{color:var(--azul)}
.pagina-publica .obra-meta{border-left-color:#e1e7ef}
.pagina-publica .obra-meta dt{color:#3d4b61}

/* Páginas SEO y ficha */
.pagina-publica .archivo-seo,
.pagina-publica .detalle{
  padding:38px 34px 64px;
  background:#f4f7fa;
}
.pagina-publica .archivo-hero{
  max-width:1180px;
  padding:38px;
  border:0;
  border-radius:18px;
  background:linear-gradient(135deg,var(--azul),var(--azul-oscuro));
  color:#fff;
  box-shadow:var(--sombra);
}
.pagina-publica .archivo-hero .sobrelinea{color:#c8d9ec}
.pagina-publica .archivo-hero h1{font-size:clamp(42px,6vw,78px);letter-spacing:-2.5px}
.pagina-publica .archivo-hero p{color:#d8e3ef}
.pagina-publica .archivo-conteo{border-radius:8px;background:var(--dorado);color:var(--azul)}
.pagina-publica .archivo-listado{max-width:1180px}
.pagina-publica .miga{color:#708096;font-size:11px}
.pagina-publica .miga a{color:var(--azul)}
.pagina-publica .ficha-completa{
  max-width:1250px;
  margin:0 auto;
  padding:28px;
  border:1px solid var(--linea);
  border-radius:20px;
  background:#fff;
  box-shadow:var(--sombra);
}
.pagina-publica .detalle-afiche{border-radius:14px;overflow:hidden}
.pagina-publica .detalle-informacion h1{color:var(--azul);font-size:clamp(42px,5.5vw,78px)}
.pagina-publica .datos-ficha{
  padding:18px;
  border-radius:13px;
  background:#f6f8fb;
}
.pagina-publica .sinopsis-completa p{color:#48566b;line-height:1.8}
.pagina-publica .trailer-responsive{border-radius:14px}
.pagina-publica .relacionadas{max-width:1250px}
.pagina-publica .relacionada-card{
  padding:11px;
  border:1px solid var(--linea);
  border-radius:12px;
  background:#fff;
}
.pagina-publica .relacionada-card img{border-radius:8px}
.pagina-publica .explorar-seo{
  padding:50px 34px 56px;
  background:#fff;
}
.pagina-publica .explorar-seo-cabecera h2{color:var(--azul)}
.pagina-publica .explorar-seo-columnas>div{
  padding:22px;
  border:1px solid var(--linea);
  border-radius:14px;
  background:#f7f9fc;
}
.pagina-publica .nube-enlaces a{
  border-radius:999px;
  background:#fff;
}

/* Pie */
.pagina-publica .pie{
  align-items:center;
  padding:32px 34px;
  background:#082f5c;
  color:#fff;
  border:0;
}
.pagina-publica .pie span,
.pagina-publica .pie p{color:#c9d7e7}

@media(max-width:1100px){
  .pagina-publica .encabezado-v9{grid-template-columns:150px 1fr}
  .pagina-publica .fecha-destacada{grid-column:1/-1;justify-self:stretch;max-width:none}
  .pagina-publica .portada-v9{grid-template-columns:1fr 220px;padding-inline:5%}
  .pagina-publica .accesos-rapidos{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pagina-publica .obituarios-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .pagina-publica .estructura{grid-template-columns:300px minmax(0,1fr);padding:26px}
  .pagina-publica .obra{grid-template-columns:125px minmax(0,1fr)}
  .pagina-publica .marco-afiche{width:125px}
  .pagina-publica .obra-meta{grid-column:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px 0 0;border-left:0;border-top:1px solid var(--linea)}
  .pagina-publica .obra-meta div+div{margin:0}
}

@media(max-width:820px){
  .pagina-publica .encabezado-v9{grid-template-columns:1fr;justify-items:center;padding:16px 20px}
  .pagina-publica .encabezado-v9 .marca-logo{justify-content:center}
  .pagina-publica .encabezado-centro{justify-items:center}
  .pagina-publica .nav-principal{justify-content:center}
  .pagina-publica .redes-superiores{justify-content:center}
  .pagina-publica .fecha-destacada{grid-column:auto;justify-self:center;width:min(100%,330px)}
  .pagina-publica .portada-v9{grid-template-columns:1fr;padding:48px 24px}
  .pagina-publica .portada-dato{max-width:280px}
  .pagina-publica .banner-superior{padding:18px 20px 0}
  .pagina-publica .accesos-rapidos{padding:20px;gap:12px}
  .pagina-publica .franja-efemerides{grid-template-columns:1fr}
  .pagina-publica .franja-efemerides-titulo{border-right:0;border-bottom:1px solid var(--linea)}
  .pagina-publica .obituarios-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pagina-publica .estructura{grid-template-columns:1fr;padding:20px}
  .pagina-publica .panel-filtros{position:static}
  .pagina-publica .contenido{margin-top:0}
  .pagina-publica .archivo-seo,.pagina-publica .detalle{padding:25px 20px 48px}
  .pagina-publica .archivo-hero{padding:28px}
}

@media(max-width:580px){
  .pagina-publica .nav-principal{gap:7px 13px;font-size:11px}
  .pagina-publica .redes-superiores{flex-direction:row}
  .pagina-publica .redes-etiqueta{display:none}
  .pagina-publica .portada-v9 h1{font-size:43px;letter-spacing:-2px}
  .pagina-publica .portada-subtitulo{font-size:14px}
  .pagina-publica .portada-acciones{display:grid}
  .pagina-publica .accesos-rapidos{grid-template-columns:1fr}
  .pagina-publica .franja-obituarios{padding:28px 20px 32px}
  .pagina-publica .obituarios-grid{grid-template-columns:1fr}
  .pagina-publica .estructura{padding:14px}
  .pagina-publica .bloque-estrenos{padding:16px}
  .pagina-publica .cabecera-resultados{align-items:flex-start;flex-direction:column}
  .pagina-publica .cabecera-resultados p{text-align:left}
  .pagina-publica .obra{grid-template-columns:92px minmax(0,1fr);gap:15px;padding:13px}
  .pagina-publica .marco-afiche{width:92px}
  .pagina-publica .obra-principal h3{font-size:20px}
  .pagina-publica .obra-principal p{font-size:11px;-webkit-line-clamp:3}
  .pagina-publica .obra-meta{grid-column:1/-1;grid-template-columns:1fr 1fr}
  .pagina-publica .archivo-hero h1{font-size:42px}
  .pagina-publica .ficha-completa{padding:18px;border-radius:15px}
  .pagina-publica .detalle-informacion h1{font-size:40px;letter-spacing:-1.6px}
  .pagina-publica .banner-inferior-global{padding:26px 14px 34px}
  .pagina-publica .pie{grid-template-columns:1fr;padding:28px 20px}
}

/* V9.1: desplazamiento cómodo al buscador */
.pagina-publica #catalogo{scroll-margin-top:28px}

/* V9.4 · Calidad de fechas / efemérides de estrenos */
.admin-check-stack{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.admin-bloque-fecha{padding-top:10px;border-top:1px solid var(--linea)}
.admin-bloque-fecha .admin-intro{margin-bottom:0}
.admin-estado-fecha{display:inline-flex;align-items:center;gap:6px;padding:4px 7px;border-radius:999px;font:700 10px/1 Arial,sans-serif;text-transform:uppercase;letter-spacing:.35px;background:#eef2f6;color:#41516a}
.admin-estado-fecha.esta-activa{background:#e9f8ee;color:#18743a}
.admin-estado-fecha.esta-pendiente{background:#fff3dc;color:#986000}
.admin-estado-fecha.esta-incompleta{background:#fce9eb;color:#a42532}
.pagina-publica .muestra-estreno{background:var(--rojo)}
.pagina-publica a.sticker-efemeride{color:inherit;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.pagina-publica a.sticker-efemeride:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(21,52,88,.13)}
.pagina-publica .sticker-estreno{border-top-color:var(--rojo)}
.pagina-publica .sticker-estreno time{background:#fff0f1;color:#9f1d2a}

/* ===== ADMIN V9.5: navegación ordenada + estadísticas internas ===== */
.admin-top{align-items:center;overflow:visible;position:relative;z-index:20}
.admin-brand-logo{flex:0 0 auto}
.admin-nav{align-items:center;gap:7px;overflow:visible}
.admin-nav>a,.admin-menu>summary{
  min-height:40px;display:inline-flex;align-items:center;justify-content:center;padding:9px 13px;
  border:1px solid var(--linea);background:#fff;color:var(--azul);cursor:pointer;
  font:700 10px/1 Arial,sans-serif;letter-spacing:.45px;text-transform:uppercase;text-decoration:none
}
.admin-nav>a:hover,.admin-menu>summary:hover{border-color:var(--azul);background:var(--papel-2)}
.admin-nav .admin-nav-home{background:var(--azul);border-color:var(--azul);color:#fff}
.admin-nav .admin-nav-stats{background:#efe8d7;border-color:#d8c28f;color:#6e531b}
.admin-menu{position:relative}
.admin-menu>summary{list-style:none}
.admin-menu>summary::-webkit-details-marker{display:none}
.admin-menu>summary::after{content:"▾";margin-left:7px;font-size:9px}
.admin-menu[open]>summary{background:var(--papel-2);border-color:var(--azul)}
.admin-menu-panel{
  position:absolute;z-index:50;top:calc(100% + 7px);left:0;min-width:235px;padding:8px;
  border:1px solid var(--linea);background:#fff;box-shadow:0 18px 40px rgba(22,15,48,.16)
}
.admin-menu-panel-right{left:auto;right:0}
.admin-menu-panel a{display:block;padding:11px 12px;color:var(--tinta);font-size:12px;text-decoration:none;border-radius:2px}
.admin-menu-panel a:hover{background:var(--papel-2);color:var(--azul)}
.admin-menu-panel a b{display:block;color:var(--azul);font-size:12px}
.admin-menu-panel a span{display:block;margin-top:3px;color:var(--gris);font-size:10px;font-weight:400}
.admin-total-visitas{
  display:grid;grid-template-columns:1fr auto;align-items:center;gap:3px 20px;margin:22px 0 18px;padding:22px 24px;
  background:linear-gradient(135deg,var(--azul),#34265e);color:#fff;text-decoration:none;box-shadow:0 12px 28px rgba(22,15,48,.16)
}
.admin-total-visitas span{font:700 10px/1 Arial,sans-serif;letter-spacing:1.4px}
.admin-total-visitas strong{grid-row:1/3;grid-column:2;font:700 46px/1 Georgia,serif}
.admin-total-visitas small{font-size:11px;color:#ddd5f2}
.admin-estadisticas-hero{overflow:hidden}
.admin-stat-total{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 20px;margin:20px 0;padding:28px;background:linear-gradient(135deg,var(--azul),#2f2454);color:#fff}
.admin-stat-total span{font:700 11px/1 Arial,sans-serif;letter-spacing:1.5px}
.admin-stat-total strong{grid-row:1/3;grid-column:2;font:700 clamp(48px,7vw,82px)/.9 Georgia,serif}
.admin-stat-total a{color:#ddd5f2;font-size:11px;text-decoration:underline}
.admin-chart{height:260px;display:flex;align-items:flex-end;gap:6px;padding:20px 8px 0;border-bottom:1px solid var(--linea);overflow-x:auto}
.admin-chart-col{height:100%;min-width:22px;flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:7px}
.admin-chart-col span{width:100%;min-height:4px;background:var(--azul);border-radius:2px 2px 0 0}
.admin-chart-col small{font-size:9px;color:var(--gris)}
.admin-exclusion-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.admin-exclusion-box{padding:20px;border:1px solid var(--linea);background:var(--papel-2)}
.admin-exclusion-box>strong{display:block;font:700 20px/1.1 Georgia,serif;color:var(--azul)}
.admin-exclusion-box>span{display:inline-block;margin-top:7px;padding:5px 7px;background:#fff;border:1px solid var(--linea);font-size:11px}
.admin-exclusion-box p{color:var(--gris);font-size:12px;line-height:1.5}
.admin-exclusiones-lista{margin-top:20px}
.admin-footer{margin-top:28px;padding:22px 0;border-top:1px solid var(--linea);color:var(--gris);font-size:10px;text-align:center;text-transform:uppercase;letter-spacing:1px}
@media(max-width:980px){.admin-top{align-items:flex-start}.admin-nav{width:100%;justify-content:flex-start}.admin-menu-panel-right{left:0;right:auto}}
@media(max-width:700px){.admin-nav>a,.admin-menu>summary{min-height:38px;padding:8px 10px;font-size:9px}.admin-exclusion-grid{grid-template-columns:1fr}.admin-stat-total,.admin-total-visitas{grid-template-columns:1fr}.admin-stat-total strong,.admin-total-visitas strong{grid-row:auto;grid-column:auto;margin-top:8px}.admin-chart{height:220px}.admin-menu-panel{position:fixed;left:15px!important;right:15px!important;top:auto;min-width:0}}


/* ===== SEO FASE 1: RASTREO INTERNO Y ÍNDICE A-Z ===== */
.enlace-indice-az{display:inline-flex;margin-top:14px;color:var(--azul);font:800 12px/1.35 Arial,sans-serif;text-decoration:underline;text-underline-offset:4px}
.navegacion-fichas{max-width:1250px;margin:20px auto 34px;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.navegacion-fichas>a{display:grid;gap:6px;min-height:86px;padding:16px 18px;border:1px solid var(--linea);border-radius:14px;background:#fff;box-shadow:var(--sombra-suave)}
.navegacion-fichas>a:hover{border-color:var(--azul);transform:translateY(-1px)}
.navegacion-fichas span{color:var(--gris);font:800 9px/1 Arial,sans-serif;letter-spacing:1px;text-transform:uppercase}
.navegacion-fichas strong{color:var(--azul);font-size:17px;line-height:1.25}
.navegacion-ficha-siguiente{text-align:right}
.indice-navegacion{display:flex;flex-wrap:wrap;gap:9px;margin:24px 0}
.indice-navegacion a,.indice-alfabeto a{padding:9px 11px;border:1px solid var(--linea);border-radius:999px;background:#fff;color:var(--azul);font:800 10px/1 Arial,sans-serif}
.indice-navegacion a[aria-current="page"],.indice-navegacion a:hover,.indice-alfabeto a:hover{background:var(--azul);border-color:var(--azul);color:#fff}
.indice-alfabeto{display:flex;flex-wrap:wrap;gap:7px;margin:28px 0}
.grupo-indice{margin:34px 0}
.grupo-indice>h2{margin:0 0 12px;color:var(--azul);font-size:32px}
.indice-lista-peliculas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.indice-lista-peliculas>a{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--linea);border-radius:10px;background:#fff}
.indice-lista-peliculas>a:hover{border-color:var(--azul);background:var(--azul-claro)}
.indice-lista-peliculas strong{font-size:13px;line-height:1.25}
.indice-lista-peliculas span{flex:0 0 auto;color:var(--gris);font:700 11px/1.3 Arial,sans-serif}
@media(max-width:900px){.indice-lista-peliculas{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.navegacion-fichas{grid-template-columns:1fr}.navegacion-fichas>span{display:none}.navegacion-ficha-siguiente{text-align:left}.indice-lista-peliculas{grid-template-columns:1fr}}
