/* =========================================================================
   Ficha de película — plantilla "Editorial" — Premios Carmen
   Respeta la distribución de la web (banda de edición · cartel | ficha)
   con tipografía de revista, filetes dorados y entradas escalonadas.
   Tamaños en px (el tema usa una base rem pequeña). Los selectores llevan
   "body" delante para ganar a los estilos de OceanWP.
   ====================================================================== */

body .pc-ficha--editorial {
	--pc-oro: #a5915f;                 /* se sobrescribe desde Ajustes */
	--pc-oscuro: #0c1322;              /* se sobrescribe desde Ajustes */
	--pc-tinta: #161b26;
	--pc-sec: #6e7280;
	--pc-linea: rgba(22, 27, 38, .10);
	--pc-papel: #f8f6f1;
	--pc-ancho: 1180px;
	--pc-offset: 60px;                 /* alto de la cabecera fija del sitio */
	--pc-ease: cubic-bezier(.22, .8, .2, 1);
	--pc-ease-lenta: cubic-bezier(.32, .72, 0, 1);

	position: relative;
	color: var(--pc-tinta);
	font-size: 16px;
	background: #fff;
}
body.admin-bar .pc-ficha--editorial { --pc-offset: 92px; }

body .pc-ficha--editorial h1,
body .pc-ficha--editorial h2,
body .pc-ficha--editorial p,
body .pc-ficha--editorial dl,
body .pc-ficha--editorial dd,
body .pc-ficha--editorial ol { margin: 0; padding: 0; }

/* ---------- Banda de edición ---------- */

