/* OXIRA Base — identidad BESTV y adaptación global de Bootstrap 5.
   Este archivo se carga en Front, Cliente y Admin antes del CSS de cada área. */

:root {
  --bc-azul: #15577E;
  --bc-azul-osc: #0E3D5A;
  --bc-navy: #0D2233;
  --bc-navy-2: #12314A;
  --bc-lima: #BCD200;
  --bc-lima-osc: #9AB000;
  --bc-celeste: #E8F1F7;
  --bc-gris: #F5F7F9;
  --bc-texto: #1C2B36;

  --bs-primary: var(--bc-azul);
  --bs-primary-rgb: 21, 87, 126;
  --bs-success: var(--bc-lima);
  --bs-success-rgb: 188, 210, 0;
  --bs-link-color: var(--bc-azul);
  --bs-link-color-rgb: 21, 87, 126;
  --bs-link-hover-color: var(--bc-azul-osc);
  --bs-link-hover-color-rgb: 14, 61, 90;

  /* OxiraUI adopta la marca del proyecto sin modificar el kit reutilizable. */
  --oxui-info: var(--bc-azul);
  --oxui-acento: var(--bc-lima);
  --oxui-texto: var(--bc-texto);
}

body {
  font-family: 'Nunito', 'Segoe UI', system-ui, sans-serif;
  color: var(--bc-texto);
}

/* Bootstrap nativo tematizado: no se crean botones paralelos. */
.btn-primary {
  --bs-btn-bg: var(--bc-azul); --bs-btn-border-color: var(--bc-azul);
  --bs-btn-hover-bg: var(--bc-azul-osc); --bs-btn-hover-border-color: var(--bc-azul-osc);
  --bs-btn-active-bg: var(--bc-azul-osc); --bs-btn-active-border-color: var(--bc-azul-osc);
  --bs-btn-disabled-bg: var(--bc-azul); --bs-btn-disabled-border-color: var(--bc-azul);
  font-weight: 700;
}
.btn-success {
  --bs-btn-color: var(--bc-navy); --bs-btn-bg: var(--bc-lima); --bs-btn-border-color: var(--bc-lima);
  --bs-btn-hover-color: var(--bc-navy); --bs-btn-hover-bg: var(--bc-lima-osc); --bs-btn-hover-border-color: var(--bc-lima-osc);
  --bs-btn-active-color: var(--bc-navy); --bs-btn-active-bg: var(--bc-lima-osc); --bs-btn-active-border-color: var(--bc-lima-osc);
  --bs-btn-disabled-color: var(--bc-navy); --bs-btn-disabled-bg: var(--bc-lima); --bs-btn-disabled-border-color: var(--bc-lima);
  font-weight: 800;
}
.btn-outline-primary {
  --bs-btn-color: var(--bc-azul); --bs-btn-border-color: var(--bc-azul);
  --bs-btn-hover-bg: var(--bc-azul); --bs-btn-hover-border-color: var(--bc-azul);
  --bs-btn-active-bg: var(--bc-azul); --bs-btn-active-border-color: var(--bc-azul);
  font-weight: 700;
}
.btn-outline-success {
  --bs-btn-color: var(--bc-lima-osc); --bs-btn-border-color: var(--bc-lima);
  --bs-btn-hover-color: var(--bc-navy); --bs-btn-hover-bg: var(--bc-lima); --bs-btn-hover-border-color: var(--bc-lima);
  --bs-btn-active-color: var(--bc-navy); --bs-btn-active-bg: var(--bc-lima); --bs-btn-active-border-color: var(--bc-lima);
  font-weight: 700;
}
.btn-outline-secondary {
  --bs-btn-color: var(--bc-azul-osc);
  --bs-btn-border-color: #B9C9D4;
  --bs-btn-hover-bg: var(--bc-celeste);
  --bs-btn-hover-color: var(--bc-azul);
  --bs-btn-hover-border-color: var(--bc-azul);
  --bs-btn-active-bg: var(--bc-celeste);
  --bs-btn-active-color: var(--bc-azul);
  --bs-btn-active-border-color: var(--bc-azul);
  font-weight: 600;
}
.btn-outline-danger, .btn-outline-warning { font-weight: 600; }
.btn { white-space: nowrap; }
.btn > i.bi { vertical-align: -1px; }
.text-bg-success { color: var(--bc-navy) !important; }
.badge.text-bg-success { font-weight: 700; }

/* Componentes realmente compartidos entre áreas. */
.bc-header { background: #fff; border-bottom: 1px solid #E3E9ED; }
.bc-header .navbar-brand img { height: 52px; }
.bc-header .nav-link { color: var(--bc-texto); font-weight: 700; padding: .5rem .9rem; }
.bc-header .nav-link:hover { color: var(--bc-azul); }
.bc-header .nav-link.active { color: var(--bc-azul); border-bottom: 3px solid var(--bc-lima); }
.bc-form-card { background: #fff; border: 1px solid #E3E9ED; border-radius: 1rem; padding: 2rem; }
.form-control:focus, .form-select:focus {
  border-color: var(--bc-azul);
  box-shadow: 0 0 0 .2rem rgba(21, 87, 126, .15);
}
.bc-banda-abonado { background: var(--bc-azul); color: #fff; border-radius: 1rem; }
.bc-banda-abonado .lima { color: var(--bc-lima); }
