/*
 * Identidad visual de FUSIÓN CHOPPER MOTO CLUB sobre Bootswatch Darkly 5.3.8.
 * Regla oficial: Estatutos, Art. 8 (colores amarillo rey Luminia 3297 y negro) y Art. 69/71
 * (parche: Top Rocker, colores, Bottom Rocker; el logo no se modifica).
 * Guía: docs/club/GUIA_ESTATUTOS_DISENO.md. Se carga DESPUÉS de Bootswatch; nunca editar vendor.
 *
 * Amarillo #EDC439: PROVISORIO (medido del logo de los estatutos) hasta que la directiva
 * entregue el valor exacto de «Luminia 3297». Rojo y verde: solo acentos del emblema.
 */

:root,
[data-bs-theme="dark"] {
  /* Colores institucionales */
  --fch-amarillo: #EDC439;
  --fch-amarillo-rgb: 237, 196, 57;
  --fch-amarillo-oscuro: #C9A22A;
  --fch-negro: #000000;
  --fch-superficie: #111111;
  --fch-superficie-2: #1A1A1A;
  /* Acentos del emblema (no institucionales) */
  --fch-rojo: #E22631;
  --fch-verde: #1E9756;

  --bs-body-bg: var(--fch-negro);
  --bs-body-bg-rgb: 0, 0, 0;
  --bs-body-color: #E9E9E9;
  --bs-secondary-bg: var(--fch-superficie-2);
  --bs-tertiary-bg: var(--fch-superficie);
  --bs-border-color: #2E2E2E;
  --bs-emphasis-color: #FFFFFF;

  --bs-primary: var(--fch-amarillo);
  --bs-primary-rgb: var(--fch-amarillo-rgb);
  --bs-primary-text-emphasis: var(--fch-amarillo);
  --bs-primary-bg-subtle: #2A2208;
  --bs-primary-border-subtle: #6B5714;
  --bs-danger: var(--fch-rojo);
  --bs-danger-rgb: 226, 38, 49;
  --bs-success: var(--fch-verde);
  --bs-success-rgb: 30, 151, 86;

  --bs-link-color: var(--fch-amarillo);
  --bs-link-color-rgb: var(--fch-amarillo-rgb);
  --bs-link-hover-color: #F6D873;
  --bs-link-hover-color-rgb: 246, 216, 115;
  --bs-focus-ring-color: rgba(var(--fch-amarillo-rgb), 0.4);
}

/* Botones primarios: amarillo con texto negro (contraste AA) */
.btn-primary {
  --bs-btn-color: #000;
  --bs-btn-bg: var(--fch-amarillo);
  --bs-btn-border-color: var(--fch-amarillo);
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #F2D163;
  --bs-btn-hover-border-color: #F2D163;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: var(--fch-amarillo-oscuro);
  --bs-btn-active-border-color: var(--fch-amarillo-oscuro);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: var(--fch-amarillo);
  --bs-btn-disabled-border-color: var(--fch-amarillo);
  --bs-btn-focus-shadow-rgb: var(--fch-amarillo-rgb);
}

.btn-outline-primary {
  --bs-btn-color: var(--fch-amarillo);
  --bs-btn-border-color: var(--fch-amarillo);
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: var(--fch-amarillo);
  --bs-btn-hover-border-color: var(--fch-amarillo);
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: var(--fch-amarillo-oscuro);
  --bs-btn-active-border-color: var(--fch-amarillo-oscuro);
  --bs-btn-focus-shadow-rgb: var(--fch-amarillo-rgb);
}

/* Alertas con fondo oscuro y borde de color (los colores sólidos de Darkly no dan contraste
   AA con texto blanco, y el naranja no es color del club). */
.alert-warning,
.alert-info {
  --bs-alert-bg: #2A2208;
  --bs-alert-color: #F6D873;
  --bs-alert-border-color: var(--fch-amarillo);
  --bs-alert-link-color: #F6D873;
}

.alert-danger {
  --bs-alert-bg: #2B0A0C;
  --bs-alert-color: #F4A3A8;
  --bs-alert-border-color: var(--fch-rojo);
  --bs-alert-link-color: #F4A3A8;
}

.alert-success {
  --bs-alert-bg: #08200F;
  --bs-alert-color: #8FDCAE;
  --bs-alert-border-color: var(--fch-verde);
  --bs-alert-link-color: #8FDCAE;
}

/* Darkly fija .alert{color:#fff;border:none} y fondos sólidos: se aplican las variables explícitamente. */
.alert-warning,
.alert-info,
.alert-danger,
.alert-success {
  background-color: var(--bs-alert-bg);
  border: 1px solid var(--bs-alert-border-color);
  color: var(--bs-alert-color);
}

.alert-warning a,
.alert-info a,
.alert-danger a,
.alert-success a {
  color: var(--bs-alert-link-color);
}

/* Barra de navegación negra con filete del parche (rojo + verde) */
.fch-navbar {
  --bs-navbar-color: #D6D6D6;
  --bs-navbar-hover-color: var(--fch-amarillo);
  --bs-navbar-active-color: var(--fch-amarillo);
  --bs-navbar-brand-color: var(--fch-amarillo);
  --bs-navbar-brand-hover-color: var(--fch-amarillo);
  background-color: var(--fch-negro);
  border-bottom: 3px solid var(--fch-rojo);
  box-shadow: 0 3px 0 var(--fch-verde);
}

.fch-navbar .navbar-brand {
  color: var(--fch-amarillo);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.fch-navbar .navbar-brand img {
  border-radius: 0.25rem;
}

.fch-navbar .nav-link.active,
.fch-navbar .nav-link:hover {
  color: var(--fch-amarillo);
}

/* Títulos de marca. Carnivalee Freakshow (Art. 8) pendiente de licencia: mientras tanto Lato 700. */
.fch-titulo-marca {
  color: var(--fch-amarillo);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* «Rocker»: bloque con doble filete rojo/verde, como el parche del club (Art. 69) */
.fch-rocker {
  background-color: var(--fch-superficie);
  border: 2px solid var(--fch-rojo);
  border-radius: 1rem;
  box-shadow: inset 0 0 0 3px var(--fch-negro), inset 0 0 0 5px var(--fch-verde);
}

.fch-lema {
  color: var(--fch-amarillo);
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.fch-logo {
  height: auto;
  max-width: 100%;
}

.fch-cita {
  border-left: 4px solid var(--fch-amarillo);
  padding-left: 1rem;
}

.card {
  --bs-card-bg: var(--fch-superficie);
  --bs-card-border-color: #2E2E2E;
}

.fch-footer {
  background-color: var(--fch-negro);
  border-top: 3px solid var(--fch-verde);
  box-shadow: 0 -3px 0 var(--fch-rojo);
}
