/* Forzauto · Ficha de vehículo · design tokens + page styles */

:root {
  /* warm light tokens */
  --bg: #FAF8F4;
  --surface: #FFFFFF;
  --surface-2: #F3F0E9;
  --ink: #14171C;
  --ink-2: #4C525C;
  --ink-3: #898E97;
  --border: #E6E2D9;
  --border-strong: #D4CFC3;

  /* brand */
  --primary: oklch(0.38 0.12 250);
  --primary-ink: #ffffff;
  --primary-hover: oklch(0.32 0.12 250);
  --primary-soft: oklch(0.96 0.025 250);

  --whatsapp: #1FAE5C;
  --whatsapp-hover: #178a47;

  /* signals */
  --signal-warm: oklch(0.66 0.16 50);
  --signal-cool: oklch(0.55 0.14 230);

  --status-novedad: oklch(0.52 0.13 150);
  --status-oferta: oklch(0.66 0.16 50);
  --status-reservado: oklch(0.55 0.18 25);
  --status-vendido: #6B6F77;

  /* shadow */
  --sh-1: 0 1px 2px rgba(20,23,28,.04), 0 1px 1px rgba(20,23,28,.03);
  --sh-2: 0 4px 16px rgba(20,23,28,.06), 0 1px 2px rgba(20,23,28,.04);
  --sh-3: 0 16px 48px rgba(20,23,28,.10), 0 2px 8px rgba(20,23,28,.05);

  --r-sm: 8px;
  --r-md: 12px;
  --r-lg: 18px;
  --r-xl: 24px;
}

/* theme: warm (terracotta) */
.theme-warm {
  --bg: #F7F1E8;
  --surface: #FFFCF6;
  --surface-2: #EFE6D5;
  --ink: #1F1812;
  --ink-2: #5A4D40;
  --ink-3: #8F8270;
  --border: #E5D9C2;
  --border-strong: #D4C4A6;
  --primary: oklch(0.42 0.11 35);
  --primary-hover: oklch(0.35 0.11 35);
  --primary-soft: oklch(0.96 0.03 50);
}

/* theme: dark (premium) */
.theme-dark {
  --bg: #0E1014;
  --surface: #181B22;
  --surface-2: #1F232C;
  --ink: #F1EFEA;
  --ink-2: #A8ADB6;
  --ink-3: #6D7280;
  --border: #2A2F39;
  --border-strong: #3A404C;
  --primary: oklch(0.78 0.15 75);
  --primary-ink: #15110A;
  --primary-hover: oklch(0.82 0.15 75);
  --primary-soft: oklch(0.22 0.04 75);
  --sh-1: 0 1px 2px rgba(0,0,0,.4);
  --sh-2: 0 4px 16px rgba(0,0,0,.5);
  --sh-3: 0 16px 48px rgba(0,0,0,.6);
}

* { box-sizing: border-box; }

.ficha {
  font-family: 'Manrope', ui-sans-serif, system-ui, sans-serif;
  background: var(--bg);
  color: var(--ink);
  -webkit-font-smoothing: antialiased;
  font-feature-settings: 'ss01', 'cv11';
  position: relative;
}
.ficha, .ficha * { box-sizing: border-box; }

.display { font-family: 'Bricolage Grotesque', 'Manrope', sans-serif; font-weight: 600; letter-spacing: -0.02em; }
.mono { font-family: 'JetBrains Mono', ui-monospace, monospace; }
.tabular { font-variant-numeric: tabular-nums; }

/* ─── topbar (super-skinny trust strip) ─── */
.topbar {
  background: var(--ink);
  color: rgba(255,255,255,.86);
  font-size: 12.5px;
  letter-spacing: 0.01em;
}
.topbar-inner {
  display: flex; align-items: center; justify-content: space-between;
  padding: 8px 32px;
  max-width: 1320px; margin: 0 auto;
}
.topbar-items { display: flex; gap: 24px; align-items: center; }
.topbar-item { display: inline-flex; align-items: center; gap: 6px; }
.topbar-item .dot { width: 5px; height: 5px; border-radius: 50%; background: var(--signal-warm); }

/* ─── header ─── */
.hdr {
  background: var(--bg);
  border-bottom: 1px solid var(--border);
  position: relative; z-index: 5;
}
.hdr-inner {
  display: flex; align-items: center; justify-content: space-between;
  padding: 18px 32px; max-width: 1320px; margin: 0 auto;
}
.brand {
  display: inline-flex; align-items: baseline; gap: 2px;
  font-family: 'Bricolage Grotesque', sans-serif;
  font-weight: 700; font-size: 26px; letter-spacing: -0.03em;
  color: var(--ink); text-decoration: none;
}
.brand .accent { color: var(--primary); }
.brand .dot { width: 6px; height: 6px; border-radius: 50%; background: var(--primary); display: inline-block; margin-left: 2px; transform: translateY(-1px); }
.nav { display: flex; gap: 28px; align-items: center; font-size: 14.5px; }
.nav a { color: var(--ink-2); text-decoration: none; }
.nav a:hover { color: var(--ink); }
.nav .cta {
  padding: 9px 16px; border-radius: 999px;
  background: var(--ink); color: var(--bg);
  display: inline-flex; gap: 6px; align-items: center;
}

/* ─── breadcrumb ─── */
.crumbs {
  font-size: 13px; color: var(--ink-3);
  padding: 18px 32px 0; max-width: 1320px; margin: 0 auto;
  display: flex; gap: 8px; align-items: center;
}
.crumbs a { color: var(--ink-2); text-decoration: none; }
.crumbs .sep { opacity: .5; }

/* ─── hero grid ─── */
.hero {
  max-width: 1320px; margin: 0 auto;
  padding: 20px 32px 40px;
  display: grid;
  grid-template-columns: 1fr 460px;
  grid-template-rows: auto 1fr;
  gap: 28px 40px;
}
.hero .gallery { grid-column: 1; grid-row: 1; }
.hero .info-col { grid-column: 2; grid-row: 1 / span 2; }
.hero .comercial-card { grid-column: 1; grid-row: 2; align-self: stretch; }
@container (max-width: 900px) { .hero { grid-template-columns: 1fr; } }

/* gallery */
.gallery { position: relative; }
.gallery-grid {
  display: grid; grid-template-columns: 88px 1fr; gap: 12px;
}
.thumbs {
  display: flex; flex-direction: column; gap: 8px;
}
.thumb {
  position: relative;
  aspect-ratio: 4/3; border-radius: 10px; overflow: hidden;
  border: 1.5px solid transparent; cursor: pointer;
  background: var(--surface-2);
}
.thumb.active { border-color: var(--ink); }
.thumb img, .stage img { width: 100%; height: 100%; object-fit: cover; display: block; }
.thumb-more { display: flex; align-items: center; justify-content: center; color: var(--ink-2); font-size: 12px; font-weight: 600; background: var(--surface-2); }

