/*
Theme Name: Carnaval de Bollullos
Theme URI: https://carnavaldebollullos.com
Author: Iván Ramos
Description: Tema del archivo del carnaval de Bollullos par del Condado, inspirado en los carteles y libretos de carnaval: tinta sobre papel, titulares estrechos y sellos de color. Pensado para usarse con el plugin «Archivo del Carnaval de Bollullos».
Version: 0.10.6
Requires at least: 6.5
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: carnaval-bollullos
*/

/* ------------------------------------------------------------------
   Type: condensed display headings (Archivo's width axis)
------------------------------------------------------------------ */
h1, h2, h3,
.wp-block-post-title,
.wp-block-query-title,
.has-display-font-size,
.has-xx-large-font-size,
.has-x-large-font-size,
.cb-anios__label, .cb-year__n, .cb-cifras__n, .cb-proximo__year {
	font-stretch: 62%;
}
h4, h5, .cb-card2__title, .cb-item__title, .cb-card__title {
	font-stretch: 75%;
}
.cb-h { font-size: clamp(36px, 4vw, 52px); font-weight: 900; font-stretch: 62%; line-height: .95; }

/* ------------------------------------------------------------------
   Block styles registered in functions.php
------------------------------------------------------------------ */
.is-style-etiqueta {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 13px;
	letter-spacing: .1em;
	text-transform: uppercase;
}
.is-style-tarjeta {
	border: 2px solid var(--wp--preset--color--tinta);
	background-color: var(--wp--preset--color--papel-claro);
}
.is-style-recorte {
	border: 2px solid var(--wp--preset--color--tinta);
	background-color: var(--wp--preset--color--papel-claro);
	transition: transform .15s, box-shadow .15s;
}
.is-style-recorte:hover {
	transform: translate(-3px, -3px);
	box-shadow: 6px 6px 0 var(--wp--preset--color--tinta);
}
.is-style-pendiente {
	border: 2px dashed #8A8178;
	color: var(--wp--preset--color--gris);
}
.wp-block-button.is-style-mostaza .wp-block-button__link {
	background: var(--wp--preset--color--mostaza);
	color: var(--wp--preset--color--tinta);
	font-weight: 800;
}
.wp-block-button.is-style-mostaza .wp-block-button__link:hover { background: #f0c64a; color: var(--wp--preset--color--tinta); }
.wp-block-button.is-style-outline .wp-block-button__link {
	border: 2px solid var(--wp--preset--color--tinta);
	background: var(--wp--preset--color--papel-claro);
	color: var(--wp--preset--color--tinta);
	padding: 11px 20px;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--wp--preset--color--tinta); color: var(--wp--preset--color--papel); }

/* ------------------------------------------------------------------
   Header
------------------------------------------------------------------ */
.cb-topbar { font-family: var(--wp--preset--font-family--mono); font-size: 12px; letter-spacing: .06em; }
.cb-topbar a { color: var(--wp--preset--color--papel); text-decoration: none; }
.cb-topbar a:hover { color: var(--wp--preset--color--mostaza); }
.cb-header { border-bottom: 2px solid var(--wp--preset--color--tinta); }
.cb-marca { display: flex; align-items: center; gap: 12px; text-decoration: none; color: var(--wp--preset--color--tinta); }
.cb-marca:hover { color: var(--wp--preset--color--tinta); }
.cb-sello {
	flex: 0 0 auto;
	width: 48px; height: 48px;
	display: flex; align-items: center; justify-content: center;
	background: var(--wp--preset--color--granate);
	color: var(--wp--preset--color--papel);
	font-weight: 900; font-stretch: 70%; font-size: 26px; letter-spacing: -.02em;
	box-shadow: inset 0 -6px 0 var(--wp--preset--color--azul);
}
.cb-marca__txt { display: flex; flex-direction: column; line-height: 1; }
.cb-marca__1 { font-weight: 900; font-stretch: 68%; font-size: 28px; text-transform: uppercase; letter-spacing: .01em; }
.cb-marca__2 { font-size: 14px; font-weight: 500; }
/* Logo in an image (Apariencia → Logo de la web) */
.cb-marca__logo { display: flex; align-items: center; flex: 0 0 auto; }
.cb-marca__img { display: block; width: auto; height: 56px; max-width: min(300px, 62vw); object-fit: contain; object-position: left center; }
.cb-marca--sello .cb-marca__img { height: 48px; max-width: 120px; }
.cb-footer .cb-marca__img { height: 64px; }
.cb-header .cb-marca__img { transition: height .22s ease; }
html.cb-scrolled .cb-header .cb-marca__img { height: 40px; }
html.cb-scrolled .cb-header .cb-marca--sello .cb-marca__img { height: 38px; }
@media (max-width: 600px) { .cb-header .cb-marca__img { height: 44px; max-width: 58vw; } html.cb-scrolled .cb-header .cb-marca__img { height: 36px; } }
@media (prefers-reduced-motion: reduce) { .cb-header .cb-marca__img { transition: none; } }
.cb-header .wp-block-navigation a { text-decoration: none; }
.cb-header .wp-block-navigation a:hover { text-decoration: underline; text-underline-offset: 4px; }
.cb-header .wp-block-navigation .cb-nav-colabora a { color: var(--wp--preset--color--granate); }
.cb-header .wp-block-navigation__responsive-container.is-menu-open { background: var(--wp--preset--color--papel); }
.cb-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { font-size: 28px; font-weight: 900; font-stretch: 62%; text-transform: uppercase; }

