/**
 * LN Tunervag — hoja principal.
 *
 * Orden: variables · base · piezas · cabecera · portada · pie · adaptación.
 * Sin marcos redondeados: la identidad es de placa técnica, líneas rectas y
 * datos en monoespaciada.
 */

/* ==================================================================
   1. Variables
   ================================================================== */

:root {
	--lnt-dark: #0a0c0e;
	--lnt-carbon: #14181c;
	--lnt-carbon-2: #1b2126;
	--lnt-line-dark: #262e35;

	--lnt-accent: #e31c40;
	--lnt-on-accent: #fff;

	--lnt-ink: #0f1418;
	--lnt-body: #444e55;
	--lnt-muted: #6d7880;
	--lnt-muted-light: #8c979f;

	--lnt-paper: #fff;
	--lnt-mist: #f5f7f8;
	--lnt-line: #e3e7ea;

	--lnt-max: 1440px;
	--lnt-gut: clamp( 16px, 3vw, 44px );

	--lnt-font: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	/* Todo el sitio en Poppins. La variable se conserva porque la usan muchas
	   reglas (recuentos, rótulos, precios); apuntándola a la tipografía del
	   tema desaparece la monoespaciada de una sola vez. */
	--lnt-mono: var(--lnt-font);

	--lnt-head-h: 84px;
	--lnt-hero-min: 620px;

	--lnt-s-1: 8px;
	--lnt-s-2: 16px;
	--lnt-s-3: 24px;
	--lnt-s-4: 34px;
	--lnt-s-5: 52px;
	--lnt-s-6: 76px;
	--lnt-s-7: 104px;
}

/* ==================================================================
   2. Base
   ================================================================== */

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

html {
	scroll-behavior: smooth;
}

body.lnt,
.lnt input,
.lnt select,
.lnt textarea,
.lnt button {
	font-family: var(--lnt-font);
}

body.lnt {
	margin: 0;
	overflow-x: hidden;
	font-size: 16px;
	line-height: 1.6;
	color: var(--lnt-body);
	background: var(--lnt-paper);
	-webkit-font-smoothing: antialiased;
}

.lnt img {
	max-width: 100%;
	height: auto;
}

a {
	color: var(--lnt-accent);
	text-decoration: none;
}

a:hover {
	text-decoration: underline;
}

h1,
h2,
h3,
h4 {
	margin: 0 0 var(--lnt-s-2);
	color: var(--lnt-ink);
	font-weight: 800;
	line-height: 1.12;
	letter-spacing: -.015em;
}

.lnt :focus-visible {
	outline: 2px solid var(--lnt-accent);
	outline-offset: 3px;
}

.lnt-skip {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 999;
	padding: 12px 18px;
	background: var(--lnt-accent);
	color: #fff;
}

.lnt-skip:focus {
	left: 0;
}

.lnt-wrap {
	width: 100%;
	max-width: var(--lnt-max);
	margin: 0 auto;
	padding-left: var(--lnt-gut);
	padding-right: var(--lnt-gut);
}

.lnt-section {
	padding-top: var(--lnt-s-6);
	padding-bottom: var(--lnt-s-6);
}

.lnt-icon {
	display: block;
	flex: 0 0 auto;
}

/* texto largo: la columna se centra, el texto sigue alineado a la izquierda */
.lnt-prose {
	max-width: 78ch;
	margin-left: auto;
	margin-right: auto;
	color: var(--lnt-body);
}

.lnt-prose h2 {
	margin-top: var(--lnt-s-5);
	font-size: 24px;
	text-transform: uppercase;
}

.lnt-prose h3 {
	margin-top: var(--lnt-s-4);
	font-size: 19px;
}

.lnt-prose p,
.lnt-prose ul,
.lnt-prose ol {
	margin: 0 0 var(--lnt-s-2);
}

.lnt-prose img {
	margin: var(--lnt-s-3) 0;
}

/* ==================================================================
   3. Piezas comunes
   ================================================================== */

.lnt-eyebrow {
	margin: 0 0 12px;
	font-family: var(--lnt-mono);
	font-size: 11px;
	line-height: 1;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--lnt-accent);
}

.lnt-eyebrow::before {
	content: "";
	display: inline-block;
	width: 22px;
	height: 1px;
	margin: 0 10px 4px 0;
	background: var(--lnt-accent);
	vertical-align: middle;
}

.lnt-eyebrow-light {
	color: var(--lnt-accent);
}

/* encabezado de sección: tipografía y una regla, nunca una pastilla */
.lnt-shead {
	margin: 0 0 var(--lnt-s-4);
	max-width: 62ch;
}

.lnt-shead-center {
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

.lnt-stitle {
	position: relative;
	margin: 0;
	padding: 0 0 14px;
	font-size: clamp( 26px, 3vw, 38px );
	text-transform: uppercase;
}

.lnt-stitle::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 64px;
	height: 3px;
	background: var(--lnt-accent);
}

.lnt-shead-center .lnt-stitle::after {
	left: 50%;
	transform: translateX( -50% );
}

.lnt-stext {
	margin: 16px 0 0;
	font-size: 15px;
	color: var(--lnt-muted);
}

/* botones */
.lnt-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	padding: 14px 28px;
	border: 1px solid transparent;
	font-family: inherit;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .09em;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	transition: background-color .18s, color .18s, border-color .18s, filter .18s;
}

.lnt-btn:hover {
	text-decoration: none;
}

.lnt-btn-solid {
	background: var(--lnt-accent);
	border-color: var(--lnt-accent);
	color: var(--lnt-on-accent);
}

.lnt-btn-solid:hover {
	filter: brightness( 1.12 );
	color: #fff;
}

.lnt-btn-ghost {
	background: transparent;
	border-color: var(--lnt-ink);
	color: var(--lnt-ink);
}

.lnt-btn-ghost:hover {
	background: var(--lnt-ink);
	color: #fff;
}

.lnt-btn-dark {
	background: var(--lnt-ink);
	border-color: var(--lnt-ink);
	color: #fff;
}

.lnt-btn-dark:hover {
	background: var(--lnt-accent);
	border-color: var(--lnt-accent);
}

.lnt-link {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--lnt-accent);
}

/* estado vacío */
.lnt-empty {
	padding: var(--lnt-s-6) var(--lnt-s-3);
	border: 1px dashed var(--lnt-line);
	background: var(--lnt-mist);
	text-align: center;
}

.lnt-empty-title {
	margin: 0 0 6px;
	font-size: 20px;
	font-weight: 800;
	text-transform: uppercase;
	color: var(--lnt-ink);
}

.lnt-empty-text {
	margin: 0 0 var(--lnt-s-3);
	color: var(--lnt-muted);
}

/* migas */
.lnt-crumbs {
	border-bottom: 1px solid var(--lnt-line);
	background: var(--lnt-paper);
}

.lnt-crumbs-in {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	padding: 14px 0;
	font-size: 12px;
	color: var(--lnt-muted);
}

.lnt-crumbs a {
	color: var(--lnt-muted);
}

.lnt-crumbs a:hover {
	color: var(--lnt-accent);
	text-decoration: none;
}

.lnt-crumb-sep {
	display: inline-flex;
	color: var(--lnt-accent);
	opacity: .55;
}

.lnt-crumb-sep .lnt-icon {
	width: 12px;
	height: 12px;
}

/* cabecera interior */
.lnt-phead {
	padding: var(--lnt-s-5) 0;
	background: var(--lnt-dark);
	color: #fff;
	border-bottom: 3px solid var(--lnt-accent);
}

.lnt-phead .lnt-phead-title {
	margin: 0;
	color: #fff;
	font-size: clamp( 26px, 3.2vw, 40px );
	text-transform: uppercase;
}

.lnt-phead-text {
	margin: 12px 0 0;
	color: var(--lnt-muted-light);
	font-size: 15px;
}

/* ==================================================================
   4. Cabecera
   ================================================================== */

.lnt-topbar {
	background: var(--lnt-carbon);
	color: var(--lnt-muted-light);
	font-family: var(--lnt-mono);
	font-size: 11px;
	letter-spacing: .1em;
	text-transform: uppercase;
	text-align: center;
	padding: 8px 0;
}

.lnt-topbar a {
	color: #fff;
}

.lnt-head {
	position: relative;
	z-index: 60;
	background: #000;
	color: #fff;
	border-bottom: 1px solid rgba( 255, 255, 255, .08 );
}