.stage {
  position: relative; aspect-ratio: 4/3; border-radius: var(--r-lg);
  overflow: hidden; background: var(--surface-2); cursor: zoom-in;
}
.stage-img-wrap { width: 100%; height: 100%; }
.stage-nav {
  position: absolute; top: 50%; transform: translateY(-50%);
  width: 40px; height: 40px; border-radius: 50%;
  background: rgba(255,255,255,.9); backdrop-filter: blur(8px);
  border: 1px solid var(--border); cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  color: var(--ink); font-size: 18px;
  box-shadow: var(--sh-2);
}
.stage-nav.prev { left: 14px; } .stage-nav.next { right: 14px; }
.stage-meta {
  position: absolute; bottom: 14px; right: 14px;
  display: flex; gap: 6px;
}
.stage-meta-pill {
  padding: 6px 10px; border-radius: 999px;
  background: rgba(20,23,28,.75); color: white;
  font-size: 12px; font-weight: 500;
  backdrop-filter: blur(8px);
  display: inline-flex; gap: 6px; align-items: center;
}

/* badge top-left */
.status-badge {
  position: absolute; top: 14px; left: 14px;
  display: inline-flex; align-items: center; gap: 7px;
  padding: 7px 13px 7px 11px; border-radius: 999px;
  background: var(--surface); color: var(--ink);
  font-size: 12.5px; font-weight: 600;
  border: 1px solid var(--border);
  box-shadow: var(--sh-2);
  z-index: 2;
}
.status-badge .pulse {
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--status-novedad);
  box-shadow: 0 0 0 0 currentColor;
  animation: pulse 2s infinite;
}
.status-badge.oferta .pulse { background: var(--status-oferta); }
.status-badge.reservado .pulse { background: var(--status-reservado); animation: none; }
@keyframes pulse {
  0%   { box-shadow: 0 0 0 0 rgba(0,180,90,.45); }
  70%  { box-shadow: 0 0 0 10px rgba(0,180,90,0); }
  100% { box-shadow: 0 0 0 0 rgba(0,180,90,0); }
}

/* hero info col */
.info-col { display: flex; flex-direction: column; gap: 20px; }
.title-block .eyebrow {
  text-transform: uppercase; font-size: 12px; letter-spacing: 0.12em;
  color: var(--ink-3); font-weight: 600;
}
.title-block h1 {
  font-family: 'Bricolage Grotesque', sans-serif;
  font-weight: 600; letter-spacing: -0.025em;
  font-size: 36px; line-height: 1.05; margin: 6px 0 8px;
  text-wrap: balance;
}
.title-block .sub {
  color: var(--ink-2); font-size: 15px;
}

/* quick stats */
.quickstats {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--border);
  border: 1px solid var(--border);
  border-radius: var(--r-md); overflow: hidden;
}
.quickstats .qs {
  background: var(--surface);
  padding: 14px 14px;
  display: flex; flex-direction: column; gap: 2px;
}
.qs-label {
  font-size: 11.5px; text-transform: uppercase; letter-spacing: 0.08em;
  color: var(--ink-3); font-weight: 600;
  display: inline-flex; gap: 6px; align-items: center;
}
.qs-value { font-size: 16.5px; font-weight: 600; color: var(--ink); font-variant-numeric: tabular-nums; }
.qs-value .unit { font-weight: 400; color: var(--ink-2); font-size: 13.5px; margin-left: 2px; }

/* price block */
.price-block {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  padding: 22px;
}
.price-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; }
.price-main {
  font-family: 'Bricolage Grotesque', sans-serif;
  font-weight: 600; letter-spacing: -0.03em;
  font-size: 48px; line-height: 1; color: var(--ink);
  font-variant-numeric: tabular-nums;
}
.price-strike { color: var(--ink-3); text-decoration: line-through; font-size: 16px; }
.price-month {
  display: inline-flex; align-items: baseline; gap: 6px;
  background: var(--primary-soft);
  color: var(--primary);
  padding: 6px 12px; border-radius: 999px;
  font-weight: 600; font-size: 14px;
}
.price-month .num { font-variant-numeric: tabular-nums; font-size: 15px; }

/* calculator */
.calc { margin-top: 16px; padding-top: 18px; border-top: 1px dashed var(--border-strong); }
.calc-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.calc-title { font-size: 13.5px; font-weight: 600; color: var(--ink); display: inline-flex; gap: 8px; align-items: center; }
.calc-title .tag {
  font-size: 10.5px; font-weight: 600; padding: 2px 7px; border-radius: 4px;
  background: var(--surface-2); color: var(--ink-2); letter-spacing: 0.04em;
}
.calc-rate { font-size: 12px; color: var(--ink-3); }
.calc-rate b { color: var(--ink-2); font-variant-numeric: tabular-nums; }

.slider-row { display: flex; flex-direction: column; gap: 8px; margin-bottom: 14px; }
.slider-lbl { display: flex; justify-content: space-between; font-size: 13px; color: var(--ink-2); }
.slider-lbl .val { color: var(--ink); font-weight: 600; font-variant-numeric: tabular-nums; }

input[type="range"].rg {
  -webkit-appearance: none; appearance: none;
  width: 100%; height: 4px; border-radius: 999px;
  background: linear-gradient(to right, var(--ink) 0% var(--p, 50%), var(--border-strong) var(--p, 50%) 100%);
  outline: none;
}
input[type="range"].rg::-webkit-slider-thumb {
  -webkit-appearance: none; appearance: none;
  width: 18px; height: 18px; border-radius: 50%; background: var(--surface);
  border: 2px solid var(--ink); cursor: grab; box-shadow: var(--sh-2);
}
input[type="range"].rg::-moz-range-thumb {
  width: 18px; height: 18px; border-radius: 50%; background: var(--surface);
  border: 2px solid var(--ink); cursor: grab; box-shadow: var(--sh-2);
}

.plazos { display: flex; gap: 6px; flex-wrap: wrap; }
.plazo {
  flex: 1; min-width: 0;
  padding: 7px 0; border-radius: 8px; text-align: center;
  border: 1px solid var(--border); background: var(--surface);
  font-size: 13px; font-weight: 600; color: var(--ink-2);
  cursor: pointer; transition: all .12s; font-variant-numeric: tabular-nums;
}
.plazo:hover { border-color: var(--border-strong); }
.plazo.active { background: var(--ink); color: var(--bg); border-color: var(--ink); }

