@charset "UTF-8";

/* CSS limpiado: selectores duplicados unificados y propiedades repetidas consolidadas. */

textarea,
input {
	resize: none;
	font-family: Arial, Verdana, sans-serif;
}

input[disabled] {
	background-color: #ddd;
}

*:focus {
	outline: none;
}

* {
	margin: 0 auto;
	font-family: Arial, Verdana, sans-serif;
}

.solomovil {
	display: none;
}

body {
	font-size: 1.1vw;
	text-align: center;
	vertical-align: middle;
	width: 100%;
	overflow: scroll;
	overflow-x: hidden;
	background-color: #fefefe;
	color: #333;
	margin: 0px 0px 0px 0px;
}

a {
	color: #000;
	text-decoration: none;
}

a:link {
	text-decoration: none;
	color: #000;
}

a:visited {
	text-decoration: none;
	color: #000;
}

a:hover {
	text-decoration: none;
	color: #000;
}

a:active {
	text-decoration: none;
	color: #000;
}

:root {
	--color_negro: #050505;
	--color_negro_suave: #0d0d0d;
	--color_grafito: #161616;
	--color_grafito_claro: #242424;
	--color_blanco: #ffffff;
	--color_gris: #bdbdbd;
	--color_gris_oscuro: #777777;
	--color_rojo: #9b0000;
	--color_rojo_hover: #c00000;
	--color_dorado: #c6a45d;
	--color_borde: rgba(255,255,255,0.14);
	--sombra_suave: 0 1.6em 4em rgba(0,0,0,0.45);
	--ancho_general: 82em;
}

.pagina {
	width:96%;
	padding:0px 2% 0px 2%;
}

.pagina_sin_margenes {
	width:100%;
	padding:0px 0% 0px 0%;
}

.pagina_inicio,
.pagina_inicio * {
	box-sizing: border-box;
}

.pagina_inicio {
	background: var(--color_negro);
	color: var(--color_blanco);
	text-align: left;
	overflow: hidden;
}

.contenedor_general {
	width: var(--ancho_general);
	max-width: 1600px;
	margin: 0 auto;
	position: relative;
}

.enlace_logo_principal {
	display: block;
	width: auto;
	margin: 0;
}

.boton_menu_movil {
	display: none;
}

.seccion_portada {
	position: relative;
	width: 100%;
	min-height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	background: #000;
}

.video_portada {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	transform: translate(-50%, -50%);
	object-fit: cover;
	z-index: 1;
}

.velo_portada {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0,0,0,0.58) 0%, rgba(0,0,0,0.25) 42%, rgba(0,0,0,0.85) 100%),
		radial-gradient(circle at center, rgba(155,0,0,0.18), rgba(0,0,0,0.58));
	z-index: 2;
}

.contenido_portada {
	position: relative;
	z-index: 3;
	width: 70em;
	margin: 0 auto;
	text-align: center;
	padding-top: 6em;
}

.etiqueta_portada,
.etiqueta_bloque {
	display: block;
	color: var(--color_dorado);
	text-transform: uppercase;
	letter-spacing: 0.22em;
	font-size: 0.78em;
	font-weight: 400;
	margin: 0 0 1.2em 0;
}

.titulo_portada {
	color: #fff;
	font-size: 4.6em;
	font-weight: 300;
	line-height: 1.05;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-shadow: 0 0.8em 2.5em rgba(0,0,0,0.65);
	margin: 0 0 2.2em 0;
}

.buscador_portada {
	width: 54em;
	height: 4.1em;
	margin: 0 auto;
	display: flex;
	align-items: center;
	background: rgba(255,255,255,0.96);
	border: 1px solid rgba(255,255,255,0.5);
	border-radius: 6em;
	box-shadow: var(--sombra_suave);
	padding: 0.35em;
}

.campo_buscador_portada {
	width: calc(100% - 9em);
	height: 100%;
	border: 0;
	background: transparent;
	padding: 0 1.6em;
	font-size: 1em;
	color: #111;
	margin: 0;
}

.boton_buscador_portada {
	width: 8.4em;
	height: 3.35em;
	border-radius: 5em;
	background: var(--color_rojo);
	color: #fff !important;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.85em;
	font-weight: 600;
	margin: 0;
	transition: all 0.25s ease;
}

.boton_buscador_portada:hover {
	background: var(--color_rojo_hover);
	transform: scale(1.03);
}

.datos_portada {
	display: flex;
	justify-content: center;
	gap: 1em;
	margin: 3em auto 0 auto;
}

.dato_portada {
	width: 13em;
	background: rgba(0,0,0,0.45);
	border: 1px solid rgba(255,255,255,0.14);
	border-radius: 1.3em;
	padding: 1.1em 1em;
	text-align: center;
	backdrop-filter: blur(10px);
	margin: 0;
}

.dato_portada strong {
	display: block;
	font-size: 1.65em;
	color: #fff;
	font-weight: 500;
	margin-bottom: 0.35em;
}

.dato_portada span {
	display: block;
	font-size: 0.78em;
	color: var(--color_gris);
}

.cabecera_bloque {
	width: 100%;
	margin: 0 0 3em 0;
}

.cabecera_bloque.centrado {
	text-align: center;
	max-width: 58em;
	margin: 0 auto 3.4em auto;
}

.titulo_bloque {
	color: #fff;
	font-size: 3.1em;
	font-weight: 300;
	line-height: 1.08;
	letter-spacing: 0.04em;
	margin: 0;
	text-transform: uppercase;
}

.parrafo_bloque {
	color: #d8d8d8;
	font-size: 1.03em;
	line-height: 1.8;
	font-weight: 300;
	margin: 1.4em 0 0 0;
}

.boton_principal,
.boton_secundario {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 10.5em;
	height: 3.05em;
	border-radius: 0.45em;
	font-size: 0.82em;
	font-weight: 500;
	letter-spacing: 0.02em;
	margin: 2em 0 0 0;
	padding: 0 1.7em;
	transition: all 0.25s ease;
}

.boton_principal {
	background: var(--color_rojo);
	color: #fff !important;
	border: 1px solid var(--color_rojo);
}

.boton_principal:hover {
	background: var(--color_rojo_hover);
	border-color: var(--color_rojo_hover);
	transform: translateY(-0.15em);
}

.boton_secundario {
	background: transparent;
	color: #fff !important;
	border: 1px solid rgba(255,255,255,0.38);
}

.boton_secundario:hover {
	border-color: var(--color_dorado);
	color: var(--color_dorado) !important;
	transform: translateY(-0.15em);
}

.seccion_stock {
	width: 100%;
	padding: 7em 0 7em 0;
	background: #000;
}

.rejilla_vehiculos {
	width: 100%;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.8em;
	margin: 0;
}

.tarjeta_vehiculo {
	background: #9b0000;
	border-radius: 0.55em;
	overflow: hidden;
	box-shadow: var(--sombra_suave);
	border: 1px solid rgba(255,255,255,0.08);
	margin: 0;
	transition: transform 0.28s ease, box-shadow 0.28s ease;
}

.tarjeta_vehiculo:hover {
	transform: translateY(-0.45em);
	box-shadow: 0 2em 4.5em rgba(0,0,0,0.7);
}

.imagen_tarjeta_vehiculo {
	width: 100%;
	height: 18.2em;
	overflow: hidden;
	background: #111;
	margin: 0;
}

.imagen_tarjeta_vehiculo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.45s ease;
}

.tarjeta_vehiculo:hover .imagen_tarjeta_vehiculo img {
	transform: scale(1.045);
}

.contenido_tarjeta_vehiculo {
	padding: 1.35em 1.25em 1.45em 1.25em;
	margin: 0;
	color: #fff;
}

.marca_vehiculo {
	font-size: 1.18em;
	line-height: 1.1;
	font-weight: 700;
	margin: 0 0 0.25em 0;
}

.modelo_vehiculo {
	font-size: 0.86em;
	line-height: 1.2;
	font-weight: 400;
	margin: 0 0 1.2em 0;
	color: #fff;
}

.precio_vehiculo {
	font-size: 1.35em;
	line-height: 1;
	font-weight: 700;
	margin: 0 0 0.45em 0;
}

.datos_vehiculo {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65em;
	margin: 1em 0 0 0;
}

.datos_vehiculo span {
	font-size: 0.76em;
	color: #fff;
	line-height: 1.3;
	margin: 0;
}

.enlace_tarjeta {
	display: inline-block;
	margin-top: 1.2em;
	font-size: 0.78em;
	color: #fff !important;
	border-bottom: 1px solid rgba(255,255,255,0.65);
	padding-bottom: 0.2em;
	transition: all 0.25s ease;
}

.enlace_tarjeta:hover {
	color: var(--color_dorado) !important;
	border-color: var(--color_dorado);
}

.zona_boton_bloque {
	text-align: center;
	margin: 3em 0 0 0;
}

.seccion_financiacion,
.seccion_experiencia {
	width: 100%;
	padding: 7em 0;
	background: var(--color_negro_suave);
}

.seccion_experiencia {
	background: #000;
}

.bloque_dos_columnas {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 4em;
	align-items: center;
}

.bloque_invertido {
	grid-template-columns: 0.95fr 1.05fr;
}

.imagen_bloque_lateral {
	width: 100%;
	border-radius: 0.8em;
	overflow: hidden;
	box-shadow: var(--sombra_suave);
	border: 1px solid rgba(255,255,255,0.10);
	margin: 0;
}

.imagen_bloque_lateral img {
	display: block;
	width: 100%;
	height: 32em;
	object-fit: cover;
	margin: 0;
}

.texto_bloque_lateral {
	width: 100%;
	margin: 0;
	padding: 1em 0;
}

.seccion_servicios {
	width: 100%;
	padding: 7em 0;
	background: #050505;
}

.rejilla_servicios {
	width: 100%;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.6em;
	margin: 0;
}

.tarjeta_servicio {
	background: linear-gradient(180deg, rgba(255,255,255,0.045), rgba(255,255,255,0.012));
	border: 1px solid rgba(255,255,255,0.1);
	border-radius: 1em;
	padding: 2.3em 1.35em;
	text-align: center;
	margin: 0;
	min-height: 18em;
	transition: all 0.25s ease;
}

.tarjeta_servicio:hover {
	border-color: rgba(198,164,93,0.65);
	transform: translateY(-0.35em);
	background: linear-gradient(180deg, rgba(198,164,93,0.09), rgba(255,255,255,0.018));
}

.tarjeta_servicio img {
	display: block;
	width: 4.8em;
	height: 4.8em;
	object-fit: contain;
	margin: 0 auto 1.5em auto;
}