.lnt-sticky-head .lnt-head {
	position: sticky;
	top: 0;
}

.lnt-head-in {
	display: flex;
	align-items: stretch;
	gap: clamp( 14px, 2vw, 34px );
	min-height: var(--lnt-head-h);
	padding-left: var(--lnt-gut);
}

.lnt-brand {
	display: flex;
	align-items: center;
	flex: 0 0 auto;
	padding: 10px 0;
}

.lnt-brand img,
.lnt-brand .custom-logo {
	display: block;
	width: auto;
	max-height: 54px;
}

.lnt-brand-text {
	color: #fff;
	font-size: 22px;
	font-weight: 900;
	letter-spacing: -.02em;
	text-transform: uppercase;
}

.lnt-brand-text:hover {
	text-decoration: none;
}

/* menú */
.lnt-nav {
	display: flex;
	align-items: stretch;
	flex: 1 1 auto;
	min-width: 0;
}

.lnt-menu {
	display: flex;
	align-items: stretch;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.lnt-menu > li {
	position: relative;
	display: flex;
	align-items: stretch;
}

/* Separadores entre voces. Van anclados al enlace, no al <li>: las voces con
   mega menú son position:static y su pseudo-elemento se iba al borde de la
   cabecera, delante del logotipo. */
.lnt-menu > li + li > a {
	position: relative;
}

.lnt-menu > li + li > a::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 1px;
	height: 17px;
	margin-top: -8px;
	background: rgba( 255, 255, 255, .22 );
	pointer-events: none;
}

.lnt-menu > li > a {
	display: flex;
	align-items: center;
	padding: 0 clamp( 10px, 1.05vw, 16px );
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
	white-space: nowrap;
	border-bottom: 3px solid transparent;
	transition: color .16s, border-color .16s;
}

.lnt-menu > li > a:hover,
.lnt-menu > li.current-menu-item > a,
.lnt-menu > li.current-menu-ancestor > a {
	color: var(--lnt-accent);
	border-bottom-color: var(--lnt-accent);
	text-decoration: none;
}

/* ------------------------------------------------------------------
   Mega menú: rejilla de logotipos de categoría
   ------------------------------------------------------------------ */

.lnt-menu > li.lnt-has-mega {
	position: static;
}

.lnt-mega-wrap {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	z-index: 30;
	padding: 0 var(--lnt-gut);
	opacity: 0;
	visibility: hidden;
	transform: translateY( 10px );
	transition: opacity .2s, transform .2s, visibility .2s;
	pointer-events: none;
}

.lnt-menu > li:hover > .lnt-mega-wrap,
.lnt-menu > li:focus-within > .lnt-mega-wrap {
	opacity: 1;
	visibility: visible;
	transform: none;
	pointer-events: auto;
}

.lnt-mega-inner {
	max-width: var(--lnt-max);
	margin: 0 auto;
}

.lnt-menu .lnt-mega-wrap .lnt-mega {
	display: grid;
	grid-template-columns: repeat( var(--lnt-mega-cols, 5 ), minmax( 0, 1fr ) );
	gap: 14px;
	max-width: var(--lnt-max);
	margin: 0 auto;
	padding: clamp( 18px, 2vw, 28px );
	list-style: none;
	background: #fff;
	border: 0;
	border-top: 3px solid var(--lnt-accent);
	box-shadow: 0 26px 50px rgba( 0, 0, 0, .32 );

	/* anula la animación del submenú normal */
	position: static;
	opacity: 1;
	visibility: visible;
	transform: none;
	min-width: 0;
}

.lnt-mega-item {
	display: flex;
	border: 0;
}

.lnt-menu .lnt-mega-wrap .lnt-mega-item > a {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 12px;
	width: 100%;
	padding: 20px 14px 16px;
	background: #fff;
	border: 1px solid var(--lnt-line);
	color: var(--lnt-ink);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	text-align: center;
	transition: border-color .18s, box-shadow .18s, transform .18s;
}

.lnt-menu .lnt-mega-wrap .lnt-mega-item > a:hover {
	background: #fff;
	border-color: var(--lnt-accent);
	box-shadow: 0 12px 24px rgba( 15, 20, 24, .12 );
	transform: translateY( -3px );
	color: var(--lnt-ink);
	text-decoration: none;
}

.lnt-mega-thumb {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 78px;
}

.lnt-mega-thumb img {
	max-width: 100%;
	max-height: 78px;
	width: auto;
	height: auto;
	object-fit: contain;
	transition: transform .25s;
}

/* iconos pequeños (los diámetros de llanta) no se estiran: mantienen su
   tamaño natural y la tarjeta sigue midiendo lo mismo que las demás */
.lnt-mega-thumb img[width],
.lnt-mega-thumb img {
	image-rendering: auto;
}

.lnt-mega-wrap .lnt-mega-item > a:hover .lnt-mega-thumb img {
	transform: scale( 1.05 );
}

.lnt-mega-name {
	display: block;
	line-height: 1.2;
	color: var(--lnt-muted);
	transition: color .18s;
}

.lnt-mega-wrap .lnt-mega-item > a:hover .lnt-mega-name {
	color: var(--lnt-accent);
}

/* voces sin imagen dentro del mega menú */
.lnt-mega-wrap .lnt-mega-item > a:not( :has( .lnt-mega-thumb ) ) {
	justify-content: center;
	min-height: 116px;
	font-size: 13px;
}

/* submenús normales (el mega tiene sus propias reglas más arriba) */
.lnt-menu .sub-menu:not( .lnt-mega ) {
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 20;
	min-width: 230px;
	margin: 0;
	padding: 8px 0;
	list-style: none;
	background: var(--lnt-carbon);
	border: 1px solid var(--lnt-line-dark);
	box-shadow: 0 24px 44px rgba( 0, 0, 0, .4 );
	opacity: 0;
	visibility: hidden;
	transform: translateY( 8px );
	transition: opacity .18s, transform .18s, visibility .18s;
}

.lnt-menu li:hover > .sub-menu:not( .lnt-mega ),
.lnt-menu li:focus-within > .sub-menu:not( .lnt-mega ) {
	opacity: 1;
	visibility: visible;
	transform: none;
}

.lnt-menu .sub-menu:not( .lnt-mega ) a {
	display: block;
	padding: 10px 18px;
	color: #d7dde1;
	font-size: 14px;
	font-weight: 600;
}

.lnt-menu .sub-menu:not( .lnt-mega ) a:hover {
	background: var(--lnt-carbon-2);
	color: #fff;
	text-decoration: none;
}

.lnt-menu .sub-menu .sub-menu {
	top: 0;
	left: 100%;
}

/* el panel del mega no hereda nada del submenú normal */
.lnt-menu .lnt-mega-wrap .lnt-mega {
	position: static;
	opacity: 1;
	visibility: visible;
	transform: none;
	min-width: 0;
	border-left: 0;
	border-right: 0;
	border-bottom: 0;
}

/* utilidades de la derecha */
.lnt-tools {
	display: flex;
	align-items: stretch;
	margin-left: auto;
	flex: 0 0 auto;
}

.lnt-tool {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 66px;
	padding: 0;
	border: 0;
	border-left: 1px solid rgba( 255, 255, 255, .1 );
	background: transparent;
	color: #fff;
	cursor: pointer;
	transition: color .16s, background-color .16s;
}

.lnt-tool .lnt-icon {
	stroke-width: 2;
}

.lnt-tool:hover {
	color: var(--lnt-accent);
	background: var(--lnt-carbon);
	text-decoration: none;
}

/* la lupa es el punto de entrada al catálogo: se marca un poco más */
.lnt-search-open[aria-expanded="true"] {
	background: var(--lnt-carbon);
	color: var(--lnt-accent);
}

.lnt-tool-wrap {
	position: relative;
	display: flex;
	align-items: stretch;
}

.lnt-cart {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 0 clamp( 16px, 2vw, 26px );
	border-left: 1px solid rgba( 255, 255, 255, .1 );
	color: #fff;
	transition: background-color .16s;
}

.lnt-cart:hover {
	background: var(--lnt-carbon);
	text-decoration: none;
}

.lnt-cart-icon {
	position: relative;
	display: flex;
}

