/**
 * Components.
 *
 * theme.json carries colour, type and spacing; everything WordPress cannot
 * express as a preset lives here. Two rules hold the file together:
 *
 * 1. No raw values. Every colour and size comes from a theme.json preset, so a
 *    brand change lands in one file and reaches every screen.
 * 2. The contrast pairing is enforced by the surface, not by the author. A band
 *    sets the text colours its background can carry, so dropping any block into
 *    it comes out legible without anyone checking a ratio.
 */

/* ===================================================================== banda
 *
 * A full-width strip of colour. Bands are the structure of the whole site: the
 * page is a stack of them and the diagonal is what joins one to the next.
 */

.sincro-banda {
	position: relative;
	padding-block: var(--wp--preset--spacing--80);
	padding-inline: var(--wp--custom--banda-x);
}

.sincro-banda > * {
	max-width: var(--wp--style--global--content-size);
	margin-inline: auto;
}

/* Paint the next surface into the diagonal so wrappers cannot expose the body. */
.sincro-banda--corte {
	--sincro-next-surface: var(--wp--preset--color--crema);
	padding-bottom: calc(var(--wp--preset--spacing--80) + var(--wp--custom--corte));
}

/* Overlap the following surface by one pixel to cover fractional-pixel seams. */
.sincro-banda--corte::after {
	content: "";
	position: absolute;
	inset: auto 0 -1px;
	height: calc(var(--wp--custom--corte) + 1px);
	max-width: none;
	background: var(--sincro-next-surface);
	clip-path: polygon(0 0, 100% 100%, 0 100%);
	pointer-events: none;
}
.sincro-banda--corte:has(+ .sincro-banda--rosa) { --sincro-next-surface: var(--wp--preset--color--rosa); }
.sincro-banda--corte:has(+ .sincro-banda--coral) { --sincro-next-surface: var(--wp--preset--color--coral); }
.sincro-banda--corte:has(+ .sincro-banda--rosa-claro) { --sincro-next-surface: var(--wp--preset--color--rosa-claro); }
.wp-site-blocks > main > .sincro-banda--corte:last-child,
.wp-site-blocks > main > .entry-content > .sincro-banda--corte:last-child {
	--sincro-next-surface: var(--wp--preset--color--tinta);
}

/* Surfaces. Each one declares what its text may be: on coral neither the cream
 * nor the pink reach 4.5:1, so body copy is ink and only display type, which
 * clears the large-text threshold, goes cream. */
.sincro-banda--coral {
	background: var(--wp--preset--color--coral);
	color: var(--wp--preset--color--tinta);
}

.sincro-banda--coral :is( h1, h2, .sincro-display ) {
	color: var(--wp--preset--color--crema);
}

.sincro-banda--coral :is( h3, h4, h5, h6, p, li, dt, dd ) {
	color: var(--wp--preset--color--tinta);
}

.sincro-banda--coral a:not( .wp-element-button ) {
	color: var(--wp--preset--color--tinta);
}

.sincro-banda--crema {
	background: var(--wp--preset--color--crema);
}

.sincro-banda--rosa {
	background: var(--wp--preset--color--rosa);
}

.sincro-banda--rosa-claro {
	background: var(--wp--preset--color--rosa-claro);
}

.sincro-banda--tinta {
	background: var(--wp--preset--color--tinta);
	color: var(--wp--preset--color--crema);
}

.sincro-banda--tinta :is( h1, h2, h3, h4, h5, h6 ) {
	color: var(--wp--preset--color--crema);
}

.sincro-banda--tinta :is( p, li, dt, dd ) {
	color: var(--wp--preset--color--rosa);
}

.sincro-banda--tinta a:not( .wp-element-button ) {
	color: var(--wp--preset--color--crema);
}

/* ================================================================ tipografía */

.sincro-antetitulo {
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	letter-spacing: var(--wp--custom--tracking-antetitulo);
	text-transform: uppercase;
	color: var(--wp--preset--color--tinta-suave);
}

.sincro-banda--coral .sincro-antetitulo,
.sincro-banda--tinta .sincro-antetitulo {
	color: currentcolor;
}

