:root{
  --navy:#0B1F3A;      /* autoridad */
  --steel:#1E88E5;     /* tecnología */
  --steel-700:#1565C0; /* hover CTA */
  --silver:#F2F5F8;    /* secciones */
  --graphite:#ECEFF1;  /* bordes suaves */
  --safe:#4CAF50;      /* estado OK */
}

body {
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif;
}

.container {
  max-width:1140px;
}

.shadow-soft {
  box-shadow:0 12px 36px rgba(11,31,58,.15);
}

.kpi {
  background:linear-gradient(180deg, rgba(255,255,255,.65), rgba(255,255,255,.45));
  backdrop-filter:blur(8px);
}

.wa {
  position: fixed;
  right: 16px;
  bottom: 16px;
  background: #25D366;
  color: #fff;
  padding: 14px 16px;
  border-radius: 999px;
  display: flex;
  gap: 10px;
  align-items: center;
  font-weight: 800;
  box-shadow: 0 10px 30px rgba(37,211,102,.45);
  z-index: 50;
}

/* --- Stars rating accesible --- */
.rating {
  --rating: 5;            /* valor 0..5 (puedes sobreescribir inline) */
  --star-size: 18px;
  --star-gap: .2em;
  --star-off: #e5e7eb;    /* gris (Tailwind gray-200) */
  --star-on:  #f59e0b;    /* ámbar (Tailwind amber-500) */
  display: inline-block;
  font-size: var(--star-size);
  line-height: 1;
  letter-spacing: var(--star-gap);
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Inter, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
}
.rating::before {
  /* 5 estrellas con relleno parcial según --rating */
  content: "★★★★★";
  background: linear-gradient(
    90deg,
    var(--star-on) calc(var(--rating) / 5 * 100%),
    var(--star-off) calc(var(--rating) / 5 * 100%)
  );
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
