/* ================================================================
   Cotizador SOAT El Jardin — Theme System v8.7.2 Premium Redesign
   Light/dark theme via [data-theme] on <html>.
   Loaded after styles.css and responsive-route-fix.css.
   ================================================================ */

/* ================================================================
   THEME TOKENS — DARK
   ================================================================ */
[data-theme="dark"] {
  --theme-bg-root: #040806;
  --theme-bg-page: #06110b;
  --theme-bg-elevated: rgba(10, 24, 17, 0.94);
  --theme-bg-card: rgba(12, 28, 20, 0.85);
  --theme-bg-glass: rgba(8, 22, 15, 0.72);
  --theme-bg-glass-strong: rgba(10, 25, 18, 0.92);
  --theme-bg-route: rgba(4, 12, 8, 0.94);
  --theme-bg-route-mobile: rgba(4, 12, 8, 0.96);
  --theme-bg-navbar: rgba(4, 11, 8, 0.88);
  --theme-bg-control: rgba(173, 217, 99, 0.06);
  --theme-bg-control-hover: rgba(173, 217, 99, 0.12);
  --theme-bg-road-surface: #1a2720;
  --theme-bg-road-glow: rgba(173, 217, 99, 0.14);

  --theme-text-main: #f3fcf0;
  --theme-text-muted: #9bb0a2;
  --theme-text-secondary: #cfe0d3;
  --theme-text-strong: #ffffff;
  --theme-text-on-brand: #050f08;

  --theme-border: rgba(173, 217, 99, 0.15);
  --theme-border-strong: rgba(254, 255, 118, 0.28);
  --theme-border-control: rgba(173, 217, 99, 0.22);

  --theme-shadow-card: 0 4px 16px rgba(0,0,0,0.40), 0 24px 60px rgba(0,0,0,0.55), inset 0 1px 0 rgba(255,255,255,0.06);
  --theme-shadow-raised: 0 16px 40px rgba(0,0,0,0.45), 0 1px 0 rgba(255,255,255,0.04) inset;
  --theme-shadow-inset: inset 0 2px 4px rgba(0,0,0,0.50), 0 1px 0 rgba(255,255,255,0.03);
  --theme-shadow-glow-green: 0 0 28px rgba(173,217,99,0.45), 0 0 60px rgba(29,116,52,0.18);
  --theme-shadow-glow-yellow: 0 0 28px rgba(254,255,118,0.40), 0 0 60px rgba(254,255,118,0.10);

  --theme-gradient-page:
    radial-gradient(circle at 15% 0%, rgba(173,217,99,0.22) 0%, rgba(173,217,99,0.05) 28%, transparent 48%),
    radial-gradient(circle at 85% 15%, rgba(254,255,118,0.10) 0%, transparent 26%),
    linear-gradient(135deg, #13241a 0%, #06140d 42%, #020604 100%);
  --theme-gradient-wizard: linear-gradient(150deg, rgba(14,35,24,0.92) 0%, rgba(8,20,14,0.85) 45%, rgba(4,12,9,0.95) 100%);
  --theme-gradient-card: linear-gradient(155deg, rgba(255,255,255,0.08) 0%, rgba(173,217,99,0.04) 45%, rgba(0,0,0,0.04) 100%);
  --theme-gradient-glass-edge: linear-gradient(180deg, rgba(255,255,255,0.16) 0%, rgba(255,255,255,0.03) 44%, transparent 100%);
  --theme-gradient-road-bg:
    radial-gradient(circle at 20% 15%, rgba(46, 125, 50, 0.25), transparent 45%),
    radial-gradient(circle at 80% 75%, rgba(27, 94, 32, 0.20), transparent 50%),
    linear-gradient(180deg, #091c11 0%, #05120a 50%, #020804 100%);

  --theme-road-line: rgba(255,255,255,0.18);
  --theme-road-dash: #f3d644;
  --theme-road-dash-opacity: 0.85;
  --theme-rotonda-bg: #141e18;
  --theme-rotonda-border: rgba(200,255,160,0.35);
  --theme-rotonda-text: #d6e8da;

  --theme-footer-bg: #050b07;
  --theme-footer-text: #cfe0d3;
  --theme-toggle-icon: "\1F313";

  /* Progreso stepper */
  --theme-progreso-punto-bg: rgba(14, 30, 22, 0.90);
  --theme-progreso-punto-border: rgba(173, 217, 99, 0.30);
  --theme-progreso-punto-text: #9bb0a2;
  --theme-progreso-linea: rgba(173, 217, 99, 0.18);
  --theme-progreso-etiqueta: #9bb0a2;

  /* Quiénes somos placeholders */
  --theme-local-photo-bg: linear-gradient(145deg, rgba(173,217,99,0.12) 0%, rgba(29,116,52,0.08) 50%, rgba(4,14,9,0.20) 100%);
  --theme-local-photo-border: rgba(173,217,99,0.20);
  --theme-map-bg: linear-gradient(135deg, rgba(173,217,99,0.08) 0%, rgba(8,22,15,0.30) 100%);
  --theme-map-border: rgba(173,217,99,0.18);

  /* Button Overrides */
  --theme-btn-primario-bg: linear-gradient(135deg, rgba(173, 217, 99, 0.95) 0%, rgba(103, 154, 35, 0.90) 100%);
  --theme-btn-primario-border: rgba(173, 217, 99, 0.50);
  --theme-btn-primario-text: #050f08;
  --theme-btn-primario-shadow: 0 4px 16px rgba(173, 217, 99, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.40), inset 0 -6px 12px rgba(0, 0, 0, 0.15);
  --theme-btn-primario-shadow-hover: 0 8px 24px rgba(173, 217, 99, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.50), inset 0 -6px 12px rgba(0, 0, 0, 0.15);

  --theme-btn-ghost-bg: linear-gradient(135deg, rgba(254, 255, 118, 0.08) 0%, rgba(254, 255, 118, 0.02) 100%);
  --theme-btn-ghost-bg-hover: linear-gradient(135deg, rgba(254, 255, 118, 0.18) 0%, rgba(254, 255, 118, 0.06) 100%);
  --theme-btn-ghost-border: rgba(254, 255, 118, 0.35);
  --theme-btn-ghost-text: #feff76;
  --theme-btn-ghost-text-hover: #ffffff;
  --theme-btn-ghost-shadow: 0 4px 12px rgba(0, 0, 0, 0.20), inset 0 1px 0 rgba(255, 255, 255, 0.08);
  --theme-btn-ghost-shadow-hover: 0 6px 18px rgba(254, 255, 118, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.15);
}

[data-theme="light"] {
  --theme-bg-root: #f5cf21;
  --theme-bg-page: #fff8d6;
  --theme-bg-elevated: rgba(255, 255, 255, 0.94);
  --theme-bg-card: rgba(255, 254, 240, 0.92);
  --theme-bg-glass: rgba(255, 255, 255, 0.70);
  --theme-bg-glass-strong: rgba(255, 254, 242, 0.88);
  --theme-bg-route: rgba(24, 28, 22, 0.94); /* Road environment stays dark asphalt */
  --theme-bg-route-mobile: rgba(24, 28, 22, 0.96);
  --theme-bg-navbar: rgba(255, 254, 230, 0.82); /* Clear translucent navbar */
  --theme-bg-control: rgba(255, 255, 255, 0.85); /* Crisp white/yellowish glass for form controls */
  --theme-bg-control-hover: rgba(194, 164, 20, 0.08);
  --theme-bg-road-surface: #2b302c;
  --theme-bg-road-glow: rgba(103, 154, 35, 0.25);

  --theme-text-main: #1a201c;
  --theme-text-muted: #4a574f;
  --theme-text-secondary: #242f28;
  --theme-text-strong: #0c120e;
  --theme-text-on-brand: #0f2402;

  --theme-border: rgba(139, 114, 15, 0.20);
  --theme-border-strong: rgba(139, 114, 15, 0.35);
  --theme-border-control: rgba(139, 114, 15, 0.26);

  --theme-shadow-card: 0 10px 30px rgba(84, 70, 10, 0.05), 0 30px 70px rgba(84, 70, 10, 0.08), inset 0 1px 0 rgba(255,255,255,0.95);
  --theme-shadow-raised: 0 8px 24px rgba(84, 70, 10, 0.06), 0 1.5px 0 rgba(255,255,255,0.95) inset;
  --theme-shadow-inset: inset 0 2px 4px rgba(84, 70, 10, 0.05), 0 1px 0 rgba(255,255,255,0.85);
  --theme-shadow-glow-green: 0 0 26px rgba(103,154,35,0.30), 0 6px 20px rgba(92,123,22,0.15);
  --theme-shadow-glow-yellow: 0 0 24px rgba(245,207,33,0.30), 0 6px 20px rgba(216,159,5,0.15);

  --theme-gradient-page:
    radial-gradient(circle at 10% 10%, rgba(255, 255, 255, 0.90) 0%, transparent 35%),
    radial-gradient(circle at 85% 15%, rgba(255, 214, 40, 0.45) 0%, transparent 40%),
    radial-gradient(circle at 50% 85%, rgba(255, 255, 255, 0.35) 0%, transparent 55%),
    linear-gradient(135deg, #fff8d6 0%, #f5cf21 50%, #d89f05 100%);
  --theme-gradient-wizard: linear-gradient(135deg, rgba(255, 255, 255, 0.95) 0%, rgba(255, 254, 248, 0.88) 50%, rgba(250, 254, 242, 0.94) 100%);
  --theme-gradient-card: linear-gradient(135deg, rgba(255, 255, 255, 0.80) 0%, rgba(255, 254, 240, 0.50) 100%);
  --theme-gradient-glass-edge: linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(255,255,255,0.60) 46%, transparent 100%);
  --theme-gradient-road-bg:
    radial-gradient(circle at 15% 15%, rgba(220, 252, 170, 0.90) 0%, transparent 40%),
    radial-gradient(circle at 85% 75%, rgba(155, 201, 82, 0.85) 0%, transparent 50%),
    radial-gradient(circle at 50% 40%, rgba(255, 255, 255, 0.40) 0%, transparent 60%),
    linear-gradient(180deg, #e2f6b8 0%, #a9df55 60%, #85b832 100%);

  --theme-road-line: rgba(255,255,255,0.55);
  --theme-road-dash: #f5cf21;
  --theme-road-dash-opacity: 0.95;
  --theme-rotonda-bg: #1a2720;
  --theme-rotonda-border: rgba(92, 139, 26, 0.40);
  --theme-rotonda-text: #ffffff;

  --theme-footer-bg: #141a15;
  --theme-footer-text: #cfe0d3;
  --theme-toggle-icon: "\2600";

  /* Progreso stepper */
  --theme-progreso-punto-bg: #ffffff;
  --theme-progreso-punto-border: #3a4d3a;
  --theme-progreso-punto-text: #1a2a1a;
  --theme-progreso-linea: rgba(74, 92, 74, 0.35);
  --theme-progreso-etiqueta: #1a2a1a;

  /* Quiénes somos placeholders */
  --theme-local-photo-bg: linear-gradient(145deg, rgba(103,154,35,0.15) 0%, rgba(173,217,99,0.08) 50%, rgba(42,52,28,0.04) 100%);
  --theme-local-photo-border: rgba(42,52,28,0.18);
  --theme-map-bg: linear-gradient(135deg, rgba(103,154,35,0.08) 0%, rgba(42,52,28,0.05) 100%);
  --theme-map-border: rgba(42,52,28,0.15);

  /* Button Overrides */
  --theme-btn-primario-bg: linear-gradient(135deg, rgba(162, 210, 80, 0.98) 0%, rgba(111, 163, 34, 0.95) 100%);
  --theme-btn-primario-border: rgba(82, 125, 23, 0.50);
  --theme-btn-primario-text: #0d2001;
  --theme-btn-primario-shadow: 0 6px 18px rgba(103, 154, 35, 0.30), inset 0 1.5px 0 rgba(255, 255, 255, 0.65), inset 0 -4px 8px rgba(0, 0, 0, 0.12);
  --theme-btn-primario-shadow-hover: 0 10px 24px rgba(103, 154, 35, 0.42), inset 0 1.5px 0 rgba(255, 255, 255, 0.75), inset 0 -4px 8px rgba(0, 0, 0, 0.12);

  --theme-btn-ghost-bg: linear-gradient(135deg, rgba(255, 255, 255, 0.60) 0%, rgba(255, 255, 255, 0.25) 100%);
  --theme-btn-ghost-bg-hover: linear-gradient(135deg, rgba(255, 255, 255, 0.90) 0%, rgba(255, 255, 255, 0.55) 100%);
  --theme-btn-ghost-border: rgba(139, 114, 15, 0.35);
  --theme-btn-ghost-text: #4a3a02;
  --theme-btn-ghost-text-hover: #0f0c00;
  --theme-btn-ghost-shadow: 0 4px 12px rgba(84, 70, 10, 0.05), inset 0 1px 0 rgba(255, 255, 255, 0.95), inset 0 -2px 4px rgba(84, 70, 10, 0.02);
  --theme-btn-ghost-shadow-hover: 0 8px 20px rgba(84, 70, 10, 0.12), inset 0 1.5px 0 rgba(255, 255, 255, 0.95), inset 0 -2px 4px rgba(84, 70, 10, 0.04);
}

/* ================================================================
   TOKEN MAPPING
   ================================================================ */
:root {
  --glass-green: linear-gradient(145deg, rgba(173,217,99,0.82), rgba(84,143,37,0.70));
  --glass-green-soft: linear-gradient(145deg, rgba(173,217,99,0.36), rgba(84,143,37,0.24));
  --glass-yellow-soft: linear-gradient(145deg, rgba(254,255,118,0.36), rgba(240,196,54,0.20));
  --glass-red-soft: linear-gradient(145deg, rgba(216,112,101,0.28), rgba(216,112,101,0.12));
  --heading-stroke-dark: 0 2px 0 rgba(0,0,0,0.55), 0 12px 30px rgba(0,0,0,0.28);
  --heading-stroke-light: 0 1px 0 rgba(0,0,0,0.08), 0 4px 12px rgba(42,52,28,0.06);
}

[data-theme="dark"], [data-theme="light"] {
  --bg-root: var(--theme-bg-root);
  --bg-elevated: var(--theme-bg-elevated);
  --bg-card: var(--theme-bg-card);
  --bg-glass: var(--theme-bg-glass);
  --bg-glass-hover: var(--theme-bg-glass-strong);
  --border-glass: var(--theme-border);
  --border-glass-strong: var(--theme-border-strong);
  --color-white: var(--theme-text-main);
  --color-gray-100: var(--theme-text-strong);
  --color-gray-200: var(--theme-text-secondary);
  --color-gray-400: var(--theme-text-muted);
  --color-gray-500: var(--theme-text-muted);
  --color-gray-600: var(--theme-border-strong);
  --color-gray-800: var(--theme-bg-road-surface);
  --color-black: var(--theme-footer-bg);
  --gradient-page: var(--theme-gradient-page);
  --gradient-wizard: var(--theme-gradient-wizard);
  --gradient-glass-edge: var(--theme-gradient-glass-edge);
  --gradient-road-bg: var(--theme-gradient-road-bg);
  --shadow-card: var(--theme-shadow-card);
  --shadow-card-raised: var(--theme-shadow-raised);
  --shadow-inset-sm: var(--theme-shadow-inset);
  --shadow-inset-field: var(--theme-shadow-inset);
  --shadow-glow-green: var(--theme-shadow-glow-green);
  --shadow-glow-yellow: var(--theme-shadow-glow-yellow);
}

/* ================================================================
   SMOOTH THEME TRANSITION
   ================================================================ */
html[data-theme] {
  transition:
    background-color 0.45s ease,
    color 0.45s ease;
}
html[data-theme] body,
html[data-theme] body::before {
  transition:
    background 0.45s ease,
    color 0.45s ease;
}

/* ================================================================
   GLOBAL BACKGROUND + TYPOGRAPHY
   ================================================================ */
html, body { background: var(--theme-bg-root); color: var(--theme-text-main); }
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -2;
  background: var(--theme-gradient-page);
  pointer-events: none;
}
body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(circle at 18% 12%, rgba(255,255,255,0.06), transparent 22%),
    linear-gradient(120deg, rgba(255,255,255,0.02), transparent 44%);
  mix-blend-mode: soft-light;
}
.cotizador { background: transparent; }
.cotizador .cotizador__titulo,
.quienes .quienes__titulo,
.datos__titulo,
.pago__titulo,
.liquidacion__titulo,
.footer h3,
.footer h4 { color: var(--color-yellow); -webkit-text-fill-color: currentColor; text-shadow: var(--heading-stroke-dark); }

[data-theme="light"] .cotizador .cotizador__titulo,
[data-theme="light"] .quienes .quienes__titulo,
[data-theme="light"] .datos__titulo,
[data-theme="light"] .pago__titulo,
[data-theme="light"] .liquidacion__titulo { color: #1a1f1b; text-shadow: var(--heading-stroke-light); }
[data-theme="light"] .footer h3,
[data-theme="light"] .footer h4 { color: var(--color-yellow); text-shadow: var(--heading-stroke-dark); }
.cotizador .cotizador__subtitulo { color: var(--theme-text-secondary); font-weight: 600; }

/* ================================================================
   NAVBAR + THEME TOGGLE
   ================================================================ */
.navbar { background: var(--theme-bg-navbar); border-bottom: 1px solid var(--theme-border); box-shadow: var(--theme-shadow-raised); backdrop-filter: saturate(190%) blur(22px); -webkit-backdrop-filter: saturate(190%) blur(22px); }
.navbar .navbar__logo { color: var(--color-yellow); text-shadow: 0 2px 12px rgba(0,0,0,0.20); }
.navbar .navbar__link { color: #cfe0d3; font-weight: 600; }
.navbar .navbar__link:hover { background: var(--theme-bg-control-hover); color: var(--color-yellow); }
.navbar .navbar__dropdown .navbar__submenu { background: var(--theme-bg-glass-strong); border: 1px solid var(--theme-border); box-shadow: var(--theme-shadow-raised); }
.navbar__theme-toggle {
  display: inline-flex; align-items: center; justify-content: center;
  width: 38px; height: 38px; border-radius: var(--radius-full);
  color: #ffffff; background: var(--theme-bg-glass);
  border: 1px solid var(--theme-border-strong);
  box-shadow: var(--theme-shadow-inset), var(--theme-shadow-glow-yellow);
  flex-shrink: 0; transition: transform var(--dur-fast) var(--ease-spring), background var(--dur-fast);
}
.navbar__theme-toggle:hover { transform: translateY(-1px) scale(1.03); background: var(--theme-bg-control-hover); }
.navbar__theme-toggle:focus-visible { outline: 3px solid var(--color-green); outline-offset: 3px; }
.navbar__theme-icon::after { content: var(--theme-toggle-icon); }

/* ================================================================
   ROUTE / PISTA
   ================================================================ */
.pista { background: var(--theme-gradient-road-bg); border: 1px solid var(--theme-border); box-shadow: inset 0 0 120px rgba(0,0,0,0.25), var(--theme-shadow-raised); }
.pista .pista__camino { stroke: var(--theme-bg-road-surface); }
.pista .pista__borde-l, .pista .pista__borde-r { stroke: var(--theme-road-line); }
.pista .pista__lineas { stroke: var(--theme-road-dash); opacity: var(--theme-road-dash-opacity); }
.pista .pista__glow { stroke: var(--theme-bg-road-glow); }
.pista__rotonda {
  background: var(--theme-rotonda-bg);
  border-color: var(--theme-rotonda-border);
  color: var(--theme-rotonda-text);
  box-shadow: var(--theme-shadow-inset), 0 8px 18px rgba(0,0,0,0.18);
  transition: all 0.3s ease;
}
.pista__rotonda.is-activa { color: var(--theme-text-on-brand); box-shadow: var(--theme-shadow-glow-green), 0 8px 22px rgba(0,0,0,0.20); }

/* Light theme pista — ensure rotondas are visible against light road bg */
[data-theme="light"] .pista__rotonda {
  background: #2a3530;
  border-color: rgba(255,255,255,0.35);
  color: #ffffff;
  box-shadow: 0 4px 12px rgba(0,0,0,0.20), inset 0 1px 0 rgba(255,255,255,0.10);
  border-width: 2.5px;
}
[data-theme="light"] .pista__rotonda.is-activa {
  background: #5c8b1a;
  border-color: #ffffff;
  color: #ffffff;
  box-shadow: 0 0 16px rgba(92,139,26,0.40), 0 4px 14px rgba(0,0,0,0.18);
}
[data-theme="light"] .pista {
  border-radius: var(--radius-xl);
  box-shadow: 0 8px 32px rgba(42,52,28,0.15), inset 0 0 80px rgba(0,0,0,0.10);
}

@media (max-width: 1099px) {
  .cotizador__pista { background: var(--theme-bg-route); border-bottom: 1px solid var(--theme-border); box-shadow: var(--theme-shadow-raised); }
  .cotizador__pista .pista::after { background: var(--theme-bg-road-surface); box-shadow: var(--theme-shadow-inset); }
  .cotizador__pista .pista__lines-h { background: var(--theme-road-dash); opacity: var(--theme-road-dash-opacity); }
}
@media (max-width: 767px) { .cotizador__pista { background: var(--theme-bg-route-mobile); } }

/* ================================================================
   PROGRESO STEPPER — Theme-aware
   ================================================================ */
[data-theme="light"] .progreso__punto {
  background: var(--theme-progreso-punto-bg);
  border: 2px solid var(--theme-progreso-punto-border);
  color: var(--theme-progreso-punto-text);
  box-shadow: inset 0 1px 3px rgba(255,255,255,0.8), 0 2px 6px rgba(84,70,10,0.05);
  font-weight: 700;
}
[data-theme="light"] .progreso__etiqueta {
  color: var(--theme-progreso-etiqueta);
  font-weight: 600;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.7);
}
[data-theme="light"] .progreso__linea {
  background: var(--theme-progreso-linea);
}
[data-theme="light"] .progreso__paso--activo .progreso__punto {
  background: linear-gradient(135deg, #7cbe25 0%, #528014 100%);
  border-color: #3f6110;
  color: #ffffff;
  box-shadow: 0 0 16px rgba(103,154,35,0.40), 0 4px 10px rgba(84,70,10,0.12), inset 0 1px 0 rgba(255,255,255,0.30);
}
[data-theme="light"] .progreso__paso--activo .progreso__etiqueta {
  color: #1b3802;
  font-weight: 800;
}
[data-theme="light"] .progreso__paso--completado .progreso__punto {
  background: #5c8b1a;
  border-color: #436613;
  color: #ffffff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.25);
}
[data-theme="light"] .progreso__paso--completado .progreso__etiqueta {
  color: #2b4506;
  font-weight: 700;
}
[data-theme="light"] .progreso__linea--completada {
  background: #5c8b1a;
}

/* ================================================================
   WIZARD, CARDS, FORM CONTROLS
   ================================================================ */
.wizard, .datos, .pago, .quienes .quienes__inner, .footer, .liquidacion { background: var(--theme-gradient-wizard); border: 1px solid var(--theme-border-strong); box-shadow: var(--theme-shadow-card); backdrop-filter: blur(26px); -webkit-backdrop-filter: blur(26px); }
.wizard::before, .datos::before, .pago::before { background: var(--theme-gradient-glass-edge); }
.wizard .wizard__label, .campo label { color: var(--theme-text-main); font-weight: 800; }
.card-clase__contenido, .tarjeta-pago, .quienes__stat {
  background: var(--theme-gradient-card);
  border: 1.5px solid var(--theme-border);
  color: var(--theme-text-secondary);
  box-shadow: 0 8px 24px rgba(0,0,0,0.10), inset 0 1px 0 rgba(255,255,255,0.12);
}

/* Selected/checked vehicle card */
.card-clase input:checked + .card-clase__contenido {
  border-color: var(--theme-border-strong) !important;
  background: linear-gradient(180deg, rgba(173,217,99,0.18) 0%, rgba(173,217,99,0.06) 100%) !important;
  color: var(--color-green) !important;
  box-shadow: var(--theme-shadow-glow-green), 0 6px 18px rgba(0,0,0,0.25) !important;
  transform: translateY(-3px);
}

.card-clase:hover .card-clase__contenido {
  border-color: var(--theme-border-strong);
  background: linear-gradient(180deg, rgba(255,255,255,0.12) 0%, rgba(255,255,255,0.03) 100%);
  box-shadow: 0 6px 16px rgba(0,0,0,0.22);
}

/* High contrast glass cards inside light mode */
[data-theme="light"] .card-clase__contenido,
[data-theme="light"] .tarjeta-pago {
  border: 1px solid rgba(139, 114, 15, 0.20);
  box-shadow:
    0 4px 10px rgba(84, 70, 10, 0.04),
    inset 0 1.5px 0 rgba(255, 255, 255, 0.95),
    inset 0 -2px 6px rgba(84, 70, 10, 0.02);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.70) 0%, rgba(255, 255, 255, 0.40) 100%);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1),
              box-shadow 0.3s cubic-bezier(0.25, 0.8, 0.25, 1),
              border-color 0.3s ease,
              background-color 0.3s ease;
}

