/* ==========================================================================
   AUTO-OK — components.css
   Componentes reutilizables. No duplicar estos estilos página por página.
   ========================================================================== */

/* ---------- Barra de beneficios ---------- */
.beneficios {
  background: var(--color-asfalto-900);
  color: #C9D5DF;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.beneficios__lista {
  display: flex;
  justify-content: flex-start;
  gap: var(--esp-5);
  list-style: none;
  margin: 0;
  padding: var(--esp-3) var(--esp-4);
  overflow-x: auto;
}
.beneficios__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
  text-align: center;
  min-width: 64px;
}
.beneficios__item svg { width: 20px; height: 20px; color: var(--color-senial-500); }
.beneficios__texto { display: none; }
.beneficios__texto-corto { font-size: 11px; font-weight: 600; color: #C9D5DF; line-height: 1.2; }

/* ---------- Header ---------- */
.header {
  position: sticky;
  top: 0;
  z-index: 40;
  background: var(--color-bg-alt);
  border-bottom: var(--borde);
}
.header__barra {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--esp-2);
  min-height: 64px;
}
.header__marca {
  display: flex;
  align-items: center;
  gap: var(--esp-2);
  text-decoration: none;
  min-width: 0;
  flex-shrink: 1;
}
.header__marca img { display: block; flex-shrink: 0; }
.header__marca-texto { overflow: hidden; }
.header__marca-nombre {
  display: block;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: var(--texto-md);
  color: var(--color-asfalto-900);
  white-space: nowrap;
  line-height: 1.15;
}
.header__marca-check {
  display: inline-flex;
  width: 0.62em;
  height: 0.62em;
  margin: 0 0.03em;
  vertical-align: middle;
  position: relative;
  top: -0.05em;
}
.header__marca-check svg { width: 100%; height: 100%; display: block; }
.header__marca-nombre small {
  display: block;
  font-family: var(--font-cuerpo);
  font-weight: 600;
  font-size: var(--texto-xs);
  color: var(--color-texto-suave);
}
.header__marca-divisor {
  display: none; /* aparece desde 600px junto con el subtítulo, ver responsive.css */
  width: 1px;
  align-self: stretch;
  background: var(--color-linea);
  flex-shrink: 0;
}
.header__marca-sub {
  display: none; /* aparece desde 600px, ver responsive.css */
  font-size: var(--texto-xs);
  line-height: 1.25;
  color: var(--color-texto-suave);
  white-space: nowrap;
}

/* Botón hamburguesa — solo visible en mobile (se oculta en desktop, ver responsive.css) */
.header__menu-boton {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: none;
  border: none;
  cursor: pointer;
  flex-shrink: 0;
}
.header__menu-boton svg { width: 22px; height: 22px; }

/* Nav mobile: panel desplegable controlado por JS (navigation.js) */
.header__nav {
  display: none;
  position: absolute;
  top: 64px;
  left: 0;
  right: 0;
  flex-direction: column;
  gap: var(--esp-1);
  background: var(--color-bg-alt);
  border-bottom: var(--borde);
  box-shadow: var(--sombra-md);
  padding: var(--esp-3) var(--esp-4) var(--esp-5) var(--esp-4);
}
.header__nav.esta-abierto { display: flex; }
.header__nav a {
  padding: var(--esp-3) 0;
  text-decoration: none;
  color: var(--color-texto);
  font-weight: 500;
  border-bottom: var(--borde);
}
.header__nav a:last-child { border-bottom: none; }

/* CTA del header: outline amarillo con lupa (icono solo en mobile) */
.header__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--esp-2);
  min-height: 40px;
  width: 40px;
  padding: 0;
  border-radius: 50%;
  background: #FFC93C;
  color: #FFFFFF;
  font-weight: 700;
  font-size: var(--texto-sm);
  text-decoration: none;
  white-space: nowrap;
  flex-shrink: 0;
}
.header__cta svg { width: 18px; height: 18px; flex-shrink: 0; }
.header__cta-largo { display: none; }

/* ---------- Footer ---------- */
.footer {
  background: var(--color-asfalto-900);
  color: var(--color-texto-inverso);
  padding: var(--esp-7) 0 var(--esp-5) 0;
}
.footer__marca {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: var(--texto-lg);
  margin-bottom: var(--esp-1);
}
.footer__institucional {
  color: #9FB0C0;
  font-size: var(--texto-sm);
  margin-bottom: var(--esp-6);
}
.footer__columnas {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--esp-5);
  margin-bottom: var(--esp-6);
}
.footer__columna h3 {
  color: var(--color-texto-inverso);
  font-size: var(--texto-sm);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: var(--esp-3);
}
.footer__columna ul {
  list-style: none;
  margin: 0; padding: 0;
  display: flex; flex-direction: column;
  gap: var(--esp-2);
}
.footer__columna a {
  color: #C9D5DF;
  text-decoration: none;
  font-size: var(--texto-sm);
}
.footer__columna a:hover { color: var(--color-texto-inverso); }
.footer__legal {
  border-top: 1px solid rgba(255,255,255,0.12);
  padding-top: var(--esp-4);
  font-size: var(--texto-xs);
  color: #8DA0B2;
}

/* ---------- Botones ---------- */
.boton {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--esp-2);
  min-height: var(--altura-tap-minima);
  padding: 0 var(--esp-5);
  border-radius: var(--radio-sm);
  border: none;
  font-weight: 600;
  font-size: var(--texto-base);
  text-decoration: none;
  cursor: pointer;
  transition: transform 0.05s ease, background-color 0.15s ease;
}
.boton:active { transform: scale(0.98); }

.boton--primario {
  background: var(--color-asfalto-900);
  color: var(--color-texto-inverso);
  width: 100%;
}
.boton--primario:hover { background: var(--color-asfalto-700); }

.boton--secundario {
  background: transparent;
  color: var(--color-asfalto-900);
  border: 2px solid var(--color-asfalto-900);
  width: 100%;
}
.boton--secundario:hover { background: var(--color-bg); }

.boton--acento {
  background: var(--color-senial-500);
  color: var(--color-texto-inverso);
  width: 100%;
}
.boton--acento:hover { background: var(--color-senial-600); }

/* ---------- Input ---------- */
.campo {
  margin-bottom: var(--esp-4);
}
.campo__label {
  display: block;
  font-weight: 600;
  font-size: var(--texto-sm);
  margin-bottom: var(--esp-2);
  color: var(--color-asfalto-900);
}
.campo__input {
  width: 100%;
  min-height: var(--altura-tap-minima);
  padding: 0 var(--esp-4);
  border: 2px solid var(--color-linea);
  border-radius: var(--radio-sm);
  font-size: var(--texto-md);
  font-family: var(--font-cuerpo);
  background: var(--color-bg-alt);
  color: var(--color-texto);
}
.campo__input:focus {
  border-color: var(--color-asfalto-900);
  outline: none;
}
.campo__ayuda {
  margin-top: var(--esp-2);
  min-height: 1.4em; /* evita que el layout "salte" cuando el mensaje pasa a estar vacío (ver flujo de patente) */
  font-size: var(--texto-xs);
  color: var(--color-texto-suave);
}
.campo__error {
  margin-top: var(--esp-2);
  min-height: 1.4em;
  font-size: var(--texto-xs);
  color: var(--color-rojo-600);
  font-weight: 600;
}

/* ---------- Componente firma: input de patente estilo chapa argentina ---------- */
.patente {
  display: flex;
  align-items: stretch;
  border: 3px solid var(--color-asfalto-900);
  border-radius: var(--radio-md);
  overflow: hidden;
  background: #FFFFFF;
  box-shadow: var(--sombra-sm);
}
.patente__franja {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  background: var(--color-asfalto-900);
  color: var(--color-texto-inverso);
  font-family: var(--font-cuerpo);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.05em;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  padding: var(--esp-2) 0;
  flex-shrink: 0;
}
.patente__input {
  flex: 1;
  min-height: 56px;
  border: none;
  padding: 0 var(--esp-4);
  font-family: var(--font-patente);
  font-size: var(--texto-xl);
  font-weight: 700;
  letter-spacing: 0.12em;
  text-align: center;
  text-transform: uppercase;
  color: var(--color-asfalto-900);
  background: transparent;
  min-width: 0;
}
.patente__input:focus { outline: none; }
.patente__input::placeholder {
  color: #B8C2CC;
  letter-spacing: 0.12em;
}
.patente:focus-within {
  border-color: var(--color-senial-600);
}

/* ---------- Tarjeta ---------- */
.tarjeta {
  background: var(--color-bg-alt);
  border: var(--borde);
  border-radius: var(--radio-md);
  padding: var(--esp-5);
}
.tarjeta__precio {
  font-family: var(--font-display);
  font-size: var(--texto-xl);
  font-weight: 700;
  color: var(--color-asfalto-900);
  margin: var(--esp-3) 0;
}

