/* =============================================================
   JURÍDICO VIRTUAL — AJUSTES FINALES V5
   Contraste reforzado y portada totalmente libre de cuadrículas.
   ============================================================= */

:root {
  --ink: #0a2535;
  --muted: #425a66;
  --gris: #425a66;
}

/* Portada: eliminar todas las líneas y marcos decorativos residuales */
.hero {
  background: linear-gradient(135deg,#f8fafb 0%,#eef4f6 100%) !important;
}
.hero-bg {
  display: none !important;
  background: none !important;
  background-image: none !important;
}
.hero::before,
.hero::after,
.hero-img-frame::before,
.hero-img-frame::after {
  content: none !important;
  display: none !important;
  background: none !important;
}
.hero-overlay {
  background:
    radial-gradient(ellipse at 84% 28%,rgba(47,111,145,.12),transparent 33%),
    radial-gradient(ellipse at 72% 82%,rgba(55,123,130,.09),transparent 31%) !important;
  background-image:
    radial-gradient(ellipse at 84% 28%,rgba(47,111,145,.12),transparent 33%),
    radial-gradient(ellipse at 72% 82%,rgba(55,123,130,.09),transparent 31%) !important;
  background-size: auto !important;
}

/* Contraste general */
body { color: var(--ink); }
.hero-subtitle,
.section-desc,
.servicio-card p,
.news-card-body p,
.about-text > p:not(.about-lead),
.pillar span,
.contact-info > p,
.contact-detail-text span,
.contact-detail-text a,
.sitio-body p,
.login-info > p,
.login-card-header p,
.login-contact-note {
  color: #425a66 !important;
}
.stat-label { color: #536a75; }
.news-img-placeholder::after,
.sitio-img-icon::after { color: #4d6875; }
.page-hero p { color: rgba(255,255,255,.82); }

/* Llamados intermedios: textos y botones claramente legibles */
.sitios-cta-mid,
.sitios-cta-mid[style] {
  background: linear-gradient(115deg,#092338 0%,#174d6b 100%) !important;
  border: 1px solid rgba(255,255,255,.12);
}
.sitios-cta-mid h3 {
  color: #ffffff !important;
}
.sitios-cta-mid h3 em {
  color: #a9d9ec !important;
  font-style: normal !important;
}
.sitios-cta-mid p {
  color: rgba(255,255,255,.86) !important;
}
.sitios-cta-mid .btn,
.sitios-cta-mid .btn-primary,
.sitios-cta-mid .btn-wa {
  background: #ffffff !important;
  border-color: #ffffff !important;
  color: #0a2a3d !important;
  box-shadow: none !important;
}
.sitios-cta-mid .btn:hover,
.sitios-cta-mid .btn-primary:hover,
.sitios-cta-mid .btn-wa:hover {
  background: #dceef5 !important;
  border-color: #dceef5 !important;
  color: #071f30 !important;
}

/* Contraste complementario */
.hero-art-location { color: #405d6b; }
.hero-badge-text span { color: #4b616c; }
.clientes-title { color: rgba(255,255,255,.76); }
.logo-placeholder::after { color: rgba(255,255,255,.64); }
.footer-brand p,
#footer { color: rgba(255,255,255,.7); }

@media (max-width: 640px) {
  .sitios-cta-mid { text-align: center; }
}