.tarjeta_servicio h3 {
	color: var(--color_dorado);
	font-size: 1.05em;
	font-weight: 400;
	line-height: 1.25;
	margin: 0 0 1em 0;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.tarjeta_servicio p {
	color: #d3d3d3;
	font-size: 0.86em;
	line-height: 1.65;
	font-weight: 300;
	margin: 0;
}

.seccion_contacto {
	width: 100%;
	padding: 7em 0 0 0;
	background: #000;
}

.bloque_contacto {
	display: grid;
	grid-template-columns: 0.9fr 1.1fr;
	gap: 4em;
	align-items: start;
	padding-bottom: 4em;
}

.datos_contacto {
	margin: 0;
}

.linea_contacto {
	color: #fff;
	font-size: 0.95em;
	line-height: 1.5;
	border-bottom: 1px solid rgba(255,255,255,0.12);
	padding: 0.8em 0;
	margin: 0;
}

.formulario_contacto {
	width: 100%;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1em;
	margin: 0;
}

.formulario_contacto input,
.formulario_contacto textarea {
	width: 100%;
	height: 3.2em;
	background: transparent;
	border: 1px solid rgba(255,255,255,0.28);
	border-radius: 0.45em;
	padding: 0 1em;
	color: #fff;
	font-size: 0.9em;
	margin: 0;
}

.formulario_contacto textarea {
	grid-column: 1 / 3;
	height: 8em;
	padding-top: 1em;
}

.formulario_contacto input::placeholder,
.formulario_contacto textarea::placeholder {
	color: rgba(255,255,255,0.55);
}

.formulario_contacto .boton_principal {
	grid-column: 1 / 3;
	justify-self: start;
	cursor: pointer;
}

.formulario_contacto .contacto_aceptacion {
	grid-column: 1 / 3;
	width: 100%;
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 0.7em;
	margin: 0.5em 0 0 0;
	color: #fff;
	font-size: 0.82em;
	line-height: 1.5;
	text-align: left;
	cursor: pointer;
}

.formulario_contacto .contacto_aceptacion input[type="checkbox"] {
	width: 1.2em;
	height: 1.2em;
	min-width: 1.2em;
	flex: 0 0 1.2em;
	padding: 0;
	margin: 0.15em 0 0 0;
	border-radius: 0;
}

.formulario_contacto .contacto_aceptacion span {
	display: block;
	width: auto;
	flex: 1;
	margin: 0;
}

.formulario_contacto .contacto_aceptacion a {
	color: var(--color_dorado) !important;
	text-decoration: underline;
}

.mapa_contacto {
	width: 100%;
	height: 27em;
	margin: 0;
	filter: grayscale(1) contrast(1.05);
	border-top: 1px solid rgba(255,255,255,0.1);
	border-bottom: 1px solid rgba(255,255,255,0.1);
}

.mapa_contacto iframe {
	width: 100%;
	height: 100%;
	border: 0;
	display: block;
}

.seccion_preguntas {
	width: 100%;
	padding: 7em 0;
	background: var(--color_negro_suave);
}

.bloque_preguntas {
	display: grid;
	grid-template-columns: 0.9fr 1.1fr;
	gap: 5em;
}

.intro_preguntas {
	margin: 0;
}

.listado_preguntas {
	margin: 0;
	width: 100%;
}

.pregunta_item {
	width: 100%;
	border-bottom: 1px solid rgba(255,255,255,0.16);
	padding: 1.25em 0;
	color: #fff;
	margin: 0;
}

.pregunta_item summary {
	cursor: pointer;
	font-size: 0.98em;
	font-weight: 500;
	line-height: 1.5;
	list-style: none;
	position: relative;
	padding-right: 2em;
	color: #fff;
}

.pregunta_item summary::-webkit-details-marker {
	display: none;
}

.pregunta_item summary:after {
	content: "+";
	position: absolute;
	right: 0;
	top: 0;
	color: var(--color_dorado);
	font-size: 1.4em;
	line-height: 1;
}

.pregunta_item[open] summary:after {
	content: "−";
}

.pregunta_item p {
	color: #d0d0d0;
	font-size: 0.9em;
	line-height: 1.7;
	font-weight: 300;
	padding-top: 1em;
	margin: 0;
}

.seccion_cierre {
	width: 100%;
	padding: 7em 0;
	background: linear-gradient(90deg, rgba(0,0,0,0.85), rgba(0,0,0,0.55)),
		#060606;
	text-align: center;
	border-top: 1px solid rgba(255,255,255,0.08);
}

.contenido_cierre {
	text-align: center;
}

.contenido_cierre h2 {
	font-size: 3.4em;
	font-weight: 300;
	color: #fff;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	margin: 0;
}

.contenido_cierre p {
	color: #d8d8d8;
	font-size: 1.05em;
	line-height: 1.7;
	margin: 1em auto 0 auto;
	width: 45em;
}

.aviso_cookies {
	position: fixed;
	left: 2em;
	bottom: 2em;
	width: 30em;
	background: rgba(18,18,18,0.96);
	color: #fff;
	z-index: 10000;
	border-radius: 0.8em;
	border: 1px solid rgba(198,164,93,0.5);
	box-shadow: 0 1em 3em rgba(0,0,0,0.65);
	padding: 1.4em;
	display: none;
	flex-direction: column;
	gap: 1.2em;
	text-align: left;
	backdrop-filter: blur(10px);
}

.contenido_cookies {
	width: 100%;
	margin: 0;
}

.contenido_cookies h3 {
	color: #fff;
	font-size: 1.1em;
	font-weight: 500;
	margin: 0 0 0.55em 0;
}

.contenido_cookies p {
	color: #d2d2d2;
	font-size: 0.82em;
	line-height: 1.55;
	margin: 0;
}

.botones_cookies {
	width: 100%;
	display: flex;
	gap: 0.55em;
	margin: 0;
}

.boton_cookie {
	height: 2.45em;
	border-radius: 0.35em;
	border: 1px solid rgba(255,255,255,0.18);
	font-size: 0.72em;
	cursor: pointer;
	padding: 0 0.8em;
	margin: 0;
	transition: all 0.25s ease;
}

.boton_cookie_principal {
	background: var(--color_rojo);
	color: #fff;
	border-color: var(--color_rojo);
}

.boton_cookie_secundario,
.boton_cookie_neutro {
	background: rgba(255,255,255,0.06);
	color: #fff;
}

.boton_cookie:hover {
	transform: translateY(-0.1em);
	border-color: var(--color_dorado);
}

.cierre {
	clear: both;
}

.oculto {
	display: none !important;
}

.cabecera_publica {
	position: fixed;
	top: 1.15em;
	left: 50%;
	transform: translateX(-50%);
	width: 88em;
	z-index: 5;
	background: linear-gradient(180deg, rgba(18,18,18,0.96), rgba(4,4,4,0.92));
	border: 1px solid rgba(198,164,93,0.38);
	border-radius: 0.75em;
	box-shadow: 0 1.2em 3.5em rgba(0,0,0,0.75),
		0 0 0.9em rgba(198,164,93,0.16);
	backdrop-filter: blur(14px);
	height: 5.4em;
}

.cabecera_publica:before {
	content: "";
	position: absolute;
	left: 1.5em;
	right: 1.5em;
	bottom: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(198,164,93,0.55), transparent);
	pointer-events: none;
}

.contenedor_cabecera {
	width: 100%;
	height: 5.4em;
	display: grid;
	align-items: center;
	justify-content: space-between;
	padding: 0 1.6em;
	margin: 0;
	grid-template-columns: 13em 1fr 7.5em;
}

.zona_logo {
	width: 13em;
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}

.imagen_logo_principal {
	display: block;
	max-width: 9.2em;
	max-height: 3.5em;
	object-fit: contain;
	margin: 0;
	filter: drop-shadow(0 0.35em 0.7em rgba(0,0,0,0.85));
}

.navegacion_principal {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1.55em;
	margin: 0;
	width: 95%;
}

.enlace_menu_principal {
	font-size: 0.74em;
	line-height: 1;
	color: rgba(255,255,255,0.88) !important;
	font-weight: 400;
	letter-spacing: 0.055em;
	transition: color 0.22s ease, transform 0.22s ease;
	white-space: nowrap;
	margin: 0;
	position: relative;
	text-transform: uppercase;
	padding: 0.75em 0.15em;
}

.enlace_menu_principal:after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0.28em;
	width: 0;
	height: 1px;
	background: var(--color_dorado);
	transform: translateX(-50%);
	transition: width 0.22s ease;
}

.enlace_menu_principal:hover {
	color: var(--color_dorado) !important;
	transform: translateY(-0.08em);
}

.enlace_menu_principal:hover:after {
	width: 100%;
}

.zona_derecha_cabecera {
	width: 7.5em;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 0.55em;
	margin: 0;
}

.zona_idiomas {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 0.38em;
	margin: 0;
	margin-right: 42%;
}

.boton_idioma {
	width: 1.95em;
	height: 1.95em;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	border: 1px solid rgba(198,164,93,0.45);
	font-size: 0.58em;
	color: rgba(255,255,255,0.92) !important;
	background: rgba(255,255,255,0.05);
	margin: 0;
	transition: all 0.22s ease;
	font-weight: 500;
}

.boton_idioma:hover {
	background: var(--color_rojo);
	color: #fff !important;
	border-color: var(--color_rojo);
	box-shadow: 0 0 1em rgba(155,0,0,0.45);
}

.seccion_portada:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 9em;
	background: linear-gradient(180deg, rgba(0,0,0,0.72), rgba(0,0,0,0));
	z-index: 2;
	pointer-events: none;
}



/* ============================================================
   VEHICULO - DETALLE ESCRITORIO
   Sin media queries. Responsive movil aparte.
   ============================================================ */

#vehiculo_pagina,
.vehiculo_pagina {
	background: #000;
	color: #fff;
	text-align: left;
	overflow: visible;
}

#vehiculo_pagina * {
	box-sizing: border-box;
}

.vehiculo_contenedor {
	width: 100%;
	margin: 0 auto;
	padding: 8.5em 0 5em 0;
	overflow: visible;
}

.vehiculo_titulo_principal {
	width: 100%;
	font-size: 2.85em;
	line-height: 1.1;
	font-weight: 700;
	color: #fff;
	margin: 0 0 0.65em 0;
	padding-bottom: 0.45em;
	border-bottom: 1px solid rgba(255,255,255,0.55);
}

.vehiculo_distribucion {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 28em;
	gap: 1.8em;
	align-items: start;
	margin: 0;
	overflow: visible;
}

.vehiculo_columna_contenido {
	width: 100%;
	margin: 0;
}

.vehiculo_columna_lateral {
	width: 100%;
	margin: 0;
	position: relative;
	align-self: start;
	overflow: visible;
}

/* ============================================================
   GALERIA
   ============================================================ */

.vehiculo_galeria {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 15.5em;
	gap: 0.85em;
	width: 100%;
	margin: 0 0 1.4em 0;
}

