/*
 * Archivo del Carnaval de Bollullos — basic look for the fichas and shortcodes.
 * Colours follow the identity guide; fonts are left to the theme.
 */
:root {
	--cb-granate: #7a1630;
	--cb-azul: #1f4e9c;
	--cb-verde: #1d8a5c;
	--cb-mostaza: #e8b931;
	--cb-tinta: #17120f;
	--cb-papel: #f2f0eb;
	--cb-papel-claro: #fbfaf7;
	--cb-piedra: #cfc8bc;
	--cb-gris: #4a433e;
	--cb-mono: ui-monospace, "IBM Plex Mono", SFMono-Regular, Menlo, Consolas, monospace;
}

.cb-ficha { color: var(--cb-tinta); }
.cb-ficha a { color: inherit; }
.cb-h { margin: 2.2em 0 .7em; padding-bottom: .4em; border-bottom: 2px solid var(--cb-tinta); text-transform: uppercase; letter-spacing: .01em; }

/* Tags */
.cb-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 1.2em; }
.cb-tag { display: inline-block; font-family: var(--cb-mono); font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; padding: 3px 8px; line-height: 1.4; }
.cb-tag--Co { background: var(--cb-granate); color: #fff; }
.cb-tag--Ch { background: var(--cb-mostaza); color: var(--cb-tinta); }
.cb-tag--Cu { background: var(--cb-verde); color: #fff; }
.cb-tag--Ro { background: var(--cb-tinta); color: var(--cb-papel); }
.cb-tag--In { background: var(--cb-papel-claro); color: var(--cb-tinta); border: 2px solid var(--cb-tinta); padding: 1px 6px; }
.cb-tag--Ot { color: var(--cb-gris); border: 2px dashed #8a8178; padding: 1px 6px; }
.cb-tag--line { border: 2px solid var(--cb-tinta); padding: 1px 6px; }
.cb-tag--azul { background: var(--cb-azul); color: #fff; }

/* Ficha */
.cb-video { margin: 0 0 1.5em; }
.cb-video iframe { width: 100%; height: auto; aspect-ratio: 16 / 9; border: 2px solid var(--cb-tinta); }
.cb-ficha__grid { display: flex; flex-wrap: wrap; gap: 32px; align-items: flex-start; }
.cb-ficha__main { flex: 1 1 420px; min-width: 0; }
.cb-ficha__datos { flex: 1 1 260px; border: 2px solid var(--cb-tinta); background: var(--cb-papel-claro); }
.cb-ficha__head { margin: 0; padding: 10px 18px; background: var(--cb-tinta); color: var(--cb-papel); font-family: var(--cb-mono); font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.cb-ficha__datos dl { margin: 0; padding: 4px 18px 8px; }
.cb-ficha__datos dl > div { padding: 12px 0; border-bottom: 1px solid var(--cb-piedra); }
.cb-ficha__datos dl > div:last-child { border-bottom: 0; }
.cb-ficha__datos dt { font-family: var(--cb-mono); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--cb-gris); }
.cb-ficha__datos dd { margin: 4px 0 0; font-weight: 700; }
.cb-pending { color: var(--cb-gris); font-weight: 400; font-style: italic; }
.cb-flags { display: flex; flex-wrap: wrap; gap: 6px; }
.cb-flag { font-family: var(--cb-mono); font-size: 12px; font-weight: 600; padding: 3px 8px; border: 2px dashed #8a8178; color: var(--cb-gris); text-decoration: line-through; }
.cb-flag.is-on { background: var(--cb-tinta); border: 2px solid var(--cb-tinta); color: var(--cb-papel); text-decoration: none; }
.cb-repertorio { list-style: none; margin: 0; padding: 0; }
.cb-repertorio li { display: flex; gap: 16px; padding: 10px 0; border-bottom: 1px solid var(--cb-piedra); }
.cb-repertorio__tipo { flex: 0 0 120px; font-family: var(--cb-mono); font-size: 13px; text-transform: uppercase; letter-spacing: .06em; }
.cb-audio { margin: 0 0 12px; }
.cb-inline { display: flex; flex-wrap: wrap; gap: 12px 32px; margin: 0 0 1.5em; }
.cb-inline dt { font-family: var(--cb-mono); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--cb-gris); }
.cb-inline dd { margin: 2px 0 0; font-weight: 700; }
.cb-prevnext { display: flex; justify-content: space-between; margin-top: 2em; padding-top: 1em; border-top: 2px solid var(--cb-tinta); font-weight: 700; }

/* Lists */
.cb-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 12px; }
.cb-item, .cb-card { display: flex; flex-direction: column; gap: 6px; height: 100%; box-sizing: border-box; padding: 14px 16px; border: 2px solid var(--cb-tinta); background: var(--cb-papel-claro); color: var(--cb-tinta); text-decoration: none; transition: transform .15s, box-shadow .15s; }
.cb-item:hover, .cb-card:hover { transform: translate(-3px, -3px); box-shadow: 6px 6px 0 var(--cb-tinta); color: var(--cb-tinta); }
.cb-item .cb-tag, .cb-card .cb-tag { align-self: flex-start; font-size: 11px; }
.cb-item__title, .cb-card__title { font-weight: 800; font-size: 1.1em; line-height: 1.15; }
.cb-item__meta, .cb-card__meta { font-size: .875em; color: var(--cb-gris); }

/* Figures */
.cb-cifras { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); border: 2px solid var(--cb-tinta); background: var(--cb-papel-claro); }
.cb-cifras > div { padding: 18px 20px; border-right: 2px solid var(--cb-tinta); margin-right: -2px; }
.cb-cifras__n { display: block; font-size: 3rem; font-weight: 900; line-height: 1; color: var(--cb-granate); }
.cb-cifras__l { display: block; margin-top: 6px; font-family: var(--cb-mono); font-size: 12px; letter-spacing: .06em; text-transform: uppercase; }

/* Historial */
.cb-historial { color: var(--cb-tinta); }
.cb-historial__chart { border: 2px solid var(--cb-tinta); background: var(--cb-papel-claro); padding: 16px 16px 10px; margin-bottom: 24px; }
.cb-bars { display: flex; align-items: flex-end; gap: 2px; height: 140px; }
.cb-bar { position: relative; flex: 1 1 0; min-width: 0; height: 100%; padding: 0; border: 0; background: transparent; cursor: pointer; display: flex; align-items: flex-end; }
.cb-bar__fill { position: relative; display: block; width: 100%; background: var(--cb-piedra); transition: background .12s; }
.cb-bar.is-on .cb-bar__fill { background: var(--cb-tinta); }
.cb-bar:hover .cb-bar__fill, .cb-bar:focus-visible .cb-bar__fill { background: var(--cb-mostaza); }
/* Number of agrupaciones, inside the bar at the bottom; year, under the axis. Both on hover. */
.cb-bar__n { position: absolute; left: 0; right: 0; bottom: 4px; text-align: center; font-family: var(--cb-mono); font-size: 12px; font-weight: 600; line-height: 1; color: var(--cb-tinta); opacity: 0; transition: opacity .12s; }
.cb-bar__y { position: absolute; top: calc(100% + 10px); left: 50%; transform: translateX(-50%); z-index: 2; padding: 0 6px; background: var(--cb-mostaza); color: var(--cb-tinta); font-family: var(--cb-mono); font-size: 12px; font-weight: 600; line-height: 18px; white-space: nowrap; opacity: 0; pointer-events: none; transition: opacity .12s; }
.cb-bar--start .cb-bar__y { left: 0; transform: none; }
.cb-bar--end .cb-bar__y { left: auto; right: 0; transform: none; }
.cb-bar__yn { display: none; }
@media (max-width: 600px) {
	.cb-bar__n { display: none; }
	.cb-bar__yn { display: inline; }
}
.cb-bar:hover .cb-bar__n, .cb-bar:focus-visible .cb-bar__n,
.cb-bar:hover .cb-bar__y, .cb-bar:focus-visible .cb-bar__y { opacity: 1; }
.cb-axis { display: flex; justify-content: space-between; margin-top: 6px; padding-top: 6px; min-height: 18px; line-height: 18px; border-top: 2px solid var(--cb-tinta); font-family: var(--cb-mono); font-size: 12px; color: var(--cb-gris); }
.cb-historial__filters { display: flex; flex-direction: column; gap: 14px; margin-bottom: 8px; }
.cb-historial__search span { display: block; font-family: var(--cb-mono); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 6px; }
.cb-historial__search input { width: 100%; box-sizing: border-box; min-height: 48px; padding: 0 14px; border: 2px solid var(--cb-tinta); background: var(--cb-papel-claro); font: inherit; color: var(--cb-tinta); border-radius: 0; }
.cb-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.cb-chip { min-height: 44px; padding: 0 14px; border: 2px solid var(--cb-tinta); background: var(--cb-papel-claro); color: var(--cb-tinta); font: inherit; font-size: 15px; font-weight: 700; cursor: pointer; border-radius: 0; }
.cb-chip small { font-family: var(--cb-mono); font-size: 12px; font-weight: 400; opacity: .8; }
.cb-chip:hover { background: #e8e3da; }
.cb-chip.is-on { background: var(--cb-tinta); color: var(--cb-papel); }
.cb-historial__bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; padding-top: 12px; border-top: 2px solid var(--cb-tinta); }
.cb-historial__summary { margin: 0; font-family: var(--cb-mono); font-size: 13px; text-transform: uppercase; }
.cb-vista { display: inline-flex; border: 2px solid var(--cb-tinta); }
.cb-vista__btn { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 14px; border: 0; background: var(--cb-papel-claro); color: var(--cb-tinta); font: inherit; font-size: 15px; font-weight: 700; cursor: pointer; border-radius: 0; }
.cb-vista__btn + .cb-vista__btn { border-left: 2px solid var(--cb-tinta); }
.cb-vista__btn:hover { background: #e8e3da; }
.cb-vista__btn.is-on { background: var(--cb-tinta); color: var(--cb-papel); }

/* Historial — list view: plain lines that become a cut-out card on hover */
.cb-year__list { flex: 1 1 520px; min-width: 0; display: flex; flex-direction: column; }
.cb-row { display: grid; grid-template-columns: 160px minmax(0, 1fr) auto; align-items: center; gap: 6px 18px; padding: 12px 14px; border: 2px solid transparent; box-shadow: inset 0 -1px 0 var(--cb-piedra); color: var(--cb-tinta); text-decoration: none; transition: transform .15s, box-shadow .15s, background .15s, border-color .15s; }
.cb-row:hover, .cb-row:focus-visible { border-color: var(--cb-tinta); background: var(--cb-papel-claro); box-shadow: 6px 6px 0 var(--cb-tinta); transform: translate(-3px, -3px); color: var(--cb-tinta); position: relative; z-index: 1; }
.cb-row .cb-tag { justify-self: start; font-size: 11px; }
.cb-row__title { display: block; font-weight: 800; font-stretch: 75%; font-size: 21px; line-height: 1.15; }
.cb-row__credits { display: block; margin-top: 3px; font-size: 14px; line-height: 1.45; color: var(--cb-gris); }
.cb-row__label { font-family: var(--cb-mono); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--cb-tinta); }
.cb-row__sep { color: var(--cb-piedra); }
.cb-row__media { display: flex; gap: 4px; justify-self: end; }
.cb-row__media .cb-flag, .cb-year__grid .cb-flag { font-size: 11px; padding: 2px 6px; }
@media (max-width: 640px) {
	.cb-row { grid-template-columns: minmax(0, 1fr); padding: 12px 8px; }
	.cb-row__media { justify-self: start; }
}
/* Historial — cards view */
.cb-historial__results.is-tarjetas .cb-year__grid { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 20px; }
.cb-year { display: flex; flex-wrap: wrap; gap: 12px 28px; padding: 24px 0; border-bottom: 2px solid var(--cb-tinta); }
.cb-year__head { flex: 0 0 140px; }
.cb-year__n { margin: 0; font-size: 3.5rem; font-weight: 900; line-height: .9; }
.cb-year__count { font-family: var(--cb-mono); font-size: 13px; }
.cb-year__grid { flex: 1 1 420px; min-width: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 12px; align-content: start; }

/* Shared bits */
.cb-kicker { display: block; font-family: var(--cb-mono); font-size: 13px; letter-spacing: .1em; text-transform: uppercase; }
.cb-hatch { background-color: #e2dcd1; background-image: repeating-linear-gradient(135deg, rgba(23, 18, 15, .08) 0 2px, transparent 2px 12px); }
.cb-empty { border: 2px dashed #8a8178; padding: 24px; color: var(--cb-gris); }
.cb-btn { display: inline-flex; align-items: center; min-height: 48px; padding: 0 20px; font-weight: 700; text-decoration: none; }
.cb-btn--ink { background: var(--cb-tinta); color: var(--cb-papel) !important; }

/* Cards (cb/tarjetas, cb/mediateca) */
.cb-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 24px; }
.cb-card2 { display: flex; flex-direction: column; border: 2px solid var(--cb-tinta); background: var(--cb-papel-claro); color: var(--cb-tinta); text-decoration: none; transition: transform .15s, box-shadow .15s; }
.cb-card2:hover { transform: translate(-3px, -3px); box-shadow: 6px 6px 0 var(--cb-tinta); color: var(--cb-tinta); }
.cb-card2__photo { position: relative; display: block; aspect-ratio: 4 / 3; border-bottom: 2px solid var(--cb-tinta); overflow: hidden; }
.cb-card2__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cb-card2__num { position: absolute; right: 14px; bottom: 10px; font-weight: 900; font-stretch: 62%; font-size: 72px; line-height: .8; color: var(--cb-tinta); }
.cb-card2__img + .cb-card2__num { color: #fff; text-shadow: 0 0 1px var(--cb-tinta), 3px 3px 0 var(--cb-tinta); }
.cb-card2__body { display: flex; flex-direction: column; gap: 10px; padding: 16px 18px 20px; flex: 1 1 auto; }
.cb-card2__body .cb-tag { align-self: flex-start; }
.cb-card2__title { font-weight: 800; font-stretch: 75%; font-size: 26px; line-height: 1.05; }
.cb-card2__sub { font-size: 15px; color: var(--cb-gris); }
.cb-card2__media { display: flex; gap: 6px; margin-top: auto; }
.cb-card2__media .cb-flag { font-size: 11px; padding: 2px 6px; }

/* Years (cb/anios) */
.cb-anios { border-top: 2px solid var(--cb-tinta); }
.cb-anios__row { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; padding: 16px 0; border-bottom: 2px solid var(--cb-tinta); }
.cb-anios__label { flex: 0 0 140px; font-weight: 900; font-stretch: 62%; font-size: 36px; line-height: 1; }
.cb-anios__years { flex: 1 1 400px; display: flex; flex-wrap: wrap; gap: 8px; }
.cb-yr { display: inline-flex; align-items: center; justify-content: center; min-width: 64px; min-height: 44px; padding: 0 10px; box-sizing: border-box; border: 2px solid var(--cb-tinta); background: var(--cb-papel-claro); color: var(--cb-tinta); font-family: var(--cb-mono); font-weight: 600; font-size: 15px; text-decoration: none; }
a.cb-yr:hover { background: var(--cb-tinta); color: var(--cb-papel); }
.cb-yr.is-off { border-style: dashed; border-color: #8a8178; color: var(--cb-gris); background: transparent; font-weight: 400; }
.cb-anios__note { display: flex; align-items: center; gap: 10px; font-size: 14px; color: var(--cb-gris); }
.cb-yr-key { display: inline-block; width: 28px; height: 18px; border: 2px dashed #8a8178; }

/* People (cb/gente) */
.cb-gente { list-style: none; margin: 0; padding: 0; }
.cb-gente li { border-top: 1px solid var(--cb-piedra); }
.cb-gente a { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 12px; padding: 11px 0; color: var(--cb-tinta); text-decoration: none; }
.cb-gente a:hover .cb-gente__name { text-decoration: underline; text-underline-offset: 4px; }
.cb-gente__name { font-weight: 700; }
.cb-gente__meta { font-family: var(--cb-mono); font-size: 13px; color: var(--cb-gris); }

/* Posters (cb/carteles) */
.cb-carteles { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 24px; align-items: start; }
/* Posters keep their real proportions: the width of their column, the height that goes with it. */
.cb-cartel { display: flex; flex-direction: column; border: 2px solid var(--cb-tinta); background: var(--cb-papel-claro); color: var(--cb-tinta); text-decoration: none; transition: transform .15s, box-shadow .15s; }
.cb-cartel:hover, .cb-cartel:focus-visible { transform: translate(-3px, -3px); box-shadow: 6px 6px 0 var(--cb-tinta); color: var(--cb-tinta); }
.cb-cartel img { display: block; width: 100%; height: auto !important; border-bottom: 2px solid var(--cb-tinta); }
.cb-cartel__cap { display: flex; justify-content: space-between; gap: 8px; padding: 10px 12px; font-size: 14px; }
.cb-cartel__cap span { color: var(--cb-gris); }

/* Breadcrumbs (cb/migas) */
.cb-migas { display: flex; flex-wrap: wrap; gap: 8px; font-family: var(--cb-mono); font-size: 13px; color: var(--cb-gris); }
.cb-migas a { color: var(--cb-gris); }
.cb-migas [aria-current] { color: var(--cb-tinta); }

/* Next muestra (cb/proximo) */
.cb-proximo { display: flex; flex-wrap: wrap; gap: 24px 48px; align-items: center; justify-content: space-between; background: var(--cb-mostaza); color: var(--cb-tinta); padding: clamp(24px, 4vw, 40px); }
.cb-proximo__title { flex: 1 1 320px; }
.cb-proximo__year { display: block; margin-top: 6px; font-weight: 900; font-stretch: 62%; font-size: clamp(40px, 5vw, 64px); line-height: .95; text-transform: uppercase; }
.cb-proximo__data { flex: 1 1 420px; margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 16px; }
.cb-proximo__data dt { font-family: var(--cb-mono); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
.cb-proximo__data dd { margin: 4px 0 0; font-weight: 700; font-size: 19px; }

:where(.cb-ficha, .cb-historial) :focus-visible { outline: 3px solid var(--cb-mostaza); outline-offset: 2px; }

/* Single poster (home) */
.cb-carteles--uno { grid-template-columns: 1fr; }
.cb-cartel__ph { display: flex; flex-direction: column; justify-content: space-between; aspect-ratio: 3 / 4; padding: 20px; box-sizing: border-box; border-bottom: 2px solid var(--cb-tinta); color: var(--cb-papel); background-color: #2a211c; background-image: repeating-linear-gradient(135deg, rgba(255, 255, 255, .07) 0 2px, transparent 2px 12px); }
.cb-cartel__big { font-weight: 900; font-stretch: 62%; font-size: 64px; line-height: .9; text-transform: uppercase; }

/* Photo gallery of an agrupación */
.cb-galeria { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 10px; }
.cb-galeria a { display: block; border: 2px solid var(--cb-tinta); overflow: hidden; }
.cb-galeria a:first-child { grid-column: span 2; grid-row: span 2; }
.cb-galeria img { width: 100%; height: 100%; aspect-ratio: 1; object-fit: cover; display: block; transition: transform .25s; }
.cb-galeria a:hover img { transform: scale(1.04); }
@media (max-width: 420px) { .cb-galeria a:first-child { grid-column: auto; grid-row: auto; } }
/* Embeds brought from the blog never overflow */
.cb-ficha iframe, .cb-ficha img, .cb-ficha video, .cb-ficha embed, .cb-ficha object { max-width: 100%; }
.cb-ficha__main img { height: auto; }

/* Facebook videos (own player; WordPress no longer embeds Facebook) */
.cb-video--facebook iframe { display: block; width: 100%; aspect-ratio: 16 / 9; height: auto; border: 2px solid var(--cb-tinta) !important; background: var(--cb-tinta); }
.cb-video--vertical iframe { max-width: 360px; aspect-ratio: 9 / 16; }
.cb-video__link { display: inline-block; margin-top: 6px; font-family: var(--cb-mono); font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--cb-gris) !important; }

/* Photographer credit */
.cb-credito { margin: 10px 0 0; font-family: var(--cb-mono); font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--cb-gris); }
.cb-galeria a { cursor: zoom-in; }

/* Photo viewer (carrusel) */
html.cb-visor-open { overflow: hidden; }
.cb-visor { position: fixed; inset: 0; z-index: 100000; background: rgba(23, 18, 15, .96); display: flex; align-items: center; justify-content: center; padding: 64px 72px 72px; box-sizing: border-box; }
.cb-visor[hidden] { display: none; }
.cb-visor__fig { margin: 0; max-width: 100%; max-height: 100%; display: flex; flex-direction: column; align-items: center; gap: 12px; }
.cb-visor__fig img { max-width: 100%; max-height: calc(100vh - 160px); width: auto; height: auto; object-fit: contain; border: 2px solid var(--cb-papel); background: #000; }
.cb-visor__cap { display: flex; gap: 16px; align-items: baseline; color: var(--cb-papel); font-family: var(--cb-mono); font-size: 13px; letter-spacing: .04em; text-align: center; }
.cb-visor__count { color: var(--cb-mostaza); white-space: nowrap; }
.cb-visor__btn { position: absolute; width: 52px; height: 52px; border: 2px solid var(--cb-papel); background: var(--cb-tinta); color: var(--cb-papel); font-size: 24px; line-height: 1; cursor: pointer; border-radius: 0; padding: 0; }
.cb-visor__btn:hover { background: var(--cb-mostaza); border-color: var(--cb-mostaza); color: var(--cb-tinta); }
.cb-visor__btn:focus-visible { outline: 3px solid var(--cb-mostaza); outline-offset: 2px; }
.cb-visor__prev { left: 12px; top: 50%; transform: translateY(-50%); }
.cb-visor__next { right: 12px; top: 50%; transform: translateY(-50%); }
.cb-visor__close { right: 12px; top: 12px; font-size: 30px; }
@media (max-width: 600px) {
	.cb-visor { padding: 60px 8px 80px; }
	.cb-visor__prev, .cb-visor__next { top: auto; bottom: 12px; transform: none; }
	.cb-visor__prev { left: calc(50% - 60px); }
	.cb-visor__next { right: calc(50% - 60px); }
}

/* ------------------------------------------------------------------
   Audio player with playlist (cb_audio_player)
------------------------------------------------------------------ */
.cb-player { --cb-progress: 0%; border: 2px solid var(--cb-tinta); background: var(--cb-papel-claro); color: var(--cb-tinta); }
.cb-player__deck { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 18px; padding: 18px 20px; background: var(--cb-tinta); color: var(--cb-papel); }
.cb-player__deck[hidden] { display: none; }
.cb-player button { font: inherit; border-radius: 0; cursor: pointer; }
.cb-player__play { width: 64px; height: 64px; display: flex; align-items: center; justify-content: center; border: 0; background: var(--cb-mostaza); color: var(--cb-tinta); transition: transform .15s, box-shadow .15s; }
.cb-player__play:hover { transform: translate(-2px, -2px); box-shadow: 4px 4px 0 var(--cb-papel); }
.cb-player .i-pause, .cb-player.is-playing .i-play { display: none; }
.cb-player.is-playing .i-pause { display: block; }
.cb-player__now { min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.cb-player__kicker { font-family: var(--cb-mono); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--cb-mostaza); }
.cb-player__title { font-weight: 900; font-stretch: 70%; font-size: clamp(22px, 2.6vw, 30px); line-height: 1.05; text-transform: uppercase; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cb-player__time { display: flex; align-items: center; gap: 10px; margin-top: 6px; font-family: var(--cb-mono); font-size: 12px; }
.cb-player__cur, .cb-player__dur { flex: 0 0 auto; min-width: 38px; }
.cb-player__dur { text-align: right; color: #d9d3c9; }
/* Seek bar: a printed rule that fills in mustard. */
.cb-player__seek { flex: 1 1 auto; min-width: 0; height: 24px; margin: 0; background: transparent; -webkit-appearance: none; appearance: none; cursor: pointer; }
.cb-player__seek::-webkit-slider-runnable-track { height: 6px; background: linear-gradient(to right, var(--cb-mostaza) var(--cb-progress), rgba(242, 240, 235, .25) var(--cb-progress)); }
.cb-player__seek::-moz-range-track { height: 6px; background: rgba(242, 240, 235, .25); }
.cb-player__seek::-moz-range-progress { height: 6px; background: var(--cb-mostaza); }
.cb-player__seek::-webkit-slider-thumb { -webkit-appearance: none; width: 14px; height: 18px; margin-top: -6px; background: var(--cb-papel); border: 0; }
.cb-player__seek::-moz-range-thumb { width: 14px; height: 18px; background: var(--cb-papel); border: 0; border-radius: 0; }
.cb-player__seek:focus-visible { outline: 3px solid var(--cb-mostaza); outline-offset: 2px; }
.cb-player__nav { display: flex; gap: 6px; }
.cb-player__nav button { width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; border: 2px solid var(--cb-papel); background: transparent; color: var(--cb-papel); }
.cb-player__nav button:hover { background: var(--cb-papel); color: var(--cb-tinta); }
.cb-player .i-mute, .cb-player.is-muted .i-vol { display: none; }
.cb-player.is-muted .i-mute { display: block; }
.cb-player :focus-visible { outline: 3px solid var(--cb-mostaza); outline-offset: 2px; }

/* Playlist */
.cb-player__list { list-style: none; margin: 0; padding: 6px 0; counter-reset: none; }
.cb-player__item + .cb-player__item { border-top: 1px solid var(--cb-piedra); }
.cb-player__track { width: 100%; display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; align-items: center; gap: 12px; min-height: 52px; padding: 8px 20px; border: 0; background: transparent; color: var(--cb-tinta); text-align: left; }
.cb-player__track:hover { background: #ece7de; }
.cb-player__num { font-family: var(--cb-mono); font-size: 13px; color: var(--cb-gris); }
.cb-player__name { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; min-width: 0; }
.cb-player__tipo { font-family: var(--cb-mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--cb-gris); min-width: 110px; }
.cb-player__tname { font-weight: 700; }
.cb-player__tdur { font-family: var(--cb-mono); font-size: 13px; color: var(--cb-gris); }
.cb-player__track.is-current { background: var(--cb-mostaza); }
.cb-player__track.is-current .cb-player__num, .cb-player__track.is-current .cb-player__tipo, .cb-player__track.is-current .cb-player__tdur { color: var(--cb-tinta); }
/* «Now playing» bars instead of the number */
.cb-player.is-playing .cb-player__track.is-current .cb-player__num { font-size: 0; display: inline-flex; align-items: flex-end; gap: 2px; height: 14px; }
.cb-player.is-playing .cb-player__track.is-current .cb-player__num::before,
.cb-player.is-playing .cb-player__track.is-current .cb-player__num::after { content: ""; width: 4px; background: var(--cb-tinta); animation: cb-eq .8s ease-in-out infinite alternate; }
.cb-player.is-playing .cb-player__track.is-current .cb-player__num::after { animation-delay: -.4s; }
@keyframes cb-eq { from { height: 3px; } to { height: 14px; } }
@media (prefers-reduced-motion: reduce) { .cb-player__num::before, .cb-player__num::after { animation: none !important; height: 10px !important; } }
.cb-player__fallback { display: block; width: calc(100% - 40px); margin: 0 20px 10px; }
.cb-player__count { margin: 0; padding: 8px 20px; border-top: 2px solid var(--cb-tinta); font-family: var(--cb-mono); font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--cb-gris); }
@media (max-width: 600px) {
	.cb-player__deck { grid-template-columns: auto minmax(0, 1fr); gap: 14px; padding: 16px; }
	.cb-player__play { width: 56px; height: 56px; }
	.cb-player__nav { grid-column: 1 / -1; justify-content: flex-start; }
	.cb-player__track { padding: 8px 14px; gap: 10px; grid-template-columns: 32px minmax(0, 1fr) auto; }
	.cb-player__tipo { min-width: 0; width: 100%; }
	.cb-player__tipo:empty { display: none; }
}

/* ------------------------------------------------------------------
   Videos: framed, titled, and lifted with the ink shadow while playing
------------------------------------------------------------------ */
.cb-cabecera { margin: 0 0 2.5em; display: flex; flex-direction: column; gap: 28px; }
.cb-cabecera:empty { display: none; }
.cb-cabecera__img { display: block; border: 2px solid var(--cb-tinta); cursor: zoom-in; transition: transform .15s, box-shadow .15s; }
.cb-cabecera__img:hover { transform: translate(-3px, -3px); box-shadow: 6px 6px 0 var(--cb-tinta); }
.cb-cabecera__img img { display: block; width: 100%; height: auto; max-height: 72vh; object-fit: cover; }
.cb-vframe { margin: 0; border: 2px solid var(--cb-tinta); background: var(--cb-tinta); transition: transform .2s, box-shadow .2s; }
.cb-vframe.is-playing { transform: translate(-4px, -4px); box-shadow: 8px 8px 0 var(--cb-tinta); }
.cb-vframe .cb-video { margin: 0; }
.cb-vframe iframe { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; border: 0 !important; }
.cb-vframe .cb-video--vertical iframe { max-width: 360px; margin: 0 auto; aspect-ratio: 9 / 16; }
.cb-vframe .cb-video__link { display: none; }
.cb-vframe > .cb-video > a:not(.cb-video__link) { display: block; padding: 40px 20px; color: var(--cb-papel) !important; text-align: center; }
.cb-vframe__cap { display: flex; align-items: baseline; gap: 10px; padding: 10px 14px; background: var(--cb-papel-claro); border-top: 2px solid var(--cb-tinta); font-weight: 700; font-size: 16px; line-height: 1.3; color: var(--cb-tinta); }
.cb-vframe__icon { font-size: 11px; color: var(--cb-granate); }
.cb-vframe.is-playing .cb-vframe__cap { background: var(--cb-mostaza); }
.cb-vframe.is-playing .cb-vframe__icon { color: var(--cb-tinta); }
.cb-videos { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 28px; align-items: start; }
@media (prefers-reduced-motion: reduce) { .cb-vframe, .cb-cabecera__img { transition: none; } }

/* ------------------------------------------------------------------
   Player extras (0.7): shuffle, ☆ per track, «Añadir todas»
------------------------------------------------------------------ */
.cb-player__item { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
.cb-player__item > .cb-player__fallback { grid-column: 1 / -1; }
.cb-player__item:has(.cb-player__track.is-current) { background: var(--cb-mostaza); }
.cb-player__shuffle.is-on { background: var(--cb-mostaza) !important; border-color: var(--cb-mostaza) !important; color: var(--cb-tinta) !important; }

.cb-fav { flex: 0 0 auto; display: inline-flex !important; visibility: visible !important; align-items: center; justify-content: center; width: 44px; height: 44px; margin-right: 12px; padding: 0; border: 2px solid transparent; background: transparent; color: var(--cb-tinta); cursor: pointer; border-radius: 0; font: inherit; }
.cb-fav__star { display: block; width: 22px; height: 22px; fill: none; }
.cb-fav.is-on .cb-fav__star { fill: currentColor; }
.cb-fav.is-on { color: var(--cb-granate); }
.cb-fav:hover { border-color: var(--cb-tinta); background: var(--cb-papel); }
.cb-fav:focus-visible { outline: 3px solid var(--cb-mostaza); outline-offset: 2px; }
/* The ☆ in the deck */
.cb-player__nav .cb-player__fav { margin: 0; }
.cb-player__nav .cb-player__fav { color: var(--cb-papel); }
.cb-player__nav .cb-player__fav.is-on { color: var(--cb-mostaza); }
.cb-player__nav .cb-player__fav:hover { color: var(--cb-tinta); }
.cb-player--milista .cb-player__fav { display: none; }

.cb-player__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 16px; border-top: 2px solid var(--cb-tinta); padding-right: 12px; }
.cb-player__foot .cb-player__count { border-top: 0; }
.cb-player__addall { min-height: 36px; padding: 0 14px; border: 2px solid var(--cb-tinta) !important; background: transparent; color: var(--cb-tinta); font-weight: 700 !important; font-size: 14px !important; }
.cb-player__addall:hover:not(:disabled) { background: var(--cb-tinta); color: var(--cb-papel); }
.cb-player__addall:disabled { border-color: transparent !important; color: var(--cb-granate); cursor: default; }
.cb-player__addall[hidden] { display: none; }

/* Counter next to «Mi lista» in the menu */
.cb-badge { display: inline-block; min-width: 1.6em; margin-left: 6px; padding: 1px 6px; background: var(--cb-granate); color: var(--cb-papel); font-family: var(--cb-mono); font-size: 11px; font-weight: 700; line-height: 1.5; text-align: center; vertical-align: 2px; }
.cb-badge[hidden] { display: none; }

/* Small notice */
.cb-toast { position: fixed; left: 50%; bottom: 20px; z-index: 9999; max-width: calc(100% - 32px); padding: 12px 18px; background: var(--cb-tinta); color: var(--cb-papel); box-shadow: 6px 6px 0 var(--cb-mostaza); font-weight: 700; font-size: 15px; transform: translate(-50%, 140%); opacity: 0; transition: transform .2s, opacity .2s; pointer-events: none; }
.cb-toast.is-on { transform: translate(-50%, 0); opacity: 1; pointer-events: auto; }
.cb-toast a { margin-left: 6px; color: var(--cb-mostaza) !important; }
@media (prefers-reduced-motion: reduce) { .cb-toast { transition: none; } }

/* ------------------------------------------------------------------
   «Mi lista» page
------------------------------------------------------------------ */
.cb-btn { border: 2px solid transparent; font: inherit; font-weight: 700; cursor: pointer; border-radius: 0; gap: 8px; }
.cb-btn--ink { border-color: var(--cb-tinta); }
.cb-btn--ink:hover { background: var(--cb-granate); border-color: var(--cb-granate); }
.cb-btn--line { border-color: var(--cb-tinta); background: transparent; color: var(--cb-tinta) !important; }
.cb-btn--line:hover { background: var(--cb-tinta); color: var(--cb-papel) !important; }
.cb-btn--plain { background: transparent; color: var(--cb-gris) !important; text-decoration: underline; text-underline-offset: 3px; }
.cb-btn--plain:hover { color: var(--cb-granate) !important; }

.cb-milista { width: min(1240px, calc(100% - 2 * var(--wp--style--root--padding-left, 16px))); margin: 0 auto; padding: clamp(32px, 6vw, 72px) 0 0; color: var(--cb-tinta); }
.cb-milista__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 20px 40px; margin-bottom: 28px; }
.cb-milista__title { margin: 8px 0 0; font-weight: 900; font-stretch: 62%; font-size: clamp(56px, 9vw, 120px); line-height: .86; text-transform: uppercase; }
.cb-milista__sum { margin: 12px 0 0; font-family: var(--cb-mono); font-size: 13px; letter-spacing: .06em; text-transform: uppercase; }
.cb-milista__actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.cb-milista__actions[hidden], .cb-milista__actions [hidden] { display: none; }
.cb-milista__shared { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; margin-bottom: 20px; padding: 20px; background: var(--cb-mostaza); }
.cb-milista__shared[hidden] { display: none; }
.cb-milista__shared-txt { flex: 1 1 260px; margin: 0; font-weight: 700; font-size: 18px; }
.cb-milista__notice { margin: 0 0 20px; padding: 12px 16px; border-left: 6px solid var(--cb-granate); background: var(--cb-papel-claro); font-weight: 600; }
.cb-milista__notice[hidden] { display: none; }
.cb-player--milista[hidden] { display: none; }
.cb-milista__item { grid-template-columns: minmax(0, 1fr) auto; }
.cb-milista__tt { display: flex; flex-direction: column; min-width: 0; }
.cb-milista__from { font-size: 14px; color: var(--cb-gris); }
.cb-player__track.is-current .cb-milista__from { color: var(--cb-tinta); }
.cb-milista__tools { display: flex; gap: 4px; padding-right: 12px; }
.cb-milista__btn { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border: 2px solid transparent; background: transparent; color: var(--cb-tinta) !important; font-size: 18px; font-weight: 700; text-decoration: none; cursor: pointer; border-radius: 0; }
.cb-milista__btn:hover:not(:disabled) { border-color: var(--cb-tinta); background: var(--cb-papel); }
.cb-milista__btn:disabled { opacity: .3; cursor: default; }
.cb-milista__del:hover:not(:disabled) { border-color: var(--cb-granate); color: var(--cb-granate) !important; }
.cb-milista__btn:focus-visible { outline: 3px solid var(--cb-mostaza); outline-offset: 2px; }
.cb-milista__empty { padding: clamp(28px, 5vw, 56px); border: 2px dashed #8a8178; text-align: center; }
.cb-milista__empty[hidden] { display: none; }
.cb-milista__empty-big { margin: 0 0 8px; font-weight: 900; font-stretch: 70%; font-size: clamp(26px, 3.4vw, 40px); line-height: 1.05; text-transform: uppercase; }
.cb-milista__empty p { max-width: 52ch; margin-left: auto; margin-right: auto; }
.cb-fav__demo { color: var(--cb-granate); font-size: 1.2em; }
@media (max-width: 600px) {
	.cb-fav { margin-right: 6px; }
	.cb-milista__actions { width: 100%; }
	.cb-milista__tools { padding-right: 6px; gap: 0; }
	.cb-milista__btn { width: 36px; height: 40px; }
	.cb-milista__item { grid-template-columns: minmax(0, 1fr); }
	.cb-milista__tools { justify-content: flex-end; padding: 0 8px 6px; }
	.cb-player__track .cb-player__tipo:empty { display: none; }
}

/* Mode button: normal → en bucle → aleatorio */
.cb-player__mode svg { display: none; }
.cb-player__mode[data-mode="normal"] .i-normal,
.cb-player__mode[data-mode="bucle"] .i-bucle,
.cb-player__mode[data-mode="aleatorio"] .i-aleatorio { display: block; }
.cb-player__nav .cb-player__mode.is-on { background: var(--cb-mostaza); border-color: var(--cb-mostaza); color: var(--cb-tinta); }
.cb-player__nav .cb-player__mode { position: relative; }
.cb-player__nav .cb-player__mode[data-mode="bucle"]::after,
.cb-player__nav .cb-player__mode[data-mode="aleatorio"]::after { content: ""; position: absolute; left: 50%; bottom: -8px; width: 5px; height: 5px; margin-left: -2.5px; background: var(--cb-mostaza); }

/* ------------------------------------------------------------------
   Mini player (keeps sounding from page to page)
------------------------------------------------------------------ */
.cb-mini { position: fixed; right: 20px; bottom: 20px; z-index: 9990; width: min(420px, calc(100vw - 40px)); display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 12px 10px 10px 12px; box-sizing: border-box; background: var(--cb-tinta); color: var(--cb-papel); border: 2px solid var(--cb-tinta); box-shadow: 6px 6px 0 var(--cb-mostaza); animation: cb-mini-in .22s ease-out; }
.cb-mini[hidden] { display: none; }
@keyframes cb-mini-in { from { transform: translateY(16px); opacity: 0; } to { transform: none; opacity: 1; } }
.cb-mini button { font: inherit; border-radius: 0; cursor: pointer; }
.cb-mini__bar { position: absolute; left: 0; right: 0; top: 0; height: 3px; background: rgba(242, 240, 235, .2); }
.cb-mini__fill { display: block; height: 100%; width: 0; background: var(--cb-mostaza); }
.cb-mini__play { width: 46px; height: 46px; display: flex; align-items: center; justify-content: center; padding: 0; border: 0; background: var(--cb-mostaza); color: var(--cb-tinta); }
.cb-mini__play:hover { background: var(--cb-papel); }
.cb-mini .i-pause, .cb-mini.is-playing .i-play { display: none; }
.cb-mini.is-playing .i-pause { display: block; }
.cb-mini__info { min-width: 0; display: flex; flex-direction: column; gap: 3px; color: var(--cb-papel) !important; text-decoration: none; }
.cb-mini__info[href]:hover .cb-mini__title { text-decoration: underline; text-underline-offset: 3px; }
.cb-mini__kicker { font-family: var(--cb-mono); font-size: 11px; letter-spacing: .05em; text-transform: uppercase; color: var(--cb-mostaza); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cb-mini__title { font-weight: 900; font-stretch: 75%; font-size: 17px; line-height: 1.15; text-transform: uppercase; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cb-mini__btns { display: flex; gap: 2px; }
.cb-mini__btns button { width: 36px; height: 40px; display: flex; align-items: center; justify-content: center; padding: 0; border: 2px solid transparent; background: transparent; color: var(--cb-papel); font-size: 22px; line-height: 1; }
.cb-mini__btns button:hover { border-color: var(--cb-papel); }
.cb-mini :focus-visible { outline: 3px solid var(--cb-mostaza); outline-offset: 2px; }
/* Room for it at the end of the page, and the notices above it */
html.cb-mini-on .cb-footer { padding-bottom: calc(var(--wp--preset--spacing--30, 24px) + 96px) !important; }
html.cb-mini-on .cb-toast { bottom: 104px; }
@media (max-width: 600px) {
	.cb-mini { right: 0; left: 0; bottom: 0; width: 100%; gap: 10px; padding: 10px 6px calc(8px + env(safe-area-inset-bottom)) 10px; border: 0; border-top: 2px solid var(--cb-mostaza); box-shadow: 0 -4px 16px rgba(23, 18, 15, .25); }
	.cb-mini__play { width: 44px; height: 44px; }
	.cb-mini__title { font-size: 16px; }
	.cb-mini__btns button { width: 34px; }
	html.cb-mini-on .cb-footer { padding-bottom: calc(var(--wp--preset--spacing--30, 24px) + 80px) !important; }
	html.cb-mini-on .cb-toast { bottom: 84px; }
}
@media (prefers-reduced-motion: reduce) { .cb-mini { animation: none; } }

/* While the next page loads (only when it changes without reloading) */
html.cb-cargando main { opacity: .45; transition: opacity .2s .1s; }
/* Mientras carga otra página sin recargar: una barra fina arriba (sin tocar el cursor). */
html.cb-cargando::before { content: ""; position: fixed; top: 0; left: 0; z-index: 100000; height: 3px; width: 40%; background: var(--cb-mostaza); animation: cb-cargando 1s ease-in-out infinite; }
@keyframes cb-cargando { from { transform: translateX(-100%); } to { transform: translateX(260%); } }
main:focus { outline: none; }

/* ------------------------------------------------------------------
   Videos that keep playing from page to page (videos.js)
------------------------------------------------------------------ */
.cb-vslot { display: block; width: 100%; margin: 0 auto; background: var(--cb-tinta); }
.cb-vlayer { position: relative; height: 0; } /* no stacking context of its own: docked videos sit under the fixed header, the corner one above everything */
.cb-vfloat { position: absolute; z-index: 5; left: 0; top: 0; width: 0; height: 0; display: flex; flex-direction: column; background: var(--cb-tinta); }
.cb-vfloat__media { flex: 1 1 auto; min-height: 0; }
.cb-vfloat__media iframe { display: block; width: 100% !important; height: 100% !important; max-width: none !important; aspect-ratio: auto !important; border: 0 !important; margin: 0 !important; }
.cb-vfloat__bar { display: none; }
/* In a corner */
.cb-vfloat.is-mini { position: fixed; left: auto !important; top: auto !important; right: 20px; bottom: 20px; width: 400px !important; height: auto !important; z-index: 9995; border: 2px solid var(--cb-tinta); box-shadow: 6px 6px 0 var(--cb-mostaza); animation: cb-vmini-in .22s ease-out; }
/* Only movement, never transparency: Facebook's player mutes itself if it is ever see-through. */
@keyframes cb-vmini-in { from { transform: translateY(24px); } to { transform: none; } }
.cb-vfloat.is-mini.is-big { width: min(720px, calc(100vw - 40px)) !important; }
.cb-vfloat.is-mini.is-vertical { width: 230px !important; }
.cb-vfloat.is-mini.is-vertical.is-big { width: 340px !important; }
.cb-vfloat.is-mini .cb-vfloat__media { aspect-ratio: var(--cb-vr, 16 / 9); }
.cb-vfloat.is-mini.is-vertical .cb-vfloat__media { max-height: calc(100vh - 120px); }
.cb-vfloat.is-mini .cb-vfloat__bar { display: flex; align-items: center; gap: 2px; padding: 4px 4px 4px 12px; background: var(--cb-tinta); color: var(--cb-papel); }
.cb-vfloat__title { flex: 1 1 auto; min-width: 0; font-weight: 900; font-stretch: 75%; font-size: 15px; line-height: 1.2; text-transform: uppercase; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cb-vfloat.is-playing .cb-vfloat__title::before { content: "▶ "; color: var(--cb-mostaza); }
.cb-vfloat__btn { flex: 0 0 auto; width: 34px; height: 34px; display: inline-flex; align-items: center; justify-content: center; padding: 0; border: 2px solid transparent; background: transparent; color: var(--cb-papel) !important; font: inherit; font-size: 20px; line-height: 1; text-decoration: none; cursor: pointer; border-radius: 0; }
.cb-vfloat__btn:hover { border-color: var(--cb-papel); }
.cb-vfloat__btn:focus-visible { outline: 3px solid var(--cb-mostaza); outline-offset: 1px; }
.cb-vfloat__go { font-size: 17px; }
/* The audio mini player steps aside while a video is in the corner */
html.cb-vmini-on .cb-mini { display: none !important; }
/* …and the notices move to the top so they never cover it */
html.cb-vmini-on .cb-toast { bottom: auto; top: calc(var(--cb-header-h, 70px) + 16px); }
@media (max-width: 600px) {
	.cb-vfloat.is-mini { right: 10px; bottom: 10px; width: calc(100vw - 20px) !important; max-width: 420px; box-shadow: 4px 4px 0 var(--cb-mostaza); }
	.cb-vfloat.is-mini:not(.is-big) { width: 62vw !important; }
	.cb-vfloat.is-mini.is-vertical { width: 42vw !important; }
	.cb-vfloat.is-mini.is-vertical.is-big { width: 70vw !important; }
	.cb-vfloat.is-mini.is-vertical .cb-vfloat__media { max-height: 60vh; }
	.cb-vfloat__title { font-size: 13px; }
	.cb-vfloat__btn { width: 30px; height: 32px; font-size: 18px; }
}
@media (prefers-reduced-motion: reduce) { .cb-vfloat.is-mini { animation: none; } }

/* ------------------------------------------------------------------
   Historial: fixed bar of decades and years
------------------------------------------------------------------ */
.cb-hnav { position: sticky; top: calc(var(--cb-adminbar, 0px) + var(--cb-header-h, 0px)); z-index: 50; margin: 0 0 22px; padding: 10px 0; background: var(--cb-papel); border-bottom: 2px solid transparent; transition: border-color .15s, box-shadow .15s; }
html.cb-scrolled .cb-hnav.is-reading { border-bottom-color: var(--cb-tinta); box-shadow: 0 6px 0 -4px rgba(23, 18, 15, .08); }
.cb-hnav .cb-chip { position: relative; }
.cb-hnav .cb-chip.is-here { box-shadow: inset 0 -5px 0 var(--cb-mostaza); }
.cb-hnav__years { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.cb-hnav__years[hidden] { display: none; }
.cb-yearchip { min-width: 58px; min-height: 36px; padding: 0 10px; border: 2px solid var(--cb-tinta); background: var(--cb-papel-claro); color: var(--cb-tinta); font-family: var(--cb-mono); font-size: 14px; font-weight: 700; cursor: pointer; border-radius: 0; transition: background .12s; }
.cb-yearchip:hover:not(:disabled) { background: #e8e3da; }
.cb-yearchip.is-here { background: var(--cb-mostaza); }
.cb-yearchip:disabled { border-style: dashed; border-color: #a39b91; color: #8a8178; background: transparent; cursor: default; }
.cb-yearchip:focus-visible { outline: 3px solid var(--cb-mostaza); outline-offset: 2px; }
.cb-chips--sm .cb-chip { min-height: 36px; padding: 0 12px; font-size: 14px; }
.cb-historial__bar .cb-chips--sm { margin-right: auto; }
@media (max-width: 700px) {
	/* One line each, sliding sideways, so the fixed bar stays short */
	.cb-hnav { margin-left: calc(-1 * var(--wp--style--root--padding-left, 16px)); margin-right: calc(-1 * var(--wp--style--root--padding-right, 16px)); padding-left: var(--wp--style--root--padding-left, 16px); padding-right: var(--wp--style--root--padding-right, 16px); }
	.cb-hnav__dec, .cb-hnav__years { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
	.cb-hnav__dec::-webkit-scrollbar, .cb-hnav__years::-webkit-scrollbar { display: none; }
	.cb-hnav .cb-chip, .cb-yearchip { flex: 0 0 auto; }
	.cb-hnav .cb-chip { min-height: 40px; padding: 0 12px; font-size: 14px; }
	.cb-yearchip { min-width: 52px; min-height: 34px; font-size: 13px; }
}

/* Gente page: search, people, peñas and groups */
.cb-gentepage__tools { display: flex; flex-direction: column; gap: 12px; margin: 8px 0 28px; }
.cb-gentepage__jump { display: flex; flex-wrap: wrap; gap: 8px; }
.cb-gentepage__jump .cb-chip { display: inline-flex; align-items: center; gap: 6px; text-decoration: none; }
.cb-gentepage__none { margin: 0; padding: 16px; border: 2px dashed #8a8178; color: var(--cb-gris); }
.cb-gentepage__none[hidden], .cb-gentepage__sec[hidden], .cb-gente li[hidden] { display: none; }
.cb-gentepage__sec + .cb-gentepage__sec { margin-top: 56px; }
.cb-gentepage__count { font-family: var(--cb-mono); font-size: .45em; font-weight: 400; letter-spacing: .04em; color: var(--cb-gris); vertical-align: middle; }
.cb-gentepage__intro { margin: -4px 0 14px; color: var(--cb-gris); max-width: 62ch; }
.cb-gentepage__panel[hidden], .cb-gente__mas[hidden] { display: none; }
/* The switch: two big printed cards, the chosen one in yellow with its hard shadow */
.cb-gentepage__switch { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin: 26px 0 30px; }
.cb-gsw { display: grid; grid-template-columns: auto 1fr; grid-template-areas: "n t" "s s"; align-items: center; gap: 4px 18px; padding: 18px 22px 16px; border: 3px solid var(--cb-tinta); background: var(--cb-papel-claro); color: var(--cb-tinta); font: inherit; text-align: left; cursor: pointer; border-radius: 0; transition: box-shadow .15s, transform .15s, background .15s; }
.cb-gsw__n { grid-area: n; font-weight: 900; font-stretch: 62%; font-size: clamp(52px, 6vw, 84px); line-height: .85; }
.cb-gsw__t { grid-area: t; font-weight: 900; font-stretch: 70%; font-size: clamp(22px, 2.4vw, 32px); line-height: .95; text-transform: uppercase; }
.cb-gsw__s { grid-area: s; margin-top: 10px; padding-top: 10px; border-top: 2px solid currentColor; font-family: var(--cb-mono); font-size: 12px; letter-spacing: .06em; text-transform: uppercase; }
.cb-gsw.is-on { background: var(--cb-mostaza); box-shadow: 6px 6px 0 var(--cb-tinta); transform: translate(-3px, -3px); cursor: default; }
@media (hover: hover) { .cb-gsw:not(.is-on):hover { box-shadow: 6px 6px 0 var(--cb-tinta); transform: translate(-3px, -3px); } }
.cb-gsw:focus-visible { outline: 3px solid var(--cb-azul); outline-offset: 4px; }
.cb-gentepage__search { display: block; max-width: 560px; margin-bottom: 8px; }
.cb-gentepage__panel { margin-top: 10px; }
.cb-gentepage__panel .cb-gentepage__sec:first-child .cb-h { margin-top: 1.2em; }
.cb-gentepage__vacio { margin: 0; padding: 18px; border: 2px dashed #8a8178; color: var(--cb-gris); max-width: 62ch; }
/* Ranked lists: two columns on wide screens */
.cb-gente--rank { counter-reset: none; }
.cb-gente--rank li { break-inside: avoid; }
.cb-gente--rank a { display: grid; grid-template-columns: 2.6em 1fr; gap: 2px 8px; align-items: baseline; }
.cb-gente__pos { grid-row: span 2; font-family: var(--cb-mono); font-size: 13px; color: var(--cb-gris); text-align: right; padding-right: 6px; }
.cb-gente--rank li:nth-child(-n+3) .cb-gente__pos { color: var(--cb-tinta); font-weight: 600; }
.cb-gente--rank .cb-gente__meta { grid-column: 2; }
@media (min-width: 900px) { .cb-gente--rank { columns: 2; column-gap: 48px; } }
.cb-gente__mas { margin-top: 18px; }
@media (max-width: 600px) {
	.cb-gentepage__switch { gap: 12px; }
	.cb-gsw { grid-template-columns: 1fr; grid-template-areas: "n" "t"; padding: 14px 14px 12px; }
	.cb-gsw__s { display: none; }
	.cb-gsw__t { font-size: 19px; }
}
.cb-tag--ink { background: var(--cb-tinta); color: var(--cb-papel); padding: 3px 8px; }
.cb-hnav .cb-chip:disabled { border-style: dashed; border-color: #a39b91; color: #8a8178; background: transparent; cursor: default; }

/* ------------------------------------------------------------------
   «¿Tienes algo de…?» — aportaciones
------------------------------------------------------------------ */
.cb-aportar { margin: 56px 0; padding: clamp(20px, 3vw, 32px); border: 2px solid var(--cb-tinta); background: var(--cb-papel-claro); color: var(--cb-tinta); box-shadow: 6px 6px 0 var(--cb-mostaza); }
.cb-aportar-wrap .cb-aportar { margin-top: 0; }
.cb-aportar__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 32px; }
.cb-aportar__title { margin: 6px 0 6px; font-weight: 900; font-stretch: 70%; font-size: clamp(26px, 3.2vw, 38px); line-height: 1.02; text-transform: uppercase; }
.cb-aportar__lead { margin: 0; max-width: 62ch; color: var(--cb-gris); }
.cb-aportar__form { display: flex; flex-direction: column; gap: 18px; margin-top: 24px; padding-top: 22px; border-top: 2px solid var(--cb-tinta); }
.cb-aportar__form[hidden], .cb-aportar__done[hidden], .cb-aportar__open[hidden], .cb-aportar__files[hidden], .cb-aportar__progress[hidden] { display: none; }
.cb-aportar fieldset { margin: 0; padding: 0; border: 0; min-width: 0; }
.cb-aportar legend, .cb-aportar__field > span { display: block; margin-bottom: 8px; font-family: var(--cb-mono); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
.cb-aportar__field small { text-transform: none; letter-spacing: 0; color: var(--cb-gris); }
.cb-aportar__kinds { display: flex; flex-wrap: wrap; gap: 8px; }
.cb-aportar__kinds legend { width: 100%; }
.cb-aportar__kind { position: relative; cursor: pointer; }
.cb-aportar__kind input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.cb-aportar__kind span { display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px; border: 2px solid var(--cb-tinta); background: var(--cb-papel); font-weight: 700; font-size: 15px; }
.cb-aportar__kind input:checked + span { background: var(--cb-tinta); color: var(--cb-papel); }
.cb-aportar__kind input:checked + span::before { content: "✓ "; white-space: pre; }
.cb-aportar__kind input:focus-visible + span { outline: 3px solid var(--cb-mostaza); outline-offset: 2px; }
.cb-aportar__field { display: block; }
.cb-aportar input[type="text"], .cb-aportar textarea { width: 100%; box-sizing: border-box; padding: 12px 14px; border: 2px solid var(--cb-tinta); background: var(--cb-papel); color: var(--cb-tinta); font: inherit; border-radius: 0; }
.cb-aportar input[type="text"] { min-height: 48px; }
.cb-aportar input:focus-visible, .cb-aportar textarea:focus-visible, .cb-aportar button:focus-visible { outline: 3px solid var(--cb-mostaza); outline-offset: 2px; }
.cb-aportar__row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.cb-aportar__drop { position: relative; display: flex; align-items: center; justify-content: center; min-height: 88px; padding: 16px; border: 2px dashed var(--cb-tinta); background: var(--cb-papel); text-align: center; cursor: pointer; }
.cb-aportar__drop.is-over { background: var(--cb-mostaza); }
.cb-aportar__drop input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.cb-aportar__drop:focus-within { outline: 3px solid var(--cb-mostaza); outline-offset: 2px; }
.cb-aportar__dropt { font-size: 15px; color: var(--cb-gris); }
.cb-aportar__dropt b { color: var(--cb-tinta); text-decoration: underline; text-underline-offset: 3px; }
.cb-aportar__files { list-style: none; margin: 10px 0 0; padding: 0; border-top: 1px solid var(--cb-piedra); }
.cb-aportar__files li { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 6px 0; border-bottom: 1px solid var(--cb-piedra); font-family: var(--cb-mono); font-size: 13px; word-break: break-all; }
.cb-aportar__files li.is-bad { color: var(--cb-granate); }
.cb-aportar__files button { flex: 0 0 auto; width: 32px; height: 32px; border: 2px solid transparent; background: transparent; font-size: 18px; cursor: pointer; }
.cb-aportar__files button:hover { border-color: var(--cb-tinta); }
.cb-aportar__credit { display: flex; flex-wrap: wrap; gap: 8px 24px; }
.cb-aportar__credit legend { width: 100%; }
.cb-aportar__credit label, .cb-aportar__check { display: flex; align-items: flex-start; gap: 10px; font-size: 15px; line-height: 1.4; cursor: pointer; }
.cb-aportar input[type="radio"], .cb-aportar input[type="checkbox"]:not(.cb-aportar__kind input) { flex: 0 0 auto; width: 20px; height: 20px; margin: 1px 0 0; accent-color: var(--cb-tinta); }
.cb-aportar__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.cb-aportar__send { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; }
.cb-aportar__progress { flex: 1 1 160px; max-width: 320px; height: 8px; background: var(--cb-piedra); }
.cb-aportar__progress span { display: block; height: 100%; width: 0; background: var(--cb-mostaza); transition: width .2s; }
.cb-aportar__msg { flex: 1 1 100%; margin: 0; font-weight: 600; }
.cb-aportar__msg.is-bad { color: var(--cb-granate); }
.cb-aportar__msg:empty { display: none; }
.cb-aportar__done { margin-top: 20px; padding: 20px; background: var(--cb-mostaza); }
.cb-aportar__done .cb-aportar__title { margin-top: 0; }
.cb-aportar__done p { margin: 0 0 6px; }
.cb-aportar__again { padding: 0; border: 0; background: none; font: inherit; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; color: var(--cb-tinta); }
.cb-aportar__warn { color: var(--cb-granate); font-weight: 600; }
@media (max-width: 600px) {
	.cb-aportar { box-shadow: 4px 4px 0 var(--cb-mostaza); }
	.cb-aportar__row { grid-template-columns: 1fr; }
	.cb-aportar__open { width: 100%; justify-content: center; }
}

/* ------------------------------------------------------------------
   «Press to play» covers (no third-party cookies until you play)
------------------------------------------------------------------ */
.cb-facade { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; width: 100%; aspect-ratio: 16 / 9; box-sizing: border-box; padding: 18px; overflow: hidden; background: var(--cb-tinta); color: var(--cb-papel); text-align: center; isolation: isolate; }
.cb-video--vertical .cb-facade, .cb-facade--instagram { aspect-ratio: 9 / 16; max-width: 360px; margin: 0 auto; }
.cb-facade.has-thumb::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--cb-thumb) center / cover no-repeat; opacity: .55; }
.cb-facade:not(.has-thumb)::before { content: ""; position: absolute; inset: 0; z-index: -1; background-image: repeating-linear-gradient(135deg, rgba(242, 240, 235, .06) 0 2px, transparent 2px 14px); }
.cb-facade__play { display: inline-flex; align-items: center; gap: 10px; min-height: 64px; padding: 0 26px 0 20px; border: 0; background: var(--cb-mostaza); color: var(--cb-tinta); font: inherit; font-weight: 900; font-stretch: 75%; font-size: 22px; text-transform: uppercase; cursor: pointer; border-radius: 0; box-shadow: 6px 6px 0 var(--cb-papel); transition: transform .15s, box-shadow .15s; }
.cb-facade__play:hover { transform: translate(-2px, -2px); box-shadow: 8px 8px 0 var(--cb-papel); }
.cb-facade__play:focus-visible { outline: 3px solid var(--cb-papel); outline-offset: 4px; }
.cb-facade__info { max-width: 52ch; display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 8px 12px; background: rgba(23, 18, 15, .78); font-size: 13px; line-height: 1.4; }
.cb-facade__txt { margin: 0; }
.cb-facade a { color: var(--cb-mostaza) !important; }
.cb-facade__remember { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; }
.cb-facade__remember input { width: 16px; height: 16px; margin: 0; accent-color: var(--cb-mostaza); }
.cb-facade__ext { font-weight: 700; }
.cb-vframe .cb-facade { border: 0; }
@media (max-width: 600px) {
	.cb-facade { gap: 10px; padding: 12px; }
	.cb-facade__play { min-height: 52px; font-size: 18px; padding: 0 18px 0 14px; }
	.cb-facade__info { font-size: 12px; }
}
/* Cookies page */
.cb-prefs { margin: 12px 0 24px; padding: 16px 18px; border: 2px solid var(--cb-tinta); background: var(--cb-papel-claro); }
.cb-prefs__state { margin: 0 0 10px; }
.cb-prefs__reset[hidden] { display: none; }

/* ------------------------------------------------------------------
   «Nuestro carnaval»: four big blocks
------------------------------------------------------------------ */
.cb-nc { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin: 36px 0 12px; }
@media (max-width: 1000px) { .cb-nc { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.cb-nc__card { position: relative; isolation: isolate; display: flex; flex-direction: column; justify-content: flex-end; min-height: 320px; padding: clamp(22px, 3vw, 34px); overflow: hidden; border: 2px solid var(--cb-tinta); color: var(--cb-papel) !important; text-decoration: none !important; transition: transform .15s, box-shadow .15s; }
a.cb-nc__card:hover { transform: translate(-4px, -4px); box-shadow: 8px 8px 0 var(--cb-tinta); }
a.cb-nc__card:focus-visible { outline: 3px solid var(--cb-mostaza); outline-offset: 3px; }
.cb-nc__card--granate { background: var(--cb-granate); }
.cb-nc__card--azul { background: var(--cb-azul); }
.cb-nc__card--tinta { background: var(--cb-tinta); }
.cb-nc__card--mostaza { background: var(--cb-mostaza); color: var(--cb-tinta) !important; }
.cb-nc__card:not(.has-img)::before { content: ""; position: absolute; inset: 0; z-index: -1; background-image: repeating-linear-gradient(135deg, rgba(255, 255, 255, .07) 0 2px, transparent 2px 16px); }
.cb-nc__img { position: absolute; inset: 0; z-index: -2; background: center / cover no-repeat; transition: transform .4s; }
.cb-nc__card.has-img::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(23, 18, 15, .1) 20%, rgba(23, 18, 15, .85)); }
.cb-nc__card.has-img { color: var(--cb-papel) !important; }
a.cb-nc__card:hover .cb-nc__img { transform: scale(1.04); }
.cb-nc__num { position: absolute; top: 18px; right: 22px; font-family: var(--cb-mono); font-size: 14px; letter-spacing: .1em; opacity: .8; }
.cb-nc__body { display: flex; flex-direction: column; gap: 10px; max-width: 34ch; }
.cb-nc__title { font-weight: 900; font-stretch: 62%; font-size: clamp(38px, 4.6vw, 62px); line-height: .9; text-transform: uppercase; }
.cb-nc__text { font-size: 17px; line-height: 1.4; }
.cb-nc__go { margin-top: 6px; font-family: var(--cb-mono); font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.cb-nc__card.is-soon { opacity: .75; }
.cb-nc__card.is-soon .cb-nc__go { display: inline-block; align-self: flex-start; padding: 2px 8px; border: 2px dashed currentColor; }
@media (max-width: 700px) {
	.cb-nc { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.cb-nc__card { min-height: 190px; padding: 16px; }
	.cb-nc__title { font-size: 24px; }
	.cb-nc__text { display: none; }
	.cb-nc__num { top: 10px; right: 12px; font-size: 12px; }
}

/* ------------------------------------------------------------------
   «Carnaval por año»: wall of posters (cards) or list
------------------------------------------------------------------ */
.cb-carn__bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; margin: 8px 0 24px; padding-top: 12px; border-top: 2px solid var(--cb-tinta); }
.cb-carn__sum { margin: 0; font-family: var(--cb-mono); font-size: 13px; text-transform: uppercase; letter-spacing: .04em; }
.cb-carn__grid { list-style: none; margin: 0; padding: 0; }
.cb-carn__link { color: var(--cb-tinta) !important; text-decoration: none !important; }
.cb-carn__poster img { display: block; width: 100%; height: auto; }
.cb-carn__ph { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; width: 100%; height: 100%; text-align: center; }
.cb-carn__phy { font-weight: 900; font-stretch: 62%; font-size: 40px; line-height: .9; text-transform: uppercase; color: #a39b91; }
.cb-carn__pht { font-family: var(--cb-mono); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--cb-gris); }
.cb-carn__y { font-weight: 900; font-stretch: 62%; line-height: .9; }
.cb-carn__meta, .cb-carn__extra { font-family: var(--cb-mono); font-size: 12px; color: var(--cb-gris); }
/* Cards */
.cb-carn__grid.is-tarjetas { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 28px 22px; align-items: start; }
.is-tarjetas .cb-carn__link { display: flex; flex-direction: column; gap: 10px; }
.is-tarjetas .cb-carn__poster { display: block; border: 2px solid var(--cb-tinta); background: var(--cb-papel-claro); transition: transform .15s, box-shadow .15s; }
.is-tarjetas .no-img .cb-carn__poster { aspect-ratio: 2 / 3; }
.is-tarjetas .is-pending .cb-carn__poster { border-style: dashed; border-color: #8a8178; background: transparent; }
.is-tarjetas a.cb-carn__link:hover .cb-carn__poster { transform: translate(-3px, -3px); box-shadow: 6px 6px 0 var(--cb-tinta); }
.is-tarjetas .cb-carn__info { display: flex; flex-direction: column; gap: 3px; }
.is-tarjetas .cb-carn__y { font-size: 34px; }
.is-tarjetas .is-pending .cb-carn__y { color: #8a8178; }
.is-tarjetas .cb-carn__extra { display: none; }
/* List */
.cb-carn__grid.is-lista { display: flex; flex-direction: column; border-top: 1px solid var(--cb-piedra); }
.is-lista .cb-carn__item { border-bottom: 1px solid var(--cb-piedra); }
.is-lista .cb-carn__link { display: grid; grid-template-columns: 64px minmax(0, 1fr); align-items: center; gap: 18px; padding: 10px 6px; border: 2px solid transparent; }
.is-lista a.cb-carn__link:hover { border-color: var(--cb-tinta); background: var(--cb-papel-claro); box-shadow: 6px 6px 0 var(--cb-tinta); transform: translate(-3px, -3px); position: relative; z-index: 1; }
.is-lista .cb-carn__poster { display: block; width: 64px; aspect-ratio: 2 / 3; overflow: hidden; border: 2px solid var(--cb-tinta); background: var(--cb-papel-claro); }
.is-lista .cb-carn__poster img { height: 100%; object-fit: cover; }
.is-lista .is-pending .cb-carn__poster { border-style: dashed; border-color: #8a8178; background: transparent; }
.is-lista .cb-carn__phy { font-size: 16px; }
.is-lista .cb-carn__pht { display: none; }
.is-lista .cb-carn__info { display: grid; grid-template-columns: 110px minmax(0, 1fr); align-items: baseline; gap: 2px 18px; }
.is-lista .cb-carn__y { font-size: 40px; grid-row: span 2; }
.is-lista .is-pending .cb-carn__y { color: #8a8178; }
.is-lista .cb-carn__meta { font-size: 13px; color: var(--cb-tinta); }
@media (max-width: 600px) {
	.cb-carn__grid.is-tarjetas { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 14px; }
	.is-tarjetas .cb-carn__y { font-size: 28px; }
	.cb-carn__phy { font-size: 30px; }
	.is-lista .cb-carn__link { grid-template-columns: 52px minmax(0, 1fr); gap: 12px; }
	.is-lista .cb-carn__poster { width: 52px; }
	.is-lista .cb-carn__info { grid-template-columns: 1fr; }
	.is-lista .cb-carn__y { font-size: 30px; grid-row: auto; }
}

/* Historial: the year takes you to its carnival */
.cb-year__link { color: inherit !important; text-decoration: none !important; }
.cb-year__link:hover { text-decoration: underline !important; text-decoration-thickness: 3px !important; text-underline-offset: 6px; }
.wp-block-post-content:has(> .cb-nc) > :not(.cb-nc) { max-width: var(--wp--style--global--wide-size, 1240px) !important; }

/* ------------------------------------------------------------------
   Carnaval de calle
------------------------------------------------------------------ */
.cb-tag--Ca { background: var(--cb-tinta); color: var(--cb-mostaza); }
.cb-tag--calle { background: var(--cb-mostaza); color: var(--cb-tinta); }
.cb-calle__nav { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 8px; }
.cb-calle__nav .cb-chip { display: inline-flex; align-items: center; text-decoration: none; }
.cb-calle__sec { scroll-margin-top: calc(var(--cb-header-h, 70px) + 20px); }
.cb-calle__texto { max-width: 70ch; font-size: 18px; line-height: 1.6; margin-bottom: 24px; }
.cb-calle__sec .cb-videos { margin-bottom: 28px; }
.cb-calle__agr + .cb-calle__agr { margin-top: 40px; padding-top: 24px; border-top: 1px solid var(--cb-piedra); }
.cb-calle__agrh { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 16px; font-weight: 900; font-stretch: 70%; font-size: clamp(24px, 2.6vw, 32px); text-transform: uppercase; }
.cb-calle__agrh a { color: var(--cb-tinta) !important; text-decoration: none; }
.cb-calle__agrh a:hover { text-decoration: underline; text-underline-offset: 4px; }
.cb-calle__years { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 64px; }
.cb-calle__yr { display: flex; flex-direction: column; gap: 4px; padding: 16px 20px; border: 2px solid var(--cb-tinta); background: var(--cb-papel-claro); color: var(--cb-tinta) !important; text-decoration: none !important; transition: transform .15s, box-shadow .15s; }
.cb-calle__yr:hover { transform: translate(-3px, -3px); box-shadow: 6px 6px 0 var(--cb-tinta); }
.cb-calle__yr--next { text-align: right; }
.cb-calle__yr span { font-family: var(--cb-mono); font-size: 12px; text-transform: uppercase; letter-spacing: .06em; }
.cb-calle__yr b { font-weight: 900; font-stretch: 62%; font-size: 40px; line-height: .9; }
/* In the agrupación's ficha */
.cb-enlacalle { margin-top: 56px; }
.cb-enlacalle__year + .cb-enlacalle__year { margin-top: 36px; }
.cb-enlacalle__head { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin: 0 0 16px; font-weight: 700; }
.cb-enlacalle__head a { color: var(--cb-tinta) !important; }
.cb-enlacalle .cb-videos { margin-bottom: 24px; }
/* Access from the carnival page */
.cb-callebanner { position: relative; isolation: isolate; display: flex; flex-direction: column; gap: 6px; margin: 0 0 16px; padding: clamp(22px, 3vw, 34px); min-height: 200px; justify-content: flex-end; overflow: hidden; background: var(--cb-mostaza); color: var(--cb-tinta) !important; border: 2px solid var(--cb-tinta); text-decoration: none !important; transition: transform .15s, box-shadow .15s; }
.cb-callebanner:not(.has-img)::before { content: ""; position: absolute; inset: 0; z-index: -1; background-image: repeating-linear-gradient(135deg, rgba(23, 18, 15, .07) 0 2px, transparent 2px 16px); }
.cb-callebanner__img { position: absolute; inset: 0; z-index: -2; background: center / cover no-repeat; transition: transform .4s; }
.cb-callebanner.has-img::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(232, 185, 49, .97) 30%, rgba(232, 185, 49, .35)); }
.cb-callebanner:hover { transform: translate(-4px, -4px); box-shadow: 8px 8px 0 var(--cb-tinta); }
.cb-callebanner:hover .cb-callebanner__img { transform: scale(1.04); }
.cb-callebanner__k { font-family: var(--cb-mono); font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.cb-callebanner__t { max-width: 16ch; font-weight: 900; font-stretch: 62%; font-size: clamp(34px, 4.6vw, 58px); line-height: .9; text-transform: uppercase; }
.cb-callebanner__s { font-size: 15px; font-weight: 600; }
.cb-callebanner__go { margin-top: 6px; font-family: var(--cb-mono); font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
/* All the years, on the «Carnaval de calle» page */
.cb-calleyears { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 18px; margin-top: 18px; }
.cb-calleyears__item { position: relative; display: flex; align-items: flex-end; aspect-ratio: 4 / 3; padding: 14px; overflow: hidden; isolation: isolate; border: 2px solid var(--cb-tinta); background: var(--cb-mostaza); color: #fff !important; text-decoration: none !important; transition: transform .15s, box-shadow .15s; }
.cb-calleyears__img { position: absolute; inset: 0; z-index: -2; background: center / cover no-repeat; }
.cb-calleyears__item:not(.no-img)::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, transparent 40%, rgba(23, 18, 15, .8)); }
.cb-calleyears__item.no-img { color: var(--cb-tinta) !important; }
.cb-calleyears__item.no-img::after { content: ""; position: absolute; inset: 0; z-index: -1; background-image: repeating-linear-gradient(135deg, rgba(23, 18, 15, .07) 0 2px, transparent 2px 16px); }
.cb-calleyears__item:hover { transform: translate(-3px, -3px); box-shadow: 6px 6px 0 var(--cb-tinta); }
.cb-calleyears__y { font-weight: 900; font-stretch: 62%; font-size: 48px; line-height: .9; }
@media (max-width: 600px) {
	.cb-calle__years { grid-template-columns: 1fr 1fr; gap: 10px; }
	.cb-calle__yr b { font-size: 30px; }
	.cb-calleyears { grid-template-columns: 1fr 1fr; gap: 12px; }
	.cb-calleyears__y { font-size: 36px; }
}

/* ---------- Bollullos en el Colombino ---------- */
.cb-colmark { display: inline-block; align-self: flex-start; margin-top: 6px; font-family: var(--cb-mono); font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; padding: 2px 7px; border: 2px solid var(--cb-tinta); color: var(--cb-tinta); background: var(--cb-papel-claro); }
.cb-colmark { border-color: var(--cb-azul); color: var(--cb-azul); }
.cb-colmark.is-final { background: var(--cb-azul); color: #fff; }
.cb-colmark.is-premio { background: var(--cb-azul); border-color: var(--cb-azul); color: #fff; }
.cb-colmark.is-premio::before { content: "★ "; color: var(--cb-mostaza); }
.cb-row__body .cb-colmark { margin-top: 4px; }
.cb-tag--col { background: var(--cb-papel-claro); color: var(--cb-azul); border: 2px solid var(--cb-azul); padding: 1px 6px; margin-top: 0; }
.cb-tag--col.is-final, .cb-tag--col.is-premio { background: var(--cb-azul); color: #fff; }

.cb-colfigs { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 0; margin: 1.5em 0 .4em; border: 2px solid var(--cb-tinta); background: var(--cb-azul); color: #fff; }
.cb-colfigs div { border-color: rgba(255, 255, 255, .35) !important; }
.cb-colfigs div { padding: 14px 16px; border-right: 2px solid var(--cb-tinta); display: flex; flex-direction: column-reverse; }
.cb-colfigs div:last-child { border-right: 0; }
.cb-colfigs dd { margin: 0; font-weight: 900; font-stretch: 62%; font-size: 52px; line-height: .9; }
.cb-colfigs dt { font-family: var(--cb-mono); font-size: 12px; text-transform: uppercase; letter-spacing: .06em; margin-top: 6px; }
.cb-colfigs__range { font-family: var(--cb-mono); font-size: 13px; color: var(--cb-gris); margin: 0; }

.cb-colpalm { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; }
.cb-colpalm__item { display: flex; gap: 14px; align-items: center; padding: 14px; border: 2px solid var(--cb-tinta); background: var(--cb-papel-claro); color: var(--cb-tinta) !important; text-decoration: none !important; transition: transform .15s, box-shadow .15s; }
.cb-colpalm__item:hover { transform: translate(-3px, -3px); box-shadow: 6px 6px 0 var(--cb-tinta); }
.cb-colpalm__n { flex: 0 0 auto; display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; border: 2px solid var(--cb-tinta); background: var(--cb-piedra); font-weight: 900; font-stretch: 62%; font-size: 30px; }
.cb-colpalm__item.p1 .cb-colpalm__n { background: var(--cb-mostaza); }
.cb-colpalm__item.p2 .cb-colpalm__n { background: #d9d6cf; }
.cb-colpalm__item.p3 .cb-colpalm__n { background: #c98f5a; }
.cb-colpalm__b { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.cb-colpalm__k { font-family: var(--cb-mono); font-size: 12px; text-transform: uppercase; letter-spacing: .06em; }
.cb-colpalm__t { font-weight: 800; font-size: 18px; line-height: 1.2; }
.cb-colpalm__s { font-size: 14px; color: var(--cb-gris); }

.cb-colfil { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 10px; }
.cb-colfil[hidden] { display: none; }
.cb-colfil__l { font-family: var(--cb-mono); font-size: 13px; text-transform: uppercase; }
.cb-colfil .cb-chip { min-height: 36px; padding: 0 12px; font-size: 14px; }
.cb-colfil__fin { display: inline-flex; align-items: center; gap: 6px; margin-left: auto; font-weight: 700; cursor: pointer; }
.cb-colfil__fin input { width: 20px; height: 20px; accent-color: var(--cb-tinta); }
.cb-colleg { font-family: var(--cb-mono); font-size: 12px; color: var(--cb-gris); margin: 0 0 8px; }
.cb-colleg span { display: inline-grid; place-items: center; width: 18px; height: 18px; margin-left: 8px; background: var(--cb-azul); color: var(--cb-papel); font-size: 11px; }
.cb-colleg span:first-child { margin-left: 0; }

.cb-colyear { scroll-margin-top: calc(var(--cb-header-h, 80px) + 16px); }
.cb-colyear[hidden] { display: none; }
.cb-colyear__h { margin: 1.4em 0 .4em; font-weight: 900; font-stretch: 62%; font-size: 40px; line-height: 1; }
.cb-colyear__h a { color: inherit; text-decoration: none; }
.cb-colyear__h a:hover { text-decoration: underline; }
.cb-collist { border-top: 2px solid var(--cb-tinta); }
.cb-colrow { display: grid; grid-template-columns: auto 1fr auto 52px; align-items: center; gap: 14px; padding: 12px 4px; border-bottom: 1px solid var(--cb-piedra); color: var(--cb-tinta) !important; text-decoration: none !important; }
.cb-colrow[hidden] { display: none; }
.cb-colrow:hover { background: #ece8e0; }
.cb-colrow__y { font-family: var(--cb-mono); font-weight: 700; }
.cb-colrow__t { font-weight: 800; font-size: 17px; line-height: 1.25; display: flex; flex-direction: column; }
.cb-colrow__notas { font-weight: 400; font-size: 14px; color: var(--cb-gris); }
.cb-colrow__fase { display: flex; align-items: center; gap: 10px; }
.cb-colrow__ft { font-family: var(--cb-mono); font-size: 12px; text-transform: uppercase; width: 9.5em; }
.cb-colladder { display: inline-flex; gap: 3px; }
.cb-colladder__s { display: grid; place-items: center; width: 22px; height: 22px; border: 2px solid var(--cb-piedra); color: var(--cb-piedra); font-family: var(--cb-mono); font-size: 11px; font-weight: 700; }
.cb-colladder__s.is-on { background: var(--cb-azul); border-color: var(--cb-azul); color: #fff; }
.cb-colrow__premio { grid-column: 4; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; border: 2px solid var(--cb-tinta); background: var(--cb-piedra); font-weight: 900; font-stretch: 62%; font-size: 20px; }
.cb-colrow__premio.p1 { background: var(--cb-mostaza); }
.cb-colrow__premio.p2 { background: #d9d6cf; }
.cb-colrow__premio.p3 { background: #c98f5a; }
.cb-colempty[hidden] { display: none; }

.cb-colstrip { margin: 0; }
.cb-colstrip__more { margin: -4px 0 14px; font-weight: 700; }
.cb-colstrip__more a { color: var(--cb-azul); }
.cb-colstrip__h { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 6px 16px; margin: 0 0 .4em; text-transform: uppercase; font-size: 22px; }
.cb-colstrip__h a { font-size: 15px; text-transform: none; font-weight: 700; }

@media (max-width: 700px) {
	.cb-colfigs { grid-template-columns: repeat(2, 1fr); }
	.cb-colfigs div { border-bottom: 2px solid var(--cb-tinta); }
	.cb-colfigs div:nth-child(2n) { border-right: 0; }
	.cb-colfigs dd { font-size: 40px; }
	.cb-colrow { grid-template-columns: 1fr 44px; gap: 6px 10px; }
	.cb-colrow .cb-tag { justify-self: start; grid-column: 1; }
	.cb-colrow__t, .cb-colrow__fase { grid-column: 1; }
	.cb-colrow__y { grid-column: 1; }
	.cb-colrow__premio { grid-column: 2; grid-row: 1 / span 3; }
	.cb-colfil__fin { margin-left: 0; }
}

/* ---------- Carnival year: sections ---------- */
.cb-carnaval > .cb-h:first-child { margin-top: .4em; }
.cb-carnaval__resumen { max-width: 70ch; }
.cb-carnaval .cb-inline + .cb-carnaval__resumen { margin-top: 18px; }
.cb-carnaval .cb-videos + .cb-galeria, .cb-carnaval .cb-galeria + .cb-revista, .cb-carnaval .cb-credito + .cb-revista, .cb-carnaval .cb-videos + .cb-revista { margin-top: 28px; }
.cb-revista { display: flex; gap: 24px; align-items: center; max-width: 640px; padding: 18px; border: 2px solid var(--cb-tinta); background: var(--cb-papel-claro); }
.cb-revista__cover { flex: 0 0 auto; display: grid; place-items: center; width: 130px; aspect-ratio: 210 / 297; overflow: hidden; border: 2px solid var(--cb-tinta); box-shadow: 5px 5px 0 var(--cb-tinta); color: var(--cb-tinta) !important; text-decoration: none !important; transition: transform .15s; }
.cb-revista__cover:hover { transform: translate(-2px, -2px) rotate(-1deg); }
.cb-revista__cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cb-revista__cover span { font-family: var(--cb-mono); font-weight: 700; }
.cb-revista__b { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.cb-revista__k { font-family: var(--cb-mono); font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
.cb-revista__t { font-weight: 900; font-stretch: 62%; font-size: clamp(28px, 3.4vw, 40px); line-height: .95; text-transform: uppercase; }
.cb-revista__go { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 6px; }
@media (max-width: 520px) {
	.cb-revista { gap: 16px; padding: 14px; }
	.cb-revista__cover { width: 96px; }
}


/* ==================================================================
   0.17 — Más color: verde, sombras, portada y página del año
   ================================================================== */

/* Sombras: fijas en los recuadros; en fotos y tarjetas, al pasar el cursor
   (en el móvil, cuando la foto pasa por el centro de la pantalla: clase is-centro). */
.cb-ficha__datos, .cb-entrada, .cb-revista, .cb-cifras, .cb-prevnext a, .cb-aportar, .cb-callebanner { box-shadow: 6px 6px 0 var(--cb-tinta); }
.cb-aportar { box-shadow: 6px 6px 0 var(--cb-tinta) !important; }
.cb-galeria a, .cb-sombra-h { transition: transform .15s, box-shadow .15s; }
.cb-galeria a:hover img { transform: none; }
@media (hover: hover) {
	.cb-galeria a:hover, .cb-sombra-h:hover { transform: translate(-3px, -3px); box-shadow: 6px 6px 0 var(--cb-tinta); }
}
.cb-galeria a.is-centro, .cb-sombra-h.is-centro, .cb-card2.is-centro, .cb-cartel.is-centro { transform: translate(-3px, -3px); box-shadow: 6px 6px 0 var(--cb-tinta); }

/* Ficha técnica: negra, con un cuadradito del color de su categoría */
.cb-ficha__head { display: flex; align-items: center; gap: 10px; }
.cb-ficha__head::before { content: ""; flex: 0 0 auto; width: 12px; height: 12px; border: 2px solid var(--cb-papel); background: var(--cb-cat, var(--cb-piedra)); }
.cb-cat--Co { --cb-cat: var(--cb-granate); } .cb-cat--Ch { --cb-cat: var(--cb-mostaza); } .cb-cat--Cu { --cb-cat: var(--cb-verde); }
.cb-cat--Ro { --cb-cat: var(--cb-tinta); } .cb-cat--In { --cb-cat: var(--cb-papel-claro); } .cb-cat--Ca { --cb-cat: var(--cb-tinta); }

/* Página del año: «Información» como la entrada de la muestra */
.cb-entrada { display: grid; grid-template-columns: minmax(220px, 1fr) 1.5fr; border: 2px solid var(--cb-tinta); background: var(--cb-papel-claro); margin-bottom: 8px; }
.cb-entrada__datos { margin: 0; padding: 24px 26px; background: var(--cb-mostaza); border-right: 2px dashed var(--cb-tinta); display: grid; gap: 14px; align-content: start; }
.cb-entrada__datos dt { font-family: var(--cb-mono); font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.cb-entrada__datos dd { margin: 2px 0 0; font-weight: 900; font-stretch: 70%; font-size: 26px; line-height: 1.05; }
.cb-entrada .cb-carnaval__resumen { padding: 24px 28px; max-width: none; }
.cb-entrada .cb-carnaval__resumen > :first-child { margin-top: 0; }
.cb-entrada--sin-datos, .cb-entrada--sin-texto { grid-template-columns: 1fr; }
.cb-entrada--sin-texto .cb-entrada__datos { border-right: 0; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
@media (max-width: 700px) {
	.cb-entrada { grid-template-columns: 1fr; }
	.cb-entrada__datos { border-right: 0; border-bottom: 2px dashed var(--cb-tinta); }
}
.cb-revista { border-width: 2px; }

/* Año anterior / siguiente: dos recuadros */
.cb-prevnext { gap: 16px; border-top: 0; padding-top: 0; margin-top: 56px; }
.cb-prevnext a, .cb-prevnext > span { flex: 1 1 0; }
.cb-prevnext a { display: block; padding: 14px 20px; border: 2px solid var(--cb-tinta); background: var(--cb-papel-claro); color: var(--cb-tinta); text-decoration: none; font-weight: 900; font-stretch: 62%; font-size: 40px; line-height: 1; }
.cb-prevnext a:last-child:not(:first-child) { text-align: right; }
.cb-prevnext a:hover { background: var(--cb-mostaza); }

/* El recuadro del carnaval de calle, con algo de confeti a la derecha */
.cb-callebanner:not(.has-img)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='220'%3E%3Cg%3E%3Ccircle cx='250' cy='40' r='7' fill='%237a1630'/%3E%3Crect x='200' y='70' width='16' height='7' fill='%231f4e9c' transform='rotate(30 208 73)'/%3E%3Ccircle cx='280' cy='120' r='5' fill='%231d8a5c'/%3E%3Crect x='230' y='150' width='14' height='6' fill='%2317120f' transform='rotate(-25 237 153)'/%3E%3Cpath d='M180 190c10-10 20 10 30 0s20 10 30 0' stroke='%231d8a5c' stroke-width='4' fill='none' stroke-linecap='round'/%3E%3Ccircle cx='170' cy='30' r='4' fill='%231f4e9c'/%3E%3Crect x='265' y='185' width='12' height='6' fill='%237a1630' transform='rotate(60 271 188)'/%3E%3Cpath d='M240 95c8-8 16 8 24 0s16 8 24 0' stroke='%237a1630' stroke-width='4' fill='none' stroke-linecap='round'/%3E%3C/g%3E%3C/svg%3E"), repeating-linear-gradient(135deg, rgba(23, 18, 15, .07) 0 2px, transparent 2px 16px); background-repeat: no-repeat, repeat; background-position: right center, 0 0; }
.cb-callebanner:hover { transform: translate(-3px, -3px); box-shadow: 9px 9px 0 var(--cb-tinta); }

/* «Nuestro carnaval»: tarjeta verde */
.cb-nc__card--verde { background: var(--cb-verde); }

/* Portada: rótulo con contorno y sombra */
.cb-retro { color: var(--cb-mostaza); -webkit-text-stroke: 3px var(--cb-tinta); paint-order: stroke fill; text-shadow: 6px 6px 0 var(--cb-tinta); font-weight: 900; font-stretch: 62%; text-transform: uppercase; line-height: .9; }

/* Portada: franja de categorías */
.cb-catband { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); border-top: 2px solid var(--cb-tinta); border-bottom: 2px solid var(--cb-tinta); }
.cb-catband__i { display: flex; flex-direction: column; justify-content: space-between; gap: 18px; min-height: 140px; padding: 18px 20px; text-decoration: none; border-right: 2px solid var(--cb-tinta); color: #fff; }
.cb-catband__i:last-child { border-right: 0; }
.cb-catband__n { font-weight: 900; font-stretch: 62%; font-size: 62px; line-height: .85; }
.cb-catband__t { font-weight: 800; font-size: 18px; }
.cb-catband__i:hover .cb-catband__t { text-decoration: underline; text-underline-offset: 4px; }
.cb-catband--Co { background: var(--cb-granate); }
.cb-catband--Ch { background: var(--cb-mostaza); color: var(--cb-tinta); }
.cb-catband--Cu { background: var(--cb-verde); }
.cb-catband--Ro { background: var(--cb-tinta); }
.cb-catband--In { background: var(--cb-papel-claro); color: var(--cb-tinta); }
.cb-catband--Ca { background: var(--cb-tinta); color: var(--cb-mostaza); }
.cb-catband--Ro + .cb-catband--In, .cb-catband--In + .cb-catband--Ca { border-left: 0; }
@media (max-width: 700px) {
	.cb-catband { grid-template-columns: repeat(3, 1fr); }
	.cb-catband__i { min-height: 110px; padding: 12px; border-bottom: 2px solid var(--cb-tinta); }
	.cb-catband__n { font-size: 44px; }
	.cb-catband__t { font-size: 14px; }
}

/* Portada: Hace X años */
.cb-efem { display: grid; grid-template-columns: 1fr 1.1fr; gap: 56px; align-items: center; }
.cb-efem__k { margin: 0; font-weight: 800; font-size: 22px; }
.cb-efem__t { margin: 12px 0 20px; font-size: clamp(56px, 7vw, 104px); overflow-wrap: anywhere; }
.cb-efem__p { max-width: 44ch; font-size: 18px; }
.cb-efem__btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.cb-efem .cb-btn--line { background: var(--cb-papel-claro); }
.cb-efem__foto { position: relative; display: block; aspect-ratio: 3 / 2; border: 2px solid var(--cb-tinta); overflow: hidden; background: var(--cb-papel-claro); }
.cb-efem__foto img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cb-efem__foto .cb-tag { position: absolute; left: 12px; bottom: 12px; }
@media (max-width: 800px) { .cb-efem { grid-template-columns: 1fr; gap: 28px; } }

/* Portada: sello de cuenta atrás */
.cb-sello-cuenta { display: grid; place-items: center; width: 148px; height: 148px; border-radius: 50%; background: var(--cb-verde); color: #fff !important; text-align: center; text-decoration: none !important; border: 2px solid var(--cb-tinta); box-shadow: 5px 5px 0 var(--cb-tinta); transform: rotate(-10deg); font-weight: 700; font-size: 15px; line-height: 1.1; }
.cb-sello-cuenta b { display: block; font-weight: 900; font-stretch: 62%; font-size: 62px; line-height: .8; margin-bottom: 4px; }
@media (max-width: 600px) { .cb-sello-cuenta { width: 112px; height: 112px; font-size: 12px; } .cb-sello-cuenta b { font-size: 44px; } }

/* 0.17.1 — ilustraciones para las agrupaciones sin foto; sin números grandes en las tarjetas */
.cb-card2__num { display: none !important; }
.cb-card2__photo.is-ilus { background: none; }
.cb-card2__photo .cb-ilus { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.cb-efem__foto .cb-ilus { width: 100%; height: 100%; display: block; }
.cb-cabecera__ilus { aspect-ratio: 21 / 9; border: 2px solid var(--cb-tinta); overflow: hidden; }
.cb-cabecera__ilus .cb-ilus { width: 100%; height: 100%; display: block; }
@media (max-width: 600px) { .cb-cabecera__ilus { aspect-ratio: 16 / 10; } }
.cb-proximo, .cb-cifras { box-sizing: border-box; }

/* La tira de carteles (carrusel) */
.cb-carrusel { position: relative; }
.cb-carrusel__pista { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 5 * 22px) / 6); gap: 22px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; padding: 14px 4px 18px; scrollbar-width: thin; scrollbar-color: rgba(255, 255, 255, .5) transparent; }
.cb-carrusel__pista:focus-visible { outline: 3px solid var(--cb-mostaza); outline-offset: 4px; }
.cb-carrusel .cb-cartel { scroll-snap-align: start; }
.cb-carrusel .cb-cartel img, .cb-carrusel .cb-cartel__ph { aspect-ratio: 7 / 10; object-fit: cover; height: auto !important; }
.cb-carrusel .cb-cartel__ph { padding: 14px; }
.cb-carrusel .cb-cartel__big { font-size: clamp(28px, 2.6vw, 40px); }
.cb-carrusel .cb-cartel__cap { flex-direction: column; gap: 2px; }
.cb-carrusel .cb-cartel__cap b { font-weight: 900; font-stretch: 62%; font-size: 26px; line-height: 1; }
.cb-carrusel__btn { position: absolute; top: calc(50% - 40px); z-index: 2; width: 52px; height: 52px; display: grid; place-items: center; border: 2px solid var(--cb-tinta); background: var(--cb-mostaza); color: var(--cb-tinta); font: 900 34px/1 sans-serif; cursor: pointer; box-shadow: 4px 4px 0 var(--cb-tinta); }
.cb-carrusel__btn[hidden] { display: none; }
.cb-carrusel__btn--prev { left: -22px; }
.cb-carrusel__btn--next { right: -22px; }
.cb-carrusel__btn:hover { background: var(--cb-papel-claro); }
@media (max-width: 1000px) { .cb-carrusel__pista { grid-auto-columns: calc((100% - 2 * 18px) / 3); gap: 18px; } }
@media (max-width: 600px) {
	.cb-carrusel__pista { grid-auto-columns: calc((100% - 14px) / 2.15); gap: 14px; }
	.cb-carrusel .cb-cartel__cap b { font-size: 20px; }
	.cb-carrusel .cb-cartel__cap { padding: 8px 10px; font-size: 12px; }
	.cb-carrusel .cb-cartel__big { font-size: 24px; }
	.cb-carrusel__btn { display: none; }
}

/* Gráfica del historial en el móvil: ancha, se desliza de lado; primer toque = detalle, segundo = ir al año */
.cb-chart-hint { display: none; }
@media (hover: none) {
	.cb-chart-scroll { overflow-x: auto; overflow-y: hidden; padding-bottom: 4px; -webkit-overflow-scrolling: touch; }
	.cb-chart-scroll .cb-bars { height: 160px; gap: 3px; }
	.cb-chart-scroll .cb-bar { flex: 0 0 15px; }
	.cb-chart-hint { display: block; margin: 8px 0 0; font-size: 13px; color: var(--cb-gris); }
	.cb-bar.is-sel .cb-bar__fill { background: var(--cb-mostaza); }
	.cb-bar.is-sel .cb-bar__n, .cb-bar.is-sel .cb-bar__y { opacity: 1; }
	.cb-bar.is-sel .cb-bar__n { display: block; }
	.cb-bar.is-sel .cb-bar__yn { display: none; }
	.cb-bar:hover .cb-bar__fill { background: var(--cb-tinta); }
	.cb-bar:not(.is-on):hover .cb-bar__fill { background: var(--cb-piedra); }
	.cb-bar.is-sel:hover .cb-bar__fill { background: var(--cb-mostaza); }
	.cb-bar:hover .cb-bar__n, .cb-bar:hover .cb-bar__y { opacity: 0; }
	.cb-bar.is-sel .cb-bar__n, .cb-bar.is-sel .cb-bar__y { opacity: 1; }
}

/* Fotogramas de vídeo usados como imagen: se recortan las franjas negras de YouTube */
.cb-img-video { object-fit: cover; transform: scale(1.34); }
/* El cartel de la página del año se abre en grande */
.cb-cartel-zoom { display: block; cursor: zoom-in; }

/* Cursores explícitos sobre las imágenes, para que nunca hereden otro */
.cb-galeria a, .cb-galeria img, .cb-cabecera__img, .cb-cabecera__img img, .cb-cartel-zoom, .cb-cartel-zoom img,
.wp-block-post-content a img, .wp-block-gallery a img { cursor: zoom-in; }
.cb-card2, .cb-card2 *, .cb-cartel, .cb-cartel *, .cb-efem__foto, .cb-efem__foto * { cursor: pointer; }

/* Curiosidades automáticas */
.cb-cur { margin-top: 48px; }
.cb-cur__lead { max-width: 60ch; margin: -6px 0 24px; color: var(--cb-gris); }
.cb-cur__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 20px; }
.cb-cur__item { display: flex; flex-direction: column; gap: 10px; padding: 26px 24px; border: 2px solid var(--cb-tinta); box-shadow: 6px 6px 0 var(--cb-tinta); color: #fff; }
.cb-cur__item p { margin: 0; }
.cb-cur__k { font-family: var(--cb-mono); font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.cb-cur__n { font-weight: 900; font-stretch: 62%; font-size: clamp(72px, 8vw, 112px); line-height: .85; text-transform: uppercase; }
.cb-cur__t { font-size: 21px; font-weight: 800; line-height: 1.18; }
.cb-cur__s { font-size: 15px; opacity: .9; }
.cb-cur__a { margin-top: auto !important; padding-top: 6px; font-weight: 700; }
.cb-cur__a a { color: inherit; }
.cb-cur--granate { background: var(--cb-granate); }
.cb-cur--azul { background: var(--cb-azul); }
.cb-cur--verde { background: var(--cb-verde); }
.cb-cur--tinta { background: var(--cb-tinta); }
.cb-cur--mostaza { background: var(--cb-mostaza); color: var(--cb-tinta); }
/* «Hace X años» con el título normal */
.cb-efem__t { color: #fff; font-weight: 900; font-stretch: 62%; text-transform: uppercase; line-height: .9; }

/* 0.20 — callejera: a mark next to the category */
.cb-tagset { display: inline-flex; flex-wrap: wrap; gap: 6px; align-self: flex-start; justify-self: start; }
.cb-calle__sub { margin: 0 0 14px; font-family: var(--cb-mono); font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.cb-cards + .cb-callebanner { margin-top: 28px; }
.cb-calle__sub + .cb-cards { margin-bottom: 8px; }
.cb-tagset .cb-tag--calle { background: var(--cb-tinta); color: var(--cb-mostaza); }

/* 0.22 — Hemeroteca */
.cb-heme__nav { margin: 8px 0 6px; }
.cb-heme__nav .cb-chip { display: inline-flex; align-items: center; gap: 6px; text-decoration: none; }
.cb-heme__nav .cb-chip.is-off { border-style: dashed; color: var(--cb-gris); background: transparent; cursor: default; }
.cb-heme__revs { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 34px 26px; }
.cb-heme__rev { display: flex; flex-direction: column; gap: 6px; }
.cb-heme__cover { display: block; aspect-ratio: 210 / 297; border: 2px solid var(--cb-tinta); background: var(--cb-papel-claro); overflow: hidden; transition: transform .15s, box-shadow .15s; }
.cb-heme__cover img { display: block; width: 100%; height: 100%; object-fit: cover; }
.cb-heme__cover span { display: grid; place-items: center; height: 100%; font-weight: 900; font-stretch: 62%; font-size: 56px; color: var(--cb-gris); }
@media (hover: hover) { .cb-heme__cover:hover { transform: translate(-3px, -3px); box-shadow: 6px 6px 0 var(--cb-tinta); } }
.cb-heme__y { margin-top: 8px; font-weight: 900; font-stretch: 62%; font-size: 34px; line-height: 1; }
.cb-heme__t { font-weight: 700; }
.cb-heme__go { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 6px; }
.cb-heme__carn { font-family: var(--cb-mono); font-size: 13px; color: var(--cb-tinta); }
.cb-heme__pronto { margin-top: 30px; }
.cb-heme__pronto p { max-width: 62ch; color: var(--cb-gris); }

/* 0.23 — Hemeroteca: tools, cards, the page of a magazine */
.cb-heme__tools { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 14px 24px; margin: 10px 0 8px; }
.cb-heme__nav button.cb-chip:disabled { border-style: dashed; color: var(--cb-gris); background: transparent; cursor: default; }
.cb-heme__search { flex: 0 1 420px; }
.cb-heme__sec[hidden], .cb-heme__none[hidden], .cb-hcard[hidden], .cb-heme__rev[hidden] { display: none; }
.cb-heme__intro { margin: -4px 0 18px; color: var(--cb-gris); max-width: 64ch; }
.cb-heme__intro a { color: var(--cb-tinta); }
.cb-heme__n { font-family: var(--cb-mono); font-size: 13px; color: var(--cb-gris); }
.cb-heme__t { color: var(--cb-tinta); text-decoration: none; }
.cb-heme__t:hover { text-decoration: underline; text-underline-offset: 3px; }
.cb-heme__none { padding: 16px; border: 2px dashed #8a8178; color: var(--cb-gris); }
.cb-hcards { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 26px 22px; }
.cb-hcard { display: flex; flex-direction: column; border: 2px solid var(--cb-tinta); background: var(--cb-papel-claro); color: var(--cb-tinta) !important; text-decoration: none !important; transition: transform .15s, box-shadow .15s; }
@media (hover: hover) { .cb-hcard:hover { transform: translate(-3px, -3px); box-shadow: 6px 6px 0 var(--cb-tinta); } }
.cb-hcard__img { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; border-bottom: 2px solid var(--cb-tinta); background: var(--cb-mostaza); }
.cb-hcard--entrevista .cb-hcard__img { background: var(--cb-azul); }
.cb-hcard__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.cb-hcard__ph { display: grid; place-items: center; height: 100%; font-weight: 900; font-size: 64px; color: rgba(23, 18, 15, .35); background-image: repeating-linear-gradient(135deg, rgba(255, 255, 255, .12) 0 2px, transparent 2px 16px); }
.cb-hcard--entrevista .cb-hcard__ph { color: rgba(255, 255, 255, .5); }
.cb-hcard__play { position: absolute; left: 12px; bottom: 12px; display: grid; place-items: center; width: 44px; height: 44px; border: 2px solid var(--cb-tinta); background: var(--cb-mostaza); color: var(--cb-tinta); font-size: 16px; }
.cb-hcard__b { display: flex; flex-direction: column; gap: 6px; padding: 14px 16px 18px; }
.cb-hcard__k { font-family: var(--cb-mono); font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--cb-gris); }
.cb-hcard__t { font-weight: 800; font-stretch: 75%; font-size: 22px; line-height: 1.1; }
.cb-hcard__by { font-size: 15px; color: var(--cb-gris); }
.cb-heme__num { display: grid; grid-template-columns: minmax(200px, 340px) 1fr; gap: 32px; align-items: start; margin: 14px 0 10px; }
.cb-heme__cover--big { box-shadow: 6px 6px 0 var(--cb-tinta); }
.cb-heme__numt { margin: 6px 0 10px; font-weight: 900; font-stretch: 62%; font-size: clamp(38px, 5vw, 64px); line-height: .92; text-transform: uppercase; }
.cb-heme__numb p a { color: var(--cb-tinta); }
.cb-heme__others { margin-top: 18px; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.cb-heme__others .cb-chip { display: inline-flex; align-items: center; text-decoration: none; }
.cb-heme__indice { list-style: none; margin: 0; padding: 0; max-width: 820px; }
.cb-heme__indice li { border-top: 1px solid var(--cb-piedra); }
.cb-heme__indice a { display: flex; gap: 18px; align-items: baseline; padding: 12px 0; color: var(--cb-tinta); text-decoration: none; }
.cb-heme__indice a:hover b { text-decoration: underline; text-underline-offset: 3px; }
.cb-heme__pag { flex: 0 0 4.5em; font-family: var(--cb-mono); font-size: 14px; color: var(--cb-gris); text-align: right; }
.cb-heme__it { display: flex; flex-direction: column; gap: 2px; }
.cb-heme__it small { font-family: var(--cb-mono); font-size: 12px; color: var(--cb-gris); }
.cb-articulo__texto { font-size: 18px; line-height: 1.6; }
.cb-articulo__texto > * { max-width: 68ch; }
.cb-articulo__pdf { margin-top: 18px; }
.cb-revista__t a { color: inherit; }
@media (max-width: 700px) {
	.cb-heme__num { grid-template-columns: 1fr; }
	.cb-heme__num .cb-heme__cover--big { max-width: 260px; }
	.cb-hcards { grid-template-columns: 1fr; }
}

/* 0.24 — Hemeroteca: the composition of an article (entradilla, citas, fotos, preguntas, recuadros) */
.cb-articulo__texto .cb-entradilla { font-size: clamp(20px, 2.2vw, 24px); line-height: 1.45; font-weight: 500; margin-bottom: 1.2em; }
.cb-articulo__texto p { margin: 0 0 1em; }
.cb-articulo__texto h3 { margin: 1.6em 0 .5em; font-weight: 900; font-stretch: 70%; font-size: 28px; line-height: 1; text-transform: uppercase; }
.cb-articulo__texto .cb-pregunta { margin-top: 1.6em; padding-left: 14px; border-left: 4px solid var(--cb-mostaza); }
.cb-articulo__texto .cb-pregunta strong { font-weight: 800; }
.cb-articulo__texto .wp-block-pullquote.cb-cita { margin: 1.6em 0; padding: 0; border: 0; text-align: left; }
.cb-articulo__texto .cb-cita blockquote { margin: 0; padding: 18px 0 16px 0; border-top: 3px solid var(--cb-tinta); border-bottom: 3px solid var(--cb-tinta); position: relative; }
.cb-articulo__texto .cb-cita blockquote::before { content: "“"; position: absolute; top: -6px; left: 0; font-weight: 900; font-size: 96px; line-height: 1; color: var(--cb-mostaza); }
.cb-articulo__texto .cb-cita p { margin: 0; padding-left: 58px; font-weight: 900; font-stretch: 75%; font-size: clamp(24px, 3vw, 34px); line-height: 1.1; text-transform: uppercase; }
.cb-articulo__texto .cb-cita cite { display: block; margin-top: 10px; padding-left: 58px; font-family: var(--cb-mono); font-size: 13px; font-style: normal; color: var(--cb-gris); }
.cb-articulo__texto .wp-block-image { margin: 1.4em 0; }
.cb-articulo__texto .wp-block-image img { display: block; max-width: 100%; height: auto; border: 2px solid var(--cb-tinta); background: var(--cb-papel-claro); }
.cb-articulo__texto figcaption, .cb-articulo__texto .wp-element-caption { margin-top: 8px; font-family: var(--cb-mono); font-size: 13px; line-height: 1.4; color: var(--cb-gris); }
.cb-articulo__texto .wp-block-gallery { display: grid; grid-template-columns: repeat(var(--cb-cols, 3), minmax(0, 1fr)); gap: 14px; margin: 1.4em 0; }
.cb-articulo__texto .wp-block-gallery.columns-2 { --cb-cols: 2; }
.cb-articulo__texto .wp-block-gallery.columns-4 { --cb-cols: 4; }
.cb-articulo__texto .wp-block-gallery .wp-block-image { margin: 0; }
.cb-articulo__texto .wp-block-gallery.is-cropped .wp-block-image img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.cb-articulo__texto .wp-block-gallery > .blocks-gallery-caption { grid-column: 1 / -1; }
.cb-articulo__texto .cb-recuadro { margin: 1.8em 0; padding: 20px 22px; border: 2px solid var(--cb-tinta); background: var(--cb-papel-claro); box-shadow: 6px 6px 0 var(--cb-tinta); }
.cb-articulo__texto .cb-recuadro h4 { margin: 0 0 12px; padding-bottom: 8px; border-bottom: 2px solid var(--cb-tinta); font-family: var(--cb-mono); font-size: 14px; letter-spacing: .1em; text-transform: uppercase; }
.cb-articulo__texto .cb-recuadro p { font-size: 16px; margin-bottom: .6em; }
.cb-articulo__texto .cb-recuadro .wp-block-image { float: right; width: 38%; margin: 0 0 10px 16px; }
.cb-articulo__texto .cb-recuadro::after { content: ""; display: block; clear: both; }
.cb-articulo__texto .cb-verso { margin: 1.4em 0; padding: 18px 22px; border-left: 4px solid var(--cb-mostaza); background: var(--cb-papel-claro); font-family: inherit; font-size: 17px; line-height: 1.6; white-space: pre-wrap; }
.cb-articulo__texto .cb-firma-final { margin-top: 1.6em; padding-top: 12px; border-top: 1px solid var(--cb-piedra); font-style: italic; color: var(--cb-gris); text-align: right; }
@media (max-width: 700px) {
	.cb-articulo__texto .cb-recuadro .wp-block-image { float: none; width: 60%; margin: 0 0 12px; }
	.cb-articulo__texto .cb-cita p, .cb-articulo__texto .cb-cita cite { padding-left: 44px; }
	.cb-articulo__texto .wp-block-gallery { --cb-cols: 2; }
}
.cb-articulo__portada { margin: 0 0 28px; }
.cb-articulo__portada img { display: block; width: 100%; max-height: 560px; object-fit: cover; object-position: center 30%; border: 2px solid var(--cb-tinta); background: var(--cb-papel-claro); }
/* Galleries inside articles: our grid, captions under the photo (not over it) */
.cb-articulo__texto .wp-block-gallery.has-nested-images { display: grid !important; flex-wrap: initial; }
.cb-articulo__texto .wp-block-gallery.has-nested-images figure.wp-block-image { width: auto !important; max-width: none; margin: 0 !important; flex-direction: column; justify-content: flex-start; align-self: start; }
.cb-articulo__texto .wp-block-gallery.has-nested-images figure.wp-block-image > a, .cb-articulo__texto .wp-block-gallery.has-nested-images figure.wp-block-image img { display: block; width: 100%; height: auto; flex: none; }
.cb-articulo__texto .wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image img { aspect-ratio: 4 / 5; object-fit: cover; height: auto; }
.cb-articulo__texto .wp-block-gallery.has-nested-images figure.wp-block-image figcaption { position: static; max-height: none; overflow: visible; padding: 0; margin-top: 8px; background: none; color: var(--cb-gris); text-align: left; text-shadow: none; font-size: 13px; }
.cb-articulo__texto .wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption)::before { display: none; }
.cb-articulo__texto .wp-block-gallery.columns-5 { --cb-cols: 5; }
.cb-articulo__texto .wp-block-gallery.columns-6 { --cb-cols: 6; }
.cb-articulo__texto .wp-block-gallery.columns-5 figcaption, .cb-articulo__texto .wp-block-gallery.columns-6 figcaption { font-size: 11px !important; }
@media (max-width: 700px) {
	.cb-articulo__texto .wp-block-gallery.columns-4, .cb-articulo__texto .wp-block-gallery.columns-5, .cb-articulo__texto .wp-block-gallery.columns-6 { --cb-cols: 3; }
}
.cb-articulo__portada.is-vertical img { object-fit: contain; max-height: 620px; }

/* ------------------------------------------------------------------
   Mis listas (0.26): tabs, lists, videos, agrupaciones, save buttons, chooser
------------------------------------------------------------------ */
.cb-milista__tabs { display: flex; flex-wrap: wrap; gap: 12px; margin: 0 0 26px; padding: 0 6px 6px 0; }
.cb-milista__tab { display: inline-flex; align-items: baseline; justify-content: center; gap: 8px; min-height: 52px; padding: 0 22px; border: 3px solid var(--cb-tinta); background: var(--cb-papel-claro); color: var(--cb-tinta); font: inherit; font-weight: 900; font-stretch: 70%; font-size: clamp(20px, 2.6vw, 28px); line-height: 52px; text-transform: uppercase; cursor: pointer; border-radius: 0; white-space: nowrap; transition: transform .12s, box-shadow .12s, background-color .12s; }
.cb-milista__tab small { font-family: var(--cb-mono); font-size: 13px; font-weight: 600; font-stretch: normal; letter-spacing: .04em; }
.cb-milista__tab:not(:disabled):hover, .cb-milista__tab.is-on { background: var(--cb-mostaza); box-shadow: 5px 5px 0 var(--cb-tinta); transform: translate(-2px, -2px); }
@media (prefers-reduced-motion: reduce) { .cb-milista__tab { transition: none; } }
.cb-milista__tab:disabled { opacity: .35; cursor: default; }
.cb-milista__tab:focus-visible, .cb-milista__chip:focus-visible { outline: 3px solid var(--cb-mostaza); outline-offset: 2px; }
.cb-milista__lists { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 22px; }
.cb-milista__chip { display: inline-flex; align-items: center; gap: 8px; min-height: 42px; padding: 0 14px; border: 2px solid var(--cb-tinta); background: var(--cb-papel-claro); color: var(--cb-tinta); font: inherit; font-size: 15px; font-weight: 700; cursor: pointer; border-radius: 0; }
.cb-milista__chip small { font-family: var(--cb-mono); font-size: 12px; font-weight: 600; opacity: .75; }
.cb-milista__chip.is-on { background: var(--cb-tinta); color: var(--cb-papel); }
.cb-milista__chip--new { border-style: dashed; background: transparent; }
.cb-milista__nameform { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.cb-milista__nameform input { min-height: 42px; min-width: min(280px, 100%); padding: 0 12px; border: 2px solid var(--cb-tinta); background: #fff; font: inherit; font-size: 16px; border-radius: 0; }
.cb-milista__nameform .cb-btn { min-height: 42px; }
.cb-milista__lhead { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 14px 30px; margin-bottom: 18px; }
.cb-milista__ltitle { margin: 0; font-weight: 900; font-stretch: 70%; font-size: clamp(30px, 4vw, 48px); line-height: 1; text-transform: uppercase; }
.cb-milista__lmeta { margin: 8px 0 0; font-family: var(--cb-mono); font-size: 13px; letter-spacing: .06em; text-transform: uppercase; color: var(--cb-gris); }
.cb-milista__more { position: relative; }
.cb-milista__more > summary { list-style: none; min-height: 48px; font-size: 22px; text-decoration: none; }
.cb-milista__more > summary::-webkit-details-marker { display: none; }
.cb-milista__menu { position: absolute; right: 0; top: calc(100% + 6px); z-index: 30; display: grid; min-width: 210px; border: 2px solid var(--cb-tinta); background: var(--cb-papel-claro); box-shadow: 6px 6px 0 var(--cb-tinta); }
.cb-milista__menu button { padding: 12px 14px; border: 0; border-bottom: 1px solid var(--cb-piedra); background: transparent; color: var(--cb-tinta); font: inherit; font-weight: 600; text-align: left; cursor: pointer; }
.cb-milista__menu button:last-child { border-bottom: 0; }
.cb-milista__menu button:hover { background: var(--cb-papel); }
.cb-milista__menu .is-danger { color: var(--cb-granate); }
.cb-milista__hint, .cb-milista__foot { margin: 18px 0 0; font-size: 14px; color: var(--cb-gris); }
.cb-milista__foot { margin-top: 40px; padding-top: 14px; border-top: 1px solid var(--cb-piedra); }

/* the big video player of a list */
.cb-vstage { margin: 0 0 24px; border: 3px solid var(--cb-tinta); background: var(--cb-tinta); box-shadow: 8px 8px 0 var(--cb-tinta); }
.cb-vstage[hidden] { display: none; }
.cb-vstage__frame { background: #000; }
.cb-vstage__media { position: relative; width: 100%; aspect-ratio: 16 / 9; max-height: 72vh; margin: 0 auto; display: flex; align-items: center; justify-content: center; }
.cb-vstage__media.is-vertical { aspect-ratio: 9 / 16; max-width: 420px; }
.cb-vstage__media iframe, .cb-vstage__media .cb-vstage__yt { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.cb-vstage__bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 20px; padding: 12px 14px; background: var(--cb-mostaza); color: var(--cb-tinta); }
.cb-vstage__info { display: flex; flex-direction: column; min-width: 0; flex: 1 1 260px; }
.cb-vstage__k { font-family: var(--cb-mono); font-size: 12px; letter-spacing: .05em; text-transform: uppercase; }
.cb-vstage__t { font-weight: 800; font-size: 18px; line-height: 1.25; }
.cb-vstage__nav { display: flex; gap: 6px; }
.cb-vstage__nav button { width: 46px; height: 46px; border: 2px solid var(--cb-tinta); background: var(--cb-papel-claro); color: var(--cb-tinta); font-size: 18px; font-weight: 800; cursor: pointer; border-radius: 0; }
.cb-vstage__nav button:hover { background: var(--cb-tinta); color: var(--cb-papel); }
.cb-vstage__note { margin: 0; padding: 8px 14px; background: var(--cb-papel-claro); color: var(--cb-gris); font-size: 14px; }
.cb-vstage__note[hidden] { display: none; }

/* videos of a list */
.cb-vlist { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 22px; margin: 0; padding: 0; list-style: none; }
.cb-vlist__item { display: grid; grid-template-rows: auto 1fr; border: 2px solid var(--cb-tinta); background: var(--cb-papel-claro); min-width: 0; }
.cb-vlist__item.is-current { box-shadow: 6px 6px 0 var(--cb-tinta); background: var(--cb-mostaza); }
.cb-vlist__play { display: grid; gap: 0; padding: 0; border: 0; background: transparent; color: var(--cb-tinta); text-align: left; font: inherit; cursor: pointer; }
.cb-vlist__th { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; background: var(--cb-tinta); }
.cb-vlist__th img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cb-vlist__th.is-empty { display: flex; align-items: center; justify-content: center; background: var(--cb-azul); }
.cb-vlist__prov { color: var(--cb-papel); font-weight: 800; font-size: 18px; }
.cb-vlist__num { position: absolute; left: 0; top: 0; padding: 4px 8px; background: var(--cb-tinta); color: var(--cb-papel); font-family: var(--cb-mono); font-size: 12px; }
.cb-vlist__play:hover .cb-vlist__th::after, .cb-vlist__item.is-current .cb-vlist__th::after { content: "▶"; position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(23, 18, 15, .45); color: #fff; font-size: 36px; }
.cb-vlist__tx { display: flex; flex-direction: column; gap: 2px; padding: 10px 12px; min-width: 0; }
.cb-vlist__t { font-weight: 800; line-height: 1.25; }
.cb-vlist__from { font-size: 14px; color: var(--cb-gris); }
.cb-vlist__item .cb-milista__tools, .cb-glist__item .cb-milista__tools { justify-content: flex-end; padding: 0 6px 6px; }

/* agrupaciones of a list */
.cb-glist { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 22px; margin: 0; padding: 0; list-style: none; }
.cb-glist__item { display: grid; grid-template-rows: 1fr auto; min-width: 0; }
.cb-glist__item .cb-card2 { height: 100%; }

/* «Guardar» under each video, «Favorita» on each agrupación */
.cb-save { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 0 12px; border: 2px solid var(--cb-tinta); background: var(--cb-papel-claro); color: var(--cb-tinta); font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; border-radius: 0; white-space: nowrap; }
.cb-save:hover { background: var(--cb-tinta); color: var(--cb-papel); }
.cb-save:focus-visible { outline: 3px solid var(--cb-mostaza); outline-offset: 2px; }
.cb-save__i::before { content: "+"; font-size: 18px; line-height: 1; }
.cb-save.is-on { background: var(--cb-tinta); color: var(--cb-papel); }
.cb-save.is-on .cb-save__i::before { content: "✓"; font-size: 15px; }
.cb-save--agr .cb-save__i::before { content: "♡"; font-size: 17px; }
.cb-save--agr.is-on { background: var(--cb-granate); border-color: var(--cb-granate); }
.cb-save--agr.is-on .cb-save__i::before { content: "♥"; }
.cb-vframe__cap .cb-save { margin-left: auto; align-self: center; }
.cb-vframe__t { min-width: 0; }
.cb-tags { align-items: center; }
.cb-tags .cb-save { min-height: 0; gap: 5px; padding: 1px 7px; border-width: 2px; font-family: var(--cb-mono); font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; line-height: 1.4; }
.cb-tags .cb-save .cb-save__i::before { font-size: 13px; line-height: 1; }

/* notice with an action, and the «Guardar en…» chooser */
.cb-toast__btn { margin-left: 8px; padding: 0; border: 0; background: transparent; color: var(--cb-mostaza); font: inherit; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.cb-elegir { position: fixed; inset: 0; z-index: 10000; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(23, 18, 15, .55); }
.cb-elegir[hidden] { display: none; }
.cb-elegir__box { width: min(440px, 100%); max-height: calc(100vh - 32px); overflow: auto; padding: 22px; border: 3px solid var(--cb-tinta); background: var(--cb-papel-claro); color: var(--cb-tinta); box-shadow: 8px 8px 0 var(--cb-tinta); }
.cb-elegir__t { margin: 0; font-weight: 900; font-stretch: 70%; font-size: 30px; line-height: 1; text-transform: uppercase; }
.cb-elegir__sub { margin: 6px 0 16px; color: var(--cb-gris); font-weight: 600; }
.cb-elegir__lists { margin: 0 0 16px; padding: 0; list-style: none; border-top: 1px solid var(--cb-piedra); }
.cb-elegir__lists label { display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 6px 2px; border-bottom: 1px solid var(--cb-piedra); cursor: pointer; }
.cb-elegir__lists input { width: 20px; height: 20px; accent-color: var(--cb-tinta); }
.cb-elegir__n { flex: 1 1 auto; font-weight: 700; }
.cb-elegir__c { font-family: var(--cb-mono); font-size: 12px; color: var(--cb-gris); }
.cb-elegir__full { font-family: var(--cb-mono); font-size: 11px; text-transform: uppercase; color: var(--cb-granate); }
.cb-elegir__new { display: flex; gap: 8px; margin-bottom: 16px; }
.cb-elegir__new input { flex: 1 1 auto; min-width: 0; min-height: 44px; padding: 0 12px; border: 2px solid var(--cb-tinta); background: #fff; font: inherit; font-size: 16px; border-radius: 0; }
.cb-elegir__ok { width: 100%; justify-content: center; }
@media (max-width: 600px) {
	.cb-milista__tabs { gap: 8px; }
	.cb-milista__tab { flex: 1 1 0; gap: 5px; min-height: 46px; line-height: 46px; padding: 0 6px; font-size: clamp(15px, 4.4vw, 20px); }
	.cb-milista__tab:not(:disabled):hover, .cb-milista__tab.is-on { box-shadow: 4px 4px 0 var(--cb-tinta); }
	.cb-milista__tab small { font-size: 11px; }
	.cb-vlist, .cb-glist { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.cb-vlist__t { font-size: 14px; }
	.cb-vlist__from { font-size: 12px; }
	.cb-vframe__cap { flex-wrap: wrap; }
}

/* Rótulo de azulejo: the street name as its ceramic plaque (as on the walls of Bollullos). Sized in em. */
@font-face { font-family: "CB Rotulo"; src: url("https://carnavaldebollullos.com/wp-content/plugins/archivo-carnaval-bollullos/assets/fonts/arvo-latin-700-normal.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }
.cb-rotulo {
	--az: #1f2b6e; /* the blue of the letters and lines */
	--cenefa: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Crect width='20' height='20' fill='%23d99a45'/%3E%3Cpath d='M10 3.2c1.7 0 2.4 2.2 1.2 3.4 1.2-1.2 3.4-.5 3.4 1.2 0 1.6-2.1 2.4-3.3 1.3 1.2 1.2.4 3.4-1.3 3.4s-2.5-2.2-1.3-3.4C7.5 10.2 5.4 9.4 5.4 7.8c0-1.7 2.2-2.4 3.4-1.2C7.6 5.4 8.3 3.2 10 3.2z' fill='%23a2401f'/%3E%3Ccircle cx='10' cy='8.3' r='1.3' fill='%23f4d79a'/%3E%3Cpath d='M0 17.5c3-1.8 5-1.8 7 0M13 17.5c2-1.8 4-1.8 7 0' stroke='%235e6b2c' stroke-width='1.3' fill='none'/%3E%3Ccircle cx='0' cy='0' r='1.6' fill='%231f2b6e'/%3E%3Ccircle cx='20' cy='0' r='1.6' fill='%231f2b6e'/%3E%3Ccircle cx='0' cy='20' r='1.6' fill='%231f2b6e'/%3E%3Ccircle cx='20' cy='20' r='1.6' fill='%231f2b6e'/%3E%3C/svg%3E");
	position: relative;
	display: inline-flex;
	max-width: 100%;
	padding: .48em;
	border: .12em solid var(--az);
	background: var(--cenefa) 0 0 / .96em .96em repeat;
	box-shadow: .06em .1em 0 rgba(23, 18, 15, .35), 0 .25em .5em -.2em rgba(23, 18, 15, .35);
	color: var(--az);
	font-size: 16px;
	line-height: 1;
	vertical-align: middle;
	text-decoration: none;
}
.cb-rotulo__in {
	--tile: 3.4em;
	position: relative;
	display: flex;
	flex: 1 1 auto;
	align-items: center;
	gap: .55em;
	min-width: 0;
	min-height: 3.3em;
	padding: .38em .9em .38em .5em;
	border: .1em solid var(--az);
	border-radius: .32em;
	background:
		repeating-linear-gradient(90deg, transparent 0 calc(var(--tile) - 1px), rgba(31, 43, 110, .16) calc(var(--tile) - 1px) var(--tile)),
		linear-gradient(180deg, #fefefb, #f3f1ea);
	overflow: hidden;
}
/* the glaze of the tiles */
.cb-rotulo__in::after { content: ""; position: absolute; inset: 0; background: linear-gradient(160deg, rgba(255, 255, 255, .7) 0 18%, transparent 30% 70%, rgba(255, 255, 255, .25) 85%); pointer-events: none; }
.cb-rotulo__escudo { position: relative; z-index: 1; flex: 0 0 auto; width: 2em; height: 2.6em; }
.cb-rotulo__escudo svg, .cb-rotulo__escudo img { display: block; width: 100%; height: 100%; object-fit: contain; }
.cb-rotulo__t {
	position: relative;
	z-index: 1;
	min-width: 0;
	font-family: "CB Rotulo", "Rockwell", "Clarendon", "Bookman Old Style", Georgia, serif;
	font-weight: 700;
	font-size: 1.32em;
	letter-spacing: .06em;
	line-height: 1.08;
	text-transform: uppercase;
	text-align: center;
	text-wrap: balance;
	overflow-wrap: anywhere;
	text-shadow: 0 0 .01em var(--az);
	flex: 1 1 auto;
}
.cb-rotulo--s { font-size: 11px; }
.cb-rotulo--m { font-size: 15px; }
.cb-rotulo--l { font-size: clamp(16px, 3.4vw, 30px); }
a.cb-rotulo { transition: transform .15s; }
a.cb-rotulo:hover { transform: translateY(-2px) rotate(-.4deg); }
@media (prefers-reduced-motion: reduce) { a.cb-rotulo { transition: none; } }

/* ------------------------------------------------------------------
   Calles adornadas (0.28): maps with garlands, the wall of plaques, the page of a street,
   the «Carnaval de calle» page
------------------------------------------------------------------ */
.cb-callesad { margin: 48px 0; }
.cb-callesad--year { margin: 24px 0 36px; }
.cb-callesad__lead { max-width: 68ch; margin: 0 0 16px; }
.cb-callesad__years { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; }
.cb-callesad__years .cb-chip { display: inline-flex; align-items: center; gap: 6px; }
.cb-callesad__years .cb-chip small { font-family: var(--cb-mono); font-size: 12px; opacity: .75; }
.cb-callesad__years .cb-chip.is-on { background: var(--cb-tinta); color: var(--cb-papel); }
/* the map */
.cb-mapa { position: relative; margin: 0 0 26px; border: 3px solid var(--cb-tinta); background: var(--cb-papel-claro); box-shadow: 8px 8px 0 var(--cb-tinta); }
.cb-mapa__map { height: clamp(360px, 58vh, 620px); background: #ece6da; }
.cb-mapa--bajo .cb-mapa__map { height: clamp(280px, 42vh, 420px); }
.cb-mapa .leaflet-tile-pane { filter: grayscale(1) sepia(.28) brightness(1.06) contrast(.82); opacity: .85; }
.cb-mapa__credit { margin: 0; padding: 4px 10px; border-top: 2px solid var(--cb-tinta); font-family: var(--cb-mono); font-size: 11px; color: var(--cb-gris); }
.cb-mapa__credit a { color: inherit; }
.cb-mapa .leaflet-container { font: inherit; background: #ece6da; }
.cb-mapa .leaflet-bar { border: 2px solid var(--cb-tinta); border-radius: 0; box-shadow: 3px 3px 0 var(--cb-tinta); }
.cb-mapa .leaflet-bar a { border-radius: 0 !important; color: var(--cb-tinta); }
/* garlands */
.cb-garland { position: absolute; pointer-events: none; overflow: visible; }
.cb-garland g { transition: opacity .15s; }
.cb-garland g.is-dim { opacity: .3; }
.cb-garland.has-hl g:not(.is-hl) { opacity: .25; }
.cb-garland g.is-hl { filter: drop-shadow(0 0 2px #fff) drop-shadow(0 0 4px rgba(23, 18, 15, .45)); }
/* a street without a drawing: one pennant */
.cb-pin { background: none; border: 0; }
.cb-pin__flag { position: absolute; left: 2px; top: 0; width: 2px; height: 34px; background: var(--cb-tinta); }
.cb-pin__flag::after { content: ""; position: absolute; left: 2px; top: 0; border-top: 9px solid transparent; border-bottom: 9px solid transparent; border-left: 18px solid var(--cb-granate); filter: drop-shadow(2px 2px 0 var(--cb-tinta)); }
.cb-pin:not(.is-on) { opacity: .4; }
/* hover label and popup: the plaque */
.cb-maptip { padding: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; }
.cb-maptip::before { display: none; }
.cb-mappop .leaflet-popup-content-wrapper { border: 2px solid var(--cb-tinta); border-radius: 0; box-shadow: 5px 5px 0 var(--cb-tinta); }
.cb-mappop .leaflet-popup-tip { border: 2px solid var(--cb-tinta); }
.cb-mappop .leaflet-popup-content { margin: 12px; }
.cb-pop { display: grid; gap: 8px; min-width: 190px; justify-items: start; }
.cb-pop img { width: 100%; height: 100px; object-fit: cover; }
.cb-pop__m { font-family: var(--cb-mono); font-size: 12px; color: var(--cb-gris); }
.cb-pop__go { font-weight: 700; color: var(--cb-granate) !important; }
/* the wall of plaques */
.cb-vias { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 26px 22px; margin: 0; padding: 0; list-style: none; }
.cb-vias li { display: grid; justify-items: center; gap: 8px; text-align: center; }
.cb-vias li[hidden] { display: none; }
.cb-vias .cb-rotulo { width: 100%; }
.cb-vias li.is-hl .cb-rotulo { transform: translateY(-3px) rotate(-.5deg); box-shadow: .06em .1em 0 rgba(23, 18, 15, .35), 6px 8px 0 var(--cb-tinta); }
.cb-vias__m { font-family: var(--cb-mono); font-size: 13px; color: var(--cb-gris); }
.cb-callesad--year .cb-vias { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
/* page of a street */
.cb-via { display: grid; gap: 40px; justify-items: center; text-align: center; }
.cb-via__head { display: grid; gap: 18px; justify-items: center; padding-top: 10px; }
.cb-via__h1 { margin: 0; line-height: 1; }
.cb-via__h1 .cb-rotulo--l { font-size: clamp(17px, 4.4vw, 32px); }
.cb-via__tags { justify-content: center; margin: 0; }
.cb-via__kicker { margin: 0 0 18px; font-family: var(--cb-mono); font-size: 13px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--cb-gris); }
.cb-via__anios, .cb-via__mapa, .cb-via__texto, .cb-via__foto { width: 100%; }
.cb-via__years { display: flex; flex-wrap: wrap; justify-content: center; gap: 18px; margin: 0; padding: 0; list-style: none; }
.cb-via__yc { display: grid; gap: 6px; justify-items: center; min-width: 190px; max-width: 260px; padding: 22px 26px; border: 3px solid var(--cb-tinta); background: var(--cb-papel-claro); color: var(--cb-tinta) !important; text-decoration: none; transition: transform .12s, box-shadow .12s, background-color .12s; }
a.cb-via__yc:hover { background: var(--cb-mostaza); box-shadow: 6px 6px 0 var(--cb-tinta); transform: translate(-2px, -2px); }
.cb-via__y { font-weight: 900; font-stretch: 70%; font-size: 52px; line-height: .9; }
.cb-via__tema { font-weight: 800; font-size: 17px; }
.cb-via__quien { font-size: 14px; color: var(--cb-gris); }
.cb-via__go { margin-top: 6px; font-family: var(--cb-mono); font-size: 12px; letter-spacing: .04em; text-transform: uppercase; }
.cb-via__foto { margin: 0; max-width: 900px; border: 3px solid var(--cb-tinta); box-shadow: 8px 8px 0 var(--cb-tinta); }
.cb-via__foto img { display: block; width: 100%; height: auto; }
.cb-via__texto { max-width: 70ch; text-align: left; }
.cb-via__mapa { text-align: left; }
.cb-via__mapa .cb-via__kicker { text-align: center; }
.cb-via__all { margin: 0; }
@media (prefers-reduced-motion: reduce) { .cb-via__yc, .cb-garland g { transition: none; } }
/* the «Carnaval de calle» page */
.cb-callehub { margin-top: 28px; }
.cb-callehub > section { margin: 0 0 56px; scroll-margin-top: 110px; }
.cb-callehub__nav { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 36px; }
.cb-callehub__nav .cb-chip { display: inline-flex; align-items: center; text-decoration: none; }
.cb-dias { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; }
.cb-dias__i > a, .cb-dias__i > div { display: grid; align-content: start; gap: 8px; height: 100%; padding: 18px 18px 20px; border: 3px solid var(--cb-tinta); background: var(--cb-papel-claro); color: var(--cb-tinta) !important; text-decoration: none; transition: transform .12s, box-shadow .12s; }
.cb-dias__i > a:hover { box-shadow: 6px 6px 0 var(--cb-tinta); transform: translate(-2px, -2px); }
.cb-dias__i { --c: var(--cb-granate); }
.cb-dias__i--desfile { --c: var(--cb-azul); }
.cb-dias__i--carnavalito { --c: var(--cb-verde); }
.cb-dias__i--alcalde { --c: var(--cb-mostaza); }
.cb-dias__i--calle { --c: var(--cb-tinta); }
.cb-dias__i > a::before, .cb-dias__i > div::before { content: ""; display: block; height: 10px; margin: -18px -18px 6px; background: linear-gradient(135deg, var(--c) 0 50%, transparent 50%) 0 0 / 14px 10px repeat-x; }
.cb-dias__t { font-weight: 900; font-stretch: 70%; font-size: 26px; line-height: 1; text-transform: uppercase; }
.cb-dias__d { font-size: 15px; }
.cb-calleyears__m { position: absolute; left: 0; top: 0; z-index: 2; padding: 6px 10px; background: var(--cb-tinta); color: var(--cb-papel); font-family: var(--cb-mono); font-size: 12px; }
@media (max-width: 600px) {
	.cb-vias { grid-template-columns: 1fr; }
	.cb-via__yc { min-width: 140px; padding: 16px 18px; }
	.cb-via__y { font-size: 40px; }
}
.cb-maptip .cb-rotulo { width: max-content; max-width: 320px; }
.cb-maptip .cb-rotulo__t { white-space: nowrap; overflow-wrap: normal; }
.cb-pop .cb-rotulo { width: 100%; }
.cb-pop .cb-rotulo__t { overflow-wrap: normal; }
.cb-vias li { align-content: start; justify-items: stretch; }
.cb-vias .cb-rotulo__in { min-height: 3.95em; }
.cb-callesad--year .cb-vias { grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); }

/* 0.28.3 — waving pennants, and the coat of arms centred in the first tile, as on the real plaques */
.cb-garland path { transform-box: fill-box; }
.cb-garland g.is-hl path[style] { animation: cb-ondear .9s ease-in-out infinite alternate; animation-delay: calc(var(--i, 0) * -.11s); }
@keyframes cb-ondear { from { transform: rotate(-16deg) scaleY(.92); } to { transform: rotate(16deg) scaleY(1.05); } }
@media (prefers-reduced-motion: reduce) { .cb-garland g.is-hl path[style] { animation: none; } }
.cb-rotulo__in { padding-left: 0; }
.cb-rotulo__escudo { display: flex; align-items: center; justify-content: center; width: calc(var(--tile) - .2em); height: 2.7em; margin-right: .1em; }
.cb-rotulo__escudo img, .cb-rotulo__escudo svg { width: auto !important; height: 100% !important; max-width: 100% !important; max-height: 100% !important; margin: 0 !important; padding: 0 !important; }
.cb-rotulo__t { padding-right: .1em; }
.cb-mapa .leaflet-interactive:focus { outline: none; }

/* 0.28.4 — the plaque always in the same proportion: 4 square tiles, the arms in the first, the name in the other three */
.cb-rotulo--fijo { --fijo: 1; width: auto !important; max-width: none; }
.cb-rotulo--fijo .cb-rotulo__in { box-sizing: content-box; flex: 0 0 auto; width: calc(var(--tile) * 4); height: var(--tile); min-height: 0 !important; padding: 0; gap: 0; }
.cb-rotulo--fijo .cb-rotulo__escudo { flex: 0 0 25%; width: 25%; height: 2.95em; margin: 0; }
.cb-rotulo--fijo .cb-rotulo__t { box-sizing: border-box; flex: 0 0 75%; width: 75%; padding: 0 .25em; text-wrap: balance; white-space: normal !important; overflow-wrap: normal !important; word-break: normal; hyphens: manual; }
/* the wall: as many as fit, 5 or 6 a row on a computer, 2 on a phone; each plaque scales with its cell */
.cb-vias, .cb-callesad--year .cb-vias { grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 22px 18px; }
.cb-vias li { container-type: inline-size; justify-items: center; }
.cb-vias .cb-rotulo { font-size: 12px; font-size: min(calc(100cqi / 15.1), 17px); }
.cb-vias__m { font-size: 12px; }
/* on the map: the plaque on hover; the popup names the street (the plaque only on touch screens) */
.cb-maptip .cb-rotulo, .cb-pop .cb-rotulo { font-size: 12.5px; }
.cb-pop__t { font-weight: 900; font-stretch: 70%; font-size: 22px; line-height: 1; text-transform: uppercase; color: var(--cb-tinta); }
@media (max-width: 600px) {
	.cb-vias, .cb-callesad--year .cb-vias { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 12px; }
	.cb-vias__m { font-size: 11px; }
	/* the page of a street: on a phone, the same proportion as everywhere else */
	.cb-via__h1 .cb-rotulo { --fijo: 1; width: auto; max-width: none; font-size: min(calc((100vw - 48px) / 15), 22px) !important; }
	.cb-via__h1 .cb-rotulo__in { box-sizing: content-box; flex: 0 0 auto; width: calc(var(--tile) * 4); height: var(--tile); min-height: 0; padding: 0; gap: 0; }
	.cb-via__h1 .cb-rotulo__escudo { flex: 0 0 25%; width: 25%; height: 2.95em; margin: 0; }
	.cb-via__h1 .cb-rotulo__t { box-sizing: border-box; flex: 0 0 75%; width: 75%; padding: 0 .25em; text-wrap: balance; overflow-wrap: normal; word-break: normal; }
}
.cb-mapa { z-index: 0; isolation: isolate; } /* the map, its pennants and popups stay under the sticky header */

/* 0.29 — «Carnaval de calle»: on a computer the map tall on the left and the plaques in two columns on the right */
@media (min-width: 960px) {
	.cb-callesad__dos { display: grid; grid-template-columns: minmax(0, 52fr) minmax(0, 48fr); gap: 28px 30px; align-items: start; }
	.cb-callesad__dos .cb-mapa { position: sticky; top: calc(var(--cb-adminbar, 0px) + var(--cb-header-h, 80px) + 18px); margin: 0; }
	.cb-callesad__dos .cb-mapa__map { height: clamp(520px, calc(100vh - var(--cb-header-h, 80px) - var(--cb-adminbar, 0px) - 90px), 820px); }
	.cb-callesad__dos .cb-vias { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px 14px; }
	.cb-callesad__dos .cb-vias .cb-rotulo { font-size: min(calc(100cqi / 15.1), 21px); }
}
/* the cards of each year: what there is on that page */
.cb-calleyears__cell { display: flex; flex-direction: column; gap: 8px; }
.cb-calleyears__info { display: flex; flex-direction: column; gap: 1px; font-family: var(--cb-mono); font-size: 12px; color: var(--cb-gris); }

/* «Ediciones»: the data in two lines */
.cb-carn__meta { display: flex; flex-direction: column; gap: 1px; }
.cb-carn__item { position: relative; }

/* On touch screens: what crosses the middle of the screen looks as under the cursor (assets/centro.js) */
.cb-item.is-centro, .cb-card.is-centro { transform: translate(-3px, -3px); box-shadow: 6px 6px 0 var(--cb-tinta); }
.cb-row.is-centro { border-color: var(--cb-tinta); background: var(--cb-papel-claro); box-shadow: 6px 6px 0 var(--cb-tinta); transform: translate(-3px, -3px); position: relative; z-index: 1; }
.is-tarjetas .cb-carn__item.is-centro .cb-carn__poster { transform: translate(-3px, -3px); box-shadow: 6px 6px 0 var(--cb-tinta); }
.is-lista .cb-carn__item.is-centro .cb-carn__link { border-color: var(--cb-tinta); background: var(--cb-papel-claro); box-shadow: 6px 6px 0 var(--cb-tinta); transform: translate(-3px, -3px); position: relative; z-index: 1; }
.cb-item, .cb-row, .cb-card2, .cb-carn__poster, .cb-carn__link { transition: transform .15s, box-shadow .15s, background-color .15s, border-color .15s; }

/* the homepage «Recuerda»: the white button turns yellow, the letters stay dark */
.cb-efem .cb-btn--line:hover, .cb-efem .cb-btn--line:focus-visible { background: var(--cb-mostaza); color: var(--cb-tinta) !important; box-shadow: 4px 4px 0 var(--cb-tinta); }

/* the map in full screen (computer) */
.cb-mapa__full { display: flex !important; align-items: center; justify-content: center; width: 34px; height: 34px; background: var(--cb-papel-claro); color: var(--cb-tinta) !important; cursor: pointer; }
.cb-mapa__full:hover { background: var(--cb-mostaza); }
.cb-mapa.is-full { position: fixed !important; inset: 0; z-index: 10000; margin: 0; border: 0; box-shadow: none; display: flex; flex-direction: column; }
.cb-mapa.is-full .cb-mapa__map { flex: 1 1 auto; height: auto !important; }
html.cb-mapa-full { overflow: hidden; }

/* 0.29.2 — Colombino: the figures on white (prizes in maroon, first prizes in yellow); the steps passed,
   the one where it ended and the ones not reached; prizes from the 6th on, plain */
.cb-colfigs { background: var(--cb-papel-claro); color: var(--cb-tinta); }
.cb-colfigs div { border-color: var(--cb-tinta) !important; }
.cb-colfigs div.is-premios { background: var(--cb-granate); color: #fff; }
.cb-colfigs div.is-primero { background: var(--cb-mostaza); color: var(--cb-tinta); }
.cb-colladder__s.is-on { background: #fff; border: 2px solid var(--cb-azul); color: var(--cb-azul); }
.cb-colladder__s.is-fin { background: var(--cb-azul); border: 2px solid var(--cb-azul); color: var(--cb-mostaza); }
.cb-colladder__s.is-no { background: transparent; border: 2px dashed #5d554e; color: #5d554e; }
.cb-colrow__premio.is-bajo { background: transparent; border: 2px dashed #5d554e; color: #5d554e; }

/* 0.31 — Jingles: the songbook (and the page of each jingle) · La Tizná */
.cb-lead { font-size: clamp(18px, 1.6vw, 21px); line-height: 1.5; max-width: 66ch; }
.cb-jingles > section, .cb-jingles > aside, .cb-tizna > section { margin: 0 0 56px; }
.cb-jingles { margin-top: 36px; }
.cb-jlist { align-items: start; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 360px), 1fr)); gap: 22px; margin: 0; padding: 0; list-style: none; counter-reset: none; }
.cb-jingle { --c: var(--cb-granate); position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 4px 18px; align-content: start; padding: 26px 22px 20px; border: 3px solid var(--cb-tinta); background: var(--cb-papel-claro); transition: transform .12s, box-shadow .12s; }
.cb-jingle:nth-child(4n+2) { --c: var(--cb-azul); }
.cb-jingle:nth-child(4n+3) { --c: var(--cb-verde); }
.cb-jingle:nth-child(4n+4) { --c: var(--cb-mostaza); }
.cb-jingle::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 12px; background: linear-gradient(135deg, var(--c) 0 50%, transparent 50%) 0 0 / 16px 12px repeat-x; }
.cb-jingle:hover { transform: translate(-2px, -2px); box-shadow: 6px 6px 0 var(--cb-tinta); }
.cb-jingle__n { font-weight: 900; font-stretch: 62%; font-size: 58px; line-height: .8; color: var(--c); -webkit-text-stroke: 0; }
.cb-jingle:nth-child(4n+4) .cb-jingle__n { color: #b88a12; }
.cb-jingle__b { display: grid; gap: 6px; min-width: 0; }
.cb-jingle__t { margin: 0; font-weight: 900; font-stretch: 70%; font-size: 30px; line-height: 1; text-transform: uppercase; }
.cb-jingle__t a { color: var(--cb-tinta) !important; text-decoration: none; }
.cb-jingle__t a:hover { text-decoration: underline; text-decoration-thickness: 3px; text-underline-offset: 4px; }
.cb-jingle__m { margin: 0; font-family: var(--cb-mono); font-size: 12px; color: var(--cb-gris); }
.cb-jingle__ini { margin: 2px 0 0; font-size: 16px; font-style: italic; color: var(--cb-tinta); }
.cb-jingle__letra summary { display: inline-flex; align-items: center; gap: 6px; margin-top: 4px; font-family: var(--cb-mono); font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; cursor: pointer; list-style: none; }
.cb-jingle__letra summary::-webkit-details-marker { display: none; }
.cb-jingle__letra summary::before { content: "+"; display: inline-grid; place-items: center; width: 18px; height: 18px; border: 2px solid var(--cb-tinta); font-size: 13px; line-height: 1; }
.cb-jingle__letra[open] summary::before { content: "−"; background: var(--cb-mostaza); }
.cb-jletra { margin: 12px 0 0; font-size: 17px; line-height: 1.55; }
.cb-jletra p { margin: 0 0 1em; }
.cb-jletra p:last-child { margin-bottom: 0; }
.cb-jingle__go { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin: 8px 0 0; }
.cb-jingle__go .cb-chip { display: inline-flex; align-items: center; min-height: 0; padding: 6px 12px; line-height: 1.2; text-decoration: none; }
.cb-jingle__more { font-weight: 700; color: var(--cb-granate) !important; }
.cb-jingles__pide { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 28px; padding: 24px 28px; border: 3px solid var(--cb-tinta); background: var(--cb-mostaza); box-shadow: 8px 8px 0 var(--cb-tinta); }
.cb-jingles__pide p { margin: 0; max-width: 70ch; font-size: 17px; }
/* the page of one jingle */
.cb-jsingle { display: grid; gap: 30px; }
.cb-jsingle__tags { margin: 0; }
.cb-jletra--big { margin: 0; padding: 34px clamp(20px, 5vw, 56px); border: 3px solid var(--cb-tinta); background: var(--cb-papel-claro); box-shadow: 8px 8px 0 var(--cb-tinta); font-size: clamp(19px, 2vw, 23px); line-height: 1.6; text-align: center; }
.cb-jsingle__hist > .cb-h { margin-top: 0; }
.cb-jsingle__src { margin: 0; font-family: var(--cb-mono); font-size: 13px; color: var(--cb-gris); }
.cb-jsingle__nav { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; padding-top: 18px; border-top: 2px solid var(--cb-tinta); }
.cb-player--jingles { margin: 0; }
/* La Tizná */
.cb-tizna { margin-top: 40px; }
.cb-tizna__lead { max-width: 66ch; margin: 0 0 18px; }
@media (max-width: 600px) {
	.cb-jingle { padding: 22px 16px 16px; gap: 4px 12px; }
	.cb-jingle__n { font-size: 42px; }
	.cb-jingle__t { font-size: 24px; }
	.cb-jingles__pide { padding: 20px; }
}

/* 0.32 — the page of each carnival: a quiet index (just the names of its parts, in grey) and «En la calle» */
.cb-indice { display: flex; flex-wrap: wrap; gap: 4px 0; margin: 0 0 28px; font-family: var(--cb-mono); font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--cb-gris); }
.cb-indice a { color: var(--cb-gris) !important; text-decoration: none !important; }
.cb-indice a:hover, .cb-indice a:focus-visible { color: var(--cb-tinta) !important; text-decoration: underline !important; text-underline-offset: 3px; }
.cb-indice a + a::before { content: "·"; display: inline-block; margin: 0 10px; color: var(--cb-piedra); text-decoration: none; }
.cb-carnaval [id] { scroll-margin-top: calc(var(--cb-header-h, 70px) + 20px); }
.cb-calle--anio { margin-top: 56px; }
.cb-calle--anio .cb-calle__sub { margin-top: 36px; }
.cb-calle--anio > h2 + .cb-calle__sub, .cb-calle--anio > h2 + .cb-calle__texto { margin-top: 0; }
.cb-calle__portada { margin: 0 0 24px; border: 2px solid var(--cb-tinta); box-shadow: 6px 6px 0 var(--cb-tinta); max-width: 900px; }
.cb-calle__portada img { display: block; width: 100%; height: auto; }
.cb-calle--anio .cb-calle__agrh { font-size: clamp(20px, 2.2vw, 26px); }
.cb-calle--anio .cb-calle__sec { margin-top: 44px; }
.cb-calle--anio .cb-calle__sec > .cb-calle__sub { margin: 0 0 14px; font-family: inherit; font-weight: 900; font-stretch: 62%; font-size: clamp(26px, 2.8vw, 34px); line-height: 1; letter-spacing: 0; }

/* 0.33 — comments on the agrupaciones: a quiet notice next to «Favorita» and the section at the end */
.cb-com__teaser { align-self: center; margin-left: 6px; font-family: var(--cb-mono); font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--cb-gris) !important; text-decoration: none !important; white-space: nowrap; }
.cb-com__teaser:hover, .cb-com__teaser:focus-visible { color: var(--cb-tinta) !important; text-decoration: underline !important; text-underline-offset: 3px; }
.cb-com { margin: 64px 0 56px; scroll-margin-top: calc(var(--cb-header-h, 70px) + 20px); }
.cb-com__n { margin-left: 12px; font-family: var(--cb-mono); font-size: 14px; font-weight: 600; letter-spacing: .06em; color: var(--cb-gris); vertical-align: middle; }
.cb-com__grid { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 56px; align-items: start; }
.cb-com__list { list-style: none; margin: 0; padding: 0; max-width: 70ch; }
.cb-com__item { padding: 18px 0; border-bottom: 1px solid var(--cb-piedra); scroll-margin-top: calc(var(--cb-header-h, 70px) + 20px); }
.cb-com__item:first-child { padding-top: 4px; }
.cb-com__who { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin: 0 0 6px; }
.cb-com__who b { font-weight: 700; font-size: 16px; }
.cb-com__who span { font-family: var(--cb-mono); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--cb-gris); }
.cb-com__txt p { margin: 0 0 .6em; font-size: 17px; line-height: 1.55; overflow-wrap: anywhere; }
.cb-com__txt p:last-child { margin-bottom: 0; }
.cb-com__more { margin-top: 14px; padding: 0; border: 0; background: none; font-family: var(--cb-mono); font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--cb-tinta); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.cb-com__intro { margin: 0 0 14px; font-size: 15px; line-height: 1.5; color: var(--cb-gris); }
.cb-com__btn { display: inline-flex; align-items: center; padding: 11px 18px; border: 2px solid var(--cb-tinta); border-radius: 0; background: var(--cb-papel-claro); font: inherit; font-weight: 700; font-size: 15px; color: var(--cb-tinta); cursor: pointer; transition: transform .15s, box-shadow .15s, background .15s; }
.cb-com__btn:hover, .cb-com__btn:focus-visible { background: var(--cb-mostaza); transform: translate(-3px, -3px); box-shadow: 3px 3px 0 var(--cb-tinta); }
.cb-com__btn[hidden], .cb-com__form[hidden], .cb-com__intro[hidden], .cb-com__item[hidden] { display: none; }
.cb-com__form { display: grid; gap: 12px; padding: 20px; border: 2px solid var(--cb-tinta); background: var(--cb-papel-claro); }
.cb-com__form label { display: grid; gap: 4px; font-family: var(--cb-mono); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; }
.cb-com__form label i { font-style: normal; text-transform: none; letter-spacing: 0; color: var(--cb-gris); }
.cb-com__form input[type=text], .cb-com__form input[type=email], .cb-com__form textarea { width: 100%; box-sizing: border-box; padding: 9px 10px; border: 1.5px solid var(--cb-tinta); border-radius: 0; background: #fff; font-family: "Archivo", system-ui, sans-serif; font-size: 16px; line-height: 1.4; text-transform: none; letter-spacing: 0; color: var(--cb-tinta); }
.cb-com__form textarea { min-height: 110px; resize: vertical; }
.cb-com__form input:focus, .cb-com__form textarea:focus { outline: 2px solid var(--cb-mostaza); outline-offset: 1px; }
.cb-com__form .cb-com__chk { display: flex; gap: 8px; align-items: flex-start; font-family: "Archivo", system-ui, sans-serif; font-size: 13px; text-transform: none; letter-spacing: 0; color: var(--cb-gris); }
.cb-com__chk a { color: inherit !important; }
.cb-com__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.cb-com__send { justify-self: start; padding: 11px 20px; border: 0; border-radius: 0; background: var(--cb-tinta); color: #fff; font: inherit; font-weight: 700; font-size: 15px; cursor: pointer; transition: transform .15s, box-shadow .15s; }
.cb-com__send:hover { transform: translate(-3px, -3px); box-shadow: 3px 3px 0 var(--cb-mostaza); }
.cb-com__form small { font-size: 13px; line-height: 1.45; color: var(--cb-gris); }
.cb-com__ok { margin: 0 0 14px; padding: 12px 14px; border: 2px solid var(--cb-tinta); background: var(--cb-mostaza); font-size: 15px; line-height: 1.45; }
.cb-com--vacio { margin: 56px 0; }
.cb-com__strip { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 0; border-top: 1px solid var(--cb-piedra); border-bottom: 1px solid var(--cb-piedra); }
.cb-com__strip p { margin: 0; font-size: 17px; }
.cb-com__strip p b { margin-right: 8px; font-weight: 900; font-stretch: 62%; font-size: 22px; text-transform: uppercase; }
.cb-com--vacio .cb-com__ok, .cb-com--vacio .cb-com__form { margin-top: 16px; max-width: 560px; }
@media (max-width: 800px) {
	.cb-com__grid { grid-template-columns: 1fr; gap: 28px; }
}

/* 0.34 — Agrupaciones: the axis of the chart with a year every three */
.cb-axis--3 { position: relative; display: block; }
.cb-axis--3 span { position: absolute; top: 6px; transform: translateX(-50%); white-space: nowrap; }
.cb-axis--3 span.is-first { left: 0 !important; transform: none; }
.cb-axis--3 span.is-last { left: auto !important; right: 0; transform: none; }

/* 0.34 — the ficha técnica of an agrupación stays where it is (it no longer follows you down the page) */
.single-cb_agrupacion .cb-ficha .cb-ficha__datos { position: static; top: auto; }

/* Agrupaciones: the number of comments, small and grey. List on wide screens: left of the media tags */
.cb-row__end { display: flex; align-items: center; gap: 14px; justify-self: end; }
.cb-row__com, .cb-card2__com { font-family: var(--cb-mono); font-size: 11px; letter-spacing: .04em; color: var(--cb-gris); white-space: nowrap; }
.cb-row__com--m { display: none; }
.cb-card2__com { margin-top: -6px; }
.cb-catsel { display: none; }
@media (max-width: 640px) {
	/* list on phones: the media tags on the right, one under the other; the comments under the peña */
	.cb-row { grid-template-columns: minmax(0, 1fr) auto; column-gap: 12px; }
	.cb-row > .cb-tag { grid-column: 1; grid-row: 1; }
	.cb-row__body { grid-column: 1; grid-row: 2; }
	.cb-row__end { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
	.cb-row__com--d { display: none; }
	.cb-row__com--m { display: block; margin-top: 3px; }
	.cb-row__end .cb-row__media { flex-direction: column; align-items: stretch; gap: 4px; }
	.cb-row__end .cb-row__media .cb-flag { text-align: center; }
	/* the categories: just «Ver: [Todas ▾]» */
	.cb-chips[data-filter="cat"] > .cb-chip { display: none; }
	.cb-catsel { display: flex; align-items: center; gap: 10px; font-family: var(--cb-mono); font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--cb-gris); }
}

/* The page of each carnival: «En la calle» on the yellow of the web, from edge to edge of the screen */
.cb-calle--anio { position: relative; margin-top: 64px; padding: 44px 0 52px; background: var(--cb-mostaza); box-shadow: 0 0 0 100vmax var(--cb-mostaza); clip-path: inset(0 -100vmax); }
.cb-calle--anio > .cb-h { margin-top: 0; }
.cb-calle--anio + * { margin-top: 64px; }
.cb-calle--anio .cb-calle__texto, .cb-calle--anio .cb-calle__sub { color: var(--cb-tinta); }
/* tags straight on the yellow (a chirigota is yellow too): with a black edge */
.cb-calle--anio .cb-calle__agrh .cb-tag { box-shadow: inset 0 0 0 2px var(--cb-tinta); }

/* 0.35 — Mis listas: the video of the stage is a normal video of the web (it can go to the mini video) */
.cb-vstage__media > .cb-vstage__fig { position: absolute; inset: 0; margin: 0; border: 0; background: transparent; transform: none !important; box-shadow: none !important; }
.cb-vstage__fig .cb-video, .cb-vstage__fig .cb-vslot { width: 100%; height: 100%; }
.cb-vstage__fig .cb-vframe__cap { display: none; }

/* Hemeroteca of a carnival, an agrupación…: the first four and «Ver las N entradas» */
.cb-heme__resto { margin-top: 26px; }
.cb-heme__mas { display: inline-flex; align-items: center; gap: 8px; margin-top: 22px; padding: 11px 18px; border: 2px solid var(--cb-tinta); border-radius: 0; background: var(--cb-papel-claro); font: inherit; font-weight: 700; font-size: 15px; color: var(--cb-tinta); cursor: pointer; transition: transform .15s, box-shadow .15s, background .15s; }
.cb-heme__mas:hover, .cb-heme__mas:focus-visible { background: var(--cb-mostaza); transform: translate(-3px, -3px); box-shadow: 3px 3px 0 var(--cb-tinta); }

/* «En la calle» (yellow): the plaques of the streets with a thicker black edge */
.cb-calle--anio .cb-vias .cb-rotulo { box-shadow: 0 0 0 3px var(--cb-tinta), .06em .1em 0 rgba(23, 18, 15, .35); } /* only the wall of plaques, not the ones on the map */
.cb-calle--anio .cb-vias li.is-hl .cb-rotulo { box-shadow: 0 0 0 3px var(--cb-tinta), 6px 8px 0 var(--cb-tinta); }

/* Colombino on phones: with an odd number of figures the last one (the primer premio) takes the whole row */
@media (max-width: 700px) {
	.cb-colfigs div:last-child:nth-child(odd) { grid-column: 1 / -1; border-right: 0; }
	.cb-colfigs div:nth-last-child(-n+2):nth-child(odd):not(:last-child), .cb-colfigs div:last-child { border-bottom: 0; }
	.cb-colfigs div:nth-last-child(2):nth-child(odd) + div:last-child { border-bottom: 0; }
}

/* «Ver: [Todas ▾]» on phones: a button like the chips and its list, in the style of the web */
.cb-catsel__dd { position: relative; }
.cb-catsel__btn { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 40px 0 14px; border: 2px solid var(--cb-tinta); border-radius: 0; background: var(--cb-papel-claro) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2317120F' stroke-width='2.2'/%3E%3C/svg%3E") no-repeat right 14px center; font-family: "Archivo", system-ui, sans-serif; font-size: 15px; font-weight: 700; letter-spacing: 0; text-transform: none; color: var(--cb-tinta); cursor: pointer; transition: transform .15s, box-shadow .15s, background-color .15s; }
.cb-catsel__btn small, .cb-catsel__o small { font-family: var(--cb-mono); font-size: 12px; font-weight: 400; color: var(--cb-gris); }
.cb-catsel.is-open .cb-catsel__btn { background-color: var(--cb-mostaza); transform: translate(-3px, -3px); box-shadow: 3px 3px 0 var(--cb-tinta); }
.cb-catsel.is-open .cb-catsel__btn small { color: var(--cb-tinta); }
.cb-catsel__list { position: absolute; z-index: 60; left: -3px; top: calc(100% + 6px); min-width: 230px; margin: 0; padding: 0; list-style: none; border: 2px solid var(--cb-tinta); background: var(--cb-papel-claro); box-shadow: 5px 5px 0 var(--cb-tinta); }
.cb-catsel__list[hidden] { display: none; }
.cb-catsel__o { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding: 11px 14px; font-family: "Archivo", system-ui, sans-serif; font-size: 15px; font-weight: 700; letter-spacing: 0; text-transform: none; color: var(--cb-tinta); cursor: pointer; outline: none; }
.cb-catsel__o + .cb-catsel__o { border-top: 1px solid var(--cb-piedra); }
.cb-catsel__o:hover, .cb-catsel__o:focus { background: var(--cb-mostaza); }
.cb-catsel__o:hover small, .cb-catsel__o:focus small { color: var(--cb-tinta); }
.cb-catsel__o.is-on { background: var(--cb-tinta); color: var(--cb-papel); }
.cb-catsel__o.is-on small { color: var(--cb-piedra); }

/* 0.36 — Protagonistas: order and role of each list, letters to jump, and the Banderitas de Oro */
.cb-gentepage__find { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px 18px; margin-bottom: 8px; }
.cb-gentepage__find .cb-gentepage__search { flex: 1 1 320px; margin-bottom: 0; }
.cb-orofil { display: inline-flex; align-items: center; gap: 8px; min-height: 48px; padding: 0 16px 0 10px; border: 2px solid var(--cb-tinta); border-radius: 0; background: var(--cb-papel-claro); font: inherit; font-weight: 700; font-size: 15px; color: var(--cb-tinta); cursor: pointer; transition: transform .15s, box-shadow .15s, background .15s; }
.cb-orofil small { font-family: var(--cb-mono); font-size: 12px; font-weight: 400; color: var(--cb-gris); }
.cb-orofil:hover { background: var(--cb-mostaza); transform: translate(-3px, -3px); box-shadow: 3px 3px 0 var(--cb-tinta); }
.cb-orofil.is-on { background: var(--cb-tinta); color: var(--cb-papel); }
.cb-orofil.is-on small { color: var(--cb-piedra); }
.cb-oro { display: inline-block; width: auto; height: 1.15em; margin-left: 4px; vertical-align: -0.2em; }
.cb-orofil .cb-oro { height: 26px; margin: 0; }
.cb-gtools { display: flex; flex-wrap: wrap; gap: 8px 24px; margin: 0 0 12px; }
.cb-gtools__g { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 4px; }
.cb-gtools__l { margin-right: 4px; font-family: var(--cb-mono); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--cb-gris); }
.cb-gtools button { padding: 4px 10px; border: 1.5px solid var(--cb-piedra); border-radius: 0; background: transparent; font: inherit; font-size: 13px; font-weight: 600; color: var(--cb-tinta); cursor: pointer; }
.cb-gtools button small { font-family: var(--cb-mono); font-size: 11px; font-weight: 400; color: var(--cb-gris); }
.cb-gtools button:hover { border-color: var(--cb-tinta); }
.cb-gtools button.is-on { border-color: var(--cb-tinta); background: var(--cb-tinta); color: var(--cb-papel); }
.cb-gtools button.is-on small { color: var(--cb-piedra); }
.cb-letras { display: flex; flex-wrap: wrap; gap: 2px; margin: 0 0 12px; }
.cb-letras[hidden] { display: none; }
.cb-letras button { min-width: 30px; height: 30px; padding: 0 4px; border: 0; border-radius: 0; background: transparent; font-family: var(--cb-mono); font-size: 14px; font-weight: 600; color: var(--cb-tinta); cursor: pointer; }
.cb-letras button:hover { background: var(--cb-mostaza); }
.cb-gente--rank.is-az a { grid-template-columns: 0 1fr; column-gap: 0; }
.cb-gente--rank.is-az .cb-gente__pos { visibility: hidden; }
.cb-gente--rank li { scroll-margin-top: calc(var(--cb-header-h, 70px) + 24px); }

/* The page of a person: Banderita de Oro, figures, the line of years and the trayectoria by role */
.cb-poro { display: inline-flex; align-items: center; gap: 14px; margin: 0 0 22px; padding: 10px 18px 10px 12px; border: 2px solid var(--cb-tinta); background: var(--cb-papel-claro); box-shadow: 4px 4px 0 var(--cb-mostaza); }
.cb-poro__img { width: auto; height: 64px; }
.cb-poro b { display: block; font-weight: 900; font-stretch: 62%; font-size: 24px; line-height: 1; text-transform: uppercase; }
.cb-poro small { display: block; margin-top: 4px; font-size: 13px; color: var(--cb-gris); }
.cb-pfigs { display: grid; grid-template-columns: repeat(auto-fit, minmax(118px, 1fr)); margin: 6px 0 14px; border: 2px solid var(--cb-tinta); background: var(--cb-papel-claro); }
.cb-pfigs div { display: flex; flex-direction: column-reverse; padding: 12px 14px; border-right: 2px solid var(--cb-tinta); }
.cb-pfigs div:last-child { border-right: 0; }
.cb-pfigs dd { margin: 0; font-weight: 900; font-stretch: 62%; font-size: 46px; line-height: .9; }
.cb-pfigs dt { margin-top: 6px; font-family: var(--cb-mono); font-size: 12px; letter-spacing: .06em; text-transform: uppercase; }
.cb-pfigs .is-total { background: var(--cb-granate); color: #fff; }
.cb-pfigs .is-anios { background: var(--cb-mostaza); }
.cb-panios { margin: 0 0 40px; }
.cb-panios__bar { display: grid; grid-template-columns: repeat(var(--n), 1fr); gap: 2px; height: 39px; }
.cb-panios__y { display: flex; flex-direction: column; gap: 1px; min-width: 0; padding: 0; border: 0; border-radius: 0; background: #E3DED5; cursor: default; }
button.cb-panios__y { cursor: pointer; background: transparent; }
.cb-panios__y i { flex: 1 1 0; display: block; }
.cb-panios__y.is-sinm { background: repeating-linear-gradient(135deg, #E3DED5 0 3px, transparent 3px 6px); }
button.cb-panios__y:hover, button.cb-panios__y:focus-visible, button.cb-panios__y.is-sel { outline: 2px solid var(--cb-tinta); outline-offset: 1px; position: relative; z-index: 1; }
.cb-panios .is-granate { background: var(--cb-granate); }
.cb-panios .is-azul { background: var(--cb-azul); }
.cb-panios .is-verde { background: var(--cb-verde); }
.cb-panios .is-mostaza { background: var(--cb-mostaza); }
.cb-panios .is-tinta { background: var(--cb-tinta); }
.cb-panios .is-piedra { background: #8A8178; }
.cb-panios__ax { position: relative; height: 18px; margin-top: 4px; font-family: var(--cb-mono); font-size: 12px; color: var(--cb-gris); }
.cb-panios__ax span { position: absolute; top: 0; transform: translateX(-50%); white-space: nowrap; }
.cb-panios__ax span.is-first { left: 0 !important; transform: none; }
.cb-panios__ax span.is-last { right: 0; transform: none; }
.cb-panios__info { min-height: 1.5em; margin: 8px 0 0; font-size: 14px; line-height: 1.45; color: var(--cb-tinta); }
.cb-panios__key { display: flex; flex-wrap: wrap; gap: 4px 16px; margin: 8px 0 0; padding: 0; list-style: none; font-family: var(--cb-mono); font-size: 12px; color: var(--cb-gris); }
.cb-panios__key i { display: inline-block; width: 12px; height: 12px; margin-right: 6px; vertical-align: -1px; }
.cb-pfigs .is-comp { background: var(--cb-tinta); color: var(--cb-papel); }
.cb-ptray { margin: 0 0 16px; }
.cb-ptray .cb-chip small { font-family: var(--cb-mono); font-size: 12px; font-weight: 400; opacity: .7; }
[data-cb-tray] > li[hidden] { display: none; }
@media (max-width: 600px) {
	.cb-pfigs { grid-template-columns: repeat(2, 1fr); }
	.cb-pfigs div { border-bottom: 2px solid var(--cb-tinta); }
	.cb-pfigs div:nth-child(2n) { border-right: 0; }
	.cb-pfigs div:last-child:nth-child(odd) { grid-column: 1 / -1; }
	.cb-pfigs dd { font-size: 38px; }
	.cb-panios__bar { height: 33px; gap: 1px; }
	.cb-panios__ax { font-size: 11px; }
}

/* 0.37 — «Sobre las tablas»: three lines under each name; the one that matters goes first */
.cb-gente--rank .cb-gente__pos { order: -3; grid-row: span 4; }
.cb-gente--rank .cb-gente__name { order: -2; }
.cb-gente--rank .cb-gl { grid-column: 2; }
[data-lead="y"] .cb-gl[data-l="y"], .cb-gente--rank:not([data-lead]) .cb-gl[data-l="y"], [data-lead="n"] .cb-gl[data-l="n"], [data-lead="r"] .cb-gl[data-l="r"] { order: -1; color: var(--cb-tinta); }
.cb-gl + .cb-gl { margin-top: -2px; }
.cb-gl__r.is-sel { font-weight: 700; }
/* The line of years on phones: it slides sideways (like the chart of Agrupaciones), most recent first */
@media (max-width: 700px) {
	.cb-panios__sc { overflow-x: auto; overflow-y: hidden; padding: 3px 3px 4px; margin: -3px -3px 0; -webkit-overflow-scrolling: touch; }
	.cb-panios__sc > .cb-panios__bar, .cb-panios__sc > .cb-panios__ax { min-width: calc(var(--n) * 16px); }
}
/* «Sobre las tablas»: every line keeps its height even when it has nothing (both columns level) */
.cb-gente--rank .cb-gl { display: block; min-height: 1.45em; line-height: 1.45; }

/* 0.38 — Agrupaciones: why a result comes up when searching for a person */
.cb-row__why, .cb-card2__why { display: block; margin-top: 3px; font-size: 13px; line-height: 1.4; color: var(--cb-gris); }
.cb-row__why b, .cb-card2__why b { font-weight: 700; color: var(--cb-tinta); background: rgba(232, 185, 49, .45); padding: 0 2px; }
@media (max-width: 640px) {
	/* the chart, lower and tighter */
	.cb-historial__chart { padding: 10px 12px 10px; }
	.cb-chart-scroll .cb-bars { height: 96px; }
	.cb-chart-hint { margin-top: 6px; font-size: 12px; line-height: 1.35; }
	/* the cards, two by row and compact (Agrupaciones, the home page and each carnival) */
	.cb-historial__results.is-tarjetas .cb-year__grid, .cb-cards.cb-cards, .cb-carnaval-main .cb-cards.cb-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.cb-card2 .cb-card2__photo { aspect-ratio: 32 / 15; } /* 25 % taller than the 16:6 of the theme */
	.cb-card2__body { gap: 6px; padding: 9px 10px 11px; }
	.cb-card2__title { font-size: 21px; overflow-wrap: break-word; hyphens: auto; } /* 80 % of 26px */
	.cb-card2__body .cb-tag { font-size: 9.6px; padding: 2px 6px; } /* 80 % of 12px */
	.cb-card2__sub { font-size: 13px; }
	.cb-card2__body .cb-tagset { gap: 3px; flex-wrap: wrap; }
	.cb-card2__body .cb-colmark { font-size: 9px; padding: 1px 5px; border-width: 1.5px; margin-top: 0; }
	.cb-card2__media { gap: 3px; flex-wrap: wrap; }
	.cb-card2__media .cb-flag { font-size: 9px; padding: 1px 4px; }
	.cb-card2__com { margin-top: -3px; font-size: 10px; }
	.cb-card2__why { font-size: 12px; }
}

/* 0.39 — Hemeroteca: filters (carnaval, tema, origen, autoría), by year, search in the texts */
.cb-heme__filtros { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 22px; margin: 6px 0 26px; padding: 14px 0 0; border-top: 1px solid var(--cb-piedra); }
.cb-catsel.cb-hsel { display: flex; align-items: center; gap: 10px; font-family: var(--cb-mono); font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--cb-gris); }
.cb-hsel .cb-catsel__btn { max-width: 240px; }
.cb-hsel .cb-catsel__btn > span { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.cb-hsel.is-set .cb-catsel__btn { background-color: var(--cb-tinta); color: var(--cb-papel); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23f2f0eb' stroke-width='2.2'/%3E%3C/svg%3E"); }
.cb-hsel.is-set.is-open .cb-catsel__btn { background-color: var(--cb-mostaza); color: var(--cb-tinta); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2317120F' stroke-width='2.2'/%3E%3C/svg%3E"); }
.cb-hsel .cb-catsel__list { max-height: min(60vh, 420px); overflow-y: auto; min-width: 250px; }
.cb-hsel .cb-catsel__o.is-cero { color: var(--cb-gris); font-weight: 500; }
.cb-heme__limpiar { padding: 0; border: 0; background: none; font: inherit; font-size: 15px; font-weight: 700; color: var(--cb-granate); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.cb-heme__limpiar[hidden], .cb-heme__anio[hidden], .cb-heme__intro[hidden] { display: none; }
.cb-heme__none .cb-heme__limpiar { margin-left: 6px; }
.cb-heme__anio + .cb-heme__anio { margin-top: 38px; }
.cb-heme__ah { display: flex; align-items: baseline; gap: 10px; margin: 0 0 16px; font-weight: 900; font-stretch: 62%; font-size: 30px; line-height: 1; text-transform: uppercase; }
.cb-heme__ah small { font-family: var(--cb-mono); font-size: 13px; font-weight: 400; letter-spacing: .04em; color: var(--cb-gris); }
/* without a picture: the top of the cover of its magazine, and the page */
.cb-hcard__img.is-portada img { object-position: 50% 0; }
.cb-hcard__pag { position: absolute; right: 10px; bottom: 10px; padding: 3px 7px; background: var(--cb-tinta); color: var(--cb-papel); font-family: var(--cb-mono); font-size: 11px; letter-spacing: .04em; text-transform: uppercase; }
.cb-hcard.is-centro { transform: translate(-3px, -3px); box-shadow: 6px 6px 0 var(--cb-tinta); }
/* the line of the text where the word is */
.cb-hcard__sn { font-size: 14px; line-height: 1.45; color: var(--cb-tinta); padding-top: 8px; border-top: 1px dashed var(--cb-piedra); }
.cb-hcard__sn mark { background: var(--cb-mostaza); color: var(--cb-tinta); padding: 0 2px; font-weight: 700; }
/* the page of an entry: previous and next in the magazine */
.cb-heme__pn { margin: 54px 0 10px; }
.cb-heme__pn-h { margin: 0 0 12px; font-family: var(--cb-mono); font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--cb-gris); }
.cb-heme__pn-h a { color: var(--cb-tinta); }
.cb-heme__pn-h small { margin-left: 8px; font-size: 12px; }
.cb-heme__pn-r { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.cb-heme__pn-a { display: flex; flex-direction: column; gap: 6px; padding: 16px 18px; border: 2px solid var(--cb-tinta); background: var(--cb-papel-claro); color: var(--cb-tinta); text-decoration: none; transition: transform .15s, box-shadow .15s, background .15s; }
.cb-heme__pn-a--next { text-align: right; }
.cb-heme__pn-a small { font-family: var(--cb-mono); font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--cb-gris); }
.cb-heme__pn-a b { font-weight: 800; font-stretch: 75%; font-size: 21px; line-height: 1.12; }
a.cb-heme__pn-a:hover, a.cb-heme__pn-a:focus-visible { background: var(--cb-mostaza); transform: translate(-3px, -3px); box-shadow: 6px 6px 0 var(--cb-tinta); color: var(--cb-tinta); }
a.cb-heme__pn-a:hover small { color: var(--cb-tinta); }
.cb-heme__pn-a.is-vacio { border-style: dashed; border-color: #8a8178; background: transparent; justify-content: center; }
@media (max-width: 700px) {
	.cb-heme__filtros { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
	.cb-catsel.cb-hsel { flex-direction: column; align-items: stretch; gap: 5px; font-size: 11px; }
	.cb-hsel .cb-catsel__btn { width: 100%; max-width: none; justify-content: flex-start; }
	.cb-hsel .cb-catsel__list { min-width: 0; width: max(100%, 240px); }
	.cb-hsel:nth-of-type(even) .cb-catsel__list { left: auto; right: -3px; }
	.cb-heme__limpiar { grid-column: 1 / -1; justify-self: start; }
	.cb-heme__ah { font-size: 26px; margin-bottom: 6px; }
	.cb-heme__anio + .cb-heme__anio { margin-top: 28px; }
	/* the magazines, two by two */
	.cb-heme__revs { grid-template-columns: 1fr 1fr; gap: 26px 14px; }
	.cb-heme__y { font-size: 26px; margin-top: 4px; }
	.cb-heme__t { font-size: 14px; line-height: 1.25; }
	.cb-heme__n { font-size: 11px; }
	.cb-heme__rev .cb-heme__go { gap: 6px; }
	.cb-heme__rev .cb-heme__go .cb-btn { min-height: 36px; padding: 0 10px; font-size: 13px; }
	/* articles and interviews: a compact list, the small picture on the left */
	.cb-hcards { grid-template-columns: 1fr; gap: 0; }
	.cb-hcard { display: grid; grid-template-columns: 92px minmax(0, 1fr); align-items: start; gap: 14px; padding: 12px 8px; border: 2px solid transparent; background: transparent; box-shadow: inset 0 -1px 0 var(--cb-piedra); }
	.cb-hcard.is-centro { border-color: var(--cb-tinta); background: var(--cb-papel-claro); box-shadow: 6px 6px 0 var(--cb-tinta); transform: translate(-3px, -3px); position: relative; z-index: 1; }
	.cb-hcard__img { aspect-ratio: 1; border: 2px solid var(--cb-tinta); }
	.cb-hcard__ph { font-size: 34px; }
	.cb-hcard__pag { right: 0; bottom: 0; padding: 2px 4px; font-size: 9px; }
	.cb-hcard__play { left: 6px; bottom: 6px; width: 28px; height: 28px; font-size: 11px; }
	.cb-hcard__b { gap: 4px; padding: 0; }
	.cb-hcard__k { font-size: 10px; }
	.cb-hcard__t { font-size: 18px; }
	.cb-hcard__by { font-size: 13px; }
	.cb-hcard__sn { font-size: 13px; padding-top: 6px; }
	.cb-heme__pn-r { grid-template-columns: 1fr; gap: 12px; }
	.cb-heme__pn-a--next { text-align: left; }
	.cb-heme__pn-a b { font-size: 18px; }
}