/* ------------------------------------------------------------------
   Footer
------------------------------------------------------------------ */
.cb-footer a { color: var(--wp--preset--color--papel); text-decoration: none; }
.cb-footer a:hover { color: var(--wp--preset--color--mostaza); }
.cb-footer .cb-marca, .cb-footer .cb-marca:hover { color: var(--wp--preset--color--papel); }
.cb-firma { display: inline-flex; align-items: center; gap: 10px; }
.cb-firma::before { content: ""; width: 14px; height: 14px; background: var(--wp--preset--color--azul); }

/* ------------------------------------------------------------------
   Home
------------------------------------------------------------------ */
.cb-cartel-hero {
	transform: rotate(1.5deg);
	text-decoration: none;
}
.cb-cartel-hero img { width: 100%; height: auto !important; }
.cb-search .wp-block-search__inside-wrapper { border: 2px solid var(--wp--preset--color--tinta); background: var(--wp--preset--color--papel-claro); padding: 0; }
.cb-search .wp-block-search__input { border: 0; background: transparent; padding: 14px 16px; font-size: 17px; color: var(--wp--preset--color--tinta); min-width: 0; }
.cb-search .wp-block-search__button { margin: 0; border-radius: 0; min-width: 56px; min-height: 52px; background: var(--wp--preset--color--tinta); color: var(--wp--preset--color--papel); }
.cb-search .wp-block-search__label { font-family: var(--wp--preset--font-family--mono); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; font-weight: 400; }
.cb-tile { text-decoration: none; transition: background .15s; }
.cb-tile:hover { background: var(--wp--preset--color--mostaza) !important; }
.cb-tile a { text-decoration: none; }
.cb-tile a::after { content: ""; position: absolute; inset: 0; }
.cb-tile { position: relative; }
.cb-tiles > * + * { border-left: 2px solid var(--wp--preset--color--tinta); }
@media (max-width: 781px) {
	.cb-tiles > * + * { border-left: 0; border-top: 2px solid var(--wp--preset--color--tinta); }
}

/* ------------------------------------------------------------------
   Curiosidades
------------------------------------------------------------------ */
.cb-dato { min-height: 300px; }
.cb-dato .cb-dato__n { font-weight: 900; font-stretch: 62%; line-height: .82; letter-spacing: -.01em; margin: 0; text-transform: none; }
.cb-datos { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 20px; }
.cb-datos > .cb-dato-ancho { grid-column: span 2; }
@media (max-width: 720px) { .cb-datos > .cb-dato-ancho { grid-column: auto; } }

/* ------------------------------------------------------------------
   Archive fichas from the plugin, adapted to the wide layout
------------------------------------------------------------------ */
.cb-ficha .cb-ficha__grid { gap: 40px; }
.cb-ficha .cb-ficha__main > p:first-child { font-size: var(--wp--preset--font-size--large); line-height: 1.4; }
.cb-ficha .cb-ficha__datos { position: sticky; top: calc(var(--cb-adminbar, 0px) + var(--cb-header-h, 80px) + 20px); }
.cb-ficha .cb-tags { margin-bottom: 1.6em; }
.cb-ficha .cb-video { margin-bottom: 2.5em; }