.lnt-cart-count {
	position: absolute;
	top: -7px;
	right: -9px;
	min-width: 18px;
	height: 18px;
	padding: 0 4px;
	background: var(--lnt-accent);
	color: #fff;
	font-family: var(--lnt-mono);
	font-size: 10px;
	font-weight: 700;
	line-height: 18px;
	text-align: center;
}

.lnt-cart-text {
	display: flex;
	flex-direction: column;
	line-height: 1.2;
}

.lnt-cart-label {
	color: var(--lnt-accent);
	font-size: 13px;
	font-weight: 800;
	text-transform: uppercase;
}

.lnt-cart-total {
	font-family: var(--lnt-mono);
	font-size: 12px;
	color: #b9c1c7;
}

.lnt-cart-total .amount {
	color: #b9c1c7;
}

.lnt-burger {
	display: none;
}

/* buscador: cuadro que baja de la lupa */
.lnt-searchpop {
	position: absolute;
	top: calc( 100% + 10px );
	right: -8px;
	z-index: 70;
	width: min( 520px, calc( 100vw - 32px ) );
	background: #fff;
	border: 1px solid var(--lnt-line);
	box-shadow: 0 22px 44px rgba( 0, 0, 0, .28 );
}

.lnt-searchpop {
	visibility: hidden;
	opacity: 0;
	transform: translateY( -6px );
	transition: opacity .16s, transform .16s, visibility .16s;
}

.lnt-searchpop.is-open {
	visibility: visible;
	opacity: 1;
	transform: none;
}

/* la punta que señala la lupa */
.lnt-searchpop::before {
	content: "";
	position: absolute;
	top: -8px;
	right: 24px;
	width: 14px;
	height: 14px;
	background: #fff;
	border-left: 1px solid var(--lnt-line);
	border-top: 1px solid var(--lnt-line);
	transform: rotate( 45deg );
}

.lnt-searchpop-form {
	position: relative;
	display: flex;
	align-items: stretch;
	margin: 0;
}

.lnt-searchpop-form input[type="search"] {
	flex: 1 1 auto;
	min-width: 0;
	height: 54px;
	padding: 0 16px;
	border: 0;
	border-radius: 0;
	background: #fff;
	color: var(--lnt-ink);
	font-family: inherit;
	font-size: 15px;
	-webkit-appearance: none;
	appearance: none;
}

.lnt-searchpop-form input[type="search"]::placeholder {
	color: #9aa4ab;
	font-style: italic;
}

.lnt-searchpop-form input[type="search"]:focus {
	outline: 0;
	box-shadow: inset 0 -2px 0 var(--lnt-accent);
}

.lnt-searchpop-go {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	border: 0;
	border-radius: 0;
	background: var(--lnt-accent);
	color: #fff;
	cursor: pointer;
	transition: filter .16s;
}

.lnt-searchpop-go:hover {
	filter: brightness( 1.12 );
}

/* panel móvil */
.lnt-drawer {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: 200;
	width: min( 360px, 88vw );
	display: flex;
	flex-direction: column;
	background: var(--lnt-dark);
	color: #fff;
	transform: translateX( 100% );
	transition: transform .28s cubic-bezier( .3, .8, .3, 1 );
}

/* La visibilidad se controla con clases. El atributo hidden es frágil: basta
   con que cualquier hoja de un plugin declare [hidden]{display:none!important}
   para que el panel no vuelva a abrirse. */
.lnt-drawer {
	visibility: hidden;
}

.lnt-drawer-open .lnt-drawer {
	transform: none;
	visibility: visible;
}

.lnt-drawer-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 20px var(--lnt-s-3);
	border-bottom: 1px solid var(--lnt-line-dark);
}

.lnt-drawer-title {
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.lnt-drawer-close {
	border: 0;
	background: none;
	color: #fff;
	cursor: pointer;
}

.lnt-drawer-body {
	flex: 1 1 auto;
	overflow-y: auto;
	padding: var(--lnt-s-2) 0 var(--lnt-s-4);
}

.lnt-menu-mobile {
	margin: 0;
	padding: 0;
	list-style: none;
}

.lnt-menu-mobile li {
	border-bottom: 1px solid rgba( 255, 255, 255, .07 );
}

.lnt-menu-mobile a {
	display: block;
	padding: 15px var(--lnt-s-3);
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
}

.lnt-menu-mobile .sub-menu {
	margin: 0;
	padding: 0 0 8px var(--lnt-s-2);
	list-style: none;
}

.lnt-menu-mobile .sub-menu a {
	padding: 10px var(--lnt-s-3);
	font-size: 13px;
	font-weight: 500;
	text-transform: none;
	color: #b9c1c7;
}

.lnt-veil {
	position: fixed;
	inset: 0;
	pointer-events: none;
	z-index: 190;
	background: rgba( 0, 0, 0, .55 );
	opacity: 0;
	transition: opacity .28s;
}

.lnt-drawer-open .lnt-veil {
	opacity: 1;
	pointer-events: auto;
}

/* ==================================================================
   5. Portada · imagen principal
   ================================================================== */

.lnt-hero {
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: var(--lnt-hero-min);
	padding: var(--lnt-s-6) 0 var(--lnt-s-5);
	background-color: var(--lnt-dark);
	background-size: cover;
	background-repeat: no-repeat;
	color: #fff;
	overflow: hidden;
}

.lnt-hero-veil {
	position: absolute;
	inset: 0;
	background: linear-gradient( to bottom, rgba( 0, 0, 0, .35 ) 0%, rgba( 0, 0, 0, .1 ) 45%, rgba( 0, 0, 0, .8 ) 100% );
	pointer-events: none;
}

.lnt-hero-in {
	position: relative;
	width: 100%;
}

.lnt-hero-copy {
	max-width: 720px;
	margin-bottom: var(--lnt-s-4);
}

.lnt-hero .lnt-hero-title {
	margin: 0;
	color: #fff;
	font-size: clamp( 30px, 4.4vw, 58px );
	line-height: 1.02;
	text-transform: uppercase;
	text-shadow: 0 2px 30px rgba( 0, 0, 0, .5 );
}

.lnt-hero-text {
	margin: 16px 0 0;
	max-width: 54ch;
	font-size: clamp( 15px, 1.3vw, 17px );
	color: #dfe4e7;
}

/* la placa del buscador de vehículo */
/* En la portada el buscador se separa del titular para dejar ver la imagen. */
.lnt-hero .lnt-plate {
	margin-top: var(--lnt-plate-drop, 100px );
}

.lnt-plate {
	position: relative;
	background: rgba( 10, 12, 14, .92 );
	backdrop-filter: blur( 6px );
	border: 1px solid var(--lnt-line-dark);
	padding: 10px;
}

.lnt-shophead .lnt-plate {
	background: var(--lnt-carbon);
	backdrop-filter: none;
}

.lnt-plate .ln-vehicle-selector {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 0;
	margin: 0;
}

.lnt-plate .lnvs-step {
	position: relative;
	flex: 1 1 190px;
	display: flex;
	align-items: center;
	gap: 12px;
	min-width: 0;
	margin: 0;
	padding: 12px 16px;
	border-right: 1px solid var(--lnt-line-dark);
}

.lnt-plate .lnvs-step:last-of-type {
	border-right: 0;
}

.lnt-plate .lnvs-step::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 2px;
	background: var(--lnt-accent);
	transform: scaleX( 0 );
	transform-origin: left center;
	transition: transform .38s cubic-bezier( .3, .8, .3, 1 );
}

.lnt-plate .lnvs-step.lnt-done::after {
	transform: scaleX( 1 );
}

.lnt-plate .lnvs-step-badge {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border: 1px solid var(--lnt-line-dark);
	border-radius: 0;
	background: transparent;
	color: var(--lnt-muted);
	font-family: var(--lnt-mono);
	font-size: 12px;
	font-weight: 600;
	line-height: 1;
	transition: background-color .2s, color .2s, border-color .2s;
}

.lnt-plate .lnvs-step.lnt-done .lnvs-step-badge {
	background: var(--lnt-accent);
	border-color: var(--lnt-accent);
	color: #fff;
}

.lnt-plate .lnvs-step-field {
	flex: 1 1 auto;
	min-width: 0;
}