/* The claim and the page titles. Line height 1 is deliberate: Archivo Black
 * has very little internal leading and anything looser reads as loose. */
.sincro-display {
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--display-2xl);
	font-weight: 400;
	line-height: 1;
	margin: 0;
}

.sincro-entradilla {
	font-size: var(--wp--preset--font-size--lg);
	font-weight: 700;
	line-height: 1.55;
	max-width: 44ch;
}

/* ============================================================== distintivos
 *
 * Three roles and no more: ink for capacity, green for what is settled, dark
 * coral for what closes a door. The border is not decoration. A cream pill on
 * a pink card is 1.24:1 against its surface, so the shape is carried by the
 * stroke; without it the badge is just floating text.
 */

.sincro-distintivo {
	display: inline-flex;
	align-items: center;
	gap: var(--wp--preset--spacing--10);
	padding: 0.375rem 0.75rem;
	border: 1px solid currentcolor;
	border-radius: var(--wp--custom--radio-pildora);
	background: var(--wp--preset--color--crema);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	line-height: 1.2;
	white-space: nowrap;
}

.sincro-distintivo--socios {
	background: var(--wp--preset--color--tinta);
	border-color: var(--wp--preset--color--tinta);
	color: var(--wp--preset--color--crema);
}

.sincro-distintivo--inscripcion,
.sincro-distintivo--libre {
	color: var(--wp--preset--color--verde);
}

.sincro-distintivo--completo,
.sincro-distintivo--cerrado {
	color: var(--wp--preset--color--coral-texto);
}

.sincro-distintivo--neutro {
	color: var(--wp--preset--color--tinta);
}

/* ===================================================================== botón
 *
 * theme.json styles the primary. These are the other two roles. A destructive
 * action must not look like navigation: cancelling frees the seat and cannot
 * be undone once the 24-hour window closes.
 */

.wp-element-button,
.wp-block-button__link {
	min-height: var(--wp--custom--pulsable);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
}

.sincro-boton--secundario > .wp-block-button__link,
.wp-element-button.sincro-boton--secundario {
	background: var(--wp--preset--color--crema);
	color: var(--wp--preset--color--tinta);
	border: 2px solid var(--wp--preset--color--tinta);
}

.sincro-boton--destructivo > .wp-block-button__link,
.wp-element-button.sincro-boton--destructivo {
	background: transparent;
	color: var(--wp--preset--color--coral-texto);
	border: 2px solid var(--wp--preset--color--coral-texto);
}

/* On coral the filled button inverts: cream ground, dark coral label. Cream
 * text on coral is 3.06:1 and would fail at button size. */
.sincro-banda--coral .wp-element-button,
.sincro-banda--coral .wp-block-button__link {
	background: var(--wp--preset--color--crema);
	color: var(--wp--preset--color--coral-texto);
}

.sincro-banda--coral .sincro-boton--secundario > .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--tinta);
	border-color: var(--wp--preset--color--tinta);
}

/* ==================================================================== aviso
 *
 * A fixed notice in the body, for what stays true until someone acts. Results
 * of an action belong in a toast, not here.
 */

.sincro-aviso {
	display: block;
	padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--50);
	/* Borde uniforme del color del tono, como en el boceto. El filete grueso a
	 * un lado no estaba, y el tono ya se distingue por el color del texto. */
	border: 1px solid var(--wp--preset--color--tinta);
	border-radius: var(--wp--custom--radio);
	background: var(--wp--preset--color--crema);
	color: var(--wp--preset--color--tinta);
	font-size: var(--wp--preset--font-size--base);
	font-weight: 700;
	line-height: 1.5;
}

.sincro-aviso--alerta {
	border-color: var(--wp--preset--color--coral-texto);
	color: var(--wp--preset--color--coral-texto);
}

.sincro-aviso--exito {
	border-color: var(--wp--preset--color--verde);
	color: var(--wp--preset--color--verde);
}

/* =================================================================== tarjeta */

.sincro-tarjeta {
	padding: var(--wp--preset--spacing--50);
	border-radius: var(--wp--custom--radio-lg);
	background: var(--wp--preset--color--rosa);
}