/* Query loops of agrupaciones (category archive, search) */
.cb-loop .wp-block-post { display: flex; flex-direction: column; gap: 6px; padding: 14px 16px; border: 2px solid var(--wp--preset--color--tinta); background: var(--wp--preset--color--papel-claro); }
.cb-loop .wp-block-post .wp-block-post-title { font-size: 20px; font-stretch: 78%; line-height: 1.15; text-transform: none; font-weight: 800; }
.cb-loop .wp-block-post .wp-block-post-title a { text-decoration: none; }
.cb-loop .wp-block-post .wp-block-post-title a::after { content: ""; position: absolute; inset: 0; }
.cb-loop .wp-block-post { position: relative; transition: transform .15s, box-shadow .15s; }
.cb-loop .wp-block-post:hover { transform: translate(-3px, -3px); box-shadow: 6px 6px 0 var(--wp--preset--color--tinta); }

/* Pagination */
.wp-block-query-pagination a, .wp-block-query-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; border: 2px solid var(--wp--preset--color--tinta); text-decoration: none; font-family: var(--wp--preset--font-family--mono); }
.wp-block-query-pagination .page-numbers.current { background: var(--wp--preset--color--tinta); color: var(--wp--preset--color--papel); }

/* Accessibility helpers */
:where(a, button, input, summary):focus-visible { outline: 3px solid var(--wp--preset--color--mostaza); outline-offset: 2px; }
.screen-reader-text:focus { clip: auto; clip-path: none; width: auto; height: auto; padding: 12px 16px; background: var(--wp--preset--color--mostaza); color: var(--wp--preset--color--tinta); z-index: 100000; }

/* ------------------------------------------------------------------
   Phones
------------------------------------------------------------------ */
@media (max-width: 781px) {
	.cb-topbar .wp-block-group > p:first-child { display: none; }
	.cb-cartel-hero { max-width: 240px; margin-inline: auto; }
	.cb-cartel-hero .cb-cartel__big { font-size: 44px; }
}
@media (max-width: 600px) {
	.cb-card2__photo { aspect-ratio: 16 / 6; }
	.cb-card2__num { font-size: 52px; }
	.cb-cards { gap: 14px; }
}

/* ------------------------------------------------------------------
   Carnaval of one year: poster next to the title, at its real proportions
------------------------------------------------------------------ */
.cb-carnaval-cols .wp-block-post-title { line-height: .86; }
@media (min-width: 782px) { .cb-carnaval-cartel { align-self: stretch !important; } } /* the column as tall as the page, so the poster can follow you down */
.cb-carnaval-cartel .wp-block-post-featured-image { margin: 0; position: sticky; top: calc(var(--cb-adminbar, 0px) + var(--cb-header-h, 80px) + 64px); }
.cb-carnaval-cartel .wp-block-post-featured-image img {
	width: 100%; height: auto !important;
	border: 2px solid var(--wp--preset--color--tinta);
	transition: transform .15s, box-shadow .15s;
}
.cb-carnaval-cartel .wp-block-post-featured-image img:hover { transform: translate(-3px, -3px); box-shadow: 6px 6px 0 var(--wp--preset--color--tinta); }
/* No poster yet: the text takes the whole width. */
.cb-carnaval-cols:not(:has(.wp-block-post-featured-image img)) > .cb-carnaval-cartel { display: none; }
.cb-carnaval-cols:not(:has(.wp-block-post-featured-image img)) > .cb-carnaval-main { flex-basis: 100% !important; }
.cb-carnaval-main .cb-cards { grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); }
@media (max-width: 781px) {
	.cb-carnaval-cols { flex-direction: column-reverse; }
	.cb-carnaval-cartel { max-width: 320px; margin-top: 34px !important; }
	.cb-carnaval-cartel .wp-block-post-featured-image { position: static; }
}

/* «Mi lista» in the menu: star before it */
.cb-header .cb-nav-milista a::before { content: "★ "; color: var(--wp--preset--color--granate); }