.vehiculo_galeria_principal {
	position: relative;
	width: 100%;
	height: 32em;
	border-radius: 0.45em;
	overflow: hidden;
	background: #111;
	margin: 0;
}

.vehiculo_galeria_principal img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	margin: 0;
}

.vehiculo_contador_imagenes {
	position: absolute;
	left: 1em;
	bottom: 1em;
	background: rgba(0,0,0,0.78);
	color: #fff;
	font-size: 0.85em;
	line-height: 1;
	border-radius: 0.35em;
	padding: 0.55em 0.75em;
	margin: 0;
}

.vehiculo_galeria_miniaturas {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.75em;
	width: 100%;
	margin: 0;
}

.vehiculo_miniatura {
	display: block;
	width: 100%;
	height: 7.35em;
	border-radius: 0.45em;
	overflow: hidden;
	background: #111;
	border: 1px solid rgba(255,255,255,0.12);
	margin: 0;
	transition: border-color 0.22s ease, transform 0.22s ease, opacity 0.22s ease;
}

.vehiculo_miniatura:hover,
.vehiculo_miniatura_activa {
	border-color: #c00000;
	transform: translateY(-0.08em);
}

.vehiculo_miniatura img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	margin: 0;
}

/* ============================================================
   SECCIONES GENERALES
   ============================================================ */

.vehiculo_titulo_seccion {
	font-size: 1.75em;
	line-height: 1.2;
	font-weight: 400;
	color: #fff;
	margin: 0 0 0.75em 0;
}

.vehiculo_subtitulo_seccion {
	font-size: 1.25em;
	line-height: 1.25;
	font-weight: 400;
	color: #fff;
	margin: 1.4em 0 0.9em 0;
}

.vehiculo_detalles {
	width: 100%;
	margin: 0 0 2.3em 0;
	padding-bottom: 1.5em;
	border-bottom: 1px solid rgba(255,255,255,0.12);
}

.vehiculo_texto_detalles {
	font-size: 0.95em;
	line-height: 1.75;
	font-weight: 300;
	color: rgba(255,255,255,0.88);
	margin: 0;
	max-width: 66em;
}

.vehiculo_boton_ver_mas {
	display: block;
	background: transparent;
	border: 0;
	color: rgba(255,255,255,0.78);
	font-size: 0.78em;
	cursor: pointer;
	margin: 1em auto 0 auto;
	padding: 0.4em 0.9em;
}

/* ============================================================
   DATOS BASICOS
   ============================================================ */

.vehiculo_datos_basicos {
	width: 100%;
	margin: 0 0 2.2em 0;
	padding-bottom: 1.7em;
	border-bottom: 1px solid rgba(255,255,255,0.12);
}

.vehiculo_rejilla_datos {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.7em 2.4em;
	width: 100%;
	margin: 0;
}

.vehiculo_dato {
	display: flex;
	align-items: center;
	gap: 0.8em;
	margin: 0;
	min-width: 0;
}

.vehiculo_dato img {
	width: 2.25em;
	height: 2.25em;
	object-fit: contain;
	margin: 0;
	flex: 0 0 auto;
}

.vehiculo_dato div {
	margin: 0;
	min-width: 0;
}

.vehiculo_dato span {
	display: block;
	color: rgba(255,255,255,0.68);
	font-size: 0.72em;
	line-height: 1.2;
	text-transform: uppercase;
	margin: 0 0 0.22em 0;
}

.vehiculo_dato strong {
	display: block;
	color: #fff;
	font-size: 0.95em;
	line-height: 1.2;
	font-weight: 400;
	margin: 0;
}

/* ============================================================
   EQUIPAMIENTO
   ============================================================ */

.vehiculo_equipamiento {
	width: 100%;
	margin: 0 0 1.5em 0;
	padding-bottom: 1.2em;
	border-bottom: 1px solid rgba(255,255,255,0.18);
}

.vehiculo_desplegable {
	width: 100%;
	margin: 0;
	color: #fff;
}

.vehiculo_desplegable summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	cursor: pointer;
	list-style: none;
	font-size: 1.05em;
	padding: 0.4em 0;
	margin: 0;
}

.vehiculo_desplegable summary::-webkit-details-marker {
	display: none;
}

.vehiculo_desplegable summary:after {
	content: "⌄";
	color: #fff;
	font-size: 1.2em;
	line-height: 1;
	margin-left: 1em;
}

.vehiculo_lista_equipamiento {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0.5em 1.5em;
	margin: 1em 0 0 0;
	padding: 0;
	list-style: none;
}

.vehiculo_lista_equipamiento li {
	position: relative;
	color: rgba(255,255,255,0.78);
	font-size: 0.88em;
	line-height: 1.5;
	margin: 0;
	padding-left: 1.3em;
}

.vehiculo_lista_equipamiento li:before {
	content: "✓";
	position: absolute;
	left: 0;
	top: 0;
	color: #65e45b;
}

/* ============================================================
   TASACION
   ============================================================ */

.vehiculo_bloque_tasacion {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2em;
	width: 100%;
	margin: 0 0 2.6em 0;
	padding: 1.55em 1.7em;
	border-radius: 0.55em;
	background: linear-gradient(90deg, rgba(70,70,70,0.96), rgba(42,42,42,0.96));
	border: 1px solid rgba(255,255,255,0.12);
}

.vehiculo_tasacion_texto {
	margin: 0;
}

.vehiculo_tasacion_texto h3 {
	color: #fff;
	font-size: 1.05em;
	font-weight: 400;
	margin: 0 0 0.45em 0;
}

.vehiculo_tasacion_texto p {
	color: rgba(255,255,255,0.7);
	font-size: 0.82em;
	line-height: 1.5;
	margin: 0;
}

.vehiculo_boton_tasacion {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 3.2em;
	min-width: 11em;
	padding: 0 1.5em;
	border-radius: 0.45em;
	background: #c00000;
	color: #fff !important;
	font-size: 0.85em;
	margin: 0;
	transition: background 0.22s ease, transform 0.22s ease;
}

.vehiculo_boton_tasacion:hover {
	background: #e00000;
	transform: translateY(-0.08em);
}

/* ============================================================
   FICHA TECNICA
   ============================================================ */

.vehiculo_ficha_tecnica {
	width: 100%;
	margin: 0 0 2.8em 0;
}

.vehiculo_tabla_tecnica {
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 5em;
	row-gap: 0.65em;
	width: 100%;
	margin: 0;
}

.vehiculo_tabla_tecnica div {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 1em;
	align-items: center;
	margin: 0;
}

.vehiculo_tabla_tecnica span {
	color: rgba(255,255,255,0.58);
	font-size: 0.82em;
	line-height: 1.3;
	margin: 0;
}

.vehiculo_tabla_tecnica strong {
	color: #fff;
	font-size: 0.82em;
	line-height: 1.3;
	font-weight: 400;
	text-align: right;
	margin: 0;
}

.vehiculo_consumo_bloque {
	display: flex;
	align-items: flex-start;
	gap: 3em;
	margin: 0;
}

.vehiculo_consumo_item {
	width: 7em;
	text-align: center;
	margin: 0;
}

.vehiculo_consumo_item img {
	display: block;
	width: 5.7em;
	height: 5.7em;
	object-fit: contain;
	margin: 0 auto 0.7em auto;
}

.vehiculo_consumo_item span {
	display: block;
	color: #fff;
	font-size: 0.78em;
	line-height: 1.25;
	margin: 0;
}


.vehiculo_dimensiones {
	display: flex;
	align-items: flex-end;
	gap: 2em;
	width: 100%;
	margin: 0;
}

.vehiculo_dimension_coche {
	text-align: center;
	margin: 0;
}

.vehiculo_dimension_coche img {
	display: block;
	width: 15em;
	height: 7em;
	object-fit: contain;
	margin: 0;
}

.vehiculo_dimension_coche span,
.vehiculo_dimension_altura span {
	display: block;
	color: rgba(255,255,255,0.72);
	font-size: 0.75em;
	line-height: 1.2;
	margin: 0.4em 0 0 0;
}

.vehiculo_dimension_altura {
	height: 7em;
	display: flex;
	align-items: center;
	border-left: 1px solid rgba(255,255,255,0.65);
	padding-left: 1em;
	margin: 0;
}

/* ============================================================
   ESTADO VEHICULO
   ============================================================ */

.vehiculo_estado {
	width: 100%;
	margin: 0 0 2em 0;
}

.vehiculo_subtexto_estado {
	color: rgba(255,255,255,0.78);
	font-size: 0.86em;
	line-height: 1.5;
	margin: -0.4em 0 1em 0;
}

.vehiculo_pestanas_estado {
	display: grid;
	grid-template-columns: 1fr 1fr;
	width: 25em;
	border-radius: 0.35em;
	overflow: hidden;
	border: 1px solid rgba(255,255,255,0.15);
	margin: 0 0 1.4em 0;
}

.vehiculo_pestanas_estado button {
	height: 2.3em;
	background: #111;
	border: 0;
	color: #fff;
	cursor: pointer;
	font-size: 0.85em;
	margin: 0;
}

.vehiculo_pestanas_estado .vehiculo_pestana_activa {
	background: #b00000;
}

.vehiculo_vistas_estado {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0.7em;
	width: 28em;
	margin: 0;
}

.vehiculo_vistas_estado img {
	display: block;
	width: 100%;
	height: 6.5em;
	object-fit: contain;
	margin: 0;
}

/* ============================================================
   LATERAL - TARJETA VEHICULO
   ============================================================ */