.lnt-plate .lnvs-select,
.lnt-plate select {
	width: 100%;
	height: 34px;
	padding: 0 26px 0 0;
	border: 0;
	border-radius: 0;
	background-color: transparent;
	color: #fff;
	font-family: inherit;
	font-size: 14px;
	font-weight: 600;
	text-transform: uppercase;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	background-image: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%238c979f' stroke-width='1.6'/%3E%3C/svg%3E" );
	background-repeat: no-repeat;
	background-position: right 4px center;
	background-size: 11px;
}

.lnt-plate .lnvs-select:disabled {
	color: #4d565d;
	cursor: not-allowed;
}

.lnt-plate .lnvs-select option {
	background: var(--lnt-carbon-2);
	color: #fff;
	text-transform: none;
}

.lnt-plate .lnvs-select-hidden {
	display: none !important;
}

.lnt-plate .lnvs-brand-select {
	position: relative;
	width: 100%;
}

.lnt-plate .lnvs-brand-current {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	height: 34px;
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	text-transform: uppercase;
	cursor: pointer;
}

.lnt-plate .lnvs-brand-current-inner {
	display: flex;
	align-items: center;
	gap: 9px;
	min-width: 0;
}

.lnt-plate .lnvs-brand-img-current {
	width: 22px;
	height: 22px;
	object-fit: contain;
	flex: 0 0 auto;
}

.lnt-plate .lnvs-brand-name-current {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.lnt-plate .lnvs-brand-arrow {
	flex: 0 0 auto;
	width: 11px;
	height: 7px;
	background: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%238c979f' stroke-width='1.6'/%3E%3C/svg%3E" ) no-repeat center / contain;
	transition: transform .2s;
}

.lnt-plate .lnvs-open .lnvs-brand-arrow {
	transform: rotate( 180deg );
}

.lnt-plate .lnvs-button {
	flex: 0 0 auto;
	align-self: stretch;
	min-height: 56px;
	margin: 0 0 0 12px;
	padding: 0 32px;
	border: 0;
	border-radius: 0;
	background: var(--lnt-accent);
	color: #fff;
	font-family: inherit;
	font-size: 14px;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
	cursor: pointer;
	transition: filter .2s;
}

.lnt-plate .lnvs-button:hover:not( :disabled ) {
	filter: brightness( 1.12 );
}

.lnt-plate .lnvs-button:disabled {
	background: var(--lnt-carbon-2);
	color: #59636a;
	cursor: not-allowed;
}

/* el desplegable de marcas se monta en el body con coordenadas de ventana */
.lnvs-brand-dropdown {
	position: fixed !important;
	z-index: 130;
	max-height: 340px;
	overflow-y: auto;
	background: #232a31;
	border: 1px solid #39424a;
	box-shadow: 0 22px 48px rgba( 0, 0, 0, .45 );
}

.lnvs-brand-item {
	display: flex;
	align-items: center;
	gap: 11px;
	padding: 9px 14px;
	border-bottom: 1px solid rgba( 255, 255, 255, .05 );
	color: #e7ebee;
	font-size: 13px;
	font-weight: 600;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color .15s, color .15s;
}

.lnvs-brand-item:last-child {
	border-bottom: 0;
}

.lnvs-brand-item:hover {
	background: var(--lnt-carbon-2);
	color: #fff;
}

/* Los logotipos son casi todos oscuros: sobre una tarjeta clara se leen. */
.lnvs-brand-item .lnvs-brand-img,
.lnt-plate .lnvs-brand-img-current {
	width: 34px;
	height: 26px;
	padding: 3px;
	background: #fff;
	border-radius: 3px;
	object-fit: contain;
	flex: 0 0 auto;
}

.lnvs-brand-item:hover {
	background: #2c353d;
}

/* línea de datos */
.lnt-rail {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 22px;
	margin: var(--lnt-s-2) 0 0;
	padding: 0;
	list-style: none;
	font-family: var(--lnt-font);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: #79848c;
}

.lnt-rail li + li::before {
	content: "/";
	margin-right: 22px;
	color: #3b444b;
}

/* ==================================================================
   6. Portada · ventajas
   ================================================================== */

.lnt-vent {
	padding: var(--lnt-s-5) 0;
	border-bottom: 1px solid var(--lnt-line);
	background: var(--lnt-paper);
}

.lnt-vent-list {
	display: grid;
	grid-template-columns: repeat( var(--lnt-vent-cols, 4 ), minmax( 0, 1fr ) );
	gap: var(--lnt-s-3);
	margin: 0;
	padding: 0;
	list-style: none;
}

.lnt-vent-item {
	text-align: center;
}

.lnt-vent-item > a {
	display: block;
	color: inherit;
}

.lnt-vent-item > a:hover {
	text-decoration: none;
}

.lnt-vent-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 62px;
	height: 62px;
	margin: 0 0 var(--lnt-s-2);
	border-radius: 50%;
	background: var(--lnt-mist);
	color: var(--lnt-accent);
	transition: background-color .2s, transform .2s;
}

.lnt-vent-item > a:hover .lnt-vent-icon {
	background: var(--lnt-accent);
	color: #fff;
	transform: translateY( -3px );
}

.lnt-vent-title {
	display: block;
	margin: 0 0 5px;
	color: var(--lnt-ink);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .09em;
	text-transform: uppercase;
}

.lnt-vent-text {
	display: block;
	font-size: 14px;
	color: var(--lnt-muted);
}

/* ==================================================================
   7. Portada · bloques dobles
   ================================================================== */

.lnt-duo {
	display: grid;
	grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
}

.lnt-duo-item {
	position: relative;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	min-height: clamp( 280px, 30vw, 420px );
	padding: var(--lnt-s-5) var(--lnt-s-3) 30px;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	overflow: hidden;
}

.lnt-duo .lnt-duo-btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 240px;
	padding: 16px 34px;
	background: var(--lnt-duo-btn-bg, var(--lnt-accent) );
	color: var(--lnt-duo-btn-color, #fff );
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .07em;
	text-transform: uppercase;
	text-decoration: none;
	transition: filter .18s, transform .18s;
}

.lnt-duo .lnt-duo-btn:hover {
	filter: brightness( 1.12 );
	transform: translateY( -2px );
	text-decoration: none;
	color: var(--lnt-duo-btn-color, #fff );
}

/* ==================================================================
   8. Portada · novedades
   ================================================================== */

.lnt-nov {
	padding: var(--lnt-s-7) 0;
}

.lnt-nov-more {
	margin: var(--lnt-s-5) 0 0;
	text-align: center;
}

/* ==================================================================
   9. Newsletter
   ================================================================== */

.lnt-news {
	position: relative;
	padding: var(--lnt-s-7) 0;
	background: #080808;
	color: #fff;
	border-top: 3px solid var(--lnt-accent);
	border-bottom: 3px solid #fff;
	overflow: hidden;
}

/* trama técnica, la misma del encabezado de la tienda */
.lnt-news::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		repeating-linear-gradient( to right, rgba( 255, 255, 255, .028 ) 0 1px, transparent 1px 52px ),
		repeating-linear-gradient( to bottom, rgba( 255, 255, 255, .028 ) 0 1px, transparent 1px 52px );
	pointer-events: none;
}

.lnt-news-in {
	position: relative;
	display: grid;
	grid-template-columns: minmax( 0, 1.15fr ) minmax( 0, .85fr );
	gap: clamp( 30px, 5vw, 72px );
	align-items: center;
}

.lnt-news-copy {
	min-width: 0;
}

.lnt-news .lnt-news-title {
	margin: 0 0 14px;
	color: #fff;
	font-size: clamp( 24px, 2.7vw, 36px );
	font-weight: 700;
	line-height: 1.14;
	letter-spacing: -.01em;
	text-transform: none;
}

.lnt-news-text {
	margin: 0;
	max-width: 46ch;
	color: var(--lnt-muted-light);
	font-size: 15px;
	line-height: 1.6;
}

/* la imagen entra pegada al texto, no flotando en medio de la nada */
.lnt-news-figure {
	position: relative;
	margin: var(--lnt-s-3) 0 0;
}

.lnt-news.has-glow .lnt-news-figure::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 86%;
	height: 62%;
	transform: translate( -50%, -50% );
	background: radial-gradient( ellipse at center, rgba( 227, 28, 64, .32 ) 0%, rgba( 227, 28, 64, .08 ) 45%, transparent 72% );
	filter: blur( 12px );
	pointer-events: none;
}

.lnt-news-img {
	position: relative;
	display: block;
	width: 100%;
	height: auto;
}