.sincro-tarjeta--borde {
	background: var(--wp--preset--color--blanco);
	border: 1px solid var(--wp--preset--color--borde);
}

/* ================================================================ accesible */

:where( a, button, input, select, textarea, summary, [tabindex] ):focus-visible {
	outline: 2px solid var(--wp--preset--color--tinta);
	outline-offset: 2px;
	border-radius: 2px;
}

.sincro-banda--coral :focus-visible,
.sincro-banda--tinta :focus-visible {
	outline-color: var(--wp--preset--color--crema);
}

.sincro-solo-lector {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset( 50% );
	white-space: nowrap;
}

@media ( prefers-reduced-motion: reduce ) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		transition-duration: 0.01ms !important;
	}
}

/* ================================================================ cabecera */

.sincro-cabecera {
	background: var(--wp--preset--color--coral);
}

.sincro-cabecera .wp-block-navigation {
	font-weight: 500;
}

.sincro-cabecera .wp-block-navigation a {
	color: var(--wp--preset--color--tinta);
	text-decoration: none;
}

.sincro-cabecera .wp-block-navigation a:hover,
.sincro-cabecera .wp-block-navigation .current-menu-item > a {
	text-decoration: underline;
}

/* The burger is the only way into the menu on a phone, so it gets a real
 * target instead of the bare glyph. */
.sincro-cabecera .wp-block-navigation__responsive-container-open,
.sincro-cabecera .wp-block-navigation__responsive-container-close {
	min-width: var(--wp--custom--pulsable);
	min-height: var(--wp--custom--pulsable);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--wp--preset--color--tinta);
}

.sincro-cabecera .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wp--preset--color--coral);
	color: var(--wp--preset--color--tinta);
	padding-inline: var(--wp--custom--banda-x);
}

/* ================================================================= círculo
 *
 * Page headers crop their poster to a circle; the event page shows it whole
 * and upright, because that is the composition the association designed.
 */

.sincro-circulo img {
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: var(--wp--custom--radio-pildora);
}

/* ================================================================== imprimir */

@media print {
	.sincro-banda--corte {
		clip-path: none;
	}

	.sincro-cabecera .wp-block-buttons,
	.wp-block-navigation {
		display: none;
	}
}

/* ======================================================= pegado de bandas
 *
 * Las bandas se tocan: el ritmo de color es continuo y entre una y otra solo
 * hay el corte en diagonal. El hueco entre bloques que pone WordPress dejaba
 * una franja del fondo del cuerpo entre la cabecera y la portada.
 */

.wp-site-blocks > * {
	margin-block: 0;
}

.wp-site-blocks > main > .sincro-banda,
.wp-site-blocks > main > .entry-content > * {
	margin-block: 0;
}

.sincro-cabecera {
	padding-block: var(--wp--preset--spacing--40);
	padding-inline: var(--wp--custom--banda-x);
}

.sincro-cabecera .wp-block-site-logo img {
	display: block;
	height: auto;
}

/* La barra es una sola fila: marca, enlaces y acceso. Si no cabe, lo que se
 * pliega es el menú, no la fila entera. */
.sincro-cabecera > .wp-block-group {
	flex-wrap: nowrap;
	gap: var(--wp--preset--spacing--50);
}

.sincro-cabecera .wp-block-navigation {
	flex: 0 1 auto;
}

/* Los enlaces y el botón de acceso son un solo grupo pegado al final. Sueltos
 * en el space-between, el menú se quedaba flotando entre el logotipo y el
 * botón, sin alinearse con ninguno de los dos. */
.sincro-cabecera__acciones {
	flex-wrap: nowrap;
	align-items: center;
	gap: var(--wp--preset--spacing--50);
}

.sincro-cabecera__acciones .wp-block-buttons {
	flex: 0 0 auto;
	margin: 0;
}

/* ============================================= correcciones de la cabecera
 *
 * WordPress pinta a la vez el botón de menú y la lista de enlaces: en
 * escritorio salían los dos, con la hamburguesa suelta encima y los enlaces
 * en una segunda fila. En el escritorio manda la fila; la hamburguesa es cosa
 * del móvil.
 */