/* ------------------------------------------------------------------
   Fixed header: always at hand while scrolling
------------------------------------------------------------------ */
header.wp-block-template-part { position: sticky; top: calc(var(--cb-adminbar, 0px) - var(--cb-topbar-h, 0px)); z-index: 200; }
body.admin-bar { --cb-adminbar: 32px; }
@media (max-width: 782px) { body.admin-bar { --cb-adminbar: 46px; } }
@media (max-width: 600px) { body.admin-bar { --cb-adminbar: 0px; } } /* there the admin bar scrolls away */
.cb-header { background: var(--wp--preset--color--papel); transition: padding .22s ease, box-shadow .22s ease; }
.cb-header .cb-sello, .cb-header .cb-marca__1, .cb-header .cb-marca__2 { transition: all .22s ease; }
html.cb-scrolled .cb-header { padding-top: 10px !important; padding-bottom: 10px !important; box-shadow: 0 4px 0 rgba(23, 18, 15, .08); }
html.cb-scrolled .cb-header .cb-sello { width: 38px; height: 38px; font-size: 21px; box-shadow: inset 0 -5px 0 var(--wp--preset--color--azul); }
html.cb-scrolled .cb-header .cb-marca__1 { font-size: 23px; }
html.cb-scrolled .cb-header .cb-marca__2 { font-size: 12.5px; }
/* Anchors land below the header, not under it */
html { scroll-padding-top: calc(var(--cb-header-h, 80px) + var(--cb-adminbar, 0px) + 16px); }
@media (prefers-reduced-motion: reduce) { .cb-header, .cb-header .cb-sello, .cb-header .cb-marca__1, .cb-header .cb-marca__2 { transition: none; } }

/* ------------------------------------------------------------------
   Search in the header
------------------------------------------------------------------ */
.cb-header { position: relative; }
.cb-header__right { flex-wrap: nowrap; }
.cb-buscar { display: flex; }
.cb-buscar__toggle { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: 0; border: 2px solid transparent; background: transparent; color: var(--wp--preset--color--tinta); cursor: pointer; border-radius: 0; }
.cb-buscar__toggle:hover { border-color: var(--wp--preset--color--tinta); }
.cb-buscar__toggle[aria-expanded="true"] { background: var(--wp--preset--color--tinta); color: var(--wp--preset--color--papel); }
.cb-buscar__toggle:focus-visible, .cb-buscar :focus-visible { outline: 3px solid var(--wp--preset--color--mostaza); outline-offset: 2px; }
.cb-buscar__panel { position: absolute; left: 0; right: 0; top: 100%; z-index: 5; padding: 18px var(--wp--style--root--padding-left, 20px) 22px; background: var(--wp--preset--color--tinta); box-shadow: 0 8px 0 rgba(23, 18, 15, .12); }
.cb-buscar__panel[hidden] { display: none; }
.cb-buscar__form { display: flex; gap: 10px; max-width: 1240px; margin: 0 auto; }
.cb-buscar__input { flex: 1 1 auto; min-width: 0; min-height: 54px; padding: 0 16px; border: 2px solid var(--wp--preset--color--papel); background: var(--wp--preset--color--papel); color: var(--wp--preset--color--tinta); font: inherit; font-size: 19px; border-radius: 0; }
.cb-buscar__go { min-height: 54px; padding: 0 22px; border: 0; background: var(--wp--preset--color--mostaza); color: var(--wp--preset--color--tinta); font: inherit; font-weight: 800; cursor: pointer; border-radius: 0; }
.cb-buscar__go:hover { background: var(--wp--preset--color--papel); }
.cb-buscar__close { width: 54px; min-height: 54px; border: 2px solid var(--wp--preset--color--papel); background: transparent; color: var(--wp--preset--color--papel); font-size: 26px; line-height: 1; cursor: pointer; border-radius: 0; }
.cb-buscar__close:hover { background: var(--wp--preset--color--papel); color: var(--wp--preset--color--tinta); }
.cb-buscar__list { list-style: none; max-width: 1240px; max-height: min(60vh, 520px); overflow-y: auto; margin: 12px auto 0; padding: 0; background: var(--wp--preset--color--papel-claro); border: 2px solid var(--wp--preset--color--papel); }
.cb-buscar__list[hidden] { display: none; }
.cb-buscar__list li + li { border-top: 1px solid var(--wp--preset--color--piedra); }
.cb-buscar__item { display: grid; grid-template-columns: 130px minmax(0, 1fr) auto; align-items: baseline; gap: 4px 16px; padding: 12px 16px; color: var(--wp--preset--color--tinta) !important; text-decoration: none; }
.cb-buscar__item:hover, .cb-buscar__item.is-active { background: var(--wp--preset--color--mostaza); }
.cb-buscar__k { font-family: var(--wp--preset--font-family--mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--wp--preset--color--granate); }
.cb-buscar__t { font-weight: 700; }
.cb-buscar__s { font-family: var(--wp--preset--font-family--mono); font-size: 12px; color: var(--wp--preset--color--gris); text-align: right; }
.cb-buscar__item.is-active .cb-buscar__k, .cb-buscar__item:hover .cb-buscar__k { color: var(--wp--preset--color--tinta); }
.cb-buscar__more { display: block; font-weight: 800; text-align: center; }
.cb-buscar__empty { padding: 14px 16px; color: var(--wp--preset--color--gris); }
@media (max-width: 600px) {
	.cb-header__right .cb-buscar { order: -1; }
	.cb-header__right { gap: 8px !important; }
	.cb-buscar__panel { padding: 12px 12px 16px; }
	.cb-buscar__form { flex-wrap: wrap; }
	.cb-buscar__input { flex-basis: calc(100% - 64px); font-size: 17px; min-height: 50px; }
	.cb-buscar__close { order: 2; width: 50px; min-height: 50px; }
	.cb-buscar__go { order: 3; flex: 1 1 100%; min-height: 46px; }
	.cb-buscar__item { grid-template-columns: minmax(0, 1fr) auto; padding: 11px 12px; }
	.cb-buscar__k { grid-column: 1 / -1; }
	.cb-buscar__list { max-height: 55vh; }
}