[data-theme="light"] .card-clase:hover .card-clase__contenido {
  transform: translateY(-4px);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.85) 0%, rgba(255, 255, 255, 0.55) 100%);
  border-color: rgba(92, 139, 26, 0.50);
  color: #0c120e;
  box-shadow:
    0 12px 24px rgba(84, 70, 10, 0.10),
    inset 0 1.5px 0 rgba(255, 255, 255, 0.95),
    inset 0 -2px 6px rgba(92, 139, 26, 0.04);
}

[data-theme="light"] .card-clase input:checked + .card-clase__contenido {
  transform: translateY(-5px);
  border-color: rgba(92, 139, 26, 0.85) !important;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.95) 0%, rgba(173, 217, 99, 0.22) 100%) !important;
  color: #1b3802 !important;
  box-shadow:
    0 14px 28px rgba(92, 139, 26, 0.18),
    0 0 0 1px rgba(92, 139, 26, 0.1) inset,
    inset 0 1.5px 0 rgba(255, 255, 255, 0.95) !important;
  font-weight: 700;
}

.wizard .wizard__select, .campo input, .campo__control { background: var(--theme-bg-control); color: var(--theme-text-main); border-color: var(--theme-border-control); box-shadow: var(--theme-shadow-inset); }
.wizard .wizard__select:focus, .campo input:focus { border-color: var(--color-green); box-shadow: var(--theme-shadow-inset), 0 0 0 3px rgba(173,217,99,0.24); }
.wizard .wizard__select option { background: var(--theme-bg-card); color: var(--theme-text-main); }