@media ( min-width: 70rem ) {
	.sincro-cabecera .wp-block-navigation__responsive-container-open {
		display: none;
	}

	.sincro-cabecera .wp-block-navigation__responsive-container:not( .is-menu-open ) {
		display: flex;
		position: relative;
		width: auto;
		background: transparent;
		z-index: auto;
	}

	.sincro-cabecera .wp-block-navigation__responsive-close,
	.sincro-cabecera .wp-block-navigation__responsive-dialog,
	.sincro-cabecera .wp-block-navigation__responsive-container-content {
		display: contents;
	}

	.sincro-cabecera .wp-block-navigation__responsive-container-close {
		display: none;
	}
}

.sincro-cabecera .wp-block-site-logo img {
	width: 190px;
	max-width: 42vw;
}

/* El cartel de la portada, dentro de su círculo. Sin cuadrar la proporción
 * la imagen conserva la suya y el redondeo la recorta por donde cae. */
.sincro-circulo {
	max-width: 400px;
	margin-inline: auto;
}

.sincro-circulo img {
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: var(--wp--custom--radio-pildora);
}

/* La portada respira como en el boceto: la banda del lema es la más alta de
 * la página, porque es la que tiene que verse desde la otra acera. */
.sincro-banda--coral:has( .sincro-display ) {
	padding-top: clamp( 3rem, 7vw, 5rem );
	padding-bottom: clamp( 3rem, 7vw, 5rem );
}

/* El corte se lleva por delante la esquina inferior derecha, así que la banda
 * que lo lleva guarda ese alto de más por debajo. Sin esto, lo último de la
 * banda (en la portada, el cartel) queda cortado en diagonal. */
.sincro-banda--corte:has( .sincro-display ) {
	padding-bottom: calc( clamp( 3rem, 7vw, 5rem ) + var(--wp--custom--corte) );
}

/* =================================================================== crédito
 *
 * Quien hizo la web, al final del pie y detrás de su propia regla: quien baja
 * buscando a los financiadores no está buscando al estudio.
 */

.sincro-credito {
	align-items: center;
	gap: var(--wp--preset--spacing--20);
}

.sincro-credito p {
	margin: 0;
}

/* «Diseñado con ❤️ por [logo] en Albacete» es una frase: se parte antes de
 * ella o después, nunca por medio. */
.sincro-credito__firma {
	flex-wrap: nowrap;
	align-items: center;
	gap: var(--wp--preset--spacing--20);
}

@media ( max-width: 47.99rem ) {
	.sincro-credito {
		justify-content: center;
		text-align: center;
	}
}

.sincro-credito__logo {
	margin: 0;
	line-height: 0;
}

.sincro-credito__logo img {
	display: block;
	width: 104px;
	height: auto;
}

/* Account and cart reflect the actual session, including an empty basket. */
.sincro-account-link {
	box-sizing: border-box;
	flex-shrink: 0;
	padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--50);
	border-radius: var(--wp--custom--radio-pildora);
	background: var(--wp--preset--color--crema);
	color: var(--wp--preset--color--coral-texto);
	font-size: var(--wp--preset--font-size--base);
	font-weight: 700;
	white-space: nowrap;
}
.sincro-cabecera .wc-block-mini-cart { color: var(--wp--preset--color--tinta); flex-shrink: 0; }
.sincro-cabecera .wc-block-mini-cart__button { min-height: var(--wp--custom--pulsable); min-width: var(--wp--custom--pulsable); padding: 0; }
.sincro-cabecera .wc-block-mini-cart__amount { display: none; }
.sincro-cabecera :is(.wp-block-shortcode, .wc-block-mini-cart) { margin: 0; }
.sincro-article-image { max-width: 56rem; margin-inline: auto; }
.sincro-article-image img { width: 100%; height: auto; border-radius: var(--wp--custom--radio-lg); }
.sincro-article-content { max-width: 48rem; margin-inline: auto; line-height: 1.8; overflow-wrap: anywhere; }
.sincro-article-content :is(img, iframe, video) { max-width: 100%; }
.sincro-article-content p { max-width: 68ch; }
.sincro-article .sincro-display { max-width: 20ch; }