/* el formulario vive en una placa, como el buscador de vehículo */
.lnt-news-panel {
	position: relative;
	padding: clamp( 22px, 2.6vw, 34px );
	background: #0d0d0d;
	border: 1px solid #22262a;
}

.lnt-news-panel::after {
	content: "";
	position: absolute;
	left: -1px;
	top: -1px;
	width: 46px;
	height: 3px;
	background: var(--lnt-accent);
}

.lnt-news-panel-label {
	margin: 0 0 var(--lnt-s-3);
	padding: 0 0 14px;
	border-bottom: 1px solid #22262a;
	font-family: var(--lnt-mono);
	font-size: 11px;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: #79848c;
}

.lnt-news-form .tnp,
.lnt-news-form form {
	margin: 0;
	max-width: none;
}

.lnt-news-form .tnp-field {
	margin: 0 0 var(--lnt-s-2);
}

.lnt-news-form label,
.lnt-news-form .tnp-field-label {
	display: block;
	margin: 0 0 8px;
	color: #e7ebee;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
}

.lnt-news-form input[type="text"],
.lnt-news-form input[type="email"] {
	width: 100%;
	height: 54px;
	padding: 0 16px;
	border: 1px solid #22262a;
	border-radius: 0;
	background: #fff;
	color: var(--lnt-ink);
	font-family: inherit;
	font-size: 15px;
}

.lnt-news-form input[type="text"]:focus,
.lnt-news-form input[type="email"]:focus {
	outline: 2px solid var(--lnt-accent);
	outline-offset: 1px;
}

.lnt-news-form input[type="submit"],
.lnt-news-form .tnp-submit {
	width: 100%;
	height: 56px;
	margin: var(--lnt-s-2) 0 0;
	border: 0;
	border-radius: 0;
	background: var(--lnt-accent);
	color: #fff;
	font-family: inherit;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	cursor: pointer;
	transition: filter .18s, transform .18s;
}

.lnt-news-form input[type="submit"]:hover {
	filter: brightness( 1.12 );
	transform: translateY( -1px );
}

.lnt-news-form .tnp-privacy-field,
.lnt-news-form .tnp-field-checkbox {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 14px;
	color: #b9c1c7;
}

.lnt-news-form .tnp-privacy-field label,
.lnt-news-form .tnp-field-checkbox label {
	margin: 0;
	font-size: 14px;
	font-weight: 400;
	color: #b9c1c7;
}

.lnt-news-form input[type="checkbox"] {
	width: 17px;
	height: 17px;
	margin: 0;
	accent-color: var(--lnt-accent);
}

.lnt-news-form a {
	color: #fff;
	text-decoration: underline;
}

/* ventajas bajo el formulario */
.lnt-news-note {
	margin: var(--lnt-s-3) 0 0;
	padding: var(--lnt-s-2) 0 0;
	border-top: 1px solid #22262a;
	list-style: none;
	display: grid;
	gap: 7px;
}

.lnt-news-note li {
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: var(--lnt-mono);
	font-size: 11px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: #79848c;
}

.lnt-news-note li::before {
	content: "";
	flex: 0 0 auto;
	width: 14px;
	height: 1px;
	background: var(--lnt-accent);
}

/* ==================================================================
   10. Pie
   ================================================================== */

.lnt-foot {
	position: relative;
	padding: var(--lnt-s-6) 0 0;
	background: #05070a;
	color: #b9c1c7;
	font-size: 14px;
}

.lnt-foot-grid {
	display: grid;
	grid-template-columns: minmax( 0, 1.1fr ) minmax( 0, 1.1fr ) minmax( 0, .9fr );
	gap: clamp( 28px, 4vw, 64px );
	padding-bottom: var(--lnt-s-6);
}

.lnt-foot-logo {
	max-width: 200px;
	height: auto;
	margin: 0 0 var(--lnt-s-2);
}

.lnt-foot-text {
	margin: 0 0 var(--lnt-s-3);
	max-width: 46ch;
	line-height: 1.7;
}

.lnt-foot-contact {
	margin: 0;
	padding: 0;
	list-style: none;
}

.lnt-foot-contact li {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 7px 0;
	color: #fff;
	font-weight: 700;
}

.lnt-foot-contact .lnt-icon {
	color: var(--lnt-accent);
}

.lnt-foot-contact a {
	color: #fff;
}

.lnt-foot-contact a:hover {
	color: var(--lnt-accent);
	text-decoration: none;
}

.lnt-loc {
	display: flex;
	gap: 12px;
	margin: 0 0 var(--lnt-s-3);
}

.lnt-loc-pin {
	color: var(--lnt-accent);
	padding-top: 2px;
}

.lnt-loc-title {
	margin: 0 0 3px;
	color: #fff;
	font-weight: 800;
	font-size: 15px;
}

.lnt-loc-text {
	margin: 0;
	line-height: 1.6;
	color: #98a1a8;
}