/* Light theme form controls */
[data-theme="light"] .wizard .wizard__select,
[data-theme="light"] .campo input {
  background: rgba(255, 255, 255, 0.50);
  border: 1.5px solid rgba(194, 164, 20, 0.28);
  color: #1a1f1b;
  box-shadow: inset 0 1.5px 3px rgba(42, 52, 28, 0.06), 0 1px 0 rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
[data-theme="light"] .wizard .wizard__select:focus,
[data-theme="light"] .campo input:focus {
  border-color: #5c8b1a;
  background: rgba(255, 255, 255, 0.85);
  box-shadow: inset 0 1.5px 3px rgba(42, 52, 28, 0.04), 0 0 0 3px rgba(173, 217, 99, 0.35);
}
[data-theme="light"] .wizard .wizard__select:disabled {
  background: rgba(42,52,28,0.06);
  color: #8c968f;
  border-color: rgba(42, 52, 28, 0.12);
}

/* ================================================================
   GLASS BUTTON SYSTEM (Revised Premium 3D)
   ================================================================ */
.btn, .tarjeta-propiedad__multi, .pago__reportar label, .quienes__maps-link {
  position: relative;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  letter-spacing: 0.5px;
  border-width: 1.5px;
  border-style: solid;
  transition: transform var(--dur-fast) var(--ease-spring), background var(--dur-fast), border-color var(--dur-fast), box-shadow var(--dur-fast);
}

.btn::before, .tarjeta-propiedad__multi::before, .pago__reportar label::before, .quienes__maps-link::before {
  content: "";
  position: absolute;
  top: 1px; left: 6%; right: 6%; height: 35%;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.45) 0%, rgba(255, 255, 255, 0) 100%);
  border-radius: var(--radius-sm);
  pointer-events: none;
  transition: background var(--dur-fast);
}