@media (max-width: 69.99rem) {
	.sincro-cabecera .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none; }
	.sincro-cabecera .wp-block-navigation__responsive-container-open { display: inline-flex; }
	.sincro-cabecera .wp-block-navigation__responsive-container.is-menu-open { display: flex; }
	.sincro-cabecera .wp-block-navigation__responsive-container-close { display: inline-flex; }
}
@media (max-width: 40rem) {
	.sincro-cabecera > .wp-block-group, .sincro-cabecera__acciones { gap: var(--wp--preset--spacing--20); }
	.sincro-cabecera .wp-block-site-logo img { width: 124px; max-width: 32vw; }
	.sincro-account-link { padding-inline: var(--wp--preset--spacing--30); font-size: var(--wp--preset--font-size--xs); }
}

/* ============================================= quién colabora ya
 *
 * Los logotipos de las empresas colaboradoras, a una tinta y alineados por su
 * base óptica. Van en su propio grupo porque la banda ya tiene dos columnas y
 * esto cuelga de las dos.
 */

.sincro-colaboran {
	align-items: center;
	gap: var(--wp--preset--spacing--60);
}

.sincro-colaboran__logo {
	margin: 0;
	line-height: 0;
}

.sincro-colaboran__logo img {
	display: block;
	height: auto;
	max-width: 100%;
}

/* Match the compact closing sections in v4 without changing editorial content. */
.sincro-banda:has(> .sincro-colaboran) {
	padding-top: 24px;
	padding-bottom: calc(44px + var(--wp--custom--corte));
	padding-inline: clamp(1rem, 6.25vw, 5rem);
}
.sincro-banda:has(> .sincro-colaboran) > .wp-block-columns { display: grid; grid-template-columns: minmax(0, 1fr) 140px; gap: 32px; }

.sincro-banda:has(> .sincro-colaboran) .wp-block-column > * + * { margin-block-start: 12px; }
.sincro-banda:has(> .sincro-colaboran) h2 { font-size: 36px; line-height: 1.1; }
.sincro-banda:has(> .sincro-colaboran) > .wp-block-separator { margin-block-start: 24px; }
.sincro-banda:has(> .sincro-colaboran) > .sincro-antetitulo,
.sincro-banda:has(> .sincro-colaboran) > .sincro-colaboran { margin-block-start: 12px; }
.sincro-colaboran { gap: 32px; }

footer.sincro-banda--tinta {
	padding: 44px clamp(1rem, 6.25vw, 5rem) 32px;
	font-size: 14px;
	line-height: 1.6;
}
footer.sincro-banda--tinta > .wp-block-group > * { margin-block: 0; }
footer.sincro-banda--tinta > .wp-block-group > * + * { margin-block-start: 24px; }
footer.sincro-banda--tinta .wp-block-columns {
	display: grid;
	grid-template-columns: 240px repeat(3, minmax(0, 1fr));
	gap: 32px;
	align-items: start;
}
footer.sincro-banda--tinta .wp-block-column > * { margin-block: 0; }
footer.sincro-banda--tinta .wp-block-column > * + * { margin-block-start: 8px; }
footer.sincro-banda--tinta .wp-block-column p:not(.sincro-antetitulo) { font-size: 14px; }
footer.sincro-banda--tinta .sincro-antetitulo { font-size: 12px; color: var(--wp--preset--color--rosa); }
footer.sincro-banda--tinta .has-sm-font-size { font-size: 13px !important; }
footer.sincro-banda--tinta a { text-decoration: none; }
footer.sincro-banda--tinta a:hover { text-decoration: underline; }
footer.sincro-banda--tinta .wp-block-separator { border: 0; height: 1px; background: var(--wp--preset--color--tinta-suave); opacity: 1; }
footer.sincro-banda--tinta .wp-block-group > .sincro-antetitulo + p { margin-block-start: 8px; line-height: 1.7; }
footer.sincro-banda--tinta .sincro-credito { gap: 8px; }
@media(max-width: 781px) {
	.sincro-banda:has(> .sincro-colaboran) > .wp-block-columns { grid-template-columns: 1fr; }
	footer.sincro-banda--tinta .wp-block-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.sincro-banda:has(> .sincro-colaboran) h2 { font-size: 30px; }
}
@media(max-width: 479px) {
	footer.sincro-banda--tinta .wp-block-columns { grid-template-columns: 1fr; gap: 24px; }
	.sincro-colaboran { gap: 24px; }
	.sincro-colaboran__logo { max-width: calc(50% - 12px); }
}