/* ---------- Badge ---------- */
.badge {
  display: inline-flex;
  align-items: center;
  padding: var(--esp-1) var(--esp-3);
  border-radius: 999px;
  font-size: var(--texto-xs);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.badge--acento  { background: var(--color-senial-500); color: var(--color-texto-inverso); }
.badge--verde   { background: rgba(31,157,108,0.12); color: var(--color-verde-600); }
.badge--neutro  { background: var(--color-bg); color: var(--color-texto-suave); }

/* ---------- Alert ---------- */
.alert {
  display: flex;
  gap: var(--esp-3);
  padding: var(--esp-4);
  border-radius: var(--radio-sm);
  font-size: var(--texto-sm);
  border-left: 4px solid;
}
.alert--info     { background: #EAF1F8; border-color: var(--color-asfalto-900); }
.alert--exito    { background: #E9F7F1; border-color: var(--color-verde-600); }
.alert--atencion { background: #FFF6E0; border-color: var(--color-ambar-600); }
.alert--error    { background: #FBEAE7; border-color: var(--color-rojo-600); }

/* ---------- Loader ---------- */
.loader {
  width: 24px; height: 24px;
  border: 3px solid var(--color-linea);
  border-top-color: var(--color-asfalto-900);
  border-radius: 50%;
  animation: girar 0.7s linear infinite;
}
@keyframes girar { to { transform: rotate(360deg); } }

/* ---------- FAQ ---------- */
.faq__item {
  border-bottom: var(--borde);
}
.faq__pregunta {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--esp-3);
  padding: var(--esp-4) 0;
  background: none;
  border: none;
  text-align: left;
  font-family: var(--font-cuerpo);
  font-weight: 600;
  font-size: var(--texto-base);
  color: var(--color-asfalto-900);
  cursor: pointer;
}
.faq__respuesta {
  padding: 0 0 var(--esp-4) 0;
  color: var(--color-texto-suave);
  font-size: var(--texto-sm);
}

/* ---------- Indicador de pasos ---------- */
.pasos {
  display: flex;
  flex-direction: column;
  gap: var(--esp-4);
}
.pasos__item {
  display: flex;
  align-items: flex-start;
  gap: var(--esp-4);
}
.pasos__numero {
  flex-shrink: 0;
  width: 32px; height: 32px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%;
  background: var(--color-asfalto-900);
  color: var(--color-texto-inverso);
  font-family: var(--font-display);
  font-weight: 700;
  font-size: var(--texto-sm);
}

/* ---------- Resumen de pedido ---------- */
.resumen {
  background: var(--color-bg-alt);
  border: var(--borde);
  border-radius: var(--radio-md);
  padding: var(--esp-5);
}
.resumen__linea {
  display: flex;
  justify-content: space-between;
  padding: var(--esp-2) 0;
  font-size: var(--texto-sm);
}
.resumen__linea--total {
  border-top: var(--borde);
  margin-top: var(--esp-2);
  padding-top: var(--esp-4);
  font-weight: 700;
  font-size: var(--texto-md);
  color: var(--color-asfalto-900);
}

/* ---------- Modal (base) ---------- */
.modal {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: none;
  align-items: flex-end;
  justify-content: center;
  background: rgba(16, 35, 59, 0.5);
}
.modal.esta-abierto { display: flex; }
.modal__contenido {
  width: 100%;
  max-width: var(--ancho-maximo);
  background: var(--color-bg-alt);
  border-radius: var(--radio-lg) var(--radio-lg) 0 0;
  padding: var(--esp-6) var(--esp-4);
  max-height: 85vh;
  overflow-y: auto;
}

/* ==========================================================================
   Secciones específicas de la Home (Prompt 02)
   ========================================================================== */

/* ---------- Hero ---------- */
.hero-seccion { padding-top: var(--esp-6); position: relative; overflow: hidden; }
.hero__contenido { z-index: 1; }
.hero__foto-bg {
  position: relative;
  width: 100%;
  aspect-ratio: 649 / 460;
  border-radius: var(--radio-lg);
  overflow: hidden;
  margin: var(--esp-5) 0;
}
.hero__foto {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.hero__foto-degradado { display: none; } /* solo entra en juego integrada al fondo desde desktop, ver responsive.css */

/* ---------- Semáforo AUTO-OK (devolución al cliente, no lógica automática) ---------- */
.semaforo-grid {
  display: flex;
  flex-direction: column;
  gap: var(--esp-4);
  margin-top: var(--esp-5);
}
.semaforo-item {
  display: flex;
  align-items: flex-start;
  gap: var(--esp-4);
  padding: var(--esp-5);
  border-radius: var(--radio-md);
  border: var(--borde);
  background: var(--color-bg-alt);
}
.semaforo-item__luz {
  flex-shrink: 0;
  width: 28px; height: 28px;
  border-radius: 50%;
  margin-top: 2px;
}
.semaforo-item--verde .semaforo-item__luz { background: var(--color-verde-600); }
.semaforo-item--amarillo .semaforo-item__luz { background: var(--color-ambar-600); }
.semaforo-item--rojo .semaforo-item__luz { background: var(--color-rojo-600); }
.semaforo-item h3 { margin-bottom: var(--esp-1); }
.semaforo-item p { margin: 0; font-size: var(--texto-sm); }
.semaforo-nota {
  margin-top: var(--esp-4);
  font-size: var(--texto-xs);
  color: var(--color-texto-suave);
}

/* ---------- Identidad federal ---------- */
.federal {
  display: flex;
  flex-direction: column;
  gap: var(--esp-6);
  align-items: center;
  text-align: center;
}
.federal__mapa { width: 100%; max-width: 280px; }
.federal__mapa svg { width: 100%; height: auto; }
.federal__texto { max-width: 480px; }

/* ---------- Asesoramiento: ilustración humana (icono, no foto de stock) ---------- */
.asesoramiento {
  display: flex;
  flex-direction: column;
  gap: var(--esp-6);
  align-items: center;
}
.asesoramiento__ilustracion { width: 100%; max-width: 220px; }
.asesoramiento__ilustracion svg { width: 100%; height: auto; }
.asesoramiento__texto { text-align: center; max-width: 480px; }

/* ---------- Ícono de vehículo en tarjetas de servicio ---------- */
.tarjeta__icono {
  width: 40px; height: 40px;
  margin-bottom: var(--esp-3);
  color: var(--color-senial-500);
}
.tarjeta__icono svg { width: 100%; height: 100%; }

/* ---------- Dropdown de navegación (Servicios / Ayuda) ---------- */
.header__nav-item { position: relative; }
.header__nav-disparador {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: none;
  border: none;
  font: inherit;
  color: var(--color-texto);
  font-weight: 500;
  cursor: pointer;
  padding: var(--esp-3) 0;
  width: 100%;
  text-align: left;
}
.header__nav-disparador svg { width: 14px; height: 14px; }
.header__submenu {
  list-style: none;
  margin: 0;
  padding: 0 0 0 var(--esp-4);
  display: none;
}
.header__nav-item.esta-abierto .header__submenu { display: block; }
.header__submenu a {
  display: block;
  padding: var(--esp-2) 0;
  font-size: var(--texto-sm);
  color: var(--color-texto-suave);
  text-decoration: none;
  border-bottom: none !important;
}

/* ---------- Hero oscuro ---------- */
.hero-seccion {
  padding-top: var(--esp-6);
  background: var(--color-asfalto-900);
  background: linear-gradient(155deg, var(--color-asfalto-900) 0%, #0D2E4E 100%);
  color: var(--color-texto-inverso);
}
.hero-seccion h1 {
  color: var(--color-texto-inverso);
  text-transform: uppercase;
  font-size: 2rem;
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -0.01em;
  max-width: 480px;
}
.hero__subtitulo {
  color: #C9D5DF;
  text-transform: uppercase;
  font-size: var(--texto-base);
  font-weight: 500;
  letter-spacing: 0.01em;
  max-width: 440px;
}
.hero__cta-fila {
  display: flex;
  flex-direction: column;
  gap: var(--esp-3);
}
.hero__cta-fila .patente { flex: 1; }
.hero__cta-fila .boton--acento { flex-shrink: 0; }
.hero .campo__ayuda { color: #9FB0C0; }
.hero .campo__label { color: var(--color-texto-inverso); }

.boton--amarillo {
  background: #FFC93C;
  color: var(--color-asfalto-900);
  width: 100%;
}
.boton--amarillo:hover { background: #F2B916; }

.hero__legend {
  display: flex;
  align-items: center;
  gap: var(--esp-2);
  margin-top: var(--esp-4);
  color: #C9D5DF;
}
.hero__legend svg { width: 20px; height: 20px; flex-shrink: 0; }
.hero__legend span {
  font-size: var(--texto-xs);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

/* ---------- Tarjetas de opción (Comprar / Vender / No sé) ---------- */
.opciones-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--esp-4);
}
.opcion-card {
  background: var(--color-bg-alt);
  border: var(--borde);
  border-radius: var(--radio-md);
  padding: var(--esp-5);
  display: flex;
  flex-direction: column;
}
.opcion-card__icono {
  width: 56px; height: 56px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  margin-bottom: var(--esp-4);
  color: #fff;
}
.opcion-card__icono svg { width: 28px; height: 28px; }
.opcion-card--comprar .opcion-card__icono { background: var(--color-senial-500); }
.opcion-card--vender .opcion-card__icono { background: var(--color-verde-600); }
.opcion-card--ayuda .opcion-card__icono { background: #6C4FD6; }
.opcion-card h3 { margin-bottom: var(--esp-2); }
.opcion-card p { flex-grow: 1; }
.opcion-card .boton { margin-top: var(--esp-4); }
.opcion-card--comprar .boton { background: var(--color-senial-500); color: #fff; }
.opcion-card--comprar .boton:hover { background: var(--color-senial-600); }
.opcion-card--vender .boton { background: var(--color-verde-600); color: #fff; }
.opcion-card--vender .boton:hover { background: #0C7C4C; }
.opcion-card--ayuda .boton { background: #6C4FD6; color: #fff; }
.opcion-card--ayuda .boton:hover { background: #5A3FC0; }

/* ---------- Tarjeta de servicio destacada (Combo Completo) ---------- */
.tarjeta--destacada {
  border: 2px solid #FFC93C;
  background: #FFFBEF;
  box-shadow: var(--sombra-md);
  position: relative;
}
.tarjeta--destacada .badge--acento {
  background: #FFC93C;
  color: var(--color-asfalto-900);
  position: absolute;
  top: var(--esp-4);
  right: var(--esp-4);
}
.tarjeta__icono--circulo {
  width: 56px; height: 56px;
  border-radius: 50%;
  background: var(--color-bg);
  color: var(--color-senial-500);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: var(--esp-3);
}
.tarjeta__icono--circulo svg { width: 26px; height: 26px; }
.tarjeta--destacada .tarjeta__icono--circulo { background: #FFC93C; color: var(--color-asfalto-900); }

/* ---------- Paneles Comprar / Vender con ilustración + checklist ---------- */
.perspectivas-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--esp-4);
}
.perspectiva-panel {
  border-radius: var(--radio-lg);
  padding: var(--esp-6) var(--esp-5);
  color: var(--color-texto-inverso);
}
.perspectiva-panel--comprar { background: linear-gradient(160deg, var(--color-asfalto-900), var(--color-senial-600)); }
.perspectiva-panel--vender { background: linear-gradient(160deg, var(--color-asfalto-900), #0C7C4C); }
.perspectiva-panel h3 { color: var(--color-texto-inverso); font-size: var(--texto-lg); }
.perspectiva-panel p { color: #D6E0E8; }
.perspectiva-panel__ilustracion { margin: var(--esp-4) 0; opacity: 0.9; }
.perspectiva-panel__ilustracion svg { width: 100%; max-width: 180px; height: auto; }
.perspectiva-panel .lista-check li { color: #E3EAF0; }
.perspectiva-panel .lista-check li::before { color: #FFC93C; }
.perspectiva-panel .boton--secundario {
  border-color: var(--color-texto-inverso);
  color: var(--color-texto-inverso);
  background: transparent;
}
.perspectiva-panel .boton--secundario:hover { background: rgba(255,255,255,0.1); }
.perspectiva-panel--vender .boton--acento { background: #FFC93C; color: var(--color-asfalto-900); }

/* ---------- Identidad federal (renovada) ---------- */
.federal { background: var(--color-asfalto-900); color: var(--color-texto-inverso); border-radius: var(--radio-lg); padding: var(--esp-6) var(--esp-5); }
.federal h2 { color: var(--color-texto-inverso); }
.federal p { color: #C9D5DF; }
.federal__mapa svg circle:not(:first-child) { fill: #FFC93C; }
.federal__provincias {
  list-style: none;
  margin: var(--esp-5) 0;
  padding: 0;
  columns: 2;
  gap: var(--esp-4);
  font-size: var(--texto-sm);
}
.federal__provincias li {
  display: flex;
  align-items: center;
  gap: var(--esp-2);
  padding: var(--esp-1) 0;
  break-inside: avoid;
  color: #D6E0E8;
}
.federal__provincias li::before {
  content: "";
  width: 6px; height: 6px;
  border-radius: 50%;
  background: #FFC93C;
  flex-shrink: 0;
}
.federal__jurisdiccion {
  background: rgba(255,255,255,0.07);
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: var(--radio-md);
  padding: var(--esp-4);
  font-size: var(--texto-sm);
  margin-top: var(--esp-4);
}
.federal__jurisdiccion p { margin: 0; color: #C9D5DF; }

/* ---------- Pasos con conector ---------- */
.pasos--conector {
  flex-direction: row;
  flex-wrap: wrap;
  gap: var(--esp-5);
}
.pasos--conector .pasos__item {
  flex: 1 1 140px;
  flex-direction: column;
  align-items: center;
  text-align: center;
  position: relative;
}
.pasos--conector .pasos__numero {
  background: var(--color-bg-alt);
  border: 2px solid var(--color-asfalto-900);
  color: var(--color-asfalto-900);
}

/* ---------- Franja de confianza (íconos) ---------- */
.confianza-franja {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--esp-6);
  padding: var(--esp-5);
  background: var(--color-bg-alt);
  border: var(--borde);
  border-radius: var(--radio-md);
}
.confianza-franja__item {
  display: flex;
  align-items: center;
  gap: var(--esp-3);
  font-size: var(--texto-sm);
  font-weight: 600;
  color: var(--color-asfalto-900);
}
.confianza-franja__item svg { width: 26px; height: 26px; color: var(--color-senial-500); flex-shrink: 0; }

/* ---------- Placeholder fotográfico (claramente identificado, listo para foto real) ---------- */
.foto-placeholder {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: var(--radio-lg);
  background: repeating-linear-gradient(135deg, #EEF1F4, #EEF1F4 12px, #E4E8EC 12px, #E4E8EC 24px);
  border: 2px dashed #B9C4CC;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: var(--esp-2);
  padding: var(--esp-4);
  color: #5B7285;
  overflow: hidden;
}
.foto-placeholder svg { width: 30px; height: 30px; flex-shrink: 0; }
.foto-placeholder strong {
  font-size: var(--texto-xs);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.foto-placeholder span {
  font-size: var(--texto-xs);
  max-width: 220px;
}
.foto-placeholder img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.perspectiva-panel .foto-placeholder {
  aspect-ratio: 16 / 10;
  border-color: rgba(255,255,255,0.4);
  background: repeating-linear-gradient(135deg, rgba(255,255,255,0.06), rgba(255,255,255,0.06) 12px, rgba(255,255,255,0.1) 12px, rgba(255,255,255,0.1) 24px);
  color: #E3EAF0;
}
.asesoramiento__ilustracion .foto-placeholder { aspect-ratio: 1 / 1; max-width: 260px; }

/* ---------- Footer: caja de contacto ---------- */
.footer__contacto-caja {
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: var(--radio-md);
  padding: var(--esp-4);
}
.footer__contacto-caja p { color: #C9D5DF; }
.footer__contacto-caja h3 { margin-bottom: var(--esp-2); }

/* ---------- Sección Comprar / Vender (perspectiva) ---------- */
.perspectiva {
  display: flex;
  flex-direction: column;
  gap: var(--esp-4);
}
.perspectiva__acciones {
  display: flex;
  flex-direction: column;
  gap: var(--esp-3);
}

/* ---------- Confianza ---------- */
.confianza-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--esp-4);
}
.confianza-item {
  display: flex;
  gap: var(--esp-3);
  align-items: flex-start;
}
.confianza-item__icono {
  flex-shrink: 0;
  width: 40px; height: 40px;
  border-radius: 50%;
  background: var(--color-bg);
  display: flex; align-items: center; justify-content: center;
  color: var(--color-asfalto-900);
}
.confianza-item h3 { margin-bottom: var(--esp-1); font-size: var(--texto-base); }
.confianza-item p { margin: 0; font-size: var(--texto-sm); }

/* ---------- Logo en footer ---------- */
.footer__logo { margin-bottom: var(--esp-3); }
.footer__logo img { display: block; }

/* ==========================================================================
   Páginas de servicio individuales (Prompt 03)
   ========================================================================== */

/* ---------- Lista de bullets con check (qué gestionamos / qué revisamos / qué recibe) ---------- */
.lista-check {
  list-style: none;
  margin: 0 0 var(--esp-4) 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--esp-2);
}
.lista-check li {
  display: flex;
  align-items: flex-start;
  gap: var(--esp-2);
  color: var(--color-texto-suave);
}
.lista-check li::before {
  content: "✓";
  flex-shrink: 0;
  color: var(--color-verde-600);
  font-weight: 700;
}

/* ---------- Franja de plazo de entrega ---------- */
.plazo-entrega {
  display: inline-flex;
  align-items: center;
  gap: var(--esp-2);
  background: var(--color-bg);
  border-radius: var(--radio-sm);
  padding: var(--esp-2) var(--esp-4);
  font-weight: 700;
  color: var(--color-asfalto-900);
  margin-bottom: var(--esp-4);
}

/* ---------- CTA secundario (hablar con una mandataria) ---------- */
.cta-secundario {
  margin-top: var(--esp-5);
  padding: var(--esp-4);
  border: 2px dashed var(--color-linea);
  border-radius: var(--radio-md);
  text-align: center;
}
.cta-secundario p { margin-bottom: var(--esp-3); }

/* ---------- Flujo de pedido: patente → datos → resumen ---------- */
.flujo-paso__titulo {
  display: flex;
  align-items: center;
  gap: var(--esp-2);
  font-size: var(--texto-xs);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--color-texto-suave);
  margin-bottom: var(--esp-3);
}
.flujo-acciones {
  display: flex;
  flex-direction: column;
  gap: var(--esp-3);
  margin-top: var(--esp-4);
}
.flujo-acciones .boton--secundario { order: 2; }

.resumen__linea-label { color: var(--color-texto-suave); }

.mensaje-confirmacion {
  margin-top: var(--esp-4);
  padding: var(--esp-4);
  border-radius: var(--radio-md);
  background: #E9F7F1;
  border-left: 4px solid var(--color-verde-600);
  font-size: var(--texto-sm);
  line-height: 1.6;
}

.boton[disabled] {
  opacity: 0.5;
  cursor: not-allowed;
}

/* ---------- Pedido generado (paso final del flujo, Prompt 04) ---------- */
.pedido-generado {
  text-align: center;
  padding: var(--esp-6) var(--esp-4);
  background: #E9F7F1;
  border: 2px solid var(--color-verde-600);
  border-radius: var(--radio-md);
}
.pedido-generado__check {
  font-size: 2rem;
  margin-bottom: var(--esp-2);
}
.pedido-generado__id {
  display: inline-flex;
  align-items: center;
  gap: var(--esp-3);
  margin: var(--esp-4) 0;
  padding: var(--esp-3) var(--esp-5);
  background: var(--color-bg-alt);
  border-radius: var(--radio-sm);
  font-family: var(--font-patente);
  font-size: var(--texto-lg);
  font-weight: 700;
  color: var(--color-asfalto-900);
  flex-wrap: wrap;
  justify-content: center;
}
.pedido-generado__id button {
  min-height: 36px;
  padding: 0 var(--esp-3);
  border-radius: var(--radio-sm);
  border: none;
  background: var(--color-verde-600);
  color: #fff;
  font-family: var(--font-cuerpo);
  font-size: var(--texto-xs);
  font-weight: 700;
  cursor: pointer;
}
.pedido-generado .resumen {
  text-align: left;
  margin-top: var(--esp-5);
}

/* ==========================================================================
   AUTO-OK — VISUAL MASTER 07/09/2026
   Header + Hero + rutas Comprar/Vender. Overrides isolated from backend/JS.
   ========================================================================== */
@media (min-width: 960px) {
  .header { background: #031225; border-bottom: 1px solid rgba(255,255,255,.12); }
  .header__barra { max-width: 1470px; min-height: 99px; gap: 28px; }
  .header__marca { color: #fff; gap: 14px; }
  .header__marca-nombre { color: #fff; font-size: 2rem; line-height: .95; font-weight: 700; }
  .header__marca-nombre small { color: #fff; font-size: 1rem; line-height: 1; margin-top: 3px; }
  .header__marca-divisor { display:block; height: 50px; align-self:center; background: rgba(0,180,125,.55); }
  .header__marca-sub { color:#fff; font-size:1rem; line-height:1.25; }
  .header__nav { gap: 42px; }
  .header__nav a, .header__nav-disparador { color:#fff; font-size:1rem; }
  .header__nav a:hover, .header__nav-disparador:hover { color:#fff; }
  .header__cta { min-height:54px; border-radius:7px; padding:0 23px; background:transparent; border:1.5px solid #FFC400; color:#FFC400; font-size:1rem; }
  .header__cta svg { width:22px; height:22px; }

  .hero-seccion { padding:0; background:#031225; }
  .hero { max-width:none; width:100%; min-height:486px; padding:0; position:relative; display:block; overflow:hidden; }
  .hero__contenido { position:relative; z-index:3; max-width:none; width:100%; min-height:486px; padding:67px 0 38px 45px; box-sizing:border-box; }
  .hero__contenido > h1,
  .hero__contenido > .hero__subtitulo,
  .hero__contenido > .campo,
  .hero__contenido > .hero__legend { position:relative; z-index:4; }
  .hero__contenido h1 { font-size:2.75rem; line-height:1.08; max-width:470px; margin:0 0 14px; }
  .hero__subtitulo { font-size:1.1rem; line-height:1.35; max-width:440px; margin:0 0 39px; }
  .hero__foto-bg { position:absolute; z-index:1; top:0; right:0; bottom:0; left:29.3%; width:auto; height:100%; margin:0; border-radius:0; overflow:hidden; aspect-ratio:auto; }
  .hero__foto { width:100%; height:100%; object-fit:fill; object-position:center; display:block; }
  .hero__foto-degradado { display:block; position:absolute; inset:0; background:linear-gradient(90deg,#031225 0%,rgba(3,18,37,.96) 7%,rgba(3,18,37,.78) 18%,rgba(3,18,37,.38) 31%,rgba(3,18,37,0) 45%); }
  .hero__cta-fila { width:444px; display:flex; flex-direction:row; gap:8px; }
  .hero__cta-fila .patente { width:302px; flex:none; }
  .hero__cta-fila .boton--amarillo { width:134px; padding:0; }
  .hero .campo__label { font-size:1rem; margin-bottom:9px; }
  .hero .campo__ayuda { display:none; }
  .hero__legend { margin-top:20px; gap:10px; }
  .hero__legend svg { width:28px; height:28px; }
  .hero__legend span { font-size:1rem; font-weight:500; }

  .seccion--rutas { padding:14px 7px 0; background:#fff; }
  .rutas-grid { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
  .ruta-card { position:relative; min-height:325px; overflow:hidden; border-radius:7px; isolation:isolate; background:#0A2440; }
  .ruta-card__imagen, .ruta-card__velo { position:absolute; inset:0; }
  .ruta-card__imagen img { width:100%; height:100%; object-fit:cover; display:block; }
  .ruta-card__velo { z-index:1; }
  .ruta-card--comprar .ruta-card__velo { background:linear-gradient(90deg,rgba(5,47,125,.98) 0%,rgba(5,47,125,.86) 31%,rgba(5,47,125,.38) 57%,rgba(5,47,125,.08) 100%); }
  .ruta-card--vender .ruta-card__velo { background:linear-gradient(90deg,rgba(0,113,44,.96) 0%,rgba(0,113,44,.78) 35%,rgba(0,113,44,.3) 65%,rgba(0,113,44,.06) 100%); }
  .ruta-card__contenido { position:relative; z-index:2; width:46%; min-width:470px; padding:22px 0 25px 38px; color:#fff; box-sizing:border-box; }
  .ruta-card__tag { display:inline-flex; padding:9px 16px; border-radius:5px; font-weight:800; font-size:.9rem; background:#0865db; margin-bottom:13px; }
  .ruta-card--vender .ruta-card__tag { background:#08a64f; }
  .ruta-card h2 { color:#fff; font-size:2rem; line-height:1.08; margin:0 0 13px; font-weight:800; letter-spacing:-.02em; }
  .ruta-card p { color:#fff; font-size:1rem; line-height:1.45; margin:0 0 27px; max-width:410px; }
  .ruta-card__boton { display:inline-flex; align-items:center; justify-content:space-between; gap:25px; min-width:260px; padding:14px 17px; border-radius:5px; background:#fff; color:#123e91; text-decoration:none; font-size:.92rem; font-weight:800; }
  .ruta-card--vender .ruta-card__boton { color:#087d38; }
  .ruta-card__boton span { font-size:1.4rem; line-height:1; }
}

/* Final structural correction: the photo must be positioned against the Hero itself, not the text column. */
@media (min-width: 960px) {
  .hero__contenido { position: static; }
  .hero__foto-bg { left: 29.3%; right: 0; top: 0; bottom: 0; }
  .header__marca img { display: none; }
}

/* ==========================================================================
   AUTO-OK — MASTER VISUAL FINAL
   Header + Hero + Comprar/Vender
   Este bloque sustituye visualmente las pruebas anteriores sin tocar JS/backend.
   ========================================================================== */
:root { --master-navy:#031225; --master-yellow:#FFC400; --master-blue:#0757C8; --master-green:#079447; }

@media (min-width: 960px) {
  /* HEADER */
  .header { background:var(--master-navy) !important; color:#fff; border-bottom:1px solid rgba(255,255,255,.10); }
  .header__barra { max-width:1470px; min-height:100px; padding:0 22px; box-sizing:border-box; gap:30px; }
  .header__marca { color:#fff; gap:14px; flex-shrink:0; }
  .header__marca-texto { overflow:visible; }
  .header__marca-nombre { color:#fff !important; font-size:2.0rem; line-height:.93; font-weight:700; }
  .header__marca-nombre small { color:#fff !important; font-size:1rem; line-height:1; margin-top:4px; }
  .header__marca-divisor { display:block !important; width:1px; height:50px; align-self:center; background:rgba(0,180,125,.55); }
  .header__marca-sub { display:block !important; color:#fff !important; font-size:1rem; line-height:1.25; }
  .header__marca > picture { display:none; }
  .header__nav { display:flex; position:static; flex-direction:row; align-items:center; gap:42px; background:transparent; border:0; box-shadow:none; padding:0; margin-left:auto; }
  .header__nav a, .header__nav-disparador { color:#fff !important; font-size:1rem; font-weight:500; }
  .header__nav a { padding:0; border:0; }
  .header__nav-disparador { background:none; border:0; padding:0; }
  .header__cta { width:auto; min-width:252px; min-height:54px; padding:0 20px; border-radius:7px; background:transparent; border:1.5px solid var(--master-yellow); color:var(--master-yellow); font-size:1rem; }
  .header__cta svg { width:23px; height:23px; }
  .header__cta-largo { display:inline; }
  .header__menu-boton { display:none; }

  /* BENEFICIOS */
  .beneficios { background:var(--master-navy) !important; border-bottom:1px solid rgba(255,255,255,.10); }
  .beneficios__lista { max-width:1470px; margin:0 auto; padding:23px 22px; display:grid; grid-template-columns:repeat(4,1fr); gap:0; overflow:visible; box-sizing:border-box; }
  .beneficios__item { min-width:0; height:44px; flex-direction:row; justify-content:flex-start; align-items:center; text-align:left; gap:16px; padding:0 28px; border-right:1px solid rgba(0,180,220,.28); }
  .beneficios__item:first-child { padding-left:0; }
  .beneficios__item:last-child { border-right:0; }
  .beneficios__item svg { width:42px; height:42px; color:#fff; flex-shrink:0; }
  .beneficios__texto { display:flex !important; flex-direction:column; color:#fff; font-size:1rem; line-height:1.2; }
  .beneficios__texto strong { font-weight:500; }
  .beneficios__texto small { font-size:1rem; font-weight:400; }
  .beneficios__texto-corto { display:none !important; }

  /* HERO: imagen hermana directa del Hero, no del contenido */
  .hero-seccion { padding:0 !important; background:var(--master-navy) !important; }
  .hero { position:relative; width:100%; max-width:none; height:486px; min-height:486px; padding:0; overflow:hidden; display:block; }
  .hero__foto-bg { position:absolute !important; z-index:1 !important; top:0; right:0; bottom:0; left:auto !important; width:70%; height:100%; margin:0 !important; border-radius:0 !important; overflow:hidden; }
  .hero__foto { width:100% !important; height:100% !important; display:block; object-fit:cover !important; object-position:center center !important; }
  .hero__foto-degradado { display:block !important; position:absolute; inset:0; z-index:2; background:linear-gradient(90deg, var(--master-navy) 0%, rgba(3,18,37,.96) 9%, rgba(3,18,37,.82) 18%, rgba(3,18,37,.52) 28%, rgba(3,18,37,.18) 39%, rgba(3,18,37,0) 51%); }
  .hero__contenido { position:relative !important; z-index:3 !important; width:100%; max-width:none; height:100%; min-height:486px; padding:67px 0 38px 45px; box-sizing:border-box; }
  .hero__contenido > * { position:relative; z-index:4; }
  .hero__contenido h1 { color:#fff; font-size:2.75rem; line-height:1.08; max-width:470px; margin:0 0 14px; font-weight:800; letter-spacing:-.02em; }
  .hero__subtitulo { color:#fff; font-size:1.1rem; line-height:1.35; max-width:450px; margin:0 0 39px; }
  .hero__cta-fila { width:444px; display:flex; flex-direction:row; gap:8px; }
  .hero__cta-fila .patente { width:302px; flex:none; }
  .hero__cta-fila .boton--amarillo { width:134px; padding:0; }
  .hero .campo__label { color:#fff; font-size:1rem; margin-bottom:9px; }
  .hero .campo__ayuda { display:none; }
  .hero__legend { margin-top:20px; gap:10px; color:#fff; }
  .hero__legend svg { width:28px; height:28px; }
  .hero__legend span { font-size:1rem; font-weight:500; }

  /* COMPRAR / VENDER: imagen y texto permanecen dentro del mismo panel */
  .seccion--rutas { padding:14px 7px 0 !important; background:#fff; }
  .rutas-grid { display:grid !important; grid-template-columns:1fr 1fr !important; gap:9px !important; }
  .ruta-card { position:relative; min-height:325px; overflow:hidden; border-radius:7px; isolation:isolate; background:#0A2440; }
  .ruta-card__imagen { position:absolute; inset:0; z-index:0; }
  .ruta-card__imagen img { width:100%; height:100%; object-fit:cover; display:block; }
  .ruta-card--comprar .ruta-card__imagen img { object-position:68% center; }
  .ruta-card--vender .ruta-card__imagen img { object-position:68% center; }
  .ruta-card__velo { position:absolute; inset:0; z-index:1; }
  .ruta-card--comprar .ruta-card__velo { background:linear-gradient(90deg,rgba(5,47,125,.98) 0%,rgba(5,47,125,.86) 30%,rgba(5,47,125,.42) 56%,rgba(5,47,125,.06) 100%); }
  .ruta-card--vender .ruta-card__velo { background:linear-gradient(90deg,rgba(0,113,44,.96) 0%,rgba(0,113,44,.80) 31%,rgba(0,113,44,.34) 58%,rgba(0,113,44,.05) 100%); }
  .ruta-card__contenido { position:relative; z-index:2; width:52%; min-width:0; padding:22px 0 25px 38px; color:#fff; box-sizing:border-box; }
  .ruta-card__tag { display:inline-flex; padding:9px 16px; border-radius:5px; font-weight:800; font-size:.9rem; background:#0865db; margin-bottom:13px; }
  .ruta-card--vender .ruta-card__tag { background:#08a64f; }
  .ruta-card h2 { color:#fff; font-size:2rem; line-height:1.08; margin:0 0 13px; font-weight:800; letter-spacing:-.02em; }
  .ruta-card p { color:#fff; font-size:1rem; line-height:1.45; margin:0 0 27px; max-width:390px; }
  .ruta-card__boton { display:inline-flex; align-items:center; justify-content:space-between; gap:25px; min-width:260px; padding:14px 17px; border-radius:5px; background:#fff; color:#123e91; text-decoration:none; font-size:.92rem; font-weight:800; }
  .ruta-card--vender .ruta-card__boton { color:#087d38; }
  .ruta-card__boton span { font-size:1.4rem; line-height:1; }
}

@media (max-width: 959px) {
  .header { background:var(--master-navy) !important; }
  .hero-seccion { background:var(--master-navy) !important; }
  .hero { position:relative; overflow:hidden; }
  .hero__foto-bg { order:2; position:relative !important; z-index:1 !important; left:auto !important; right:auto !important; top:auto !important; bottom:auto !important; width:100% !important; height:auto !important; aspect-ratio:1016 / 486; border-radius:0 !important; }
  .hero__foto { width:100% !important; height:100% !important; object-fit:cover !important; object-position:center !important; }
  .hero__foto-degradado { display:block !important; }
  .hero__contenido { order:1; position:relative !important; z-index:3 !important; }
  .hero__contenido > * { position:relative; z-index:4; }
  .ruta-card__contenido { width:70%; min-width:0; }
}

@media (max-width:599px) {
  .header__marca-nombre { font-size:1.55rem !important; }
  .header__cta { width:40px; min-width:40px; min-height:40px; padding:0; border-radius:50%; background:var(--master-yellow); color:var(--master-navy); border:0; }
  .header__cta-largo { display:none !important; }
  .hero__contenido { padding:32px 18px 24px !important; }
  .hero__contenido h1 { font-size:1.8rem !important; }
  .hero__cta-fila { flex-direction:column; width:100%; }
  .hero__cta-fila .patente, .hero__cta-fila .boton--amarillo { width:100%; }
  .ruta-card__contenido { width:86%; padding:24px 20px; }
  .ruta-card h2 { font-size:1.75rem; }
  .ruta-card p { font-size:.9rem; }
}

/* ==========================================================================
   AJUSTE QUIRÚRGICO — EMBLEMA HEADER + POSICIÓN HERO
   Solo desktop. No modifica estructura, copy, imágenes ni funcionalidad.
   ========================================================================== */
@media (min-width: 960px) {
  /* Emblema circular AUTO-OK a la izquierda de la marca existente */
  .header__marca > picture {
    display: block !important;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
  }
  .header__marca > picture img {
    display: block !important;
    width: 44px;
    height: 44px;
    object-fit: contain;
  }

  /* Hero: desplaza el mockup completo apenas hacia la derecha (~3 cm a 1440 px) */
  .hero__foto-bg {
    transform: translateX(113px);
  }
}

@media (max-width: 959px) {
  .hero__foto-bg { transform: none; }
}

/* ==========================================================================
   AUDITORÍA QUIRÚRGICA — LOGO + TRANSICIÓN HERO
   Última capa deliberadamente pequeña: corrige solo los dos puntos auditados.
   ========================================================================== */
@media (min-width: 960px) {
  /* Logo circular real: se utiliza el asset de 240 px para evitar el aspecto
     pequeño/pixelado del asset 96 px y se conserva su proporción original. */
  .header__marca > picture {
    display: block !important;
    flex: 0 0 64px;
    width: 64px;
    height: 53px;
  }
  .header__marca > picture img {
    display: block !important;
    width: 64px;
    height: 53px;
    object-fit: contain;
  }

  /* El degradé se dibuja sobre TODO el Hero, no dentro de la caja fotográfica.
     Así el color de origen coincide exactamente con el navy del Hero y no
     puede quedar una línea vertical en el borde izquierdo de la imagen. */
  .hero__foto-degradado {
    display: none !important;
  }
  .hero::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background: linear-gradient(
      90deg,
      #031225 0%,
      #031225 28%,
      rgba(3,18,37,.99) 35%,
      rgba(3,18,37,.94) 43%,
      rgba(3,18,37,.78) 50%,
      rgba(3,18,37,.52) 57%,
      rgba(3,18,37,.24) 65%,
      rgba(3,18,37,0) 74%
    );
  }
  .hero__contenido { position: relative !important; z-index: 3 !important; }
}

@media (max-width: 959px) {
  .header__marca > picture {
    display: block !important;
    flex: 0 0 48px;
    width: 48px;
    height: 40px;
  }
  .header__marca > picture img {
    display: block !important;
    width: 48px;
    height: 40px;
    object-fit: contain;
  }
}

/* ==========================================================================
   AUTO-OK — AJUSTE QUIRÚRGICO 3
   Solo: contraste/tamaño del emblema del Header + fundido Hero + encuadre rutas.
   ========================================================================== */
@media (min-width: 960px) {
  /* HEADER: emblema circular visible, nítido y con contraste sobre navy */
  .header__marca > picture { display:block !important; flex:0 0 auto; width:64px; height:53px; overflow:visible; }
  .header__marca > picture img { display:block !important; width:64px !important; height:53px !important; object-fit:contain; object-position:center; }

  /* HERO: el navy domina completamente el borde izquierdo; fundido largo y suave */
  .hero__foto-degradado {
    background: linear-gradient(90deg,
      #031225 0%,
      #031225 8%,
      rgba(3,18,37,.995) 15%,
      rgba(3,18,37,.94) 24%,
      rgba(3,18,37,.78) 34%,
      rgba(3,18,37,.56) 44%,
      rgba(3,18,37,.30) 54%,
      rgba(3,18,37,.10) 64%,
      rgba(3,18,37,0) 73%
    ) !important;
  }

  /* RUTAS: misma lógica visual del Hero: imagen completa como unidad a la derecha,
     con su centro visual en el sector derecho y sin quedar pegada al texto. */
  .ruta-card__imagen { left:24% !important; width:76% !important; right:auto !important; }
  .ruta-card__imagen img { object-fit:cover !important; width:100% !important; height:100% !important; }
  .ruta-card--comprar .ruta-card__imagen img { object-position:58% center !important; }
  .ruta-card--vender .ruta-card__imagen img { object-position:50% center !important; }
  .ruta-card__velo { left:0 !important; right:0 !important; }
  .ruta-card--comprar .ruta-card__velo { background:linear-gradient(90deg,rgba(5,47,125,1) 0%,rgba(5,47,125,.98) 20%,rgba(5,47,125,.84) 35%,rgba(5,47,125,.55) 51%,rgba(5,47,125,.20) 69%,rgba(5,47,125,.04) 100%) !important; }
  .ruta-card--vender .ruta-card__velo { background:linear-gradient(90deg,rgba(0,113,44,1) 0%,rgba(0,113,44,.96) 20%,rgba(0,113,44,.78) 36%,rgba(0,113,44,.48) 52%,rgba(0,113,44,.18) 70%,rgba(0,113,44,.03) 100%) !important; }
}


/* AUTO-OK — ajuste puntual 2026-09-07
   1) Hero: +2 cm aprox. hacia la derecha en desktop (sobre el desplazamiento vigente).
   2) VENDER: misma geometría visual que COMPRAR, sin deformar el asset.
*/
@media (min-width: 960px) {
  .hero__foto-bg { transform: translateX(189px) !important; }

  .ruta-card--vender .ruta-card__imagen {
    left:24% !important; width:76% !important; right:auto !important;
    display:flex !important; align-items:center !important; justify-content:center !important;
    background:#031225 !important;
  }
  .ruta-card--vender .ruta-card__imagen img {
    width:100% !important; height:100% !important;
    object-fit:contain !important;
    object-position:center center !important;
    transform:none !important;
  }
}

/* AUTO-OK — ajuste aprobado: COMPRA / VENTA
   - VENTA usa un mockup nuevo, con proporción fotográfica propia, sin deformación.
   - Ambos botones quedan alineados al mismo nivel dentro de sus tarjetas. */
@media (min-width: 960px) {
  .ruta-card__contenido {
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
  }
  .ruta-card__contenido p {
    margin-bottom: 0 !important;
  }
  .ruta-card__boton {
    margin-top: auto !important;
  }
  .ruta-card--vender .ruta-card__imagen img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: 58% center !important;
    transform: none !important;
  }
}

/* ---------- Servicios rápidos — composición aprobada ---------- */
#servicios-rapidos {
  background: #031225;
  border-top: 0;
  border-bottom: 0;
  color: #FFFFFF;
}
#servicios-rapidos .servicios-rapidos__encabezado { margin-bottom: 1.25rem; }
#servicios-rapidos .servicios-rapidos__kicker {
  display:flex; align-items:center; gap:.75rem; margin-bottom:.35rem;
  color:#FFFFFF; font-family:var(--font-cuerpo); font-size:.9rem; font-weight:700; letter-spacing:.02em;
}
#servicios-rapidos .servicios-rapidos__kicker span { width:2.5rem; height:3px; background:#00CFA0; display:block; }
#servicios-rapidos .servicios-rapidos__encabezado h2 {
  margin:0 0 .2rem; color:#FFFFFF; font-family:var(--font-display);
  font-size:clamp(1.9rem,3vw,2.35rem); font-weight:700; line-height:1.12;
}
#servicios-rapidos .servicios-rapidos__encabezado > p { max-width:760px; margin:0; color:#FFFFFF; font-size:.98rem; line-height:1.45; }
#servicios-rapidos .servicios-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
#servicios-rapidos .servicio-card {
  position:relative; min-height:148px; padding:1rem 1rem 1rem 1.05rem;
  display:grid; grid-template-columns:68px minmax(0,1fr) auto; align-items:center; column-gap:1rem;
  background:#06284A; border:1px solid #087BCB; border-radius:9px; color:#FFFFFF;
}
#servicios-rapidos .servicio-card__icono { width:56px; height:56px; margin:0; background:#075B99; color:#FFFFFF; }
#servicios-rapidos .servicio-card__icono svg { width:30px; height:30px; }
#servicios-rapidos .servicio-card__texto { min-width:0; text-align:center; }
#servicios-rapidos .servicio-card h3 {
  margin:0 0 .35rem; color:#FFFFFF; font-family:var(--font-display);
  font-size:1.22rem; font-weight:800; line-height:1.15; text-transform:uppercase;
}
#servicios-rapidos .servicio-card__texto > p:not(.tarjeta__precio) { margin:0 auto .4rem; color:#FFFFFF; font-size:.82rem; line-height:1.35; }
#servicios-rapidos .tarjeta__precio { display:block; margin:.15rem auto 0; color:#FFFFFF; font-family:var(--font-display); font-size:1.05rem; font-weight:800; line-height:1.15; }
#servicios-rapidos .servicio-card__boton {
  min-height:36px; padding:.55rem .75rem; display:inline-flex; align-items:center; justify-content:center; gap:.6rem;
  white-space:nowrap; background:transparent; border:1px solid #008BFF; border-radius:8px; color:#FFFFFF;
  font-family:var(--font-cuerpo); font-size:.68rem; font-weight:700; text-transform:uppercase; text-decoration:none;
}
#servicios-rapidos .servicio-card__boton span { font-size:1rem; line-height:1; }
#servicios-rapidos .servicio-card__boton:hover { background:rgba(0,139,255,.14); }
#servicios-rapidos .servicio-card--completo {
  border:2px solid #D4AF37; box-shadow:0 0 0 1px rgba(212,175,55,.18),0 8px 24px rgba(0,0,0,.16);
}
#servicios-rapidos .servicio-card--completo .servicio-card__icono { background:#075B99; }
#servicios-rapidos .servicio-card__distintivo {
  position:absolute; top:-12px; left:50%; transform:translateX(-50%); padding:.28rem .65rem;
  border:1px solid #D4AF37; border-radius:999px; background:#031225; color:#F3D477;
  font-family:var(--font-cuerpo); font-size:.62rem; font-weight:800; letter-spacing:.04em; line-height:1;
  white-space:nowrap; z-index:2;
}

/* ========================================================================== */
/* AUTO-OK — Ajuste consolidado: Servicios Rápidos + Semáforo 1B + VENTA V3 */
/* ========================================================================== */

/* COMPRA / VENTA: dos fotos con la misma caja, escala y tratamiento. */
.ruta-card--comprar .ruta-card__imagen img,
.ruta-card--vender .ruta-card__imagen img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: none !important;
}

/* SERVICIOS: alineación interna estricta y marcos más vivos. */
#servicios-rapidos .servicios-grid {
  align-items: stretch;
}
#servicios-rapidos .servicio-card {
  min-height: 192px;
  padding: 1.15rem 1.15rem 4.25rem;
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  grid-template-rows: 1fr;
  align-items: center;
  column-gap: 1rem;
  border: 1.5px solid rgba(0, 152, 255, .88) !important;
  background:
    linear-gradient(145deg, rgba(8,56,96,.98), rgba(3,31,59,.98)) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.025),
    0 8px 24px rgba(0,0,0,.22),
    0 0 18px rgba(0,119,214,.08);
  overflow: visible;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
#servicios-rapidos .servicio-card:hover {
  transform: translateY(-2px);
  border-color: #18A7FF !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.035),
    0 12px 28px rgba(0,0,0,.26),
    0 0 24px rgba(0,139,255,.18);
}
#servicios-rapidos .servicio-card__icono {
  align-self: start;
  margin-top: .15rem;
}
#servicios-rapidos .servicio-card__texto {
  min-width: 0;
  height: 116px;
  display: grid;
  grid-template-rows: 2.9rem 3.45rem 1.55rem;
  align-content: start;
  text-align: center;
}
#servicios-rapidos .servicio-card h3 {
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #FFFFFF;
  font-size: 1.16rem;
  font-weight: 850;
  line-height: 1.08;
  text-transform: uppercase;
  letter-spacing: .01em;
}
#servicios-rapidos .servicio-card__texto > p:not(.tarjeta__precio) {
  margin: 0;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  color: rgba(255,255,255,.88);
  font-size: .83rem;
  line-height: 1.35;
}
#servicios-rapidos .tarjeta__precio {
  margin: 0 !important;
  display: flex !important;
  align-items: end;
  justify-content: center;
  color: #FFFFFF !important;
  font-size: 1.16rem !important;
  font-weight: 850 !important;
  line-height: 1 !important;
}
#servicios-rapidos .servicio-card__boton {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  min-width: 116px;
  min-height: 34px;
  z-index: 3;
}

/* Informe completo: borde dorado más intenso y brillo controlado. */
#servicios-rapidos .servicio-card--completo {
  border: 2px solid #F2C84B !important;
  background:
    radial-gradient(circle at 88% 10%, rgba(255,205,69,.10), transparent 34%),
    linear-gradient(145deg, rgba(8,56,96,.99), rgba(3,31,59,.99)) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,232,151,.16),
    0 0 0 1px rgba(242,200,75,.18),
    0 0 18px rgba(255,195,30,.42),
    0 0 38px rgba(255,195,30,.14),
    0 12px 30px rgba(0,0,0,.28) !important;
}
#servicios-rapidos .servicio-card--completo::after {
  content: "";
  position: absolute;
  inset: -2px;
  border-radius: inherit;
  pointer-events: none;
  background: linear-gradient(115deg, transparent 0 68%, rgba(255,255,255,.42) 74%, transparent 80%);
  opacity: .28;
  mix-blend-mode: screen;
}
#servicios-rapidos .servicio-card__distintivo {
  top: -13px;
  padding: .34rem .8rem;
  border: 1px solid #FFD456;
  background: #07192D;
  color: #FFD75B;
  box-shadow: 0 0 14px rgba(255,195,30,.25);
  font-size: .64rem;
}
#servicios-rapidos .servicio-card--completo .servicio-card__boton {
  border-color: #F2C84B;
  color: #FFE17A;
}

/* SEMÁFORO AUTO-OK — Propuesta 1B: imagen ambiental + módulos glass. */
.semaforo-auto-ok {
  background: #031225 !important;
  padding-top: 1.25rem;
  padding-bottom: 2.4rem;
}
.semaforo-auto-ok__panel {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 2rem;
  border: 1px solid rgba(21,151,232,.72);
  border-radius: 13px;
  background:
    linear-gradient(90deg, rgba(3,18,37,.97) 0%, rgba(3,18,37,.91) 26%, rgba(3,18,37,.74) 56%, rgba(3,18,37,.64) 100%),
    linear-gradient(180deg, rgba(3,18,37,.2), rgba(3,18,37,.58)),
    url('/assets/hero/auto-moto-hero.jpg') center 58% / cover no-repeat;
  box-shadow: 0 15px 40px rgba(0,0,0,.22);
}
.semaforo-auto-ok__panel::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(circle at 16% 46%, rgba(0,207,160,.07), transparent 26%),
    linear-gradient(180deg, rgba(3,18,37,.02), rgba(3,18,37,.34));
  pointer-events: none;
}
.semaforo-auto-ok__encabezado {
  max-width: 520px;
  margin: 0 auto 1.7rem;
  text-align: center;
}
.semaforo-auto-ok__kicker {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: .65rem;
  margin-bottom: .42rem;
  color: #18D7AE;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.semaforo-auto-ok__kicker span {
  width: 34px;
  height: 2px;
  background: #18D7AE;
}
.semaforo-auto-ok__encabezado h2 {
  margin: 0 0 .35rem;
  color: #FFFFFF;
  font-size: clamp(1.9rem, 3vw, 2.45rem);
  line-height: 1.08;
}
.semaforo-auto-ok__encabezado p {
  margin: 0;
  color: rgba(255,255,255,.88);
  font-size: .95rem;
  line-height: 1.45;
}
.semaforo-auto-ok__estados {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
.semaforo-estado {
  --estado: #00D39B;
  position: relative;
  min-height: 245px;
  padding: 3.15rem 1.15rem 1rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  border: 1px solid color-mix(in srgb, var(--estado) 58%, transparent);
  border-radius: 11px;
  background: rgba(3,18,37,.72);
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
  box-shadow: inset 0 0 20px rgba(0,0,0,.14), 0 8px 24px rgba(0,0,0,.22);
}
.semaforo-estado--amarillo { --estado: #FFC52F; }
.semaforo-estado--rojo { --estado: #FF4553; }
.semaforo-estado__luz {
  position: absolute;
  top: -24px;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  border: 3px solid var(--estado);
  background: color-mix(in srgb, var(--estado) 18%, #031225);
  box-shadow: 0 0 12px var(--estado), 0 0 28px color-mix(in srgb, var(--estado) 58%, transparent);
}
.semaforo-estado__luz span {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--estado);
  box-shadow: 0 0 14px var(--estado);
}
.semaforo-estado__tag {
  margin-bottom: .55rem;
  padding: .22rem .58rem;
  border-radius: 999px;
  color: #031225;
  background: var(--estado);
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .04em;
}
.semaforo-estado h3 {
  min-height: 2.45rem;
  margin: 0 0 .45rem;
  display: flex;
  align-items: center;
  color: #FFFFFF;
  font-size: 1.02rem;
  line-height: 1.12;
}
.semaforo-estado p {
  margin: 0;
  color: rgba(255,255,255,.9);
  font-size: .85rem;
  line-height: 1.4;
}
.semaforo-estado__accion {
  margin-top: auto;
  width: 100%;
  padding: .48rem .55rem;
  border: 1px solid var(--estado);
  border-radius: 999px;
  color: #FFFFFF;
  background: color-mix(in srgb, var(--estado) 12%, transparent);
  font-size: .74rem;
  font-weight: 700;
}
.semaforo-auto-ok__pie {
  margin-top: 1.2rem;
  text-align: center;
  color: rgba(255,255,255,.78);
  font-size: .73rem;
  letter-spacing: .14em;
}

/* ========================================================================== */
/* AUTO-OK — FEDERAL 1B + ajustes pendientes VENTA / COMBO                  */
/* ========================================================================== */

/* VENTA: mismo encuadre conceptual que COMPRA, con leve corrección óptica. */
@media (min-width: 960px) {
  .ruta-card--vender .ruta-card__imagen img {
    object-fit: cover !important;
    object-position: 61% 47% !important;
    transform: translate(2.4%, -1.8%) scale(1.055) !important;
    transform-origin: center center !important;
  }
}

/* COMBO COMPLETO — descripción algo más compacta para mantener la grilla. */
#servicios-rapidos .servicio-card--completo .servicio-card__texto > p:not(.tarjeta__precio) {
  font-size: .79rem;
  line-height: 1.28;
}

/* ---------- Identidad federal — Propuesta 1B ---------- */
.federal-1b {
  padding-top: 1.55rem;
  padding-bottom: 2.6rem;
  background: #031225 !important;
  color: #fff;
}
.federal-1b__panel {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0,1.08fr) minmax(430px,.92fr) 240px;
  grid-template-areas:
    "intro mapa mensaje"
    "nota nota nota";
  gap: 1.2rem 1.4rem;
  align-items: center;
  min-height: 430px;
  padding: 2rem 2rem 1rem;
  border: 1px solid rgba(11,145,232,.72);
  border-radius: 14px;
  background:
    linear-gradient(90deg, rgba(3,18,37,.98) 0%, rgba(3,18,37,.93) 31%, rgba(3,18,37,.82) 57%, rgba(3,18,37,.76) 100%),
    radial-gradient(circle at 72% 28%, rgba(13,118,189,.22), transparent 35%),
    url('/assets/hero/auto-moto-hero.jpg') center 56% / cover no-repeat;
  box-shadow: 0 16px 42px rgba(0,0,0,.24), inset 0 0 0 1px rgba(255,255,255,.02);
}
.federal-1b__panel::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    radial-gradient(circle at 68% 42%, rgba(0,181,255,.08), transparent 26%),
    linear-gradient(180deg, rgba(3,18,37,.05), rgba(3,18,37,.28));
  pointer-events:none;
}
.federal-1b__intro { grid-area:intro; align-self:start; max-width:660px; }
.federal-1b__kicker {
  display:flex; align-items:center; gap:.7rem; margin-bottom:.7rem;
  color:#18D7AE; font-size:.78rem; font-weight:850; letter-spacing:.07em; text-transform:uppercase;
}
.federal-1b__kicker span { width:38px; height:2px; background:#18D7AE; }
.federal-1b__intro h2 {
  margin:0 0 .65rem; color:#fff; font-family:var(--font-display);
  font-size:clamp(2.1rem,3.35vw,3.4rem); line-height:.98; font-weight:850; letter-spacing:-.025em;
}
.federal-1b__intro > p { max-width:650px; margin:0; color:rgba(255,255,255,.9); font-size:1rem; line-height:1.46; }
.federal-1b__beneficios {
  margin-top:1.4rem;
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.7rem;
}
.federal-1b__beneficio {
  min-height:108px; padding:.8rem;
  display:grid; grid-template-columns:42px 1fr; gap:.65rem; align-items:center;
  border:1px solid rgba(0,149,235,.52); border-radius:10px;
  background:rgba(4,35,66,.72); -webkit-backdrop-filter:blur(5px); backdrop-filter:blur(5px);
}
.federal-1b__beneficio-icono {
  width:40px; height:40px; display:grid; place-items:center; border-radius:50%;
  background:#075B99; color:#fff; font-size:1.35rem; font-weight:900; box-shadow:0 0 18px rgba(0,133,224,.18);
}
.federal-1b__beneficio strong { display:block; color:#fff; font-size:.85rem; line-height:1.14; }
.federal-1b__beneficio span { display:block; margin-top:.2rem; color:rgba(255,255,255,.76); font-size:.7rem; line-height:1.28; }

.federal-1b__mapa-wrap { grid-area:mapa; position:relative; min-height:390px; }
.federal-1b__mapa { position:absolute; left:50%; top:50%; width:235px; transform:translate(-50%,-50%); }
.federal-1b__mapa svg { width:100%; height:auto; overflow:visible; }
.federal-1b__argentina { fill:url(#argFill); stroke:#19C8FF; stroke-width:3; filter:url(#argGlow); }
.federal-1b__provincia { fill:none; stroke:rgba(169,227,255,.42); stroke-width:1.2; }
.federal-1b__puntos circle { fill:#D5F7FF; stroke:#23C7FF; stroke-width:2; }
.federal-1b__malvinas path { fill:#0A5E9E; stroke:#19C8FF; stroke-width:2; }
.federal-1b__region { position:absolute; max-width:150px; color:#fff; font-size:.66rem; line-height:1.25; }
.federal-1b__region strong { display:block; color:#fff; font-size:.86rem; margin-bottom:.15rem; }
.federal-1b__region span { color:rgba(255,255,255,.72); }
.federal-1b__region::after { content:""; position:absolute; top:.55rem; height:1px; background:rgba(89,202,255,.45); }
.federal-1b__region--noa { left:0; top:22px; text-align:right; }
.federal-1b__region--noa::after { left:calc(100% + 8px); width:48px; }
.federal-1b__region--cuyo { left:-6px; top:150px; text-align:right; }
.federal-1b__region--cuyo::after { left:calc(100% + 8px); width:50px; }
.federal-1b__region--litoral { right:-4px; top:68px; }
.federal-1b__region--litoral::after { right:calc(100% + 8px); width:50px; }
.federal-1b__region--centro { right:-8px; top:178px; }
.federal-1b__region--centro::after { right:calc(100% + 8px); width:48px; }
.federal-1b__region--patagonia { left:2px; bottom:22px; text-align:right; }
.federal-1b__region--patagonia::after { left:calc(100% + 8px); width:55px; }
.federal-1b__malvinas-texto {
  position:absolute; right:12px; bottom:14px; transform:rotate(-3deg);
  color:#fff; font-family:"Segoe Print","Bradley Hand",cursive; font-size:.77rem; font-weight:800; line-height:1.08;
  text-align:center; text-shadow:0 2px 8px rgba(0,0,0,.6);
}
.federal-1b__malvinas-texto::after {
  content:""; display:block; width:92px; height:5px; margin:.28rem auto 0; border-radius:999px;
  background:linear-gradient(90deg,#72C8F3 0 33%,#fff 33% 66%,#72C8F3 66% 100%);
  transform:skewX(-18deg);
}
.federal-1b__mensaje {
  grid-area:mensaje; align-self:center; min-height:220px; padding:1.1rem;
  border:1px solid rgba(0,149,235,.55); border-radius:12px;
  background:rgba(4,35,66,.76); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
}
.federal-1b__check {
  width:50px; height:50px; margin-bottom:.85rem; display:grid; place-items:center; border-radius:50%;
  border:3px solid #18D7AE; color:#18D7AE; font-size:1.65rem; font-weight:900; box-shadow:0 0 18px rgba(24,215,174,.25);
}
.federal-1b__mensaje strong { display:block; color:#fff; font-size:1.05rem; line-height:1.2; }
.federal-1b__mensaje p { margin:.9rem 0 0; padding-top:.8rem; border-top:1px solid rgba(255,255,255,.12); color:rgba(255,255,255,.78); font-size:.82rem; line-height:1.42; }
.federal-1b__nota { grid-area:nota; padding-top:.65rem; border-top:1px solid rgba(255,255,255,.08); color:rgba(255,255,255,.58); font-size:.69rem; text-align:center; }

/* ========================================================================== */
/* AUTO-OK — CORRECCIÓN DEFINITIVA VENTA / PRECIOS / FEDERAL 1B PREVIEW      */
/* ========================================================================== */

/* VENTA: corrección óptica definitiva para igualar escala/perspectiva de COMPRA. */
@media (min-width: 960px) {
  .ruta-card--vender .ruta-card__imagen {
    left: 24% !important;
    width: 76% !important;
    overflow: hidden !important;
  }
  .ruta-card--vender .ruta-card__imagen img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: 62% 44% !important;
    transform: translate(4.5%, -4%) scale(1.105) !important;
    transform-origin: center center !important;
  }
}

/* SERVICIOS: precio fijo abajo a la izquierda, CTA abajo a la derecha. */
#servicios-rapidos .servicio-card {
  padding-bottom: 4.3rem !important;
}
#servicios-rapidos .servicio-card__texto {
  height: auto !important;
  grid-template-rows: 2.9rem minmax(3.3rem, auto) !important;
}
#servicios-rapidos .tarjeta__precio {
  position: absolute !important;
  left: 1rem !important;
  bottom: 1rem !important;
  width: auto !important;
  min-width: 92px !important;
  min-height: 34px !important;
  margin: 0 !important;
  padding: .42rem .72rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1.5px solid rgba(52,177,255,.92) !important;
  border-radius: 9px !important;
  background: rgba(3,18,37,.78) !important;
  box-shadow: 0 0 14px rgba(0,139,255,.16), inset 0 0 0 1px rgba(255,255,255,.025) !important;
  color: #FFFFFF !important;
  font-size: 1.06rem !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  z-index: 4 !important;
}
#servicios-rapidos .servicio-card__boton {
  right: 1rem !important;
  bottom: 1rem !important;
}
#servicios-rapidos .servicio-card--completo .tarjeta__precio {
  border-color: #FFD75B !important;
  box-shadow: 0 0 18px rgba(255,195,30,.25), inset 0 0 0 1px rgba(255,235,164,.08) !important;
  color: #FFE17A !important;
}

/* FEDERAL 1B: usar el arte aprobado de la preview en vez de redibujar el mapa. */
.federal-1b__panel--preview {
  grid-template-columns: minmax(0, .9fr) minmax(620px, 1.1fr) !important;
  grid-template-areas: "intro preview" "nota nota" !important;
  min-height: 390px !important;
  padding: 1.6rem 1.6rem .9rem !important;
  gap: 1rem 1.25rem !important;
  background:
    linear-gradient(90deg, rgba(3,18,37,.98) 0%, rgba(3,18,37,.92) 34%, rgba(3,18,37,.34) 66%, rgba(3,18,37,.14) 100%),
    radial-gradient(circle at 74% 38%, rgba(0,166,255,.12), transparent 30%),
    #031225 !important;
}
.federal-1b__preview {
  grid-area: preview;
  min-width: 0;
  align-self: center;
  justify-self: stretch;
}
.federal-1b__preview img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 10px;
  object-fit: contain;
  box-shadow: 0 12px 28px rgba(0,0,0,.16);
}
.federal-1b__beneficio-icono svg {
  width: 24px;
  height: 24px;
}

@media (max-width: 1199px) {
  .federal-1b__panel--preview {
    grid-template-columns: 1fr !important;
    grid-template-areas: "intro" "preview" "nota" !important;
  }
  .federal-1b__preview { max-width: 820px; width: 100%; margin: 0 auto; }
}

@media (max-width: 640px) {
  #servicios-rapidos .servicio-card {
    padding-bottom: 4.5rem !important;
  }
  #servicios-rapidos .tarjeta__precio {
    left: .8rem !important;
    bottom: .8rem !important;
    min-width: 84px !important;
    font-size: .96rem !important;
  }
  #servicios-rapidos .servicio-card__boton {
    right: .8rem !important;
    bottom: .8rem !important;
  }
  .federal-1b__panel--preview { padding: 1.2rem .8rem .8rem !important; }
  .federal-1b__preview img { border-radius: 8px; }
}

/* ========================================================================== */
/* AUTO-OK — AJUSTES FINALES: VENTA / FEDERAL / CTA FINAL 1C                */
/* ========================================================================== */

/* VENTA: el asset ya viene corregido internamente; neutralizar transforms anteriores
   para que ninguna regla histórica vuelva a mover/deformar el mockup. */
@media (min-width: 960px) {
  .ruta-card--vender .ruta-card__imagen {
    left: 24% !important;
    width: 76% !important;
    right: auto !important;
    overflow: hidden !important;
  }
  .ruta-card--vender .ruta-card__imagen img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: 58% center !important;
    transform: none !important;
  }
}

/* FEDERAL: ampliar el arte aprobado hasta ocupar prácticamente todo el plano derecho. */
@media (min-width: 1200px) {
  .federal-1b__panel--preview {
    grid-template-columns: minmax(430px, .78fr) minmax(760px, 1.42fr) !important;
    min-height: 500px !important;
    padding: 1.35rem 1.15rem .75rem !important;
    gap: .8rem 1rem !important;
    align-items: stretch !important;
  }
  .federal-1b__intro {
    max-width: 500px !important;
    align-self: center !important;
  }
  .federal-1b__preview {
    align-self: stretch !important;
    justify-self: stretch !important;
    display: flex !important;
    align-items: stretch !important;
    min-height: 455px !important;
  }
  .federal-1b__preview img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    border-radius: 11px !important;
  }
  .federal-1b__beneficios {
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
    gap: .8rem !important;
    margin-top: 1.25rem !important;
  }
  .federal-1b__beneficio {
    min-height: 132px !important;
    padding: 1rem .7rem !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }
  .federal-1b__beneficio-icono { margin: 0 auto .55rem !important; }
  .federal-1b__beneficio strong { font-size: .9rem !important; text-align: center !important; }
  .federal-1b__beneficio span { font-size: .72rem !important; line-height: 1.3 !important; text-align: center !important; }
}

/* CTA final — Propuesta 1C */
.cta-final-1c {
  position: relative;
  overflow: hidden;
  min-height: 330px;
  background: #031225;
  border-top: 1px solid rgba(32,177,255,.22);
  border-bottom: 1px solid rgba(32,177,255,.22);
}
.cta-final-1c__escena {
  position: absolute;
  inset: 0 0 0 44%;
  background:
    linear-gradient(90deg,#031225 0%,rgba(3,18,37,.82) 15%,rgba(3,18,37,.18) 44%,rgba(3,18,37,.04) 100%),
    url('/assets/cta/seguridad-decidir-1c.jpg') center right / cover no-repeat;
}
.cta-final-1c__contenido {
  position: relative;
  z-index: 2;
  min-height: 330px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  padding-top: 2.4rem;
  padding-bottom: 2rem;
}
.cta-final-1c__texto { max-width: 660px; }
.cta-final-1c__kicker {
  display: block;
  margin-bottom: .55rem;
  color: #45CFFF;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .28em;
}
.cta-final-1c h2 {
  margin: 0 0 .55rem;
  color: #fff;
  font-family: var(--font-display);
  font-size: clamp(2.4rem,4vw,4.3rem);
  line-height: .94;
  font-weight: 800;
  letter-spacing: -.035em;
}
.cta-final-1c h2 span { color: #38BFFF; }
.cta-final-1c__texto > p {
  margin: 0 0 1.15rem;
  color: #fff;
  font-size: 1.08rem;
}
.cta-final-1c__boton {
  display: inline-flex;
  width: auto;
  min-width: 285px;
  gap: .8rem;
  justify-content: center;
  margin-bottom: 1.35rem;
}
.cta-final-1c__boton svg { width: 22px; height: 22px; }
.cta-final-1c__beneficios {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: .8rem;
  max-width: 650px;
}
.cta-final-1c__beneficios span {
  display: flex;
  flex-direction: column;
  padding-left: .7rem;
  border-left: 2px solid rgba(56,191,255,.58);
}
.cta-final-1c__beneficios strong { color:#fff; font-size:.76rem; }
.cta-final-1c__beneficios small { color:rgba(255,255,255,.72); font-size:.62rem; line-height:1.25; }
.cta-final-1c__lema {
  align-self: flex-end;
  margin: 0 1.2rem .1rem auto;
  color: rgba(255,255,255,.9);
  font-family: var(--font-display);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .18em;
  white-space: nowrap;
  text-shadow: 0 2px 8px rgba(0,0,0,.55);
}

@media (max-width: 959px) {
  .cta-final-1c { min-height: 420px; }
  .cta-final-1c__escena { inset: 37% 0 0 0; background-position: center right; }
  .cta-final-1c__contenido { min-height: 420px; align-items: flex-start; flex-direction: column; padding-top: 2rem; }
  .cta-final-1c__beneficios { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .cta-final-1c__lema { margin-top: auto; margin-left: 0; }
}
@media (max-width: 599px) {
  .cta-final-1c { min-height: 500px; }
  .cta-final-1c__contenido { min-height: 500px; padding-left: 1rem; padding-right: 1rem; }
  .cta-final-1c h2 { font-size: 2.55rem; }
  .cta-final-1c__texto > p { font-size: .96rem; }
  .cta-final-1c__boton { width: 100%; min-width: 0; }
  .cta-final-1c__beneficios { width: 100%; }
  .cta-final-1c__lema { font-size: .66rem; white-space: normal; }
}

/* ========================================================================== */
/* AUTO-OK — CIERRE VISUAL: VENTA / FEDERAL / FOOTER INSTITUCIONAL          */
/* ========================================================================== */

/* VENTA: mismo tratamiento geométrico que COMPRA, sin transformaciones heredadas. */
@media (min-width: 960px) {
  .ruta-card--comprar .ruta-card__imagen,
  .ruta-card--vender .ruta-card__imagen {
    left: 24% !important;
    right: auto !important;
    width: 76% !important;
    inset-block: 0 !important;
    overflow: hidden !important;
  }
  .ruta-card--comprar .ruta-card__imagen img,
  .ruta-card--vender .ruta-card__imagen img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: 58% center !important;
    transform: none !important;
    transform-origin: center center !important;
  }
}

/* FEDERAL 1B: recuperar la composición aprobada sin recortar el master visual. */
@media (min-width: 1200px) {
  .federal-1b__panel--preview {
    grid-template-columns: minmax(470px, .9fr) minmax(690px, 1.3fr) !important;
    grid-template-areas: "intro preview" "nota nota" !important;
    align-items: center !important;
    min-height: 0 !important;
    padding: 1.45rem 1.4rem .85rem !important;
    column-gap: 1.25rem !important;
    row-gap: .8rem !important;
  }
  .federal-1b__intro {
    max-width: none !important;
    width: 100% !important;
    align-self: center !important;
  }
  .federal-1b__preview {
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    align-self: center !important;
    justify-self: stretch !important;
    display: block !important;
    overflow: visible !important;
  }
  .federal-1b__preview img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center center !important;
    border-radius: 10px !important;
    box-shadow: 0 14px 32px rgba(0,0,0,.18) !important;
  }
  .federal-1b__beneficios {
    display: grid !important;
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
    gap: .8rem !important;
    margin-top: 1.25rem !important;
    align-items: stretch !important;
  }
  .federal-1b__beneficio {
    min-height: 126px !important;
    padding: .9rem .7rem !important;
    display: grid !important;
    grid-template-rows: 42px 2.45rem 1fr !important;
    align-items: center !important;
    justify-items: center !important;
    text-align: center !important;
    overflow: hidden !important;
  }
  .federal-1b__beneficio-icono {
    width: 42px !important;
    height: 42px !important;
    margin: 0 !important;
    align-self: center !important;
  }
  .federal-1b__beneficio-icono svg { width: 24px !important; height: 24px !important; }
  .federal-1b__beneficio > div {
    display: contents !important;
  }
  .federal-1b__beneficio strong {
    align-self: center !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 2.45rem !important;
    margin: 0 !important;
    font-size: .9rem !important;
    line-height: 1.18 !important;
    text-align: center !important;
  }
  .federal-1b__beneficio span:not(.federal-1b__beneficio-icono) {
    align-self: start !important;
    margin: .25rem 0 0 !important;
    max-width: 100% !important;
    font-size: .72rem !important;
    line-height: 1.3 !important;
    text-align: center !important;
    overflow-wrap: anywhere !important;
  }
}

/* Footer institucional compacto — Propuesta 1. */
.footer.footer--institucional {
  background: #020D1A;
  color: #FFFFFF;
  padding: 0;
  border-top: 1px solid rgba(31,178,255,.22);
}
.footer__principal {
  display: grid;
  grid-template-columns: minmax(260px,.85fr) minmax(0,1.4fr);
  gap: 3rem;
  align-items: start;
  padding-top: 2.6rem;
  padding-bottom: 2.25rem;
}
.footer__identidad-marca {
  display: flex;
  align-items: center;
  gap: .9rem;
}
.footer__identidad-marca img {
  display: block;
  width: 54px;
  height: auto;
}
.footer.footer--institucional .footer__marca {
  margin: 0;
  font-size: 1.55rem;
  line-height: 1.05;
  letter-spacing: -.02em;
  color: #FFFFFF;
}
.footer.footer--institucional .footer__marca span {
  display: block;
  margin-top: .12rem;
  font-size: .78rem;
  font-weight: 700;
  color: #D8E8F4;
  letter-spacing: .02em;
}
.footer.footer--institucional .footer__institucional {
  margin: .28rem 0 0;
  color: #9FB6C8;
  font-size: .78rem;
}
.footer__bajada {
  max-width: 340px;
  margin: 1rem 0 0;
  color: #9FB6C8;
  font-size: .82rem;
  line-height: 1.5;
}
.footer.footer--institucional .footer__columnas {
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 2rem;
  margin: 0;
}
.footer.footer--institucional .footer__columna h3 {
  margin: 0 0 .85rem;
  color: #FFFFFF;
  font-size: .76rem;
  letter-spacing: .08em;
}
.footer.footer--institucional .footer__columna ul { gap: .48rem; }
.footer.footer--institucional .footer__columna a {
  color: #AFC2D1;
  font-size: .78rem;
  line-height: 1.35;
}
.footer.footer--institucional .footer__columna a:hover { color: #FFFFFF; }
.footer__confianza {
  border-top: 1px solid rgba(255,255,255,.08);
  border-bottom: 1px solid rgba(255,255,255,.08);
  background: #031225;
}
.footer__confianza-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 0;
}
.footer__confianza-item {
  min-height: 74px;
  padding: 1rem 1.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .7rem;
  border-right: 1px solid rgba(255,255,255,.08);
}
.footer__confianza-item:last-child { border-right: 0; }
.footer__confianza-item svg {
  width: 27px;
  height: 27px;
  flex: 0 0 auto;
  color: #45BFFF;
}
.footer__confianza-item span { display: flex; flex-direction: column; gap: .12rem; }
.footer__confianza-item strong { color: #FFFFFF; font-size: .75rem; }
.footer__confianza-item small { color: #8FA8BB; font-size: .63rem; }
.footer.footer--institucional .footer__legal {
  margin: 0 auto;
  padding-top: 1rem;
  padding-bottom: 1.25rem;
  border-top: 0;
  text-align: center;
  color: #7890A3;
  font-size: .64rem;
  line-height: 1.45;
}

@media (max-width: 959px) {
  .footer__principal { grid-template-columns: 1fr; gap: 2rem; }
  .footer.footer--institucional .footer__columnas { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .footer__confianza-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .footer__confianza-item:nth-child(2) { border-right: 0; }
  .footer__confianza-item:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.08); }
}

@media (max-width: 640px) {
  .footer__principal { padding-top: 2rem; padding-bottom: 1.8rem; }
  .footer.footer--institucional .footer__columnas { grid-template-columns: 1fr; gap: 1.5rem; }
  .footer__confianza-grid { grid-template-columns: 1fr; }
  .footer__confianza-item,
  .footer__confianza-item:nth-child(2) {
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.08);
    justify-content: flex-start;
  }
  .footer__confianza-item:last-child { border-bottom: 0; }
}


/* AUTO-OK — REVISIÓN VISUAL HUMANA V2: VENTA / FEDERAL / CONFIANZA */

/* VENTA: asset precompuesto a la misma caja/perspectiva visual de COMPRA.
   No se modifica ningún elemento fuera del recuadro VENTA. */
.ruta-card--vender .ruta-card__imagen {
  left: 24% !important;
  right: auto !important;
  width: 76% !important;
  inset-block: 0 !important;
  overflow: hidden !important;
}
.ruta-card--vender .ruta-card__imagen img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: 58% center !important;
  transform: none !important;
  transform-origin: center center !important;
}

/* FEDERAL 1B: composición fluida, sin anchos mínimos que empujen el master fuera
   del contenedor. El arte siempre se muestra COMPLETO y sin estiramiento. */
.federal-1b__panel--preview {
  width: calc(100% - 2rem) !important;
  max-width: 1320px !important;
  margin-inline: auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 40%) minmax(0, 60%) !important;
  grid-template-areas: "intro preview" "nota nota" !important;
  column-gap: 1.35rem !important;
  row-gap: .8rem !important;
  align-items: center !important;
  padding: 1.5rem 1.4rem .9rem !important;
  overflow: hidden !important;
}
.federal-1b__intro {
  grid-area: intro !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  align-self: center !important;
}
.federal-1b__preview {
  grid-area: preview !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  align-self: center !important;
  justify-self: stretch !important;
  overflow: hidden !important;
  background: transparent !important;
}
.federal-1b__preview img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center center !important;
  transform: none !important;
  border-radius: 8px !important;
  box-shadow: none !important;
}
.federal-1b__beneficios {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  gap: .72rem !important;
  margin-top: 1.25rem !important;
  align-items: stretch !important;
}
.federal-1b__beneficio {
  min-width: 0 !important;
  min-height: 152px !important;
  padding: .85rem .58rem !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: .48rem !important;
  overflow: hidden !important;
  text-align: center !important;
}
.federal-1b__beneficio-icono {
  width: 44px !important;
  height: 44px !important;
  flex: 0 0 44px !important;
  margin: 0 auto !important;
  display: grid !important;
  place-items: center !important;
}
.federal-1b__beneficio > div {
  width: 100% !important;
  min-width: 0 !important;
  display: grid !important;
  grid-template-rows: 2.45rem minmax(3.15rem,auto) !important;
  align-items: start !important;
  justify-items: center !important;
}
.federal-1b__beneficio strong {
  width: 100% !important;
  min-height: 2.45rem !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fff !important;
  font-size: .84rem !important;
  line-height: 1.15 !important;
  text-align: center !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}
.federal-1b__beneficio span:not(.federal-1b__beneficio-icono) {
  width: 100% !important;
  margin: .12rem 0 0 !important;
  color: rgba(255,255,255,.78) !important;
  font-size: .68rem !important;
  line-height: 1.28 !important;
  text-align: center !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

/* CONFIANZA Y TRANSPARENCIA: una única barra, inmediatamente antes del footer. */
.confianza-barra-final {
  padding: 0 !important;
  background: #031225;
  border-top: 1px solid rgba(37,177,255,.18);
  border-bottom: 1px solid rgba(37,177,255,.22);
}
.confianza-barra-final__inner {
  min-height: 86px;
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  align-items: center;
  gap: 1.6rem;
}
.confianza-barra-final h2 {
  margin: 0;
  color: #FFFFFF;
  font-size: .86rem;
  font-weight: 850;
  letter-spacing: .055em;
  white-space: nowrap;
}
.confianza-barra-final h2::after {
  content: "";
  display: inline-block;
  width: 34px;
  height: 1px;
  margin-left: .8rem;
  vertical-align: middle;
  background: #45BFFF;
}
.confianza-barra-final__items {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
}
.confianza-barra-final__item {
  min-height: 52px;
  padding: .4rem .9rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  color: #DCEAF4;
  font-size: .76rem;
  font-weight: 650;
  text-align: left;
  border-left: 1px solid rgba(255,255,255,.08);
}
.confianza-barra-final__item svg {
  width: 25px;
  height: 25px;
  flex: 0 0 25px;
  color: #45BFFF;
}
.footer.footer--institucional { border-top: 0 !important; }

@media (max-width: 1199px) and (min-width: 1024px) {
  .federal-1b__panel--preview {
    grid-template-columns: minmax(0,42%) minmax(0,58%) !important;
    width: calc(100% - 1.2rem) !important;
    padding-inline: 1rem !important;
  }
  .federal-1b__beneficio { min-height: 160px !important; padding-inline: .45rem !important; }
  .federal-1b__beneficio strong { font-size: .78rem !important; }
  .federal-1b__beneficio span:not(.federal-1b__beneficio-icono) { font-size: .63rem !important; }
}

@media (max-width: 1023px) {
  .federal-1b__panel--preview {
    width: calc(100% - 1rem) !important;
    grid-template-columns: 1fr !important;
    grid-template-areas: "intro" "preview" "nota" !important;
  }
  .federal-1b__preview { max-width: 820px !important; margin-inline: auto !important; }
  .federal-1b__beneficios { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
  .confianza-barra-final__inner { grid-template-columns: 1fr; gap: .65rem; padding-top: 1rem; padding-bottom: 1rem; }
  .confianza-barra-final h2 { text-align: center; white-space: normal; }
  .confianza-barra-final h2::after { display: none; }
}

@media (max-width: 700px) {
  .federal-1b__beneficios { grid-template-columns: 1fr !important; }
  .federal-1b__beneficio { min-height: 118px !important; }
  .confianza-barra-final__items { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .confianza-barra-final__item { justify-content: flex-start; border-bottom: 1px solid rgba(255,255,255,.06); }
}

@media (max-width: 430px) {
  .confianza-barra-final__items { grid-template-columns: 1fr; }
  .confianza-barra-final__item { border-left: 0; }
}

/* ==========================================================================
   AUTO-OK — IDENTIDAD VISUAL SISTEMÁTICA PARA PÁGINAS INTERNAS
   08/09/2026 — aplica únicamente a body.pagina-interna.
   No altera el Home ni la lógica de formularios/JS.
   ========================================================================== */
.pagina-interna {
  --interno-bg: #031225;
  --interno-panel: #071B32;
  --interno-panel-2: #0A2440;
  --interno-linea: rgba(37,177,255,.34);
  --interno-cian: #34D8F5;
  --interno-azul: #0D6BE8;
  --interno-verde: #10C987;
  --interno-amarillo: #FFC93C;
  --interno-texto: #F6FAFD;
  --interno-suave: #B7C8D6;
  min-height: 100vh;
  background:
    radial-gradient(circle at 82% 6%, rgba(0,97,203,.13), transparent 28rem),
    linear-gradient(180deg, #031225 0%, #04182D 52%, #031225 100%) !important;
  color: var(--interno-texto);
}
.pagina-interna .pagina-interna__main { min-height: 54vh; background: transparent; }
.pagina-interna .seccion,
.pagina-interna .seccion--alt { background: transparent !important; border-color: rgba(255,255,255,.08) !important; }
.pagina-interna h1,
.pagina-interna h2,
.pagina-interna h3 { color: var(--interno-texto); }
.pagina-interna p,
.pagina-interna li { color: var(--interno-suave); }
.pagina-interna a { transition: color .18s ease, border-color .18s ease, background .18s ease, transform .18s ease; }

/* Header aprobado del Home, aplicado también en mobile/tablet dentro de internas. */
.pagina-interna .header {
  background: #031225 !important;
  color: #fff;
  border-bottom: 1px solid rgba(255,255,255,.10) !important;
}
.pagina-interna .header__marca-nombre,
.pagina-interna .header__marca-nombre small,
.pagina-interna .header__marca-sub,
.pagina-interna .header__nav a,
.pagina-interna .header__nav-disparador,
.pagina-interna .header__menu-boton { color:#fff !important; }
.pagina-interna .header__menu-boton { border-radius: 8px; background: rgba(255,255,255,.05); }
.pagina-interna .header__nav { background:#04182D; border-color:rgba(255,255,255,.10); }
.pagina-interna .header__nav a { border-color:rgba(255,255,255,.08); }
.pagina-interna .header__submenu { background:#071B32; border-color:rgba(37,177,255,.22); box-shadow:0 18px 45px rgba(0,0,0,.35); }
.pagina-interna .header__submenu a { color:#D9E7F2 !important; }
.pagina-interna .header__submenu a:hover { color:#fff !important; background:rgba(37,177,255,.08); }

/* Hero interno: misma paleta y jerarquía, sin copiar el Hero fotográfico del Home. */
.pagina-interna__hero {
  position: relative;
  padding: 4.5rem 0 3.7rem !important;
  overflow: hidden;
  border-bottom: 1px solid rgba(37,177,255,.17) !important;
}
.pagina-interna__hero::before {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg, rgba(3,18,37,.98) 0%, rgba(3,18,37,.78) 55%, rgba(3,18,37,.48) 100%),
    radial-gradient(circle at 82% 50%, rgba(13,107,232,.18), transparent 22rem);
}
.pagina-interna__hero::after {
  content:"";
  position:absolute;
  right:-80px;
  top:28px;
  width:390px;
  height:390px;
  border:1px solid rgba(52,216,245,.12);
  border-radius:50%;
  box-shadow:0 0 90px rgba(13,107,232,.10) inset;
  pointer-events:none;
}
.pagina-interna__hero > .contenedor { position:relative; z-index:1; }
.pagina-interna__eyebrow {
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  margin-bottom:.85rem;
  color:var(--interno-cian);
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.095em;
  text-transform:uppercase;
}
.pagina-interna__eyebrow::before { content:""; width:34px; height:2px; background:var(--interno-verde); border-radius:999px; }
.pagina-interna__hero h1 {
  max-width:850px;
  margin-bottom:1rem;
  font-size:clamp(2.2rem, 5vw, 4.4rem);
  line-height:.98;
  font-weight:800;
  letter-spacing:-.035em;
  color:#fff !important;
}
.pagina-interna__hero p:not(.tarjeta__precio):not(.plazo-entrega) {
  max-width:760px;
  color:#C5D4E0 !important;
  font-size:1.08rem;
  line-height:1.65;
}
.pagina-interna__hero .plazo-entrega {
  display:inline-flex;
  align-items:center;
  min-height:34px;
  margin:.3rem .55rem 1rem 0;
  padding:.35rem .75rem;
  border:1px solid rgba(52,216,245,.28);
  border-radius:999px;
  background:rgba(10,36,64,.72);
  color:#D7E7F3 !important;
  font-size:.78rem;
  font-weight:700;
}
.pagina-interna__hero .tarjeta__precio {
  display:inline-flex;
  align-items:center;
  min-height:42px;
  margin:.25rem .75rem 1rem 0;
  padding:.35rem .9rem;
  border:2px solid rgba(255,201,60,.82);
  border-radius:8px;
  background:rgba(255,201,60,.06);
  color:#fff !important;
  font-size:1.3rem;
  box-shadow:0 0 16px rgba(255,201,60,.08);
}

/* Botones internos, visualmente compatibles con el Home. */
.pagina-interna .boton { width:auto; min-width:160px; border-radius:7px; font-weight:800; letter-spacing:.01em; }
.pagina-interna .boton--primario,
.pagina-interna .boton--acento {
  background:var(--interno-amarillo) !important;
  border:2px solid var(--interno-amarillo) !important;
  color:#071B32 !important;
  box-shadow:0 7px 22px rgba(255,201,60,.12);
}
.pagina-interna .boton--primario:hover,
.pagina-interna .boton--acento:hover { transform:translateY(-1px); background:#FFD45D !important; }
.pagina-interna .boton--secundario {
  background:rgba(7,27,50,.82) !important;
  color:#EAF5FC !important;
  border:1.5px solid rgba(37,177,255,.55) !important;
}
.pagina-interna .boton--secundario:hover { background:rgba(13,107,232,.16) !important; border-color:#34D8F5 !important; }

/* Bloques de contenido internos: misma familia de paneles del Home. */
.pagina-interna__seccion { padding:1.15rem 0 !important; border:0 !important; }
.pagina-interna__seccion > .contenedor,
.pagina-interna__pedido > .contenedor {
  padding:2rem 2.1rem;
  border:1px solid rgba(37,177,255,.22);
  border-radius:14px;
  background:linear-gradient(145deg, rgba(7,27,50,.92), rgba(5,22,42,.90));
  box-shadow:0 16px 40px rgba(0,0,0,.12);
}
.pagina-interna__seccion h2,
.pagina-interna__pedido h2 { margin-bottom:1rem; font-size:clamp(1.45rem, 3vw, 2rem); }
.pagina-interna__seccion h2 + .lista-check,
.pagina-interna__seccion h2 + p { margin-top:.2rem; }
.pagina-interna .lista-check { display:grid; gap:.65rem; padding-left:0; list-style:none; }
.pagina-interna .lista-check li { position:relative; padding-left:1.65rem; }
.pagina-interna .lista-check li::before { content:"✓"; position:absolute; left:0; top:.02rem; color:var(--interno-verde); font-weight:900; }

/* Catálogo general de servicios. */
.pagina-interna--servicios .pagina-interna__hero { padding-bottom:4.4rem !important; }
.pagina-interna--servicios .catalogo-servicios {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
  margin-top:1.4rem;
}
.pagina-interna--servicios .catalogo-servicios__card {
  min-height:200px;
  display:grid;
  grid-template-rows:auto 1fr auto;
  align-content:start;
  gap:.8rem;
  padding:1.25rem;
  background:linear-gradient(145deg,#08223E,#061A31) !important;
  border:1.5px solid rgba(37,177,255,.46) !important;
  box-shadow:0 8px 26px rgba(0,0,0,.16), inset 0 0 24px rgba(13,107,232,.05);
}
.pagina-interna--servicios .catalogo-servicios__card h3 { margin:0; font-size:1.08rem; text-transform:uppercase; letter-spacing:.015em; }
.pagina-interna--servicios .catalogo-servicios__card .tarjeta__precio { align-self:end; color:#fff !important; font-size:1.22rem; }
.pagina-interna--servicios .catalogo-servicios__card .boton { justify-self:end; min-width:145px; font-size:.72rem; }
.pagina-interna--servicios .catalogo-servicios__card.tarjeta--destacada {
  border:2px solid #FFC93C !important;
  box-shadow:0 0 22px rgba(255,201,60,.24), inset 0 0 26px rgba(255,201,60,.06) !important;
}

/* Cómo funciona: cinco etapas en una misma línea visual. */
.pagina-interna--como-funciona .pasos--internos {
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:.85rem !important;
  margin-top:1.5rem;
}
.pagina-interna--como-funciona .pasos--internos .pasos__item {
  min-height:145px;
  flex-direction:column;
  gap:.8rem;
  padding:1.1rem;
  border:1px solid rgba(37,177,255,.28);
  border-radius:12px;
  background:rgba(7,27,50,.78);
}
.pagina-interna--como-funciona .pasos__numero {
  width:42px; height:42px;
  background:linear-gradient(135deg,#0D6BE8,#10C987);
  box-shadow:0 0 18px rgba(13,107,232,.22);
}
.pagina-interna--como-funciona .pasos__item p { margin:0; color:#fff; font-weight:700; }

/* Ayuda: opciones tratadas como decisiones, no como botones sueltos. */
.pagina-interna--ayuda .ayuda-opciones {
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.85rem !important;
  margin-top:1.35rem;
}
.pagina-interna--ayuda .ayuda-opciones .boton {
  min-height:70px;
  width:100%;
  justify-content:flex-start;
  text-align:left;
  padding:1rem 1.1rem;
}
.pagina-interna--ayuda .ayuda-opciones .boton--primario { grid-column:1/-1; justify-content:center; }

/* Compra / Venta simples: foco en CTA y lenguaje aprobado. */
.pagina-interna--comprar .pagina-interna__hero,
.pagina-interna--vender .pagina-interna__hero { min-height:420px; display:flex; align-items:center; }
.pagina-interna--comprar .pagina-interna__hero h1,
.pagina-interna--vender .pagina-interna__hero h1 { text-transform:uppercase; }
.pagina-interna--comprar .pagina-interna__hero::after { border-color:rgba(13,107,232,.22); }
.pagina-interna--vender .pagina-interna__hero::after { border-color:rgba(16,201,135,.22); }

/* Servicio individual: lectura clara + flujo de pedido visualmente contenido. */
.pagina-servicio .pagina-interna__hero .boton { vertical-align:middle; }
.pagina-servicio .pagina-interna__seccion > .contenedor { max-width:960px; }
.pagina-servicio .pagina-interna__pedido > .contenedor {
  max-width:920px;
  border-color:rgba(52,216,245,.42);
  box-shadow:0 0 0 1px rgba(13,107,232,.08), 0 22px 55px rgba(0,0,0,.19);
}
.pagina-servicio .pagina-interna__pedido { padding-top:2rem !important; padding-bottom:2.5rem !important; }
.pagina-interna .campo__label { color:#E7F1F8; }
.pagina-interna .campo__input {
  background:#F9FCFE;
  border-color:rgba(37,177,255,.38);
  color:#102236;
}
.pagina-interna .campo__ayuda { color:#93AABC; }
.pagina-interna .patente { border-color:#0D6BE8; box-shadow:0 0 0 1px rgba(52,216,245,.08), 0 7px 20px rgba(0,0,0,.15); }
.pagina-interna .patente__franja { background:#0757C8; }
.pagina-interna .resumen {
  background:#061A31;
  border-color:rgba(37,177,255,.22);
  color:#F2F8FC;
}
.pagina-interna .resumen__linea { border-color:rgba(255,255,255,.08); }
.pagina-interna .resumen__linea-label { color:#94AABC; }
.pagina-interna .resumen__linea--total { color:#fff; border-color:rgba(255,201,60,.38); }
.pagina-interna .selector-situacion__opcion {
  background:#061A31;
  color:#fff;
  border-color:rgba(37,177,255,.26);
}
.pagina-interna .selector-situacion__opcion:hover,
.pagina-interna .selector-situacion__opcion.esta-seleccionada { border-color:#34D8F5; background:rgba(13,107,232,.13); }
.pagina-interna .selector-situacion__opcion span span { color:#9FB6C8; }
.pagina-interna .pedido-generado { background:#061A31; border-color:rgba(16,201,135,.42); }
.pagina-interna .pedido-generado h3 { color:#fff; }

/* FAQ con separación y contraste suficientes. */
.pagina-interna .faq { display:grid; gap:.6rem; }
.pagina-interna .faq__item {
  border:1px solid rgba(37,177,255,.18);
  border-radius:9px;
  background:#061A31;
  overflow:hidden;
}
.pagina-interna .faq__pregunta { padding:1rem 1.1rem; color:#F3F8FC; }
.pagina-interna .faq__pregunta:hover { background:rgba(13,107,232,.08); }
.pagina-interna .faq__respuesta { padding:0 1.1rem 1rem; color:#AFC2D1; }

/* Alerts conservan semántica y se adaptan a fondo oscuro. */
.pagina-interna .alert { color:#E9F3FA; background:rgba(10,36,64,.82); border:1px solid rgba(37,177,255,.18); border-left-width:4px; }
.pagina-interna .alert p { color:inherit !important; }
.pagina-interna .alert--info { border-left-color:#34D8F5; }
.pagina-interna .alert--exito { border-left-color:#10C987; background:rgba(16,201,135,.08); }
.pagina-interna .alert--atencion { border-left-color:#FFC93C; background:rgba(255,201,60,.08); }
.pagina-interna .alert--error { border-left-color:#FF5B62; background:rgba(255,91,98,.08); }

/* Legal y retornos de pago: sobrios, legibles y coherentes. */
.pagina-legal .pagina-interna__hero > .contenedor,
.pagina-pago .pagina-interna__hero > .contenedor { max-width:920px; }
.pagina-legal .pagina-interna__hero h1,
.pagina-pago .pagina-interna__hero h1 { font-size:clamp(2rem,4vw,3.35rem); }
.pagina-pago .pagina-interna__hero { min-height:400px; display:flex; align-items:center; }

/* Barra de confianza + Footer del Home, reaplicados sin duplicación. */
.pagina-interna .confianza-barra-final { margin-top:2.6rem; }
.pagina-interna .footer.footer--institucional { margin-top:0; }

/* ================================================================
   DEPURACIÓN DE FLUJO / PÁGINAS INTERNAS — 2026-09
   ================================================================ */

/* Dropdown del Header: contraste idéntico en Home e internas. */
.header { position: relative; z-index: 100; }
.header__nav-item { z-index: 110; }
.header__submenu {
  z-index: 1200;
  background: #071B32 !important;
  border: 1px solid rgba(37,177,255,.32) !important;
  box-shadow: 0 18px 45px rgba(0,0,0,.46), 0 0 0 1px rgba(52,216,245,.05) !important;
}
.header__submenu a {
  color: #EAF5FC !important;
  border-radius: 7px;
}
.header__submenu a:hover,
.header__submenu a:focus-visible {
  color: #fff !important;
  background: rgba(13,107,232,.18) !important;
}

/* El slot inicial de patente queda centrado dentro de Iniciar pedido. */
.pagina-servicio [data-paso="patente"] {
  width: min(100%, 600px);
  margin-inline: auto;
}
.pagina-servicio [data-paso="patente"] .flujo-paso__titulo,
.pagina-servicio [data-paso="patente"] .campo__label,
.pagina-servicio [data-paso="patente"] .campo__ayuda { text-align: center; justify-content: center; }
.pagina-servicio [data-paso="patente"] .patente { width: 100%; }
.pagina-servicio [data-paso="patente"] .flujo-acciones { align-items: center; }
.pagina-servicio [data-paso="patente"] .flujo-acciones .boton { min-width: 220px; }
.pagina-servicio .pagina-interna__pedido { scroll-margin-top: 118px; }

/* Paso situación: tres decisiones, misma disciplina de grilla que Servicios. */
.pagina-interna .selector-situacion--tres {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  align-items: stretch;
}
.pagina-interna .selector-situacion--tres .selector-situacion__opcion {
  min-height: 205px;
  display: grid;
  grid-template-rows: 58px auto 1fr;
  justify-items: center;
  align-items: start;
  gap: .8rem;
  padding: 1.25rem 1rem;
  border: 1.5px solid rgba(37,177,255,.46);
  border-radius: 12px;
  background: linear-gradient(145deg,#08223E,#061A31);
  box-shadow: 0 8px 26px rgba(0,0,0,.16), inset 0 0 24px rgba(13,107,232,.05);
  text-align: center;
}
.pagina-interna .selector-situacion__icono {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: linear-gradient(145deg,#0D6BE8,#0757C8);
  box-shadow: 0 0 18px rgba(13,107,232,.22);
}
.pagina-interna .selector-situacion__icono svg { width: 31px; height: 31px; }
.pagina-interna .selector-situacion__texto {
  display: contents;
}
.pagina-interna .selector-situacion__texto strong {
  align-self: start;
  display: block;
  min-height: 2.7em;
  color: #fff;
  font-size: .93rem;
  line-height: 1.32;
  letter-spacing: .015em;
}
.pagina-interna .selector-situacion__texto small {
  align-self: start;
  display: block;
  color: #9FB6C8;
  font-size: .84rem;
  line-height: 1.45;
}
.pagina-interna .selector-situacion__opcion--venta .selector-situacion__icono {
  background: linear-gradient(145deg,#10C987,#07965F);
  box-shadow: 0 0 18px rgba(16,201,135,.18);
}
.pagina-interna .selector-situacion__opcion--general .selector-situacion__icono {
  background: linear-gradient(145deg,#25B1FF,#0D6BE8);
}
.pagina-interna .selector-situacion--tres .selector-situacion__opcion:hover,
.pagina-interna .selector-situacion--tres .selector-situacion__opcion:focus-visible {
  transform: translateY(-2px);
  border-color: #34D8F5;
  background: linear-gradient(145deg,#0A294A,#071F39);
  box-shadow: 0 12px 30px rgba(0,0,0,.22), 0 0 18px rgba(52,216,245,.08);
}

/* Asesoramiento directo: solo contacto, sin dejar huecos de los pasos omitidos. */
.pagina-servicio [data-flujo-sin-patente] [data-paso="datos"],
.pagina-servicio [data-flujo-sin-patente] [data-paso="resumen"] {
  width: min(100%, 620px);
  margin-inline: auto;
}

/* Alcance y aclaraciones: nota compacta al final del contenido principal. */
.pagina-interna .alcance-aclaraciones {
  padding: .55rem 0 1rem !important;
  margin-top: .35rem;
}
.pagina-interna .alcance-aclaraciones > .contenedor {
  max-width: 920px;
  padding: 1rem 1.2rem !important;
  border-color: rgba(37,177,255,.14) !important;
  border-radius: 9px !important;
  background: rgba(5,22,42,.64) !important;
  box-shadow: none !important;
}
.pagina-interna .alcance-aclaraciones h2 {
  margin: 0 0 .45rem;
  font-size: 1rem !important;
  color: #BFD2E0 !important;
  letter-spacing: .02em;
}
.pagina-interna .alcance-aclaraciones p {
  margin: .25rem 0 !important;
  color: #8299AA !important;
  font-size: .78rem !important;
  line-height: 1.5 !important;
}

#catalogo-servicios { scroll-margin-top: 110px; }


/* PRE-UAT 1.1 — canales oficiales de devolución */
.canales-entrega {
  display:inline-flex; align-items:center; flex-wrap:wrap; gap:.45rem; vertical-align:middle;
}
.canal-entrega {
  display:inline-flex; align-items:center; gap:.32rem; color:#EAF7FF; font-size:.88em; letter-spacing:.025em;
}
.canal-entrega svg { width:1.15em; height:1.15em; flex:0 0 auto; color:#54C8FF; }
.canal-entrega--whatsapp svg { color:#32D583; }
.canal-entrega strong { color:inherit; font:inherit; font-weight:800; }
.hero__legend .canales-entrega { gap:.65rem; }
.hero__legend .canal-entrega { font-size:.92rem; }

/* PRE-UAT 1.1.1 — canales de entrega: composición compacta y consistente */
.canales-entrega {
  display:inline-flex;
  align-items:center;
  flex-wrap:nowrap;
  gap:.7rem;
  vertical-align:middle;
  white-space:nowrap;
}
.canal-entrega {
  display:inline-flex;
  align-items:center;
  gap:.32rem;
  color:#EAF7FF;
  font-size:.88em;
  line-height:1;
  letter-spacing:.025em;
  white-space:nowrap;
}
.canal-entrega svg,
.hero__legend .canal-entrega svg,
.pedido-generado .canal-entrega svg,
.campo__ayuda .canal-entrega svg,
.faq__respuesta .canal-entrega svg {
  display:inline-block !important;
  width:1.15em !important;
  height:1.15em !important;
  min-width:1.15em !important;
  max-width:1.15em !important;
  flex:0 0 1.15em !important;
  color:#54C8FF;
}
.canal-entrega--whatsapp svg,
.hero__legend .canal-entrega--whatsapp svg,
.pedido-generado .canal-entrega--whatsapp svg { color:#32D583; }
.canal-entrega strong { color:inherit; font:inherit; font-weight:800; }
.hero__legend {
  display:flex;
  align-items:center;
  gap:.75rem;
}
.hero__legend .hero__entrega-texto { white-space:nowrap; }
.hero__legend .canales-entrega { gap:.65rem; }
.hero__legend .canal-entrega { font-size:.92rem; }


/* ========================================================================== */
/* PRE-UAT 1.1.2 — COMPRA / VENTA LIMPIOS, SIN MOCKUPS                      */
/* Decisión visual aprobada: reduce carga del Home en desktop y mobile.       */
/* ========================================================================== */
.ruta-card--sin-imagen {
  position: relative !important;
  min-height: 280px !important;
  height: auto !important;
  overflow: hidden !important;
  border-radius: 14px !important;
  isolation: isolate;
}
.ruta-card--sin-imagen::before,
.ruta-card--sin-imagen::after {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: 0;
}
.ruta-card--sin-imagen::before {
  inset: 0;
  opacity: .96;
}
.ruta-card--comprar.ruta-card--sin-imagen::before {
  background:
    radial-gradient(circle at 82% 26%, rgba(41,145,255,.28), transparent 34%),
    linear-gradient(130deg,#073a91 0%,#08294f 54%,#061a32 100%);
}
.ruta-card--vender.ruta-card--sin-imagen::before {
  background:
    radial-gradient(circle at 82% 26%, rgba(42,221,145,.24), transparent 34%),
    linear-gradient(130deg,#07813a 0%,#07572f 54%,#053025 100%);
}
.ruta-card--sin-imagen::after {
  width: 210px;
  height: 210px;
  right: -58px;
  bottom: -85px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 50%;
  box-shadow: 0 0 0 28px rgba(255,255,255,.025), 0 0 0 56px rgba(255,255,255,.018);
}
.ruta-card--sin-imagen .ruta-card__contenido {
  position: relative !important;
  z-index: 2 !important;
  width: min(650px, 76%) !important;
  min-width: 0 !important;
  min-height: 280px !important;
  padding: 28px 38px 30px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  background: transparent !important;
}
.ruta-card--sin-imagen .ruta-card__contenido p {
  max-width: 590px;
}
.ruta-card--sin-imagen .ruta-card__boton {
  width: fit-content !important;
  min-width: 300px !important;
  margin-top: .45rem !important;
}


/* PRE-UAT V1.1.3 — Catálogo interno igualado a Servicios Rápidos del Home. */
.pagina-interna--servicios #catalogo-servicios {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
  align-items:stretch;
  margin-top:1.4rem;
}
.pagina-interna--servicios #catalogo-servicios .servicio-card {
  position:relative;
  min-height:192px;
  padding:1.15rem 1.15rem 4.25rem;
  display:grid;
  grid-template-columns:64px minmax(0,1fr);
  grid-template-rows:1fr;
  align-items:center;
  column-gap:1rem;
  border:1.5px solid rgba(0,152,255,.88) !important;
  border-radius:12px;
  background:linear-gradient(145deg,rgba(8,56,96,.98),rgba(3,31,59,.98)) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.025),0 8px 24px rgba(0,0,0,.22),0 0 18px rgba(0,119,214,.08);
  overflow:visible;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.pagina-interna--servicios #catalogo-servicios .servicio-card:hover {
  transform:translateY(-2px);
  border-color:#18A7FF !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.035),0 12px 28px rgba(0,0,0,.26),0 0 24px rgba(0,139,255,.18);
}
.pagina-interna--servicios #catalogo-servicios .servicio-card__icono {
  width:56px;height:56px;margin:0;align-self:start;margin-top:.15rem;background:#075B99;color:#fff;
}
.pagina-interna--servicios #catalogo-servicios .servicio-card__icono svg { width:30px;height:30px; }
.pagina-interna--servicios #catalogo-servicios .servicio-card__texto {
  min-width:0;height:116px;display:grid;grid-template-rows:2.9rem 3.45rem 1.55rem;align-content:start;text-align:center;
}
.pagina-interna--servicios #catalogo-servicios .servicio-card h3 {
  margin:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.16rem;font-weight:850;line-height:1.08;text-transform:uppercase;letter-spacing:.01em;
}
.pagina-interna--servicios #catalogo-servicios .servicio-card__texto > p:not(.tarjeta__precio) {
  margin:0;display:flex;align-items:flex-start;justify-content:center;color:rgba(255,255,255,.88);font-size:.83rem;line-height:1.35;
}
.pagina-interna--servicios #catalogo-servicios .tarjeta__precio {
  position:absolute !important;left:1rem;bottom:1rem;margin:0 !important;min-width:96px;padding:.42rem .72rem;border:2px solid #25B1FF;border-radius:8px;display:flex !important;align-items:center;justify-content:center;color:#fff !important;font-size:1.16rem !important;font-weight:850 !important;line-height:1 !important;background:rgba(2,23,44,.48);
}
.pagina-interna--servicios #catalogo-servicios .servicio-card__boton {
  position:absolute;right:1rem;bottom:1rem;min-width:116px;min-height:34px;z-index:3;border:1px solid #25B1FF;color:#fff;background:rgba(2,23,44,.35);
}
.pagina-interna--servicios #catalogo-servicios .servicio-card--completo {
  border:2px solid #F2C84B !important;
  background:radial-gradient(circle at 88% 10%,rgba(255,205,69,.10),transparent 34%),linear-gradient(145deg,rgba(8,56,96,.99),rgba(3,31,59,.99)) !important;
  box-shadow:inset 0 0 0 1px rgba(255,232,151,.16),0 0 0 1px rgba(242,200,75,.18),0 0 18px rgba(255,195,30,.42),0 0 38px rgba(255,195,30,.14),0 12px 30px rgba(0,0,0,.28) !important;
}
.pagina-interna--servicios #catalogo-servicios .servicio-card--completo::after {
  content:"";position:absolute;inset:-2px;border-radius:inherit;pointer-events:none;background:linear-gradient(115deg,transparent 0 68%,rgba(255,255,255,.42) 74%,transparent 80%);opacity:.28;mix-blend-mode:screen;
}
.pagina-interna--servicios #catalogo-servicios .servicio-card__distintivo {
  position:absolute;top:-13px;right:14px;z-index:4;padding:.34rem .8rem;border:1px solid #FFD456;border-radius:999px;background:#07192D;color:#FFD75B;box-shadow:0 0 14px rgba(255,195,30,.25);font-size:.64rem;font-weight:850;letter-spacing:.025em;white-space:nowrap;
}
.pagina-interna--servicios #catalogo-servicios .servicio-card--completo .tarjeta__precio { border-color:#F2C84B;box-shadow:0 0 12px rgba(255,195,30,.20); }
.pagina-interna--servicios #catalogo-servicios .servicio-card--completo .servicio-card__boton { border-color:#F2C84B;color:#FFE17A; }

/* Footer: mismo emblema corregido del Header, con mayor presencia. */
.footer__identidad-marca img {
  width:78px !important;
  max-width:78px;
  height:auto !important;
  flex:0 0 auto;
}

/* Navegación secundaria clara en todas las subpáginas. */
.pagina-volver-wrap { padding-top:.85rem; }
.pagina-volver {
  display:inline-flex;align-items:center;gap:.48rem;min-height:34px;padding:.42rem .72rem;border:1px solid rgba(37,177,255,.55);border-radius:999px;background:rgba(5,30,54,.72);color:#DCEFFF;font-size:.78rem;font-weight:750;line-height:1;text-decoration:none;transition:border-color .2s ease,background .2s ease,transform .2s ease;
}
.pagina-volver > span:first-child { font-size:1.05rem;line-height:1; }
.pagina-volver:hover { border-color:#25B1FF;background:rgba(11,74,122,.55);transform:translateX(-1px); }


/* AUTO-OK V1.1.5 CONTENT */
.contenido-editorial{max-width:920px;}
.contenido-editorial p{max-width:78ch;line-height:1.72;}
.contenido-editorial a{font-weight:700;}
.pagina-interna__hero--legal .contenedor{max-width:980px;}
.uat-aviso{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap;margin-top:1.4rem;padding:.9rem 1rem;border:1px solid rgba(34,211,238,.28);border-radius:12px;background:rgba(34,211,238,.08);}
.uat-aviso strong{font-family:var(--font-heading,inherit);letter-spacing:.08em;}
.legal-fecha{font-size:.85rem;opacity:.72;margin-top:1rem!important;}
.aceptacion-legal-pedido{font-size:.82rem;line-height:1.5;max-width:650px;margin:1rem 0 .75rem;color:var(--color-texto-suave,#596476);}
.aceptacion-legal-pedido a{text-decoration:underline;text-underline-offset:2px;font-weight:700;}
.form-arrepentimiento{max-width:720px;display:grid;gap:1rem;}
.form-arrepentimiento .campo{display:grid;gap:.45rem;}
.form-arrepentimiento .campo__input{width:100%;}
.campo__textarea{resize:vertical;min-height:120px;}
.form-arrepentimiento__resultado{margin-top:.5rem;}
.footer__uat{opacity:.72;}
@media (max-width: 640px){.uat-aviso{align-items:flex-start;flex-direction:column;}.aceptacion-legal-pedido{font-size:.78rem;}.contenido-editorial p{line-height:1.62;}}


/* V1.1.6 — acceso legal discreto desde Centro de ayuda */
.ayuda-legal-discreto{max-width:920px;margin:1.25rem auto 0;padding:0 1rem;font-size:.82rem;line-height:1.5;opacity:.72;text-align:left;}
.ayuda-legal-discreto a{font-weight:600;text-decoration:underline;text-underline-offset:2px;}

/* V1.1.7 — las tarjetas Compra/Venta completas son accesos navegables. */
.ruta-card[data-ruta-url] { cursor: pointer; }
.ruta-card[data-ruta-url]:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