.btn:hover::before, .tarjeta-propiedad__multi:hover::before, .pago__reportar label:hover::before, .quienes__maps-link:hover::before {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.65) 0%, rgba(255, 255, 255, 0) 100%);
}

.btn--primario, .quienes__maps-link {
  background: var(--theme-btn-primario-bg) !important;
  border-color: var(--theme-btn-primario-border) !important;
  color: var(--theme-btn-primario-text) !important;
  box-shadow: var(--theme-btn-primario-shadow) !important;
  text-shadow: 0 1px 1px rgba(255,255,255,0.15);
}

.btn--primario:hover:not(:disabled), .quienes__maps-link:hover {
  transform: translateY(-2px);
  box-shadow: var(--theme-btn-primario-shadow-hover) !important;
  filter: brightness(1.08);
}

.btn--primario:active:not(:disabled), .quienes__maps-link:active {
  transform: translateY(1px);
}

.btn--ghost, .tarjeta-propiedad__multi {
  background: var(--theme-btn-ghost-bg) !important;
  border-color: var(--theme-btn-ghost-border) !important;
  color: var(--theme-btn-ghost-text) !important;
  box-shadow: var(--theme-btn-ghost-shadow) !important;
  text-shadow: none;
}

.btn--ghost:hover:not(:disabled), .tarjeta-propiedad__multi:hover:not(:disabled) {
  transform: translateY(-2px);
  background: var(--theme-btn-ghost-bg-hover) !important;
  color: var(--theme-btn-ghost-text-hover) !important;
  box-shadow: var(--theme-btn-ghost-shadow-hover) !important;
}

