/* ==========================================================================
   Markonect Dealer — sistema de diseño
   Tres pieles con el mismo marcado: .skin-hub (Markonect), .skin-autos
   (Ruta Sur, clara) y .skin-motos (Cilindro, oscura). Todo color sale de
   tokens; los componentes nunca usan un color fijo salvo la marca Markonect
   (barra superior y etiquetas de producto), que es igual en las tres.
   Grilla de 4/8 px, tipografía fluida con clamp().
   ========================================================================== */

/* ---------- Tokens compartidos ---------- */
:root {
	--f: 'Inter Tight', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
	--f-serif: 'Instrument Serif', Georgia, 'Times New Roman', serif;
	--f-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;

	--r-xs: 8px;
	--r-sm: 12px;
	--r: 16px;
	--r-lg: 24px;
	--r-xl: 32px;
	--ease: cubic-bezier(.16, 1, .3, 1);
	--t: .2s ease;

	--wrap: 1240px;
	--gut: clamp(16px, 4vw, 40px);
	--sec: clamp(72px, 9vw, 128px);
	--ribbon-h: 44px;
	--header-h: 72px;

	/* Marca Markonect: igual en todas las pieles. */
	--mk-bg: #07080c;
	--mk-tx: #f3f4f8;
	--mk-tx-2: #a9aebb;
	--mk-mint: #2ef2a0;
	--mk-cyan: #3bd6ff;
	--mk-violet: #8b7cff;
	--mk-grad: linear-gradient(100deg, #2ef2a0 0%, #3bd6ff 48%, #8b7cff 100%);

	--ok: #16a34a;
	--warn: #d97706;
	--bad: #dc2626;
}

/* ---------- Pieles ---------- */
.skin-hub {
	--bg: #07080c;
	--bg-2: #0c0e14;
	--surface: #11141c;
	--surface-2: #181c26;
	--line: rgba(255, 255, 255, .08);
	--line-2: rgba(255, 255, 255, .16);
	--tx: #f3f4f8;
	--tx-2: #b3b8c5;
	--tx-3: #8a90a3;
	--accent: #2ef2a0;
	--accent-2: #3bd6ff;
	--on-accent: #07080c;
	--grad: var(--mk-grad);
	--shadow: 0 4px 12px rgba(0, 0, 0, .25), 0 24px 64px rgba(0, 0, 0, .35);
	--paper: #f5f4ef;
	--paper-2: #ecebe4;
	--ink: #0b0c10;
	--ink-2: #4b505e;
	--ink-line: rgba(11, 12, 16, .1);
	color-scheme: dark;
}

.skin-autos {
	--bg: #f3f5f9;
	--bg-2: #e8ecf3;
	--surface: #ffffff;
	--surface-2: #f6f8fb;
	--line: rgba(11, 22, 48, .1);
	--line-2: rgba(11, 22, 48, .18);
	--tx: #0b1630;
	--tx-2: #46526b;
	--tx-3: #5f6a83;
	--accent: #1f4fff;
	--accent-2: #00a3e8;
	--on-accent: #ffffff;
	--grad: linear-gradient(100deg, #1f4fff 0%, #00a3e8 100%);
	--deep: #0b1630;
	--deep-tx: #eef2fb;
	--shadow: 0 4px 12px rgba(11, 22, 48, .05), 0 18px 48px rgba(11, 22, 48, .08);
	--paper: #ffffff;
	--paper-2: #f6f8fb;
	--ink: #0b1630;
	--ink-2: #46526b;
	--ink-line: rgba(11, 22, 48, .1);
	color-scheme: light;
}

/* Cilindro es oscura de marca (header, hero, pie y paneles flotantes), pero
   el contenido largo va en claro (.tone-light): catálogo, ficha y casi todas
   las secciones del showroom. Las piezas de abajo vuelven a los tokens
   oscuros aunque estén dentro de una zona clara. */
.skin-motos,
.skin-motos .site-header,
.skin-motos .site-footer,
.skin-motos .bot,
.skin-motos .guide,
.skin-motos .sheet,
.skin-motos .compare-tray,
.skin-motos dialog {
	--bg: #0e0f11;
	--bg-2: #141619;
	--surface: #1a1c20;
	--surface-2: #23262b;
	--line: rgba(255, 255, 255, .08);
	--line-2: rgba(255, 255, 255, .16);
	--tx: #f5efe6;
	--tx-2: #c2b9ad;
	--tx-3: #978f85;
	--accent: #ff5a1f;
	--accent-2: #ffb21f;
	--on-accent: #0e0f11;
	--grad: linear-gradient(100deg, #ff5a1f 0%, #ffb21f 100%);
	--deep: #08090a;
	--deep-tx: #f5efe6;
	--shadow: 0 4px 12px rgba(0, 0, 0, .3), 0 24px 64px rgba(0, 0, 0, .4);
	--paper: #f5efe6;
	--paper-2: #ebe3d6;
	--ink: #16130f;
	--ink-2: #5a5249;
	--ink-line: rgba(22, 19, 15, .12);
	color-scheme: dark;
}

/* Zonas claras de Cilindro. Naranja más profundo (#c9410a) para que el texto
   y los botones con texto blanco cumplan AA sobre crema y blanco. */
.skin-motos.tone-light,
.skin-motos .tone-light {
	--bg: #faf7f2;
	--bg-2: #f3ede3;
	--surface: #ffffff;
	--surface-2: #f7f2ea;
	--line: rgba(22, 19, 15, .1);
	--line-2: rgba(22, 19, 15, .18);
	--tx: #16130f;
	--tx-2: #5a5249;
	--tx-3: #6b6258;
	--accent: #c9410a;
	--accent-2: #b45309;
	--on-accent: #ffffff;
	--grad: linear-gradient(100deg, #c9410a 0%, #d97706 100%);
	--shadow: 0 4px 12px rgba(22, 19, 15, .05), 0 18px 48px rgba(22, 19, 15, .08);
	color-scheme: light;
}
.skin-motos .tone-light { background: var(--bg); color: var(--tx); }
.skin-motos .section--alt.tone-light { background: var(--bg-2); }
/* En páginas claras, las piezas oscuras toman su propio color de texto (no el
   heredado del body) y el header va sólido: translúcido sobre crema se ve gris. */
.skin-motos.tone-light :is(.site-header, .bot, .guide, .sheet, .compare-tray, dialog) { color: var(--tx); }
.skin-motos.tone-light .site-header { background: color-mix(in srgb, var(--bg) 96%, transparent); }

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: calc(var(--header-h) + 24px); }
body {
	margin: 0;
	background: var(--bg);
	color: var(--tx);
	font-family: var(--f);
	font-size: 16px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	overflow-x: clip;
}
img, svg { display: block; max-width: 100%; }
img { height: auto; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; background: none; border: 0; padding: 0; }
h1, h2, h3, h4, p, ul, ol, dl, dd, figure { margin: 0; }
ul, ol { padding: 0; list-style: none; }
h1, h2, h3, h4 { font-weight: 700; letter-spacing: -.025em; line-height: 1.08; text-wrap: balance; }
p { text-wrap: pretty; }
strong, b { font-weight: 650; }
code { font-family: var(--f-mono); font-size: .86em; }
::selection { background: var(--accent); color: var(--on-accent); }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; border-radius: 6px; }
[hidden] { display: none !important; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip { position: absolute; left: 16px; top: -80px; z-index: 3000; background: var(--accent); color: var(--on-accent); padding: 10px 16px; border-radius: var(--r-xs); font-weight: 600; transition: top var(--t); }
.skip:focus { top: 12px; }

.wrap { width: 100%; max-width: calc(var(--wrap) + var(--gut) * 2); margin-inline: auto; padding-inline: var(--gut); }
.ico { flex-shrink: 0; }

/* ---------- Tipografía utilitaria ---------- */
.serif { font-family: var(--f-serif); font-style: italic; font-weight: 400; letter-spacing: -.01em; }
.grad { background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent; padding-right: .06em; }
.eyebrow {
	display: inline-flex; flex-wrap: wrap; align-items: center; gap: 8px 10px;
	font-family: var(--f-mono); font-size: 12px; font-weight: 500;
	letter-spacing: .08em; text-transform: uppercase; color: var(--tx-2);
	margin-bottom: 16px;
}
.eyebrow--ok { color: var(--ok); }
.skin-motos .eyebrow--ok, .skin-hub .eyebrow--ok { color: #4ade80; }
.eyebrow--live { color: var(--tx); flex-wrap: nowrap; align-items: baseline; }
.eyebrow--live .live-dot { transform: translateY(-1px); }
.live-dot { width: 8px; height: 8px; border-radius: 50%; background: #22c55e; box-shadow: 0 0 0 0 rgba(34, 197, 94, .6); animation: pulse 2s infinite; display: inline-block; flex-shrink: 0; }
@keyframes pulse { 0% { box-shadow: 0 0 0 0 rgba(34, 197, 94, .55); } 70% { box-shadow: 0 0 0 8px rgba(34, 197, 94, 0); } 100% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0); } }

/* ---------- Botones ---------- */
.btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	min-height: 48px; padding: 12px 22px; border-radius: 999px;
	font-weight: 600; font-size: 15px; line-height: 1.2; letter-spacing: -.005em;
	border: 1px solid transparent; transition: all var(--t); white-space: nowrap; text-align: center;
}
.btn--primary { background: var(--accent); color: var(--on-accent); box-shadow: 0 6px 20px -6px color-mix(in srgb, var(--accent) 60%, transparent); }
.btn--primary:hover { transform: translateY(-1px); box-shadow: 0 10px 28px -8px color-mix(in srgb, var(--accent) 75%, transparent); filter: brightness(1.05); }
.btn--primary:active { transform: translateY(0); }
.btn--ghost { background: color-mix(in srgb, var(--tx) 4%, transparent); color: var(--tx); border-color: var(--line-2); }
.btn--ghost:hover { border-color: var(--tx-2); background: color-mix(in srgb, var(--tx) 8%, transparent); }
.btn--sm { min-height: 40px; padding: 8px 16px; font-size: 14px; }
.btn--lg { min-height: 56px; padding: 14px 28px; font-size: 16px; }
.btn--block { width: 100%; }
.btn[disabled], .btn.is-loading { opacity: .65; pointer-events: none; }
.btn.is-loading::after { content: ''; width: 16px; height: 16px; border-radius: 50%; border: 2px solid currentColor; border-right-color: transparent; animation: spin .7s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.skin-hub .btn--primary { background: var(--mk-grad); }

.icon-btn { display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; color: var(--tx); position: relative; transition: background var(--t); }
.icon-btn:hover { background: color-mix(in srgb, var(--tx) 8%, transparent); }
.icon-btn__count { position: absolute; top: 4px; right: 2px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px; background: var(--accent); color: var(--on-accent); font-size: 11px; font-weight: 700; display: grid; place-items: center; line-height: 1; }
.link-arrow { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; color: var(--accent); transition: gap var(--t); }
.link-arrow:hover { gap: 12px; }
.skin-hub .link-arrow { color: var(--mk-mint); }
.skin-hub .section--paper .link-arrow { color: var(--accent); }
.link-btn { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 500; color: var(--tx-2); transition: color var(--t); }
.link-btn:hover, .link-btn[aria-pressed="true"] { color: var(--accent); }

/* ---------- Etiquetas de producto Markonect ---------- */
.mk-tag {
	display: inline-flex; align-items: center; gap: 6px; vertical-align: middle;
	font-family: var(--f-mono); font-size: 11px; font-weight: 500; letter-spacing: .02em; text-transform: none;
	padding: 4px 10px 4px 8px; border-radius: 999px; white-space: nowrap;
	color: #0b0c10; background: linear-gradient(#f3f4f8, #f3f4f8) padding-box, var(--mk-grad) border-box; border: 1.5px solid transparent;
	box-shadow: 0 2px 10px -4px rgba(59, 214, 255, .5);
	transition: transform var(--t), box-shadow var(--t);
}
.mk-tag:hover { transform: translateY(-1px); box-shadow: 0 6px 16px -6px rgba(59, 214, 255, .7); }
.mk-tag__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--mk-grad); flex-shrink: 0; }
body.tags-off .mk-tag { display: none; }

/* ---------- Barra de la demo (Markonect) ---------- */
.mk-ribbon { position: relative; z-index: 60; background: var(--mk-bg); color: var(--mk-tx-2); font-size: 13px; border-bottom: 1px solid rgba(255, 255, 255, .06); }
.mk-ribbon__in { display: flex; align-items: center; gap: 16px; min-height: var(--ribbon-h); }
.mk-ribbon__brand { display: inline-flex; align-items: center; gap: 10px; color: var(--mk-tx); }
.mk-ribbon__word { font-weight: 800; letter-spacing: -.04em; font-size: 16px; }
.mk-ribbon__sep { width: 1px; height: 16px; background: rgba(255, 255, 255, .2); }
.mk-ribbon__label { font-family: var(--f-mono); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; background: var(--mk-grad); -webkit-background-clip: text; background-clip: text; color: transparent; display: none; }
.mk-ribbon__nav { display: flex; gap: 4px; margin-left: auto; }
.mk-ribbon__nav a { display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px; border-radius: 999px; transition: all var(--t); }
.mk-ribbon__nav a:hover, .mk-ribbon__nav a[aria-current] { color: var(--mk-tx); background: rgba(255, 255, 255, .08); }
.mk-switch { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; user-select: none; }
.mk-switch input { position: absolute; opacity: 0; pointer-events: none; }
.mk-switch__track { width: 32px; height: 18px; border-radius: 9px; background: rgba(255, 255, 255, .18); position: relative; transition: background var(--t); }
.mk-switch__track span { position: absolute; top: 2px; left: 2px; width: 14px; height: 14px; border-radius: 50%; background: #fff; transition: transform var(--t); }
.mk-switch input:checked + .mk-switch__track { background: var(--mk-grad); }
.mk-switch input:checked + .mk-switch__track span { transform: translateX(14px); }
.mk-switch input:focus-visible + .mk-switch__track { outline: 2px solid var(--mk-cyan); outline-offset: 2px; }
.mk-ribbon__cta { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px; border-radius: 999px; background: var(--mk-grad); color: #07080c; font-weight: 600; white-space: nowrap; transition: filter var(--t); }
.mk-ribbon__cta:hover { filter: brightness(1.08); }
.mk-ribbon__cta span { display: none; }

/* ---------- Header ---------- */
.site-header { position: sticky; top: 0; z-index: 50; background: color-mix(in srgb, var(--bg) 82%, transparent); backdrop-filter: saturate(160%) blur(16px); -webkit-backdrop-filter: saturate(160%) blur(16px); border-bottom: 1px solid var(--line); transition: box-shadow var(--t); }
.site-header.is-scrolled { box-shadow: 0 10px 30px -18px rgba(0, 0, 0, .35); }
.site-header__in { display: flex; align-items: center; gap: 24px; min-height: var(--header-h); }
.site-header__logo { flex-shrink: 0; }
.site-nav { display: none; gap: 4px; }
.site-nav a { padding: 8px 14px; border-radius: 999px; font-size: 15px; font-weight: 500; color: var(--tx-2); transition: all var(--t); }
.site-nav a:hover { color: var(--tx); background: color-mix(in srgb, var(--tx) 6%, transparent); }
.site-header__actions { display: flex; align-items: center; gap: 4px; margin-left: auto; }
.site-header__panel span { display: none; }
.site-nav.is-open { display: flex; flex-direction: column; position: absolute; top: 100%; left: 0; right: 0; padding: 12px var(--gut) 20px; background: var(--bg); border-bottom: 1px solid var(--line); box-shadow: var(--shadow); animation: drop .25s var(--ease); }
.site-nav.is-open a { padding: 14px 12px; font-size: 17px; }
@keyframes drop { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }

/* ---------- Logos ---------- */
.logo { display: inline-flex; align-items: center; gap: 10px; line-height: 1; }
.logo__mark { color: var(--accent); }
.logo__text { display: flex; flex-direction: column; gap: 2px; }
.logo__text strong { font-size: 19px; font-weight: 800; letter-spacing: -.035em; }
.logo__text small { font-family: var(--f-mono); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--tx-3); }
.logo--autos { --accent: #1f4fff; --on-accent: #fff; }
.logo--motos { --accent: #ff5a1f; --on-accent: #0e0f11; }
.logo--motos .logo__text strong { font-style: italic; letter-spacing: -.05em; }
.logo--hub { gap: 12px; }
.logo__word { font-weight: 800; font-size: 22px; letter-spacing: -.045em; color: var(--mk-tx); }
.logo__badge { font-family: var(--f-mono); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; padding: 4px 8px; border-radius: 999px; border: 1px solid rgba(255, 255, 255, .16); color: var(--mk-tx-2); display: none; }

/* ---------- Secciones ---------- */
.section { padding-block: var(--sec); position: relative; }
.section--tight { padding-block: calc(var(--sec) * .6); }
.section--alt { background: var(--bg-2); }
.section--dark { background: var(--bg); }
.section--paper { background: var(--paper); color: var(--ink); --tx: var(--ink); --tx-2: var(--ink-2); --tx-3: var(--ink-2); --line: var(--ink-line); --line-2: var(--ink-line); --bg: var(--paper); --bg-2: var(--paper-2); --surface: #ffffff; --surface-2: var(--paper-2); --shadow: 0 4px 12px rgba(11, 12, 16, .05), 0 18px 48px rgba(11, 12, 16, .08); color-scheme: light; }
.section--paper-2 { background: var(--paper-2); --bg: var(--paper-2); --surface-2: var(--paper); }
.skin-hub .section--paper { --accent: #0a7f5a; --on-accent: #fff; --grad: linear-gradient(100deg, #07925f 0%, #0a7fae 50%, #5b45e6 100%); }
.section--glow::before { content: ''; position: absolute; inset: 0; background: radial-gradient(800px 400px at 80% 30%, rgba(59, 214, 255, .1), transparent 70%); pointer-events: none; }
.section__head { max-width: 760px; margin-bottom: clamp(32px, 5vw, 56px); }
.section__head h2 { font-size: clamp(30px, 4.4vw, 52px); }
.section__head--center { margin-inline: auto; text-align: center; }
.section__head--center .eyebrow { justify-content: center; }
.section__head--split { max-width: none; display: grid; gap: 20px; align-items: end; }
.section__lead { color: var(--tx-2); font-size: clamp(16px, 1.4vw, 18px); max-width: 620px; margin-top: 16px; }
.section__head--split .section__lead { margin-top: 0; }
.section__head--center .section__lead { margin-inline: auto; }

.card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-lg); box-shadow: var(--shadow); }
.card--pad { padding: clamp(20px, 3vw, 32px); }
.card__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; margin-bottom: 20px; }
.card__head h2 { font-size: 17px; letter-spacing: -.01em; }

.checks { display: grid; gap: 10px; }
.checks li { position: relative; padding-left: 28px; color: var(--tx-2); }
.checks li::before { content: ''; position: absolute; left: 0; top: .3em; width: 18px; height: 18px; border-radius: 50%; background: color-mix(in srgb, var(--accent) 16%, transparent); }
.checks li::after { content: ''; position: absolute; left: 3.5px; top: calc(.3em + 3.5px); width: 11px; height: 11px; background: var(--accent); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5L20 7'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5L20 7'/%3E%3C/svg%3E") center / contain no-repeat; }
.checks--lg li { font-size: 17px; }

.badge { display: inline-flex; align-items: center; gap: 4px; padding: 4px 10px; border-radius: 999px; font-size: 12px; font-weight: 600; line-height: 1.2; white-space: nowrap; background: var(--surface-2); color: var(--tx); border: 1px solid var(--line); }
.badge--new { background: var(--accent); color: var(--on-accent); border-color: transparent; }
.badge--used { background: color-mix(in srgb, var(--bg) 80%, transparent); color: var(--tx); backdrop-filter: blur(8px); }
.badge--hot { background: #111; color: #fff; border-color: transparent; }
.skin-motos .badge--hot { background: var(--accent-2); color: #111; }
.badge--you { background: var(--mk-grad); color: #07080c; border: 0; font-family: var(--f-mono); font-size: 10px; letter-spacing: .04em; padding: 3px 8px; }

/* ---------- Formularios ---------- */
.field { display: grid; gap: 6px; border: 0; padding: 0; margin: 0; min-width: 0; }
.field__label { display: flex; justify-content: space-between; gap: 8px; font-size: 13px; font-weight: 600; color: var(--tx-2); padding: 0; }
.field__label small { font-weight: 400; color: var(--tx-3); }
.field__label output { font-family: var(--f-mono); color: var(--tx); }
.field__hint { font-size: 13px; color: var(--tx-3); }
.field input[type="text"], .field input[type="tel"], .field input[type="email"], .field input[type="number"], .field select, .field textarea,
.woocommerce form .form-row .input-text, .woocommerce form .form-row select {
	width: 100%; min-height: 48px; padding: 12px 14px; border-radius: var(--r-sm);
	background: var(--surface-2); border: 1px solid var(--line-2); color: var(--tx);
	transition: border-color var(--t), box-shadow var(--t), background var(--t); appearance: none; -webkit-appearance: none; font-size: 16px;
}
.field select { padding-right: 40px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; background-size: 18px; }
.field input:focus, .field select:focus, .field textarea:focus, .woocommerce form .form-row .input-text:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent) 18%, transparent); }
.field input.is-invalid { border-color: var(--bad); }
.field--inline select { min-height: 44px; padding-block: 8px; }
.form-pair { display: grid; gap: 16px; }
.form-note { font-size: 13px; color: var(--tx-3); }
input[type="range"] { width: 100%; accent-color: var(--accent); height: 28px; }

.chips { display: flex; flex-wrap: wrap; gap: 8px; }
.chip { position: relative; display: inline-flex; }
.chip input { position: absolute; opacity: 0; pointer-events: none; }
.chip span, .chip--btn { display: inline-flex; align-items: center; min-height: 40px; padding: 8px 16px; border-radius: 999px; border: 1px solid var(--line-2); background: var(--surface); font-size: 14px; font-weight: 500; color: var(--tx-2); transition: all var(--t); cursor: pointer; white-space: nowrap; }
.chip span:hover, .chip--btn:hover { border-color: var(--tx-2); color: var(--tx); }
.chip input:checked + span, .chip--btn.is-on { background: var(--tx); color: var(--bg); border-color: var(--tx); }
.chip input:focus-visible + span { outline: 2px solid var(--accent); outline-offset: 2px; }
.chip input:disabled + span { opacity: .4; text-decoration: line-through; cursor: not-allowed; }
.chips--days .chip span { flex-direction: column; min-height: 56px; padding: 8px 14px; line-height: 1.15; gap: 2px; }
.chips--days .chip span small { font-size: 11px; font-weight: 500; text-transform: uppercase; letter-spacing: .06em; opacity: .75; }

.seg { position: relative; display: inline-flex; }
.seg input { position: absolute; opacity: 0; }
.seg span { padding: 8px 14px; font-size: 14px; font-weight: 500; color: var(--tx-2); border: 1px solid var(--line-2); margin-left: -1px; cursor: pointer; transition: all var(--t); min-height: 44px; display: inline-flex; align-items: center; }
.seg:first-of-type span { border-radius: 999px 0 0 999px; margin-left: 0; }
.seg:nth-of-type(3) span { border-radius: 0 999px 999px 0; }
.seg input:checked + span { background: var(--accent); color: var(--on-accent); border-color: var(--accent); }
.seg input:focus-visible + span { outline: 2px solid var(--accent); outline-offset: 2px; }

.meter { height: 8px; border-radius: 4px; background: var(--surface-2); overflow: hidden; flex: 1; min-width: 60px; }
.meter i { display: block; height: 100%; width: 0; border-radius: inherit; background: var(--grad); transition: width .8s var(--ease); }
.meter--sm { height: 6px; max-width: 90px; }

/* ---------- Revelado ---------- */
.js .reveal { opacity: 0; transform: translateY(16px); transition: opacity .7s var(--ease), transform .7s var(--ease); }
.js .reveal.is-in { opacity: 1; transform: none; }

/* ==========================================================================
   HUB
   ========================================================================== */
.hub-hero { position: relative; padding: clamp(56px, 8vw, 112px) 0 clamp(48px, 6vw, 80px); overflow: hidden; }
.hub-hero--short { padding-bottom: clamp(32px, 4vw, 56px); }
.hub-hero__glow { position: absolute; inset: -20% -10% auto; height: 120%; background: radial-gradient(600px 360px at 18% 20%, rgba(46, 242, 160, .16), transparent 70%), radial-gradient(700px 420px at 85% 10%, rgba(139, 124, 255, .18), transparent 70%), radial-gradient(500px 300px at 60% 60%, rgba(59, 214, 255, .1), transparent 70%); pointer-events: none; }
.hub-hero__in { position: relative; }
.hub-hero__in > * { max-width: 980px; }
.hub-hero h1 { font-size: clamp(42px, 7.2vw, 96px); letter-spacing: -.045em; line-height: .98; }
.hub-hero h1 .serif { letter-spacing: -.02em; }
.hub-hero__lead { margin-top: 24px; font-size: clamp(17px, 1.6vw, 21px); color: var(--tx-2); max-width: 660px; }
.hub-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.hub-hero__promise { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-top: 20px; font-size: 15px; color: var(--tx-2); }
.hub-hero__promise li { display: inline-flex; align-items: center; gap: 8px; }
.hub-hero__promise li::before { content: ''; width: 18px; height: 18px; flex-shrink: 0; border-radius: 50%; background: rgba(46, 242, 160, .16) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232ef2a0' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5L20 7'/%3E%3C/svg%3E") center / 11px no-repeat; }

/* ---------- Hero a pantalla completa: ruta de noche ----------
   Cielo con estrellas, horizonte que brilla con la marca, un piso en
   perspectiva que avanza y estelas de faros (frente blanco-menta, traseras
   rojas) cruzando el horizonte. Todo CSS: sin imágenes ni librerías. */
.hub-hero--full { --mx: 70%; --my: 30%; --hz: 80%; isolation: isolate; display: grid; align-content: center; min-height: calc(100svh - var(--header-h) - var(--ribbon-h) - 2px); padding: clamp(40px, 6vh, 72px) 0 clamp(72px, 10vh, 112px); background: #05060a; }
.hub-hero__bg { position: absolute; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; }
.hub-hero__bg > * { position: absolute; inset: 0; }
.hub-hero__sky { background: radial-gradient(90% 60% at 62% var(--hz), #133049 0%, #0b1426 35%, #070912 65%, #05060a 85%), #05060a; }
.hub-hero__stars { bottom: calc(100% - var(--hz)); background-image: radial-gradient(1px 1px at 12% 18%, rgba(255, 255, 255, .7), transparent 60%), radial-gradient(1px 1px at 28% 42%, rgba(255, 255, 255, .45), transparent 60%), radial-gradient(1.5px 1.5px at 44% 12%, rgba(255, 255, 255, .8), transparent 60%), radial-gradient(1px 1px at 63% 33%, rgba(255, 255, 255, .5), transparent 60%), radial-gradient(1px 1px at 78% 16%, rgba(255, 255, 255, .65), transparent 60%), radial-gradient(1.5px 1.5px at 91% 38%, rgba(255, 255, 255, .55), transparent 60%), radial-gradient(1px 1px at 6% 60%, rgba(255, 255, 255, .35), transparent 60%), radial-gradient(1px 1px at 53% 58%, rgba(255, 255, 255, .3), transparent 60%), radial-gradient(1px 1px at 84% 62%, rgba(255, 255, 255, .35), transparent 60%); background-size: 100% 100%; -webkit-mask-image: linear-gradient(#000 40%, transparent); mask-image: linear-gradient(#000 40%, transparent); animation: twinkle 6s ease-in-out infinite alternate; }
@keyframes twinkle { to { opacity: .45; } }
.hub-hero__bg .hub-hero__glow { inset: 0; height: 100%; background: none; }
.hub-hero__glow i { position: absolute; border-radius: 50%; filter: blur(70px); opacity: .9; will-change: transform; }
.hub-hero__glow i:nth-child(1) { width: 46vw; height: 32vh; left: 2%; top: 6%; background: rgba(46, 242, 160, .3); animation: aurora-a 18s var(--ease) infinite alternate; }
.hub-hero__glow i:nth-child(2) { width: 52vw; height: 40vh; right: -6%; top: -8%; background: rgba(139, 124, 255, .34); animation: aurora-b 22s var(--ease) infinite alternate; }
.hub-hero__glow i:nth-child(3) { width: 40vw; height: 26vh; left: 40%; top: 30%; background: rgba(59, 214, 255, .2); animation: aurora-c 26s var(--ease) infinite alternate; }
@keyframes aurora-a { to { transform: translate(14%, 18%) scale(1.15) rotate(10deg); } }
@keyframes aurora-b { to { transform: translate(-18%, 16%) scale(.9) rotate(-8deg); } }
@keyframes aurora-c { to { transform: translate(-26%, -20%) scale(1.2); } }
/* Horizonte: línea de luz con halo de marca. */
.hub-hero__horizon { top: calc(var(--hz) - 30vh); bottom: auto; height: 60vh; background: radial-gradient(42% 46% at 62% 50%, rgba(46, 242, 160, .42), rgba(59, 214, 255, .26) 35%, rgba(139, 124, 255, .16) 60%, transparent 78%), radial-gradient(80% 22% at 50% 50%, rgba(59, 214, 255, .3), transparent 70%); animation: breathe 7s ease-in-out infinite alternate; }
@keyframes breathe { to { opacity: .75; transform: scaleX(1.06); } }
.hub-hero__horizon::after { content: ''; position: absolute; left: 0; right: 0; top: 50%; height: 1px; background: linear-gradient(90deg, transparent, rgba(46, 242, 160, .7) 25%, rgba(255, 255, 255, .9) 50%, rgba(139, 124, 255, .7) 75%, transparent); box-shadow: 0 0 28px 6px rgba(59, 214, 255, .5), 0 0 80px 18px rgba(46, 242, 160, .18); }
/* Ruta: grilla en perspectiva que avanza hacia el visitante. */
.hub-hero__road { top: var(--hz); perspective: 340px; perspective-origin: 50% 0; -webkit-mask-image: linear-gradient(transparent, #000 18%, #000 70%, transparent); mask-image: linear-gradient(transparent, #000 18%, #000 70%, transparent); }
.hub-hero__floor { position: absolute; left: -60%; right: -60%; top: 0; height: 240%; transform-origin: 50% 0; transform: rotateX(78deg); background-image: linear-gradient(rgba(46, 242, 160, .6) 1.5px, transparent 1.5px), linear-gradient(90deg, rgba(59, 214, 255, .45) 1.5px, transparent 1.5px); background-size: 72px 72px; animation: drive 2.4s linear infinite; }
@keyframes drive { to { background-position: 0 72px, 0 0; } }
/* Estelas de faros: líneas finas que cruzan el horizonte a distintas alturas y velocidades. */
.hub-hero__trails { top: calc(var(--hz) - 1vh); bottom: auto; height: 16vh; }
.hub-hero__trails i { position: absolute; left: 0; height: 3px; width: 30vw; border-radius: 2px; opacity: 0; filter: drop-shadow(0 0 8px currentColor) drop-shadow(0 0 2px currentColor); animation: trail 6s linear infinite; }
.hub-hero__trails i:nth-child(1) { top: 38%; color: #9ffbe0; background: linear-gradient(90deg, transparent, #2ef2a0, #fff); animation-duration: 5.2s; }
.hub-hero__trails i:nth-child(2) { top: 52%; color: #ff4d5a; background: linear-gradient(270deg, transparent, #ff4d5a 60%, #ffb3b8); animation-name: trail-rev; animation-duration: 6.8s; animation-delay: 1.3s; }
.hub-hero__trails i:nth-child(3) { top: 61%; color: #7fe3ff; background: linear-gradient(90deg, transparent, #3bd6ff, #fff); animation-duration: 4.4s; animation-delay: 2.6s; height: 3px; }
.hub-hero__trails i:nth-child(4) { top: 46%; color: #b9b1ff; background: linear-gradient(90deg, transparent, #8b7cff, #fff); animation-duration: 7.6s; animation-delay: 3.4s; width: 18vw; }
.hub-hero__trails i:nth-child(5) { top: 70%; color: #ff4d5a; background: linear-gradient(270deg, transparent, #ff4d5a 60%, #ffb3b8); animation-name: trail-rev; animation-duration: 5.6s; animation-delay: 4.1s; height: 3px; }
.hub-hero__trails i:nth-child(6) { top: 30%; color: #9ffbe0; background: linear-gradient(90deg, transparent, #2ef2a0, #fff); animation-duration: 8.4s; animation-delay: .6s; width: 14vw; height: 1px; }
.hub-hero__trails i:nth-child(7) { top: 80%; color: #7fe3ff; background: linear-gradient(90deg, transparent, #3bd6ff, #fff); animation-duration: 3.8s; animation-delay: 5s; width: 32vw; height: 3px; }
@keyframes trail { 0% { transform: translateX(-40vw); opacity: 0; } 10% { opacity: 1; } 85% { opacity: 1; } 100% { transform: translateX(120vw); opacity: 0; } }
@keyframes trail-rev { 0% { transform: translateX(120vw); opacity: 0; } 10% { opacity: .9; } 85% { opacity: .9; } 100% { transform: translateX(-40vw); opacity: 0; } }
.hub-hero__spot { background: radial-gradient(480px circle at var(--mx) var(--my), rgba(46, 242, 160, .09), transparent 70%); opacity: 0; transition: opacity .6s ease; }
.hub-hero--full.is-lit .hub-hero__spot { opacity: 1; }
/* Viñeta y fundido inferior hacia la sección de demos; el texto siempre sobre fondo oscuro. */
.hub-hero__vignette { background: linear-gradient(90deg, rgba(5, 6, 10, .55), rgba(5, 6, 10, .18) 45%, transparent 65%), linear-gradient(transparent 90%, #07080c); }
.hub-hero--full .btn--ghost { background: rgba(5, 6, 10, .55); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.hub-hero__bg::after { content: ''; position: absolute; inset: 0; background: #05060a; animation: curtain 1.4s var(--ease) .1s both; }
@keyframes curtain { to { opacity: 0; } }
.hub-hero__cue { position: absolute; left: 50%; bottom: clamp(16px, 3vh, 32px); transform: translateX(-50%); display: inline-flex; align-items: center; gap: 8px; padding: 8px 16px; border-radius: 999px; border: 1px solid var(--line-2); background: rgba(5, 6, 10, .5); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); font-family: var(--f-mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--tx-2); transition: color var(--t), border-color var(--t); }
.hub-hero__cue .ico { transform: rotate(90deg); animation: nudge 1.8s ease-in-out infinite; }
.hub-hero__cue:hover { color: var(--mk-mint); border-color: var(--mk-mint); }
@keyframes nudge { 50% { transform: rotate(90deg) translateX(4px); } }
.hub-doors { position: relative; padding: clamp(40px, 6vw, 72px) 0 clamp(48px, 6vw, 80px); overflow-x: clip; }
.hub-doors .doors { margin-top: 0; }
.hlive.hlive--hero { display: none; }
.hlive.hlive--below { width: calc(100% - 2 * var(--gut)); margin: 0 auto clamp(40px, 6vw, 56px); }
@media (min-width: 1100px) {
	.hlive.hlive--hero { display: grid; }
	.hlive.hlive--below { display: none; }
}
@media (max-width: 1099px) {
	.hub-hero--full { --hz: 88%; }
}
.hub-hero__top { position: relative; display: grid; gap: clamp(40px, 6vw, 56px); align-items: center; }
.grad--shine { background-image: linear-gradient(100deg, #2ef2a0 0%, #3bd6ff 25%, #8b7cff 50%, #3bd6ff 75%, #2ef2a0 100%); background-size: 200% 100%; animation: shine 7s linear infinite; }
@keyframes shine { to { background-position: -200% 0; } }

/* ---------- Consola en vivo (OmniBot + avisos del concesionario) ---------- */
.hlive { position: relative; display: grid; gap: 0; width: 100%; max-width: 440px; justify-self: center; perspective: 1200px; }
.hlive__orb { position: absolute; inset: 8% -6% 0; z-index: -1; border-radius: 50%; background: radial-gradient(closest-side, rgba(46, 242, 160, .22), rgba(139, 124, 255, .14) 55%, transparent 75%); filter: blur(30px); animation: orb 9s ease-in-out infinite alternate; }
@keyframes orb { to { transform: translateY(-14px) scale(1.06); } }
.hlive__win { position: relative; border-radius: var(--r-lg); background: color-mix(in srgb, var(--surface) 82%, transparent); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); border: 1px solid var(--line-2); box-shadow: 0 30px 80px -24px rgba(0, 0, 0, .85), inset 0 1px 0 rgba(255, 255, 255, .06); overflow: hidden; transform: rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)); transition: transform .5s var(--ease); }
.hlive__win::before { content: ''; position: absolute; inset: 0; border-radius: inherit; padding: 1px; background: linear-gradient(140deg, rgba(46, 242, 160, .55), transparent 35%, transparent 65%, rgba(139, 124, 255, .55)); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; pointer-events: none; }
.hlive__bar { display: flex; align-items: center; gap: 10px; padding: 12px 16px; border-bottom: 1px solid var(--line); background: rgba(255, 255, 255, .02); }
.hlive__avatar { position: relative; width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: var(--mk-grad); color: var(--mk-bg); flex-shrink: 0; }
.hlive__avatar::after { content: ''; position: absolute; right: -1px; bottom: -1px; width: 10px; height: 10px; border-radius: 50%; background: #22c55e; border: 2px solid var(--surface); }
.hlive__who { display: grid; line-height: 1.2; }
.hlive__who b { font-size: 14px; }
.hlive__who small { font-size: 12px; color: var(--mk-mint); transition: color var(--t); }
.hlive__clock { margin-left: auto; display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 999px; border: 1px solid var(--line); font-family: var(--f-mono); font-size: 11px; color: var(--tx-3); }
.hlive__chat { display: grid; gap: 8px; align-content: end; height: 412px; overflow: hidden; padding: 16px 16px 44px; -webkit-mask-image: linear-gradient(transparent, #000 28px); mask-image: linear-gradient(transparent, #000 28px); } /* alto fijo: los mensajes entran sin mover el título */
.hmsg { max-width: 88%; margin: 0; padding: 10px 14px; border-radius: 16px; font-size: 14px; line-height: 1.45; }
.hmsg p { margin: 0; }
.hmsg--in { justify-self: start; background: var(--surface-2); border: 1px solid var(--line); border-top-left-radius: 4px; }
.hmsg--out { justify-self: end; display: grid; gap: 8px; background: color-mix(in srgb, var(--mk-mint) 12%, var(--surface)); border: 1px solid color-mix(in srgb, var(--mk-mint) 28%, transparent); border-top-right-radius: 4px; }
.hmsg--ok { display: inline-flex; align-items: flex-start; gap: 8px; color: var(--tx); }
.hmsg--ok .ico { color: var(--mk-mint); margin-top: 3px; flex-shrink: 0; }
.hmsg--typing { justify-self: end; display: inline-flex; gap: 4px; padding: 13px 14px; background: color-mix(in srgb, var(--mk-mint) 12%, var(--surface)); border-top-right-radius: 4px; }
.hmsg--typing i { width: 7px; height: 7px; border-radius: 50%; background: var(--mk-mint); animation: blink 1.2s infinite; }
.hmsg--typing i:nth-child(2) { animation-delay: .15s; }
.hmsg--typing i:nth-child(3) { animation-delay: .3s; }
.hunit { display: grid; grid-template-columns: 64px 1fr; gap: 10px; align-items: center; padding: 8px; border-radius: 12px; background: var(--bg-2); border: 1px solid var(--line); }
.hunit img { width: 64px; height: 48px; border-radius: 8px; object-fit: cover; }
.hunit__info { display: grid; gap: 2px; min-width: 0; }
.hunit__info b { font-size: 14px; line-height: 1.25; }
.hunit__info small { font-size: 12px; color: var(--tx-3); }
.hunit__info em { font-style: normal; font-weight: 700; font-size: 13px; color: var(--mk-mint); }
.hunit__info em span { font-weight: 400; font-size: 12px; color: var(--tx-3); }
.hlive__feed { position: relative; z-index: 1; display: grid; gap: 8px; align-content: start; height: 178px; width: calc(100% - 24px); margin: -28px 0 0 auto; }
.hlive:not(.is-playing) [data-note]:nth-child(n+4) { display: none; }
.hnote { display: grid; grid-template-columns: 32px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 10px 12px; border-radius: 14px; background: color-mix(in srgb, var(--surface-2) 88%, transparent); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); border: 1px solid var(--line-2); box-shadow: 0 12px 32px -12px rgba(0, 0, 0, .7); }
.hnote__ico { width: 32px; height: 32px; border-radius: 10px; display: grid; place-items: center; }
.hnote--mint .hnote__ico { background: rgba(46, 242, 160, .14); color: var(--mk-mint); }
.hnote--cyan .hnote__ico { background: rgba(59, 214, 255, .14); color: var(--mk-cyan); }
.hnote--violet .hnote__ico { background: rgba(139, 124, 255, .16); color: var(--mk-violet); }
.hnote__txt { display: grid; min-width: 0; line-height: 1.3; }
.hnote__txt b { font-size: 13px; }
.hnote__txt small { font-size: 12px; color: var(--tx-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hnote__time { font-family: var(--f-mono); font-size: 10px; color: var(--tx-3); white-space: nowrap; }
/* Reproducción (theme.js): sin JS o con movimiento reducido se ve el estado final completo. */
.hlive:not(.is-playing) [data-typing] { display: none; }
.hlive.is-playing [data-step]:not(.is-on), .hlive.is-playing [data-note]:not(.is-on) { display: none; }
.hlive.is-playing [data-step].is-on { animation: hin .45s var(--ease) both; }
.hlive.is-playing [data-note].is-on { animation: hnote .55s var(--ease) both; }
.hlive.is-fading .hlive__chat > *, .hlive.is-fading .hnote { opacity: 0; transition: opacity .5s ease; }
@keyframes hin { from { opacity: 0; transform: translateY(10px) scale(.97); } to { opacity: 1; transform: none; } }
@keyframes hnote { from { opacity: 0; transform: translateX(24px) scale(.96); } to { opacity: 1; transform: none; } }

.doors { position: relative; display: grid; gap: 20px; margin-top: clamp(40px, 6vw, 72px); }
.door { position: relative; display: grid; gap: 8px; }
.door__link { position: relative; display: block; border-radius: var(--r-xl); overflow: hidden; min-height: 400px; isolation: isolate; box-shadow: var(--shadow); border: 1px solid var(--line); }
.door__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform 1.2s var(--ease); }
.door__link:hover .door__img { transform: scale(1.04); }
.door__shade { position: absolute; inset: 0; z-index: -1; }
.door--autos .door__shade { background: linear-gradient(180deg, rgba(11, 22, 48, .1) 0%, rgba(11, 22, 48, .5) 45%, rgba(11, 22, 48, .94) 100%); }
.door--motos .door__shade { background: linear-gradient(180deg, rgba(14, 15, 17, .1) 0%, rgba(14, 15, 17, .55) 45%, rgba(14, 15, 17, .96) 100%); }
.door__body { position: absolute; inset: auto 0 0; padding: clamp(24px, 3vw, 36px); display: grid; gap: 14px; color: #fff; }
.door__kind { display: inline-flex; align-items: center; gap: 8px; font-family: var(--f-mono); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: rgba(255, 255, 255, .8); }
.door__logo .logo { --tx-3: rgba(255, 255, 255, .7); }
.door__logo .logo__text strong { font-size: clamp(28px, 3vw, 36px); color: #fff; }
.door__logo .logo__mark { width: 44px; height: 44px; }
.door__stats { display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: 14px; color: rgba(255, 255, 255, .8); }
.door__stats b { color: #fff; font-size: 16px; }
.door__cta { display: inline-flex; align-items: center; gap: 10px; justify-self: start; margin-top: 4px; padding: 12px 20px; border-radius: 999px; font-weight: 600; transition: gap var(--t), filter var(--t); }
.door--autos .door__cta { background: #1f4fff; color: #fff; }
.door--motos .door__cta { background: #ff5a1f; color: #0e0f11; }
.door__link:hover .door__cta { gap: 14px; filter: brightness(1.08); }
.door__panel { display: inline-flex; align-items: center; gap: 8px; justify-self: start; padding: 8px 4px; font-size: 14px; color: var(--tx-2); transition: color var(--t); }
.door__panel:hover { color: var(--mk-mint); }

.stack { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; margin-top: 40px; color: var(--tx-3); font-size: 14px; }
.stack span { font-family: var(--f-mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.stack ul { display: flex; flex-wrap: wrap; gap: 8px; }
.stack li { padding: 6px 14px; border-radius: 999px; border: 1px solid var(--line); color: var(--tx-2); font-weight: 500; }

.pains { display: grid; gap: 16px; }
.pain { position: relative; padding: 28px; border-radius: var(--r-lg); background: var(--surface); border: 1px solid var(--line); display: grid; gap: 10px; align-content: start; transition: border-color var(--t), transform var(--t); }
.pain:hover { border-color: var(--line-2); transform: translateY(-2px); }
.pain__big { font-family: var(--f-serif); font-style: italic; font-size: 56px; line-height: 1; background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.pain h3 { font-size: 20px; }
.pain p { color: var(--tx-2); }
.pain .mk-tag { justify-self: start; margin-top: 6px; }

.journey { display: grid; gap: 16px; counter-reset: j; }
.journey__step { position: relative; padding: 28px; border-radius: var(--r-lg); background: var(--paper-2); border: 1px solid var(--ink-line); display: grid; gap: 10px; align-content: start; }
.journey__n { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; font-weight: 700; background: var(--ink); color: var(--paper); }
.journey__step h3 { font-size: 20px; }
.journey__step p { color: var(--ink-2); }
.journey__tag { font-family: var(--f-mono); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; }
.journey__links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; }
.journey__links a { display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border-radius: 999px; background: var(--paper); border: 1px solid var(--ink-line); font-size: 14px; font-weight: 600; color: var(--ink); transition: all var(--t); }
.journey__links a:hover { background: var(--ink); color: var(--paper); }

.suite { display: grid; gap: 16px; }
.suite__item { position: relative; padding: 28px; border-radius: var(--r-lg); background: var(--surface); border: 1px solid var(--line); display: grid; gap: 12px; align-content: start; transition: border-color var(--t), transform var(--t), box-shadow var(--t); overflow: hidden; }
.suite__item:hover { border-color: var(--line-2); transform: translateY(-2px); box-shadow: var(--shadow); }
.suite__item--lead { background: linear-gradient(160deg, color-mix(in srgb, var(--accent) 12%, var(--surface)), var(--surface) 60%); }
.suite__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.suite__ico { width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; background: color-mix(in srgb, var(--accent) 14%, transparent); color: var(--accent); }
.suite__family { font-family: var(--f-mono); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--tx-3); text-align: right; }
.suite__item h3 { font-size: 22px; }
.suite__pain { color: var(--tx-3); font-size: 15px; font-style: italic; }
.suite__promise { color: var(--tx); font-size: 16px; }
.suite__item .checks { font-size: 15px; gap: 8px; }
.suite__actions { margin-top: 8px; }

.panel-preview { position: relative; display: grid; gap: 40px; align-items: center; }
.panel-preview__copy h2 { font-size: clamp(30px, 4.4vw, 52px); }
.panel-preview__copy .checks { margin-top: 24px; }
.window { border-radius: var(--r-lg); background: var(--surface); border: 1px solid var(--line-2); box-shadow: 0 40px 100px -30px rgba(0, 0, 0, .8), 0 0 0 1px var(--line); overflow: hidden; }
.window__bar { display: flex; align-items: center; gap: 6px; padding: 12px 16px; border-bottom: 1px solid var(--line); background: var(--bg-2); }
.window__bar i { width: 10px; height: 10px; border-radius: 50%; background: var(--surface-2); }
.window__bar span { margin-left: 10px; font-family: var(--f-mono); font-size: 12px; color: var(--tx-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.window__bar .live { margin-left: auto; display: inline-flex; align-items: center; gap: 6px; font-style: normal; font-family: var(--f-mono); font-size: 11px; color: #4ade80; }
.window__body { padding: 20px; display: grid; gap: 16px; }
.mini-kpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.mini-kpis div { padding: 12px; border-radius: var(--r-sm); background: var(--bg-2); border: 1px solid var(--line); display: grid; gap: 2px; min-width: 0; }
.mini-kpis span { font-size: 11px; color: var(--tx-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mini-kpis strong { font-size: 20px; letter-spacing: -.02em; }
.mini-kpis em { font-style: normal; font-size: 11px; color: #4ade80; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mini-chart { height: 120px; border-radius: var(--r-sm); background: var(--bg-2); border: 1px solid var(--line); padding: 8px; }
.mini-rows { display: grid; gap: 8px; }
.mini-rows li { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 12px; padding: 10px 12px; border-radius: var(--r-sm); background: var(--bg-2); border: 1px solid var(--line); font-size: 13px; }
.mini-rows__name { font-weight: 600; }
.mini-rows__tip { display: inline-flex; align-items: center; gap: 6px; color: var(--tx-2); }

.skins { display: grid; gap: 20px; }
.skin { display: grid; gap: 18px; padding: 32px; border-radius: var(--r-xl); border: 1px solid var(--ink-line); transition: transform var(--t), box-shadow var(--t); }
.skin:hover { transform: translateY(-3px); box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .35); }
.skin--autos { background: #f3f5f9; color: #0b1630; --tx-3: #5f6a83; }
.skin--motos { background: #0e0f11; color: #f5efe6; --tx-3: #978f85; border-color: #0e0f11; }
.skin--autos .link-arrow { color: #1f4fff; }
.skin--motos .link-arrow { color: #ff5a1f; }
.skin__swatches { display: flex; gap: 6px; }
.skin__swatches i { width: 28px; height: 28px; border-radius: 8px; box-shadow: inset 0 0 0 1px rgba(127, 127, 127, .25); }
.skin .logo__text strong { font-size: 28px; }
.skin .logo__mark { width: 40px; height: 40px; }
.skin__copy { font-size: 16px; opacity: .85; max-width: 440px; }

.plans { display: grid; gap: 16px; }
.plan { position: relative; padding: 32px; border-radius: var(--r-lg); background: var(--surface); border: 1px solid var(--line); display: grid; gap: 16px; align-content: start; }
.plan--featured { background: linear-gradient(var(--surface), var(--surface)) padding-box, var(--grad) border-box; border: 1.5px solid transparent; box-shadow: 0 30px 80px -40px color-mix(in srgb, var(--accent) 60%, transparent); }
.plan__flag { position: absolute; top: -13px; left: 28px; padding: 4px 12px; border-radius: 999px; background: var(--grad); color: var(--on-accent); font-size: 12px; font-weight: 700; }
.plan h3 { font-size: 26px; }
.plan__for { color: var(--tx-2); }
.plan .btn { margin-top: 8px; }

.faq { display: grid; gap: 32px; }
.faq__list { display: grid; gap: 10px; }
.faq__item { border-radius: var(--r); background: var(--surface); border: 1px solid var(--line); transition: border-color var(--t); }
.faq__item[open] { border-color: var(--line-2); }
.faq__item summary { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 20px 24px; font-weight: 600; font-size: 17px; cursor: pointer; list-style: none; }
.faq__item summary::-webkit-details-marker { display: none; }
.faq__ico { transition: transform var(--t); color: var(--tx-3); }
.faq__item[open] .faq__ico { transform: rotate(45deg); }
.faq__item p { padding: 0 24px 22px; color: var(--tx-2); }

.cta-final__in { text-align: center; max-width: 860px; padding: clamp(40px, 6vw, 72px) clamp(20px, 4vw, 56px); border-radius: var(--r-xl); background: radial-gradient(600px 300px at 50% 0%, color-mix(in srgb, var(--accent) 16%, transparent), transparent 70%), var(--surface); border: 1px solid var(--line-2); }
.cta-final__in .eyebrow { justify-content: center; }
.cta-final__in h2 { font-size: clamp(32px, 5vw, 56px); }
.cta-final__in .section__lead { margin-inline: auto; }
.cta-final__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 32px; }

/* ==========================================================================
   SHOWROOM
   ========================================================================== */
.sr-hero { position: relative; isolation: isolate; overflow: hidden; }
.sr-hero h1 { letter-spacing: -.045em; line-height: .98; }
.sr-hero__lead { margin-top: 16px; font-size: clamp(15px, 1.3vw, 18px); max-width: 560px; }
@keyframes kenburns { from { transform: scale(1.08); } to { transform: scale(1); } }

/* Buscador: tarjeta (por defecto) o barra horizontal dentro del hero. */
.finder { display: grid; gap: 14px; padding: 24px; border-radius: var(--r-lg); background: var(--surface); color: var(--tx); border: 1px solid var(--line); box-shadow: 0 30px 80px -30px rgba(0, 0, 0, .6); }
.finder__fields { display: grid; gap: 14px; }
.finder__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }
.finder__head p { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; font-size: 17px; }
.finder__bot { display: inline-flex; align-items: center; justify-content: center; gap: 8px; font-size: 14px; color: var(--tx-2); padding: 6px; transition: color var(--t); }
.finder__bot:hover { color: var(--accent); }
.finder--bar { gap: 12px; padding: 16px; }
.finder--bar .finder__head p { font-size: 15px; }
.finder--bar .field__label { font-size: 12px; }
.finder--bar .field select { min-height: 48px; }
.finder--bar .finder__bot { justify-content: flex-start; padding: 0; font-size: 13px; }
.finder--bar .finder__fields { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.finder--bar .finder__fields > :nth-child(n+3) { grid-column: 1 / -1; }
@media (min-width: 640px) {
	.finder--bar .finder__fields { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.finder--bar .finder__fields > :nth-child(3) { grid-column: auto; }
	.finder--bar .finder__fields .btn { grid-column: 1 / -1; }
}
@media (min-width: 1100px) {
	.sr-hero--moto .finder--bar .finder__fields { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.35fr) auto; align-items: end; }
	.sr-hero--moto .finder--bar .finder__fields .btn { grid-column: auto; width: auto; }
}

/* Ruta Sur (autos): showroom claro y ordenado. Texto + buscador a la
   izquierda, la unidad del mes en un marco con su ficha flotante, y una
   franja de marcas al pie. */
.sr-hero--auto { background: radial-gradient(70% 90% at 85% 10%, color-mix(in srgb, var(--accent) 14%, transparent), transparent 60%), linear-gradient(180deg, var(--surface) 0%, var(--bg) 100%); color: var(--tx); }
.sr-hero--auto .sr-hero__in { display: grid; gap: 32px; padding-block: clamp(28px, 3.5vw, 48px); align-items: center; }
.sr-hero--auto .eyebrow { color: var(--tx-2); }
.sr-hero--auto .eyebrow .live-dot { margin-right: 2px; }
.sr-hero--auto h1 { font-size: clamp(34px, 4.2vw, 56px); max-width: 620px; }
.sr-hero--auto .sr-hero__lead { color: var(--tx-2); }
.sr-hero--auto .finder { margin-top: 24px; box-shadow: var(--shadow); }
.sr-stage { position: relative; margin: 0; }
.sr-stage__img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: var(--r-xl); box-shadow: 0 30px 80px -30px rgba(11, 22, 48, .45); }
.sr-stage__card { position: absolute; left: 16px; bottom: 16px; display: grid; gap: 4px; justify-items: start; min-width: 220px; max-width: calc(100% - 32px); padding: 16px 18px; border-radius: var(--r); background: color-mix(in srgb, var(--surface) 94%, transparent); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border: 1px solid var(--line); box-shadow: var(--shadow); }
.sr-stage__title { font-weight: 700; font-size: 17px; letter-spacing: -.01em; margin-top: 6px; transition: color var(--t); }
.sr-stage__title:hover { color: var(--accent); }
.sr-stage__meta { font-size: 13px; color: var(--tx-3); }
.sr-stage__price { display: flex; align-items: baseline; gap: 8px; margin-top: 6px; }
.sr-stage__price small { font-size: 12px; color: var(--tx-2); }
.sr-stage__price strong { font-size: 20px; color: var(--accent); letter-spacing: -.02em; }
.sr-stage__chip { position: absolute; display: none; align-items: center; gap: 8px; padding: 10px 14px; border-radius: 999px; font-size: 13px; font-weight: 600; background: var(--surface); color: var(--tx); border: 1px solid var(--line); box-shadow: var(--shadow); }
.sr-stage__chip svg { color: var(--accent); }
.sr-stage__chip--a { top: 24px; right: -12px; }
.sr-stage__chip--b { top: 76px; right: 28px; }
.sr-brands { border-top: 1px solid var(--line); background: var(--surface); }
.sr-brands__in { display: flex; align-items: center; gap: 12px 32px; padding-block: 14px; overflow-x: auto; scrollbar-width: none; }
.sr-brands__in::-webkit-scrollbar { display: none; }
.sr-brands__label { flex-shrink: 0; font-family: var(--f-mono); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--tx-3); }
.sr-brands ul { display: flex; gap: 8px 28px; list-style: none; margin: 0; padding: 0; }
.sr-brands a { display: block; white-space: nowrap; font-weight: 700; font-size: 15px; letter-spacing: .06em; text-transform: uppercase; color: var(--tx-2); transition: color var(--t); }
.sr-brands a:hover { color: var(--accent); }
@media (min-width: 900px) {
	.sr-hero--auto .sr-hero__in { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 56px; }
	.sr-stage__img { aspect-ratio: 1 / 1; max-height: 500px; }
	.sr-stage__card { left: -32px; bottom: 32px; }
	.sr-stage__chip { display: inline-flex; }
}

/* Cilindro (motos): foto a sangre, titular gigante, accesos por estilo y el
   buscador como barra apoyada en la base. */
.sr-hero--moto { color: #fff; display: flex; align-items: flex-end; background: var(--deep); }
.sr-hero--moto .sr-hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; animation: kenburns 18s ease-out both; }
.sr-hero--moto .sr-hero__shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(8, 9, 10, 1) 0%, rgba(8, 9, 10, .82) 34%, rgba(8, 9, 10, .25) 70%, rgba(8, 9, 10, .55) 100%), linear-gradient(90deg, rgba(8, 9, 10, .6) 0%, transparent 60%); }
.sr-hero--moto .sr-hero__in { display: grid; gap: 20px; padding-block: clamp(40px, 5vw, 64px) clamp(20px, 2.5vw, 32px); }
.sr-hero--moto .eyebrow { color: var(--accent-2); }
.sr-hero--moto h1 { font-style: italic; letter-spacing: -.05em; text-transform: uppercase; font-weight: 800; font-size: clamp(34px, 4.6vw, 68px); line-height: .92; max-width: 900px; }
.sr-hero--moto .sr-hero__lead { color: rgba(255, 255, 255, .85); margin-top: 12px; }
.sr-segs { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(170px, 1fr); gap: 1px; overflow-x: auto; scrollbar-width: none; border-block: 1px solid var(--line-2); background: var(--line-2); }
.sr-segs::-webkit-scrollbar { display: none; }
.sr-seg { position: relative; display: grid; gap: 0; padding: 12px 48px 12px 20px; background: rgba(8, 9, 10, .55); transition: background var(--t); }
.sr-seg--all { background: color-mix(in srgb, var(--accent) 18%, rgba(8, 9, 10, .6)); }
.sr-seg__n { font-family: var(--f-mono); font-size: 11px; color: var(--tx-3); }
.sr-seg strong { font-size: clamp(16px, 1.4vw, 19px); white-space: nowrap; font-weight: 800; font-style: italic; text-transform: uppercase; letter-spacing: -.02em; }
.sr-seg small { font-size: 13px; color: var(--tx-2); }
.sr-seg svg { position: absolute; right: 16px; top: 50%; translate: 0 -50%; color: var(--accent); transition: transform var(--t); }
.sr-seg:hover { background: color-mix(in srgb, var(--accent) 22%, rgba(8, 9, 10, .7)); }
.sr-seg:hover svg { transform: translateX(4px); }
.sr-hero--moto .finder { background: color-mix(in srgb, var(--surface) 88%, transparent); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border-color: var(--line-2); }
@media (min-width: 1100px) {
	.sr-hero--moto .finder--bar { grid-template-columns: auto minmax(0, 1fr); align-items: end; column-gap: 24px; }
	.sr-hero--moto .finder--bar .finder__head { flex-direction: column; align-items: flex-start; align-self: center; }
	.sr-hero--moto .finder--bar .finder__bot { grid-column: 1 / -1; }
}

.perks { border-bottom: 1px solid var(--line); background: var(--surface); }
.perks__in { display: grid; gap: 16px; padding-block: 24px; }
.perk { display: flex; align-items: center; gap: 14px; }
.perk > .ico { width: 44px; height: 44px; padding: 11px; border-radius: 12px; background: color-mix(in srgb, var(--accent) 12%, transparent); color: var(--accent); }
.perk div { display: grid; line-height: 1.3; }
.perk strong { font-size: 15px; }
.perk span { font-size: 13px; color: var(--tx-3); }

.grid-cards { display: grid; gap: 20px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); }
.vcard { position: relative; display: flex; flex-direction: column; border-radius: var(--r-lg); background: var(--surface); border: 1px solid var(--line); overflow: hidden; transition: transform .3s var(--ease), box-shadow .3s var(--ease), border-color var(--t); }
.vcard:hover { transform: translateY(-4px); box-shadow: var(--shadow); border-color: var(--line-2); }
.vcard.is-hidden { display: none; }
.vcard__media { position: relative; display: block; aspect-ratio: 3 / 2; overflow: hidden; background: var(--surface-2); }
.vcard__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease); }
.vcard:hover .vcard__media img { transform: scale(1.05); }
.vcard__badges { position: absolute; top: 12px; left: 12px; display: flex; gap: 6px; }
.vcard__tools { position: absolute; top: 10px; right: 10px; display: flex; gap: 6px; }
.vcard__tool { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: color-mix(in srgb, var(--surface) 88%, transparent); color: var(--tx); backdrop-filter: blur(8px); box-shadow: 0 4px 12px rgba(0, 0, 0, .12); transition: all var(--t); }
.vcard__tool:hover { transform: scale(1.06); }
.vcard__tool[aria-pressed="true"] { background: var(--accent); color: var(--on-accent); }
.vcard__tool[data-fav][aria-pressed="true"] .ico { fill: currentColor; }
.vcard__body { padding: 18px 20px 20px; display: grid; gap: 6px; flex: 1; align-content: start; }
.vcard__title { font-size: 21px; letter-spacing: -.02em; }
.vcard__title a::after { content: ''; position: absolute; inset: 0; z-index: 0; }
.vcard__version { color: var(--tx-2); font-size: 14px; }
.vcard__price { display: grid; gap: 2px; margin-top: 12px; padding-top: 14px; border-top: 1px solid var(--line); }
.vcard__price strong { font-size: 22px; letter-spacing: -.02em; }
.vcard__price span { font-size: 13px; color: var(--tx-2); }
.vcard__price b { color: var(--accent); }
.vcard__ml { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: var(--tx-3); margin-top: 4px; }
.vcard__tools, .vcard__tool { z-index: 2; }
.vcard__photos { position: absolute; left: 12px; bottom: 12px; padding: 4px 10px; border-radius: 999px; background: rgba(8, 9, 12, .62); color: #fff; font-size: 12px; font-weight: 500; backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.vcard__eyebrow { display: flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--tx-3); }
.vcard__eyebrow span { color: var(--accent); }
.vcard__eyebrow span::after { content: '·'; margin-left: 8px; color: var(--tx-3); }
.vcard__pills { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.vcard__pills li { display: inline-flex; align-items: center; gap: 5px; padding: 4px 10px; border-radius: 999px; background: var(--surface-2); border: 1px solid var(--line); font-size: 12.5px; color: var(--tx-2); white-space: nowrap; }
.vcard__pills .ico { color: var(--tx-3); }
.vcard__price { grid-template-columns: 1fr auto; align-items: end; }
.vcard__price > div { display: grid; gap: 2px; }
.vcard__go { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: var(--surface-2); border: 1px solid var(--line); color: var(--tx); transition: all var(--t); }
.vcard:hover .vcard__go { background: var(--accent); border-color: var(--accent); color: var(--on-accent); transform: translateX(2px); }

.empty { padding: 40px; text-align: center; border: 1px dashed var(--line-2); border-radius: var(--r-lg); display: grid; gap: 16px; justify-items: center; }

.split { display: grid; gap: 40px; align-items: start; }
.split__copy h2 { font-size: clamp(30px, 4vw, 48px); }
.split__copy .checks { margin-top: 24px; }

.sim { display: grid; gap: 0; border-radius: var(--r-lg); background: var(--surface); border: 1px solid var(--line); box-shadow: var(--shadow); overflow: hidden; }
.sim__inputs { display: grid; gap: 20px; align-content: start; padding: clamp(20px, 3vw, 32px); }
.sim__result { padding: clamp(20px, 3vw, 32px); background: var(--deep, var(--bg-2)); color: var(--deep-tx, var(--tx)); display: grid; gap: 12px; align-content: start; --tx-2: color-mix(in srgb, var(--deep-tx, #fff) 72%, transparent); }
.sim__label { font-size: 14px; color: var(--tx-2); }
.sim__value { font-size: clamp(32px, 3.6vw, 48px); font-weight: 800; letter-spacing: -.04em; line-height: 1; white-space: nowrap; }
.sim__value small { display: block; margin-top: 6px; }
.sim__value small { font-size: 16px; font-weight: 500; color: var(--tx-2); letter-spacing: 0; }
.sim__facts { display: grid; gap: 8px; margin-block: 8px 12px; }
.sim__facts div { display: flex; justify-content: space-between; gap: 12px; font-size: 14px; padding-bottom: 8px; border-bottom: 1px solid rgba(255, 255, 255, .1); }
.sim__facts dt { color: var(--tx-2); }
.sim__facts dd { font-weight: 600; text-align: right; }
.sim__note { font-size: 12px; color: var(--tx-3); }
.sim__result .sim__note { color: var(--tx-2); }
.skin-autos .sim__result .btn--primary { box-shadow: none; }

.tradein { display: grid; gap: 16px; padding: clamp(20px, 3vw, 32px); border-radius: var(--r-lg); background: var(--surface); border: 1px solid var(--line); box-shadow: var(--shadow); }
.tradein__grid { display: grid; gap: 16px; }
.tradein > .btn { justify-self: start; }
.tradein__result { display: grid; gap: 8px; padding: 20px; border-radius: var(--r); background: color-mix(in srgb, var(--accent) 8%, var(--surface-2)); border: 1px solid color-mix(in srgb, var(--accent) 30%, transparent); animation: drop .4s var(--ease); }
.tradein__label { font-size: 14px; color: var(--tx-2); }
.tradein__range { font-size: clamp(26px, 3vw, 34px); font-weight: 800; letter-spacing: -.03em; line-height: 1.1; }
.tradein__rest { color: var(--tx-2); }
.tradein__rest b { color: var(--tx); }
.tradein__result .btn { justify-self: start; margin-top: 8px; }

.booking { display: grid; gap: 20px; }

.branch { display: grid; gap: 32px; align-items: center; }
.branch__map { position: relative; aspect-ratio: 16 / 10; border-radius: var(--r-lg); overflow: hidden; background: var(--surface); border: 1px solid var(--line); color: var(--tx); }
.branch__map svg { width: 100%; height: 100%; }
.branch__pin { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -100%); width: 56px; height: 56px; border-radius: 50% 50% 50% 0; rotate: -45deg; background: var(--accent); color: var(--on-accent); display: grid; place-items: center; box-shadow: 0 12px 30px -8px color-mix(in srgb, var(--accent) 70%, transparent); }
.branch__pin .ico { rotate: 45deg; }
.branch__info { display: grid; gap: 14px; }
.branch__info h2 { font-size: clamp(28px, 3.6vw, 42px); }
.branch__line { display: flex; gap: 10px; align-items: flex-start; color: var(--tx-2); }
.branch__line .ico { margin-top: 3px; color: var(--accent); }
.branch__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 8px; }

/* ---------- Tienda: catálogo del showroom ---------- */
.grid-cards--3 { grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); }
.section__more { display: flex; justify-content: center; margin-top: 40px; }

.shop-head { padding-block: 28px 8px; background: linear-gradient(180deg, var(--bg-2), var(--bg)); border-bottom: 1px solid var(--line); }
.shop-head .crumbs-nav { margin-bottom: 16px; }
.shop-head__row { display: grid; gap: 16px; align-items: end; }
.shop-head__title { font-size: clamp(34px, 5vw, 60px); letter-spacing: -.04em; }
.shop-head__title em { font-family: var(--f-serif); font-style: italic; font-weight: 400; letter-spacing: -.01em; color: var(--accent); }
.shop-head__lead { margin-top: 12px; max-width: 640px; color: var(--tx-2); font-size: 17px; }
.shop-head__lead strong { color: var(--tx); }
.shop-head__sync { justify-self: start; }

.cats { display: flex; gap: 12px; margin-top: 28px; padding-bottom: 20px; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; }
.cats::-webkit-scrollbar { display: none; }
.cat { flex: 0 0 auto; scroll-snap-align: start; display: flex; align-items: center; gap: 12px; min-height: 64px; padding: 8px 18px 8px 8px; border-radius: var(--r); background: var(--surface); border: 1px solid var(--line); color: var(--tx); text-align: left; transition: all var(--t); }
.cat:hover { border-color: var(--line-2); transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0, 0, 0, .06); }
.cat.is-on { border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent) inset; }
.cat__img { width: 64px; height: 48px; border-radius: var(--r-xs); overflow: hidden; background: var(--surface-2); display: grid; place-items: center; color: var(--accent); flex-shrink: 0; }
.cat__img img { width: 100%; height: 100%; object-fit: cover; }
.cat__img--all { background: color-mix(in srgb, var(--accent) 12%, transparent); }
.cat__txt { display: grid; line-height: 1.25; }
.cat__txt strong { font-size: 15px; font-weight: 600; }
.cat__txt small { font-size: 12px; color: var(--tx-3); }
.cats--links { margin: 0 0 32px; padding-bottom: 4px; }

.shop { display: grid; gap: 32px; padding-block: 32px var(--sec); align-items: start; }
.shop__main { min-width: 0; }

/* Filtros: panel lateral en el celular, columna fija en pantallas anchas. */
.shop__filters { position: fixed; inset: 0; z-index: 1000; display: flex; justify-content: flex-start; background: rgba(5, 6, 9, .55); opacity: 0; visibility: hidden; transition: opacity .25s ease, visibility .25s; }
.shop__filters.is-open { opacity: 1; visibility: visible; }
.ffilters { width: min(380px, 92vw); height: 100%; display: flex; flex-direction: column; background: var(--bg); border-right: 1px solid var(--line); transform: translateX(-100%); transition: transform .3s var(--ease); }
.shop__filters.is-open .ffilters { transform: none; }
body.has-drawer { overflow: hidden; }
.ffilters__head { display: flex; align-items: center; gap: 12px; padding: 16px 20px; border-bottom: 1px solid var(--line); }
.ffilters__head h2 { display: inline-flex; align-items: center; gap: 8px; font-size: 18px; letter-spacing: -.01em; margin-right: auto; }
.ffilters__body { flex: 1; overflow-y: auto; padding: 4px 20px 20px; overscroll-behavior: contain; }
.ffilters__foot { padding: 16px 20px calc(16px + env(safe-area-inset-bottom)); border-top: 1px solid var(--line); }
.fgroup { border: 0; margin: 0; padding: 20px 0; border-bottom: 1px solid var(--line); display: grid; gap: 4px; min-width: 0; }
.fgroup legend { float: left; width: 100%; display: flex; align-items: center; gap: 8px; padding: 0; margin-bottom: 10px; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--tx-2); }
.fgroup legend .mk-tag { text-transform: none; letter-spacing: 0; }
.fgroup .chips { gap: 6px; }
.fgroup .chip span { min-height: 36px; padding: 6px 14px; font-size: 13.5px; }
.fgroup .field select { min-height: 44px; padding-block: 8px; }
.fgroup__hint { margin-top: 6px; font-size: 12px; color: var(--tx-3); }
.fcheck { position: relative; display: flex; align-items: center; gap: 10px; min-height: 40px; padding: 4px 8px; margin-inline: -8px; border-radius: var(--r-xs); font-size: 15px; color: var(--tx); cursor: pointer; transition: background var(--t), opacity var(--t); }
.fcheck:hover { background: color-mix(in srgb, var(--tx) 5%, transparent); }
.fcheck input { position: absolute; opacity: 0; pointer-events: none; }
.fcheck__box { width: 20px; height: 20px; flex-shrink: 0; display: grid; place-items: center; border-radius: 6px; border: 1.5px solid var(--line-2); background: var(--surface); color: transparent; transition: all var(--t); }
.fcheck input:checked + .fcheck__box { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
.fcheck input:focus-visible + .fcheck__box { outline: 2px solid var(--accent); outline-offset: 2px; }
.fcheck__txt { display: inline-flex; align-items: center; gap: 6px; flex: 1; min-width: 0; }
.fcheck small { font-size: 12px; font-variant-numeric: tabular-nums; color: var(--tx-3); }
.fcheck.is-empty { opacity: .45; }
.fcheck--fav { margin-top: 16px; }
.fcheck--fav .ico { color: var(--accent); }

.shop-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.shop-bar__count { font-size: 15px; color: var(--tx-2); }
.shop-bar__count strong { font-size: 18px; color: var(--tx); }
.shop-bar__tools { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.shop-bar__n { min-width: 20px; height: 20px; padding: 0 6px; border-radius: 10px; background: var(--accent); color: var(--on-accent); font-size: 11px; font-weight: 700; display: inline-grid; place-items: center; }
.shop-sort { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 6px 0 14px; border-radius: 999px; border: 1px solid var(--line-2); background: var(--surface); font-size: 14px; color: var(--tx-3); }
.shop-sort select { border: 0; background: transparent; font-weight: 600; color: var(--tx); padding: 8px 4px; cursor: pointer; }
.shop-sort select:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: 6px; }
.shop-sort select option { background: var(--surface); color: var(--tx); }
.viewtoggle { display: none; padding: 3px; border-radius: 999px; border: 1px solid var(--line-2); background: var(--surface); }
.viewtoggle button { width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; color: var(--tx-3); transition: all var(--t); }
.viewtoggle button:hover { color: var(--tx); }
.viewtoggle button[aria-pressed="true"] { background: var(--tx); color: var(--bg); }

.active-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding-top: 16px; }
.pill { display: inline-flex; align-items: center; gap: 8px; min-height: 34px; padding: 4px 8px 4px 14px; border-radius: 999px; background: color-mix(in srgb, var(--accent) 12%, transparent); border: 1px solid color-mix(in srgb, var(--accent) 35%, transparent); font-size: 13.5px; font-weight: 500; color: var(--tx); transition: all var(--t); }
.pill span[aria-hidden] { width: 20px; height: 20px; display: grid; place-items: center; border-radius: 50%; font-size: 16px; line-height: 1; background: color-mix(in srgb, var(--tx) 8%, transparent); }
.pill:hover { border-color: var(--accent); }

.shop-grid { display: grid; gap: 20px; margin-top: 24px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); }
.shop-grid--4 { margin-top: 0; }
.shop-grid .vcard__title { font-size: 19px; }
.shop .empty { margin-top: 24px; }
.empty > .ico { color: var(--tx-3); }
.empty__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }

.shop-help { display: grid; gap: 16px; align-items: center; margin-top: 40px; padding: clamp(20px, 3vw, 28px); border-radius: var(--r-lg); background: var(--surface); border: 1px solid var(--line); }
.shop-help__icon { width: 48px; height: 48px; border-radius: 14px; display: grid; place-items: center; background: color-mix(in srgb, var(--accent) 14%, transparent); color: var(--accent); }
.shop-help__title { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 18px; font-weight: 700; letter-spacing: -.01em; margin-bottom: 4px; }
.shop-help p:not(.shop-help__title) { color: var(--tx-2); font-size: 15px; }
.perks--shop { border-top: 1px solid var(--line); }
.perk a { text-decoration: underline; text-underline-offset: 3px; }
.perk a:hover { color: var(--accent); }

/* Vista en lista */
@media (min-width: 640px) {
	.shop-grid.is-list { grid-template-columns: 1fr; }
	.shop-grid.is-list .vcard { flex-direction: row; }
	.shop-grid.is-list .vcard__media { width: min(42%, 340px); flex-shrink: 0; aspect-ratio: auto; min-height: 220px; }
	.shop-grid.is-list .vcard__body { padding: 22px 24px; }
	.shop-grid.is-list .vcard__title { font-size: 23px; }
	.shop-grid.is-list .vcard__tools { right: auto; left: calc(min(42%, 340px) - 100px); }
}

/* ---------- Tienda: ficha del vehículo ---------- */
.pdp-crumbs { padding-top: 20px; }
.pdp-crumbs .crumbs-nav { margin-bottom: 16px; }
.pdp__top { display: grid; gap: 24px; padding-bottom: 32px; }
.pdp__gallery { display: grid; gap: 12px; min-width: 0; outline: none; }
.pdp__main { position: relative; border-radius: var(--r-lg); overflow: hidden; aspect-ratio: 3 / 2; background: var(--surface-2); }
.pdp__main img { width: 100%; height: 100%; object-fit: cover; animation: fadein .5s var(--ease); }
.pdp__nav { position: absolute; top: 50%; translate: 0 -50%; width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: color-mix(in srgb, var(--surface) 88%, transparent); color: var(--tx); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); box-shadow: 0 4px 12px rgba(0, 0, 0, .15); opacity: .92; transition: all var(--t); }
.pdp__nav:hover { opacity: 1; transform: scale(1.06); }
.pdp__nav--prev { left: 12px; }
.pdp__nav--next { right: 12px; }
.pdp__counter { position: absolute; right: 12px; bottom: 12px; padding: 4px 10px; border-radius: 999px; background: rgba(8, 9, 12, .62); color: #fff; font-size: 12px; font-weight: 600; font-variant-numeric: tabular-nums; }
@keyframes fadein { from { opacity: .3; } to { opacity: 1; } }
.pdp__thumbs { display: flex; gap: 10px; overflow-x: auto; scrollbar-width: thin; padding-bottom: 2px; }
.pdp__thumb { width: 104px; flex-shrink: 0; aspect-ratio: 3 / 2; border-radius: var(--r-sm); overflow: hidden; border: 2px solid transparent; opacity: .6; transition: all var(--t); }
.pdp__thumb img { width: 100%; height: 100%; object-fit: cover; }
.pdp__thumb:hover, .pdp__thumb.is-on { opacity: 1; border-color: var(--accent); }

.buybox { padding: clamp(22px, 3vw, 28px); border-radius: var(--r-lg); background: var(--surface); border: 1px solid var(--line); box-shadow: var(--shadow); display: grid; gap: 16px; }
.buybox__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.buybox__brand { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--accent); }
.buybox__stock { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; color: var(--tx-2); }
.buybox__title { font-size: clamp(28px, 3vw, 36px); letter-spacing: -.035em; }
.buybox__title span { display: block; font-size: 16px; font-weight: 500; color: var(--tx-2); letter-spacing: -.01em; margin-top: 6px; }
.buybox__facts { display: flex; flex-wrap: wrap; gap: 6px; }
.buybox__facts li { display: inline-flex; align-items: center; gap: 6px; padding: 5px 11px; border-radius: 999px; background: var(--surface-2); border: 1px solid var(--line); font-size: 13px; color: var(--tx-2); }
.buybox__facts .ico { color: var(--tx-3); }
.buybox__pricing { display: grid; gap: 4px; padding-top: 16px; border-top: 1px solid var(--line); }
.buybox__label { font-size: 13px; color: var(--tx-3); }
.buybox__price { font-size: clamp(34px, 3.6vw, 42px); font-weight: 800; letter-spacing: -.04em; line-height: 1.05; }
.buybox__quota { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 2px 12px; margin-top: 10px; padding: 14px 16px; border-radius: var(--r); background: color-mix(in srgb, var(--accent) 9%, var(--surface)); border: 1px solid color-mix(in srgb, var(--accent) 28%, transparent); transition: all var(--t); }
.buybox__quota:hover { border-color: var(--accent); }
.buybox__quota > span:first-child { font-size: 13px; color: var(--tx-2); }
.buybox__quota strong { grid-row: 2; font-size: 24px; letter-spacing: -.02em; color: var(--accent); }
.buybox__quota strong small { font-size: 14px; font-weight: 500; color: var(--tx-2); }
.buybox__quota-link { grid-row: 1 / span 2; grid-column: 2; display: inline-flex; align-items: center; gap: 4px; font-size: 13px; font-weight: 600; color: var(--tx); }
.buybox .btn--lg { white-space: normal; }
.buybox__row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.buybox__row .btn { padding-inline: 12px; }
.buybox__tools { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 16px; }
.buybox__trust { display: grid; gap: 12px; padding-top: 16px; border-top: 1px solid var(--line); }
.buybox__trust li { display: grid; grid-template-columns: auto 1fr; gap: 12px; align-items: start; font-size: 13.5px; line-height: 1.45; color: var(--tx-2); }
.buybox__trust .ico { color: var(--accent); margin-top: 1px; }
.buybox__trust strong { color: var(--tx); font-weight: 600; }
.buybox__ml { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; font-size: 12.5px; color: var(--tx-3); }

.pdp-tabs { position: sticky; top: var(--header-h); z-index: 30; background: color-mix(in srgb, var(--bg) 90%, transparent); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border-block: 1px solid var(--line); }
.pdp-tabs__in { display: flex; align-items: center; gap: 4px; overflow-x: auto; scrollbar-width: none; }
.pdp-tabs__in::-webkit-scrollbar { display: none; }
.pdp-tabs a:not(.btn) { position: relative; flex-shrink: 0; padding: 16px 14px; font-size: 14.5px; font-weight: 600; color: var(--tx-2); white-space: nowrap; transition: color var(--t); }
.pdp-tabs a:not(.btn)::after { content: ''; position: absolute; left: 14px; right: 14px; bottom: -1px; height: 2px; border-radius: 2px; background: var(--accent); transform: scaleX(0); transition: transform .25s var(--ease); }
.pdp-tabs a:not(.btn):hover, .pdp-tabs a.is-on { color: var(--tx); }
.pdp-tabs a.is-on::after { transform: scaleX(1); }
.pdp-tabs__price { display: none; margin-left: auto; align-items: center; gap: 14px; flex-shrink: 0; opacity: 0; transition: opacity var(--t); }
.pdp-tabs.is-stuck .pdp-tabs__price { opacity: 1; }
.pdp-tabs__price strong { font-size: 18px; letter-spacing: -.02em; }

.pdp__body { display: grid; gap: 20px; padding-block: 32px 64px; }
.section__head--split > .btn { justify-self: start; }
.pdp-sec { padding: clamp(22px, 3vw, 36px); border-radius: var(--r-lg); background: var(--surface); border: 1px solid var(--line); display: grid; gap: 20px; scroll-margin-top: calc(var(--header-h) + 72px); min-width: 0; }
.pdp-sec h2 { font-size: clamp(22px, 2.4vw, 28px); }
.pdp-sec__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; }
.pdp-sec__sub { font-size: 16px; letter-spacing: -.01em; margin-top: 8px; }
.pdp-sec .sim, .pdp-sec .tradein { box-shadow: none; }
.pdp-sec .tradein { padding: 0; border: 0; background: none; }
.pdp-sec--inside { background: none; border: 0; padding: 0; gap: 8px; }
.vdp__inside-note { font-size: 13px; color: var(--tx-3); text-align: center; }
.spec-table { display: grid; border-top: 1px solid var(--line); }
.spec-table div { display: grid; grid-template-columns: minmax(120px, 40%) 1fr; gap: 16px; padding: 13px 4px; border-bottom: 1px solid var(--line); font-size: 15px; }
.spec-table dt { color: var(--tx-3); }
.spec-table dd { font-weight: 600; }
.highlights { display: flex; flex-wrap: wrap; gap: 8px; }
.highlights li { display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border-radius: 999px; background: color-mix(in srgb, var(--accent) 10%, transparent); color: var(--tx); font-size: 14px; font-weight: 500; }
.highlights .ico { color: var(--accent); }
.pdp__desc { color: var(--tx-2); font-size: 16px; max-width: 760px; }
.pdp__desc p + p { margin-top: 12px; }
.pdp__branch { display: flex; gap: 12px; align-items: flex-start; padding: 16px; border-radius: var(--r); background: var(--surface-2); font-size: 14px; color: var(--tx-2); }
.pdp__branch .ico { color: var(--accent); flex-shrink: 0; margin-top: 2px; }
.pdp__branch strong { color: var(--tx); }

.mobile-buy { position: fixed; z-index: 40; left: 0; right: 0; bottom: 0; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px var(--gut) calc(12px + env(safe-area-inset-bottom)); background: color-mix(in srgb, var(--surface) 92%, transparent); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); border-top: 1px solid var(--line); }
.mobile-buy div { display: grid; line-height: 1.2; }
.mobile-buy strong { font-size: 18px; }
.mobile-buy div span { font-size: 12px; color: var(--tx-2); }
.single-product .site-footer { padding-bottom: 96px; }

@media (min-width: 640px) {
	.shop-head__row { grid-template-columns: 1fr auto; }
	.shop-head__sync { justify-self: end; }
	.viewtoggle { display: inline-flex; }
	.shop-help { grid-template-columns: auto 1fr auto; }
	.section__head--split > .btn { justify-self: end; }
	.spec-table { grid-template-columns: 1fr 1fr; column-gap: 40px; }
}

@media (min-width: 1024px) {
	.shop { grid-template-columns: 272px minmax(0, 1fr); gap: 40px; }
	.shop__filters { position: sticky; top: calc(var(--header-h) + 24px); inset: auto; z-index: 1; display: block; background: none; opacity: 1; visibility: visible; max-height: calc(100vh - var(--header-h) - 48px); overflow-y: auto; scrollbar-width: thin; border-radius: var(--r-lg); }
	.ffilters { width: auto; height: auto; transform: none; background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-lg); }
	.ffilters__head { padding: 18px 20px 14px; }
	.ffilters__close, .ffilters__foot, .shop-bar__filters { display: none; }
	.ffilters__body { overflow: visible; }
	body.has-drawer { overflow: auto; }

	.pdp__top { grid-template-columns: minmax(0, 1.45fr) minmax(360px, 1fr); gap: 40px; align-items: start; }
	.pdp__buy { position: sticky; top: calc(var(--header-h) + 20px); }
	.pdp-tabs__price { display: inline-flex; }
	.pdp__body { grid-template-columns: minmax(0, 1fr); }
	.mobile-buy { display: none; }
	.single-product .site-footer { padding-bottom: 32px; }
}

/* ---------- Tarjeta de métricas ML (interna) ---------- */
.mlc { position: relative; padding: clamp(20px, 3vw, 28px); border-radius: var(--r-lg); display: grid; gap: 18px; background: #0b0d13; color: #eef0f6; border: 1px solid rgba(255, 255, 255, .08); --tx-2: #a9aebb; --tx-3: #8a90a3; --line: rgba(255, 255, 255, .08); box-shadow: 0 30px 70px -40px rgba(0, 0, 0, .7); overflow: hidden; }
.mlc::before { content: ''; position: absolute; inset: 0 0 auto; height: 3px; background: var(--mk-grad); }
.mlc__head { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 10px; }
.mlc__over { display: inline-flex; align-items: center; gap: 6px; font-family: var(--f-mono); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--tx-3); margin-bottom: 6px; }
.mlc__title { font-size: 20px; letter-spacing: -.02em; }
.mlc--compact .mlc__title { font-size: 16px; }
.mlc__kpis { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.mlc__kpis div { padding: 12px; border-radius: var(--r-sm); background: rgba(255, 255, 255, .04); border: 1px solid var(--line); display: grid; gap: 2px; }
.mlc__kpis span { font-size: 12px; color: var(--tx-3); }
.mlc__kpis strong { font-size: 22px; letter-spacing: -.02em; }
.mlc--compact .mlc__kpis strong { font-size: 18px; }
.spark { width: 100%; height: 64px; }
.spark__line { fill: none; stroke: #3bd6ff; stroke-width: 2; vector-effect: non-scaling-stroke; stroke-linejoin: round; }
.spark__area { fill: rgba(59, 214, 255, .1); }
.mlc__market { display: grid; gap: 8px; }
.mlc__market-head { display: flex; justify-content: space-between; gap: 12px; font-size: 13px; color: var(--tx-2); }
.mlc__market-head b { color: #eef0f6; }
.mlc__market-head b.is-warn { color: #fbbf24; }
.mlc__market-head b.is-good { color: #4ade80; }
.mlc__bar { position: relative; height: 10px; border-radius: 5px; background: linear-gradient(90deg, #22c55e, #3bd6ff 50%, #f59e0b); }
.mlc__bar-mid { position: absolute; left: 50%; top: -3px; bottom: -3px; width: 2px; background: rgba(255, 255, 255, .6); }
.mlc__bar-pin { position: absolute; top: 50%; width: 18px; height: 18px; border-radius: 50%; background: #fff; border: 3px solid #0b0d13; box-shadow: 0 0 0 2px #fff; transform: translate(-50%, -50%); }
.mlc__bar-labels { display: flex; justify-content: space-between; gap: 8px; font-size: 11px; color: var(--tx-3); }
.mlc__insights { display: grid; gap: 10px; }
.insight { display: flex; gap: 12px; padding: 14px; border-radius: var(--r-sm); background: rgba(255, 255, 255, .04); border: 1px solid var(--line); }
.insight__ico { width: 28px; height: 28px; border-radius: 8px; display: grid; place-items: center; flex-shrink: 0; background: var(--mk-grad); color: #07080c; }
.insight strong { display: block; font-size: 14px; }
.insight p { font-size: 13px; color: var(--tx-2); margin-top: 2px; }
.insight--bad { border-color: rgba(248, 113, 113, .35); }
.insight--bad .insight__ico { background: #f87171; }
.insight--warn { border-color: rgba(251, 191, 36, .3); }
.insight--warn .insight__ico { background: #fbbf24; }
.insight--good .insight__ico { background: #4ade80; }
.mlc--compact .insight p { display: none; }
.mlc--compact .insight:first-child p { display: block; }

/* ---------- Panel ---------- */
.panel { display: grid; min-height: calc(100vh - var(--header-h) - var(--ribbon-h)); background: var(--bg-2); }
.panel__side { background: var(--surface); border-bottom: 1px solid var(--line); padding: 16px var(--gut); display: grid; gap: 12px; position: sticky; top: var(--header-h); z-index: 30; }
.panel__who { display: none; }
.panel__tabs { display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; }
.panel__tabs::-webkit-scrollbar { display: none; }
.panel__tabs a { display: inline-flex; align-items: center; gap: 8px; padding: 10px 14px; border-radius: var(--r-sm); font-size: 14px; font-weight: 500; color: var(--tx-2); white-space: nowrap; transition: all var(--t); }
.panel__tabs a:hover { color: var(--tx); background: var(--surface-2); }
.panel__tabs a[aria-selected="true"] { background: var(--accent); color: var(--on-accent); }
.panel__back { display: none; }
.panel__main { padding: 24px var(--gut) 80px; display: grid; gap: 24px; align-content: start; min-width: 0; }
.panel__notice { display: flex; gap: 12px; align-items: flex-start; padding: 14px 18px; border-radius: var(--r); background: var(--surface); border: 1px solid var(--line); font-size: 14px; color: var(--tx-2); }
.panel__notice .ico { color: var(--accent); margin-top: 2px; }
.tabpanel { display: grid; gap: 24px; animation: drop .35s var(--ease); min-width: 0; }
.tabpanel__head h1 { font-size: clamp(26px, 3vw, 36px); display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.tabpanel__head p { color: var(--tx-2); margin-top: 6px; }
.tabpanel__head--row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 16px; }
.kpis { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.kpi { position: relative; padding: 18px; border-radius: var(--r); background: var(--surface); border: 1px solid var(--line); display: grid; gap: 4px; min-width: 0; }
.kpi__label { font-size: 13px; color: var(--tx-3); }
.kpi__value { font-size: clamp(26px, 3vw, 34px); letter-spacing: -.03em; line-height: 1.1; }
.kpi__delta { font-size: 12px; color: var(--ok); font-weight: 600; }
.skin-motos .kpi__delta { color: #4ade80; }
.kpi__tag { font-family: var(--f-mono); font-size: 10px; letter-spacing: .06em; text-transform: uppercase; color: var(--tx-3); }
.panel-grid { display: grid; gap: 16px; }
.chart { height: 200px; }
.chart-line { width: 100%; height: 100%; }
.chart-line__line { fill: none; stroke: var(--accent); stroke-width: 2.5; vector-effect: non-scaling-stroke; stroke-linejoin: round; }
.chart-line__area { fill: color-mix(in srgb, var(--accent) 14%, transparent); }
.skin-hub .chart-line__line { stroke: #3bd6ff; }
.skin-hub .chart-line__area { fill: rgba(59, 214, 255, .12); }
.bars { display: grid; gap: 14px; }
.bars li { display: grid; grid-template-columns: 110px 1fr 44px; align-items: center; gap: 12px; font-size: 14px; }
.bars b { text-align: right; }
.funnel { display: grid; gap: 8px; }
.funnel li { position: relative; display: flex; justify-content: space-between; padding: 12px 16px; border-radius: var(--r-sm); font-size: 14px; isolation: isolate; }
.funnel li::before { content: ''; position: absolute; inset: 0 auto 0 0; width: var(--w); border-radius: inherit; background: color-mix(in srgb, var(--accent) 18%, transparent); z-index: -1; transition: width 1s var(--ease); }
.table-wrap { overflow-x: auto; border-radius: var(--r); border: 1px solid var(--line); background: var(--surface); }
.table { width: 100%; border-collapse: collapse; font-size: 14px; min-width: 760px; }
.table th { text-align: left; font-size: 12px; font-weight: 600; color: var(--tx-3); text-transform: uppercase; letter-spacing: .04em; padding: 14px 16px; border-bottom: 1px solid var(--line); white-space: nowrap; }
.table td { padding: 14px 16px; border-bottom: 1px solid var(--line); vertical-align: middle; }
.table tr:last-child td { border-bottom: 0; }
.table td small { display: block; font-size: 12px; color: var(--tx-3); }
.table tr.is-you td { background: color-mix(in srgb, var(--accent) 7%, transparent); }
.table tr { transition: background var(--t); }
.table tbody tr:hover td { background: var(--surface-2); }
.cell-unit { display: flex; align-items: center; gap: 12px; }
.cell-unit img { width: 64px; height: 44px; border-radius: 8px; object-fit: cover; }
.cell-unit span { display: grid; }
.status { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: var(--tx-2); white-space: nowrap; }
.status::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: var(--tx-3); }
.status--ok::before { background: #22c55e; }
.status--warn::before { background: #f59e0b; }
.status--bad::before { background: #ef4444; }
.health { display: inline-grid; place-items: center; min-width: 40px; height: 28px; padding: 0 8px; border-radius: 8px; font-weight: 700; font-size: 13px; }
.health--good { background: rgba(34, 197, 94, .15); color: #15803d; }
.health--warn { background: rgba(245, 158, 11, .16); color: #b45309; }
.health--bad { background: rgba(239, 68, 68, .14); color: #b91c1c; }
.skin-motos .health--good { color: #4ade80; }
.skin-motos .health--warn { color: #fbbf24; }
.skin-motos .health--bad { color: #f87171; }
.badge--type-reserva { background: var(--accent); color: var(--on-accent); border-color: transparent; }
.badge--type-test_drive { background: color-mix(in srgb, var(--accent) 16%, transparent); }
.mlc-grid { display: grid; gap: 16px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); }
.agenda { display: grid; gap: 12px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr)); }
.agenda__day { padding: 16px; border-radius: var(--r); background: var(--surface); border: 1px solid var(--line); display: grid; gap: 10px; align-content: start; }
.agenda__day h2 { font-size: 15px; text-transform: capitalize; }
.agenda__empty { font-size: 13px; color: var(--tx-3); }
.agenda__slot { display: grid; gap: 2px; padding: 10px 12px; border-radius: var(--r-sm); background: var(--surface-2); border-left: 3px solid var(--accent); font-size: 13px; }
.agenda__slot b { font-family: var(--f-mono); }
.agenda__slot small { color: var(--tx-3); }
.agenda__slot em { font-style: normal; font-size: 12px; color: var(--ok); }
.skin-motos .agenda__slot em { color: #4ade80; }
.agenda__slot.is-you { background: color-mix(in srgb, var(--accent) 12%, var(--surface-2)); animation: glow 2.4s ease-in-out 3; }
@keyframes glow { 50% { box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent) 25%, transparent); } }
.bulk { display: grid; gap: 16px; }
.bulk__drop { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; padding: 24px; border-radius: var(--r); border: 2px dashed var(--line-2); background: var(--surface); }
.bulk__drop > .ico { color: var(--accent); }
.bulk__drop p { display: grid; flex: 1; min-width: 180px; }
.bulk__drop span { font-size: 13px; color: var(--tx-3); }
.bulk__progress { display: flex; align-items: center; gap: 14px; font-size: 14px; color: var(--tx-2); }
.bulk small[data-bulk-msg] { color: var(--bad); }
.skin-motos .bulk small[data-bulk-msg] { color: #f87171; }
.campaign { display: grid; gap: 20px; align-items: start; }
.campaign h2 { font-size: 22px; margin-bottom: 8px; }
.campaign__seg { display: flex; gap: 8px; align-items: center; color: var(--tx-2); font-size: 14px; }
.campaign__stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-block: 20px; }
.campaign__stats div { padding: 14px; border-radius: var(--r-sm); background: var(--surface-2); display: grid; }
.campaign__stats strong { font-size: 24px; letter-spacing: -.02em; }
.campaign__stats span { font-size: 13px; color: var(--tx-3); }
.phone { max-width: 360px; width: 100%; justify-self: center; border-radius: 36px; padding: 10px; background: #111; box-shadow: 0 40px 80px -30px rgba(0, 0, 0, .6); }
.phone__bar { display: grid; grid-template-columns: auto 1fr; column-gap: 10px; align-items: center; padding: 14px 16px; border-radius: 28px 28px 0 0; background: #1f2c34; color: #e9edef; }
.phone__bar .bot__avatar { grid-row: span 2; background: #25d366; color: #fff; }
.phone__bar small { font-size: 11px; color: #8696a0; }
.phone__chat { min-height: 360px; padding: 16px; border-radius: 0 0 28px 28px; background: #0b141a; display: grid; gap: 10px; align-content: start; }
.wa-bubble { max-width: 88%; padding: 10px 12px 8px; border-radius: 0 12px 12px 12px; background: #202c33; color: #e9edef; font-size: 14px; line-height: 1.45; }
.wa-bubble span { display: block; text-align: right; font-size: 11px; color: #8696a0; margin-top: 4px; }
.wa-bubble--in { justify-self: end; background: #005c4b; border-radius: 12px 0 12px 12px; }
.wa-quick { display: grid; gap: 6px; max-width: 88%; }
.wa-quick span { padding: 8px; text-align: center; border-radius: 10px; background: #202c33; color: #53bdeb; font-size: 14px; }

/* ---------- Diálogos ---------- */
.dlg { width: min(560px, calc(100vw - 24px)); max-height: calc(100dvh - 24px); padding: 0; border: 1px solid var(--line-2); border-radius: var(--r-lg); background: var(--surface); color: var(--tx); box-shadow: 0 40px 120px -20px rgba(0, 0, 0, .6); overflow: auto; }
.dlg--wide { width: min(980px, calc(100vw - 24px)); }
.dlg[open] { animation: pop .3s var(--ease); }
.dlg::backdrop { background: rgba(5, 7, 12, .6); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
@keyframes pop { from { opacity: 0; transform: translateY(16px) scale(.98); } to { opacity: 1; transform: none; } }
.dlg__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; padding: 24px 24px 0; }
.dlg__head h2 { font-size: 24px; }
.dlg__head .eyebrow { margin-bottom: 8px; }
.dlg__lead { color: var(--tx-2); margin-top: 8px; }
.dlg form { padding: 20px 24px 24px; display: grid; gap: 16px; }
.crm { padding: 20px 24px 24px; display: grid; gap: 14px; }
.crm__over { font-family: var(--f-mono); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--tx-3); }
.crm__card { padding: 18px; border-radius: var(--r); background: #0b0d13; color: #eef0f6; border: 1px solid rgba(255, 255, 255, .08); display: grid; gap: 8px; position: relative; overflow: hidden; }
.crm__card::before { content: ''; position: absolute; inset: 0 0 auto; height: 3px; background: var(--mk-grad); }
.crm__top { display: flex; align-items: center; gap: 8px; }
.crm__code { font-family: var(--f-mono); font-size: 12px; color: #a9aebb; }
.crm__ago { margin-left: auto; font-size: 12px; color: #4ade80; }
.crm__name { font-size: 18px; font-weight: 700; }
.crm__vehicle { font-size: 14px; color: #a9aebb; }
.crm__facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 6px; }
.crm__facts div { padding: 10px; border-radius: 10px; background: rgba(255, 255, 255, .05); }
.crm__facts dt { font-size: 11px; color: #8a90a3; }
.crm__facts dd { font-size: 13px; font-weight: 600; }
.crm__score { display: flex; align-items: center; gap: 10px; font-size: 13px; color: #a9aebb; margin-top: 4px; }
.crm__score .meter { background: rgba(255, 255, 255, .08); }
.crm__score .meter i { background: var(--mk-grad); }
.crm__score b { color: #eef0f6; font-family: var(--f-mono); }
.crm__actions { display: flex; flex-wrap: wrap; gap: 10px; }

.compare { padding: 20px 24px 24px; overflow-x: auto; }
.compare table { width: 100%; border-collapse: collapse; min-width: 560px; font-size: 14px; }
.compare th, .compare td { padding: 12px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.compare th { width: 160px; color: var(--tx-3); font-weight: 500; }
.compare td img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--r-sm); margin-bottom: 10px; }
.compare td strong { display: block; font-size: 16px; }
.compare .is-best { color: var(--accent); font-weight: 700; }

/* ---------- Ficha de producto Markonect (panel lateral) ---------- */
.sheet { position: fixed; inset: 0; z-index: 2000; visibility: hidden; pointer-events: none; }
.sheet.is-open { visibility: visible; pointer-events: auto; }
.sheet__backdrop { position: absolute; inset: 0; background: rgba(5, 7, 12, .55); opacity: 0; transition: opacity .3s ease; backdrop-filter: blur(4px); }
.sheet.is-open .sheet__backdrop { opacity: 1; }
.sheet__panel { position: absolute; top: 0; right: 0; bottom: 0; width: min(440px, 100vw); padding: 32px 28px; overflow-y: auto; background: var(--mk-bg); color: var(--mk-tx); display: grid; gap: 20px; align-content: start; transform: translateX(100%); transition: transform .4s var(--ease); border-left: 1px solid rgba(255, 255, 255, .08); --tx-2: #b3b8c5; --accent: #2ef2a0; --on-accent: #07080c; --line-2: rgba(255, 255, 255, .16); --tx: #f3f4f8; }
.sheet.is-open .sheet__panel { transform: none; }
.sheet__panel::before { content: ''; position: absolute; inset: 0 0 auto; height: 3px; background: var(--mk-grad); }
.sheet__close { position: absolute; top: 16px; right: 16px; color: var(--mk-tx); }
.sheet__family { font-family: var(--f-mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; background: var(--mk-grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.sheet__title { font-size: 34px; letter-spacing: -.035em; margin-top: -10px; }
.sheet__block { display: grid; gap: 10px; padding: 18px; border-radius: var(--r); background: rgba(255, 255, 255, .04); border: 1px solid rgba(255, 255, 255, .08); }
.sheet__block h3 { font-family: var(--f-mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: #8a90a3; font-weight: 500; }
.sheet__block p { color: #d6d9e1; }
.sheet__block--accent { background: linear-gradient(160deg, rgba(46, 242, 160, .08), rgba(139, 124, 255, .06)); }
.sheet__actions { display: grid; gap: 10px; }
.sheet__actions .btn--primary { background: var(--mk-grad); color: #07080c; }
.sheet__note { font-size: 13px; color: #8a90a3; }

/* ---------- OmniBot ---------- */
.bot { position: fixed; right: 16px; bottom: 16px; z-index: 900; }
.bot__fab { position: relative; display: flex; align-items: center; gap: 12px; padding: 8px; border-radius: 999px; background: var(--surface); color: var(--tx); border: 1px solid var(--line-2); box-shadow: 0 16px 40px -12px rgba(0, 0, 0, .45); transition: transform var(--t), box-shadow var(--t); }
.bot__fab:hover { transform: translateY(-2px); box-shadow: 0 20px 50px -14px rgba(0, 0, 0, .5); }
.bot__fab-ico { width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; background: var(--accent); color: var(--on-accent); }
.bot__fab-text { display: none; text-align: left; line-height: 1.25; padding-right: 10px; }
.bot__fab-text strong { display: block; font-size: 14px; }
.bot__fab-text small { font-size: 12px; color: var(--tx-3); }
.bot__fab-dot { position: absolute; top: 6px; left: 42px; width: 12px; height: 12px; border-radius: 50%; background: #22c55e; border: 2px solid var(--surface); }
.bot.is-open .bot__fab { display: none; }
.bot__panel { position: fixed; inset: auto 0 0 0; height: min(640px, 92dvh); display: flex; flex-direction: column; background: var(--surface); color: var(--tx); border: 1px solid var(--line-2); border-radius: var(--r-lg) var(--r-lg) 0 0; box-shadow: 0 40px 120px -20px rgba(0, 0, 0, .6); overflow: hidden; animation: pop .3s var(--ease); }
.bot__head { display: flex; align-items: center; gap: 10px; padding: 14px 14px 14px 18px; border-bottom: 1px solid var(--line); }
.bot__avatar { width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; background: var(--accent); color: var(--on-accent); flex-shrink: 0; }
.bot__who { display: grid; line-height: 1.25; min-width: 0; flex: 1; }
.bot__who strong { font-size: 15px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bot__who small { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: var(--tx-3); }
.bot__log { flex: 1; overflow-y: auto; padding: 18px; display: grid; gap: 12px; align-content: start; background: var(--bg-2); scroll-behavior: smooth; }
.msg { max-width: 86%; padding: 10px 14px; border-radius: 16px; font-size: 15px; line-height: 1.45; animation: msgin .3s var(--ease); }
@keyframes msgin { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.msg--bot { background: var(--surface); border: 1px solid var(--line); border-top-left-radius: 4px; }
.msg--me { justify-self: end; background: var(--accent); color: var(--on-accent); border-top-right-radius: 4px; }
.msg--typing { display: inline-flex; gap: 4px; padding: 14px; }
.msg--typing i { width: 7px; height: 7px; border-radius: 50%; background: var(--tx-3); animation: blink 1.2s infinite; }
.msg--typing i:nth-child(2) { animation-delay: .15s; }
.msg--typing i:nth-child(3) { animation-delay: .3s; }
@keyframes blink { 0%, 80%, 100% { opacity: .3; } 40% { opacity: 1; } }
.msg-cards { display: grid; gap: 8px; max-width: 92%; }
.msg-card { display: grid; grid-template-columns: 84px 1fr; gap: 12px; align-items: center; padding: 8px; border-radius: 14px; background: var(--surface); border: 1px solid var(--line); transition: border-color var(--t), transform var(--t); animation: msgin .35s var(--ease); }
.msg-card:hover { border-color: var(--accent); transform: translateX(2px); }
.msg-card img { width: 84px; height: 60px; border-radius: 10px; object-fit: cover; }
.msg-card strong { display: block; font-size: 14px; line-height: 1.25; }
.msg-card span { font-size: 12px; color: var(--tx-3); }
.msg-card b { font-size: 13px; color: var(--accent); }
.msg-meta { font-family: var(--f-mono); font-size: 10px; letter-spacing: .04em; color: var(--tx-3); display: flex; flex-wrap: wrap; gap: 4px 8px; align-items: center; }
.msg-meta .meter { flex: 0 0 60px; min-width: 60px; }
.msg-meta .meter { max-width: 60px; height: 4px; }
.bot__chips { display: flex; gap: 6px; padding: 10px 14px 0; overflow-x: auto; scrollbar-width: none; background: var(--bg-2); }
.bot__chips::-webkit-scrollbar { display: none; }
.bot__chips button { flex-shrink: 0; padding: 8px 12px; border-radius: 999px; border: 1px solid var(--accent); color: var(--accent); background: var(--surface); font-size: 13px; font-weight: 500; transition: all var(--t); white-space: nowrap; }
.bot__chips button:hover { background: var(--accent); color: var(--on-accent); }
.bot__form { display: flex; gap: 8px; padding: 12px 14px; background: var(--bg-2); }
.bot__form input { flex: 1; min-width: 0; min-height: 48px; padding: 10px 16px; border-radius: 999px; border: 1px solid var(--line-2); background: var(--surface); font-size: 16px; }
.bot__form input:focus { outline: none; border-color: var(--accent); }
.bot__send { width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; background: var(--accent); color: var(--on-accent); flex-shrink: 0; transition: transform var(--t); }
.bot__send:hover { transform: scale(1.06); }
.bot__note { padding: 0 14px 12px; font-size: 11px; color: var(--tx-3); background: var(--bg-2); }

/* ---------- Comparador, recorrido, toasts ---------- */
.compare-tray { position: fixed; left: 50%; bottom: 88px; z-index: 800; transform: translateX(-50%); display: flex; align-items: center; gap: 10px; padding: 8px 8px 8px 12px; border-radius: 999px; background: var(--surface); border: 1px solid var(--line-2); box-shadow: 0 20px 50px -14px rgba(0, 0, 0, .5); animation: pop .3s var(--ease); max-width: calc(100vw - 24px); }
.compare-tray__items { display: flex; gap: 6px; }
.compare-tray__items img { width: 44px; height: 32px; border-radius: 8px; object-fit: cover; }

.guide { position: fixed; left: 16px; bottom: 16px; z-index: 850; }
.guide__pill { display: flex; align-items: center; gap: 10px; padding: 6px 16px 6px 6px; border-radius: 999px; background: var(--mk-bg); color: var(--mk-tx); border: 1px solid rgba(255, 255, 255, .12); box-shadow: 0 16px 40px -12px rgba(0, 0, 0, .5); text-align: left; line-height: 1.2; transition: transform var(--t); }
.guide__pill:hover { transform: translateY(-2px); }
.guide__pill strong { display: block; font-size: 13px; }
.guide__pill small { font-size: 11px; color: var(--mk-tx-2); font-family: var(--f-mono); }
.guide__pill > span:last-child { display: none; }
.guide__ring { width: 40px; height: 40px; }
.guide__ring svg { width: 40px; height: 40px; transform: rotate(-90deg); }
.guide__ring circle { fill: none; stroke: rgba(255, 255, 255, .14); stroke-width: 3.5; }
.guide__ring .guide__ring-val { stroke: var(--mk-mint); stroke-linecap: round; stroke-dasharray: 97.4; stroke-dashoffset: 97.4; transition: stroke-dashoffset .8s var(--ease); }
.guide__list { position: absolute; left: 0; bottom: calc(100% + 10px); width: min(340px, calc(100vw - 32px)); padding: 18px; border-radius: var(--r-lg); background: var(--mk-bg); color: var(--mk-tx); border: 1px solid rgba(255, 255, 255, .12); box-shadow: 0 30px 80px -20px rgba(0, 0, 0, .6); animation: pop .3s var(--ease); }
.guide__intro { font-size: 13px; color: var(--mk-tx-2); margin-bottom: 12px; }
.guide__list ol { display: grid; gap: 4px; }
.guide__list a { display: flex; gap: 12px; align-items: center; padding: 10px; border-radius: 12px; transition: background var(--t); }
.guide__list a:hover { background: rgba(255, 255, 255, .06); }
.guide__list a strong { display: block; font-size: 14px; font-weight: 600; }
.guide__list a small { font-size: 11px; color: var(--mk-tx-2); font-family: var(--f-mono); }
.guide__check { width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; border: 1.5px solid rgba(255, 255, 255, .25); color: transparent; flex-shrink: 0; transition: all var(--t); }
.guide__list li.is-done .guide__check { background: var(--mk-mint); border-color: var(--mk-mint); color: #07080c; }
.guide__list li.is-done strong { color: var(--mk-tx-2); text-decoration: line-through; text-decoration-color: rgba(255, 255, 255, .3); }

.toasts { position: fixed; top: calc(var(--ribbon-h) + var(--header-h) + 12px); right: 16px; z-index: 2500; display: grid; gap: 8px; pointer-events: none; }
.toast { display: flex; align-items: center; gap: 10px; padding: 12px 16px; border-radius: var(--r-sm); background: var(--mk-bg); color: var(--mk-tx); border: 1px solid rgba(255, 255, 255, .12); box-shadow: 0 16px 40px -12px rgba(0, 0, 0, .5); font-size: 14px; animation: toastin .35s var(--ease); max-width: min(380px, calc(100vw - 32px)); }
.toast .ico { color: var(--mk-mint); }
@keyframes toastin { from { opacity: 0; transform: translateX(16px); } to { opacity: 1; transform: none; } }

/* ---------- Página genérica, checkout, gracias ---------- */
.page-shell { padding-block: clamp(40px, 6vw, 80px); }
.page-title { font-size: clamp(32px, 4vw, 48px); margin-bottom: 32px; }
.prose { max-width: 820px; }
.prose h1 { font-size: clamp(32px, 4vw, 48px); margin-bottom: 16px; }
.prose p { color: var(--tx-2); margin-bottom: 16px; }
.credits { display: grid; gap: 8px; margin-top: 24px; font-size: 14px; }
.credits a { color: var(--accent); text-decoration: underline; text-underline-offset: 3px; }
.credits span { color: var(--tx-2); }
.checkout-head { max-width: 760px; margin-bottom: 32px; }
.checkout-head h1 { font-size: clamp(30px, 4vw, 46px); }
.checkout-head p { color: var(--tx-2); margin-top: 12px; }
.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce .woocommerce-error, .woocommerce .woocommerce-info, .woocommerce .woocommerce-message { list-style: none; padding: 14px 18px; border-radius: var(--r-sm); background: var(--surface); border: 1px solid var(--line-2); border-left: 4px solid var(--accent); margin: 0 0 20px; color: var(--tx); }
.woocommerce .woocommerce-error { border-left-color: var(--bad); }
.woocommerce .woocommerce-error::before, .woocommerce .woocommerce-info::before, .woocommerce .woocommerce-message::before { display: none; }
form.checkout { display: grid; gap: 24px; }
form.checkout .col2-set { float: none; width: auto; }
form.checkout .col2-set .col-1, form.checkout .col2-set .col-2 { float: none; width: auto; }
form.checkout .col2-set .col-2 { display: none; }
.woocommerce-billing-fields, #order_review, .woocommerce-checkout-review-order { padding: clamp(20px, 3vw, 32px); border-radius: var(--r-lg); background: var(--surface); border: 1px solid var(--line); box-shadow: var(--shadow); }
.woocommerce-billing-fields h3, #order_review_heading { font-size: 20px; margin-bottom: 16px; }
.woocommerce-billing-fields__field-wrapper { display: grid; gap: 16px; }
.woocommerce form .form-row { margin: 0; padding: 0; width: auto !important; float: none !important; display: grid; gap: 6px; }
.woocommerce form .form-row label { font-size: 13px; font-weight: 600; color: var(--tx-2); line-height: 1.4; }
.woocommerce form .form-row .required { color: var(--bad); text-decoration: none; }
.woocommerce form .form-row.woocommerce-invalid .input-text { border-color: var(--bad); }
#order_review_heading { padding: 0; }
.woocommerce-checkout-review-order-table { width: 100%; border-collapse: collapse; font-size: 15px; }
.woocommerce-checkout-review-order-table th, .woocommerce-checkout-review-order-table td { padding: 12px 0; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.woocommerce-checkout-review-order-table td:last-child, .woocommerce-checkout-review-order-table th:last-child { text-align: right; }
.woocommerce-checkout-review-order-table .product-name { font-weight: 600; }
.woocommerce-checkout-review-order-table .variation { display: grid; grid-template-columns: auto 1fr; gap: 2px 8px; margin: 8px 0 0; font-size: 13px; font-weight: 400; color: var(--tx-2); }
.woocommerce-checkout-review-order-table .variation dd, .woocommerce-checkout-review-order-table .variation p { margin: 0; }
.woocommerce-checkout-review-order-table .order-total td, .woocommerce-checkout-review-order-table .order-total th { font-size: 20px; font-weight: 800; border-bottom: 0; }
#payment { margin-top: 20px; background: none !important; border-radius: 0 !important; }
#payment ul.payment_methods { padding: 0 !important; border: 0 !important; display: grid; gap: 10px; }
#payment ul.payment_methods li { padding: 16px; border-radius: var(--r); border: 1.5px solid var(--accent); background: color-mix(in srgb, var(--accent) 6%, transparent); list-style: none; }
#payment ul.payment_methods li label { font-weight: 700; }
#payment div.payment_box { background: none !important; padding: 8px 0 0 !important; margin: 0 !important; color: var(--tx-2); font-size: 14px; }
#payment div.payment_box::before { display: none; }
#payment .place-order { padding: 16px 0 0 !important; display: grid; gap: 12px; }
#place_order, .woocommerce button.button.alt { width: 100%; min-height: 56px; border-radius: 999px; background: var(--accent) !important; color: var(--on-accent) !important; font-weight: 700; font-size: 16px; border: 0; cursor: pointer; transition: all var(--t); float: none !important; }
#place_order:hover { filter: brightness(1.06); transform: translateY(-1px); }
.woocommerce-privacy-policy-text { font-size: 12px; color: var(--tx-3); }
.woocommerce-order { display: grid; gap: 24px; }
.woocommerce-order > p, .woocommerce-order-overview, .woocommerce-order-details, .woocommerce-customer-details { display: none; }
.ty { display: grid; gap: 32px; }
.ty__hero { display: grid; gap: 24px; align-items: center; padding: clamp(20px, 3vw, 32px); border-radius: var(--r-xl); background: var(--surface); border: 1px solid var(--line); box-shadow: var(--shadow); }
.ty__img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--r-lg); }
.ty__intro h1 { font-size: clamp(28px, 3.6vw, 44px); letter-spacing: -.035em; }
.ty__intro p { color: var(--tx-2); margin-top: 12px; }
.ty__behind h2 { font-size: clamp(24px, 3vw, 34px); }
.ty__sub { color: var(--tx-2); margin: 8px 0 24px; }
.timeline { display: grid; gap: 12px; }
.timeline li { display: grid; grid-template-columns: auto 1fr; gap: 14px; padding: 18px; border-radius: var(--r); background: var(--surface); border: 1px solid var(--line); position: relative; }
.timeline__ico { width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; background: color-mix(in srgb, var(--accent) 14%, transparent); color: var(--accent); }
.timeline li p { color: var(--tx-2); font-size: 14px; margin-top: 2px; }
.timeline li .mk-tag { margin-top: 8px; }
.timeline__time { grid-column: 2; font-family: var(--f-mono); font-size: 12px; color: var(--ok); }
.skin-motos .timeline__time { color: #4ade80; }
.timeline .wa-bubble { margin-top: 10px; max-width: 420px; }
.ty__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }

/* ---------- Footer ---------- */
.site-footer { background: var(--deep, var(--bg-2)); color: var(--deep-tx, var(--tx)); padding-block: 56px 32px; --tx-3: color-mix(in srgb, var(--deep-tx, var(--tx)) 62%, transparent); border-top: 1px solid var(--line); }
.skin-hub .site-footer { background: var(--bg-2); }
.site-footer__in { display: grid; gap: 32px; }
.site-footer__brand p { margin-top: 16px; color: var(--tx-3); font-size: 14px; max-width: 360px; }
.site-footer__col { display: grid; gap: 10px; align-content: start; }
.site-footer__col h2 { font-family: var(--f-mono); font-size: 11px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: var(--tx-3); margin-bottom: 4px; }
.site-footer__col a { font-size: 15px; transition: color var(--t); }
.site-footer__col a:hover { color: var(--accent); }
.skin-autos .site-footer__col a:hover { color: #7fa0ff; }
.site-footer__legal { display: grid; gap: 8px; margin-top: 40px; padding-top: 24px; border-top: 1px solid rgba(127, 127, 127, .2); font-size: 13px; color: var(--tx-3); }
.site-footer__legal a { text-decoration: underline; text-underline-offset: 3px; }
.site-footer__social { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 16px; }
.site-footer__social-label { font-size: 13px; color: var(--tx-3); margin-right: 4px; }
.site-footer__legal .site-footer__social a { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 6px 14px 6px 10px; border-radius: 999px; border: 1px solid color-mix(in srgb, currentColor 22%, transparent); text-decoration: none; font-size: 14px; font-weight: 600; transition: all var(--t); }
.site-footer__legal .site-footer__social a:hover { border-color: var(--mk-mint); color: var(--mk-mint); }
.site-footer .logo { --tx-3: color-mix(in srgb, var(--deep-tx, var(--tx)) 62%, transparent); }
.skin-autos .site-footer .logo__mark { color: #5b7fff; }
.skin-showroom-pad { padding-bottom: 88px; }
.skin-autos .site-main, .skin-motos .site-main { padding-bottom: 0; }

/* ==========================================================================
   Breakpoints
   ========================================================================== */
@media (min-width: 640px) {
	.mk-ribbon__label { display: inline; }
	.mk-ribbon__cta span { display: inline; }
	.logo__badge { display: inline-block; }
	.form-pair { grid-template-columns: 1fr 1fr; }
	.woocommerce-billing-fields__field-wrapper { grid-template-columns: 1fr 1fr; }
	.woocommerce-billing-fields__field-wrapper .form-row-wide { grid-column: 1 / -1; }
	.pains, .journey, .suite, .plans { grid-template-columns: repeat(2, 1fr); }
	.perks__in { grid-template-columns: repeat(2, 1fr); }
	.tradein__grid { grid-template-columns: 1fr 1fr; }
	.mlc__kpis { grid-template-columns: repeat(4, 1fr); }
	.mlc--compact .mlc__kpis { grid-template-columns: repeat(2, 1fr); }
	.campaign__stats { grid-template-columns: repeat(4, 1fr); }
	.bot__fab-text { display: block; }
	.bot__panel { inset: auto 16px 16px auto; width: 400px; border-radius: var(--r-lg); }
	.guide__pill > span:last-child { display: block; }
	.ty__hero { grid-template-columns: 1fr 1.1fr; }
	.site-footer__in { grid-template-columns: 1.4fr 1fr 1fr; }
	.skins { grid-template-columns: 1fr 1fr; }
	.doors { grid-template-columns: 1fr 1fr; }
	.door__link { min-height: 480px; }
	.kpis { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 900px) {
	.site-nav { display: flex; }
	.site-header__menu { display: none; }
	.site-header__panel span { display: inline; }
	.section__head--split { grid-template-columns: 1.2fr 1fr; gap: 48px; }
	.perks__in { grid-template-columns: repeat(4, 1fr); }
	.split { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 64px; }
	.split--rev .split__copy { order: 2; }
	.sim { grid-template-columns: 1.15fr 1fr; }
	.branch { grid-template-columns: 1.1fr 1fr; gap: 56px; }
	.panel-preview { grid-template-columns: 1fr 1.1fr; gap: 64px; }
	.journey { grid-template-columns: repeat(3, 1fr); }
	.pains { grid-template-columns: repeat(4, 1fr); }
	.plans { grid-template-columns: repeat(3, 1fr); align-items: start; }
	.plan--featured { transform: translateY(-12px); }
	.faq { grid-template-columns: .8fr 1.2fr; gap: 64px; }
	.kpis { grid-template-columns: repeat(4, 1fr); }
	.panel-grid { grid-template-columns: 1.6fr 1fr; }
	.panel-grid__wide { grid-column: 1 / -1; }
	.panel { grid-template-columns: 260px minmax(0, 1fr); background: linear-gradient(90deg, var(--surface) 260px, var(--line) 260px, var(--line) 261px, var(--bg-2) 261px); }
	.panel__side { position: sticky; top: var(--header-h); height: calc(100vh - var(--header-h)); align-content: start; padding: 24px 16px; border-bottom: 0; border-right: 1px solid var(--line); gap: 24px; }
	.panel__who { display: grid; gap: 10px; padding: 0 8px; }
	.panel__who p { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; color: var(--tx-3); }
	.panel__tabs { flex-direction: column; overflow: visible; }
	.panel__back { display: inline-flex; align-items: center; gap: 8px; padding: 10px 14px; font-size: 14px; color: var(--tx-3); }
	.panel__back:hover { color: var(--accent); }
	.panel__main { padding: 32px 40px 80px; }
	.campaign { grid-template-columns: 1fr 360px; }
	form.checkout { grid-template-columns: 1.1fr 1fr; align-items: start; }
	form.checkout #order_review_heading { display: none; }
	.compare-tray { bottom: 24px; }
}

@media (min-width: 1100px) {
	.suite { grid-template-columns: repeat(4, 1fr); }
	.hub-hero__top { grid-template-columns: minmax(0, 1.2fr) minmax(360px, 440px); gap: 56px; }
	.hub-hero__top .hub-hero__in h1 { font-size: clamp(52px, 5.4vw, 84px); }
	.hlive { justify-self: end; }
	.mk-ribbon__nav { margin-left: auto; }
}

@media (max-width: 899px) {
	.mk-ribbon__nav a:not([aria-current]):last-child { display: none; }
}

@media (max-width: 639px) {
	.mk-ribbon__nav { display: none; }
	.hub-hero--full { padding: 24px 0 40px; }
	.hub-hero__cue { display: none; }
	.hub-hero--full .eyebrow { margin-bottom: 12px; }
	.hub-hero--full .hub-hero__lead { margin-top: 16px; font-size: 16px; line-height: 1.55; }
	.hub-hero__promise { gap: 6px 14px; margin-top: 14px; font-size: 14px; }
	.hub-hero--full .hub-hero__actions { margin-top: 20px; gap: 10px; }
	.hlive__chat { height: 404px; padding: 12px 12px 40px; }
	.hlive__feed { height: 116px; }
	.hmsg { font-size: 13px; }
	.hlive__feed [data-note]:nth-child(n+3) { display: none !important; }
	.hub-hero__glow i { filter: blur(48px); opacity: .45; }
	.mk-ribbon__cta { margin-left: auto; }
	.bot { right: 12px; bottom: 12px; }
	.single-product .bot { bottom: 84px; }
	.single-product .guide { bottom: 84px; }
	.guide { left: 12px; bottom: 12px; }
	.compare-tray { bottom: 84px; }
	.crm__facts { grid-template-columns: 1fr; }
	.buybox__pay { margin-left: 0; }
	.hub-hero h1 br { display: none; }
}

@media (min-width: 1100px) and (max-height: 860px) {
	.hlive__chat { height: 340px; padding-bottom: 40px; }
	.hlive__chat .hunit img { width: 52px; height: 40px; }
	.hlive__feed { height: 116px; }
	.hlive__feed [data-note]:nth-child(n+3) { display: none !important; }
	.hub-hero__top .hub-hero__in h1 { font-size: clamp(48px, 4.8vw, 72px); }
	.hub-hero__lead { margin-top: 16px; }
	.hub-hero__actions { margin-top: 24px; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
	.js .reveal { opacity: 1; transform: none; }
}

.skin-hub .mk-ribbon__brand { visibility: hidden; }
@media (max-width: 639px) { .skin-hub .mk-ribbon__brand { display: none; } }

.woocommerce form .form-row .woocommerce-input-wrapper { display: block; }
.woocommerce-checkout .bot { display: none; }
.woocommerce-checkout .guide { display: none; }
.wa-bubble p, .timeline li .wa-bubble p { color: #e9edef; margin: 0; }
.mk-switch__long { display: none; }
@media (min-width: 900px) { .mk-switch__long { display: inline; } .mk-switch__short { display: none; } }
@media (max-width: 639px) { .mk-switch { margin-left: auto; } .mk-ribbon__cta { margin-left: 0; } }
/* Con sesión iniciada, el header fijo va debajo de la barra de administración. */
.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .site-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .site-header { top: 0; } }

/* ==========================================================================
   SEO: países, pilar, guías
   ========================================================================== */
.crumbs-nav { margin-bottom: 20px; font-size: 13px; }
.crumbs-nav ol { display: flex; flex-wrap: wrap; gap: 6px; color: var(--tx-3); }
.crumbs-nav li:not(:last-child)::after { content: '/'; margin-left: 6px; opacity: .5; }
.crumbs-nav a { color: var(--tx-2); transition: color var(--t); }
.crumbs-nav a:hover { color: var(--accent); }
.crumbs-nav [aria-current] { color: var(--tx); }

.data-table { overflow-x: auto; border-radius: var(--r-lg); border: 1px solid var(--line); background: var(--surface); }
.data-table table { width: 100%; border-collapse: collapse; font-size: 15px; min-width: 560px; }
.data-table caption { text-align: left; padding: 16px 20px 0; font-family: var(--f-mono); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--tx-3); }
.data-table th, .data-table td { text-align: left; vertical-align: top; padding: 14px 20px; border-bottom: 1px solid var(--line); }
.data-table thead th { font-size: 12px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--tx-3); }
.data-table tbody th { font-weight: 650; color: var(--tx); white-space: nowrap; }
.data-table td { color: var(--tx-2); }
.data-table tbody tr:last-child > * { border-bottom: 0; }
.section--paper .data-table { background: var(--paper-2); }

.countries { display: grid; gap: 12px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); }
.country { display: flex; align-items: center; gap: 14px; padding: 18px; border-radius: var(--r); background: var(--surface); border: 1px solid var(--line); transition: border-color var(--t), transform var(--t); }
.country:hover { border-color: var(--accent); transform: translateY(-2px); }
.country__code { width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; font-family: var(--f-mono); font-weight: 600; font-size: 14px; background: color-mix(in srgb, var(--accent) 14%, transparent); color: var(--accent); flex-shrink: 0; }
.country__body { display: grid; flex: 1; min-width: 0; }
.country__body strong { font-size: 17px; }
.country__body small { font-size: 13px; color: var(--tx-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.country > .ico { color: var(--tx-3); }
.spacer { height: 32px; }
.hub-guides { margin-top: 40px; padding-top: 28px; border-top: 1px solid var(--line); }
.hub-guides ul { display: grid; gap: 10px; }

.prose--lg { max-width: none; font-size: 17px; }
.prose--lg p { color: var(--tx-2); margin-bottom: 18px; }
.definition { padding: 20px 24px; border-radius: var(--r); background: var(--paper-2); border-left: 4px solid var(--accent); color: var(--tx) !important; }

.article__meta { margin-top: 18px; font-size: 14px; color: var(--tx-3); }
.article__meta a { color: var(--tx-2); text-decoration: underline; text-underline-offset: 3px; }
.article__layout { display: grid; gap: 32px; }
.article__toc { padding: 20px; border-radius: var(--r); background: var(--paper-2); border: 1px solid var(--ink-line); align-self: start; }
.article__toc ol { display: grid; gap: 8px; counter-reset: toc; font-size: 14px; }
.article__toc li { counter-increment: toc; display: flex; gap: 8px; }
.article__toc li::before { content: counter(toc, decimal-leading-zero); font-family: var(--f-mono); font-size: 12px; color: var(--tx-3); padding-top: 2px; }
.article__toc a { color: var(--tx-2); transition: color var(--t); }
.article__toc a:hover { color: var(--accent); }
.article__body section { scroll-margin-top: 100px; }
.article__body h2 { font-size: clamp(24px, 2.6vw, 32px); margin: 48px 0 16px; }
.article__body .checks { margin-bottom: 18px; }
.article__body .data-table { margin: 8px 0 24px; }
.tldr { padding: 24px 28px; border-radius: var(--r-lg); background: var(--paper-2); border: 1px solid var(--ink-line); }
.tldr h2 { margin-top: 0 !important; font-size: 20px !important; }
.related { margin-top: 48px; padding: 28px; border-radius: var(--r-lg); background: var(--ink); color: var(--paper); --tx: var(--paper); --tx-2: rgba(245, 244, 239, .78); display: grid; gap: 16px; }
.related ul { display: grid; gap: 12px; color: var(--tx-2); font-size: 15px; }
.related strong { color: var(--paper); }
.related .btn { justify-self: start; }
.guides { display: grid; gap: 16px; }
.guide-card { position: relative; padding: 32px; border-radius: var(--r-lg); background: var(--surface); border: 1px solid var(--line); display: grid; gap: 12px; transition: border-color var(--t), transform var(--t); }
.guide-card:hover { border-color: var(--line-2); transform: translateY(-2px); }
.guide-card h2 { font-size: clamp(22px, 2.4vw, 28px); }
.guide-card h2 a::after { content: ''; position: absolute; inset: 0; }
.guide-card p { color: var(--tx-2); }
@media (min-width: 900px) {
	.article__layout { grid-template-columns: 260px minmax(0, 1fr); gap: 56px; }
	.article__toc { position: sticky; top: calc(var(--header-h) + 24px); }
	.guides { grid-template-columns: 1fr 1fr; }
}

/* ---------- WhatsApp directo con Markonect ---------- */
.wa-direct { position: fixed; right: 16px; bottom: 16px; z-index: 900; display: flex; align-items: center; gap: 12px; padding: 8px 18px 8px 8px; border-radius: 999px; background: #25d366; color: #fff; box-shadow: 0 16px 40px -12px rgba(37, 211, 102, .6), 0 4px 12px rgba(0, 0, 0, .2); transition: transform var(--t), box-shadow var(--t); }
.wa-direct:hover { transform: translateY(-2px); box-shadow: 0 20px 50px -12px rgba(37, 211, 102, .75), 0 4px 12px rgba(0, 0, 0, .2); }
.wa-direct:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.wa-direct__ico { width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; background: rgba(0, 0, 0, .12); }
.wa-direct__text { display: grid; line-height: 1.2; }
.wa-direct__text strong { font-size: 15px; color: #fff; }
.wa-direct__text small { font-size: 12px; color: rgba(255, 255, 255, .92); }
@media (max-width: 639px) {
	.wa-direct { padding: 6px; right: 12px; bottom: 12px; }
	.wa-direct__text { display: none; }
}
.bot__direct { display: flex; align-items: center; gap: 8px; margin: 0 14px 8px; padding: 10px 12px; border-radius: 12px; background: rgba(37, 211, 102, .12); color: var(--tx); font-size: 13px; transition: background var(--t); }
.bot__direct:hover { background: rgba(37, 211, 102, .2); }
.bot__direct > .ico:first-child { color: #25d366; }
.bot__direct span { flex: 1; }
.guide__direct { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 12px; padding: 10px; border-radius: 12px; background: #25d366; color: #fff; font-size: 14px; font-weight: 600; transition: filter var(--t); }
.guide__direct:hover { filter: brightness(1.06); }

/* ---------- Legales ---------- */
.legal h1 { margin-bottom: 12px; }
.legal h2 { font-size: clamp(20px, 2.2vw, 26px); margin: 40px 0 12px; }
.legal__intro { font-size: 18px; color: var(--tx) !important; }
.legal__updated { font-size: 14px; color: var(--tx-3) !important; }
.legal .checks { margin-bottom: 16px; }
.site-footer__legal-links { display: flex; flex-wrap: wrap; gap: 8px 20px; }
.site-footer__legal-links a { text-decoration: none !important; color: inherit; opacity: .85; transition: opacity var(--t); }
.site-footer__legal-links a:hover { opacity: 1; text-decoration: underline !important; }

/* ==========================================================================
   Tienda en el celular (< 640 px)
   Lista tipo marketplace (foto a la izquierda, datos a la derecha), barra de
   filtros fija, encabezado compacto y botones flotantes que no tapan la
   barra de "Reservar".
   ========================================================================== */
.pdp__top > *, .shop > *, .shop__main > * { min-width: 0; }
.buybox__price, .buybox__quota strong, .vcard__price strong, .mobile-buy strong, .pdp-tabs__price strong { white-space: nowrap; }

@media (max-width: 639px) {
	/* Encabezado del catálogo compacto: el primer vehículo tiene que verse sin bajar. */
	.shop-head { padding-block: 14px 0; }
	.shop-head .crumbs-nav { margin-bottom: 10px; }
	.shop-head__row { gap: 10px; }
	.shop-head__title { font-size: 34px; }
	.shop-head__lead { margin-top: 8px; font-size: 14.5px; line-height: 1.5; }
	.cats { margin-top: 14px; gap: 8px; padding-bottom: 14px; }
	.cat { min-height: 52px; padding: 6px 14px 6px 6px; gap: 10px; border-radius: var(--r-sm); }
	.cat__img { width: 48px; height: 36px; border-radius: 6px; }
	.cat__txt strong { font-size: 14px; }

	/* Filtros y orden siempre a mano: barra fija debajo del header. */
	.shop { padding-top: 0; gap: 0; }
	.shop-bar { position: sticky; top: var(--header-h); z-index: 20; margin-inline: calc(var(--gut) * -1); padding: 10px var(--gut); background: color-mix(in srgb, var(--bg) 94%, transparent); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-bottom: 1px solid var(--line); gap: 8px; }
	.shop-bar__tools { width: 100%; display: grid; grid-template-columns: auto 1fr; gap: 8px; }
	.shop-bar__filters { min-height: 44px; }
	.shop-sort { min-height: 44px; padding-left: 12px; }
	.shop-sort > span { font-size: 13px; }
	.shop-sort select { flex: 1; min-width: 0; }
	.shop-bar__count { order: 2; width: 100%; font-size: 13px; }
	.shop-bar__count strong { font-size: 15px; }
	.active-filters { padding-top: 12px; }

	/* Tarjeta en fila. La carrusel de "También te pueden interesar" queda aparte. */
	.shop-grid:not(.shop-grid--4), .grid-cards { gap: 12px; margin-top: 16px; grid-template-columns: 1fr; }
	:is(.shop-grid:not(.shop-grid--4), .grid-cards) .vcard { flex-direction: row; border-radius: var(--r); }
	:is(.shop-grid:not(.shop-grid--4), .grid-cards) .vcard:hover { transform: none; }
	:is(.shop-grid:not(.shop-grid--4), .grid-cards) .vcard__media { width: 38%; max-width: 168px; flex-shrink: 0; aspect-ratio: auto; }
	:is(.shop-grid:not(.shop-grid--4), .grid-cards) .vcard__media img { position: absolute; inset: 0; }
	:is(.shop-grid:not(.shop-grid--4), .grid-cards) .vcard__badges { top: 8px; left: 8px; }
	:is(.shop-grid:not(.shop-grid--4), .grid-cards) .badge { font-size: 11px; padding: 3px 8px; }
	:is(.shop-grid:not(.shop-grid--4), .grid-cards) .badge--hot,
	:is(.shop-grid:not(.shop-grid--4), .grid-cards) .vcard__photos,
	:is(.shop-grid:not(.shop-grid--4), .grid-cards) .vcard__go,
	:is(.shop-grid:not(.shop-grid--4), .grid-cards) .vcard__ml,
	:is(.shop-grid:not(.shop-grid--4), .grid-cards) .vcard__tool[data-compare] { display: none; }
	:is(.shop-grid:not(.shop-grid--4), .grid-cards) .vcard__tools { top: 6px; right: 6px; }
	:is(.shop-grid:not(.shop-grid--4), .grid-cards) .vcard__tool { width: 36px; height: 36px; box-shadow: none; background: var(--surface-2); }
	:is(.shop-grid:not(.shop-grid--4), .grid-cards) .vcard__body { padding: 12px 14px 14px; gap: 2px; min-width: 0; }
	:is(.shop-grid:not(.shop-grid--4), .grid-cards) .vcard__eyebrow { font-size: 11px; padding-right: 36px; flex-wrap: wrap; row-gap: 0; }
	:is(.shop-grid:not(.shop-grid--4), .grid-cards) .vcard__title { font-size: 17px; line-height: 1.2; }
	:is(.shop-grid:not(.shop-grid--4), .grid-cards) .vcard__version { font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
	:is(.shop-grid:not(.shop-grid--4), .grid-cards) .vcard__pills { gap: 2px 10px; margin-top: 4px; }
	:is(.shop-grid:not(.shop-grid--4), .grid-cards) .vcard__pills li { padding: 0; border: 0; background: none; font-size: 12.5px; }
	:is(.shop-grid:not(.shop-grid--4), .grid-cards) .vcard__price { margin-top: 8px; padding-top: 8px; grid-template-columns: 1fr; }
	:is(.shop-grid:not(.shop-grid--4), .grid-cards) .vcard__price strong { font-size: 19px; }
	:is(.shop-grid:not(.shop-grid--4), .grid-cards) .vcard__price span { font-size: 12.5px; }
	.section__more { margin-top: 24px; }
	.section__more .btn { width: 100%; }

	/* "También te pueden interesar": carrusel horizontal. */
	.shop-grid--4 { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; margin-inline: calc(var(--gut) * -1); padding: 4px var(--gut) 12px; scrollbar-width: none; }
	.shop-grid--4::-webkit-scrollbar { display: none; }
	.shop-grid--4 .vcard { flex: 0 0 76%; scroll-snap-align: start; }
	.shop-grid--4 .vcard__ml, .shop-grid--4 .vcard__photos { display: none; }
	.pdp-similar.section { padding-block: 48px; }
	.pdp-similar .section__head { margin-bottom: 20px; }

	/* Ficha */
	.pdp-crumbs { padding-top: 14px; }
	.pdp__top { gap: 16px; padding-bottom: 24px; }
	.pdp__nav { width: 38px; height: 38px; }
	.pdp__thumb { width: 84px; }
	.buybox { padding: 20px; gap: 14px; }
	.buybox__quota { grid-template-columns: 1fr; padding: 12px 14px; }
	.buybox__quota-link { grid-row: auto; grid-column: auto; margin-top: 6px; }
	.buybox .btn--lg { font-size: 15px; padding-inline: 16px; }
	.buybox__row .btn { font-size: 14px; }
	.pdp-tabs__in { -webkit-mask-image: linear-gradient(90deg, #000 82%, transparent); mask-image: linear-gradient(90deg, #000 82%, transparent); padding-right: 32px; }
	.pdp-tabs a:not(.btn) { padding: 14px 12px; font-size: 14px; }
	.pdp__body { padding-top: 20px; gap: 14px; }
	.pdp-sec { padding: 20px; gap: 16px; }
	.spec-table div { padding: 11px 2px; font-size: 14.5px; grid-template-columns: minmax(110px, 42%) 1fr; }

	/* Botones flotantes: más chicos y, en la ficha, por encima de la barra de "Reservar". */
	.guide { left: 12px; bottom: 12px; }
	.guide__pill { padding: 4px 12px 4px 4px; gap: 8px; }
	.guide__pill > span:last-child { display: block; }
	.guide__pill strong { display: none; }
	.guide__pill small { font-size: 12px; color: var(--mk-tx); }
	.guide__ring, .guide__ring svg { width: 32px; height: 32px; }
	.bot { right: 12px; bottom: 12px; }
	.bot__fab { padding: 6px; }
	.bot__fab-ico { width: 44px; height: 44px; }
	.bot__fab-dot { left: 36px; }
}

/* La barra de "Reservar" de la ficha va hasta 1023 px: ahí los flotantes suben. */
@media (max-width: 1023px) {
	.single-product .guide, .single-product .bot { bottom: calc(84px + env(safe-area-inset-bottom)); }
	.single-product .compare-tray { bottom: calc(150px + env(safe-area-inset-bottom)); }
}