.pc-ed-banda {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	padding: 92px 24px 84px;
	background: var(--pc-oscuro);
	color: #fff;
	text-align: center;
}
/* Haces de luz dorados en diagonal que se desplazan muy despacio */
.pc-ed-banda__lineas {
	position: absolute;
	inset: -40% -10%;
	z-index: -1;
	background:
		repeating-linear-gradient(118deg,
			transparent 0 34px,
			color-mix(in srgb, var(--pc-oro) 75%, transparent) 34px 35px,
			transparent 35px 58px,
			color-mix(in srgb, var(--pc-oro) 38%, transparent) 58px 59px);
	-webkit-mask-image: radial-gradient(70% 90% at 50% 0%, #000 0%, rgba(0, 0, 0, .55) 45%, transparent 80%);
	mask-image: radial-gradient(70% 90% at 50% 0%, #000 0%, rgba(0, 0, 0, .55) 45%, transparent 80%);
	opacity: 0;
	animation-name: pc-ed-haces, pc-ed-aparece;
	animation-duration: 38s, 1.4s;
	animation-timing-function: linear, var(--pc-ease);
	animation-iteration-count: infinite, 1;
	animation-fill-mode: none, forwards;
}
.pc-ed-banda::after {             /* brillo cálido y viñeta inferior */
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		radial-gradient(60% 120% at 50% 120%, color-mix(in srgb, var(--pc-oro) 30%, transparent), transparent 70%),
		linear-gradient(180deg, transparent 55%, rgba(0, 0, 0, .35));
	pointer-events: none;
}
.pc-ed-banda__in { position: relative; }
body .pc-ficha--editorial .pc-ed-banda__pre {
	margin-bottom: 10px;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .42em;
	text-transform: uppercase;
	color: var(--pc-oro);
	animation: pc-ed-sube .9s var(--pc-ease) .1s both;
}
body .pc-ficha--editorial .pc-ed-banda__ed {
	font-size: clamp(30px, 4.4vw, 52px);
	font-weight: 300;
	line-height: 1.05;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: #fff;
	animation: pc-ed-espacia 1.2s var(--pc-ease-lenta) .15s both;
}

@keyframes pc-ed-haces {
	from { transform: translate3d(0, 0, 0); }
	to   { transform: translate3d(-118px, 0, 0); }
}
@keyframes pc-ed-aparece { to { opacity: 1; } }
@keyframes pc-ed-espacia {
	from { opacity: 0; letter-spacing: .3em; filter: blur(6px); }
}

/* ---------- Volver (fija, discreta) ---------- */

body .pc-ficha--editorial a.pc-ficha__volver {
	position: fixed;
	top: calc(var(--pc-offset) + 18px);
	left: 22px;
	z-index: 60;
	display: inline-flex;
	align-items: center;
	gap: 0;
	height: 46px;
	padding: 0 13px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .82);
	-webkit-backdrop-filter: blur(14px) saturate(1.4);
	backdrop-filter: blur(14px) saturate(1.4);
	color: var(--pc-tinta);
	font-size: 14px;
	font-weight: 500;
	letter-spacing: .04em;
	text-decoration: none;
	box-shadow: 0 0 0 1px var(--pc-linea), 0 12px 32px -14px rgba(12, 19, 34, .35);
	transition: gap .45s var(--pc-ease), padding .45s var(--pc-ease), transform .3s var(--pc-ease);
	view-transition-name: pc-volver;
}
.pc-ficha--editorial .pc-ficha__volver-texto {
	max-width: 0;
	overflow: hidden;
	white-space: nowrap;
	transition: max-width .45s var(--pc-ease);
}
body .pc-ficha--editorial a.pc-ficha__volver:hover,
body .pc-ficha--editorial a.pc-ficha__volver:focus-visible { gap: 8px; padding: 0 18px 0 13px; }
body .pc-ficha--editorial a.pc-ficha__volver:active { transform: scale(.97); }
.pc-ficha--editorial .pc-ficha__volver:hover .pc-ficha__volver-texto,
.pc-ficha--editorial .pc-ficha__volver:focus-visible .pc-ficha__volver-texto { max-width: 110px; }
body .pc-ficha--editorial a.pc-ficha__volver:focus-visible { outline: 2px solid var(--pc-oro); outline-offset: 3px; }

/* ---------- Composición ---------- */

.pc-ed {
	display: grid;
	grid-template-columns: minmax(240px, 380px) minmax(0, 1fr);
	gap: 56px 96px;
	max-width: var(--pc-ancho);
	margin: 0 auto;
	padding: 96px 32px 120px;
}

/* Cartel: marco con doble filete y sello */
.pc-ed__lateral {
	position: sticky;
	top: calc(var(--pc-offset) + 40px);
	align-self: start;
}
.pc-ed__marco {
	position: relative;
	padding: 10px;
	border-radius: 6px;
	background: var(--pc-papel);
	box-shadow: 0 0 0 1px var(--pc-linea), 0 40px 80px -40px rgba(12, 19, 34, .45);
	animation: pc-ed-cartel 1.1s var(--pc-ease-lenta) .1s both;
}
.pc-ed__marco::before {            /* filete dorado desplazado */
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	border: 1px solid var(--pc-oro);
	border-radius: 6px;
	transform: translate(18px, 18px);
	opacity: .7;
	animation: pc-ed-filete 1.3s var(--pc-ease-lenta) .5s both;
}
.pc-ficha--editorial .pc-ficha__poster {
	view-transition-name: pc-poster;
	aspect-ratio: 400 / 566;
	overflow: hidden;
	border-radius: 3px;
	background: #e9e5db;
}
.pc-ficha--editorial .pc-ficha__poster img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 1.2s var(--pc-ease-lenta);
}
.pc-ed__marco:hover .pc-ficha__poster img { transform: scale(1.035); }

body .pc-ficha--editorial .pc-ed__sello {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 40px;
	padding: 8px 16px 8px 12px;
	border-radius: 999px;
	background: var(--pc-oscuro);
	color: #fff;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .18em;
	text-transform: uppercase;
	animation: pc-ed-sube .8s var(--pc-ease) .9s both;
}
.pc-ed__sello svg { color: var(--pc-oro); }

@keyframes pc-ed-cartel {
	from { opacity: 0; transform: translateY(28px) scale(.98); }
}
@keyframes pc-ed-filete {
	from { opacity: 0; transform: translate(0, 0); }
}

/* Cabecera del contenido */
.pc-ed__contenido { min-width: 0; padding-top: 6px; }

body .pc-ficha--editorial .pc-ed__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 22px;
	padding: 6px 14px;
	border-radius: 999px;
	box-shadow: inset 0 0 0 1px var(--pc-linea);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--pc-sec);
}
.pc-ed__eyebrow-punto {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--pc-sec);
}
.pc-ed__eyebrow-punto--ganadora { background: var(--pc-oro); box-shadow: 0 0 0 4px color-mix(in srgb, var(--pc-oro) 22%, transparent); }
.pc-ed__eyebrow-punto--nominada { background: var(--pc-oscuro); }
.pc-ed__eyebrow-sep { color: var(--pc-oro); }