.lnt-foot .lnt-foot-title {
	margin: 0 0 var(--lnt-s-2);
	color: #fff;
	font-size: 14px;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.lnt-foot-menu {
	margin: 0 0 var(--lnt-s-4);
	padding: 0;
	list-style: none;
	border-top: 1px solid rgba( 255, 255, 255, .08 );
}

.lnt-foot-menu li {
	border-bottom: 1px solid rgba( 255, 255, 255, .08 );
}

.lnt-foot-menu a {
	display: block;
	padding: 10px 0;
	color: #b9c1c7;
	font-size: 14px;
}

.lnt-foot-menu a:hover {
	color: var(--lnt-accent);
	padding-left: 6px;
	text-decoration: none;
	transition: padding-left .16s, color .16s;
}

.lnt-pays {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.lnt-pays img {
	height: 44px;
	width: auto;
	display: block;
}

.lnt-pays-wide {
	display: block;
	margin: var(--lnt-s-2) 0 0;
}

.lnt-pays-wide img {
	height: auto;
	width: 100%;
	max-width: 442px;
}

.lnt-foot-bottom {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--lnt-s-2);
	padding: var(--lnt-s-3) 0;
	border-top: 1px solid rgba( 255, 255, 255, .09 );
}

.lnt-copy {
	margin: 0;
	font-family: var(--lnt-mono);
	font-size: 11px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: #6c757c;
}

.lnt-legal-menu {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 22px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.lnt-legal-menu a {
	color: #8c979f;
	font-size: 13px;
}

.lnt-legal-menu a:hover {
	color: #fff;
	text-decoration: none;
}

/* selector de idioma */
.lnt-lang {
	margin: var(--lnt-s-3) 0 0;
}

/* Dentro del panel móvil el selector deja de ser una cajita blanca flotante:
   pasa a ser una fila más del menú, del mismo ancho y con el mismo ritmo. */
.lnt-drawer .lnt-lang {
	margin: var(--lnt-s-2) 0 0;
	padding: var(--lnt-s-2) var(--lnt-s-3) 0;
	border-top: 1px solid rgba( 255, 255, 255, .07 );
}

.lnt-drawer .lnt-lang .trp-language-switcher {
	display: block;
	width: 100%;
}

.lnt-drawer .lnt-lang .trp-language-switcher > div {
	width: 100%;
	background: transparent;
	border: 1px solid var(--lnt-line-dark);
}

.lnt-drawer .lnt-lang .trp-ls-shortcode-current-language,
.lnt-drawer .lnt-lang .trp-ls-shortcode-language {
	width: 100% !important;
	min-width: 0;
	max-width: none;
	background: transparent;
}

.lnt-drawer .lnt-lang a {
	padding: 13px 15px !important;
	font-size: 13px;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.lnt-drawer .lnt-lang .trp-ls-shortcode-language {
	border-top: 1px solid rgba( 255, 255, 255, .07 );
	background: var(--lnt-carbon);
}

.lnt-drawer .lnt-lang img {
	width: 20px;
}

.lnt-foot-about .lnt-lang {
	margin-top: var(--lnt-s-3);
}

/* la lista de contacto abre la segunda columna, sobre las sedes */
.lnt-foot-locs .lnt-foot-contact {
	margin: 0 0 var(--lnt-s-4);
	padding: 0 0 var(--lnt-s-3);
	border-bottom: 1px solid rgba( 255, 255, 255, .09 );
}

.lnt-lang .trp-language-switcher {
	display: inline-block;
	margin: 0;
	padding: 0;
}

.lnt-lang .trp-language-switcher > div {
	background: var(--lnt-carbon);
	border: 1px solid var(--lnt-line-dark);
	border-radius: 0;
	padding: 0;
}

.lnt-lang .trp-ls-shortcode-current-language,
.lnt-lang .trp-ls-shortcode-language {
	background: transparent;
	border: 0;
	min-width: 190px;
}

.lnt-lang a {
	display: flex !important;
	align-items: center;
	gap: 10px;
	padding: 11px 15px !important;
	color: #fff !important;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none !important;
}

.lnt-lang .trp-ls-shortcode-language a:hover {
	background: var(--lnt-carbon-2);
	color: var(--lnt-accent) !important;
}

.lnt-lang img {
	width: 22px;
	height: auto;
	display: block;
}

/* botones flotantes: WhatsApp y volver arriba */
.lnt-float {
	position: fixed;
	right: 22px;
	bottom: 22px;
	z-index: 95;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 12px;
}

.lnt-float-btn {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	padding: 0;
	border: 0;
	color: #fff;
	cursor: pointer;
	box-shadow: 0 10px 26px rgba( 0, 0, 0, .35 );
	transition: transform .18s, filter .18s, opacity .2s, visibility .2s;
}

.lnt-float-btn:hover {
	transform: translateY( -3px );
	filter: brightness( 1.1 );
	text-decoration: none;
	color: #fff;
}

.lnt-wa {
	background: #25d366;
}

.lnt-top {
	background: var(--lnt-accent);
	opacity: 0;
	visibility: hidden;
	transform: translateY( 10px );
}

.lnt-top.is-on {
	opacity: 1;
	visibility: visible;
	transform: none;
}

/* etiqueta al pasar el cursor */
.lnt-float-tip {
	position: absolute;
	right: calc( 100% + 12px );
	top: 50%;
	transform: translateY( -50% ) translateX( 6px );
	padding: 8px 13px;
	background: var(--lnt-dark);
	border: 1px solid var(--lnt-line-dark);
	color: #fff;
	font-size: 12px;
	font-weight: 600;
	white-space: nowrap;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity .18s, transform .18s, visibility .18s;
}

.lnt-float-btn:hover .lnt-float-tip,
.lnt-float-btn:focus-visible .lnt-float-tip {
	opacity: 1;
	visibility: visible;
	transform: translateY( -50% );
}

/* ==================================================================
   11. Entradas y paginación
   ================================================================== */

.lnt-posts {
	display: grid;
	grid-template-columns: repeat( auto-fill, minmax( 300px, 1fr ) );
	gap: var(--lnt-s-4);
}

.lnt-post {
	border: 1px solid var(--lnt-line);
	background: #fff;
}

.lnt-post-media img {
	display: block;
	width: 100%;
	height: 200px;
	object-fit: cover;
}

.lnt-post-body {
	padding: var(--lnt-s-3);
}

.lnt-post-date {
	margin: 0 0 8px;
	font-family: var(--lnt-mono);
	font-size: 11px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--lnt-muted);
}

.lnt-post-title {
	margin: 0 0 10px;
	font-size: 19px;
}

.lnt-post-title a {
	color: var(--lnt-ink);
}

.lnt-post-title a:hover {
	color: var(--lnt-accent);
	text-decoration: none;
}

.lnt-post-hero img {
	display: block;
	width: 100%;
	margin: 0 0 var(--lnt-s-4);
}

.lnt-pagination {
	margin: var(--lnt-s-5) 0 0;
	padding: var(--lnt-s-3) 0 0;
	border-top: 1px solid var(--lnt-line);
}

.lnt-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	height: 42px;
	padding: 0 12px;
	border: 1px solid var(--lnt-line);
	background: #fff;
	color: var(--lnt-ink);
	font-family: var(--lnt-mono);
	font-size: 13px;
	text-decoration: none;
	transition: border-color .15s, background-color .15s, color .15s;
}

.lnt-pagination ul.page-numbers,
.lnt-pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	justify-content: center;
	margin: 0;
	padding: 0;
	list-style: none;
	border: 0;
}

.lnt-pagination li {
	margin: 0;
	border: 0;
	list-style: none;
}

.lnt-pagination .page-numbers:hover {
	border-color: var(--lnt-ink);
	text-decoration: none;
}

.lnt-pagination .page-numbers.current {
	background: var(--lnt-ink);
	border-color: var(--lnt-ink);
	color: #fff;
}

.lnt-404 {
	max-width: 640px;
	margin: 0 auto;
	padding: var(--lnt-s-6) 0;
	text-align: center;
}

.lnt-404-code {
	margin: 0;
	font-family: var(--lnt-mono);
	font-size: clamp( 64px, 14vw, 150px );
	font-weight: 700;
	line-height: 1;
	color: var(--lnt-line);
}

.lnt-404-title {
	margin: 0 0 12px;
	font-size: 28px;
	text-transform: uppercase;
}

.lnt-404-text {
	margin: 0 0 var(--lnt-s-3);
	color: var(--lnt-muted);
}

/* ==================================================================
   12. Adaptación
   ================================================================== */

@media ( max-width: 1240px ) {
	.lnt-menu > li > a {
		padding: 0 9px;
		font-size: 13.5px;
	}

	.lnt-menu .lnt-mega-wrap .lnt-mega {
		grid-template-columns: repeat( min( var(--lnt-mega-cols, 5 ), 4 ), minmax( 0, 1fr ) );
	}

	.lnt-cart-text {
		display: none;
	}
}

@media ( max-width: 1024px ) {
	:root {
		--lnt-head-h: 68px;
	}

	/* La barra no debe desbordar nunca: el logotipo cede sitio y las
	   herramientas se estrechan, para que el botón del menú quepa. */
	.lnt-head-in {
		gap: 8px;
		padding-left: 14px;
	}

	.lnt-brand {
		flex: 0 1 auto;
		min-width: 0;
		padding: 8px 0;
	}

	.lnt-brand img,
	.lnt-brand .custom-logo {
		max-height: 40px;
		max-width: 100%;
	}

	.lnt-brand-text {
		font-size: 18px;
	}

	.lnt-tools {
		flex: 0 0 auto;
	}

	.lnt-tool {
		width: 52px;
	}

	.lnt-cart {
		padding: 0 12px;
	}

	.lnt-cart-text {
		display: none;
	}

	.lnt-top {
		display: none;
	}

	.lnt-float-tip {
		display: none;
	}

	.lnt-nav {
		display: none;
	}

	.lnt-burger {
		display: flex;
	}

	.lnt-vent-list {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
		gap: var(--lnt-s-4) var(--lnt-s-2);
	}

	.lnt-duo {
		grid-template-columns: minmax( 0, 1fr );
	}

	.lnt-news-in {
		grid-template-columns: minmax( 0, 1fr );
		gap: var(--lnt-s-4);
	}

	.lnt-foot-grid {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}

	.lnt-plate .lnvs-step {
		flex: 1 1 calc( 50% - 1px );
		border-bottom: 1px solid var(--lnt-line-dark);
	}

	.lnt-plate .lnvs-button {
		flex: 1 1 100%;
		margin: 12px 0 0;
		min-height: 52px;
	}
}

@media ( max-width: 720px ) {
	:root {
		--lnt-hero-min: 560px;
	}

	/* El buscador baja aún más: en vertical la imagen se ve mucho menos. */
	.lnt-hero .lnt-plate {
		margin-top: calc( var(--lnt-plate-drop, 100px ) + 90px );
	}

	.lnt-hero {
		align-items: flex-end;
		background-position: center center;
	}

	.lnt-section,
	.lnt-nov {
		padding-top: var(--lnt-s-5);
		padding-bottom: var(--lnt-s-5);
	}

	.lnt-foot-grid {
		grid-template-columns: minmax( 0, 1fr );
		gap: var(--lnt-s-4);
		padding-bottom: var(--lnt-s-4);
	}

	.lnt-foot {
		padding-top: var(--lnt-s-5);
	}

	.lnt-plate .lnvs-step {
		flex: 1 1 100%;
		border-right: 0;
	}

	.lnt-searchpop {
		position: fixed;
		top: calc( var(--lnt-head-h) + 8px );
		left: 16px;
		right: 16px;
		width: auto;
	}

	.lnt-searchpop::before {
		right: 30px;
	}

	.lnt-foot-bottom {
		flex-direction: column;
		align-items: flex-start;
	}
}