.vehiculo_tarjeta_resumen,
.vehiculo_formulario_info {
	width: 100%;
	border-radius: 0.55em;
	background: linear-gradient(145deg, #b80000, #850000);
	box-shadow: 0 1.5em 4em rgba(0,0,0,0.45);
	margin: 0;
}

.vehiculo_tarjeta_resumen {
	padding: 1.7em 1.7em 1.5em 1.7em;
	margin-bottom: 1.6em;
}

.vehiculo_tarjeta_cabecera {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1em;
	margin: 0 0 1.35em 0;
}

.vehiculo_tarjeta_cabecera div {
	margin: 0;
}

.vehiculo_tarjeta_cabecera h2 {
	color: #fff;
	font-size: 1.9em;
	line-height: 1.1;
	font-weight: 400;
	margin: 0;
}

.vehiculo_tarjeta_cabecera p {
	color: #fff;
	font-size: 0.95em;
	line-height: 1.3;
	margin: 0.25em 0 0 0;
}

.vehiculo_tarjeta_cabecera img {
	width: 3.6em;
	height: 3.6em;
	object-fit: contain;
	margin: 0;
}

.vehiculo_tarjeta_datos {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0.8em;
	padding: 0 0 1.25em 0;
	border-bottom: 1px solid rgba(255,255,255,0.18);
	margin: 0 0 1.15em 0;
}

.vehiculo_tarjeta_datos div {
	text-align: center;
	margin: 0;
}

.vehiculo_tarjeta_datos img {
	display: block;
	width: 1.9em;
	height: 1.9em;
	object-fit: contain;
	margin: 0 auto 0.45em auto;
}

.vehiculo_tarjeta_datos span {
	display: block;
	color: #fff;
	font-size: 0.76em;
	line-height: 1.2;
	margin: 0;
}

.vehiculo_tarjeta_ubicacion {
	color: #fff;
	font-size: 0.9em;
	line-height: 1.5;
	margin: 0 0 1.4em 0;
}

.vehiculo_tarjeta_ubicacion:before {
	content: "⌖";
	margin-right: 0.45em;
	color: #fff;
}

.vehiculo_tarjeta_precio {
	margin: 0 0 1.45em 0;
}

.vehiculo_tarjeta_precio span,
.vehiculo_tarjeta_precio small {
	display: block;
	color: #fff;
	font-size: 0.86em;
	line-height: 1.2;
	margin: 0 0 0.45em 0;
}

.vehiculo_tarjeta_precio strong {
	display: block;
	color: #fff;
	font-size: 2em;
	line-height: 1.1;
	font-weight: 500;
	margin: 0 0 0.45em 0;
}

.vehiculo_reserva_caja {
	display: block;
	background: #050505;
	border-radius: 0.45em;
	padding: 1.2em 1.15em;
	color: #fff !important;
	margin: 0 0 1.25em 0;
	transition: transform 0.22s ease, background 0.22s ease;
}

.vehiculo_reserva_caja:hover {
	transform: translateY(-0.08em);
	background: #111;
}

.vehiculo_reserva_caja strong {
	display: block;
	color: #ff3535;
	font-size: 0.9em;
	line-height: 1.3;
	margin: 0 0 0.6em 0;
}

.vehiculo_reserva_caja span {
	display: block;
	color: #ff7777;
	font-size: 0.75em;
	line-height: 1.55;
	margin: 0;
}

.vehiculo_acciones_tarjeta {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1em;
	margin: 0;
}

.vehiculo_acciones_tarjeta a {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5em;
	color: #fff !important;
	font-size: 0.78em;
	line-height: 1.2;
	margin: 0;
}

.vehiculo_acciones_tarjeta img {
	width: 1.35em;
	height: 1.35em;
	object-fit: contain;
	margin: 0;
}

/* ============================================================
   FORMULARIO LATERAL CON FIJADO CONTROLADO POR JS
   ============================================================ */

.vehiculo_formulario_info {
	position: relative;
	top: auto;
	left: auto;
	right: auto;
	bottom: auto;
	z-index: 10;
	padding: 1.7em;
}

.vehiculo_formulario_info.vehiculo_formulario_fijo {
	position: fixed;
	top: 7.2em;
}


.vehiculo_formulario_info h2 {
	color: #fff;
	font-size: 1.35em;
	line-height: 1.2;
	font-weight: 600;
	margin: 0 0 1.25em 0;
}

.vehiculo_formulario {
	width: 100%;
	margin: 0;
}

.vehiculo_formulario label {
	display: block;
	width: 100%;
	color: #fff;
	font-size: 0.78em;
	line-height: 1.3;
	margin: 0 0 1em 0;
}

.vehiculo_formulario label span {
	display: block;
	margin: 0 0 0.4em 0;
	color: rgba(255,255,255,0.92);
}

.vehiculo_formulario_doble {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.9em;
	margin: 0;
}

.vehiculo_formulario input[type="text"],
.vehiculo_formulario input[type="email"],
.vehiculo_formulario input[type="tel"],
.vehiculo_formulario textarea {
	display: block;
	width: 100%;
	height: 3.05em;
	border: 0;
	border-radius: 0.35em;
	background: rgba(255,255,255,0.10);
	color: #fff;
	font-size: 0.95em;
	padding: 0 1em;
	margin: 0;
}

.vehiculo_formulario textarea {
	height: 7em;
	padding-top: 0.9em;
	resize: none;
}

.vehiculo_formulario input::placeholder,
.vehiculo_formulario textarea::placeholder {
	color: rgba(255,255,255,0.5);
}

.vehiculo_aceptacion {
	display: flex !important;
	align-items: flex-start;
	gap: 0.65em;
	font-size: 0.68em !important;
	line-height: 1.45 !important;
	color: rgba(255,255,255,0.8) !important;
	margin: 1.3em 0 !important;
}

.vehiculo_aceptacion input {
	width: auto;
	margin: 0.15em 0 0 0;
}

.vehiculo_boton_enviar {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 3.2em;
	border: 0;
	border-radius: 0.35em;
	background: #000;
	color: #fff;
	font-size: 0.9em;
	cursor: pointer;
	margin: 0;
	transition: background 0.22s ease, transform 0.22s ease;
}

.vehiculo_boton_enviar:hover {
	background: #151515;
	transform: translateY(-0.08em);
}

/* ============================================================
   GARANTIA
   ============================================================ */

.vehiculo_garantia {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 23em;
	gap: 2em;
	align-items: center;
	width: calc(100% - 29.8em);
	margin: 1em 29.8em 0 0;
	padding: 2em;
	border: 1px solid rgba(255,255,255,0.16);

	border-radius: 0.55em;
	background: rgba(255,255,255,0.015);
}

.vehiculo_garantia_texto {
	margin: 0;
}

.vehiculo_garantia_texto h2 {
	color: #fff;
	font-size: 1.65em;
	line-height: 1.25;
	font-weight: 400;
	margin: 0 0 0.7em 0;
}

.vehiculo_garantia_texto p {
	color: rgba(255,255,255,0.78);
	font-size: 0.9em;
	line-height: 1.65;
	margin: 0 0 1.5em 0;
}

.vehiculo_garantia_texto ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.vehiculo_garantia_texto li {
	position: relative;
	color: rgba(255,255,255,0.82);
	font-size: 0.82em;
	line-height: 1.55;
	margin: 0 0 0.9em 0;
	padding-left: 1.9em;
}

.vehiculo_garantia_texto li:before {
	content: "✓";
	position: absolute;
	left: 0;
	top: 0;
	color: #65e45b;
	font-weight: 700;
}

.vehiculo_garantia_imagen {
	width: 100%;
	margin: 0;
}

.vehiculo_garantia_imagen img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: contain;
	margin: 0;
}

.vehiculo_formulario_info {
	position: relative !important;
	top: auto !important;
	left: auto !important;
	right: auto !important;
	bottom: auto !important;
	width: 100%;
	z-index: 9999;
}

.vehiculo_formulario_info.vehiculo_formulario_fijo {
	position: fixed !important;
	top: 7.2em !important;
	right: 2%;
	width: 28em !important;
	z-index: 9999;
}

.vehiculo_formulario_espacio {
	display: none;
	width: 100%;
}

.vehiculo_formulario_espacio.activo {
	display: block;
}

/* ============================================================
   FIN 	VEHÍCULO
   ============================================================ */

/* ============================================================
   BUSCADOR
   ============================================================ */

/* ============================================================
   BUSCADOR
   ============================================================ */

#buscador_pagina,
.buscador_pagina {
	width: 100%;
	padding: 0;
	background: #000;
	color: #fff;
	text-align: left;
	min-height: 100vh;
	box-sizing: border-box;
	overflow: visible;
}

.buscador_pagina * {
	box-sizing: border-box;
}

.buscador_contenedor {
	width: var(--ancho_general);
	margin: 0 auto;
	padding: 8.5em 0 6em 0;
}

.buscador_cabecera {
	width: 100%;
	margin: 0 0 2.2em 0;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 2em;
	padding-bottom: 1.4em;
	border-bottom: 1px solid rgba(255,255,255,0.18);
}

.buscador_titulo {
	color: #fff;
	font-size: 3.1em;
	line-height: 1.05;
	font-weight: 300;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	margin: 0;
}