.btn--ghost:active:not(:disabled), .tarjeta-propiedad__multi:active:not(:disabled) {
  transform: translateY(1px);
}

.btn:disabled, .btn--primario:disabled, .btn--ghost:disabled {
  background: rgba(127,137,112,0.20) !important;
  border-color: rgba(255,255,255,0.05) !important;
  color: var(--theme-text-muted) !important;
  box-shadow: none !important;
  transform: none !important;
  cursor: not-allowed;
}

[data-theme="light"] .btn:disabled,
[data-theme="light"] .btn--primario:disabled,
[data-theme="light"] .btn--ghost:disabled {
  background: rgba(42,52,28,0.08) !important;
  border-color: rgba(42,52,28,0.10) !important;
  color: #9ba49d !important;
}

.pago__reportar label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-sm);
  padding: 0.85rem 1.8rem;
  border-radius: var(--radius-md);
  font-weight: var(--font-bold);
  cursor: pointer;
  background: var(--theme-btn-ghost-bg) !important;
  border: 1px solid var(--theme-btn-ghost-border) !important;
  color: var(--theme-btn-ghost-text) !important;
  box-shadow: var(--theme-btn-ghost-shadow) !important;
  transition: all var(--dur-base) var(--ease-spring);
}
.pago__reportar label:hover {
  transform: translateY(-2px);
  background: var(--theme-btn-ghost-bg-hover) !important;
  color: var(--theme-btn-ghost-text-hover) !important;
  box-shadow: var(--theme-btn-ghost-shadow-hover) !important;
}

/* ================================================================
   TARJETA DE PROPIEDAD
   ================================================================ */
.tarjeta-propiedad { position: relative; display: grid; gap: var(--space-md); }