/* Results page */
.cb-busqueda__sum { font-family: var(--wp--preset--font-family--mono); font-size: 13px; letter-spacing: .06em; text-transform: uppercase; margin: 24px 0 12px; }
.cb-busqueda .cb-gentepage__jump { margin-bottom: 32px; }
.cb-busqueda__sec + .cb-busqueda__sec { margin-top: 48px; }

/* ------------------------------------------------------------------
   Back to the top
------------------------------------------------------------------ */
.cb-arriba { position: fixed; left: 20px; bottom: 20px; z-index: 9980; width: 48px; height: 48px; display: inline-flex; align-items: center; justify-content: center; padding: 0; border: 2px solid var(--wp--preset--color--tinta); background: var(--wp--preset--color--papel); color: var(--wp--preset--color--tinta); box-shadow: 4px 4px 0 var(--wp--preset--color--tinta); cursor: pointer; border-radius: 0; transition: transform .15s, box-shadow .15s, background .15s; animation: cb-arriba-in .2s ease-out; }
.cb-arriba[hidden] { display: none; }
.cb-arriba:hover { background: var(--wp--preset--color--mostaza); transform: translate(-2px, -2px); box-shadow: 6px 6px 0 var(--wp--preset--color--tinta); }
.cb-arriba:focus-visible { outline: 3px solid var(--wp--preset--color--mostaza); outline-offset: 3px; }
@keyframes cb-arriba-in { from { transform: translateY(12px); opacity: 0; } to { transform: none; opacity: 1; } }
@media (max-width: 600px) {
	.cb-arriba { left: 12px; bottom: 12px; width: 44px; height: 44px; }
	html.cb-mini-on .cb-arriba { bottom: 84px; } /* above the audio player bar */
}
html.cb-visor-open .cb-arriba, html.cb-buscar-on .cb-arriba { display: none; }
@media (prefers-reduced-motion: reduce) { .cb-arriba { animation: none; transition: none; } }

/* ------------------------------------------------------------------
   Menu on medium screens: tighter, and the menu button below ~1060px
------------------------------------------------------------------ */
.cb-header > .wp-block-group { flex-wrap: nowrap !important; }
.cb-header .cb-marca { flex-shrink: 0; }
@media (max-width: 1280px) and (min-width: 600px) {
	.cb-header .wp-block-navigation { gap: 18px !important; font-size: 15.5px; }
	.cb-header__right { gap: 12px !important; }
}
@media (max-width: 1100px) and (min-width: 600px) {
	.cb-header .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex !important; }
	.cb-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none !important; }
	.cb-header .cb-header__right .cb-buscar { order: -1; }
	.cb-header .wp-block-navigation__responsive-container.is-menu-open { padding: 32px 40px; }
	.cb-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { align-items: flex-start; }
	.cb-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { flex-direction: column; align-items: flex-start; gap: 18px; }
}

