/*
 * Centenario Automotores · base.css (pieza «tema base»)
 * Sistema de diseño: tokens del contrato, fuentes locales, reset, tipografía, componentes
 * (botones, secciones, chips, tarjetas, formularios, calculador, galería, filtros, paginación),
 * encabezado, pie, barra del celular y WhatsApp flotante, y las plantillas del tema.
 * Contrato: docs/arquitectura-web.md. Mobile first.
 */

/* ------------------------------------------------------------------ fuentes (OFL, alojadas en el tema) */

@font-face {
	font-family: "Inter";
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
	src: url("../fonts/inter-latin-var.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: "Saira Condensed";
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url("../fonts/saira-condensed-latin-600.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: "Saira Condensed";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("../fonts/saira-condensed-latin-700.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: "Saira Condensed";
	font-style: normal;
	font-weight: 800;
	font-display: swap;
	src: url("../fonts/saira-condensed-latin-800.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ------------------------------------------------------------------ tokens */

:root {
	color-scheme: dark; /* controles nativos (selects, deslizador, barras de scroll) en oscuro */

	/* Contrato */
	--cen-negro: #0a0a0b;
	--cen-carbon: #121214;
	--cen-panel: #18181b;
	--cen-borde: #2a2a2f;
	--cen-texto: #f4f4f5;
	--cen-suave: #a1a1aa;
	--cen-rojo: #ed3338;
	--cen-rojo-hover: #c9252b;
	--cen-blanco: #ffffff;
	--cen-ok: #22c55e;
	--cen-radio: 14px;
	--cen-radio-sm: 10px;
	--cen-sombra: 0 10px 30px rgba(0, 0, 0, .45);
	--cen-max: 1240px;
	--cen-fuente-titulo: "Saira Condensed", "Arial Narrow", sans-serif;
	--cen-fuente: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;

	/* Del tema (no están en el contrato, se pueden usar en las otras hojas) */
	--cen-rojo-fondo: #dc2a30;      /* rojo para fondos con texto blanco: contraste AA (4,7:1) */
	--cen-campo: #0f0f11;           /* fondo de campos de formulario */
	--cen-borde-campo: #71717a;     /* contorno de los campos: 3,6:1 sobre --cen-panel (WCAG 1.4.11 pide 3:1) */
	--cen-placeholder: #8b8b94;     /* texto de ejemplo de los campos: 5,6:1 sobre --cen-campo */
	--cen-rojo-claro: #ff5a5f;      /* rojo para texto chico sobre fondos translúcidos (4,8:1 en el peor caso) */
	--cen-claro: #d4d4d8;           /* texto secundario más claro */
	--cen-wa: #25d366;
	--cen-wa-hover: #1fbe5b;
	--cen-wa-texto: #06240f;
	--cen-gutter: clamp(16px, 4vw, 32px);
	--cen-header-alto: 64px;
	--cen-admin: var(--wp-admin--admin-bar--height, 0px);
	--cen-transicion: .22s cubic-bezier(.2, .7, .2, 1);
}

@media (min-width: 960px) {
	:root {
		--cen-header-alto: 76px;
	}
}

/* ------------------------------------------------------------------ reset liviano */

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	scroll-padding-top: calc(var(--cen-header-alto) + var(--cen-admin) + 16px);
	background: var(--cen-negro);
}

@media (prefers-reduced-motion: no-preference) {
	html {
		scroll-behavior: smooth;
	}
}

html.cen-sin-scroll,
html.cen-sin-scroll body {
	overflow: hidden;
}

body {
	margin: 0;
	min-height: 100vh;
	background: var(--cen-negro);
	color: var(--cen-texto);
	font-family: var(--cen-fuente);
	font-size: 1rem;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

img,
video {
	max-width: 100%;
	height: auto;
}

img {
	border-style: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0 0 .5em;
	color: var(--cen-blanco);
	font-family: var(--cen-fuente-titulo);
	font-weight: 800;
	line-height: 1.04;
	letter-spacing: .005em;
	text-transform: uppercase;
	text-wrap: balance;
}

h1 { font-size: clamp(2.2rem, 1.6rem + 2.8vw, 3.6rem); }
h2 { font-size: clamp(1.8rem, 1.4rem + 1.8vw, 2.6rem); }
h3 { font-size: clamp(1.3rem, 1.15rem + .6vw, 1.6rem); font-weight: 700; }
h4 { font-size: 1.2rem; font-weight: 700; }

p,
ul,
ol,
dl,
figure,
blockquote,
table {
	margin: 0 0 1em;
}

a {
	color: var(--cen-blanco);
	text-decoration-color: rgba(237, 51, 56, .7);
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
	transition: color var(--cen-transicion), text-decoration-color var(--cen-transicion);
}

a:hover {
	text-decoration-color: var(--cen-rojo);
}

button,
input,
select,
textarea {
	font: inherit;
	color: inherit;
	letter-spacing: inherit;
}

button {
	cursor: pointer;
}

strong,
b {
	font-weight: 700;
}

hr {
	height: 1px;
	margin: 2rem 0;
	border: 0;
	background: var(--cen-borde);
}

::selection {
	background: var(--cen-rojo);
	color: var(--cen-blanco);
}

:focus-visible {
	outline: 2px solid var(--cen-rojo);
	outline-offset: 2px;
}

[hidden] {
	display: none !important;
}

/* ------------------------------------------------------------------ utilidades */

.cen-sr {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.cen-saltar {
	position: absolute;
	top: -200px;
	left: 1rem;
	z-index: 1000;
	padding: .75rem 1rem;
	border-radius: var(--cen-radio-sm);
	background: var(--cen-blanco);
	color: #000;
	font-weight: 600;
	text-decoration: none;
}

.cen-saltar:focus {
	top: calc(var(--cen-admin) + .75rem);
}

.cen-contenedor {
	width: 100%;
	max-width: calc(var(--cen-max) + 2 * var(--cen-gutter));
	margin-inline: auto;
	padding-inline: var(--cen-gutter);
}

.cen-icono {
	display: inline-block;
	flex: none;
	vertical-align: middle;
}

.cen-icono--girado {
	transform: rotate(180deg);
}

.cen-main {
	display: block;
	min-height: 50vh;
}

.cen-main:focus {
	outline: none;
}

.cen-panel {
	padding: clamp(1.25rem, 3vw, 2rem);
	border: 1px solid var(--cen-borde);
	border-radius: var(--cen-radio);
	background: var(--cen-panel);
}

.cen-texto > :last-child {
	margin-bottom: 0;
}

.cen-texto a {
	text-decoration: underline;
}

/* ------------------------------------------------------------------ botones */

.cen-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .5rem;
	min-height: 46px;
	padding: .65rem 1.2rem;
	border: 1px solid transparent;
	border-radius: var(--cen-radio-sm);
	background: transparent;
	color: var(--cen-blanco);
	font-family: var(--cen-fuente);
	font-size: .95rem;
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: background-color var(--cen-transicion), border-color var(--cen-transicion), color var(--cen-transicion), transform var(--cen-transicion), box-shadow var(--cen-transicion);
	-webkit-tap-highlight-color: transparent;
}

.cen-btn .cen-icono {
	width: 18px;
	height: 18px;
}

.cen-btn:active {
	transform: translateY(1px);
}

.cen-btn:focus-visible {
	outline: 2px solid var(--cen-blanco);
	outline-offset: 3px;
}

.cen-btn[disabled],
.cen-btn[aria-disabled="true"] {
	opacity: .6;
	cursor: progress;
}

.cen-btn--rojo {
	background: var(--cen-rojo-fondo);
	color: var(--cen-blanco);
	box-shadow: 0 8px 24px -12px rgba(237, 51, 56, .8);
}

.cen-btn--rojo:hover {
	background: var(--cen-rojo-hover);
	color: var(--cen-blanco);
}

.cen-btn--borde {
	border-color: rgba(255, 255, 255, .28);
	color: var(--cen-texto);
}

.cen-btn--borde:hover {
	border-color: var(--cen-blanco);
	background: rgba(255, 255, 255, .06);
	color: var(--cen-blanco);
}

.cen-btn--wa {
	background: var(--cen-wa);
	color: var(--cen-wa-texto);
}

.cen-btn--wa:hover {
	background: var(--cen-wa-hover);
	color: var(--cen-wa-texto);
}

.cen-btn--wa:focus-visible {
	outline-color: var(--cen-wa);
}

.cen-btn--chico {
	min-height: 40px;
	padding: .5rem .9rem;
	font-size: .875rem;
}

.cen-btn--bloque {
	width: 100%;
}

.cen-btn--rojo:hover .cen-icono--flecha,
.cen-seccion__link:hover .cen-icono--flecha {
	transform: translateX(3px);
}

.cen-seccion__link .cen-icono {
	margin-bottom: .2em;
}

.cen-btn .cen-icono--flecha,
.cen-seccion__link .cen-icono--flecha {
	transition: transform var(--cen-transicion);
}

.cen-boton-icono {
	display: inline-grid;
	place-items: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, .14);
	border-radius: var(--cen-radio-sm);
	background: rgba(255, 255, 255, .04);
	color: var(--cen-blanco);
	transition: background-color var(--cen-transicion), border-color var(--cen-transicion);
}

.cen-boton-icono:hover {
	border-color: rgba(255, 255, 255, .35);
	background: rgba(255, 255, 255, .08);
}

/* ------------------------------------------------------------------ secciones y títulos */

.cen-seccion {
	padding-block: clamp(3.5rem, 2.5rem + 4vw, 6rem);
}

.cen-seccion--compacta {
	padding-block: clamp(2.5rem, 2rem + 2.5vw, 4rem);
}

.cen-seccion--alt {
	border-block: 1px solid rgba(255, 255, 255, .04);
	background: var(--cen-carbon);
}

.cen-seccion__cabecera {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1rem 2rem;
	margin-bottom: clamp(1.5rem, 1rem + 1.5vw, 2.25rem);
}

.cen-seccion__cabecera .cen-titulo {
	margin-bottom: 0;
}

/* 44px de alto para tocarlo cómodo: el alto extra va arriba, así el texto y su subrayado quedan alineados
   con la base del título. */
.cen-seccion__link {
	display: inline-flex;
	align-items: flex-end;
	min-height: 44px;
	gap: .4rem;
	color: var(--cen-texto);
	font-weight: 600;
	font-size: .95rem;
	text-decoration: none;
	border-bottom: 1px solid rgba(237, 51, 56, .6);
	padding-bottom: .15rem;
}

.cen-seccion__link:hover {
	color: var(--cen-blanco);
	border-bottom-color: var(--cen-rojo);
}

.cen-titulo {
	margin: 0 0 .6em;
	color: var(--cen-blanco);
	font-family: var(--cen-fuente-titulo);
	font-size: clamp(2rem, 1.4rem + 2.4vw, 3.25rem);
	font-weight: 800;
	line-height: 1;
	text-transform: uppercase;
}

.cen-titulo em,
.cen-hero__titulo em,
.cen-error__titulo em,
.cen-buscador__titulo em {
	color: var(--cen-rojo);
	font-style: normal;
}

.cen-kicker {
	display: inline-flex;
	align-items: center;
	gap: .6rem;
	margin: 0 0 .85rem;
	color: var(--cen-rojo);
	font-family: var(--cen-fuente);
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .16em;
	line-height: 1.3;
	text-transform: uppercase;
}

.cen-kicker::before {
	content: "";
	flex: none;
	width: 22px;
	height: 2px;
	border-radius: 2px;
	background: currentColor;
}

.cen-bajada {
	max-width: 40rem;
	color: var(--cen-claro);
	font-size: clamp(1rem, .95rem + .25vw, 1.1rem);
}

/* ------------------------------------------------------------------ chips */

.cen-chip {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	padding: .32rem .7rem;
	border: 1px solid rgba(255, 255, 255, .14);
	border-radius: 999px;
	background: rgba(10, 10, 11, .72);
	color: var(--cen-texto);
	font-family: var(--cen-fuente);
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .06em;
	line-height: 1.2;
	text-transform: uppercase;
	white-space: nowrap;
	backdrop-filter: blur(6px);
}

.cen-chip--rojo {
	border-color: transparent;
	background: var(--cen-rojo-fondo);
	color: var(--cen-blanco);
}

.cen-chip--suave {
	background: rgba(255, 255, 255, .06);
	color: var(--cen-claro);
}

.cen-chip--grande {
	padding: .5rem .9rem;
	font-size: .85rem;
	letter-spacing: .01em;
	text-transform: none;
	font-weight: 600;
	background: rgba(255, 255, 255, .05);
}

.cen-insignia {
	display: inline-grid;
	place-items: center;
	min-width: 1.4rem;
	height: 1.4rem;
	padding: 0 .35rem;
	border-radius: 999px;
	background: var(--cen-rojo-fondo);
	color: var(--cen-blanco);
	font-size: .72rem;
	font-weight: 700;
}

/* ------------------------------------------------------------------ tarjeta de auto */

.cen-grid-autos {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(280px, 100%), 1fr));
	gap: clamp(1rem, .75rem + 1vw, 1.5rem);
}

/* En el celular, las grillas del inicio y de «Otros autos» son una fila que se desliza (se ve un pedazo de la siguiente). */
@media (max-width: 639.98px) {
	.cen-grid-autos--deslizable {
		grid-template-columns: none;
		grid-auto-columns: 84%;
		grid-auto-flow: column;
		gap: .85rem;
		margin-inline: calc(-1 * var(--cen-gutter));
		padding: .3rem var(--cen-gutter) 1rem;
		overflow-x: auto;
		overscroll-behavior-x: contain;
		scroll-padding-inline: var(--cen-gutter);
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
	}

	.cen-grid-autos--deslizable::-webkit-scrollbar {
		display: none;
	}

	.cen-grid-autos--deslizable > * {
		scroll-snap-align: start;
	}
}

.cen-card-auto {
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;
	border: 1px solid var(--cen-borde);
	border-radius: var(--cen-radio);
	background: var(--cen-panel);
	isolation: isolate;
	transition: transform .3s cubic-bezier(.2, .7, .2, 1), border-color .3s, box-shadow .3s;
}

.cen-card-auto:hover {
	transform: translateY(-4px);
	border-color: rgba(237, 51, 56, .55);
	box-shadow: 0 22px 40px -22px rgba(0, 0, 0, .9), 0 0 0 1px rgba(237, 51, 56, .15);
}

.cen-card-auto:focus-within {
	border-color: rgba(237, 51, 56, .7);
}

.cen-card-auto__foto {
	position: relative;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--cen-panel) linear-gradient(135deg, #1d1d21, #141417);
}

.cen-card-auto__img,
.cen-card-auto__foto img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .6s cubic-bezier(.2, .7, .2, 1);
}