.tarjeta-propiedad__coach {
  position: relative;
  display: grid; grid-template-columns: auto 1fr; align-items: center; gap: var(--space-sm);
  max-width: 520px; margin-left: auto;
  padding: 1.1rem 1.25rem;
  border-radius: 18px 18px 18px 8px;
  background: linear-gradient(135deg, #d32f2f 0%, #b71c1c 100%) !important;
  border: 1.5px solid #ff8a80 !important;
  color: #ffffff !important;
  box-shadow: 0 8px 24px rgba(211, 47, 47, 0.35), 0 2px 4px rgba(0,0,0,0.20), inset 0 1px 0 rgba(255,255,255,0.25) !important;
  animation: soatCoachPop 5.5s ease-in-out both;
}

[data-theme="light"] .tarjeta-propiedad__coach {
  background: linear-gradient(135deg, #ffebee 0%, #ffcdd2 100%) !important;
  border: 1.5px solid #ef5350 !important;
  color: #c62828 !important;
  box-shadow: 0 6px 18px rgba(239, 83, 80, 0.18), 0 2px 4px rgba(0,0,0,0.06), inset 0 1px 0 rgba(255,255,255,0.80) !important;
}

.tarjeta-propiedad__coach::after {
  content: "";
  position: absolute;
  left: 22px;
  bottom: -10px;
  border-width: 10px 10px 0 0;
  border-style: solid;
  border-color: #b71c1c transparent transparent transparent;
}
[data-theme="light"] .tarjeta-propiedad__coach::after {
  border-color: #ef5350 transparent transparent transparent;
}

.tarjeta-propiedad__coach-icon {
  display: grid; place-items: center;
  width: 38px; height: 38px;
  border-radius: 50%;
  background: #ffffff !important;
  color: #c62828 !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.15) !important;
}
[data-theme="light"] .tarjeta-propiedad__coach-icon {
  background: #ef5350 !important;
  color: #ffffff !important;
  box-shadow: 0 2px 8px rgba(239, 83, 80, 0.25) !important;
}

.tarjeta-propiedad__coach strong { display: block; font-size: 0.95rem; }
.tarjeta-propiedad__coach span:last-child {
  color: #ffcdd2 !important;
  font-size: 0.82rem;
  font-weight: 600;
}
[data-theme="light"] .tarjeta-propiedad__coach span:last-child {
  color: #5c0000 !important;
  font-weight: 600;
}

.tarjeta-propiedad__intro, .tarjeta-propiedad__nota, .tarjeta-propiedad__warning, .liquidacion__validacion-estado, .liquidacion__gate-warning, .liquidacion__trust {
  background: var(--theme-bg-glass-strong);
  border: 1px solid var(--theme-border-strong);
  box-shadow: var(--theme-shadow-raised);
  color: var(--theme-text-secondary);
  border-radius: var(--radius-md);
}
.tarjeta-propiedad__intro { padding: 0.9rem 1rem; font-weight: 700; }
.tarjeta-propiedad__slots { gap: var(--space-md); }
.tarjeta-slot__frame { min-height: 168px; aspect-ratio: 16/8.4; background: var(--theme-gradient-card); border-color: var(--theme-border-strong); box-shadow: var(--theme-shadow-inset), var(--theme-shadow-raised); }
.tarjeta-slot__preview { object-fit: cover; width: 100%; height: 100%; }
#previewFrente { object-position: left top; }
#previewReverso { object-position: center center; }
.tarjeta-slot__label { color: var(--theme-text-main); font-weight: 800; }
.tarjeta-slot__hint, .tarjeta-slot__size { color: var(--theme-text-muted); }
.tarjeta-slot__icono { filter: drop-shadow(0 4px 12px rgba(0,0,0,0.25)); }

/* ================================================================
   LIQUIDACION
   ================================================================ */
.liquidacion {
  border-color: rgba(254,255,118,0.44);
  box-shadow: 0 0 0 1px rgba(254,255,118,0.10), 0 24px 70px rgba(0,0,0,0.28), var(--theme-shadow-card);
}
.liquidacion__titulo { margin-bottom: 0.25rem; text-transform: uppercase; letter-spacing: 0.06em; }
.liquidacion__lista { display: grid; gap: .65rem; margin: 0; padding: 1.1rem; border-radius: var(--radius-lg); background: var(--theme-bg-glass-strong); border: 1px solid var(--theme-border); box-shadow: var(--theme-shadow-inset); }
.liquidacion__lista li { display: flex; justify-content: space-between; gap: .75rem; color: var(--theme-text-main); font-weight: 600; }
.liquidacion__precio-wrap { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .65rem; padding: 1.5rem; border-radius: var(--radius-xl); background: radial-gradient(circle at 20% 0%, rgba(254,255,118,0.16), transparent 42%), var(--theme-bg-glass); border: 1px solid var(--theme-border-strong); box-shadow: var(--theme-shadow-raised); }
.liquidacion__precio { margin: 0; font-size: clamp(1.9rem, 4.2vw, 3.55rem); line-height: 1.05; color: var(--color-red); font-weight: 900; letter-spacing: -0.04em; text-shadow: 0 2px 0 rgba(0,0,0,0.26), 0 18px 38px rgba(216,112,101,0.22); text-align: center; }
.liquidacion__precio span { color: inherit; }
.liquidacion__precio-badge { display: inline-flex; padding: .42rem .72rem; border-radius: 999px; background: rgba(254,255,118,0.20); color: var(--theme-text-main); border: 1px solid rgba(254,255,118,0.35); font-weight: 900; font-size: .72rem; letter-spacing: .06em; }
.liquidacion__precio-nota { color: var(--theme-text-secondary); font-weight: 600; text-align: center; }
.liquidacion__validacion-estado { display: flex; align-items: center; gap: .65rem; padding: .9rem; }
.liquidacion__gate-warning { display: flex; align-items: center; gap: .65rem; padding: .9rem; }
.liquidacion__trust { display: flex; align-items: center; gap: .65rem; padding: .9rem; border: 1px solid var(--theme-border); }
.liquidacion__acciones { display: grid; gap: var(--space-md); }
.liquidacion__credito-wrap { min-width: 0; width: 100%; }

/* Light theme liquidacion */
[data-theme="light"] .liquidacion {
  border-color: rgba(92,139,26,0.30);
  box-shadow: 0 0 0 1px rgba(92,139,26,0.08), 0 12px 36px rgba(42,52,28,0.10), var(--theme-shadow-card);
}
[data-theme="light"] .liquidacion__precio-wrap {
  background: radial-gradient(circle at 20% 0%, rgba(103,154,35,0.08), transparent 42%), rgba(255,255,255,0.85);
  border-color: rgba(42,52,28,0.16);
}
[data-theme="light"] .liquidacion__precio-badge {
  background: rgba(92,139,26,0.08);
  color: #3b5010;
  border-color: rgba(92,139,26,0.22);
}

/* ================================================================
   DATOS + PAGO
   ================================================================ */
.datos, .pago { padding: clamp(1.25rem, 3vw, 2rem); }
.datos__form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-md); }
.datos__form .campo:first-child, .datos__form .datos__auth, .datos__form .btn { grid-column: 1 / -1; }
.campo input, .campo__control { min-height: 52px; border-radius: 12px; }
.pago__oficial {
  border: 2px solid var(--color-green);
  background: linear-gradient(135deg, rgba(173,217,99,0.18) 0%, rgba(103,154,35,0.06) 100%) !important;
  box-shadow: var(--theme-shadow-glow-green), var(--theme-shadow-raised) !important;
  padding: 1.2rem;
  border-radius: var(--radius-lg);
  margin-bottom: var(--space-md);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--space-xs);
}
.pago__oficial-valor {
  color: var(--color-green) !important;
  font-size: clamp(2rem, 5vw, 2.8rem) !important;
  font-weight: 900;
  text-shadow: 0 0 16px rgba(173,217,99,0.30);
}
.pago__documento {
  background: var(--theme-bg-glass-strong);
  border-color: var(--theme-border-strong);
  box-shadow: var(--theme-shadow-raised);
  color: var(--theme-text-secondary);
}
.pago__tarjetas { align-items: stretch; gap: var(--space-md); }
.tarjeta-pago {
  border-radius: var(--radius-lg);
  padding: 1.5rem;
  background: var(--theme-gradient-card) !important;
  border: 1.5px solid var(--theme-border-strong) !important;
  box-shadow: var(--theme-shadow-raised) !important;
  transition: transform var(--dur-base) var(--ease-spring), border-color var(--dur-base), box-shadow var(--dur-base);
}
.tarjeta-pago:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.25), var(--theme-shadow-glow-yellow) !important;
  border-color: var(--color-yellow) !important;
}
.tarjeta-pago__banco { color: var(--theme-text-main); text-shadow: var(--heading-stroke-dark); }
[data-theme="light"] .tarjeta-pago__banco { color: #1a1f1b; text-shadow: var(--heading-stroke-light); font-weight: 800; }
.pago__reportar { display: grid; gap: .75rem; }
.pago__preview { background: var(--theme-bg-glass-strong); border: 1px solid var(--theme-border); box-shadow: var(--theme-shadow-raised); }

/* ================================================================
   QUIENES SOMOS + FOOTER
   ================================================================ */
.quienes { background: transparent; }
.quienes .quienes__inner { max-width: 1320px; margin: 0 auto; text-align: left; padding: 0 var(--space-lg); }
.quienes__grid-premium { display: grid; grid-template-columns: 1.15fr 1fr 0.95fr; gap: var(--space-lg); align-items: stretch; }
.quienes__copy, .quienes__local, .quienes__map-card { background: var(--theme-bg-glass-strong); border: 1px solid var(--theme-border); box-shadow: var(--theme-shadow-raised); border-radius: var(--radius-lg); padding: var(--space-xl); }
.quienes__copy p { color: var(--theme-text-secondary); }

/* Local photo placeholder — Premium gradient (no stripes) */
.quienes__local-photo {
  min-height: 200px;
  border-radius: var(--radius-md);
  background: var(--theme-local-photo-bg);
  border: 1px solid var(--theme-local-photo-border);
  display: grid;
  place-items: center;
  text-align: center;
  color: var(--theme-text-main);
  font-weight: 900;
  letter-spacing: .06em;
  box-shadow: var(--theme-shadow-inset);
  position: relative;
  overflow: hidden;
}
.quienes__local-photo::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255,255,255,0.08) 0%, transparent 50%, rgba(255,255,255,0.04) 100%);
  pointer-events: none;
}