.buscador_resultados {
	color: var(--color_dorado);
	font-size: 0.9em;
	line-height: 1.3;
	font-weight: 400;
	margin: 0;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.buscador_distribucion {
	display: grid;
	grid-template-columns: 18em minmax(0, 1fr);
	gap: 2em;
	align-items: start;
	width: 100%;
	margin: 0;
}

.buscador_lateral {
	width: 100%;
	margin: 0;
	position: sticky;
	top: 7.5em;
}

.buscador_formulario {
	width: 100%;
	background: linear-gradient(145deg, #b80000, #850000);
	border: 1px solid rgba(255,255,255,0.16);
	border-radius: 0.55em;
	padding: 1.2em;
	box-shadow: var(--sombra_suave);
	margin: 0;
}

.buscador_titulo_filtros {
	color: #fff;
	font-size: 1.15em;
	line-height: 1.2;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	margin: 0 0 1.15em 0;
	padding-bottom: 0.85em;
	border-bottom: 1px solid rgba(255,255,255,0.18);
}

.buscador_campo {
	display: block;
	width: 100%;
	margin: 0 0 0.85em 0;
}

.buscador_campo span {
	display: block;
	color: rgba(255,255,255,0.75);
	font-size: 0.72em;
	line-height: 1.2;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	margin: 0 0 0.45em 0;
}

.buscador_campo input,
.buscador_campo select,
.buscador_orden select {
	width: 100%;
	height: 3.05em;
	background: rgba(0,0,0,0.35);
	border: 1px solid rgba(255,255,255,0.22);
	border-radius: 0.35em;
	color: #fff;
	font-size: 0.82em;
	padding: 0 0.8em;
	margin: 0;
}

.buscador_campo select option,
.buscador_orden select option {
	background: #111;
	color: #fff;
}

.buscador_doble {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.65em;
	width: 100%;
	margin: 0;
}

.buscador_boton_aplicar {
	width: 100%;
	height: 3.25em;
	background: #111;
	color: #fff;
	border: 1px solid rgba(255,255,255,0.28);
	border-radius: 0.4em;
	font-size: 0.82em;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	cursor: pointer;
	margin: 0.4em 0 0 0;
}

.buscador_boton_limpiar {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 2.9em;
	background: transparent;
	color: #fff !important;
	border: 1px solid rgba(255,255,255,0.22);
	border-radius: 0.4em;
	font-size: 0.78em;
	margin: 0.75em 0 0 0;
}

.buscador_resultados_zona {
	width: 100%;
	margin: 0;
}

.buscador_barra_superior {
	width: 100%;
	display: flex;
	justify-content: flex-end;
	margin: 0 0 1.2em 0;
}

.buscador_orden_formulario {
	margin: 0;
}

.buscador_orden {
	display: flex;
	align-items: center;
	gap: 0.75em;
	margin: 0;
}

.buscador_orden span {
	color: rgba(255,255,255,0.65);
	font-size: 0.72em;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	margin: 0;
	white-space: nowrap;
}

.buscador_orden select {
	width: 14em;
	height: 2.75em;
}

.buscador_rejilla {
	grid-template-columns: repeat(3, 1fr);
	gap: 1.35em;
}

.buscador_tarjeta {
	width: 100%;
	margin: 0;
}

.buscador_sin_resultados {
	width: 100%;
	min-height: 16em;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(255,255,255,0.04);
	border: 1px solid rgba(255,255,255,0.12);
	border-radius: 0.7em;
	color: rgba(255,255,255,0.78);
	font-size: 1em;
	line-height: 1.5;
	text-align: center;
	padding: 2em;
	margin: 0;
}

.buscador_paginacion {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.45em;
	margin: 2.2em 0 0 0;
}

.buscador_pagina_numero,
.buscador_pagina_anterior,
.buscador_pagina_siguiente {
	min-width: 2.65em;
	height: 2.65em;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(255,255,255,0.22);
	border-radius: 0.35em;
	color: #fff !important;
	font-size: 0.78em;
	padding: 0 0.85em;
	margin: 0;
	transition: all 0.25s ease;
}

.buscador_pagina_numero:hover,
.buscador_pagina_anterior:hover,
.buscador_pagina_siguiente:hover,
.buscador_pagina_activa {
	background: var(--color_rojo);
	border-color: var(--color_rojo);
	color: #fff !important;
}

.buscador_grupo_titulo {
	display: flex;
	justify-content: space-between;
	cursor: pointer;
	list-style: none;
	color: #fff;
	font-size: 0.9em;
	font-weight: 600;
	margin: 1em 0 0.8em 0;
}

.buscador_grupo_titulo::-webkit-details-marker {
	display: none;
}

.buscador_opciones_checkbox {
	display: block;
	width: 100%;
	margin: 0;
}

.buscador_checkbox {
	display: flex;
	align-items: center;
	gap: 0.45em;
	width: 100%;
	margin: 0 0 0.5em 0;
	color: #fff;
	font-size: 0.82em;
	line-height: 1.25;
}

.buscador_checkbox input {
	width: 1em;
	height: 1em;
	margin: 0;
}

.buscador_checkbox span {
	margin: 0;
}


/* ============================================================
   FIN BUSCADOR
   ============================================================ */

/* ============================================================
   AJUSTES BUSCADOR - CHECKBOXES Y RANGOS
   ============================================================ */

.buscador_grupo_filtro {
	width: 100%;
	margin: 0 0 0.95em 0;
}

.buscador_grupo_titulo {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	cursor: pointer;
	list-style: none;
	color: #fff;
	font-size: 0.9em;
	font-weight: 600;
	line-height: 1.2;
	margin: 0;
	padding: 0.35em 0;
}

.buscador_grupo_titulo::-webkit-details-marker {
	display: none;
}

.buscador_grupo_nombre,
.buscador_grupo_flecha {
	margin: 0;
}

.buscador_grupo_flecha {
	font-size: 0.9em;
	line-height: 1;
}

.buscador_grupo_filtro[open] .buscador_grupo_flecha {
	transform: rotate(180deg);
}

.buscador_opciones_checkbox {
	display: block;
	width: 100%;
	margin: 0.55em 0 0 0;
}

.buscador_checkbox {
	display: flex;
	align-items: center;
	gap: 0.45em;
	width: 100%;
	margin: 0 0 0.48em 0;
	color: #fff;
	font-size: 0.82em;
	line-height: 1.25;
}

.buscador_checkbox input {
	width: 1em;
	height: 1em;
	margin: 0;
	flex: 0 0 auto;
}

.buscador_checkbox span {
	margin: 0;
}

.buscador_rango_doble,
.buscador_rango_simple {
	width: 100%;
	margin: 0;
}

.buscador_rango_linea {
	position: relative;
	width: 100%;
	height: 2.1em;
	margin: 0.3em 0 0.85em 0;
}

.buscador_rango_linea:before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 50%;
	height: 0.22em;
	background: #fff;
	border-radius: 1em;
	transform: translateY(-50%);
}

.buscador_rango,
.buscador_rango_unico {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 2.1em;
	background: transparent;
	-webkit-appearance: none;
	appearance: none;
	pointer-events: none;
	margin: 0;
	padding: 0;
}

.buscador_rango_unico {
	pointer-events: auto;
}

.buscador_rango::-webkit-slider-thumb,
.buscador_rango_unico::-webkit-slider-thumb {
	-webkit-appearance: none;
	appearance: none;
	width: 1.05em;
	height: 1.05em;
	border-radius: 50%;
	background: #000;
	border: 0;
	cursor: pointer;
	pointer-events: auto;
}

.buscador_rango::-moz-range-thumb,
.buscador_rango_unico::-moz-range-thumb {
	width: 1.05em;
	height: 1.05em;
	border-radius: 50%;
	background: #000;
	border: 0;
	cursor: pointer;
	pointer-events: auto;
}

.buscador_rango::-webkit-slider-runnable-track,
.buscador_rango_unico::-webkit-slider-runnable-track {
	background: transparent;
	border: 0;
}

.buscador_rango::-moz-range-track,
.buscador_rango_unico::-moz-range-track {
	background: transparent;
	border: 0;
}

.buscador_doble .buscador_campo {
	margin: 0 0 0.85em 0;
}

.buscador_doble .buscador_campo span {
	text-transform: none;
	letter-spacing: 0;
	font-size: 0.82em;
	color: #fff;
}

/* ============================================================
  FIN BUSCADOR
   ============================================================ */
   
/* ============================================================
   TASACION
   ============================================================ */

#tasacion_pagina,
.tasacion_pagina {
	width: 100%;
	padding: 0;
	background: #000;
	color: #fff;
	text-align: left;
	min-height: 100vh;
	box-sizing: border-box;
}

.tasacion_pagina * {
	box-sizing: border-box;
}

.tasacion_contenedor {
	width: var(--ancho_general);
	max-width: 1600px;
	margin: 0 auto;
	padding: 8.5em 0 6em 0;
}

.tasacion_presentacion {
	display: grid;
	grid-template-columns: 1fr 0.9fr;
	gap: 4em;
	align-items: center;
	width: 100%;
	margin: 0 0 4em 0;
}

.tasacion_presentacion_texto,
.tasacion_presentacion_imagen {
	width: 100%;
	margin: 0;
}

.tasacion_etiqueta {
	color: var(--color_dorado);
	text-transform: uppercase;
	letter-spacing: 0.22em;
	font-size: 0.78em;
	font-weight: 400;
	margin: 0 0 1.2em 0;
}

.tasacion_titulo {
	color: #fff;
	font-size: 3.4em;
	font-weight: 300;
	line-height: 1.08;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	margin: 0;
}

.tasacion_texto {
	color: #d8d8d8;
	font-size: 1.03em;
	line-height: 1.8;
	font-weight: 300;
	margin: 1.4em 0 0 0;
}

.tasacion_presentacion_imagen {
	border-radius: 0.8em;
	overflow: hidden;
	box-shadow: var(--sombra_suave);
	border: 1px solid rgba(255,255,255,0.10);
}

.tasacion_presentacion_imagen img {
	display: block;
	width: 100%;
	height: auto;
	margin: 0;
}

.tasacion_bloque_formulario {
	width: 100%;
	background: linear-gradient(145deg, rgba(184,0,0,0.95), rgba(80,0,0,0.95));
	border: 1px solid rgba(255,255,255,0.14);
	border-radius: 0.75em;
	box-shadow: var(--sombra_suave);
	padding: 2.4em;
	margin: 0;
}

.tasacion_cabecera_formulario {
	width: 100%;
	text-align: center;
	margin: 0 0 2.2em 0;
}

.tasacion_formulario_titulo {
	color: #fff;
	font-size: 2.2em;
	font-weight: 300;
	line-height: 1.15;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin: 0;
}

.tasacion_formulario_texto {
	color: rgba(255,255,255,0.78);
	font-size: 0.95em;
	line-height: 1.65;
	margin: 1em auto 0 auto;
	width: 54em;
	max-width: 100%;
	text-align: center;
}

.tasacion_formulario {
	width: 100%;
	margin: 0;
}

.tasacion_columnas {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.6em;
	width: 100%;
	margin: 0;
}

.tasacion_tarjeta {
	width: 100%;
	background: rgba(0,0,0,0.38);
	border: 1px solid rgba(255,255,255,0.14);
	border-radius: 0.65em;
	padding: 1.6em;
	margin: 0;
}

.tasacion_titulo_tarjeta {
	display: flex;
	align-items: center;
	gap: 0.8em;
	margin: 0 0 1.4em 0;
	padding-bottom: 1em;
	border-bottom: 1px solid rgba(255,255,255,0.16);
}

.tasacion_titulo_tarjeta img {
	width: 2.4em;
	height: 2.4em;
	object-fit: contain;
	margin: 0;
}

.tasacion_titulo_tarjeta h3 {
	color: #fff;
	font-size: 1.25em;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin: 0;
}

.tasacion_campo {
	display: block;
	width: 100%;
	margin: 0 0 1em 0;
}

.tasacion_campo span {
	display: block;
	color: rgba(255,255,255,0.78);
	font-size: 0.72em;
	line-height: 1.2;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	margin: 0 0 0.45em 0;
}

.tasacion_campo input {
	display: block;
	width: 100%;
	height: 3.15em;
	background: rgba(0,0,0,0.42);
	border: 1px solid rgba(255,255,255,0.22);
	border-radius: 0.35em;
	color: #fff;
	font-size: 0.9em;
	padding: 0 1em;
	margin: 0;
}

.tasacion_campo input::placeholder {
	color: rgba(255,255,255,0.42);
}

.tasacion_doble {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.9em;
	width: 100%;
	margin: 0;
}

.tasacion_aceptacion {
	display: flex;
	align-items: flex-start;
	gap: 0.65em;
	width: 100%;
	color: rgba(255,255,255,0.85);
	font-size: 0.82em;
	line-height: 1.45;
	margin: 1.5em 0 0.75em 0;
}

.tasacion_aceptacion input {
	width: auto;
	margin: 0.2em 0 0 0;
	flex: 0 0 auto;
}

.tasacion_aceptacion span {
	margin: 0;
}

.tasacion_aceptacion a {
	color: var(--color_dorado) !important;
	border-bottom: 1px solid rgba(198,164,93,0.55);
}

.tasacion_proteccion_datos,
.tasacion_campos_obligatorios,
.tasacion_confidencialidad {
	color: rgba(255,255,255,0.62);
	font-size: 0.75em;
	line-height: 1.55;
	margin: 0.45em 0 0 0;
}

.tasacion_zona_boton {
	width: 100%;
	text-align: center;
	margin: 1.7em 0 0 0;
}

.tasacion_boton {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 15em;
	height: 3.25em;
	border: 1px solid #000;
	border-radius: 0.45em;
	background: #000;
	color: #fff;
	font-size: 0.9em;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	cursor: pointer;
	padding: 0 2em;
	margin: 0;
	transition: all 0.25s ease;
}

.tasacion_boton:hover {
	background: #151515;
	transform: translateY(-0.12em);
}

.tasacion_campo input[type=number]::-webkit-outer-spin-button,
.tasacion_campo input[type=number]::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.tasacion_campo input[type=number] {
	-moz-appearance: textfield;
	appearance: textfield;
}

.tasacion_error {
	border: 2px solid #ff3535 !important;
	box-shadow: 0 0 16px rgba(255,53,53,0.75) !important;
	background: #4b0000 !important;
}

.tasacion_aceptacion.tasacion_error {
	border: 2px solid #ff3535 !important;
	border-radius: 0.35em;
	padding: 0.7em;
	background: rgba(75,0,0,0.55) !important;
}

/* ============================================================
   FIN TASACION
   ============================================================ */
   
   /* ============================================================
   FINANCIACION
   ============================================================ */

#financiacion_pagina,
.financiacion_pagina {
	width: 100%;
	padding: 0;
	background: #000;
	color: #fff;
	text-align: left;
	min-height: 100vh;
	box-sizing: border-box;
}

.financiacion_pagina * {
	box-sizing: border-box;
}

.financiacion_contenedor {
	width: var(--ancho_general);
	max-width: 1600px;
	margin: 0 auto;
	padding: 8.5em 0 6em 0;
}

.financiacion_presentacion {
	display: grid;
	grid-template-columns: 1fr 0.95fr;
	gap: 4em;
	align-items: center;
	width: 100%;
	margin: 0 0 3.4em 0;
}

.financiacion_presentacion_texto,
.financiacion_presentacion_imagen {
	width: 100%;
	margin: 0;
}

.financiacion_etiqueta {
	color: var(--color_dorado);
	text-transform: uppercase;
	letter-spacing: 0.22em;
	font-size: 0.78em;
	font-weight: 400;
	margin: 0 0 1.2em 0;
}

.financiacion_titulo {
	color: #fff;
	font-size: 3.35em;
	font-weight: 300;
	line-height: 1.08;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	margin: 0;
}

.financiacion_texto {
	color: #d8d8d8;
	font-size: 1.03em;
	line-height: 1.8;
	font-weight: 300;
	margin: 1.4em 0 0 0;
}

.financiacion_presentacion_imagen {
	border-radius: 0.8em;
	overflow: hidden;
	box-shadow: var(--sombra_suave);
	border: 1px solid rgba(255,255,255,0.10);
}

.financiacion_presentacion_imagen img {
	display: block;
	width: 100%;
	height: auto;
	margin: 0;
}

.financiacion_bloque_formulario {
	width: 100%;
	background: linear-gradient(180deg, rgba(18,18,18,0.96), rgba(5,5,5,0.96));
	border: 1px solid rgba(255,255,255,0.16);
	border-radius: 0.75em;
	box-shadow: var(--sombra_suave);
	padding: 2.5em 4.2em;
	margin: 0;
}

.financiacion_cabecera_formulario {
	width: 100%;
	text-align: center;
	margin: 0 0 2.1em 0;
}

.financiacion_formulario_titulo {
	color: #fff;
	font-size: 2.4em;
	font-weight: 300;
	line-height: 1.15;
	margin: 0;
}

.financiacion_formulario_subtitulo {
	color: rgba(255,255,255,0.78);
	font-size: 1.15em;
	line-height: 1.45;
	margin: 0.55em 0 0 0;
	text-align: center;
}

.financiacion_formulario {
	width: 100%;
	margin: 0;
}

.financiacion_rejilla {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.35em 1.6em;
	width: 100%;
	margin: 0;
}

.financiacion_campo {
	display: block;
	width: 100%;
	margin: 0;
}

.financiacion_campo span {
	display: block;
	color: rgba(255,255,255,0.86);
	font-size: 0.78em;
	line-height: 1.2;
	margin: 0 0 0.55em 0;
}

.financiacion_campo input,
.financiacion_campo select {
	display: block;
	width: 100%;
	height: 3.25em;
	background: rgba(255,255,255,0.08);
	border: 1px solid rgba(255,255,255,0.22);
	border-radius: 0.35em;
	color: #fff;
	font-size: 0.95em;
	padding: 0 1em;
	margin: 0;
}

.financiacion_campo select {
	cursor: pointer;
}

.financiacion_campo select option {
	background: #111;
	color: #fff;
}

.financiacion_campo input::placeholder {
	color: rgba(255,255,255,0.48);
}

.financiacion_campo_ancho {
	grid-column: 1 / 3;
}

.financiacion_aceptacion {
	display: flex;
	align-items: flex-start;
	gap: 0.65em;
	width: 100%;
	color: rgba(255,255,255,0.85);
	font-size: 0.82em;
	line-height: 1.45;
	margin: 1.5em 0 0.75em 0;
}

.financiacion_aceptacion input {
	width: auto;
	margin: 0.2em 0 0 0;
	flex: 0 0 auto;
}

.financiacion_aceptacion span {
	margin: 0;
}

.financiacion_aceptacion a {
	color: var(--color_dorado) !important;
	border-bottom: 1px solid rgba(198,164,93,0.55);
}

.financiacion_proteccion_datos,
.financiacion_campos_obligatorios {
	color: rgba(255,255,255,0.62);
	font-size: 0.75em;
	line-height: 1.55;
	margin: 0.45em 0 0 0;
}

.financiacion_zona_boton {
	width: 100%;
	text-align: center;
	margin: 1.9em 0 0 0;
}

.financiacion_boton {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 16em;
	height: 3.35em;
	border: 1px solid var(--color_rojo);
	border-radius: 0.45em;
	background: linear-gradient(145deg, #c00000, #850000);
	color: #fff;
	font-size: 0.95em;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	cursor: pointer;
	padding: 0 2.2em;
	margin: 0;
	transition: all 0.25s ease;
}

.financiacion_boton:hover {
	background: linear-gradient(145deg, #d00000, #9b0000);
	transform: translateY(-0.12em);
	box-shadow: 0 0.8em 2em rgba(155,0,0,0.45);
}

.financiacion_error {
	border: 2px solid #ff3535 !important;
	box-shadow: 0 0 16px rgba(255,53,53,0.75) !important;
	background: #4b0000 !important;
}

.financiacion_aceptacion.financiacion_error {
	border: 2px solid #ff3535 !important;
	border-radius: 0.35em;
	padding: 0.7em;
	background: rgba(75,0,0,0.55) !important;
}

/* ============================================================
   FIN FINANCIACION
   ============================================================ */
   
   /* ============================================================
   COCHES A LA CARTA
   ============================================================ */

#coches_carta_pagina,
.coches_carta_pagina {
	width: 100%;
	padding: 0;
	background: #000;
	color: #fff;
	text-align: left;
	min-height: 100vh;
	box-sizing: border-box;
}

.coches_carta_pagina * {
	box-sizing: border-box;
}

.coches_carta_contenedor {
	width: var(--ancho_general);
	max-width: 1600px;
	margin: 0 auto;
	padding: 8.5em 0 6em 0;
}

.coches_carta_presentacion {
	display: grid;
	grid-template-columns: 1fr 0.95fr;
	gap: 4em;
	align-items: center;
	margin: 0 0 4em 0;
}

.coches_carta_presentacion_texto,
.coches_carta_presentacion_imagen {
	width: 100%;
	margin: 0;
}

.coches_carta_etiqueta {
	color: var(--color_dorado);
	text-transform: uppercase;
	letter-spacing: 0.22em;
	font-size: 0.78em;
	margin: 0 0 1.2em 0;
}

.coches_carta_titulo {
	color: #fff;
	font-size: 3.35em;
	font-weight: 300;
	line-height: 1.08;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	margin: 0;
}

.coches_carta_texto {
	color: #d8d8d8;
	font-size: 1.03em;
	line-height: 1.8;
	font-weight: 300;
	margin: 1.4em 0 0 0;
}

.coches_carta_presentacion_imagen {
	border-radius: 0.8em;
	overflow: hidden;
	box-shadow: var(--sombra_suave);
	border: 1px solid rgba(255,255,255,0.10);
}

.coches_carta_presentacion_imagen img {
	display: block;
	width: 100%;
	height: auto;
	margin: 0;
}

.coches_carta_bloque_marcas,
.coches_carta_bloque_ventajas,
.coches_carta_bloque_formulario {
	width: 100%;
	margin: 0 0 4em 0;
}

.coches_carta_cabecera_bloque,
.coches_carta_cabecera_formulario {
	text-align: center;
	margin: 0 0 2.2em 0;
}

.coches_carta_subtitulo,
.coches_carta_formulario_titulo {
	color: #fff;
	font-size: 2.35em;
	font-weight: 300;
	line-height: 1.15;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin: 0;
}

.coches_carta_subtexto,
.coches_carta_formulario_texto {
	color: rgba(255,255,255,0.78);
	font-size: 0.95em;
	line-height: 1.65;
	margin: 1em auto 0 auto;
	max-width: 54em;
	text-align: center;
}

.coches_carta_rejilla_marcas {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 1.3em;
	width: 100%;
	margin: 0;
}

.coches_carta_marca_tarjeta {
	display: block;
	background: linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.015));
	border: 1px solid rgba(255,255,255,0.12);
	border-radius: 0.7em;
	overflow: hidden;
	color: #fff !important;
	text-align: center;
	margin: 0;
	transition: all 0.25s ease;
}

.coches_carta_marca_tarjeta:hover {
	border-color: var(--color_dorado);
	transform: translateY(-0.25em);
	box-shadow: 0 1.4em 3em rgba(0,0,0,0.45);
}

.coches_carta_marca_imagen {
	width: 100%;
	height: 8.5em;
	background: #111;
	margin: 0;
	overflow: hidden;
}

.coches_carta_marca_imagen img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	margin: 0;
}