.cen-card-auto:hover .cen-card-auto__foto img {
	transform: scale(1.045);
}

.cen-card-auto__foto::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(10, 10, 11, .55), transparent 42%), radial-gradient(120% 100% at 50% 40%, transparent 60%, rgba(0, 0, 0, .35));
	pointer-events: none;
}

.cen-card-auto__sin-foto {
	display: grid;
	place-items: center;
	align-content: center;
	gap: .5rem;
	height: 100%;
	color: var(--cen-suave);
	font-size: .85rem;
}

.cen-card-auto__chips {
	position: absolute;
	top: .75rem;
	left: .75rem;
	z-index: 2;
	display: flex;
	flex-wrap: wrap;
	gap: .4rem;
}

.cen-card-auto__cuerpo {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: .35rem;
	padding: 1rem 1.1rem 1.1rem;
}

.cen-card-auto__marca {
	margin: 0;
	color: var(--cen-suave);
	font-size: .8rem;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.cen-card-auto__titulo {
	display: -webkit-box;
	margin: 0;
	overflow: hidden;
	color: var(--cen-blanco);
	font-family: var(--cen-fuente-titulo);
	font-size: 1.32rem;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: .01em;
	text-transform: uppercase;
	overflow-wrap: anywhere;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

.cen-card-auto__link {
	color: inherit;
	text-decoration: none;
}

/* Toda la tarjeta lleva a la ficha. */
.cen-card-auto__link::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}

.cen-card-auto__link:focus-visible {
	outline: none;
}

.cen-card-auto__link:focus-visible::after {
	border-radius: var(--cen-radio);
	box-shadow: inset 0 0 0 2px var(--cen-rojo);
}

.cen-card-auto__datos {
	display: flex;
	flex-wrap: wrap;
	gap: .15rem .45rem;
	margin: 0;
	color: var(--cen-suave);
	font-size: .875rem;
}

.cen-card-auto__sep {
	color: #52525b;
}

.cen-card-auto__pie {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .75rem;
	margin-top: auto;
	padding-top: .9rem;
	border-top: 1px solid var(--cen-borde);
}

.cen-card-auto__cuerpo > .cen-card-auto__datos + .cen-card-auto__pie {
	margin-top: auto;
}

.cen-card-auto__datos {
	margin-bottom: .6rem;
}

.cen-card-auto__precio {
	margin: 0;
	color: var(--cen-rojo);
	font-family: var(--cen-fuente-titulo);
	font-size: 1.6rem;
	font-weight: 800;
	line-height: 1;
	letter-spacing: .01em;
	font-variant-numeric: tabular-nums;
}

.cen-card-auto__cta {
	position: relative;
	z-index: 2;
	display: inline-grid;
	flex: none;
	place-items: center;
	width: 44px;
	height: 44px;
	border: 1px solid rgba(37, 211, 102, .45);
	border-radius: 50%;
	color: var(--cen-wa);
	transition: background-color var(--cen-transicion), color var(--cen-transicion), border-color var(--cen-transicion);
}

.cen-card-auto__cta:hover,
.cen-card-auto__cta:focus-visible {
	border-color: var(--cen-wa);
	background: var(--cen-wa);
	color: var(--cen-wa-texto);
}

/* ------------------------------------------------------------------ formularios */

.cen-form {
	display: grid;
	gap: 1rem;
	min-width: 0;
}

.cen-form__fila {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr));
	gap: 1rem;
}

.cen-campo {
	display: grid;
	align-content: start;
	gap: .4rem;
	min-width: 0;
}

.cen-campo > label,
.cen-campo__etiqueta,
.cen-filtros__grupo > legend {
	color: var(--cen-claro);
	font-size: .875rem;
	font-weight: 600;
	letter-spacing: .01em;
}

.cen-campo__sub {
	color: var(--cen-suave) !important;
	font-weight: 500 !important;
}

.cen-campo__ayuda {
	margin: 0;
	color: var(--cen-suave);
	font-size: .875rem;
}

.cen-campo__error {
	margin: 0;
	color: #fca5a5;
	font-size: .875rem;
	font-weight: 500;
}

.cen-form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]),
.cen-form select,
.cen-form textarea,
.cen-campo input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.cen-campo select,
.cen-campo textarea,
.cen-filtros input[type="search"],
.cen-catalogo__orden select {
	width: 100%;
	min-height: 48px;
	padding: .7rem .9rem;
	border: 1px solid var(--cen-borde-campo);
	border-radius: var(--cen-radio-sm);
	background: var(--cen-campo);
	color: var(--cen-texto);
	font-size: 1rem;
	line-height: 1.3;
	transition: border-color var(--cen-transicion), box-shadow var(--cen-transicion);
}

.cen-form textarea,
.cen-campo textarea {
	min-height: 120px;
	resize: vertical;
}

.cen-form select,
.cen-campo select,
.cen-catalogo__orden select {
	padding-right: 2.5rem;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23a1a1aa' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right .85rem center;
	background-size: 16px;
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
}

.cen-form select option,
.cen-campo select option {
	background: var(--cen-panel);
	color: var(--cen-texto);
}

.cen-form ::placeholder,
.cen-campo ::placeholder,
.cen-buscar__input::placeholder,
.cen-calc__input::placeholder {
	color: var(--cen-placeholder);
	opacity: 1;
}

.cen-form input:hover,
.cen-form select:hover,
.cen-form textarea:hover,
.cen-campo input:hover,
.cen-campo select:hover,
.cen-campo textarea:hover,
.cen-catalogo__orden select:hover {
	border-color: var(--cen-suave);
}

.cen-form input:focus,
.cen-form select:focus,
.cen-form textarea:focus,
.cen-campo input:focus,
.cen-campo select:focus,
.cen-campo textarea:focus,
.cen-catalogo__orden select:focus {
	border-color: var(--cen-rojo);
	outline: none;
	box-shadow: 0 0 0 3px rgba(237, 51, 56, .28);
}

.cen-form [aria-invalid="true"],
.cen-campo [aria-invalid="true"] {
	border-color: #f87171 !important;
	box-shadow: 0 0 0 3px rgba(248, 113, 113, .18);
}

.cen-form input[type="checkbox"],
.cen-form input[type="radio"] {
	width: 1.15rem;
	height: 1.15rem;
	accent-color: var(--cen-rojo);
}

.cen-form__ok,
.cen-form__error {
	padding: 1rem 1.1rem;
	border-radius: var(--cen-radio-sm);
	font-size: .95rem;
}

.cen-form__ok {
	border: 1px solid rgba(34, 197, 94, .45);
	background: rgba(34, 197, 94, .1);
	color: #bbf7d0;
}

.cen-form__error {
	border: 1px solid rgba(237, 51, 56, .5);
	background: rgba(237, 51, 56, .1);
	color: #fecaca;
}

.cen-form__ok p,
.cen-form__error p {
	margin: 0;
}

.cen-form__ok p + p,
.cen-form__error p + p {
	margin-top: .75rem;
}

.cen-form__ok:focus {
	outline: 2px solid var(--cen-ok);
	outline-offset: 2px;
}

.cen-form__wa {
	margin-top: .25rem;
}

.cen-form.is-enviando [type="submit"] {
	opacity: .7;
	cursor: progress;
}

.cen-form.is-enviando [type="submit"]::after {
	content: "";
	width: 14px;
	height: 14px;
	margin-left: .4rem;
	border: 2px solid currentColor;
	border-right-color: transparent;
	border-radius: 50%;
	animation: cen-girar .8s linear infinite;
}

@keyframes cen-girar {
	to { transform: rotate(360deg); }
}

.cen-form__legal {
	margin: 0;
	color: var(--cen-suave);
	font-size: .875rem;
}

/* ------------------------------------------------------------------ calculador (sobre las clases del plugin) */