/* ==================================================================
   0.7 — Más color
   ================================================================== */

/* Rótulo con contorno y sombra (estilo de bloque «Rótulo»; solo en la portada) */
.is-style-retro {
	color: var(--wp--preset--color--mostaza);
	-webkit-text-stroke: 4px var(--wp--preset--color--tinta);
	paint-order: stroke fill;
	text-shadow: 8px 8px 0 var(--wp--preset--color--tinta);
	letter-spacing: .01em;
}
.is-style-retro a { color: inherit !important; text-decoration: none; }
h1.is-style-retro { font-size: clamp(60px, 8.4vw, 128px); line-height: .9; margin: 18px 0 30px; }
h2.is-style-retro { font-size: clamp(48px, 6vw, 92px); line-height: .9; }
@media (max-width: 600px) {
	.is-style-retro { -webkit-text-stroke-width: 3px; text-shadow: 5px 5px 0 var(--wp--preset--color--tinta); }
	h1.is-style-retro { font-size: 15vw; }
}

/* Portada: buscador con sombra fija */
.cb-search--portada { max-width: 560px; }
.cb-search--portada .wp-block-search__inside-wrapper { box-shadow: 6px 6px 0 var(--wp--preset--color--tinta); }
.cb-portada-lema { }

/* Portada y página del año: el cartel pegado en la pared con celo */
.cb-cartel-hero { position: relative; transform: none; }
.cb-cartel-hero .cb-carteles--uno { position: relative; transform: rotate(3deg); max-width: 360px; margin-inline: auto; }
.cb-cartel-hero .cb-cartel { box-shadow: 10px 10px 0 var(--wp--preset--color--tinta); }
.cb-cartel-hero .cb-cartel:hover { transform: translate(-3px, -3px); box-shadow: 13px 13px 0 var(--wp--preset--color--tinta); }
.cb-cartel-hero .cb-carteles--uno::before,
.cb-carnaval-cartel .wp-block-post-featured-image::before {
	content: ""; position: absolute; z-index: 2; top: -14px; left: -24px; width: 104px; height: 30px;
	background: var(--wp--preset--color--mostaza); border: 2px solid var(--wp--preset--color--tinta); transform: rotate(-28deg);
}
.cb-cartel-hero .cb-sello-cuenta { position: absolute; z-index: 3; left: -36px; top: 42%; }
.cb-carnaval-cartel .wp-block-post-featured-image { transform: rotate(2.5deg); }
.cb-carnaval-cartel .wp-block-post-featured-image img { box-shadow: 10px 10px 0 var(--wp--preset--color--tinta); }
.cb-carnaval-cartel .wp-block-post-featured-image img:hover { box-shadow: 13px 13px 0 var(--wp--preset--color--tinta); }
@media (max-width: 781px) {
	.cb-cartel-hero { max-width: 250px !important; margin: 24px auto 0 !important; }
	.cb-cartel-hero .cb-carteles--uno { max-width: 250px; }
	.cb-cartel-hero .cb-sello-cuenta { left: -34px; top: 38%; }
}