.calc-result {
  margin-top: 14px; padding: 14px; border-radius: var(--r-md);
  background: var(--surface-2);
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
}
.calc-result-amount {
  font-family: 'Bricolage Grotesque', sans-serif;
  font-weight: 600; font-size: 28px; letter-spacing: -0.02em;
  color: var(--ink); font-variant-numeric: tabular-nums;
}
.calc-result-amount .per { font-size: 13px; color: var(--ink-2); font-weight: 500; font-family: 'Manrope', sans-serif; }
.calc-result-meta { font-size: 11.5px; color: var(--ink-3); text-align: right; line-height: 1.5; }

/* CTAs */
.cta-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.btn {
  display: inline-flex; align-items: center; justify-content: center;
  gap: 8px; padding: 14px 18px; border-radius: var(--r-md);
  font-weight: 600; font-size: 15px; cursor: pointer;
  border: none; font-family: inherit;
  transition: transform .08s, background .12s, box-shadow .12s;
}
.btn:active { transform: translateY(1px); }
.btn-primary { background: var(--primary); color: var(--primary-ink); }
.btn-primary:hover { background: var(--primary-hover); }
.btn-whatsapp { background: var(--whatsapp); color: white; }
.btn-whatsapp:hover { background: var(--whatsapp-hover); }
.btn-ghost {
  background: var(--surface); color: var(--ink);
  border: 1px solid var(--border-strong);
}
.btn-ghost:hover { background: var(--surface-2); }
.btn-block { width: 100%; }
.btn .price-mini { font-weight: 500; opacity: .8; font-size: 13px; }

/* small trust strip under CTAs */
.mini-trust {
  display: flex; flex-wrap: wrap; gap: 14px 18px;
  font-size: 12.5px; color: var(--ink-2);
}
.mini-trust .it { display: inline-flex; gap: 6px; align-items: center; }
.mini-trust svg { color: var(--primary); }

/* ─── inquiry form (full row under hero) ─── */
.section { max-width: 1320px; margin: 0 auto; padding: 24px 32px; }
.section h2 {
  font-family: 'Bricolage Grotesque', sans-serif;
  font-weight: 600; letter-spacing: -0.02em; font-size: 28px;
  margin: 0 0 18px;
}
.section h2 .sub { font-size: 15px; color: var(--ink-2); font-weight: 400; margin-left: 8px; }

/* tabs */
.tabs-card {
  background: var(--surface); border: 1px solid var(--border);
  border-radius: var(--r-lg); overflow: hidden;
}
.tabs-head {
  display: flex; border-bottom: 1px solid var(--border);
  padding: 0 8px; gap: 4px; overflow-x: auto;
}
.tab {
  padding: 16px 14px 14px; font-size: 14px; font-weight: 600;
  color: var(--ink-3); cursor: pointer; border-bottom: 2px solid transparent;
  white-space: nowrap; flex-shrink: 0;
}
.tab.active { color: var(--ink); border-bottom-color: var(--ink); }
.tab-body { padding: 24px 28px; }
.spec-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 32px; }
.spec-row {
  display: flex; justify-content: space-between;
  padding: 13px 0; border-bottom: 1px dashed var(--border);
  font-size: 14.5px;
}
.spec-row .k { color: var(--ink-2); }
.spec-row .v { color: var(--ink); font-weight: 600; }
.equip-grid {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px 22px;
}
.equip {
  display: flex; gap: 10px; align-items: flex-start;
  padding: 6px 0; font-size: 14.5px; color: var(--ink);
}
.equip svg { color: var(--primary); flex-shrink: 0; margin-top: 2px; }
.equip.muted { color: var(--ink-3); }
.equip.muted svg { color: var(--ink-3); }