.cen-calc {
	gap: 1.25rem;
	padding: clamp(1.1rem, 2.5vw, 1.75rem);
	border: 1px solid var(--cen-borde);
	border-radius: calc(var(--cen-radio) + 4px);
	background: linear-gradient(180deg, #1a1a1d, var(--cen-panel));
	box-shadow: 0 30px 60px -40px rgba(0, 0, 0, .9);
	color: var(--cen-texto);
}

/* Las entradas y el resultado son contenedores: los plazos y la cuota se acomodan al ancho real de su
   columna (en /financiacion/ y en la landing la columna es angosta aunque la pantalla sea ancha). */
.cen-calc__entradas {
	gap: 1.15rem;
	container: cen-calc-entradas / inline-size;
}

.cen-calc__etiqueta,
.cen-calc legend {
	color: var(--cen-suave);
	font-size: .8rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.cen-calc__precio {
	color: var(--cen-blanco);
	font-family: var(--cen-fuente-titulo);
	font-size: clamp(1.7rem, 1.4rem + 1vw, 2.1rem);
	font-weight: 800;
	line-height: 1;
}

.cen-calc__control {
	min-height: 50px;
	padding: 0 .95rem;
	border: 1px solid var(--cen-borde-campo);
	border-radius: var(--cen-radio-sm);
	background: var(--cen-campo);
	transition: border-color var(--cen-transicion), box-shadow var(--cen-transicion);
}

.cen-calc__control:focus-within {
	border-color: var(--cen-rojo);
	box-shadow: 0 0 0 3px rgba(237, 51, 56, .28);
}

.cen-calc__prefijo {
	color: var(--cen-suave);
	font-weight: 600;
}

.cen-calc__input {
	padding: .65rem 0;
	border: 0;
	background: transparent;
	color: var(--cen-blanco);
	font-size: 1.1rem;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}

.cen-calc__input:focus,
.cen-calc__input:focus-visible {
	outline: none;
}

.cen-calc__rango {
	margin-top: .35rem;
}

.cen-calc__deslizador {
	height: 44px;
	accent-color: var(--cen-rojo);
	cursor: pointer;
}

.cen-calc__deslizador:focus-visible {
	outline: 2px solid var(--cen-rojo);
	outline-offset: 2px;
}

.cen-calc__pct {
	color: var(--cen-blanco);
	font-weight: 700;
}

.cen-calc__ayuda {
	color: var(--cen-suave);
	font-size: .875rem;
}

.cen-calc__ayuda--alerta {
	color: #fca5a5;
}

.cen-calc__plazos {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(80px, 1fr));
	gap: .4rem;
}

/* Con 5 plazos o menos, en una columna donde no entran en una fila con el texto en un renglón (pero sí
   en dos: «48» arriba, «cuotas» abajo), van todos en una fila. Así no queda «48 cuotas» solo abajo. */
@container cen-calc-entradas (min-width: 340px) and (max-width: 424px) {
	.cen-calc__plazos:not(:has(> :nth-child(6))) {
		grid-template-columns: none;
		grid-auto-columns: minmax(0, 1fr);
		grid-auto-flow: column;
	}

	.cen-calc__plazos:not(:has(> :nth-child(6))) .cen-calc__plazo {
		padding-inline: .2rem;
		border-radius: var(--cen-radio-sm);
		line-height: 1.15;
		white-space: normal;
	}
}

.cen-calc__plazo {
	min-height: 44px;
	padding: .45rem .3rem;
	text-align: center;
	white-space: nowrap;
	border: 1px solid var(--cen-borde);
	border-radius: 999px;
	background: var(--cen-campo);
	color: var(--cen-texto);
	font-size: .875rem;
	font-weight: 600;
	transition: background-color var(--cen-transicion), border-color var(--cen-transicion), color var(--cen-transicion);
}

.cen-calc__plazo:hover {
	border-color: rgba(255, 255, 255, .4);
}

.cen-calc__plazo[aria-pressed="true"] {
	border-color: transparent;
	background: var(--cen-rojo-fondo);
	color: var(--cen-blanco);
	box-shadow: 0 6px 18px -8px rgba(237, 51, 56, .8);
}

.cen-calc__plazo:focus-visible {
	outline: 2px solid var(--cen-blanco);
	outline-offset: 2px;
}

.cen-calc__resultado {
	gap: .9rem;
	padding: 1.15rem 1.25rem;
	border: 1px solid rgba(237, 51, 56, .35);
	border-radius: var(--cen-radio);
	background: radial-gradient(120% 140% at 100% 0%, rgba(237, 51, 56, .2), transparent 55%), #121214;
	container-type: inline-size;
}

.cen-calc__cuota-titulo {
	color: var(--cen-claro);
	font-size: .8rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
}

/* La cuota va siempre en un renglón: el tamaño sigue al ancho del recuadro (19cqi deja entrar
   «$ 12.345.678») y no pasa de 3.1rem. Sin esto, en una columna angosta el «$» quedaba solo arriba. */
.cen-calc__cuota-monto {
	color: var(--cen-blanco);
	font-family: var(--cen-fuente-titulo);
	font-size: clamp(2.3rem, 1.8rem + 2vw, 3.1rem);
	font-size: clamp(1.75rem, 19cqi, 3.1rem);
	font-weight: 800;
	line-height: 1;
	letter-spacing: .01em;
	white-space: nowrap;
}

.cen-calc__cuota-plazo {
	color: var(--cen-suave);
	font-size: .9rem;
}

.cen-calc__dato {
	padding-top: .55rem;
	border-top: 1px solid rgba(255, 255, 255, .08);
	font-size: .9rem;
}

.cen-calc__detalle dt {
	color: var(--cen-suave);
}

.cen-calc__detalle dd {
	color: var(--cen-blanco);
	font-weight: 600;
}

.cen-calc__leyenda {
	color: var(--cen-suave);
	font-size: .875rem;
	line-height: 1.5;
}

.cen-calc__cta {
	justify-self: stretch;
}

@media (min-width: 560px) {
	.cen-calc__cta {
		justify-self: start;
	}
}

/* ------------------------------------------------------------------ migas y paginación */

.cen-migas {
	margin-bottom: 1.25rem;
	color: var(--cen-suave);
	font-size: .82rem;
}

.cen-migas ol {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .25rem .5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.cen-migas li {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	min-width: 0;
}

.cen-migas li + li::before {
	content: "";
	width: 6px;
	height: 6px;
	border-top: 1.5px solid #52525b;
	border-right: 1.5px solid #52525b;
	transform: rotate(45deg);
}

/* Área táctil de 44px sin cambiar el alto de la línea (el padding se compensa con margen negativo). */
.cen-migas a {
	display: inline-block;
	margin-block: -.72rem;
	padding-block: .72rem;
	color: var(--cen-suave);
	text-decoration: none;
}

.cen-migas a:hover {
	color: var(--cen-blanco);
}

.cen-migas [aria-current] {
	overflow: hidden;
	color: var(--cen-claro);
	text-overflow: ellipsis;
	white-space: nowrap;
	max-width: 60vw;
}

.cen-paginacion {
	margin-top: 2.5rem;
}

.cen-paginacion ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: .45rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.cen-paginacion .page-numbers {
	display: inline-grid;
	place-items: center;
	min-width: 44px;
	height: 44px;
	padding: 0 .75rem;
	border: 1px solid var(--cen-borde);
	border-radius: var(--cen-radio-sm);
	background: var(--cen-panel);
	color: var(--cen-texto);
	font-weight: 600;
	text-decoration: none;
	transition: border-color var(--cen-transicion), background-color var(--cen-transicion);
}

.cen-paginacion a.page-numbers:hover {
	border-color: rgba(255, 255, 255, .4);
}

.cen-paginacion .page-numbers.current {
	border-color: transparent;
	background: var(--cen-rojo-fondo);
	color: var(--cen-blanco);
}

.cen-paginacion .page-numbers.dots {
	border-color: transparent;
	background: transparent;
}

/* ------------------------------------------------------------------ encabezado */

.cen-header {
	position: sticky;
	top: var(--cen-admin);
	z-index: 50;
	border-bottom: 1px solid rgba(255, 255, 255, .07);
	transition: box-shadow var(--cen-transicion);
}

/* El fondo con desenfoque va en un pseudo-elemento: un backdrop-filter en el encabezado lo volvería el
   bloque contenedor de los elementos fijos y el menú del celular quedaría del alto del encabezado. */
.cen-header::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: rgba(10, 10, 11, .9);
	-webkit-backdrop-filter: saturate(140%) blur(14px);
	backdrop-filter: saturate(140%) blur(14px);
	transition: background-color var(--cen-transicion);
}

.cen-header.is-compacto {
	box-shadow: 0 12px 30px -20px rgba(0, 0, 0, .9);
}

.cen-header.is-compacto::before {
	background: rgba(10, 10, 11, .96);
}

.cen-header__barra {
	display: flex;
	align-items: center;
	gap: 1rem;
	min-height: var(--cen-header-alto);
	transition: min-height var(--cen-transicion);
}

.cen-header__logo {
	display: inline-flex;
	flex: none;
	align-items: center;
	min-height: 44px;
	padding: .25rem 0;
	border-radius: 6px;
}

.cen-header__logo-img {
	display: block;
	width: auto;
	height: 34px;
	transition: height var(--cen-transicion);
}

.cen-header__acciones {
	display: flex;
	align-items: center;
	gap: .6rem;
	margin-left: auto;
}

.cen-header__escribinos {
	display: none;
}

/* Menú: en celular, panel a pantalla completa (con JS); en escritorio, en línea. */
.cen-nav__lista {
	margin: 0;
	padding: 0;
	list-style: none;
}

.cen-nav__lista a {
	text-decoration: none;
}

.cen-nav__cabecera,
.cen-nav__extra {
	display: none;
}

.cen-nav__sub-btn {
	display: none;
}

@media (max-width: 959.98px) {
	html.cen-js .cen-nav {
		position: fixed;
		inset: 0;
		z-index: 80;
		display: flex;
		flex-direction: column;
		gap: 1.5rem;
		padding: calc(var(--cen-admin) + .75rem) var(--cen-gutter) calc(2rem + env(safe-area-inset-bottom));
		overflow-y: auto;
		overscroll-behavior: contain;
		background: radial-gradient(90% 60% at 100% 0%, rgba(237, 51, 56, .14), transparent 60%), var(--cen-negro);
		visibility: hidden;
		opacity: 0;
		transform: translateY(-10px);
		transition: opacity .25s ease, transform .25s ease, visibility 0s linear .25s;
	}

	html.cen-js .cen-nav.is-abierto {
		visibility: visible;
		opacity: 1;
		transform: none;
		transition: opacity .25s ease, transform .25s ease;
	}

	html.cen-js .cen-nav__cabecera {
		display: flex;
		align-items: center;
		justify-content: space-between;
		min-height: 52px;
	}

	.cen-nav__logo {
		width: auto;
		height: 30px;
	}

	.cen-nav__lista > li {
		border-bottom: 1px solid var(--cen-borde);
	}

	.cen-nav__lista > li > a {
		display: flex;
		align-items: center;
		min-height: 58px;
		color: var(--cen-blanco);
		font-family: var(--cen-fuente-titulo);
		font-size: 1.75rem;
		font-weight: 800;
		letter-spacing: .01em;
		text-transform: uppercase;
	}

	.cen-nav__lista > li > a[aria-current="page"],
	.cen-nav__lista > .current-menu-item > a {
		color: var(--cen-rojo);
	}

	.cen-nav__lista .sub-menu {
		display: flex;
		flex-wrap: wrap;
		gap: .45rem;
		margin: 0 0 1rem;
		padding: 0;
		list-style: none;
	}

	.cen-nav__lista .sub-menu a {
		display: inline-flex;
		align-items: center;
		min-height: 44px;
		padding: .4rem .9rem;
		border: 1px solid var(--cen-borde);
		border-radius: 999px;
		color: var(--cen-claro);
		font-size: .9rem;
		font-weight: 500;
	}

	html.cen-js .cen-nav__extra {
		display: grid;
		gap: 1rem;
		margin-top: auto;
	}

	.cen-nav__dato {
		display: flex;
		align-items: center;
		gap: .5rem;
		margin: 0;
		color: var(--cen-suave);
		font-size: .9rem;
	}

	.cen-nav__dato .cen-icono {
		color: var(--cen-rojo);
	}

	/* Sin JS el menú queda visible debajo del logo. */
	html:not(.cen-js) .cen-header__barra {
		flex-wrap: wrap;
	}

	html:not(.cen-js) .cen-nav {
		order: 3;
		width: 100%;
		padding-bottom: .75rem;
	}

	html:not(.cen-js) .cen-nav__lista {
		display: flex;
		flex-wrap: wrap;
		gap: .25rem 1rem;
	}

	html:not(.cen-js) .cen-nav__lista > li {
		border: 0;
	}

	html:not(.cen-js) .cen-nav__lista > li > a {
		min-height: 44px;
		font-size: 1.1rem;
	}

	html:not(.cen-js) .cen-header__menu-btn {
		display: none;
	}
}

@media (min-width: 960px) {
	.cen-header__logo-img {
		height: 44px;
	}

	.cen-header.is-compacto .cen-header__barra {
		min-height: 62px;
	}

	.cen-header.is-compacto .cen-header__logo-img {
		height: 36px;
	}

	.cen-header__menu-btn {
		display: none;
	}

	.cen-header__escribinos {
		display: inline-flex;
	}

	.cen-header__barra {
		gap: 2rem;
	}

	.cen-nav {
		flex: 1;
		display: flex;
		justify-content: center;
	}

	.cen-nav__lista {
		display: flex;
		align-items: center;
		gap: .15rem;
	}

	.cen-nav__lista > li {
		position: relative;
		display: flex;
		align-items: center;
	}

	.cen-nav__lista > li > a {
		position: relative;
		display: inline-flex;
		align-items: center;
		min-height: 44px;
		padding: 0 .85rem;
		border-radius: 8px;
		color: var(--cen-claro);
		font-size: .95rem;
		font-weight: 500;
	}

	.cen-nav__lista > li > a:hover,
	.cen-nav__lista > li > a[aria-current="page"],
	.cen-nav__lista > .current-menu-item > a,
	.cen-nav__lista > .current-menu-ancestor > a {
		color: var(--cen-blanco);
	}

	.cen-nav__lista > li > a::after {
		content: "";
		position: absolute;
		right: .85rem;
		bottom: 4px;
		left: .85rem;
		height: 2px;
		border-radius: 2px;
		background: var(--cen-rojo);
		transform: scaleX(0);
		transform-origin: left;
		transition: transform var(--cen-transicion);
	}

	.cen-nav__lista > li > a:hover::after,
	.cen-nav__lista > li > a[aria-current="page"]::after,
	.cen-nav__lista > .current-menu-item > a::after,
	.cen-nav__lista > .current-menu-ancestor > a::after {
		transform: scaleX(1);
	}

	.menu-item-has-children > a {
		padding-right: .2rem !important;
	}

	.menu-item-has-children > a::after {
		right: .2rem !important;
	}

	.cen-nav__sub-btn {
		display: inline-grid;
		place-items: center;
		width: 28px;
		height: 32px;
		padding: 0;
		border: 0;
		border-radius: 6px;
		background: transparent;
		color: var(--cen-suave);
	}

	.cen-nav__sub-btn .cen-icono {
		width: 16px;
		height: 16px;
		transform: rotate(90deg);
		transition: transform var(--cen-transicion);
	}

	.cen-nav__sub-btn[aria-expanded="true"] .cen-icono {
		transform: rotate(-90deg);
	}

	.cen-nav__sub-btn:hover {
		color: var(--cen-blanco);
	}

	.cen-nav__lista .sub-menu {
		position: absolute;
		top: calc(100% + 6px);
		left: 0;
		z-index: 5;
		min-width: 220px;
		margin: 0;
		padding: .45rem;
		list-style: none;
		border: 1px solid var(--cen-borde);
		border-radius: var(--cen-radio);
		background: var(--cen-panel);
		box-shadow: var(--cen-sombra);
		visibility: hidden;
		opacity: 0;
		transform: translateY(6px);
		transition: opacity .2s ease, transform .2s ease, visibility 0s linear .2s;
	}

	/* Puente invisible para que el submenú no se cierre al bajar el mouse. */
	.cen-nav__lista .sub-menu::before {
		content: "";
		position: absolute;
		top: -10px;
		right: 0;
		left: 0;
		height: 10px;
	}

	.cen-nav__lista > li:hover > .sub-menu,
	.cen-nav__lista > li.is-abierto > .sub-menu {
		visibility: visible;
		opacity: 1;
		transform: none;
		transition: opacity .2s ease, transform .2s ease;
	}

	.cen-nav__lista .sub-menu a {
		display: flex;
		align-items: center;
		min-height: 42px;
		padding: .5rem .8rem;
		border-radius: 8px;
		color: var(--cen-claro);
		font-size: .92rem;
	}

	.cen-nav__lista .sub-menu a:hover,
	.cen-nav__lista .sub-menu a[aria-current="page"] {
		background: rgba(255, 255, 255, .06);
		color: var(--cen-blanco);
	}
}

/* ------------------------------------------------------------------ megamenú de «Autos» */

.cen-mega a {
	text-decoration: none;
}

.cen-mega__titulo {
	margin: 0 0 .7rem;
	color: var(--cen-suave);
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.cen-mega__titulo--rojo {
	color: var(--cen-rojo-claro);
}

.cen-mega__lista {
	margin: 0;
	padding: 0;
	list-style: none;
}

.cen-mega__cant {
	flex: none;
	min-width: 2.1em;
	padding: .12rem .45rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, .07);
	color: var(--cen-suave);
	font-size: .75rem;
	font-weight: 600;
	line-height: 1.4;
	text-align: center;
	font-variant-numeric: tabular-nums;
}

.cen-mega__todos {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	min-height: 44px;
	color: var(--cen-rojo-claro);
	font-weight: 600;
}

.cen-mega__todos .cen-mega__cant {
	background: rgba(237, 51, 56, .14);
	color: var(--cen-rojo-claro);
}

.cen-mega__todos .cen-icono {
	transition: transform var(--cen-transicion);
}

.cen-mega__todos:hover .cen-icono {
	transform: translateX(3px);
}

.cen-mega__auto {
	display: grid;
	overflow: hidden;
	border: 1px solid var(--cen-borde);
	border-radius: var(--cen-radio-sm);
	background: var(--cen-panel);
	color: inherit;
	transition: border-color var(--cen-transicion);
}

.cen-mega__auto:hover {
	border-color: rgba(237, 51, 56, .55);
}

.cen-mega__auto-foto {
	display: block;
	overflow: hidden;
	background: #0f0f11;
}

.cen-mega__auto-img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .5s cubic-bezier(.2, .7, .2, 1);
}

