/* ============================================================
   D&N Transporte — Tema CLARO CORPORATIVO (capa de override)
   Se carga DESPUÉS de Tailwind y de styles.css.
   Estrategia: superficies -> claro, texto -> oscuro por defecto,
   y se re-afirma texto blanco en elementos con fondo de color.
   Preserva todo el markup/IDs/handlers existentes.
   ============================================================ */

:root{
  --ink:#0f172a; --ink-soft:#334155; --muted:#64748b; --muted-2:#94a3b8;
  --line:#e2e8f0; --line-soft:#eef2f7; --bg:#f1f5f9; --surface:#ffffff;
  --brand:#1d4ed8; --brand-600:#2563eb; --brand-50:#eff6ff; --brand-100:#dbeafe;
}

/* ---------- Base ---------- */
html,body{ background:var(--bg) !important; color:var(--ink) !important;
  font-family:'Inter',system-ui,-apple-system,"Segoe UI",Roboto,sans-serif !important; }
body::before,.bg-grid{ background:
   radial-gradient(1200px 500px at 50% -10%, #e8eefc 0%, transparent 60%) !important;
   opacity:1 !important; }

/* ---------- Superficies oscuras -> claras ---------- */
[class*="bg-slate-950"],[class*="bg-slate-900"],[class*="bg-gray-900"],
[class*="bg-gray-950"],[class*="bg-zinc-900"],[class*="bg-neutral-900"]{
  background-color:var(--surface) !important; }
[class*="bg-slate-800"],[class*="bg-slate-700"],[class*="bg-gray-800"]{
  background-color:#f1f5f9 !important; }

/* Gradientes oscuros -> neutralizados */
[class*="from-slate-9"],[class*="from-slate-8"],[class*="via-slate-9"],
[class*="to-slate-9"],[class*="from-gray-9"],[class*="to-gray-9"],
[class*="from-blue-950"],[class*="to-blue-950"]{ background-image:none !important; }

/* Bordes claros */
[class*="border-white/"],[class*="border-slate-700"],[class*="border-slate-800"]{
  border-color:var(--line) !important; }

/* ---------- Texto: oscuro por defecto ---------- */
[class*="text-white"],[class*="text-slate-100"],[class*="text-slate-200"]{ color:var(--ink) !important; }
[class*="text-slate-300"]{ color:var(--ink-soft) !important; }
[class*="text-slate-400"],[class*="text-slate-500"]{ color:var(--muted) !important; }
/* Texto con gradiente (bg-clip-text) -> legible */
[class*="text-transparent"]{ color:var(--ink) !important; -webkit-text-fill-color:var(--ink) !important;
  background:none !important; }

/* ---------- Re-afirmar BLANCO sobre fondos de color (botones/badges) ----------
   Va al final para ganar a las reglas de texto de arriba. */
[class*="bg-blue-5"],[class*="bg-blue-6"],[class*="bg-blue-7"],
[class*="bg-indigo-5"],[class*="bg-indigo-6"],[class*="bg-indigo-7"],
[class*="bg-emerald-5"],[class*="bg-emerald-6"],[class*="bg-emerald-7"],
[class*="bg-sky-5"],[class*="bg-sky-6"],[class*="bg-red-5"],[class*="bg-red-6"],
[class*="bg-brand-6"],[class*="bg-brand-7"]{ color:#fff !important; }
[class*="bg-blue-6"] *,[class*="bg-blue-7"] *,[class*="bg-emerald-6"] *,
[class*="bg-indigo-6"] *,[class*="bg-red-6"] *{ color:#fff !important; }

/* ---------- Componentes (styles.css) ---------- */
.dominet-card{ background:var(--surface) !important; border:1px solid var(--line) !important;
  box-shadow:0 1px 2px rgba(15,23,42,.04),0 10px 30px -18px rgba(15,23,42,.18) !important; }
.dominet-card::before{ display:none !important; }
.dominet-card-elevated{ background:var(--surface) !important; border:1px solid var(--line) !important; }

.hero-showcase-3d{ background:linear-gradient(180deg,#fff, #f8fafc) !important;
  border:1px solid var(--line) !important; box-shadow:0 10px 30px -18px rgba(15,23,42,.18) !important; }
.hero-showcase-3d::after{ display:none !important; }

.dominet-input,.dominet-input:hover{ background:#fff !important; color:var(--ink) !important;
  border:1px solid var(--line) !important; }
.dominet-input:focus{ border-color:var(--brand-600) !important;
  box-shadow:0 0 0 3px rgba(37,99,235,.12) !important; }
select.dominet-input,select.dominet-input option{ color:var(--ink) !important; background:#fff !important; }

/* Selector de servicio / método de pago */
.service-selector{ background:#fff !important; border:1px solid var(--line) !important; color:var(--ink) !important; }
.service-selector:hover{ border-color:#93c5fd !important; }
.service-selector.border-2,.service-selector.border-blue-500,
.payment-method-label.border-2,.payment-method-label.border-blue-500{
  border:1px solid var(--brand-600) !important; background:var(--brand-600) !important;
  box-shadow:0 0 0 3px rgba(37,99,235,.14) !important; }
.service-selector.border-2 *,.service-selector.border-blue-500 *,
.payment-method-label.border-2 *,.payment-method-label.border-blue-500 *{ color:#fff !important; }
.payment-method-label{ background:#fff !important; border:1px solid var(--line) !important; }

.price-pill-3d{ box-shadow:none !important; font-weight:700 !important; }

/* Insignias metálicas -> pills sobrias */
.metallic-badge-3d{ background:#fff !important; border:1px solid var(--line) !important;
  color:var(--ink-soft) !important; box-shadow:none !important; text-shadow:none !important;
  font-weight:700 !important; }
.metallic-badge-gold{ background:#fffbeb !important; border-color:#fde68a !important; color:#92400e !important; }
.metallic-badge-emerald{ background:#ecfdf5 !important; border-color:#a7f3d0 !important; color:#065f46 !important; }
.metallic-badge-cyan{ background:var(--brand-50) !important; border-color:var(--brand-100) !important; color:var(--brand) !important; }

/* Tabs navegación */
.nav-tab{ color:var(--muted) !important; }
.nav-tab:not(.active):hover{ background:#f1f5f9 !important; color:var(--ink) !important; }
.nav-tab.active{ background:var(--brand-600) !important; color:#fff !important; box-shadow:0 8px 20px -10px rgba(29,78,216,.5) !important; }
.nav-tab.active *{ color:#fff !important; }

/* Dock móvil inferior */
.mobile-bottom-dock{ background:rgba(255,255,255,.96) !important; border-top:1px solid var(--line) !important;
  box-shadow:0 -8px 24px -16px rgba(15,23,42,.2) !important; }
.dock-item{ color:var(--muted) !important; }
.dock-item.active,.dock-item.active i{ color:var(--brand) !important; }

/* Botones primarios de styles.css */
.btn-dominet-primary{ background:var(--brand-600) !important; color:#fff !important;
  box-shadow:0 10px 24px -10px rgba(29,78,216,.55) !important; }
.btn-dominet-primary:hover{ background:#1e40af !important; }
.btn-dominet-primary *{ color:#fff !important; }

/* Modales */
.modal-3d-content,[id^="modal-"] > div,[id^="modal-"] .dominet-card{ background:var(--surface) !important;
  color:var(--ink) !important; border:1px solid var(--line) !important; }
[id^="modal-"]{ background:rgba(15,23,42,.45) !important; }

/* Toast */
#toast-notification > div{ background:var(--surface) !important; color:var(--ink) !important;
  border:1px solid var(--line) !important; box-shadow:0 12px 30px -12px rgba(15,23,42,.3) !important; }

/* Header sticky */
header.sticky{ background:rgba(255,255,255,.92) !important; border-bottom:1px solid var(--line) !important;
  box-shadow:0 1px 0 rgba(15,23,42,.04) !important; }

/* Mapa */
.leaflet-container{ background:#e8eef5 !important; }

/* Links de acento siguen azules */
[class*="text-sky-"],[class*="text-blue-"]{ color:var(--brand) !important; }
[class*="text-emerald-"]{ color:#059669 !important; }
[class*="text-amber-"]{ color:#b45309 !important; }
[class*="text-red-"]{ color:#dc2626 !important; }
[class*="text-indigo-"]{ color:#4f46e5 !important; }
/* …salvo cuando van sobre fondo de color (ya forzado a blanco arriba) */
[class*="bg-blue-6"] [class*="text-"],[class*="bg-emerald-6"] [class*="text-"],
[class*="bg-indigo-6"] [class*="text-"],[class*="bg-brand-6"] [class*="text-"]{ color:#fff !important; }
