/* Semanario — maqueta de periódico. Los colores se ajustan con las variables. */
.ccsem, .ccsem-banner, .ccsem-volver {
	--sem-tinta: var(--wp--preset--color--contrast, #1b1b1b);
	--sem-gris: var(--wp--preset--color--muted, #5c5c5c);
	--sem-filete: var(--sem-tinta);
	--sem-filete-fino: var(--wp--preset--color--rule, #cfcabd);
	--sem-acento: var(--wp--preset--color--accent, #7a1f1f);
	--sem-serif: var(--wp--preset--font-family--serif, Georgia, "Times New Roman", Times, serif);
	--sem-palo: var(--wp--preset--font-family--sans, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif);
	color: var(--sem-tinta);
	font-family: var(--sem-serif);
	line-height: 1.5;
	text-align: left;
}
.ccsem { max-width: 1100px; margin: 0 auto; }
.ccsem *, .ccsem *::before, .ccsem *::after { box-sizing: border-box; }
.ccsem a { color: inherit; text-decoration: none; }
.ccsem a:hover, .ccsem a:focus-visible { color: var(--sem-acento); text-decoration: underline; text-underline-offset: .15em; }
.ccsem h2, .ccsem h3, .ccsem p { margin: 0; }

/* Cabecera */
.ccsem-cabecera { text-align: center; border-bottom: 4px double var(--sem-filete); padding-bottom: .9rem; margin-bottom: 1rem; }
.ccsem-franja {
	display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap;
	border-top: 4px double var(--sem-filete); border-bottom: 1px solid var(--sem-filete);
	padding: .4rem 0; font: 600 .72rem/1.3 var(--sem-palo); letter-spacing: .08em; text-transform: uppercase;
}
.ccsem-franja span:empty { display: none; }
.ccsem-titulo {
	margin: .5rem 0 0; font-family: var(--sem-serif); font-weight: 700; font-size: clamp(2.6rem, 8vw, 5rem);
	line-height: 1.05; letter-spacing: -.01em; text-wrap: balance;
}
.ccsem-lema { margin-top: .3rem !important; font-style: italic; color: var(--sem-gris); font-size: 1rem; }

/* Sumario */
.ccsem-sumario {
	display: flex; flex-wrap: wrap; gap: .3rem 1.1rem; align-items: baseline;
	font: .8rem/1.4 var(--sem-palo); padding-bottom: .8rem; margin-bottom: 1.4rem; border-bottom: 1px solid var(--sem-filete-fino);
}
.ccsem-sumario strong { text-transform: uppercase; letter-spacing: .08em; font-size: .72rem; }
.ccsem-sumario span { color: var(--sem-gris); }

/* Nota editorial */
.ccsem-editorial { max-width: 46rem; margin: 0 auto 1.8rem; font-size: 1.05rem; font-style: italic; }
.ccsem-editorial p { margin: 0 0 .8em; }
.ccsem-vacio { text-align: center; font-style: italic; color: var(--sem-gris); padding: 2rem 0; }

/* Portada */
.ccsem-portada { display: grid; gap: 1.6rem; padding-bottom: 1.8rem; margin-bottom: .4rem; }
.ccsem-portada.ccsem-con-imagen { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); align-items: start; }
.ccsem-antetitulo {
	font: 700 .72rem/1.3 var(--sem-palo); letter-spacing: .1em; text-transform: uppercase; color: var(--sem-acento); margin-bottom: .5rem !important;
}
.ccsem-portada-titulo { font-size: clamp(1.9rem, 4.2vw, 3rem); line-height: 1.1; font-weight: 700; text-wrap: balance; }
.ccsem-entradilla { font-size: 1.15rem; line-height: 1.5; margin-top: .9rem !important; max-width: 44rem; }
.ccsem-portada-imagen img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }

/* Secciones */
.ccsem-seccion { border-top: 2px solid var(--sem-filete); padding: .5rem 0 1.4rem; scroll-margin-top: 5rem; }
.ccsem-seccion-titulo {
	font: 700 .8rem/1.3 var(--sem-palo); letter-spacing: .12em; text-transform: uppercase; margin-bottom: 1rem !important;
}
.ccsem-columnas { columns: 3 17rem; column-gap: 2rem; column-rule: 1px solid var(--sem-filete-fino); }
.ccsem-pieza { break-inside: avoid; padding-bottom: 1.1rem; margin-bottom: 1.1rem; border-bottom: 1px solid var(--sem-filete-fino); }
.ccsem-pieza-titulo { font-size: 1.2rem; line-height: 1.22; font-weight: 700; text-wrap: balance; }
.ccsem-pieza-texto { font-size: .97rem; margin-top: .4rem !important; }
.ccsem-pieza-pie { font: .76rem/1.4 var(--sem-palo); color: var(--sem-gris); margin-top: .55rem !important; }
.ccsem-leer { color: var(--sem-acento) !important; font-weight: 600; white-space: nowrap; }

/* Semana anterior / siguiente */
.ccsem-nav { display: flex; justify-content: space-between; gap: 1.5rem; border-top: 2px solid var(--sem-filete); padding: .9rem 0 1.2rem; }
.ccsem-nav a { display: block; max-width: 48%; }
.ccsem-nav-sig { text-align: right; margin-left: auto; }
.ccsem-nav-rotulo { display: block; font: 700 .76rem/1.3 var(--sem-palo); letter-spacing: .09em; text-transform: uppercase; }
.ccsem-nav-detalle { display: block; font-size: 1rem; margin-top: .2rem; color: var(--sem-gris); }

/* Pie */
.ccsem-pie {
	display: flex; flex-wrap: wrap; justify-content: center; gap: .4rem 1.5rem;
	border-top: 4px double var(--sem-filete); padding-top: .8rem; margin-top: .5rem;
	font: 600 .74rem/1.4 var(--sem-palo); letter-spacing: .08em; text-transform: uppercase;
}

/* Banner de portada */
.ccsem-banner {
	display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.9fr); gap: 1.5rem 3rem; align-items: start;
	margin-top: var(--wp--preset--spacing--50, 2.5rem); padding: 1.6rem 0 1.7rem;
	border-top: 4px double var(--sem-filete); border-bottom: 4px double var(--sem-filete);
}
.ccsem-banner *, .ccsem-banner *::before { box-sizing: border-box; }
.ccsem-banner p, .ccsem-banner h2, .ccsem-banner ol { margin: 0; padding: 0; }
.ccsem-banner a { color: inherit; text-decoration: none; }
.ccsem-banner a:hover, .ccsem-banner a:focus-visible { color: var(--sem-acento); text-decoration: underline; text-underline-offset: .15em; }
.ccsem-banner-kicker { font: 700 .72rem/1.3 var(--sem-palo); letter-spacing: .1em; text-transform: uppercase; color: var(--sem-acento); }
.ccsem-banner-titulo { font-size: clamp(1.9rem, 3.4vw, 2.7rem); line-height: 1.05; font-weight: 600; margin-top: .45rem !important; text-wrap: balance; }
.ccsem-banner-dato { font: .82rem/1.45 var(--sem-palo); color: var(--sem-gris); margin-top: .6rem !important; }
.ccsem-banner-acciones { display: flex; flex-wrap: wrap; align-items: center; gap: .7rem 1.2rem; margin-top: 1.1rem !important; }
.ccsem-banner-archivo { font: 600 .82rem/1.2 var(--sem-palo); text-decoration: underline !important; text-underline-offset: .2em; }
.ccsem-banner .ccsem-banner-boton {
	display: inline-block; padding: .6rem 1.1rem; border-radius: 3px;
	background: var(--sem-tinta); color: var(--wp--preset--color--base, #fff);
	font: 600 .85rem/1.2 var(--sem-palo);
}
.ccsem-banner .ccsem-banner-boton:hover, .ccsem-banner .ccsem-banner-boton:focus-visible { background: var(--sem-acento); color: #fff; text-decoration: none; }
.ccsem-banner-titulares { list-style: none; counter-reset: sem; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 2.2rem; }
.ccsem-banner-titulares li {
	counter-increment: sem; position: relative; padding: .15rem 0 1rem 2.1rem; margin-bottom: 1rem;
	border-bottom: 1px solid var(--sem-filete-fino); font-size: 1.12rem; line-height: 1.25; font-weight: 500;
}
.ccsem-banner-titulares li::before {
	content: counter(sem); position: absolute; left: 0; top: 0; font-size: 1.7rem; line-height: 1; font-weight: 600; color: var(--sem-acento);
	font-variant-numeric: lining-nums;
}
.ccsem-banner-seccion { display: block; font: 600 .68rem/1.3 var(--sem-palo); letter-spacing: .09em; text-transform: uppercase; color: var(--sem-gris); margin-bottom: .25rem; }
@media (max-width: 781px) {
	.ccsem-banner { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
	.ccsem-banner-titulares { grid-template-columns: 1fr; }
}

/* Enlace de vuelta al semanario en las entradas */
.ccsem-volver { font: 600 .8rem/1.4 var(--sem-palo); }
.ccsem-volver a { color: var(--sem-acento); text-decoration: none; }
.ccsem-volver a:hover, .ccsem-volver a:focus-visible { text-decoration: underline; text-underline-offset: .2em; }
.ccsem-volver span { color: var(--sem-gris); font-weight: 400; }
.ccsem-volver-arriba { margin: 0 0 1.4rem !important; padding-bottom: .7rem; border-bottom: 1px solid var(--sem-filete-fino); letter-spacing: .02em; }
.ccsem-volver-abajo { margin: 2.4rem 0 0 !important; padding-top: 1.2rem; border-top: 4px double var(--sem-filete); display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1.2rem; }
.ccsem-volver .ccsem-volver-boton { display: inline-block; padding: .65rem 1.15rem; border-radius: 3px; background: var(--sem-tinta); color: var(--wp--preset--color--base, #fff); font-size: .88rem; }
.ccsem-volver .ccsem-volver-boton:hover, .ccsem-volver .ccsem-volver-boton:focus-visible { background: var(--sem-acento); color: #fff; text-decoration: none; }
@media print { .ccsem-volver { display: none; } }

/* Lista de ediciones ([semanario_archivo]) */
.ccsem-archivo { list-style: none; padding: 0; margin: 0; }
.ccsem-archivo li { padding: .45rem 0; border-bottom: 1px solid #ddd; }
.ccsem-archivo span { opacity: .65; font-size: .9em; }

/* Versión HTML independiente */
body.ccsem-cuerpo { margin: 0; padding: 2rem 1rem; background: #efece4; }
.ccsem-suelto { background: #fffdf8; padding: clamp(1.2rem, 4vw, 3rem); }

@media (max-width: 700px) {
	.ccsem-portada.ccsem-con-imagen { grid-template-columns: 1fr; }
	.ccsem-portada-imagen { order: -1; }
	.ccsem-franja { justify-content: center; }
}

@media print {
	body.ccsem-cuerpo { background: none; padding: 0; }
	.ccsem-suelto { padding: 0; }
	.ccsem-pie, .ccsem-sumario, .ccsem-nav { display: none; }
	.ccsem a { color: #000 !important; }
}