/* Portada: hojas de color, como un programa de fiestas impreso en papeles distintos */
.cb-hoja { padding-top: var(--wp--preset--spacing--60) !important; padding-bottom: var(--wp--preset--spacing--60) !important; }
.cb-hoja--verde { background: var(--wp--preset--color--verde); color: #fff; }
.cb-hoja--verde .cb-efem__p, .cb-hoja--verde .cb-efem__k { color: #fff; }
.cb-hoja--azul { background: var(--wp--preset--color--azul); color: #fff; }
.cb-hoja--azul .is-style-retro { color: var(--wp--preset--color--papel-claro); }
.cb-hoja--azul a { color: #fff; }
.cb-hoja--azul .cb-carteles { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 22px; margin: 28px 0 40px; }
.cb-hoja--azul .cb-cartel { box-shadow: none; }
.cb-hoja--azul .cb-cartel:nth-child(odd) { transform: rotate(-1.5deg); }
.cb-hoja--azul .cb-cartel:nth-child(even) { transform: rotate(1.2deg); }
.cb-hoja--azul .cb-cartel:hover { transform: translate(-3px, -3px); box-shadow: 6px 6px 0 var(--wp--preset--color--tinta); }
.cb-hoja--azul .cb-cartel, .cb-hoja--azul .cb-cartel span { color: var(--wp--preset--color--tinta); }
.cb-hoja--azul .cb-anios { color: #fff; }
.cb-hoja--azul .cb-anios a { color: var(--wp--preset--color--tinta); }
.cb-hoja--mostaza { background: var(--wp--preset--color--mostaza); color: var(--wp--preset--color--tinta); }
.cb-hoja--mostaza .is-style-retro { color: var(--wp--preset--color--papel-claro); }
.cb-hoja--mostaza .wp-block-button__link { box-shadow: 4px 4px 0 var(--wp--preset--color--papel-claro); }
@media (max-width: 1000px) { .cb-hoja--azul .cb-carteles { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* Portada: la franja de categorías va de lado a lado, sin márgenes */
.cb-portada-cats { margin-top: 0 !important; }

/* Cifras con sombra fija y números en negro */
.cb-cifras .cb-cifras__n { color: var(--wp--preset--color--tinta); }

/* Banderines bajo la cabecera */
.cb-banderines { position: absolute; left: 0; top: 100%; width: 100%; height: 300px; pointer-events: none; z-index: 1; transition: opacity .3s; }
html.cb-scrolled .cb-banderines { opacity: 0; }

/* 0.7.1 — portada */
.cb-hoja + .cb-hoja { margin-block-start: 0 !important; }
.cb-hoja--azul .cb-carrusel { margin-top: 24px; }
.cb-hoja--azul .cb-carrusel .cb-cartel:nth-child(odd) { transform: rotate(-1.5deg); }
.cb-hoja--azul .cb-carrusel .cb-cartel:nth-child(even) { transform: rotate(1.2deg); }
.cb-hoja--azul .cb-carrusel .cb-cartel:hover { transform: translate(-3px, -3px); box-shadow: 6px 6px 0 var(--wp--preset--color--tinta); }
/* «Nuestro carnaval» en una sola fila en la portada (dos y dos en el móvil) */
.cb-portada-nc .cb-nc { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.cb-portada-nc .cb-nc__card { min-height: 260px; padding: 22px; }
.cb-portada-nc .cb-nc__title { font-size: clamp(26px, 2.5vw, 38px); }
.cb-portada-nc .cb-nc__text { font-size: 15px; }
@media (max-width: 900px) {
	.cb-portada-nc .cb-nc { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.cb-portada-nc .cb-nc__card { min-height: 190px; padding: 16px; }
	.cb-portada-nc .cb-nc__title { font-size: 24px; }
	.cb-portada-nc .cb-nc__text { display: none; }
	.cb-portada-nc .cb-nc__num { top: 10px; right: 12px; font-size: 12px; }
}
.cb-hoja--azul .cb-cartel__ph, .cb-hoja--azul .cb-cartel__ph span { color: var(--wp--preset--color--papel); }

/* 0.8 — titulares normales en la portada */
.cb-portada-titulo { font-size: clamp(64px, 9vw, 150px); line-height: .88; margin: 0 0 32px; }
.cb-portada-lema { margin-bottom: 22px !important; text-wrap: pretty; }
.cb-hoja--azul h2, .cb-hoja--azul h2 a { color: #fff !important; }
@media (max-width: 600px) { .cb-portada-titulo { font-size: 17vw; } }

/* 0.8.1 — texto negro en la franja verde; lema entre el título y el buscador */
.cb-hoja--verde, .cb-hoja--verde .cb-efem__p, .cb-hoja--verde .cb-efem__k, .cb-hoja--verde .cb-efem__t { color: var(--wp--preset--color--tinta) !important; }
.cb-portada-titulo { margin-bottom: 22px; }
.cb-portada-lema { max-width: 52ch; margin-left: 0 !important; margin-bottom: 30px !important; }