.cen-mega__auto:hover .cen-mega__auto-img {
	transform: scale(1.04);
}

.cen-mega__auto-texto {
	display: grid;
	align-content: center;
	gap: .2rem;
	min-width: 0;
}

.cen-mega__auto-nombre {
	display: -webkit-box;
	overflow: hidden;
	color: var(--cen-blanco);
	font-family: var(--cen-fuente-titulo);
	font-size: 1.15rem;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: .01em;
	text-transform: uppercase;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.cen-mega__auto-datos {
	color: var(--cen-suave);
	font-size: .82rem;
}

.cen-mega__auto-precio {
	color: var(--cen-rojo);
	font-family: var(--cen-fuente-titulo);
	font-size: 1.3rem;
	font-weight: 800;
	line-height: 1.1;
	font-variant-numeric: tabular-nums;
}

.cen-mega__financiacion {
	display: flex;
	align-items: center;
	gap: .55rem;
	min-height: 44px;
	margin-top: .6rem;
	color: var(--cen-claro);
	font-size: .9rem;
}

.cen-mega__financiacion .cen-icono {
	flex: none;
	color: var(--cen-rojo);
}

.cen-mega__financiacion:hover {
	color: var(--cen-blanco);
}

/* Celular: acordeón dentro del menú a pantalla completa. Sin JS no se muestra (quedan los links de siempre). */
@media (max-width: 959.98px) {
	.cen-nav__lista > li.cen-mega-item {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
	}

	.cen-nav__lista > li.cen-mega-item > a {
		flex: 1;
	}

	html.cen-js .cen-mega-item > .cen-nav__sub-btn {
		display: inline-grid;
		place-items: center;
		width: 44px;
		height: 44px;
		padding: 0;
		border: 1px solid var(--cen-borde);
		border-radius: 999px;
		background: transparent;
		color: var(--cen-claro);
	}

	.cen-mega-item > .cen-nav__sub-btn .cen-icono {
		width: 18px;
		height: 18px;
		transform: rotate(90deg);
		transition: transform var(--cen-transicion);
	}

	.cen-mega-item > .cen-nav__sub-btn[aria-expanded="true"] .cen-icono {
		transform: rotate(-90deg);
	}

	.cen-mega {
		display: none;
		width: 100%;
		padding-bottom: 1.25rem;
	}

	html.cen-js .cen-mega-item.is-abierto > .cen-mega {
		display: block;
	}

	.cen-mega .cen-mega__grilla {
		display: grid;
		gap: 1.35rem;
		max-width: none;
		padding-inline: 0;
	}

	.cen-mega__lista {
		display: flex;
		flex-wrap: wrap;
		gap: .45rem;
	}

	.cen-mega__link {
		display: inline-flex;
		align-items: center;
		gap: .5rem;
		min-height: 44px;
		padding: .35rem .5rem .35rem .9rem;
		border: 1px solid var(--cen-borde);
		border-radius: 999px;
		color: var(--cen-claro);
		font-size: .9rem;
		font-weight: 500;
	}

	.cen-mega__link--mas,
	.cen-mega__link:not(:has(.cen-mega__cant)) {
		padding-right: .9rem;
	}

	.cen-mega__link[aria-current="page"] {
		border-color: var(--cen-rojo);
		color: var(--cen-blanco);
	}

	.cen-mega__icono {
		display: none;
	}

	.cen-mega__todos {
		margin-top: .35rem;
	}

	.cen-mega__auto {
		grid-template-columns: 120px minmax(0, 1fr);
		gap: .9rem;
		padding-right: .9rem;
	}

	.cen-mega__auto-foto {
		aspect-ratio: 4 / 3;
	}

	/* Financiación es el ítem que sigue en el menú. */
	.cen-mega__financiacion {
		display: none;
	}
}

/* Escritorio: panel ancho debajo del encabezado. «Autos» ocupa todo el alto de la barra, así el mouse
   pasa del link al panel sin un hueco que lo cierre. */
@media (min-width: 960px) {
	.cen-nav {
		align-self: stretch;
	}

	.cen-nav__lista > li.cen-mega-item {
		position: static;
		align-self: stretch;
	}

	.cen-mega {
		position: absolute;
		top: 100%;
		right: 0;
		left: 0;
		z-index: 5;
		border-top: 1px solid var(--cen-borde);
		border-bottom: 1px solid var(--cen-borde);
		background: radial-gradient(55% 140% at 100% 0%, rgba(237, 51, 56, .09), transparent 60%), var(--cen-carbon);
		box-shadow: 0 40px 70px -30px rgba(0, 0, 0, .9);
		visibility: hidden;
		opacity: 0;
		transform: translateY(-6px);
		transition: opacity .18s ease, transform .18s ease, visibility 0s linear .18s;
	}

	/* Abre con un instante de demora: cruzar el encabezado con el mouse no lo despliega. */
	.cen-nav__lista > li.cen-mega-item:hover > .cen-mega,
	.cen-nav__lista > li.cen-mega-item.is-abierto > .cen-mega {
		visibility: visible;
		opacity: 1;
		transform: none;
		transition: opacity .2s ease .08s, transform .2s ease .08s, visibility 0s linear .08s;
	}

	.cen-mega__grilla {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, 1.1fr);
		padding-block: 1.75rem 2rem;
	}

	.cen-mega__col {
		padding-inline: clamp(1.25rem, 2.2vw, 2.25rem);
	}

	.cen-mega__col:first-child {
		padding-left: 0;
	}

	.cen-mega__col:last-child {
		padding-right: 0;
	}

	.cen-mega__col + .cen-mega__col {
		border-left: 1px solid rgba(255, 255, 255, .06);
	}

	.cen-mega__lista--marcas {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: 1rem;
	}

	.cen-mega__link {
		display: flex;
		align-items: center;
		gap: .7rem;
		min-height: 44px;
		margin-inline: -.6rem;
		padding: .35rem .6rem;
		border-radius: 8px;
		color: var(--cen-claro);
		font-size: .93rem;
		font-weight: 500;
		transition: background-color var(--cen-transicion), color var(--cen-transicion);
	}

	.cen-mega__nombre {
		flex: 1;
		min-width: 0;
	}

	.cen-mega__icono {
		flex: none;
		color: var(--cen-suave);
		transition: color var(--cen-transicion);
	}

	.cen-mega__link:hover,
	.cen-mega__link[aria-current="page"] {
		background: rgba(255, 255, 255, .06);
		color: var(--cen-blanco);
	}

	.cen-mega__link:hover .cen-mega__icono,
	.cen-mega__link[aria-current="page"] .cen-mega__icono {
		color: var(--cen-rojo);
	}

	.cen-mega__link--mas {
		color: var(--cen-suave);
	}

	.cen-mega__todos {
		margin-top: .5rem;
	}

	.cen-mega__auto-foto {
		aspect-ratio: 16 / 10;
	}

	.cen-mega__auto-texto {
		padding: .75rem .9rem .85rem;
	}
}

/* Pantallas chicas de escritorio (y tablets apaisadas): tres columnas; el último ingreso queda afuera. */
@media (min-width: 960px) and (max-width: 1199.98px) {
	.cen-mega__grilla {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr) minmax(0, 1fr);
	}

	.cen-mega__col--ultimo {
		display: none;
	}

	.cen-mega__col--precios {
		padding-right: 0;
	}
}

/* ------------------------------------------------------------------ cabecera de páginas internas */

.cen-cabecera {
	position: relative;
	overflow: hidden;
	padding-block: clamp(1.5rem, 1rem + 2vw, 2.5rem) clamp(1.75rem, 1.25rem + 2vw, 2.75rem);
	border-bottom: 1px solid rgba(255, 255, 255, .06);
	background: radial-gradient(70% 120% at 100% 0%, rgba(237, 51, 56, .12), transparent 60%), linear-gradient(180deg, #0d0d0f, var(--cen-negro));
}

.cen-cabecera::after {
	content: "";
	position: absolute;
	right: -5%;
	bottom: 22%;
	width: 45%;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(237, 51, 56, .7), transparent);
	transform: rotate(-12deg);
	pointer-events: none;
}

@media (max-width: 767.98px) {
	.cen-cabecera::after {
		display: none;
	}
}

.cen-cabecera__titulo {
	margin-bottom: .35em;
	font-size: clamp(2.3rem, 1.6rem + 3vw, 3.8rem);
	line-height: .98;
}

.cen-cabecera__bajada {
	max-width: 44rem;
	margin: 0;
	color: var(--cen-claro);
}

.cen-cabecera__texto {
	max-width: 44rem;
	margin-top: .75rem;
	color: var(--cen-suave);
}

/* ------------------------------------------------------------------ inicio: hero */