/* warranty / delivery body lists */
.bullets { display: grid; gap: 16px; }
.bullet {
  display: flex; gap: 14px; align-items: flex-start;
  padding: 16px; border-radius: var(--r-md); border: 1px solid var(--border);
  background: var(--bg);
}
.bullet .icon {
  width: 36px; height: 36px; border-radius: 10px;
  background: var(--primary-soft); color: var(--primary);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.bullet h4 { margin: 0 0 4px; font-size: 15.5px; }
.bullet p { margin: 0; color: var(--ink-2); font-size: 14px; line-height: 1.55; }

/* ─── inspection block (120 puntos) ─── */
.inspection {
  background: linear-gradient(180deg, var(--surface) 0%, var(--surface-2) 100%);
  border: 1px solid var(--border);
  border-radius: var(--r-xl);
  padding: 36px 40px;
  position: relative; overflow: hidden;
}
.inspection::before {
  content: ""; position: absolute; top: -120px; right: -80px;
  width: 320px; height: 320px; border-radius: 50%;
  background: radial-gradient(circle, oklch(0.85 0.12 150 / 0.18) 0%, transparent 70%);
  pointer-events: none;
}
.inspection-head {
  display: grid; grid-template-columns: 1fr auto; gap: 24px;
  align-items: end;
  margin-bottom: 28px;
  position: relative; z-index: 1;
}
.inspection-head h3 {
  font-family: 'Bricolage Grotesque', sans-serif;
  font-weight: 600; letter-spacing: -0.025em;
  font-size: 32px; line-height: 1.1; margin: 0 0 8px;
  text-wrap: balance; max-width: 720px;
}
.inspection-head p { margin: 0; color: var(--ink-2); font-size: 15px; line-height: 1.55; max-width: 560px; }
.inspection-seal {
  display: inline-flex; flex-direction: column; align-items: center;
  padding: 14px 20px; border-radius: 16px;
  background: var(--surface); border: 1.5px solid oklch(0.55 0.14 150 / 0.4);
  box-shadow: var(--sh-1);
  text-align: center;
}
.inspection-seal .n {
  font-family: 'Bricolage Grotesque', sans-serif;
  font-size: 36px; font-weight: 700; line-height: 1; color: oklch(0.45 0.14 150);
  letter-spacing: -0.03em;
}
.inspection-seal .lbl {
  font-size: 11px; font-weight: 600; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--ink-2); margin-top: 4px;
}
.inspection-grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px;
  position: relative; z-index: 1;
}
.insp-item {
  display: flex; align-items: center; gap: 12px;
  background: var(--surface); border: 1px solid var(--border);
  border-radius: var(--r-md); padding: 14px 16px;
  font-size: 14.5px; font-weight: 500; color: var(--ink);
  transition: border-color .12s, transform .12s;
}
.insp-item:hover { border-color: oklch(0.55 0.14 150 / 0.5); }
.insp-item .ic {
  width: 28px; height: 28px; border-radius: 50%;
  background: oklch(0.93 0.08 150);
  color: oklch(0.42 0.16 150);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.theme-dark .insp-item .ic { background: oklch(0.28 0.08 150); color: oklch(0.82 0.18 150); }

/* ─── price compare ─── */
.compare {
  background: var(--surface); border: 1px solid var(--border);
  border-radius: var(--r-lg); overflow: hidden;
}
.compare-head {
  display: grid; grid-template-columns: 1fr auto; align-items: center;
  gap: 16px; padding: 22px 28px 18px;
}
.compare-head h3 {
  font-family: 'Bricolage Grotesque', sans-serif;
  font-weight: 600; letter-spacing: -0.02em; font-size: 24px;
  margin: 0;
}
.savings-badge {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 10px 16px; border-radius: 999px;
  background: oklch(0.93 0.1 150); color: oklch(0.38 0.16 150);
  font-weight: 700; font-size: 14px;
  border: 1px solid oklch(0.7 0.12 150 / 0.4);
}
.theme-dark .savings-badge { background: oklch(0.25 0.08 150); color: oklch(0.85 0.18 150); border-color: oklch(0.45 0.12 150 / 0.5); }
.savings-badge .arrow-down {
  font-size: 16px; line-height: 1;
}

.compare-table {
  width: 100%; border-collapse: collapse;
  font-size: 14.5px;
}
.compare-table thead th {
  font-size: 11.5px; text-transform: uppercase; letter-spacing: 0.08em;
  color: var(--ink-3); font-weight: 600;
  padding: 14px 22px; text-align: left;
  border-bottom: 1px solid var(--border);
  background: var(--surface-2);
}
.compare-table thead th.this {
  background: oklch(0.96 0.05 150);
  color: oklch(0.38 0.16 150);
}
.theme-dark .compare-table thead th.this { background: oklch(0.22 0.06 150); color: oklch(0.82 0.18 150); }

.compare-table tbody td {
  padding: 18px 22px; border-bottom: 1px dashed var(--border);
  color: var(--ink); font-variant-numeric: tabular-nums;
}
.compare-table tbody td.label {
  color: var(--ink-2); font-weight: 500; width: 40%;
}
.compare-table tbody td.this {
  background: oklch(0.97 0.04 150);
  font-weight: 700; color: var(--ink);
}
.theme-dark .compare-table tbody td.this { background: oklch(0.20 0.05 150); }
.compare-table tbody tr:last-child td { border-bottom: none; }
.compare-table tbody td.market { color: var(--ink-2); }

.compare-foot {
  padding: 14px 22px; font-size: 12px; color: var(--ink-3);
  border-top: 1px solid var(--border);
  background: var(--bg);
  line-height: 1.55;
}

/* mobile compare → cards */
.ficha-mobile .compare-table { display: none; }
.compare-cards { display: none; }
.ficha-mobile .compare-cards {
  display: grid; gap: 10px; padding: 0 18px 18px;
}
.cmp-card {
  border: 1px solid var(--border); border-radius: var(--r-md);
  padding: 14px 16px; background: var(--bg);
}
.cmp-card.this { background: oklch(0.97 0.04 150); border-color: oklch(0.7 0.12 150 / 0.4); }
.theme-dark .cmp-card.this { background: oklch(0.20 0.05 150); }
.cmp-card .ttl {
  font-size: 11.5px; text-transform: uppercase; letter-spacing: 0.08em;
  font-weight: 600; color: var(--ink-3); margin-bottom: 4px;
}
.cmp-card.this .ttl { color: oklch(0.42 0.16 150); }
.theme-dark .cmp-card.this .ttl { color: oklch(0.82 0.18 150); }
.cmp-card .rows { display: grid; gap: 6px; }
.cmp-row { display: flex; justify-content: space-between; font-size: 14px; }
.cmp-row .k { color: var(--ink-2); }
.cmp-row .v { font-weight: 600; font-variant-numeric: tabular-nums; }
.cmp-card.this .cmp-row .v { font-weight: 700; }

/* ─── FAQ accordion ─── */
.faq {
  background: var(--surface); border: 1px solid var(--border);
  border-radius: var(--r-lg); overflow: hidden;
}
.faq-item {
  border-bottom: 1px solid var(--border);
}
.faq-item:last-child { border-bottom: none; }
.faq-q {
  width: 100%; appearance: none; border: none; background: transparent;
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px; padding: 20px 24px;
  font: inherit; font-size: 16.5px; font-weight: 600; color: var(--ink);
  text-align: left; cursor: pointer;
  font-family: inherit;
  transition: background .12s;
}
.faq-q:hover { background: var(--surface-2); }
.faq-q .chev {
  width: 28px; height: 28px; border-radius: 50%;
  background: var(--surface-2); display: flex; align-items: center; justify-content: center;
  color: var(--ink-2); flex-shrink: 0;
  transition: transform .2s ease, background .12s, color .12s;
}
.faq-item.open .faq-q .chev { transform: rotate(90deg); background: var(--primary); color: var(--primary-ink); }
.faq-a {
  max-height: 0; overflow: hidden;
  transition: max-height .25s ease;
}
.faq-item.open .faq-a { max-height: 320px; }
.faq-a-inner {
  padding: 0 24px 22px;
  color: var(--ink-2); font-size: 14.5px; line-height: 1.6;
  max-width: 780px;
}

/* ─── social proof / urgency strip ─── */
.urgency {
  background: oklch(0.97 0.05 95);
  border: 1px solid oklch(0.86 0.08 90);
  border-left: 3px solid oklch(0.72 0.16 80);
  border-radius: var(--r-md);
  padding: 14px 16px;
  display: grid; gap: 8px;
}
.theme-dark .urgency {
  background: oklch(0.24 0.04 90);
  border-color: oklch(0.4 0.06 90);
  border-left-color: oklch(0.72 0.16 80);
}
.urgency-row {
  display: flex; align-items: center; gap: 10px;
  font-size: 13.5px; color: var(--ink);
  line-height: 1.35;
}
.urgency-row .ic {
  width: 22px; height: 22px; border-radius: 50%;
  background: oklch(0.95 0.08 80);
  color: oklch(0.42 0.16 60);
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
  font-size: 13px;
}
.theme-dark .urgency-row .ic { background: oklch(0.32 0.06 80); color: oklch(0.85 0.16 80); }
.urgency-row b { font-weight: 700; font-variant-numeric: tabular-nums; }
.urgency-row .live-dot {
  display: inline-block; width: 6px; height: 6px; border-radius: 50%;
  background: oklch(0.6 0.18 30); margin-right: 4px;
  animation: pulseDot 1.4s ease-in-out infinite;
}
@keyframes pulseDot { 0%,100% { opacity: 1; } 50% { opacity: 0.3; } }

/* ─── mini-tasador (right column) ─── */
.tasador-mini {
  background: var(--ink);
  color: var(--bg);
  border-radius: var(--r-lg);
  padding: 22px 22px 20px;
  position: relative; overflow: hidden;
}
.tasador-mini::before {
  content: ""; position: absolute; right: -60px; top: -60px;
  width: 200px; height: 200px; border-radius: 50%;
  background: radial-gradient(circle, var(--primary) 0%, transparent 70%);
  opacity: 0.3; pointer-events: none;
}
.tasador-mini-head {
  position: relative; z-index: 1;
  margin-bottom: 14px;
}
.tasador-mini-head h4 {
  font-family: 'Bricolage Grotesque', sans-serif;
  font-size: 20px; font-weight: 600; letter-spacing: -0.015em;
  margin: 0 0 4px; line-height: 1.15;
}
.tasador-mini-head p {
  margin: 0; color: rgba(255,255,255,.65);
  font-size: 13.5px; line-height: 1.45;
}
.tasador-mini-form { display: grid; gap: 8px; position: relative; z-index: 1; }
.tasador-mini-form input {
  width: 100%; padding: 12px 14px; border-radius: 10px;
  border: 1px solid rgba(255,255,255,.15);
  background: rgba(255,255,255,.95);
  color: var(--ink);
  font-family: inherit; font-size: 14px; outline: none;
  font-variant-numeric: tabular-nums;
}
.tasador-mini-form input:focus { background: #fff; border-color: rgba(255,255,255,.5); }
.tasador-mini-form input::placeholder { color: oklch(0.6 0.01 250); }

.btn-warm {
  background: oklch(0.78 0.16 70);
  color: oklch(0.18 0.04 50);
  font-weight: 700;
}
.btn-warm:hover { background: oklch(0.82 0.16 70); }

.tasador-mini-foot {
  margin-top: 10px; font-size: 12px;
  color: rgba(255,255,255,.7);
  display: inline-flex; gap: 6px; align-items: center;
  position: relative; z-index: 1;
}

/* ─── comercial card (left column, below gallery) ─── */
.comercial-card {
  background: linear-gradient(180deg, oklch(0.97 0.018 70) 0%, oklch(0.95 0.025 60) 100%);
  border: 1px solid oklch(0.85 0.04 60);
  border-radius: var(--r-xl);
  padding: 28px 28px 24px;
  display: flex; flex-direction: column; gap: 16px;
  box-shadow: var(--sh-1);
  position: relative; overflow: hidden;
}
.theme-dark .comercial-card {
  background: linear-gradient(180deg, oklch(0.22 0.03 60) 0%, oklch(0.18 0.025 60) 100%);
  border-color: oklch(0.35 0.04 60);
}
.theme-warm .comercial-card {
  background: linear-gradient(180deg, oklch(0.96 0.04 50) 0%, oklch(0.93 0.05 45) 100%);
  border-color: oklch(0.8 0.06 50);
}
.cc-head {
  display: flex; gap: 18px; align-items: center;
}
.cc-photo {
  width: 76px; height: 76px; border-radius: 50%;
  overflow: hidden; flex-shrink: 0;
  border: 3px solid var(--surface);
  box-shadow: var(--sh-2);
  background: var(--surface-2);
}
.cc-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cc-name {
  font-family: 'Bricolage Grotesque', sans-serif;
  font-size: 22px; font-weight: 600; letter-spacing: -0.015em;
  margin: 0 0 2px; color: var(--ink);
}
.cc-role { font-size: 13.5px; color: var(--ink-2); margin-bottom: 6px; }
.cc-rating { display: flex; align-items: center; gap: 6px; font-size: 13px; color: var(--ink-2); }
.cc-rating .stars { color: #F6AB00; letter-spacing: 1px; font-size: 13px; }
.cc-rating b { color: var(--ink); font-weight: 600; }

.cc-quote {
  font-size: 14.5px; line-height: 1.6; color: var(--ink-2);
  font-style: italic;
  padding: 0 0 0 14px;
  border-left: 2px solid oklch(0.7 0.08 50);
  margin: 0;
}
.theme-dark .cc-quote { border-left-color: oklch(0.6 0.1 50); color: var(--ink-2); }

.cc-ctas { display: grid; gap: 8px; }
.cc-ctas .btn { padding: 13px 16px; font-size: 14.5px; }

.cc-hours {
  font-size: 12.5px; color: var(--ink-2); line-height: 1.6;
  display: flex; gap: 8px; align-items: flex-start;
}
.cc-hours svg { color: var(--ink-3); margin-top: 2px; flex-shrink: 0; }
.cc-hours b { color: var(--ink); font-weight: 600; }

.cc-divider {
  height: 1px;
  background: linear-gradient(90deg, transparent, oklch(0.85 0.04 60), transparent);
  margin: 4px 0 0;
}
.theme-dark .cc-divider { background: linear-gradient(90deg, transparent, oklch(0.35 0.04 60), transparent); }

.cc-location-h {
  display: flex; align-items: flex-start; gap: 10px;
}
.cc-location-h .pinic {
  width: 32px; height: 32px; border-radius: 10px;
  background: var(--ink); color: var(--bg);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.cc-location-h h4 {
  margin: 0 0 2px; font-size: 14.5px; font-weight: 600;
}
.cc-location-h p {
  margin: 0; font-size: 13px; color: var(--ink-2); line-height: 1.45;
}

.cc-map {
  position: relative; height: 150px; border-radius: var(--r-md);
  overflow: hidden;
  background: oklch(0.92 0.02 95);
  border: 1px solid oklch(0.85 0.04 60);
}
.theme-dark .cc-map { background: oklch(0.20 0.02 240); border-color: oklch(0.35 0.04 60); }
.cc-map svg { width: 100%; height: 100%; display: block; }
.cc-map .map-pin {
  position: absolute; left: 50%; top: 50%;
  transform: translate(-50%, -100%);
  display: flex; flex-direction: column; align-items: center;
  pointer-events: none;
}
.cc-map .map-pin .badge {
  background: var(--ink); color: var(--bg);
  font-family: 'Bricolage Grotesque', sans-serif;
  font-weight: 600; font-size: 12px;
  padding: 5px 10px; border-radius: 8px;
  white-space: nowrap; margin-bottom: 4px;
  box-shadow: 0 4px 12px rgba(0,0,0,.2);
}
.cc-map .map-pin .dot {
  width: 18px; height: 18px; border-radius: 50%;
  background: var(--primary); border: 3px solid white;
  box-shadow: 0 2px 6px rgba(0,0,0,.3);
  position: relative;
}
.cc-map .map-pin .dot::after {
  content: ""; position: absolute; inset: -3px; border-radius: 50%;
  border: 2px solid var(--primary); opacity: .35;
  animation: ringPulse 2.2s ease-out infinite;
}
.cc-map-link {
  position: absolute; bottom: 8px; right: 8px;
  background: var(--surface); color: var(--ink);
  font-size: 12.5px; font-weight: 600; padding: 6px 10px;
  border-radius: 8px; text-decoration: none;
  box-shadow: var(--sh-1);
  display: inline-flex; gap: 4px; align-items: center;
  border: 1px solid var(--border);
}
.cc-map-link:hover { background: var(--bg); }

/* ─── trust section ─── */
.trust-grid {
  display: grid; grid-template-columns: 1fr 1.4fr; gap: 24px;
}
.trust-badges {
  display: grid; grid-template-columns: 1fr; gap: 12px;
}
.trust-badge {
  background: var(--surface); border: 1px solid var(--border);
  border-radius: var(--r-md); padding: 18px;
  display: flex; gap: 14px; align-items: center;
}
.trust-badge .ic {
  width: 44px; height: 44px; border-radius: 12px;
  background: var(--ink); color: var(--bg);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.trust-badge h4 { margin: 0; font-size: 15.5px; }
.trust-badge p { margin: 2px 0 0; color: var(--ink-2); font-size: 13px; }

.reviews {
  background: var(--surface); border: 1px solid var(--border);
  border-radius: var(--r-lg); padding: 22px 24px;
}
.reviews-head {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 16px;
}
.reviews-score {
  display: flex; align-items: baseline; gap: 8px;
}
.reviews-score .num { font-family: 'Bricolage Grotesque', sans-serif; font-size: 32px; font-weight: 600; }
.reviews-score .stars { color: #F6AB00; letter-spacing: 1px; font-size: 14px; }
.reviews-score .of { color: var(--ink-3); font-size: 13px; }
.review-list { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.review {
  padding: 14px; border-radius: var(--r-md);
  background: var(--bg); border: 1px solid var(--border);
}
.review-h { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.review-h .av { width: 32px; height: 32px; border-radius: 50%; background: var(--primary-soft); color: var(--primary); display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 13px; }
.review-h .name { font-weight: 600; font-size: 13.5px; }
.review-h .date { font-size: 12px; color: var(--ink-3); }
.review-h .stars { color: #F6AB00; font-size: 12px; letter-spacing: 1px; margin-left: auto; }
.review-body { font-size: 13.5px; color: var(--ink-2); line-height: 1.55; }

/* ─── similar cars ─── */
.similar-row {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px;
}
.car-card {
  background: var(--surface); border: 1px solid var(--border);
  border-radius: var(--r-lg); overflow: hidden; cursor: pointer;
  transition: transform .15s, box-shadow .15s;
}
.car-card:hover { transform: translateY(-2px); box-shadow: var(--sh-2); }
.car-card .img { aspect-ratio: 4/3; background: var(--surface-2); position: relative; overflow: hidden; }
.car-card .img img { width: 100%; height: 100%; object-fit: cover; }
.car-card .img .pill {
  position: absolute; top: 10px; left: 10px;
  background: var(--surface); padding: 5px 9px; border-radius: 999px;
  font-size: 11px; font-weight: 600; border: 1px solid var(--border);
  display: inline-flex; gap: 5px; align-items: center;
}
.car-card .info { padding: 14px 16px; }
.car-card .info h4 {
  margin: 0; font-size: 15.5px; font-weight: 600;
  letter-spacing: -0.005em;
}
.car-card .info .meta { color: var(--ink-3); font-size: 12.5px; margin-top: 2px; }
.car-card .info .pr {
  display: flex; align-items: baseline; justify-content: space-between; margin-top: 10px;
}
.car-card .info .pr .price { font-family: 'Bricolage Grotesque', sans-serif; font-size: 20px; font-weight: 600; font-variant-numeric: tabular-nums; }
.car-card .info .pr .month { color: var(--primary); font-size: 12.5px; font-weight: 600; font-variant-numeric: tabular-nums; }

/* ─── trade-in ─── */
.tradein {
  background: var(--ink); color: var(--bg);
  border-radius: var(--r-xl); padding: 32px 36px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 32px; align-items: center;
  position: relative; overflow: hidden;
}
.tradein::before {
  content: ""; position: absolute; right: -80px; top: -80px;
  width: 280px; height: 280px; border-radius: 50%;
  background: radial-gradient(circle, var(--primary) 0%, transparent 70%);
  opacity: 0.4;
}
.tradein h3 {
  font-family: 'Bricolage Grotesque', sans-serif;
  font-size: 28px; font-weight: 600; letter-spacing: -0.02em;
  margin: 0 0 8px; line-height: 1.1;
}
.tradein p { margin: 0; color: rgba(255,255,255,.65); font-size: 15px; line-height: 1.55; max-width: 380px; }
.tradein-form { display: grid; gap: 10px; position: relative; z-index: 2; }
.tradein-form .field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.tradein input {
  background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.15);
  border-radius: var(--r-md); padding: 14px 16px;
  color: var(--bg); font-family: inherit; font-size: 14.5px; outline: none;
}
.tradein input::placeholder { color: rgba(255,255,255,.45); }
.tradein input:focus { border-color: rgba(255,255,255,.4); background: rgba(255,255,255,.12); }
.tradein .btn { padding: 14px; }

/* ─── inquiry inline form ─── */
.inquiry {
  background: var(--surface); border: 1px solid var(--border);
  border-radius: var(--r-lg); padding: 26px 28px;
  display: grid; grid-template-columns: 1fr 1.2fr; gap: 32px;
}
.inquiry-left h3 {
  font-family: 'Bricolage Grotesque', sans-serif;
  margin: 0 0 6px; font-size: 22px; font-weight: 600; letter-spacing: -0.02em;
}
.inquiry-left p { margin: 0 0 14px; color: var(--ink-2); font-size: 14.5px; line-height: 1.55; }
.commercial {
  display: flex; align-items: center; gap: 12px;
  padding-top: 14px; border-top: 1px dashed var(--border);
}
.commercial .av {
  width: 44px; height: 44px; border-radius: 50%;
  background: var(--surface-2); display: flex; align-items: center; justify-content: center;
  font-weight: 600; color: var(--ink-2);
}
.commercial .nm { font-weight: 600; font-size: 14.5px; }
.commercial .role { font-size: 12px; color: var(--ink-3); }
.commercial .badge { margin-left: auto; display: inline-flex; gap: 6px; align-items: center; font-size: 12px; color: var(--ink-2); padding: 4px 9px; border-radius: 999px; background: var(--surface-2); }
.commercial .badge .live { width: 6px; height: 6px; background: var(--status-novedad); border-radius: 50%; }

.form-grid { display: grid; gap: 10px; }
.form-grid .row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.field label { display: block; font-size: 12px; color: var(--ink-2); margin-bottom: 6px; font-weight: 600; }
.field input, .field textarea {
  width: 100%; padding: 12px 14px; border-radius: var(--r-md);
  border: 1px solid var(--border-strong); background: var(--bg);
  font-family: inherit; font-size: 14.5px; color: var(--ink); outline: none;
}
.field input:focus, .field textarea:focus { border-color: var(--ink); }
.field textarea { resize: vertical; min-height: 92px; }
.consent { font-size: 12px; color: var(--ink-3); display: flex; gap: 8px; align-items: flex-start; }
.consent input { margin-top: 2px; }

/* ─── sticky bottom bar (desktop only when scrolled) ─── */
.stickybar {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  background: var(--surface);
  border-top: 1px solid var(--border);
  box-shadow: 0 -8px 24px rgba(20,23,28,.08);
  padding: 12px 32px;
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px;
  z-index: 100;
}
.stickybar.simulated {
  position: sticky;
}
.stickybar-car { display: flex; align-items: center; gap: 12px; }
.stickybar-car .thumbmini { width: 52px; height: 40px; border-radius: 8px; background: var(--surface-2); overflow: hidden; }
.stickybar-car .thumbmini img { width: 100%; height: 100%; object-fit: cover; }
.stickybar-car .nm { font-weight: 600; font-size: 14px; }
.stickybar-car .meta { font-size: 12px; color: var(--ink-3); }
.stickybar-price {
  font-family: 'Bricolage Grotesque', sans-serif; font-size: 22px; font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.stickybar-price .month { font-size: 12px; color: var(--ink-2); font-weight: 500; font-family: 'Manrope'; margin-left: 6px; }
.stickybar-ctas { display: flex; gap: 8px; }
.stickybar-ctas .btn { padding: 11px 16px; font-size: 14px; }

/* footer */
.footer {
  background: var(--surface-2); border-top: 1px solid var(--border);
  padding: 40px 32px 28px; color: var(--ink-2);
}
.footer-inner { max-width: 1320px; margin: 0 auto; display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 32px; }
.footer h5 { color: var(--ink); margin: 0 0 12px; font-size: 14px; font-weight: 600; }
.footer ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; font-size: 13.5px; }
.footer a { color: var(--ink-2); text-decoration: none; }
.footer .copy { max-width: 1320px; margin: 28px auto 0; padding-top: 22px; border-top: 1px solid var(--border); font-size: 12px; color: var(--ink-3); display: flex; justify-content: space-between; }

/* ACF annotation pins */
.acf-pin {
  position: absolute;
  width: 22px; height: 22px; border-radius: 50%;
  background: oklch(0.66 0.16 50);
  color: white; font-weight: 700; font-size: 11px;
  display: flex; align-items: center; justify-content: center;
  border: 2px solid white; box-shadow: 0 2px 6px rgba(0,0,0,.2);
  cursor: pointer;
  z-index: 50;
  font-family: 'JetBrains Mono', monospace;
}
.acf-pin:hover .acf-tip { display: block; }
.acf-tip {
  display: none;
  position: absolute; left: 28px; top: -4px;
  background: var(--ink); color: var(--bg);
  font-family: 'JetBrains Mono', monospace; font-size: 11px; font-weight: 400;
  padding: 6px 10px; border-radius: 6px;
  white-space: nowrap; z-index: 60;
  letter-spacing: 0.01em;
}
.acf-tip::before { content: ""; position: absolute; left: -4px; top: 8px; width: 0; height: 0; border-top: 4px solid transparent; border-bottom: 4px solid transparent; border-right: 4px solid var(--ink); }

/* ─────────────────────────── MOBILE VARIANT ─────────────────────────── */
@media (max-width: 760px) {
/* Defensas globales contra overflow del header del theme */
html, body { overflow-x: hidden !important; max-width: 100vw; }
body img, body svg { max-width: 100%; height: auto; }
header img, .site-header img, .elementor-section img.logo, .elementor img[src*="logo"],
.elementor-widget-image img { max-width: 100% !important; height: auto !important; }
header, .site-header, .elementor-location-header { overflow-x: hidden; }
.ficha-mobile { font-size: 14px; }
.ficha-mobile .topbar-inner { padding: 7px 14px; font-size: 11.5px; gap: 10px; }
.ficha-mobile .topbar-items { gap: 10px; }
.ficha-mobile .hdr-inner { padding: 12px 16px; }
.ficha-mobile .brand { font-size: 20px; }
.ficha-mobile .nav { gap: 14px; }
.ficha-mobile .nav a:not(.cta) { display: none; }
.ficha-mobile .nav .cta { padding: 7px 12px; font-size: 13px; }
.ficha-mobile .crumbs { padding: 36px 16px 0; font-size: 12px; line-height: 1.7; }
.ficha-mobile { padding-top: 8px; }

.ficha-mobile .hero {
  padding: 14px 16px 24px;
  grid-template-columns: minmax(0, 1fr); gap: 18px;
}
.ficha-mobile .hero .gallery,
.ficha-mobile .hero .info-col,
.ficha-mobile .hero .comercial-card { grid-column: 1; grid-row: auto; }
.ficha-mobile .comercial-card { padding: 20px 18px; border-radius: 18px; }
.ficha-mobile .cc-photo { width: 60px; height: 60px; }
.ficha-mobile .cc-name { font-size: 19px; }
.ficha-mobile .cc-quote { font-size: 13.5px; }
.ficha-mobile .info-col { min-width: 0; }
.ficha-mobile .gallery { min-width: 0; }
.ficha-mobile .gallery-grid { grid-template-columns: minmax(0, 1fr); gap: 8px; }
.ficha-mobile .thumbs {
  flex-direction: row; gap: 6px; order: 2;
  overflow-x: auto; flex-wrap: nowrap;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.ficha-mobile .thumbs::-webkit-scrollbar { display: none; }
.ficha-mobile .thumb { width: 64px; height: 48px; aspect-ratio: 4/3; flex: 0 0 64px; }
.ficha-mobile .stage { order: 1; aspect-ratio: 4/3; border-radius: 14px; }
.ficha-mobile .stage-nav { width: 32px; height: 32px; }

.ficha-mobile .title-block h1 { font-size: 26px; line-height: 1.1; }
.ficha-mobile .quickstats { grid-template-columns: repeat(3, 1fr); }
.ficha-mobile .qs { padding: 12px 10px; }
.ficha-mobile .qs-value { font-size: 14.5px; }
.ficha-mobile .qs-label { font-size: 10.5px; }
.ficha-mobile .price-block { padding: 16px; border-radius: 14px; }
.ficha-mobile .price-main { font-size: 36px; }
.ficha-mobile .price-month { font-size: 13px; padding: 5px 10px; }
.ficha-mobile .calc-result-amount { font-size: 24px; }
.ficha-mobile .cta-row { grid-template-columns: 1fr; }
.ficha-mobile .section { padding: 16px; }
.ficha-mobile .section h2 { font-size: 22px; }

/* Tabs scrolleables horizontalmente en móvil */
.ficha-mobile .tabs-card { overflow: visible; }
.ficha-mobile .tabs-head {
  padding: 0;
  gap: 0;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
  flex-wrap: nowrap;
  scroll-snap-type: x proximity;
  position: relative;
  /* Gradient fade a la derecha indicando que hay más tabs */
  mask-image: linear-gradient(to right, #000 calc(100% - 28px), transparent);
  -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 28px), transparent);
}
.ficha-mobile .tabs-head::-webkit-scrollbar { display: none; }
.ficha-mobile .tab {
  padding: 14px 16px 12px;
  font-size: 13px;
  flex: 0 0 auto;
  scroll-snap-align: start;
}
.ficha-mobile .tab-body { padding: 16px 14px; max-width: 100%; box-sizing: border-box; }
.ficha-mobile .spec-grid { grid-template-columns: 1fr; gap: 0; }
.ficha-mobile .spec-row { font-size: 14px; padding: 11px 0; gap: 12px; }
.ficha-mobile .spec-row .k,
.ficha-mobile .spec-row .v {
  overflow-wrap: anywhere;
  word-break: break-word;
  min-width: 0;
}
.ficha-mobile .spec-row .v { text-align: right; }
.ficha-mobile .equip-grid { grid-template-columns: 1fr; gap: 4px 0; }
.ficha-mobile .equip {
  font-size: 14px;
  overflow-wrap: anywhere;
  word-break: break-word;
  min-width: 0;
  padding: 7px 0;
}
.ficha-mobile .section { padding: 16px 12px; }
.ficha-mobile .section > h2 { padding: 0 4px; }

.ficha-mobile .trust-grid { grid-template-columns: 1fr; gap: 14px; }
.ficha-mobile .reviews { padding: 18px; }
.ficha-mobile .review-list { grid-template-columns: 1fr; }

/* mobile: new blocks */
.ficha-mobile .inspection { padding: 22px 18px; border-radius: 18px; }
.ficha-mobile .inspection-head { grid-template-columns: 1fr; gap: 14px; margin-bottom: 18px; }
.ficha-mobile .inspection-head h3 { font-size: 22px; }
.ficha-mobile .inspection-seal { align-self: flex-start; flex-direction: row; gap: 10px; padding: 10px 14px; }
.ficha-mobile .inspection-seal .n { font-size: 24px; }
.ficha-mobile .inspection-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
.ficha-mobile .insp-item { padding: 11px 12px; font-size: 13.5px; gap: 9px; }
.ficha-mobile .insp-item .ic { width: 24px; height: 24px; }

.ficha-mobile .compare-head { padding: 18px 18px 14px; grid-template-columns: 1fr; gap: 10px; }
.ficha-mobile .compare-head h3 { font-size: 20px; }
.ficha-mobile .savings-badge { justify-self: flex-start; font-size: 13px; padding: 8px 12px; }
.ficha-mobile .compare-foot { padding: 14px 18px; font-size: 11.5px; }

.ficha-mobile .faq-q { padding: 16px 18px; font-size: 15px; }
.ficha-mobile .faq-a-inner { padding: 0 18px 18px; font-size: 14px; }

.ficha-mobile .similar-row { grid-template-columns: 1fr; gap: 12px; }

.ficha-mobile .tradein { padding: 22px; grid-template-columns: 1fr; gap: 18px; border-radius: 18px; }
.ficha-mobile .tradein h3 { font-size: 22px; }
.ficha-mobile .tradein-form .field-row { grid-template-columns: 1fr; }

.ficha-mobile .inquiry { grid-template-columns: 1fr; padding: 18px; gap: 18px; }
.ficha-mobile .form-grid .row { grid-template-columns: 1fr; }

.ficha-mobile .stickybar {
  padding: 10px 12px;
  flex-direction: row; gap: 8px;
  flex-wrap: wrap;
}
.ficha-mobile .stickybar-car { display: none; }
.ficha-mobile .stickybar-price { font-size: 17px; flex: 1; }
.ficha-mobile .stickybar-price .month { display: block; margin-left: 0; font-size: 11px; }
.ficha-mobile .stickybar-ctas { flex: 1; }
.ficha-mobile .stickybar-ctas .btn { flex: 1; padding: 11px 8px; font-size: 13px; }

.ficha-mobile .footer { padding: 24px 16px 18px; }
.ficha-mobile .footer-inner { grid-template-columns: 1fr 1fr; gap: 18px; }
} /* end @media (max-width: 760px) */

/* WhatsApp floater */
.fab-wa {
  position: absolute;
  right: 16px; bottom: 80px;
  width: 56px; height: 56px; border-radius: 50%;
  background: var(--whatsapp); color: white;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 6px 18px rgba(31,174,92,.45);
  z-index: 99; cursor: pointer;
  border: 3px solid var(--bg);
  animation: floatBob 4s ease-in-out infinite;
}
@keyframes floatBob { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-4px); } }
.fab-wa::after {
  content: ""; position: absolute; inset: -3px; border-radius: 50%;
  border: 2px solid var(--whatsapp); opacity: .4;
  animation: ringPulse 2.2s ease-out infinite;
}
@keyframes ringPulse {
  0% { transform: scale(1); opacity: .6; }
  100% { transform: scale(1.5); opacity: 0; }
}