body .pc-ficha--editorial .pc-ed__titulo {
	color: var(--pc-oscuro);
	font-size: clamp(40px, 5.6vw, 78px);
	font-weight: 300;
	line-height: .98;
	letter-spacing: -.025em;
	text-wrap: balance;
}
.pc-ed__regla {
	display: block;
	width: 96px;
	height: 2px;
	margin: 34px 0 44px;
	background: var(--pc-oro);
	transform-origin: left;
	animation: pc-ed-regla 1s var(--pc-ease-lenta) .55s both;
}
@keyframes pc-ed-regla { from { transform: scaleX(0); } }

/* Ficha técnica */
body .pc-ficha--editorial .pc-ed__datos {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 40px;
	margin-bottom: 72px;
}
.pc-ed__dato {
	padding: 18px 0 20px;
	border-top: 1px solid var(--pc-linea);
	min-width: 0;
}
.pc-ficha--editorial .pc-ed__dato dt {
	margin-bottom: 8px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .24em;
	text-transform: uppercase;
	color: var(--pc-oro);
}
body .pc-ficha--editorial .pc-ed__dato dd {
	font-size: 17px;
	line-height: 1.45;
	color: var(--pc-tinta);
}

/* Bloques: título con filete */
.pc-ed__bloque + .pc-ed__bloque { margin-top: 80px; }
body .pc-ficha--editorial .pc-ed__h2 {
	display: flex;
	align-items: center;
	gap: 18px;
	margin-bottom: 28px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .32em;
	text-transform: uppercase;
	color: var(--pc-oscuro);
}
.pc-ed__h2::after {
	content: "";
	flex: 1;
	height: 1px;
	background: linear-gradient(90deg, var(--pc-oro), transparent);
	opacity: .55;
}

/* Sinopsis con capitular */
body .pc-ficha--editorial .pc-ed__texto {
	max-width: 62ch;
	font-size: 18px;
	line-height: 1.75;
	color: #3a3f4b;
}
body .pc-ficha--editorial .pc-ed__texto p { margin: 0 0 1.1em; }
.pc-ed__texto > p:first-of-type::first-letter {
	float: left;
	margin: 6px 14px 0 0;
	font-family: "Playfair Display", "Cormorant Garamond", Georgia, "Times New Roman", serif;
	font-size: 76px;
	font-weight: 400;
	line-height: .82;
	color: var(--pc-oro);
}

/* Palmarés */
body .pc-ficha--editorial .pc-ed-lista { list-style: none; counter-reset: none; }
body .pc-ficha--editorial .pc-ed-lista__item {
	position: relative;
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr) auto auto;
	align-items: center;
	gap: 4px 18px;
	margin: 0;
	padding: 20px 18px 20px 0;
	border-bottom: 1px solid var(--pc-linea);
	isolation: isolate;
	transition: background-color .5s var(--pc-ease), padding .5s var(--pc-ease);
}
.pc-ed-lista__item:first-child { border-top: 1px solid var(--pc-linea); }
.pc-ed-lista__item:hover { background: var(--pc-papel); padding-left: 12px; }

