/* =========================================================================
   Material para candidaturas — Premios Carmen
   Aviso en los listados · botón en la ficha · página de descargas [pc_material]
   ====================================================================== */

:where(.pc-mat, .pc-mat-aviso, .pc-mat-boton) {   /* valores por defecto: Ajustes los sobrescribe */
	--pc-oro: #a5915f;
	--pc-oscuro: #0c1322;
}
.pc-mat,
.pc-mat-aviso,
.pc-mat-boton {
	--pc-m-papel: #faf8f3;
	--pc-m-linea: rgba(22, 27, 38, .09);
	--pc-m-sec: #5d6270;
	--pc-m-ease: cubic-bezier(.22, .8, .2, 1);
}

/* ---------- Aviso en los listados ---------- */

body .pc-mat-aviso {
	position: relative;
	display: flex;
	align-items: center;
	gap: 18px;
	margin: 0 0 28px;
	padding: 16px 16px 16px 20px;
	border-radius: 18px;
	background: var(--pc-oscuro);
	color: #fff;
	overflow: hidden;
	isolation: isolate;
	animation: pc-mat-entra .8s var(--pc-m-ease) both;
}
body .pc-mat-aviso::before {                     /* haces dorados, como la banda de edición */
	content: "";
	position: absolute;
	inset: -60% -10%;
	z-index: -1;
	background: repeating-linear-gradient(118deg, transparent 0 30px, color-mix(in srgb, var(--pc-oro) 55%, transparent) 30px 31px, transparent 31px 52px);
	-webkit-mask-image: radial-gradient(40% 120% at 100% 50%, #000, transparent 80%);
	mask-image: radial-gradient(40% 120% at 100% 50%, #000, transparent 80%);
	opacity: .6;
}
.pc-mat-aviso__icono {
	flex: none;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	box-shadow: inset 0 0 0 1px var(--pc-oro);
	color: var(--pc-oro);
}
.pc-mat-aviso__texto { flex: 1; min-width: 0; font-size: 15px; line-height: 1.45; color: rgba(255, 255, 255, .75); }
.pc-mat-aviso__texto strong { display: block; margin-bottom: 2px; font-size: 16px; font-weight: 600; color: #fff; }
body .pc-mat-aviso a.pc-mat-aviso__boton {
	flex: none;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 6px 6px 6px 18px;
	border-radius: 999px;
	background: #fff;
	color: var(--pc-oscuro);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .04em;
	text-decoration: none !important;
	transition: transform .4s var(--pc-m-ease);
}
.pc-mat-aviso__flecha {
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--pc-oro);
	color: #fff;
	transition: transform .4s var(--pc-m-ease);
}
body .pc-mat-aviso a.pc-mat-aviso__boton:hover .pc-mat-aviso__flecha { transform: translateX(3px); }
body .pc-mat-aviso a.pc-mat-aviso__boton:active { transform: scale(.98); }
body .pc-mat-aviso a.pc-mat-aviso__boton:focus-visible { outline: 2px solid var(--pc-oro); outline-offset: 3px; }

@keyframes pc-mat-entra { from { opacity: 0; transform: translateY(12px); } }

/* ---------- Botón en la ficha ---------- */

body a.pc-mat-boton {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-top: 18px;
	padding: 6px 6px 6px 14px;
	border-radius: 999px;
	box-shadow: inset 0 0 0 1px var(--pc-m-linea);
	background: #fff;
	color: var(--pc-oscuro);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	text-decoration: none !important;
	transition: background-color .45s var(--pc-m-ease), color .45s var(--pc-m-ease), box-shadow .45s var(--pc-m-ease);
}
body a.pc-mat-boton svg:first-child { color: var(--pc-oro); flex: none; }
.pc-mat-boton__flecha {
	display: grid;
	place-items: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--pc-oscuro);
	color: #fff;
	transition: transform .45s var(--pc-m-ease), background-color .45s var(--pc-m-ease);
}
body a.pc-mat-boton:hover { background: var(--pc-oscuro); color: #fff; box-shadow: none; }
body a.pc-mat-boton:hover .pc-mat-boton__flecha { background: var(--pc-oro); transform: translateX(2px); }
body a.pc-mat-boton:focus-visible { outline: 2px solid var(--pc-oro); outline-offset: 3px; }
/* En la ficha inmersiva (texto sobre fondo oscuro) */
body .pc-ficha--inmersiva a.pc-mat-boton { margin-top: 26px; background: rgba(255, 255, 255, .1); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .25); color: #fff; }
body .pc-ficha--inmersiva a.pc-mat-boton:hover { background: #fff; color: var(--pc-oscuro); }

/* ---------- Página de descargas ---------- */

body .pc-mat { color: var(--pc-oscuro); font-size: 16px; }
body .pc-mat__cab {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 16px 24px;
	margin: 0 0 28px;
}
body .pc-mat .pc-mat__titulo {
	margin: 0;
	padding: 0;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .28em;
	text-transform: uppercase;
	color: var(--pc-oscuro);
}
body .pc-mat a.pc-mat__todo {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding: 6px 6px 6px 20px;
	border-radius: 999px;
	background: var(--pc-oscuro);
	color: #fff;
	font-size: 14px;
	font-weight: 500;
	text-decoration: none !important;
	transition: transform .4s var(--pc-m-ease), box-shadow .4s var(--pc-m-ease);
}
.pc-mat__todo-ico {
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--pc-oro);
	transition: transform .4s var(--pc-m-ease);
}
body .pc-mat a.pc-mat__todo:hover { box-shadow: 0 12px 26px -12px rgba(12, 19, 34, .7); }
body .pc-mat a.pc-mat__todo:hover .pc-mat__todo-ico { transform: translateY(2px); }
body .pc-mat a.pc-mat__todo:active { transform: scale(.98); }

body .pc-mat .pc-mat__lista {
	display: grid;
	grid-template-columns: repeat(var(--pc-mat-cols, 2), minmax(0, 1fr));
	gap: 22px;
	margin: 0;
	padding: 0;
	list-style: none;
}
body .pc-mat .pc-mat-item { margin: 0; padding: 0; animation: pc-mat-entra .8s var(--pc-m-ease) both; }
body .pc-mat .pc-mat-item:nth-child(2) { animation-delay: .07s; }
body .pc-mat .pc-mat-item:nth-child(3) { animation-delay: .14s; }
body .pc-mat .pc-mat-item:nth-child(4) { animation-delay: .21s; }

/* Doble bisel: carcasa + núcleo */
.pc-mat-item__marco {
	height: 100%;
	padding: 6px;
	border-radius: 22px;
	background: var(--pc-m-papel);
	box-shadow: 0 0 0 1px var(--pc-m-linea);
	display: flex;
	flex-direction: column;
	transition: transform .5s var(--pc-m-ease), box-shadow .5s var(--pc-m-ease);
}
.pc-mat-item__marco:hover { transform: translateY(-3px); box-shadow: 0 0 0 1px var(--pc-m-linea), 0 24px 44px -28px rgba(12, 19, 34, .45); }

.pc-mat-item__vista {
	position: relative;
	display: grid;
	place-items: center;
	aspect-ratio: 16 / 9;
	padding: 9% 12%;
	border-radius: 16px;
	background:
		linear-gradient(45deg, #f1eee7 25%, transparent 25%, transparent 75%, #f1eee7 75%) 0 0 / 22px 22px,
		linear-gradient(45deg, #f1eee7 25%, transparent 25%, transparent 75%, #f1eee7 75%) 11px 11px / 22px 22px,
		#fff;
	box-shadow: inset 0 0 0 1px var(--pc-m-linea);
	overflow: hidden;
}
.pc-mat-item__vista--oscura {
	background:
		radial-gradient(70% 90% at 50% 120%, color-mix(in srgb, var(--pc-oro) 26%, transparent), transparent 70%),
		var(--pc-oscuro);
	box-shadow: none;
}
body .pc-mat .pc-mat-item__vista img {
	display: block;
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	transition: transform .8s var(--pc-m-ease);
}
.pc-mat-item__marco:hover .pc-mat-item__vista img { transform: scale(1.04); }
.pc-mat-item__ext { font-size: 28px; font-weight: 300; letter-spacing: .2em; color: var(--pc-m-sec); }
.pc-mat-item__fondo {
	position: absolute;
	left: 12px;
	top: 12px;
	padding: 4px 10px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .85);
	color: var(--pc-oscuro);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: .16em;
	text-transform: uppercase;
}
.pc-mat-item__vista--oscura .pc-mat-item__fondo { background: rgba(255, 255, 255, .12); color: #fff; }

.pc-mat-item__pie {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 16px 12px 12px 14px;
}
.pc-mat-item__info { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.pc-mat-item__nombre { font-size: 16px; font-weight: 600; line-height: 1.3; color: var(--pc-oscuro); }
.pc-mat-item__desc { font-size: 14px; line-height: 1.45; color: var(--pc-m-sec); }
.pc-mat-item__datos { font-size: 12px; letter-spacing: .06em; font-variant-numeric: tabular-nums; color: var(--pc-m-sec); }
body .pc-mat a.pc-mat-item__descargar {
	flex: none;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 16px;
	border-radius: 999px;
	background: #fff;
	box-shadow: inset 0 0 0 1px var(--pc-m-linea);
	color: var(--pc-oscuro);
	font-size: 13px;
	font-weight: 600;
	text-decoration: none !important;
	transition: background-color .4s var(--pc-m-ease), color .4s var(--pc-m-ease), box-shadow .4s var(--pc-m-ease);
}
body .pc-mat a.pc-mat-item__descargar svg { color: var(--pc-oro); transition: transform .4s var(--pc-m-ease); }
body .pc-mat a.pc-mat-item__descargar:hover { background: var(--pc-oscuro); color: #fff; box-shadow: none; }
body .pc-mat a.pc-mat-item__descargar:hover svg { transform: translateY(2px); }
body .pc-mat a.pc-mat-item__descargar:focus-visible,
body .pc-mat a.pc-mat__todo:focus-visible { outline: 2px solid var(--pc-oro); outline-offset: 3px; }

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

@media (max-width: 767px) {
	body .pc-mat-aviso { flex-wrap: wrap; padding: 18px; }
	.pc-mat-aviso__texto { flex-basis: calc(100% - 62px); }
	body .pc-mat-aviso a.pc-mat-aviso__boton { margin-left: 62px; }
	body .pc-mat .pc-mat__lista { grid-template-columns: 1fr; gap: 16px; }
	.pc-mat-item__pie { flex-wrap: wrap; }
}

@media (prefers-reduced-motion: reduce) {
	body .pc-mat-aviso,
	body .pc-mat .pc-mat-item { animation: none; }
	.pc-mat-item__marco,
	.pc-mat-item__vista img,
	body a.pc-mat-boton,
	.pc-mat-boton__flecha { transition: none; }
}