.cen-hero {
	position: relative;
	overflow: hidden;
	padding-block: clamp(2rem, 1rem + 4vw, 4.5rem) clamp(5rem, 4rem + 4vw, 7.5rem);
	background: radial-gradient(90% 70% at 80% 30%, rgba(237, 51, 56, .13), transparent 60%), linear-gradient(180deg, var(--cen-negro) 0%, #0e0e10 100%);
	isolation: isolate;
}

.cen-hero__fondo {
	position: absolute;
	inset: 0;
	z-index: -1;
	overflow: hidden;
	pointer-events: none;
}

.cen-hero__palabra {
	position: absolute;
	top: clamp(.25rem, 1vw, 1rem);
	left: 50%;
	font-family: var(--cen-fuente-titulo);
	font-size: clamp(5.5rem, 20vw, 19rem);
	font-weight: 800;
	line-height: .82;
	letter-spacing: -.01em;
	text-transform: uppercase;
	white-space: nowrap;
	color: transparent;
	background: linear-gradient(180deg, rgba(255, 255, 255, .16) 0%, rgba(255, 255, 255, .05) 55%, rgba(255, 255, 255, 0) 100%);
	-webkit-background-clip: text;
	background-clip: text;
	transform: translateX(-50%);
	user-select: none;
}

.cen-hero__lineas::before,
.cen-hero__lineas::after {
	content: "";
	position: absolute;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(237, 51, 56, .9) 50%, transparent);
	transform: rotate(-13deg);
	transform-origin: center;
}

.cen-hero__lineas::before {
	top: 88%;
	left: -15%;
	width: 75%;
	opacity: .7;
}

.cen-hero__lineas::after {
	top: 30%;
	right: -12%;
	width: 58%;
	opacity: .55;
}

@media (min-width: 960px) {
	.cen-hero__lineas::before {
		top: 74%;
		left: 34%;
		width: 80%;
	}
}

.cen-hero__trazo {
	position: absolute;
	right: -22%;
	bottom: 2%;
	width: min(1200px, 120vw);
	max-width: none;
	height: auto;
	opacity: .12;
}

.cen-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	align-items: center;
	gap: clamp(2rem, 1.5rem + 2vw, 3rem);
}

.cen-hero__texto {
	position: relative;
	padding-top: clamp(2.5rem, 8vw, 5rem);
}

.cen-hero__titulo {
	margin: 0 0 1.1rem;
	font-size: clamp(2.7rem, 1.6rem + 4.6vw, 5.4rem);
	line-height: .94;
	letter-spacing: 0;
}

.cen-hero__titulo em {
	display: block;
}

.cen-hero__bajada {
	max-width: 34rem;
	margin: 0;
	color: #c9c9d1;
	font-size: clamp(1rem, .95rem + .3vw, 1.125rem);
}

.cen-hero__botones {
	display: flex;
	flex-wrap: wrap;
	gap: .75rem;
	margin-top: 1.75rem;
}

.cen-hero__auto {
	position: relative;
	margin: 0;
}

.cen-hero__foto {
	position: relative;
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, .1);
	border-radius: 20px;
	background: var(--cen-panel);
	box-shadow: 0 40px 80px -36px rgba(0, 0, 0, .9), 0 30px 90px -50px rgba(237, 51, 56, .65);
}

.cen-hero__img,
.cen-hero__foto img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.cen-hero__foto::after {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(120% 95% at 50% 45%, transparent 52%, rgba(0, 0, 0, .62) 100%), linear-gradient(to top, rgba(10, 10, 11, .78), transparent 42%);
	pointer-events: none;
}

.cen-hero__ficha {
	position: relative;
	z-index: 2;
	margin: -2.25rem .75rem 0;
	display: grid;
	gap: .2rem;
	padding: .8rem 1rem;
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: var(--cen-radio);
	background: rgba(10, 10, 11, .88);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}

/* Texto chico sobre un fondo que deja ver la foto: va en el rojo claro para pasar 4,5:1 aunque la foto
   de atrás sea blanca. */