.pc-ed-lista__num {
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .1em;
	font-variant-numeric: tabular-nums;
	color: var(--pc-sec);
}
.pc-ed-lista__texto { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.pc-ed-lista__cat {
	font-size: 18px;
	font-weight: 500;
	line-height: 1.3;
	color: var(--pc-oscuro);
}
.pc-ed-lista__persona {
	font-size: 15px;
	line-height: 1.45;
	color: var(--pc-sec);
}
.pc-ed-lista__estado {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 12px;
	border-radius: 999px;
	box-shadow: inset 0 0 0 1px var(--pc-linea);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: .2em;
	text-transform: uppercase;
	white-space: nowrap;
	color: var(--pc-sec);
}

/* Galardonada: barrido dorado y sello sólido */
.pc-ed-lista__item--ganadora::before {
	content: "";
	position: absolute;
	inset: -1px 0 -1px -16px;
	z-index: -1;
	border-radius: 4px;
	background: linear-gradient(90deg, color-mix(in srgb, var(--pc-oro) 16%, #fff), #fff 85%);
}
.pc-ed-lista__item--ganadora::after {
	content: "";
	position: absolute;
	left: -16px;
	top: 14px;
	bottom: 14px;
	width: 2px;
	background: var(--pc-oro);
}
.pc-ed-lista__item--ganadora .pc-ed-lista__num { color: var(--pc-oro); }
.pc-ed-lista__item--ganadora .pc-ed-lista__estado {
	box-shadow: none;
	background: var(--pc-oro);
	color: #fff;
}
.pc-ed-lista__item--nominada .pc-ed-lista__estado {
	box-shadow: none;
	background: var(--pc-oscuro);
	color: #fff;
}
.pc-ed-lista__item--ganadora:hover { background: transparent; }

/* Audio */
body .pc-ficha--editorial button.pc-audio {
	position: relative;
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--pc-oscuro);
	color: #fff;
	cursor: pointer;
	transition: transform .3s var(--pc-ease);
}
body .pc-ficha--editorial button.pc-audio:hover { transform: scale(1.06); }
body .pc-ficha--editorial button.pc-audio:focus-visible { outline: 2px solid var(--pc-oro); outline-offset: 3px; }
.pc-ficha--editorial .pc-audio__anillo { position: absolute; inset: 0; width: 100%; height: 100%; transform: rotate(-90deg); pointer-events: none; }
.pc-ficha--editorial .pc-audio__pista,
.pc-ficha--editorial .pc-audio__progreso { fill: none; stroke-width: 3; }
.pc-ficha--editorial .pc-audio__pista { stroke: transparent; }
.pc-ficha--editorial .pc-audio__progreso { stroke: var(--pc-oro); stroke-linecap: round; transition: stroke-dashoffset .25s linear; }
.pc-ficha--editorial .pc-audio__icono { position: relative; width: 18px; height: 18px; fill: currentColor; }
.pc-ficha--editorial .pc-audio__icono--play { margin-left: 3px; }
.pc-ficha--editorial .pc-audio__icono--pausa,
.pc-ficha--editorial .pc-audio.is-sonando .pc-audio__icono--play { display: none; }
.pc-ficha--editorial .pc-audio.is-sonando .pc-audio__icono--pausa { display: block; }

/* ---------- Anterior / siguiente ---------- */

.pc-ficha--editorial .pc-ficha__nav {
	grid-column: 1 / -1;
	margin-top: 40px;
	padding-top: 40px;
	border-top: 1px solid var(--pc-linea);
}
.pc-ficha--editorial .pc-ficha__nav[hidden] { display: none; }
.pc-ficha--editorial .pc-ficha__nav-contenedor {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	gap: 16px;
	align-items: center;
}
body .pc-ficha--editorial a.pc-ficha__nav-enlace {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 22px 24px;
	border-radius: 14px;
	color: var(--pc-oscuro);
	text-decoration: none;
	transition: background-color .45s var(--pc-ease), transform .45s var(--pc-ease);
}
body .pc-ficha--editorial a.pc-ficha__nav-enlace:hover { background: var(--pc-papel); }
body .pc-ficha--editorial a.pc-ficha__nav-enlace--anterior:hover { transform: translateX(-4px); }
body .pc-ficha--editorial a.pc-ficha__nav-enlace--siguiente:hover { transform: translateX(4px); }
body .pc-ficha--editorial a.pc-ficha__nav-enlace:focus-visible { outline: 2px solid var(--pc-oro); outline-offset: 2px; }
.pc-ficha--editorial .pc-ficha__nav-enlace--siguiente { text-align: right; }
.pc-ficha--editorial .pc-ficha__nav-etiqueta {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .24em;
	text-transform: uppercase;
	color: var(--pc-oro);
}
.pc-ficha--editorial .pc-ficha__nav-enlace--anterior .pc-ficha__nav-etiqueta::before { content: "← "; }
.pc-ficha--editorial .pc-ficha__nav-enlace--siguiente .pc-ficha__nav-etiqueta::after { content: " →"; }
.pc-ficha--editorial .pc-ficha__nav-titulo { font-size: 22px; font-weight: 300; line-height: 1.25; letter-spacing: -.01em; }
.pc-ficha--editorial .pc-ficha__nav-pos { font-size: 12px; letter-spacing: .14em; color: var(--pc-sec); font-variant-numeric: tabular-nums; }

/* ---------- Entradas ---------- */

.pc-ed-fx { animation: pc-ed-sube .9s var(--pc-ease) both; }
.pc-ed__cabecera > .pc-ed-fx:nth-child(1) { animation-delay: .2s; }
.pc-ed__cabecera > .pc-ed-fx:nth-child(2) { animation-delay: .3s; }
.pc-ed__contenido > .pc-ed-fx:nth-child(2) { animation-delay: .5s; }
.pc-ed__contenido > .pc-ed-fx:nth-child(3) { animation-delay: .62s; }

@keyframes pc-ed-sube {
	from { opacity: 0; transform: translateY(22px); filter: blur(4px); }
}

/* Revelado al hacer scroll (lo activa pc-ficha.js; sin JS se ve todo) */
.pc-revela-on [data-pc-revela] {
	opacity: 0;
	transform: translateY(26px);
	transition: opacity .9s var(--pc-ease), transform .9s var(--pc-ease);
	transition-delay: var(--pc-retraso, 0s);
}
.pc-revela-on [data-pc-revela].is-visible { opacity: 1; transform: none; }

/* ---------- Responsive ---------- */

@media (max-width: 1024px) {
	.pc-ed { grid-template-columns: minmax(200px, 300px) minmax(0, 1fr); gap: 48px 56px; padding: 72px 28px 96px; }
}
@media (max-width: 767px) {
	.pc-ed-banda { padding: 64px 20px 56px; }
	.pc-ed { grid-template-columns: 1fr; gap: 40px; padding: 48px 20px 72px; }
	.pc-ed__lateral { position: static; display: flex; flex-direction: column; align-items: flex-start; }
	.pc-ed__marco { width: min(72vw, 300px); }
	.pc-ed__marco::before { transform: translate(12px, 12px); }
	body .pc-ficha--editorial .pc-ed__sello { margin-top: 28px; }
	body .pc-ficha--editorial .pc-ed__datos { gap: 0 20px; margin-bottom: 56px; }
	.pc-ed__regla { margin: 26px 0 34px; }
	body .pc-ficha--editorial .pc-ed__texto { font-size: 17px; }
	.pc-ed__texto > p:first-of-type::first-letter { font-size: 62px; }
	.pc-ed__bloque + .pc-ed__bloque { margin-top: 60px; }
	body .pc-ficha--editorial .pc-ed-lista__item {
		grid-template-columns: 32px minmax(0, 1fr) auto;
		grid-template-areas: "num texto audio" "num estado audio";
		padding-right: 0;
	}
	.pc-ed-lista__num { grid-area: num; align-self: start; padding-top: 4px; }
	.pc-ed-lista__texto { grid-area: texto; }
	.pc-ed-lista__estado { grid-area: estado; justify-self: start; margin-top: 8px; }
	.pc-ficha--editorial button.pc-audio { grid-area: audio; }
	.pc-ed-lista__item--ganadora::before { left: -10px; }
	.pc-ed-lista__item--ganadora::after { left: -10px; }
	.pc-ed-lista__item:hover { padding-left: 0; }
	.pc-ficha--editorial .pc-ficha__nav-contenedor { grid-template-columns: 1fr 1fr; }
	.pc-ficha--editorial .pc-ficha__nav-pos { display: none; }
	.pc-ficha--editorial .pc-ficha__nav-titulo { font-size: 18px; }
	body .pc-ficha--editorial a.pc-ficha__volver { top: calc(var(--pc-offset) + 10px); left: 12px; height: 42px; }
}
@media (max-width: 480px) {
	body .pc-ficha--editorial .pc-ed__datos { grid-template-columns: 1fr; }
}
@media (max-width: 782px) {
	body.admin-bar .pc-ficha--editorial { --pc-offset: 106px; }
}

@media (prefers-reduced-motion: reduce) {
	.pc-ed-banda__lineas { animation: none; opacity: 1; }
	.pc-ed-fx,
	.pc-ed__marco,
	.pc-ed__marco::before,
	.pc-ed__regla,
	body .pc-ficha--editorial .pc-ed__sello,
	body .pc-ficha--editorial .pc-ed-banda__pre,
	body .pc-ficha--editorial .pc-ed-banda__ed { animation: none; }
	.pc-revela-on [data-pc-revela] { opacity: 1; transform: none; transition: none; }
	.pc-ficha--editorial .pc-ficha__poster img,
	body .pc-ficha--editorial a.pc-ficha__volver,
	.pc-ed-lista__item { transition: none; }
}