.coches_carta_marca_nombre {
	color: #fff;
	font-size: 1.05em;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin: 1em 0 0.45em 0;
}

.coches_carta_marca_boton {
	display: inline-block;
	color: var(--color_dorado);
	font-size: 0.74em;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	margin: 0 0 1.3em 0;
}

.coches_carta_rejilla_ventajas {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 1.3em;
	width: 100%;
	margin: 0;
}

.coches_carta_ventaja {
	background: linear-gradient(180deg, rgba(255,255,255,0.045), rgba(255,255,255,0.012));
	border: 1px solid rgba(255,255,255,0.1);
	border-radius: 1em;
	padding: 2em 1.2em;
	text-align: center;
	margin: 0;
	min-height: 18em;
	transition: all 0.25s ease;
}

.coches_carta_ventaja:hover {
	border-color: rgba(198,164,93,0.65);
	transform: translateY(-0.25em);
	background: linear-gradient(180deg, rgba(198,164,93,0.09), rgba(255,255,255,0.018));
}

.coches_carta_ventaja img {
	display: block;
	width: 4.8em;
	height: 4.8em;
	object-fit: contain;
	margin: 0 auto 1.4em auto;
}

.coches_carta_ventaja h3 {
	color: var(--color_dorado);
	font-size: 1em;
	font-weight: 400;
	line-height: 1.25;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin: 0 0 1em 0;
}