.cen-hero__ficha-kicker {
	color: var(--cen-rojo-claro);
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.cen-hero__ficha-titulo {
	color: var(--cen-blanco);
	font-family: var(--cen-fuente-titulo);
	font-size: 1.2rem;
	font-weight: 700;
	line-height: 1.1;
	text-decoration: none;
	text-transform: uppercase;
}

.cen-hero__ficha-titulo:hover {
	color: var(--cen-blanco);
	text-decoration: underline;
	text-decoration-color: var(--cen-rojo);
}

.cen-hero__ficha-datos {
	color: var(--cen-suave);
	font-size: .85rem;
}

.cen-hero__ficha-precio {
	color: var(--cen-blanco);
	font-family: var(--cen-fuente-titulo);
	font-size: 1.5rem;
	font-weight: 800;
	line-height: 1.1;
}

@media (min-width: 960px) {
	.cen-hero__grid {
		grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	}

	.cen-hero__texto {
		padding-top: clamp(4rem, 9vw, 8rem);
		padding-bottom: 2rem;
	}

	.cen-hero__auto {
		margin-top: clamp(3rem, 7vw, 6rem);
	}

	.cen-hero__ficha {
		position: absolute;
		bottom: -1.75rem;
		left: -1.75rem;
		max-width: 360px;
		margin: 0;
		padding: 1rem 1.25rem;
		box-shadow: var(--cen-sombra);
	}

	.cen-hero__ficha-titulo {
		font-size: 1.35rem;
	}

	.cen-hero__ficha-precio {
		color: var(--cen-rojo);
		font-size: 1.8rem;
	}
}

/* ------------------------------------------------------------------ inicio: buscador montado sobre el hero */

.cen-buscador-wrap {
	position: relative;
	z-index: 3;
	margin-top: clamp(-4.25rem, -6vw, -3rem);
}

.cen-buscador {
	position: relative;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .85rem;
	padding: 1.1rem;
	border: 1px solid var(--cen-borde);
	border-radius: 18px;
	background: var(--cen-panel);
	box-shadow: 0 28px 60px -24px rgba(0, 0, 0, .9);
}

.cen-buscador::before {
	content: "";
	position: absolute;
	top: -1px;
	left: 1.5rem;
	width: 72px;
	height: 3px;
	border-radius: 0 0 3px 3px;
	background: var(--cen-rojo);
}

.cen-buscador__titulo {
	display: flex;
	grid-column: 1 / -1;
	align-items: center;
	gap: .5rem;
	margin: 0;
	font-size: 1.35rem;
	line-height: 1;
}

.cen-buscador__titulo .cen-icono {
	color: var(--cen-rojo);
}

.cen-buscador .cen-campo > label {
	color: var(--cen-suave);
	font-size: .8rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.cen-buscador__boton {
	grid-column: 1 / -1;
	min-height: 48px;
}

@media (min-width: 1024px) {
	.cen-buscador {
		grid-template-columns: auto repeat(4, minmax(0, 1fr)) auto;
		align-items: end;
		gap: 1rem;
		padding: 1.25rem 1.5rem;
	}

	.cen-buscador__titulo {
		grid-column: auto;
		align-self: center;
		flex-direction: column;
		align-items: flex-start;
		gap: .3rem;
		padding-right: .5rem;
		font-size: 1.5rem;
	}

	.cen-buscador__boton {
		grid-column: auto;
		padding-inline: 1.6rem;
	}
}

/* ------------------------------------------------------------------ inicio: franja de datos */

.cen-franja {
	padding-top: clamp(1.75rem, 1.25rem + 2vw, 2.75rem);
}

.cen-datos {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	margin: 0;
	padding: 0;
	list-style: none;
	overflow: hidden;
	border: 1px solid var(--cen-borde);
	border-radius: 18px;
	background: linear-gradient(180deg, #131315, #0f0f11);
}

.cen-dato {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
	padding: 1.2rem 1.25rem;
	border-top: 1px solid var(--cen-borde);
}

.cen-dato:first-child {
	border-top: 0;
}

.cen-dato__icono {
	display: grid;
	flex: none;
	place-items: center;
	width: 46px;
	height: 46px;
	border: 1px solid rgba(237, 51, 56, .4);
	border-radius: 50%;
	background: rgba(237, 51, 56, .1);
	color: var(--cen-rojo);
}

.cen-dato__cuerpo {
	display: grid;
	gap: .15rem;
	min-width: 0;
}

.cen-dato__valor {
	color: var(--cen-rojo);
	font-family: var(--cen-fuente-titulo);
	font-size: 2.2rem;
	font-weight: 800;
	line-height: .95;
}

.cen-dato__titulo {
	color: var(--cen-blanco);
	font-family: var(--cen-fuente-titulo);
	font-size: 1.1rem;
	font-weight: 700;
	line-height: 1.15;
	text-transform: uppercase;
}

.cen-dato__texto {
	color: var(--cen-suave);
	font-size: .85rem;
	line-height: 1.45;
}

@media (min-width: 640px) {
	.cen-datos {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.cen-dato:nth-child(2) {
		border-top: 0;
	}

	.cen-dato:nth-child(even) {
		border-left: 1px solid var(--cen-borde);
	}
}

@media (min-width: 1100px) {
	.cen-datos {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.cen-dato {
		padding: 1.5rem 1.4rem;
		border-top: 0;
	}

	.cen-dato + .cen-dato {
		border-left: 1px solid var(--cen-borde);
	}
}

/* ------------------------------------------------------------------ inicio: marcas, tipos, por qué, banda, financiación, cierre */

.cen-marcas {
	display: flex;
	flex-wrap: wrap;
	gap: .6rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.cen-marca {
	display: inline-flex;
	align-items: center;
	gap: .6rem;
	min-height: 48px;
	padding: .5rem .6rem .5rem 1.1rem;
	border: 1px solid var(--cen-borde);
	border-radius: 999px;
	background: var(--cen-panel);
	color: var(--cen-texto);
	font-weight: 600;
	text-decoration: none;
	transition: border-color var(--cen-transicion), background-color var(--cen-transicion), transform var(--cen-transicion);
}

.cen-marca:hover {
	border-color: rgba(237, 51, 56, .6);
	background: #1d1d21;
	color: var(--cen-blanco);
	transform: translateY(-2px);
}

.cen-marca__cantidad {
	display: inline-grid;
	place-items: center;
	min-width: 1.9rem;
	height: 1.9rem;
	padding: 0 .45rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, .08);
	color: var(--cen-claro);
	font-size: .8rem;
	font-weight: 700;
}

.cen-marca:hover .cen-marca__cantidad {
	background: var(--cen-rojo-fondo);
	color: var(--cen-blanco);
}

.cen-tipos {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(.75rem, .5rem + 1vw, 1.25rem);
	margin: 0;
	padding: 0;
	list-style: none;
}

.cen-tipo {
	position: relative;
	display: grid;
	gap: .2rem;
	height: 100%;
	padding: 1.25rem 1.1rem 1.1rem;
	overflow: hidden;
	border: 1px solid var(--cen-borde);
	border-radius: var(--cen-radio);
	background: linear-gradient(160deg, #1b1b1f, var(--cen-panel));
	color: var(--cen-texto);
	text-decoration: none;
	transition: border-color var(--cen-transicion), transform var(--cen-transicion);
}

.cen-tipo::after {
	content: "";
	position: absolute;
	right: -30%;
	bottom: -40%;
	width: 80%;
	height: 80%;
	border-radius: 50%;
	background: radial-gradient(closest-side, rgba(237, 51, 56, .18), transparent);
	opacity: 0;
	transition: opacity var(--cen-transicion);
}

.cen-tipo:hover {
	border-color: rgba(237, 51, 56, .6);
	color: var(--cen-texto);
	transform: translateY(-3px);
}

.cen-tipo:hover::after {
	opacity: 1;
}

.cen-tipo__icono {
	color: var(--cen-rojo);
	margin-bottom: .35rem;
}

.cen-tipo__icono .cen-icono {
	width: clamp(40px, 6vw, 56px);
	height: clamp(40px, 6vw, 56px);
	stroke-width: 1.4;
}

.cen-tipo__nombre {
	color: var(--cen-blanco);
	font-family: var(--cen-fuente-titulo);
	font-size: clamp(1.3rem, 1.1rem + .8vw, 1.75rem);
	font-weight: 800;
	line-height: 1;
	text-transform: uppercase;
}

.cen-tipo__cantidad {
	color: var(--cen-suave);
	font-size: .875rem;
}

.cen-tipo__flecha {
	position: absolute;
	top: 1.1rem;
	right: 1.1rem;
	color: var(--cen-suave);
	transition: color var(--cen-transicion), transform var(--cen-transicion);
}

.cen-tipo:hover .cen-tipo__flecha {
	color: var(--cen-rojo);
	transform: translateX(3px);
}

@media (min-width: 900px) {
	.cen-tipos {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.cen-tipo {
		padding: 1.75rem 1.5rem 1.5rem;
	}
}

.cen-porque {
	display: grid;
	gap: 2rem;
	align-items: start;
}

.cen-porque__texto .cen-bajada {
	margin-bottom: 1.5rem;
}

@media (min-width: 960px) {
	.cen-porque {
		grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
		gap: 4rem;
	}

	.cen-porque__texto {
		position: sticky;
		top: calc(var(--cen-header-alto) + var(--cen-admin) + 2rem);
	}
}

.cen-acordeon {
	display: grid;
	gap: .75rem;
}

.cen-acordeon__item {
	border: 1px solid var(--cen-borde);
	border-radius: var(--cen-radio);
	background: var(--cen-panel);
	transition: border-color var(--cen-transicion), background-color var(--cen-transicion);
}

.cen-acordeon__item[open] {
	border-color: rgba(237, 51, 56, .45);
	background: linear-gradient(160deg, rgba(237, 51, 56, .07), transparent 60%), var(--cen-panel);
}

.cen-acordeon__titulo {
	display: flex;
	align-items: center;
	gap: 1rem;
	min-height: 64px;
	padding: .9rem 1.1rem;
	color: var(--cen-blanco);
	font-family: var(--cen-fuente-titulo);
	font-size: clamp(1.1rem, 1rem + .4vw, 1.3rem);
	font-weight: 700;
	line-height: 1.15;
	text-transform: uppercase;
	list-style: none;
	cursor: pointer;
	border-radius: var(--cen-radio);
}

.cen-acordeon__titulo::-webkit-details-marker {
	display: none;
}

.cen-acordeon__icono {
	display: grid;
	flex: none;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: var(--cen-rojo-fondo);
	color: var(--cen-blanco);
	box-shadow: 0 8px 20px -10px rgba(237, 51, 56, .9);
}

.cen-acordeon__mas {
	display: grid;
	flex: none;
	place-items: center;
	width: 32px;
	height: 32px;
	margin-left: auto;
	border: 1px solid var(--cen-borde);
	border-radius: 50%;
	color: var(--cen-suave);
	transition: transform var(--cen-transicion), color var(--cen-transicion);
}

.cen-acordeon__item[open] .cen-acordeon__mas {
	color: var(--cen-rojo);
	transform: rotate(45deg);
}

.cen-acordeon__texto {
	margin: 0;
	padding: 0 1.1rem 1.2rem calc(1.1rem + 42px + 1rem);
	color: var(--cen-claro);
}

@media (max-width: 479.98px) {
	.cen-acordeon__texto {
		padding-left: 1.1rem;
	}
}

.cen-banda {
	padding-block: clamp(1rem, .5rem + 2vw, 2rem) clamp(3.5rem, 2.5rem + 4vw, 6rem);
}

.cen-banda__caja {
	position: relative;
	display: grid;
	gap: 1.5rem;
	align-items: center;
	padding: clamp(1.75rem, 1rem + 3vw, 3.25rem);
	overflow: hidden;
	border: 1px solid rgba(237, 51, 56, .35);
	border-radius: calc(var(--cen-radio) + 6px);
	background: radial-gradient(80% 140% at 0% 100%, rgba(237, 51, 56, .28), transparent 60%), linear-gradient(120deg, #1a0d0e, #121214 55%);
	isolation: isolate;
}

.cen-banda__trazo {
	position: absolute;
	right: -8%;
	bottom: -12%;
	z-index: -1;
	width: min(820px, 110%);
	max-width: none;
	height: auto;
	opacity: .22;
	pointer-events: none;
}

.cen-banda__texto p:last-child {
	max-width: 36rem;
	margin: 0;
	color: var(--cen-claro);
}

.cen-banda__texto .cen-titulo {
	margin-bottom: .4em;
}

.cen-banda__botones {
	display: flex;
	flex-wrap: wrap;
	gap: .75rem;
}

@media (min-width: 900px) {
	.cen-banda__caja {
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 3rem;
	}

	.cen-banda__botones {
		flex-direction: column;
		align-items: stretch;
	}
}

.cen-financiacion {
	display: grid;
	gap: 2.5rem;
	align-items: start;
}

.cen-financiacion__subtitulo {
	margin: 1.75rem 0 .75rem;
	color: var(--cen-claro);
	font-family: var(--cen-fuente);
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .14em;
}

.cen-financieras {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.cen-lista-check {
	display: grid;
	gap: .5rem;
	margin: 0 0 1.75rem;
	padding: 0;
	list-style: none;
}

.cen-lista-check li {
	display: flex;
	align-items: center;
	gap: .6rem;
	color: var(--cen-texto);
}

.cen-lista-check .cen-icono {
	color: var(--cen-rojo);
}

@media (min-width: 960px) {
	.cen-financiacion {
		grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
		gap: 4rem;
	}
}

.cen-cierre__grid {
	display: grid;
	gap: 2.5rem;
	align-items: start;
}

.cen-cierre__texto .cen-btn {
	margin-top: .5rem;
}

.cen-cierre__datos {
	display: grid;
	gap: .5rem;
	margin: 1.75rem 0 0;
	padding: 0;
	list-style: none;
	color: var(--cen-claro);
}

.cen-cierre__datos li {
	display: flex;
	align-items: flex-start;
	gap: .55rem;
}

.cen-cierre__datos .cen-icono {
	margin-top: .15rem;
	color: var(--cen-rojo);
}

.cen-cierre__form > .cen-form,
.cen-cierre__form > form,
.cen-cierre__form > div:not(.cen-panel) {
	padding: clamp(1.25rem, 3vw, 2rem);
	border: 1px solid var(--cen-borde);
	border-radius: calc(var(--cen-radio) + 4px);
	background: var(--cen-panel);
	box-shadow: 0 30px 60px -40px rgba(0, 0, 0, .9);
}

.cen-cierre__alternativa p:not(.cen-kicker) {
	color: var(--cen-claro);
}

@media (min-width: 960px) {
	.cen-cierre__grid {
		grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
		gap: 4rem;
	}
}

/* ------------------------------------------------------------------ catálogo */

.cen-catalogo {
	display: grid;
	gap: 1.5rem;
	align-items: start;
	padding-block: clamp(1.5rem, 1rem + 2vw, 2.5rem) clamp(3rem, 2rem + 3vw, 5rem);
}

.cen-catalogo__resultados {
	min-width: 0;
}

.cen-catalogo__barra {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: .75rem 1rem;
	margin-bottom: 1rem;
}

.cen-catalogo__contador {
	margin: 0;
	color: var(--cen-suave);
}

.cen-catalogo__contador strong {
	margin-right: .15rem;
	color: var(--cen-blanco);
	font-family: var(--cen-fuente-titulo);
	font-size: 1.7rem;
	font-weight: 800;
	line-height: 1;
}

.cen-catalogo__herramientas {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .6rem;
}

.cen-catalogo__orden {
	display: flex;
	align-items: center;
	gap: .5rem;
}

.cen-catalogo__orden label {
	color: var(--cen-suave);
	font-size: .85rem;
	white-space: nowrap;
}

.cen-catalogo__orden select {
	width: auto;
	min-height: 44px;
	padding-block: .45rem;
	font-size: .9rem;
}

.cen-catalogo__filtrar {
	min-height: 44px;
}

@media (max-width: 1023.98px) {
	.cen-catalogo__herramientas {
		flex: 1 1 100%;
		justify-content: space-between;
	}
}

@media (max-width: 479.98px) {
	.cen-catalogo__orden label {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
	}
}

.cen-activos {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .45rem;
	margin: 0 0 1.25rem;
	padding: 0;
	list-style: none;
}

.cen-activo {
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	min-height: 36px;
	padding: .35rem .65rem .35rem .85rem;
	border: 1px solid rgba(237, 51, 56, .45);
	border-radius: 999px;
	background: rgba(237, 51, 56, .1);
	color: var(--cen-texto);
	font-size: .85rem;
	font-weight: 500;
	text-decoration: none;
	transition: background-color var(--cen-transicion), border-color var(--cen-transicion);
}

.cen-activo:hover {
	border-color: var(--cen-rojo);
	background: rgba(237, 51, 56, .2);
	color: var(--cen-blanco);
}

.cen-activo .cen-icono {
	color: var(--cen-rojo);
}

.cen-activos__limpiar {
	margin-left: .25rem;
	color: var(--cen-suave);
	font-size: .85rem;
}

.cen-filtros {
	display: grid;
	gap: 1.1rem;
	padding: 1.25rem;
	border: 1px solid var(--cen-borde);
	border-radius: calc(var(--cen-radio) + 2px);
	background: var(--cen-panel);
}

.cen-filtros__cabecera {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

.cen-filtros__titulo {
	display: flex;
	align-items: center;
	gap: .5rem;
	margin: 0;
	font-size: 1.35rem;
}

.cen-filtros__titulo .cen-icono {
	color: var(--cen-rojo);
}

.cen-filtros__cerrar {
	display: none;
}

.cen-filtros__grupo {
	display: grid;
	gap: .5rem;
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
}

.cen-filtros__grupo > legend {
	margin-bottom: .5rem;
	padding: 0;
}

.cen-filtros__doble {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .6rem;
}

.cen-filtros__doble select {
	padding-left: .75rem;
	padding-right: 1.9rem;
	background-position: right .6rem center;
}

.cen-filtros__acciones {
	display: grid;
	gap: .5rem;
	justify-items: center;
	padding-top: .25rem;
}

.cen-filtros__limpiar {
	color: var(--cen-suave);
	font-size: .875rem;
}

.cen-opciones {
	display: flex;
	flex-wrap: wrap;
	gap: .4rem;
}

.cen-opcion {
	position: relative;
	display: inline-flex;
	cursor: pointer;
}

.cen-opcion__input {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	opacity: 0;
	cursor: pointer;
}

.cen-opcion__texto {
	display: inline-flex;
	align-items: center;
	min-height: 38px;
	padding: .4rem .85rem;
	border: 1px solid var(--cen-borde);
	border-radius: 999px;
	background: var(--cen-campo);
	color: var(--cen-claro);
	font-size: .85rem;
	font-weight: 600;
	transition: border-color var(--cen-transicion), background-color var(--cen-transicion), color var(--cen-transicion);
}

.cen-opcion:hover .cen-opcion__texto {
	border-color: rgba(255, 255, 255, .35);
}

.cen-opcion__input:checked + .cen-opcion__texto {
	border-color: transparent;
	background: var(--cen-rojo-fondo);
	color: var(--cen-blanco);
}

.cen-opcion__input:focus-visible + .cen-opcion__texto {
	outline: 2px solid var(--cen-blanco);
	outline-offset: 2px;
}

/* En pantallas táctiles, los chips de filtros (activos y opciones del panel) llegan a 44px de alto.
   Va después de .cen-activo y .cen-opcion__texto para ganarles. */
@media (pointer: coarse) {
	.cen-activo,
	.cen-opcion__texto {
		min-height: 44px;
	}
}

@media (min-width: 1024px) {
	.cen-catalogo {
		grid-template-columns: 300px minmax(0, 1fr);
		gap: 2rem;
	}

	.cen-catalogo__filtrar {
		display: none;
	}

	/* Al lado de los filtros la grilla es más angosta: con el mínimo general de 280px, a 1280 de ancho
	   (884px de grilla) quedaban 2 columnas de tarjetas enormes. Con 260px entran 3 desde unos 1240px. */
	.cen-catalogo .cen-grid-autos {
		grid-template-columns: repeat(auto-fill, minmax(min(260px, 100%), 1fr));
	}
}

/* En celular, con JS, los filtros son un panel lateral que se abre con «Filtrar». */
@media (max-width: 1023.98px) {
	html:not(.cen-js) .cen-catalogo__filtrar {
		display: none;
	}

	html.cen-js .cen-filtros-panel {
		position: fixed;
		inset: 0;
		z-index: 80;
		display: flex;
		justify-content: flex-end;
		padding-top: var(--cen-admin);
		overflow: hidden;
		background: rgba(0, 0, 0, .65);
		visibility: hidden;
		opacity: 0;
		transition: opacity .25s ease, visibility 0s linear .25s;
	}

	html.cen-js .cen-filtros-panel.is-abierto {
		visibility: visible;
		opacity: 1;
		transition: opacity .25s ease;
	}

	html.cen-js .cen-filtros {
		align-content: start;
		width: min(420px, 100%);
		height: 100%;
		padding: 1rem var(--cen-gutter) calc(1.5rem + env(safe-area-inset-bottom));
		overflow-y: auto;
		overscroll-behavior: contain;
		border: 0;
		border-left: 1px solid var(--cen-borde);
		border-radius: 0;
		transform: translateX(24px);
		transition: transform .25s ease;
	}

	html.cen-js .cen-filtros-panel.is-abierto .cen-filtros {
		transform: none;
	}

	html.cen-js .cen-filtros__cerrar {
		display: inline-grid;
	}

	html.cen-js .cen-filtros__acciones {
		position: sticky;
		bottom: calc(-1.5rem - env(safe-area-inset-bottom));
		margin: 0 calc(-1 * var(--cen-gutter)) calc(-1.5rem - env(safe-area-inset-bottom));
		padding: 1rem var(--cen-gutter) calc(1rem + env(safe-area-inset-bottom));
		border-top: 1px solid var(--cen-borde);
		background: var(--cen-panel);
	}
}

.cen-vacio {
	display: grid;
	justify-items: center;
	gap: .5rem;
	padding: clamp(2rem, 1.5rem + 3vw, 3.5rem) 1.25rem;
	border: 1px dashed #3f3f46;
	border-radius: calc(var(--cen-radio) + 4px);
	background: var(--cen-carbon);
	text-align: center;
}

.cen-vacio__icono {
	display: grid;
	place-items: center;
	width: 64px;
	height: 64px;
	margin-bottom: .5rem;
	border-radius: 50%;
	background: rgba(237, 51, 56, .12);
	color: var(--cen-rojo);
}

.cen-vacio__titulo {
	margin: 0;
	font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem);
}

.cen-vacio p {
	max-width: 32rem;
	margin: 0;
	color: var(--cen-claro);
}

.cen-vacio__botones {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: .75rem;
	margin-top: 1rem;
}

.cen-vacio .cen-buscar {
	width: 100%;
	max-width: 32rem;
	margin-top: 1rem;
}

/* ------------------------------------------------------------------ buscador de texto (searchform.php) */

.cen-buscar {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
}

.cen-buscar__control {
	display: flex;
	flex: 1 1 240px;
	align-items: center;
	gap: .5rem;
	min-height: 48px;
	padding: 0 .9rem;
	border: 1px solid var(--cen-borde-campo);
	border-radius: var(--cen-radio-sm);
	background: var(--cen-campo);
	color: var(--cen-suave);
	transition: border-color var(--cen-transicion), box-shadow var(--cen-transicion);
}

.cen-buscar__control:focus-within {
	border-color: var(--cen-rojo);
	box-shadow: 0 0 0 3px rgba(237, 51, 56, .28);
}

.cen-buscar__input {
	flex: 1;
	min-width: 0;
	padding: .65rem 0;
	border: 0;
	background: transparent;
	color: var(--cen-texto);
	font-size: 1rem;
}

.cen-buscar__input:focus {
	outline: none;
}

.cen-buscar .cen-btn {
	min-height: 48px;
}

/* ------------------------------------------------------------------ ficha */

.cen-ficha {
	padding-top: clamp(1rem, .75rem + 1vw, 1.75rem);
}

.cen-ficha__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	grid-template-areas: "galeria" "panel" "detalle";
	gap: 1.5rem;
	padding-bottom: clamp(3rem, 2rem + 3vw, 5rem);
}

.cen-ficha__galeria { grid-area: galeria; min-width: 0; }
.cen-ficha__panel { grid-area: panel; min-width: 0; align-self: start; }
.cen-ficha__detalle { grid-area: detalle; display: grid; gap: clamp(2rem, 1.5rem + 2vw, 3rem); min-width: 0; }

@media (min-width: 1024px) {
	.cen-ficha__grid {
		grid-template-columns: minmax(0, 1fr) 380px;
		grid-template-areas: "galeria panel" "detalle panel";
		column-gap: clamp(2rem, 1rem + 2vw, 3rem);
		row-gap: 2.5rem;
	}

	.cen-ficha__panel {
		position: sticky;
		top: calc(var(--cen-header-alto) + var(--cen-admin) + 1rem);
	}
}

.cen-ficha__caja {
	display: grid;
	gap: 1rem;
	padding: clamp(1.2rem, 1rem + 1vw, 1.6rem);
	border: 1px solid var(--cen-borde);
	border-radius: calc(var(--cen-radio) + 4px);
	background: linear-gradient(180deg, #1a1a1d, var(--cen-panel));
	box-shadow: 0 30px 60px -40px rgba(0, 0, 0, .9);
}

.cen-ficha__chips {
	display: flex;
	flex-wrap: wrap;
	gap: .4rem;
	margin: 0;
}

.cen-ficha__titulo {
	margin: 0;
	font-size: clamp(1.8rem, 1.5rem + 1.2vw, 2.4rem);
	line-height: 1;
	overflow-wrap: anywhere;
}

.cen-ficha__marca {
	display: block;
	margin-bottom: .3rem;
	color: var(--cen-rojo);
	font-family: var(--cen-fuente);
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .16em;
}

.cen-ficha__datos {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem 1.1rem;
	margin: 0;
	padding: 0;
	list-style: none;
	color: var(--cen-claro);
	font-size: .92rem;
}

.cen-ficha__datos li {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
}

.cen-ficha__datos .cen-icono {
	color: var(--cen-suave);
}

.cen-ficha__precio-caja {
	padding: 1rem 1.1rem;
	border: 1px solid var(--cen-borde);
	border-left: 3px solid var(--cen-rojo);
	border-radius: var(--cen-radio-sm);
	background: var(--cen-campo);
}

.cen-ficha__precio-etiqueta {
	margin: 0 0 .25rem;
	color: var(--cen-suave);
	font-size: .8rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.cen-ficha__precio {
	margin: 0;
	color: var(--cen-rojo);
	font-family: var(--cen-fuente-titulo);
	font-size: clamp(2.3rem, 2rem + 1.2vw, 2.9rem);
	font-weight: 800;
	line-height: 1;
	font-variant-numeric: tabular-nums;
}

.cen-ficha__nota {
	margin: .5rem 0 0;
	color: var(--cen-suave);
	font-size: .82rem;
}

.cen-ficha__botones {
	display: grid;
	gap: .6rem;
}

.cen-ficha__extras {
	display: grid;
	gap: .35rem;
	margin: 0;
	padding: .25rem 0 0;
	list-style: none;
	border-top: 1px solid var(--cen-borde);
}

.cen-ficha__extras a {
	display: flex;
	align-items: center;
	gap: .55rem;
	min-height: 44px;
	color: var(--cen-claro);
	font-size: .9rem;
	text-decoration: none;
}

.cen-ficha__extras a:hover {
	color: var(--cen-blanco);
}

.cen-ficha__extras .cen-icono {
	color: var(--cen-rojo);
}

.cen-ficha__subtitulo {
	margin-bottom: .9rem;
	font-size: clamp(1.5rem, 1.3rem + .8vw, 2rem);
}

.cen-ficha__ayuda {
	margin-top: -.35rem;
	color: var(--cen-suave);
}

.cen-ficha__bloque {
	min-width: 0;
	scroll-margin-top: calc(var(--cen-header-alto) + var(--cen-admin) + 1rem);
}

.cen-ficha__consulta > .cen-form,
.cen-ficha__consulta > form {
	padding: clamp(1.25rem, 3vw, 1.75rem);
	border: 1px solid var(--cen-borde);
	border-radius: calc(var(--cen-radio) + 4px);
	background: var(--cen-panel);
}

.cen-tabla-datos {
	width: 100%;
	border-collapse: collapse;
	overflow: hidden;
	border: 1px solid var(--cen-borde);
	border-radius: var(--cen-radio);
	background: var(--cen-panel);
	font-size: .95rem;
}

.cen-tabla-datos th,
.cen-tabla-datos td {
	padding: .8rem 1.1rem;
	border-bottom: 1px solid var(--cen-borde);
	text-align: left;
	vertical-align: top;
}

.cen-tabla-datos tr:last-child th,
.cen-tabla-datos tr:last-child td {
	border-bottom: 0;
}

.cen-tabla-datos th {
	width: 38%;
	color: var(--cen-suave);
	font-weight: 500;
}

.cen-tabla-datos td {
	color: var(--cen-blanco);
	font-weight: 600;
	overflow-wrap: anywhere;
}

/* Links de la tabla (marca, tipo): área táctil de 44px dentro del padding de la celda. */
.cen-tabla-datos td a {
	display: inline-block;
	margin-block: -.8rem;
	padding-block: .8rem;
}

.cen-tabla-datos tr:nth-child(even) {
	background: rgba(255, 255, 255, .015);
}

@media (min-width: 640px) {
	.cen-tabla-datos tbody {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.cen-tabla-datos tr {
		display: grid;
		grid-template-columns: 40% 60%;
		border-bottom: 1px solid var(--cen-borde);
		background: none !important;
	}

	.cen-tabla-datos tr:nth-child(odd) {
		border-right: 1px solid var(--cen-borde);
	}

	.cen-tabla-datos th,
	.cen-tabla-datos td {
		width: auto;
		border-bottom: 0;
	}

	.cen-tabla-datos tr:last-child:nth-child(odd) {
		grid-column: 1 / -1;
		grid-template-columns: 20% 80%;
		border-right: 0;
	}
}

/* ------------------------------------------------------------------ galería */

.cen-galeria {
	display: grid;
	gap: .75rem;
	min-width: 0;
}

.cen-galeria__escenario {
	position: relative;
	overflow: hidden;
	border: 1px solid var(--cen-borde);
	border-radius: calc(var(--cen-radio) + 4px);
	background: var(--cen-panel);
}

.cen-galeria__pista {
	display: flex;
	aspect-ratio: 4 / 3;
	overflow-x: auto;
	overflow-y: hidden;
	overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}

.cen-galeria__pista::-webkit-scrollbar {
	display: none;
}

.cen-galeria__pista:focus-visible {
	outline: 2px solid var(--cen-rojo);
	outline-offset: -3px;
}

/* La foto ocupa el escenario entero y se ve completa (contain). La fila y la columna van con
   minmax(0, 1fr): con una fila «auto» el height: 100% del img se resolvía contra el alto natural de
   la foto y las verticales salían recortadas abajo (solo se veía el 56 % de arriba). */
.cen-galeria__foto {
	position: relative;
	display: grid;
	flex: 0 0 100%;
	grid-template: minmax(0, 1fr) / minmax(0, 1fr);
	place-items: center;
	min-width: 0;
	min-height: 0;
	margin: 0;
	overflow: hidden;
	scroll-snap-align: center;
	scroll-snap-stop: always;
	cursor: zoom-in;
	isolation: isolate;
}

/* Fondo: la misma foto desenfocada, así una foto vertical no queda con bandas negras. */
.cen-galeria__foto::before {
	content: "";
	position: absolute;
	inset: -40px;
	z-index: -1;
	background: var(--cen-fondo, none) center / cover no-repeat;
	filter: blur(28px) brightness(.42) saturate(1.15);
}

.cen-galeria__img,
.cen-galeria__foto img {
	display: block;
	width: 100%;
	height: 100%;
	max-height: 100%;
	min-width: 0;
	min-height: 0;
	object-fit: contain;
}

.cen-galeria__flecha,
.cen-galeria__ampliar {
	position: absolute;
	z-index: 2;
	display: grid;
	place-items: center;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, .18);
	border-radius: 50%;
	background: rgba(10, 10, 11, .62);
	color: var(--cen-blanco);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	transition: background-color var(--cen-transicion), opacity var(--cen-transicion), border-color var(--cen-transicion);
}

.cen-galeria__flecha {
	top: 50%;
	width: 44px;
	height: 44px;
	transform: translateY(-50%);
}

.cen-galeria__flecha--ant {
	left: .75rem;
}

.cen-galeria__flecha--ant .cen-icono {
	transform: rotate(180deg);
}

.cen-galeria__flecha--sig {
	right: .75rem;
}

.cen-galeria__flecha:hover,
.cen-galeria__ampliar:hover {
	border-color: transparent;
	background: var(--cen-rojo-fondo);
}

.cen-galeria__flecha[disabled] {
	opacity: .3;
	cursor: default;
	pointer-events: none;
}

.cen-galeria__ampliar {
	top: .75rem;
	right: .75rem;
	width: 44px;
	height: 44px;
}

.cen-galeria__contador {
	position: absolute;
	right: .75rem;
	bottom: .75rem;
	z-index: 2;
	margin: 0;
	padding: .25rem .65rem;
	border-radius: 999px;
	background: rgba(10, 10, 11, .72);
	color: var(--cen-blanco);
	font-size: .8rem;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}

.cen-galeria__miniaturas {
	position: relative;
	display: flex;
	gap: .5rem;
	padding-bottom: .35rem;
	overflow-x: auto;
	scrollbar-width: thin;
	scrollbar-color: #3f3f46 transparent;
}

.cen-galeria__mini {
	flex: 0 0 auto;
	width: 84px;
	aspect-ratio: 4 / 3;
	padding: 0;
	overflow: hidden;
	border: 2px solid transparent;
	border-radius: var(--cen-radio-sm);
	background: var(--cen-panel);
	opacity: .55;
	transition: opacity var(--cen-transicion), border-color var(--cen-transicion);
}

.cen-galeria__mini img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.cen-galeria__mini:hover {
	opacity: .9;
}

.cen-galeria__mini[aria-current="true"] {
	border-color: var(--cen-rojo);
	opacity: 1;
}

.cen-galeria__mini:focus-visible {
	outline: 2px solid var(--cen-blanco);
	outline-offset: 2px;
}

html:not(.cen-js) .cen-galeria__flecha,
html:not(.cen-js) .cen-galeria__ampliar,
html:not(.cen-js) .cen-galeria__miniaturas {
	display: none;
}

.cen-galeria__sin-fotos {
	display: grid;
	place-items: center;
	align-content: center;
	gap: .75rem;
	aspect-ratio: 4 / 3;
	margin: 0;
	padding: 1rem;
	color: var(--cen-suave);
	text-align: center;
}

@media (min-width: 768px) {
	.cen-galeria__mini {
		width: 104px;
	}
}

/* Ficha en el celular: el precio tiene que verse en la primera pantalla, por encima de la barra fija
   (objetivo: 360×740). Escenario 3:2, miniaturas más bajas, migas en una línea (el último eslabón
   repite el título: queda solo para lectores de pantalla) y el precio pegado al título. */
@media (max-width: 599.98px) {
	.cen-ficha__grid {
		gap: 1rem;
	}

	.cen-ficha .cen-migas {
		margin-bottom: .75rem;
	}

	.cen-ficha .cen-migas li:last-child {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
	}

	.cen-ficha .cen-galeria {
		gap: .5rem;
	}

	.cen-ficha .cen-galeria__pista {
		aspect-ratio: 3 / 2;
	}

	.cen-ficha .cen-galeria__mini {
		width: 60px;
	}

	.cen-ficha__caja {
		gap: .85rem;
	}

	.cen-ficha__datos { order: 1; }
	.cen-ficha__botones { order: 2; }
	.cen-ficha__extras { order: 3; }
}

/* Visor de pantalla completa */
.cen-visor {
	width: 100vw;
	max-width: none;
	height: 100vh;
	height: 100dvh;
	max-height: none;
	margin: 0;
	padding: 0;
	border: 0;
	background: #050506;
	color: var(--cen-blanco);
	overflow: hidden;
}

.cen-visor[open] {
	display: grid;
	grid-template-rows: auto minmax(0, 1fr);
}

.cen-visor::backdrop {
	background: rgba(0, 0, 0, .85);
}

.cen-visor__barra {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: calc(.75rem + env(safe-area-inset-top)) var(--cen-gutter) .75rem;
}

.cen-visor__contador {
	margin: 0;
	color: var(--cen-claro);
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}

.cen-visor__img {
	display: block;
	width: 100%;
	height: 100%;
	padding: 0 var(--cen-gutter) calc(1rem + env(safe-area-inset-bottom));
	object-fit: contain;
	touch-action: pan-y pinch-zoom;
	user-select: none;
}

.cen-visor__boton {
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, .2);
	border-radius: 50%;
	background: rgba(24, 24, 27, .8);
	color: var(--cen-blanco);
	transition: background-color var(--cen-transicion);
}

.cen-visor__boton:hover {
	background: var(--cen-rojo-fondo);
}

.cen-visor__boton:focus-visible {
	outline: 2px solid var(--cen-blanco);
	outline-offset: 2px;
}

.cen-visor__flecha {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

.cen-visor__flecha--ant {
	left: var(--cen-gutter);
}

.cen-visor__flecha--ant .cen-icono {
	transform: rotate(180deg);
}

.cen-visor__flecha--sig {
	right: var(--cen-gutter);
}

/* ------------------------------------------------------------------ 404 */

.cen-error {
	position: relative;
	overflow: hidden;
	padding-block: clamp(3rem, 2rem + 5vw, 6rem);
	background: radial-gradient(70% 90% at 50% 0%, rgba(237, 51, 56, .12), transparent 60%);
	text-align: center;
}

.cen-error__caja {
	display: grid;
	justify-items: center;
	max-width: 46rem;
}

.cen-error__codigo {
	margin: 0 0 .35rem;
	color: transparent;
	font-family: var(--cen-fuente-titulo);
	font-size: clamp(7rem, 5rem + 12vw, 13rem);
	font-weight: 800;
	line-height: .85;
	-webkit-text-stroke: 1.5px rgba(237, 51, 56, .75);
	user-select: none;
}

.cen-error__titulo {
	font-size: clamp(2rem, 1.5rem + 2.5vw, 3.2rem);
}

.cen-error .cen-bajada {
	margin-inline: auto;
}

.cen-error .cen-buscar {
	width: 100%;
	max-width: 34rem;
	margin: 1rem 0 1.25rem;
}

.cen-error__botones {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: .75rem;
}

/* ------------------------------------------------------------------ entradas (index.php) */

.cen-entradas {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(300px, 100%), 1fr));
	gap: 1.5rem;
}

.cen-entrada {
	overflow: hidden;
	border: 1px solid var(--cen-borde);
	border-radius: var(--cen-radio);
	background: var(--cen-panel);
}

.cen-entrada__foto img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.cen-entrada__cuerpo {
	padding: 1.1rem 1.2rem 1.3rem;
}

.cen-entrada__titulo {
	margin-bottom: .35rem;
	font-size: 1.4rem;
}

.cen-entrada__titulo a {
	text-decoration: none;
}

.cen-entrada__fecha {
	margin-bottom: .6rem;
	color: var(--cen-suave);
	font-size: .85rem;
}

.cen-entrada__resumen {
	color: var(--cen-claro);
}

/* ------------------------------------------------------------------ pie */

.cen-pie {
	padding-top: clamp(3rem, 2rem + 4vw, 4.5rem);
	border-top: 1px solid rgba(255, 255, 255, .07);
	background: #070708;
	color: var(--cen-suave);
	font-size: .92rem;
}

.cen-pie__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 2.25rem;
}

.cen-pie__logo {
	display: inline-block;
	margin-bottom: 1rem;
	border-radius: 6px;
}

.cen-pie__logo-img {
	display: block;
	width: auto;
	height: 40px;
}

.cen-pie__marca p {
	max-width: 22rem;
}

.cen-pie__titulo {
	margin: 0 0 .9rem;
	color: var(--cen-blanco);
	font-size: 1.05rem;
	font-weight: 700;
	letter-spacing: .08em;
}

.cen-pie ul {
	display: grid;
	gap: .55rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.cen-pie a {
	color: var(--cen-claro);
	text-decoration: none;
}

.cen-pie a:hover {
	color: var(--cen-blanco);
	text-decoration: underline;
	text-decoration-color: var(--cen-rojo);
}

.cen-pie__lista a {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
}

/* Las listas de links del pie van sin separación extra: cada link ya mide 44px de alto. */
.cen-pie__lista:has(> li > a) {
	gap: 0;
}

.cen-pie__nota {
	margin: .9rem 0 0;
	font-size: .8rem;
}

.cen-pie__contacto li {
	display: flex;
	align-items: flex-start;
	gap: .6rem;
}

.cen-pie__contacto .cen-icono {
	margin-top: .15rem;
	color: var(--cen-rojo);
}

.cen-redes {
	display: flex !important;
	gap: .5rem !important;
	margin-top: 1rem !important;
}

.cen-redes a {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border: 1px solid var(--cen-borde);
	border-radius: 50%;
	color: var(--cen-claro);
	transition: border-color var(--cen-transicion), color var(--cen-transicion), background-color var(--cen-transicion);
}

.cen-redes a:hover {
	border-color: transparent;
	background: var(--cen-rojo-fondo);
	color: var(--cen-blanco);
}

.cen-pie__legal {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: .25rem 1.5rem;
	margin-top: 2.75rem;
	padding-block: 1.25rem;
	font-size: .82rem;
}

.cen-pie__legal::before {
	content: "";
	position: absolute;
	top: 0;
	right: var(--cen-gutter);
	left: var(--cen-gutter);
	height: 1px;
	background: rgba(255, 255, 255, .08);
}

.cen-pie__legal p {
	margin: 0;
}

@media (min-width: 640px) {
	.cen-pie__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) {
	.cen-pie__grid {
		grid-template-columns: 1.4fr 1fr 1fr 1.3fr;
		gap: 3rem;
	}
}

/* ------------------------------------------------------------------ barra fija del celular y WhatsApp flotante */

.cen-barra-movil {
	position: fixed;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 45;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: .5rem;
	padding: .5rem var(--cen-gutter) calc(.5rem + env(safe-area-inset-bottom));
	border-top: 1px solid rgba(255, 255, 255, .08);
	background: rgba(10, 10, 11, .94);
	-webkit-backdrop-filter: blur(14px);
	backdrop-filter: blur(14px);
}

.cen-barra-movil__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: .15rem;
	min-height: 52px;
	border: 1px solid var(--cen-borde);
	border-radius: var(--cen-radio-sm);
	background: var(--cen-panel);
	color: var(--cen-texto);
	font-size: .8rem;
	font-weight: 600;
	line-height: 1.1;
	text-decoration: none;
	-webkit-tap-highlight-color: transparent;
}

.cen-barra-movil__item[aria-current="page"] {
	border-color: rgba(237, 51, 56, .6);
	color: var(--cen-blanco);
}

.cen-barra-movil__item--wa {
	border-color: transparent;
	background: var(--cen-wa);
	color: var(--cen-wa-texto);
}

.cen-barra-movil__item:active {
	transform: scale(.98);
}

body.cen-con-barra {
	padding-bottom: calc(70px + env(safe-area-inset-bottom));
}

.cen-wa-flotante {
	display: none;
}

/* Con la barra del celular a la vista, lo que toma el foco (Tab, lector de pantalla) no puede quedar
   debajo de ella: el navegador deja ese margen abajo al traerlo a la vista (WCAG 2.4.11). */
@media (max-width: 959.98px) {
	html:has(> body.cen-con-barra) {
		scroll-padding-bottom: calc(70px + env(safe-area-inset-bottom) + 12px);
	}
}

@media (min-width: 960px) {
	.cen-barra-movil {
		display: none;
	}

	body.cen-con-barra {
		padding-bottom: 0;
	}
}

/* El flotante va en el margen de la página: recién desde 1400px hay lugar para él sin taparle nada al
   contenido (debajo de eso, a la derecha están las tarjetas, los formularios y el calculador). En
   pantallas más angostas el WhatsApp está en el «Escribinos» del encabezado fijo. */
@media (min-width: 1400px) {
	.cen-wa-flotante {
		position: fixed;
		right: 20px;
		bottom: 24px;
		z-index: 45;
		display: grid;
		place-items: center;
		width: 50px;
		height: 50px;
		border-radius: 50%;
		background: var(--cen-wa);
		color: var(--cen-wa-texto);
		box-shadow: 0 12px 28px -10px rgba(37, 211, 102, .55), 0 6px 16px rgba(0, 0, 0, .4);
		transition: transform var(--cen-transicion), background-color var(--cen-transicion);
	}

	.cen-wa-flotante:hover {
		background: var(--cen-wa-hover);
		color: var(--cen-wa-texto);
		transform: translateY(-2px) scale(1.04);
	}

	.cen-wa-flotante:focus-visible {
		outline: 2px solid var(--cen-blanco);
		outline-offset: 3px;
	}
}

/* ------------------------------------------------------------------ movimiento reducido */

@media (prefers-reduced-motion: reduce) {
	/* Transiciones en 0 (no .01ms): con .01ms, todo elemento con «transition: all» por defecto arrancaba
	   una transición de visibility al abrir un panel y en ese instante seguía oculto, así que el foco no
	   entraba al menú ni a los filtros. Ningún JS del sitio espera un transitionend. */
	*,
	*::before,
	*::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0s !important;
		transition-delay: 0s !important;
		scroll-behavior: auto !important;
	}

	.cen-card-auto:hover,
	.cen-card-auto:hover .cen-card-auto__foto img,
	.cen-marca:hover,
	.cen-tipo:hover,
	.cen-wa-flotante:hover {
		transform: none;
	}
}
