/*
 * Caballos · marca v1.0 (noviembre de 2026). Se carga después de style.css.
 * Colores y reglas de uso: docs/Caballos-Manual-de-marca.pdf
 *   Medianoche = color principal · Cebada = acento (nunca para texto sobre claro)
 *   Arena = fondo · Azul acero = secundario · Rubí = alertas y saldos pendientes
 */
:root {
  --caballos-medianoche: #14213D;
  --caballos-cebada: #E2A829;
  --caballos-arena: #F4EFE4;
  --caballos-tinta: #10151F;
  --caballos-azul-acero: #3A5A8C;
  --caballos-ocre: #886519;
  --caballos-rubi: #A32A2A;
  --caballos-blanco: #FFFFFF;
  --caballos-fuente: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
}

html { font-optical-sizing: auto; }

body,
button, input, select, textarea, .btn, .form-control, .form-select,
table, .dataTable, .swal-text, .swal-title {
  font-family: var(--caballos-fuente);
}

/* Títulos: Inter Display (el corte óptico de Inter para tamaños grandes) */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.card-header h5, .page-header h3, .modal-title {
  font-family: var(--caballos-fuente);
  font-optical-sizing: auto;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--caballos-medianoche);
}

/* Logo en la barra superior: sin descriptor, a la altura de la cabecera */
.logo-wrapper img,
.dark-logo-wrapper img {
  height: 30px;
  width: auto;
  max-width: 100%;
}

/* Cebada: elemento activo de la navegación (manual, «En el producto») */
.main-navbar .nav-menu > li > a.active,
.main-navbar .nav-menu > li > a.active i,
.main-navbar .nav-submenu li a.active {
  color: var(--caballos-cebada);
}
.main-navbar .nav-menu > li > a.active svg { stroke: var(--caballos-cebada); }

/* El logo y el punto cebada son gráficos; el texto de acento sobre claro usa Ocre */
.text-warning { color: var(--caballos-ocre) !important; }

/* Saldos y errores en Rubí */
.text-danger, .invalid-feedback { color: var(--caballos-rubi); }

/* Etiqueta de sección: Inter SemiBold 12, mayúsculas, espaciado 0,14 em */
.caballos-etiqueta {
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--caballos-ocre);
}

/* Pantalla de acceso: Arena de fondo, tarjeta blanca */
.login-card { background: var(--caballos-arena); }
.login-card img[alt="Caballos"] { height: auto; }

::selection { background: var(--caballos-cebada); color: var(--caballos-tinta); }

/* Avatar con iniciales (sustituye la imagen de plantilla) */
.caballos-avatar {
  display: inline-flex; align-items: center; justify-content: center;
  width: 72px; height: 72px; border-radius: 50%;
  background: var(--caballos-medianoche); color: var(--caballos-arena);
  font-weight: 700; font-size: 24px; letter-spacing: 0.02em;
}

/* Voz de marca: frases en minúscula normal, sin mayúsculas sostenidas ni «Title Case» (solo la etiqueta de sección) */
body *:not(.caballos-etiqueta) { text-transform: none !important; }
.caballos-etiqueta { text-transform: uppercase; }

/* Acceso y pantallas de bienvenida */
.login-card2 { background: var(--caballos-arena); }
.login-form p { font-weight: 400; }
.login-form details summary { cursor: pointer; color: var(--caballos-azul-acero); font-weight: 500; }

/* Pantallas públicas y de acceso: fondo Arena */
.background-screen, section.background-screen, body.body-page { background: var(--caballos-arena) !important; }