/* Text-only heroes must not reserve the poster column when no image is supplied. */
.sincro-banda:has(h1):not(:has(img[src]:not([src=""]))) {
	text-align: center;
}
.sincro-banda:has(h1):not(:has(img[src]:not([src=""]))) > .wp-block-columns {
	display: block;
}
.sincro-banda:has(h1):not(:has(img[src]:not([src=""]))) .wp-block-column:not(:has(*)) {
	display: none;
}
.sincro-banda:has(h1):not(:has(img[src]:not([src=""]))) h1 {
	width: auto;
	max-width: 100%;
	word-break: normal;
	overflow-wrap: normal;
	text-wrap: balance;
}
.sincro-banda:has(h1):not(:has(img[src]:not([src=""]))) .sincro-entradilla {
	max-width: 64ch;
	margin: 24px auto 0;
}
.sincro-banda:has(h1):not(:has(img[src]:not([src=""]))) .wp-block-buttons {
	justify-content: center;
	margin-top: 24px;
	gap: 12px;
}

/* A section heading and its action form a row; the content starts below it. */
.sincro-banda > .sincro-agenda,
.sincro-banda > .sincro-agenda__vacia {
	margin-block-start: 24px;
}
.sincro-banda > .wp-block-group:has(> .wp-block-buttons) {
	row-gap: 16px;
	column-gap: 24px;
	align-items: center;
}
.sincro-banda > .wp-block-group:has(> .wp-block-buttons) h2 {
	margin-block: 4px 0;
}

/* Legacy Elementor kit styles must not override the block theme's visual system. */
.wp-site-blocks {
	font-family: var(--wp--preset--font-family--texto);
	font-size: 16px;
	line-height: 1.6;
	color: var(--wp--preset--color--tinta);
}
.wp-site-blocks .wp-block-heading,
.wp-site-blocks .sincro-display {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 400;
	color: var(--wp--preset--color--tinta);
}
.wp-site-blocks .has-display-2-xl-font-size { font-size: var(--wp--preset--font-size--display-2xl); }
.wp-site-blocks .sincro-banda--coral :is(h1, h2) { color: var(--wp--preset--color--crema); }

/* Editorial lists and membership cards retain their own readable surfaces. */
.sincro-blog-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; padding: 0; }
.sincro-blog-list > li { min-width: 0; }
.sincro-blog-list .sincro-tarjeta { height: 100%; box-sizing: border-box; }
.sincro-blog-list .wp-block-post-featured-image { margin: 0 0 16px; }
.sincro-blog-list .wp-block-post-featured-image img { width: 100%; object-fit: cover; border-radius: 12px; }
.sincro-blog-list .wp-block-post-date { color: var(--wp--preset--color--tinta-suave); }
.sincro-cuota.has-tinta-background-color a:not(.wp-element-button) { color: var(--wp--preset--color--crema); text-underline-offset: 3px; }
.sincro-cuota.has-tinta-background-color a:focus-visible { outline: 2px solid var(--wp--preset--color--crema); outline-offset: 4px; }
.sincro-cuota { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.sincro-cuota > * { margin-block: 0; }
.sincro-cuota .wp-block-buttons { margin-top: auto; }
@media(max-width:781px) { .sincro-blog-list { grid-template-columns: 1fr; } }

/* Keep each part of the studio credit intact when the footer narrows. */
.sincro-credito__firma > p, .sincro-credito__logo { flex-shrink:0; white-space:nowrap; }
@media(max-width:40rem) {
 .sincro-credito__firma { flex-wrap:wrap; justify-content:center; gap:8px; }
}