/* Map visual placeholder — Premium (no stripes) */
.quienes__map-visual {
  min-height: 200px;
  border-radius: var(--radius-md);
  background: var(--theme-map-bg);
  border: 1px solid var(--theme-map-border);
  display: grid;
  place-items: center;
  font-size: 2.4rem;
  position: relative;
  overflow: hidden;
}
.quienes__map-visual::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 25% 35%, rgba(173,217,99,0.12) 0%, transparent 50%),
    radial-gradient(circle at 75% 65%, rgba(173,217,99,0.08) 0%, transparent 40%);
  pointer-events: none;
}

.quienes__maps-link { display: inline-flex; justify-content: center; align-items: center; min-height: 46px; margin-top: .75rem; border-radius: 999px; text-decoration: none; }

.footer { position: relative; overflow: hidden; background: linear-gradient(180deg, rgba(20,32,21,0.92), var(--theme-footer-bg)); color: var(--theme-footer-text); }
.footer::before { content: ""; position: absolute; inset: -40% -10% auto -10%; height: 120%; background: radial-gradient(ellipse at 15% 30%, rgba(173,217,99,0.18), transparent 35%), radial-gradient(ellipse at 80% 10%, rgba(254,255,118,0.10), transparent 32%); pointer-events: none; }
.footer > * { position: relative; z-index: 1; }
.footer .footer__grid { grid-template-columns: 1.15fr .85fr .95fr .95fr .75fr; }
.footer .footer__social a { background: rgba(255,255,255,0.10); box-shadow: inset 0 1px 0 rgba(255,255,255,0.16); }
.footer a { color: inherit; }

/* Footer top border — premium gradient line */
.footer::after {
  content: "";
  position: absolute;
  top: 0;
  left: 10%;
  right: 10%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(173,217,99,0.40), rgba(254,255,118,0.30), rgba(173,217,99,0.40), transparent);
  z-index: 2;
}

/* ================================================================
   LIGHT THEME TARGETED CONTRAST & OVERRIDES
   ================================================================ */
[data-theme="light"] body::after {
  background:
    radial-gradient(circle at 18% 12%, rgba(255,255,255,0.7), transparent 25%),
    linear-gradient(120deg, rgba(255,255,255,0.2), transparent 44%),
    linear-gradient(rgba(139, 114, 15, 0.015) 1px, transparent 1px),
    linear-gradient(90deg, rgba(139, 114, 15, 0.015) 1px, transparent 1px);
  background-size: auto, auto, 24px 24px, 24px 24px;
  mix-blend-mode: multiply;
  opacity: 0.85;
}

[data-theme="light"] .navbar {
  background: rgba(255, 254, 230, 0.85);
  border-bottom: 1.5px solid rgba(139, 114, 15, 0.28);
  box-shadow:
    0 4px 20px rgba(84, 70, 10, 0.05),
    inset 0 1px 0 rgba(255, 255, 255, 0.95);
  backdrop-filter: saturate(190%) blur(22px);
  -webkit-backdrop-filter: saturate(190%) blur(22px);
}
[data-theme="light"] .navbar .navbar__logo {
  color: #1a201c;
  text-shadow: 0 1px 2px rgba(255,255,255,0.8);
}
[data-theme="light"] .navbar .navbar__link {
  color: #242f28;
}
[data-theme="light"] .navbar .navbar__link:hover {
  color: #0c120e;
  background: rgba(139, 114, 15, 0.06);
}
[data-theme="light"] .navbar__theme-toggle {
  background: rgba(255,255,255,0.85);
  border-color: rgba(139, 114, 15, 0.35);
  color: #c89b20;
  box-shadow: inset 0 1px 3px rgba(255,255,255,0.9), 0 2px 6px rgba(0,0,0,0.05);
}

[data-theme="light"] .wizard,
[data-theme="light"] .datos,
[data-theme="light"] .pago,
[data-theme="light"] .liquidacion,
[data-theme="light"] .quienes .quienes__inner {
  border: 1px solid rgba(139, 114, 15, 0.28);
  box-shadow:
    0 10px 30px rgba(84, 70, 10, 0.05),
    0 30px 70px rgba(84, 70, 10, 0.10),
    inset 0 1px 0 rgba(255, 255, 255, 0.95),
    inset 0 -2px 6px rgba(84, 70, 10, 0.02);
  backdrop-filter: blur(30px);
  -webkit-backdrop-filter: blur(30px);
}