@media ( prefers-reduced-motion: reduce ) {
	html {
		scroll-behavior: auto;
	}

	.lnt *,
	.lnt *::before,
	.lnt *::after {
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
	}
}

/* ==================================================================
   13. Página de contacto
   ================================================================== */

.lnt-contact {
	display: grid;
	grid-template-columns: minmax( 0, .95fr ) minmax( 0, 1.05fr );
	gap: clamp( 30px, 5vw, 76px );
	align-items: start;
}

.lnt-contact-title {
	margin: 0 0 var(--lnt-s-3);
	font-size: clamp( 24px, 2.6vw, 34px );
	text-transform: uppercase;
}

.lnt-contact-list {
	margin: 0 0 var(--lnt-s-3);
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--lnt-line);
}

.lnt-contact-list li,
.lnt-contact-loc {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	padding: 18px 0;
	border-bottom: 1px solid var(--lnt-line);
}

.lnt-contact-icon {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	background: var(--lnt-mist);
	color: var(--lnt-accent);
	transition: background-color .18s, color .18s;
}

.lnt-contact-list li:hover .lnt-contact-icon,
.lnt-contact-loc:hover .lnt-contact-icon {
	background: var(--lnt-accent);
	color: #fff;
}

.lnt-contact-body {
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
}

.lnt-contact-label {
	font-family: var(--lnt-mono);
	font-size: 10px;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--lnt-muted);
}

.lnt-contact-value {
	font-size: 17px;
	font-weight: 700;
	color: var(--lnt-ink);
}

a.lnt-contact-value:hover {
	color: var(--lnt-accent);
	text-decoration: none;
}

.lnt-contact-address {
	font-size: 15px;
	font-weight: 500;
	line-height: 1.55;
	color: var(--lnt-body);
}

.lnt-contact-locs {
	margin: var(--lnt-s-3) 0 0;
	border-top: 1px solid var(--lnt-line);
}

/* llamada a WhatsApp */
.lnt-contact-wa {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 18px 22px;
	background: var(--lnt-dark);
	color: #fff;
	transition: transform .18s, box-shadow .18s;
}

.lnt-contact-wa:hover {
	transform: translateY( -2px );
	box-shadow: 0 14px 30px rgba( 0, 0, 0, .22 );
	color: #fff;
	text-decoration: none;
}

.lnt-contact-wa .lnt-icon {
	color: #25d366;
}

.lnt-contact-wa span {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.lnt-contact-wa strong {
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.lnt-contact-wa em {
	font-style: normal;
	font-size: 13px;
	color: var(--lnt-muted-light);
}

/* formulario */
.lnt-contact-form {
	position: relative;
	padding: clamp( 24px, 3vw, 40px );
	background: var(--lnt-mist);
	border: 1px solid var(--lnt-line);
}

.lnt-contact-form::after {
	content: "";
	position: absolute;
	left: -1px;
	top: -1px;
	width: 52px;
	height: 3px;
	background: var(--lnt-accent);
}

.lnt-contact-form-label {
	margin: 0 0 var(--lnt-s-3);
	padding: 0 0 14px;
	border-bottom: 1px solid var(--lnt-line);
	font-family: var(--lnt-mono);
	font-size: 11px;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--lnt-muted);
}

.lnt-contact-form input[type="text"],
.lnt-contact-form input[type="email"],
.lnt-contact-form input[type="tel"],
.lnt-contact-form input[type="url"],
.lnt-contact-form select,
.lnt-contact-form textarea {
	width: 100%;
	padding: 14px 16px;
	border: 1px solid var(--lnt-line);
	border-radius: 0;
	background: #fff;
	color: var(--lnt-ink);
	font-family: inherit;
	font-size: 15px;
}

.lnt-contact-form textarea {
	min-height: 150px;
	resize: vertical;
}

.lnt-contact-form label {
	font-size: 13px;
	font-weight: 600;
	color: var(--lnt-ink);
}

.lnt-contact-form input[type="submit"],
.lnt-contact-form button[type="submit"],
.lnt-contact-form .wpforms-submit {
	width: 100%;
	padding: 16px 24px;
	border: 0;
	border-radius: 0;
	background: var(--lnt-accent);
	color: #fff;
	font-family: inherit;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
	cursor: pointer;
	transition: filter .18s;
}

.lnt-contact-form input[type="submit"]:hover,
.lnt-contact-form button[type="submit"]:hover,
.lnt-contact-form .wpforms-submit:hover {
	filter: brightness( 1.12 );
}

/* mapas */
.lnt-maps {
	display: grid;
	grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	gap: 0;
	border-top: 3px solid var(--lnt-accent);
}

.lnt-maps.is-single {
	grid-template-columns: minmax( 0, 1fr );
}

.lnt-map {
	position: relative;
	margin: 0;
	background: var(--lnt-dark);
}

.lnt-map iframe {
	display: block;
	width: 100%;
	height: clamp( 300px, 34vw, 420px );
	border: 0;
	filter: grayscale( 1 ) contrast( 1.05 );
	transition: filter .3s;
}

.lnt-map:hover iframe {
	filter: none;
}

.lnt-map figcaption {
	display: flex;
	flex-direction: column;
	gap: 3px;
	padding: 18px clamp( 18px, 3vw, 34px );
	background: var(--lnt-dark);
	color: var(--lnt-muted-light);
	font-size: 14px;
}

.lnt-map figcaption strong {
	color: #fff;
	font-size: 15px;
	letter-spacing: .04em;
	text-transform: uppercase;
}

@media ( max-width: 1024px ) {
	.lnt-contact {
		grid-template-columns: minmax( 0, 1fr );
	}

	.lnt-maps {
		grid-template-columns: minmax( 0, 1fr );
	}
}

/* ==================================================================
   14. Formulario del tema
   ================================================================== */

.lnt-form-body {
	margin: 0;
}

.lnt-form-row {
	display: grid;
	grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	gap: 0 18px;
}

.lnt-form-field {
	margin: 0 0 var(--lnt-s-2);
}

.lnt-form-field label,
.lnt-form-check label {
	display: block;
	margin: 0 0 7px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .07em;
	text-transform: uppercase;
	color: var(--lnt-ink);
}

.lnt-form-field label span {
	color: var(--lnt-accent);
}

.lnt-form-field input,
.lnt-form-field textarea {
	width: 100%;
	padding: 14px 16px;
	border: 1px solid var(--lnt-line);
	border-radius: 0;
	background: #fff;
	color: var(--lnt-ink);
	font-family: inherit;
	font-size: 15px;
	transition: border-color .16s, box-shadow .16s;
}

.lnt-form-field input:focus,
.lnt-form-field textarea:focus {
	outline: 0;
	border-color: var(--lnt-accent);
	box-shadow: 0 0 0 3px rgba( 227, 28, 64, .12 );
}

.lnt-form-field textarea {
	min-height: 150px;
	resize: vertical;
}

.lnt-form-check {
	margin: 0 0 var(--lnt-s-2);
}

.lnt-form-check label {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0;
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
	color: var(--lnt-body);
	cursor: pointer;
}

.lnt-form-check input[type="checkbox"] {
	flex: 0 0 auto;
	width: 17px;
	height: 17px;
	margin: 3px 0 0;
	accent-color: var(--lnt-accent);
}

.lnt-form-turnstile {
	margin: 0 0 var(--lnt-s-2);
}

.lnt-form-submit {
	margin: var(--lnt-s-2) 0 0;
}

.lnt-form-submit button {
	width: 100%;
	padding: 17px 24px;
	border: 0;
	border-radius: 0;
	background: var(--lnt-accent);
	color: #fff;
	font-family: inherit;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
	cursor: pointer;
	transition: filter .18s, transform .18s;
}

.lnt-form-submit button:hover {
	filter: brightness( 1.12 );
	transform: translateY( -1px );
}

/* la trampa para robots no se ve ni se tabula */
.lnt-form-trap {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/* avisos */
.lnt-form-note {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 0 0 var(--lnt-s-3);
	padding: 16px 18px;
	border-left: 3px solid var(--lnt-accent);
	background: #fff;
	font-size: 14px;
}

.lnt-form-note strong {
	font-size: 13px;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--lnt-ink);
}

.lnt-form-note ul {
	margin: 0;
	padding-left: 18px;
	color: var(--lnt-body);
}

.lnt-form-ok {
	border-left-color: #1f9d55;
}

@media ( max-width: 620px ) {
	.lnt-form-row {
		grid-template-columns: minmax( 0, 1fr );
	}
}

/* el buscador de vehículo dentro de la tienda: herramienta secundaria */
.lnt-plate-wrap {
	margin: var(--lnt-s-3) 0 0;
	padding: var(--lnt-s-3) 0 0;
	border-top: 1px solid rgba( 255, 255, 255, .1 );
}

.lnt-plate-label {
	margin: 0 0 14px;
	font-family: inherit;
	font-size: 15px;
	line-height: 1.55;
	letter-spacing: 0;
	text-transform: none;
	color: var(--lnt-muted-light);
}

/* ==================================================================
   15. Marcas
   ------------------------------------------------------------------
   Ojo: .lnt-brand es el logotipo del sitio en la cabecera. Las tarjetas
   de esta página usan .lnt-brandcard para no pisarlo.
   ================================================================== */

.lnt-brandgrid-intro {
	margin-bottom: var(--lnt-s-5);
}

.lnt-brandgrid {
	display: grid;
	grid-template-columns: repeat( var(--lnt-brandgrid-cols, 5 ), minmax( 0, 1fr ) );
	gap: clamp( 12px, 1.4vw, 20px );
	margin: 0;
	padding: 0;
	list-style: none;
}

.lnt-brandcard > a {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	height: 100%;
	padding: 22px 16px 18px;
	background: #fff;
	border: 1px solid var(--lnt-line);
	text-align: center;
	transition: border-color .18s, box-shadow .18s, transform .18s;
}

.lnt-brandcard > a:hover {
	border-color: var(--lnt-accent);
	box-shadow: 0 14px 28px rgba( 15, 20, 24, .1 );
	transform: translateY( -3px );
	text-decoration: none;
}

.lnt-brandcard-mark {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 72px;
}

.lnt-brandcard-mark img {
	max-width: 100%;
	max-height: 72px;
	width: auto;
	height: auto;
	object-fit: contain;
}

.lnt-brandcard-initial {
	font-size: 26px;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--lnt-line);
}