.coches_carta_ventaja p {
	color: #d3d3d3;
	font-size: 0.84em;
	line-height: 1.65;
	font-weight: 300;
	margin: 0;
}

.coches_carta_bloque_formulario {
	background: linear-gradient(145deg, rgba(184,0,0,0.95), rgba(80,0,0,0.95));
	border: 1px solid rgba(255,255,255,0.14);
	border-radius: 0.75em;
	box-shadow: var(--sombra_suave);
	padding: 2.5em 4.2em;
}

.coches_carta_formulario {
	width: 100%;
	margin: 0;
}

.coches_carta_rejilla_formulario {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.25em 1.6em;
	width: 100%;
	margin: 0;
}

.coches_carta_campo {
	display: block;
	width: 100%;
	margin: 0;
}

.coches_carta_campo span {
	display: block;
	color: rgba(255,255,255,0.86);
	font-size: 0.78em;
	line-height: 1.2;
	margin: 0 0 0.55em 0;
}

.coches_carta_campo input,
.coches_carta_campo select,
.coches_carta_campo textarea {
	display: block;
	width: 100%;
	background: rgba(0,0,0,0.42);
	border: 1px solid rgba(255,255,255,0.22);
	border-radius: 0.35em;
	color: #fff;
	font-size: 0.95em;
	padding: 0 1em;
	margin: 0;
}

.coches_carta_campo input,
.coches_carta_campo select {
	height: 3.25em;
}

.coches_carta_campo textarea {
	height: 8.5em;
	padding-top: 1em;
}

.coches_carta_campo select option {
	background: #111;
	color: #fff;
}

.coches_carta_campo input::placeholder,
.coches_carta_campo textarea::placeholder {
	color: rgba(255,255,255,0.48);
}

.coches_carta_campo_ancho {
	grid-column: 1 / 3;
}

.coches_carta_aceptacion {
	display: flex;
	align-items: flex-start;
	gap: 0.65em;
	width: 100%;
	color: rgba(255,255,255,0.85);
	font-size: 0.82em;
	line-height: 1.45;
	margin: 1.5em 0 0.75em 0;
}

.coches_carta_aceptacion input {
	width: auto;
	margin: 0.2em 0 0 0;
	flex: 0 0 auto;
}

.coches_carta_aceptacion span {
	margin: 0;
}

.coches_carta_aceptacion a {
	color: var(--color_dorado) !important;
	border-bottom: 1px solid rgba(198,164,93,0.55);
}

.coches_carta_proteccion_datos,
.coches_carta_campos_obligatorios,
.coches_carta_confidencialidad {
	color: rgba(255,255,255,0.62);
	font-size: 0.75em;
	line-height: 1.55;
	margin: 0.45em 0 0 0;
}

.coches_carta_zona_boton {
	width: 100%;
	text-align: center;
	margin: 1.8em 0 0 0;
}

.coches_carta_boton {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 17em;
	height: 3.35em;
	border: 1px solid #000;
	border-radius: 0.45em;
	background: #000;
	color: #fff;
	font-size: 0.92em;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	cursor: pointer;
	padding: 0 2.2em;
	margin: 0;
	transition: all 0.25s ease;
}

.coches_carta_boton:hover {
	background: #151515;
	transform: translateY(-0.12em);
}

.coches_carta_error {
	border: 2px solid #ff3535 !important;
	box-shadow: 0 0 16px rgba(255,53,53,0.75) !important;
	background: #4b0000 !important;
}

.coches_carta_aceptacion.coches_carta_error {
	border: 2px solid #ff3535 !important;
	border-radius: 0.35em;
	padding: 0.7em;
	background: rgba(75,0,0,0.55) !important;
}

/* ============================================================
   FIN COCHES A LA CARTA
   ============================================================ */
   
/*==========================================
=            CONTACTO
==========================================*/

.contacto_pagina{
	background:#000;
	color:#fff;
}

.contacto_portada{
	position:relative;
	height:620px;
	overflow:hidden;
	background:#000;
}

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

.contacto_portada_velo{
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	background:linear-gradient(90deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.62) 42%,rgba(0,0,0,.25) 100%);
}

.contacto_portada_contenido{
	position:absolute;
	left:5%;
	top:52%;
	transform:translateY(-50%);
	width:46%;
	z-index:2;
	text-align:left;
}

.contacto_etiqueta{
	color:#c40000;
	font-size:.92em;
	font-weight:600;
	letter-spacing:.08em;
	text-transform:uppercase;
	margin:0 0 1em 0;
}

.contacto_titulo{
	color:#fff;
	font-size:4.3em;
	font-weight:300;
	line-height:1.05;
	letter-spacing:.04em;
	text-transform:uppercase;
	margin:0 0 .45em 0;
}

.contacto_subtitulo{
	color:#d8d8d8;
	font-size:1.05em;
	line-height:1.75;
	max-width:32em;
	margin:0;
}

.contacto_contenedor{
	width:94%;
	max-width:1600px;
	margin:-6em auto 6em auto;
	position:relative;
	z-index:2;
}

.contacto_columnas{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:2em;
	align-items:stretch;
}

.contacto_bloque_mapa,
.contacto_bloque_formulario{
	background:linear-gradient(180deg,rgba(12,12,12,.94),rgba(3,3,3,.96));
	border:1px solid rgba(255,255,255,.16);
	border-radius:.6em;
	box-shadow:0 1.5em 4em rgba(0,0,0,.55);
	padding:2em;
	overflow:hidden;
}

.contacto_cabecera_bloque,
.contacto_cabecera_formulario{
	margin:0 0 1.4em 0;
}

.contacto_subtitulo_bloque,
.contacto_formulario_titulo{
	color:#fff;
	font-size:2.1em;
	font-weight:300;
	line-height:1.15;
	text-transform:uppercase;
	letter-spacing:.04em;
	margin:0;
}

.contacto_mapa{
	width:100%;
	height:410px;
	border-radius:.3em;
	overflow:hidden;
	margin:0;
	filter:grayscale(.35) brightness(.95) contrast(1.05);
	border:1px solid rgba(255,255,255,.12);
}

.contacto_mapa iframe{
	width:100%;
	height:100%;
	border:0;
	display:block;
}

.contacto_datos{
	display:grid;
	grid-template-columns:1fr 1fr 1fr;
	gap:1.4em;
	border-top:1px solid rgba(255,255,255,.12);
	margin:1.4em 0 0 0;
	padding:1.4em 0 0 0;
}

.contacto_dato{
	display:grid;
	grid-template-columns:2.4em 1fr;
	gap:.9em;
	align-items:flex-start;
}

.contacto_dato img{
	width:2em;
	height:2em;
	object-fit:contain;
	margin:.15em 0 0 0;
}

.contacto_dato h3{
	color:#fff;
	font-size:.86em;
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:.05em;
	margin:0 0 .45em 0;
}

.contacto_dato p{
	color:#d8d8d8;
	font-size:.86em;
	line-height:1.55;
	margin:0;
}

.contacto_rejilla_formulario{
	display:grid;
	grid-template-columns:minmax(0,1fr) minmax(0,1fr);
	column-gap:1.8em;
	row-gap:1.35em;
	width:100%;
}

.contacto_campo{
	min-width:0;
}

.contacto_campo input,
.contacto_campo textarea{
	box-sizing:border-box;
	width:100%;
}

.contacto_campo span{
	display:block;
	color:rgba(255,255,255,.78);
	font-size:.86em;
	margin:0 0 .55em 0;
}

.contacto_campo input,
.contacto_campo textarea{
	display:block;
	width:100%;
	background:rgba(0,0,0,.38);
	border:1px solid rgba(255,255,255,.20);
	border-radius:.25em;
	color:#fff;
	font-size:.95em;
	padding:0 1em;
	margin:0;
	outline:none;
}

.contacto_campo input{
	height:3.4em;
}

.contacto_campo textarea{
	height:9.5em;
	padding-top:1em;
	resize:vertical;
}

.contacto_campo input::placeholder,
.contacto_campo textarea::placeholder{
	color:rgba(255,255,255,.42);
}

.contacto_campo input:focus,
.contacto_campo textarea:focus{
	border-color:#b30000;
	box-shadow:0 0 0 .12em rgba(179,0,0,.25);
}

.contacto_campo_ancho{
	grid-column:1 / 3;
}

.contacto_aceptacion{
	display:flex;
	align-items:flex-start;
	gap:.65em;
	color:rgba(255,255,255,.72);
	font-size:.82em;
	line-height:1.5;
	margin:1.5em 0 .7em 0;
}

.contacto_aceptacion input{
	margin:.2em 0 0 0;
	flex:0 0 auto;
}

.contacto_aceptacion a{
	color:#d50000 !important;
	text-decoration:underline;
}

.contacto_proteccion_datos,
.contacto_campos_obligatorios,
.contacto_confidencialidad{
	color:rgba(255,255,255,.55);
	font-size:.75em;
	line-height:1.55;
	margin:.45em 0 0 0;
}

.contacto_zona_boton{
	width:100%;
	margin:1.7em 0 0 0;
}