[data-theme="light"] .wizard::before,
[data-theme="light"] .datos::before,
[data-theme="light"] .pago::before,
[data-theme="light"] .liquidacion::before {
  background: linear-gradient(90deg, rgba(255,255,255,0.9) 0%, rgba(255,255,255,0.3) 50%, rgba(255,255,255,0.9) 100%);
}

[data-theme="light"] .liquidacion__precio-wrap {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.92) 0%, rgba(245, 250, 235, 0.85) 100%);
  border: 1.5px solid rgba(92, 139, 26, 0.35);
  box-shadow:
    0 10px 25px rgba(92, 139, 26, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.95),
    inset 0 -3px 8px rgba(92, 139, 26, 0.03);
}

[data-theme="light"] .liquidacion__precio {
  color: #a81717;
  text-shadow: 0 1px 0 rgba(255,255,255,0.9), 0 8px 20px rgba(168,23,23,0.14);
  font-weight: 900;
}

[data-theme="light"] .liquidacion__precio-badge {
  background: rgba(92, 139, 26, 0.12);
  color: #2b4506;
  border: 1px solid rgba(92, 139, 26, 0.30);
  text-transform: uppercase;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  padding: 0.3rem 0.8rem;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5);
}

[data-theme="light"] .tarjeta-propiedad__warning {
  background: rgba(216,112,101,0.06);
  border-color: rgba(216,112,101,0.30);
  color: #b71c1c;
}
[data-theme="light"] .tarjeta-propiedad__nota {
  background: rgba(255,252,240,0.95);
  border-color: rgba(194,164,20,0.25);
  color: #2a3a1c;
}
[data-theme="light"] .pista .pista__sombra {
  stroke: rgba(0,0,0,0.08);
}
[data-theme="light"] .cotizador__titulo {
  color: #0c120e;
}

/* Light theme quienes section */
[data-theme="light"] .quienes {
  background: transparent;
}
[data-theme="light"] .quienes__copy,
[data-theme="light"] .quienes__local,
[data-theme="light"] .quienes__map-card {
  background: rgba(255,255,255,0.92);
  border-color: rgba(139, 114, 15, 0.18);
  box-shadow: 0 4px 14px rgba(84,70,10,0.04), 0 12px 32px rgba(84,70,10,0.05);
}
[data-theme="light"] .quienes__stat {
  background: rgba(255,255,255,0.88);
  border-color: rgba(139, 114, 15, 0.18);
  box-shadow: 0 2px 6px rgba(84,70,10,0.03);
}
[data-theme="light"] .quienes__stat span {
  color: #a81717;
}

/* Light theme footer keeps dark for contrast */
[data-theme="light"] .footer {
  background: linear-gradient(180deg, #161e18 0%, #0d120e 100%);
  color: #cfe0d3;
}

/* Light theme pago cards */
[data-theme="light"] .tarjeta-pago {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.75) 0%, rgba(255, 255, 255, 0.45) 100%) !important;
  border: 1px solid rgba(139, 114, 15, 0.22) !important;
  box-shadow:
    0 4px 12px rgba(84, 70, 10, 0.04),
    inset 0 1px 0 rgba(255, 255, 255, 0.95) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1),
              box-shadow 0.3s cubic-bezier(0.25, 0.8, 0.25, 1),
              border-color 0.3s ease;
}
[data-theme="light"] .tarjeta-pago:hover {
  transform: translateY(-5px) !important;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.90) 0%, rgba(255, 255, 255, 0.60) 100%) !important;
  border-color: rgba(92, 139, 26, 0.70) !important;
  box-shadow:
    0 14px 28px rgba(92, 139, 26, 0.15),
    inset 0 1px 0 rgba(255, 255, 255, 0.95) !important;
}
[data-theme="light"] .tarjeta-pago p {
  color: #242f28;
}
[data-theme="light"] .pago__oficial {
  background: linear-gradient(135deg, rgba(92, 139, 26, 0.12) 0%, rgba(92, 139, 26, 0.04) 100%) !important;
  border: 2px solid #5c8b1a !important;
  box-shadow: 0 8px 24px rgba(92, 139, 26, 0.15), inset 0 1.5px 0 rgba(255, 255, 255, 0.80) !important;
}
[data-theme="light"] .pago__oficial-valor {
  color: #4a7510 !important;
  text-shadow: 0 0 12px rgba(92, 139, 26, 0.20);
}
[data-theme="light"] .pago__documento {
  background: rgba(255,255,255,0.88);
  color: #242f28;
  border-color: rgba(139, 114, 15, 0.22);
  box-shadow: 0 4px 12px rgba(84, 70, 10, 0.05), inset 0 1px 0 rgba(255,255,255,0.90);
}
[data-theme="light"] .pago__documento--approved .pago__documento-badge {
  color: #2b4506;
  background: rgba(92, 139, 26, 0.14);
}
[data-theme="light"] .pago__documento--uploading .pago__documento-badge,
[data-theme="light"] .pago__documento--warning .pago__documento-badge {
  color: #4a3a02;
  background: rgba(245, 207, 33, 0.18);
}
[data-theme="light"] .pago__documento--error .pago__documento-badge {
  color: #a81717;
  background: rgba(216,112,101,0.12);
}
[data-theme="light"] .pago__intro {
  color: #4a574f;
}
[data-theme="light"] .pago__soporte {
  color: #4a574f;
}
[data-theme="light"] .pago__soporte strong {
  color: #2b4506;
}

/* Light theme button overrides */
[data-theme="light"] .btn--ghost,
[data-theme="light"] .tarjeta-propiedad__multi {
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.8) !important;
}
[data-theme="light"] .btn--ghost:hover:not(:disabled),
[data-theme="light"] .tarjeta-propiedad__multi:hover:not(:disabled) {
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.9) !important;
}

/* ================================================================
   RESPONSIVE OVERRIDES
   ================================================================ */
@media (max-width: 1199px) and (min-width: 768px) {
  .quienes__grid-premium {
    grid-template-columns: 1.2fr 1fr;
  }
  .quienes__map-card {
    grid-column: 1 / -1;
  }
}
@media (max-width: 980px) {
  .datos__form, .quienes__grid-premium { grid-template-columns: 1fr; }
  .footer .footer__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .tarjeta-slot__frame { min-height: 132px; }
  .tarjeta-propiedad__coach { margin-left: 0; }
  .footer .footer__grid { grid-template-columns: 1fr; }
}

/* ================================================================
   ANIMATIONS
   ================================================================ */
@keyframes soatCoachPop {
  0% { opacity: 0; transform: translateY(12px) scale(0.95); }
  8% { opacity: 1; transform: translateY(0) scale(1); }
  100% { opacity: 1; transform: translateY(0) scale(1); }
}