.lnt-brandcard-name {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--lnt-ink);
}

.lnt-brandcard-count {
	font-family: var(--lnt-mono);
	font-size: 10px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--lnt-muted);
}

/* Presentación del término: logotipo a un lado, descripción al otro. */
.lnt-termintro {
	margin: 0 0 var(--lnt-s-4);
}

.lnt-termintro.has-logo {
	display: grid;
	grid-template-columns: 190px minmax( 0, 1fr );
	gap: clamp( 18px, 2.5vw, 34px );
	align-items: start;
}

.lnt-termmark {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	margin: 0;
	padding: 0;
	background: none;
	border: 0;
}

.lnt-termmark img {
	max-width: 100%;
	max-height: 84px;
	width: auto;
	height: auto;
	object-fit: contain;
}

.lnt-termintro .lnt-shop-desc {
	margin: 0;
	max-width: 72ch;
}

@media ( max-width: 720px ) {
	.lnt-termintro.has-logo {
		grid-template-columns: minmax( 0, 1fr );
		gap: var(--lnt-s-2);
	}

	.lnt-termmark {
		max-width: 190px;
	}
}

@media ( max-width: 1024px ) {
	.lnt-brandgrid {
		grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
	}
}

@media ( max-width: 620px ) {
	.lnt-brandgrid {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}
}

/* ==================================================================
   16. Selector de idioma en la cabecera
   ------------------------------------------------------------------
   Marcado propio (ver lnt_lang_compact): un botón con la bandera y una
   lista. Nada que dependa de las clases ni del JavaScript del plugin de
   traducción, que cambian de una versión a otra.
   ================================================================== */

.lnt-head-lang {
	position: relative;
	display: flex;
	align-items: stretch;
	margin: 0;
	border-left: 1px solid rgba( 255, 255, 255, .1 );
}

.lnt-lang-btn {
	display: flex;
	align-items: center;
	gap: 9px;
	height: 100%;
	padding: 0 16px;
	border: 0;
	background: transparent;
	color: #fff;
	cursor: pointer;
	transition: background-color .16s;
}

.lnt-lang-btn:hover,
.lnt-head-lang.is-open .lnt-lang-btn {
	background: var(--lnt-carbon);
}

.lnt-lang-btn img {
	display: block;
	width: 26px;
	height: auto;
	max-width: none;
	object-fit: contain;
	border-radius: 2px;
	box-shadow: 0 0 0 1px rgba( 255, 255, 255, .2 );
}

.lnt-lang-code {
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.lnt-lang-caret {
	width: 9px;
	height: 6px;
	background: #9aa4ab;
	clip-path: polygon( 0 0, 100% 0, 50% 100% );
	transition: transform .2s, background-color .2s;
}

.lnt-lang-btn:hover .lnt-lang-caret {
	background: #fff;
}

.lnt-head-lang.is-open .lnt-lang-caret {
	background: #fff;
	transform: rotate( 180deg );
}

.lnt-lang-list {
	position: absolute;
	top: 100%;
	right: 0;
	z-index: 90;
	min-width: 210px;
	margin: 0;
	padding: 0;
	list-style: none;
	background: var(--lnt-carbon);
	border: 1px solid var(--lnt-line-dark);
	box-shadow: 0 22px 44px rgba( 0, 0, 0, .45 );
	visibility: hidden;
	opacity: 0;
	transform: translateY( -6px );
	transition: opacity .16s, transform .16s, visibility .16s;
}

.lnt-head-lang.is-open .lnt-lang-list {
	visibility: visible;
	opacity: 1;
	transform: none;
}

.lnt-lang-list li {
	margin: 0;
	border-bottom: 1px solid rgba( 255, 255, 255, .06 );
}

.lnt-lang-list li:last-child {
	border-bottom: 0;
}

.lnt-lang-list a {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 11px;
	padding: 11px 15px;
	color: #e7ebee;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: .02em;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color .15s, color .15s;
}

.lnt-lang-list a:hover {
	background: var(--lnt-carbon-2);
	color: var(--lnt-accent);
	text-decoration: none;
}

.lnt-lang-list img {
	flex: 0 0 auto;
	display: block;
	width: 24px;
	height: auto;
	border-radius: 2px;
}

@media ( max-width: 1024px ) {
	.lnt-lang-btn {
		padding: 0 12px;
	}
}

/* ==================================================================
   17. Bandas de la portada
   ------------------------------------------------------------------
   Dos filas de tres piezas a sangre. La primera mide lo mismo que los
   bloques dobles; la segunda, la mitad exacta.
   ================================================================== */

.lnt-bands {
	--lnt-band-h: clamp( 280px, 30vw, 420px );
}

.lnt-band {
	display: grid;
	grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
}

.lnt-band-item {
	display: block;
	min-height: var(--lnt-band-h);
	background-color: var(--lnt-dark);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	transition: filter .25s, transform .25s;
}

a.lnt-band-item:hover {
	filter: brightness( 1.08 );
}

.lnt-band-short .lnt-band-item {
	min-height: calc( var(--lnt-band-h) / 2 );
}

.lnt-band-title {
	margin: 0;
	padding: clamp( 26px, 3.5vw, 52px ) var(--lnt-gut);
	font-size: clamp( 22px, 2.6vw, 34px );
	font-weight: 800;
	letter-spacing: -.01em;
	text-transform: uppercase;
	text-align: center;
	color: var(--lnt-ink);
}

.lnt-band-cta {
	margin: 0;
	padding: clamp( 26px, 3.5vw, 52px ) var(--lnt-gut);
	text-align: center;
}

.lnt-band-btn {
	background: var(--lnt-band-btn-bg, var(--lnt-accent) );
	border-color: var(--lnt-band-btn-bg, var(--lnt-accent) );
	color: var(--lnt-band-btn-color, #fff );
}

.lnt-band-btn:hover {
	filter: brightness( 1.12 );
	color: var(--lnt-band-btn-color, #fff );
}

@media ( max-width: 900px ) {
	.lnt-bands {
		--lnt-band-h: clamp( 200px, 34vw, 300px );
	}

	.lnt-band {
		grid-template-columns: minmax( 0, 1fr );
	}

	.lnt-band-short .lnt-band-item {
		min-height: calc( var(--lnt-band-h) * .6 );
	}
}