.contacto_boton{
	display:flex;
	align-items:center;
	justify-content:center;
	width:100%;
	height:3.35em;
	background:linear-gradient(145deg,#c00000,#830000);
	border:1px solid #b30000;
	border-radius:.25em;
	color:#fff;
	font-size:.95em;
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:.05em;
	cursor:pointer;
	transition:all .25s ease;
}

.contacto_boton:hover{
	background:linear-gradient(145deg,#d00000,#990000);
	box-shadow:0 .8em 2em rgba(150,0,0,.4);
}

.contacto_error{
	border:2px solid #ff3535 !important;
	box-shadow:0 0 16px rgba(255,53,53,.75) !important;
	background:#4b0000 !important;
}

.contacto_aceptacion.contacto_error{
	border:2px solid #ff3535 !important;
	border-radius:.35em;
	padding:.7em;
	background:rgba(75,0,0,.55) !important;
}

/*==========================================
=     FIN       CONTACTO 
==========================================*/

/*==================================================
=                 NOVEDADES
==================================================*/

.novedades_pagina{
	background:#050505;
	color:#fff;
}

.novedades_portada{
	position:relative;
	height:38em;
	background:url('/imagenes/novedades_principal.jpg') center center no-repeat;
	background-size:cover;
	overflow:hidden;
}

.novedades_detalle_portada{
	position:relative;
	height:38em;
	overflow:hidden;
}

.novedades_detalle_portada > img{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center center;
	display:block;
}

.novedades_portada_velo{
	position:absolute;
	inset:0;
	background:linear-gradient(to right,rgba(0,0,0,.88),rgba(0,0,0,.45));
}

.novedades_portada_contenido{
	position:absolute;
	left:8%;
	top:50%;
	transform:translateY(-50%);
	width:42%;
	z-index:10;
}

.novedades_etiqueta{
	color:#d32b2b;
	font-size:.9em;
	letter-spacing:.2em;
	text-transform:uppercase;
	margin-bottom:1em;
	font-weight:bold;
}

.novedades_titulo{
	font-size:4em;
	font-weight:300;
	line-height:1.1;
	margin-bottom:.35em;
}

.novedades_subtitulo{
	font-size:1.8em;
	font-weight:300;
	color:#ddd;
	margin-bottom:.8em;
}

.novedades_texto{
	font-size:1.1em;
	line-height:1.8;
	color:#ccc;
}

.novedades_contenedor{
	width:90%;
	margin:0 auto;
	padding-top:1.5em;
	position:relative;
	top:-5em;
}

.novedades_cabecera_seccion{
	display:flex;
	justify-content:space-between;
	align-items:center;
	margin-top:-1.2em;
	margin-bottom:2em;
}

.novedades_cabecera_seccion h2{
	font-size:2.2em;
	font-weight:300;
	margin:0;
}

.novedades_destacada{
	display:grid;
	grid-template-columns:45% 55%;
	background:#111;
	border-radius:.8em;
	overflow:hidden;
	margin-bottom:4em;
	align-items:center;
}

.novedades_destacada_imagen{
	width:100%;
	height:100%;
	min-height:24em;
	overflow:hidden;
}

.novedades_destacada_imagen img{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center center;
}

.novedades_destacada_contenido{
	padding:4em 6%;
	display:flex;
	flex-direction:column;
	justify-content:center;
}

.novedades_destacada_contenido h2{
	font-size:2.8em;
	font-weight:300;
	margin:.4em 0 .6em;
	line-height:1.15;
}

.novedades_destacada_contenido p{
	color:#ccc;
	line-height:1.8;
	font-size:1.05em;
}

.novedades_meta{
	color:#999;
	font-size:.85em;
	letter-spacing:.08em;
	text-transform:uppercase;
}

.novedades_boton,
.novedades_cta_boton{
	display:inline-block;
	margin-top:1.8em;
	background:#c30000;
	color:#fff;
	text-decoration:none;
	padding:1em 4%;
	border-radius:.3em;
	transition:.25s;
}

.novedades_boton:hover,
.novedades_cta_boton:hover{
	background:#f00000;
}

.novedades_rejilla{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:2%;
	margin-top:2em;
}

.novedades_tarjeta{
	background:#111;
	border-radius:.6em;
	overflow:hidden;
	transition:.3s;
}

.novedades_tarjeta:hover{
	transform:translateY(-.4em);
}

.novedades_tarjeta img{
	width:100%;
	aspect-ratio:16/9;
	object-fit:cover;
	display:block;
}

.novedades_tarjeta_contenido{
	padding:1.8em 6%;
}

.novedades_tarjeta_contenido h3{
	font-size:1.8em;
	font-weight:300;
	margin:.5em 0;
	line-height:1.2;
}

.novedades_tarjeta_contenido p{
	color:#bbb;
	line-height:1.7;
	font-size:.95em;
}

.novedades_enlace{
	display:inline-block;
	margin-top:1em;
	color:#d32b2b;
	text-decoration:none;
	font-weight:bold;
}

.novedades_cta{
	margin-top:5em;
	background:#181818;
	padding:3.5em 5%;
	border-radius:.8em;
	display:flex;
	justify-content:space-between;
	align-items:center;
}

.novedades_cta_texto h2{
	font-size:2.8em;
	font-weight:300;
	margin-bottom:.4em;
}

.novedades_cta_texto p{
	color:#ccc;
	font-size:1.1em;
	line-height:1.8;
	width:70%;
}

.novedades_detalle_articulo{
	width:80%;
	margin:4em auto;
	background:#111;
	padding:4em 5%;
	border-radius:.8em;
}

.novedades_detalle_contenido{
	font-size:1.1em;
	line-height:2;
	color:#ddd;
}

.novedades_detalle_contenido p{
	margin-bottom:1.5em;
}

.novedades_detalle_contenido h2,
.novedades_detalle_contenido h3{
	margin:2em 0 1em;
	font-weight:300;
}

.novedades_detalle_contenido img{
	max-width:100%;
	border-radius:.5em;
	margin:2em auto;
	display:block;
}

.novedades_detalle_botones{
	text-align:center;
	margin-top:3em;
}

.novedades_sin_articulos{
	text-align:center;
	padding:6em 0;
	font-size:2em;
	color:#888;
}

.novedades_enlace,
.novedades_enlace:link,
.novedades_enlace:visited{
	display:inline-block;
	margin-top:1em;
	color:#fff !important;
	text-decoration:none;
	font-weight:bold;
	transition:.2s;
}

.novedades_enlace:hover{
	color:#d32b2b !important;
}

/*==================================================
=                FIN  NOVEDADES
==================================================*/

/*======================================================
=            COLA 
======================================================*/

.cola_publica{
	background:#000;
	border-top:1px solid rgba(255,255,255,.08);
	padding:5em 0 2em 0;
	clear:both;
}

.cola_contenedor{
	width:90%;
	max-width:1400px;
	margin:0 auto;
	display:grid;
	grid-template-columns:1.2fr 1fr 1fr;
	gap:5em;
}

.cola_columna{
	color:#fff;
}

.cola_columna h3{
	font-size:1.35em;
	font-weight:600;
	margin:0 0 1.6em 0;
	color:#fff;
	position:relative;
}

.cola_columna h3:after{
	content:'';
	display:block;
	width:45px;
	height:2px;
	background:#d9a441;
	margin-top:.7em;
}

.cola_logo{
	width:220px;
	height:auto;
	display:block;
	margin-bottom:2em;
}

.cola_logo_enlace{
	display:inline-block;
}

.cola_texto{
	color:#bfbfbf;
	font-size:1.05em;
	line-height:1.8;
	max-width:320px;
	margin:0;
}

.cola_columna_enlaces a{
	display:block;
	color:#ececec;
	text-decoration:none;
	padding:.95em 0;
	border-bottom:1px solid rgba(255,255,255,.08);
	transition:.25s;
}

.cola_columna_enlaces a:hover{
	color:#d9a441;
	padding-left:.5em;
}

.cola_dato{
	display:block;
	color:#d7d7d7 !important;
	text-decoration:none;
	line-height:1.9;
	margin-bottom:.3em;
}

.cola_boton_contacto{
	display:inline-block;
	margin-top:2em;
	padding:.9em 2.2em;
	border:1px solid #d9a441;
	border-radius:6px;
	color:#fff !important;
	background:#d9a441;
	text-decoration:none;
	font-weight:600;
	transition:.25s;
}

.cola_boton_contacto:hover{
	background:#fff;
	border-color:#fff;
	color:#000 !important;
}

.cola_boton_contacto,
.cola_boton_contacto:visited,
.cola_boton_contacto:hover,
.cola_boton_contacto:active{
	color:#000 !important;
	text-decoration:none;
}

.cola_inferior{
	width:90%;
	max-width:1400px;
	margin:4em auto 0 auto;
	padding-top:2em;
	border-top:1px solid rgba(255,255,255,.08);
	text-align:center;
}

.cola_inferior p{
	color:#b8b8b8;
	margin:0 0 1.5em 0;
	font-size:.95em;
}

.cola_legales{
	display:flex;
	justify-content:center;
	gap:2em;
}

.cola_legales a{
	color:#d8d8d8;
	text-decoration:none;
	font-size:.9em;
	transition:.25s;
}

.cola_legales a:hover{
	color:#d9a441;
}

/*======================================================
=         FIN    COLA 
======================================================*/

/*==================================================
=                 PÁGINA 
==================================================*/

.pagina_legal{
	background:#050505;
	color:#fff;
	text-align:left;
}

.pagina_portada{
	position:relative;
	height:22em;
	background:url('/imagenes/novedades_principal.jpg') center center no-repeat;
	background-size:cover;
	overflow:hidden;
}

.pagina_portada_velo{
	position:absolute;
	inset:0;
	background:linear-gradient(to right,rgba(0,0,0,.92),rgba(0,0,0,.62));
}

.pagina_portada_contenido{
	position:absolute;
	left:8%;
	top:55%;
	transform:translateY(-50%);
	width:70%;
	z-index:2;
	margin:0;
}

.pagina_titulo{
	color:#fff;
	font-size:3.6em;
	font-weight:300;
	line-height:1.15;
	margin:0;
}

.pagina_contenedor{
	width:82%;
	max-width:1200px;
	margin:-4em auto 0 auto;
	padding:0 0 5em 0;
	position:relative;
	z-index:2;
}

.pagina_articulo{
	background:#111;
	border:1px solid rgba(255,255,255,.1);
	border-radius:.8em;
	padding:3.2em;
	margin:0;
}

.pagina_texto{
	color:#ddd;
	font-size:1em;
	line-height:1.85;
	margin:0;
}

.pagina_texto h1,
.pagina_texto h2,
.pagina_texto h3{
	color:#fff;
	font-weight:400;
	margin:1.6em 0 .8em 0;
}

.pagina_texto p{
	margin:0 0 1.2em 0;
}

.pagina_texto a{
	color:#d9a441 !important;
	text-decoration:none;
}

.pagina_texto ul,
.pagina_texto ol{
	margin:1em 0 1.5em 2em;
}

.pagina_texto li{
	margin:0 0 .7em 0;
}

/*==================================================
=           FIN      PÁGINA 
==================================================*/
/* AJUSTE BOTON LIMPIAR FILTROS ESCRITORIO */

.buscador_formulario .buscador_cabecera_filtros{
	display:block;
	margin:0 0 1.2em 0;
}

.buscador_formulario .buscador_titulo_filtros{
	margin:0 0 .8em 0;
	padding-bottom:.75em;
	border-bottom:1px solid rgba(255,255,255,0.18);
}

.buscador_formulario .buscador_boton_limpiar_superior{
	display:flex;
	align-items:center;
	justify-content:center;
	width:100%;
	height:2.8em;
	background:#111;
	border:1px solid rgba(255,255,255,.22);
	border-radius:.4em;
	color:#fff !important;
	font-size:.78em;
	font-weight:600;
	text-transform:uppercase;
	letter-spacing:.05em;
	margin:0 0 1.2em 0;
	transition:.25s;
}

.buscador_formulario .buscador_boton_limpiar_superior:hover{
	background:#000;
	border-color:#fff;
	color:#fff !important;
}