/* ===========================================================================
   Puente Bootstrap 5.3 → tokens de marca

   Los CSS propios del proyecto ya usan `--accent`, pero 51 templates heredados
   siguen usando las utilidades de Bootstrap (`btn-primary`, `text-primary`,
   `bg-primary`...). Sin este archivo esas pantallas quedan en el azul de
   Bootstrap (#0d6efd) aunque el gimnasio haya elegido otro color, y el
   white-label se ve a medias.

   Se carga DESPUÉS de bootstrap.min.css y ANTES del bloque de branding del
   gimnasio: acá se mapea contra `var(--accent)`, y el gimnasio solo redefine
   `--accent` en `:root`, así que todo se repinta solo.

   Bootstrap 5.3 no alcanza con pisarle `--bs-primary`: los botones se arman con
   variables locales `--bs-btn-*` declaradas dentro de `.btn-primary`, así que
   esas hay que redefinirlas una por una.
   =========================================================================== */

:root,
:root[data-theme="light"],
:root[data-theme="dark"] {
    --bs-primary:            var(--accent);
    --bs-primary-rgb:        var(--accent-rgb);
    --bs-link-color:         var(--accent);
    --bs-link-color-rgb:     var(--accent-rgb);
    --bs-link-hover-color:   var(--accent-hover);
    --bs-focus-ring-color:   rgba(var(--accent-rgb), .25);

    /* Bootstrap arma `.text-muted` con `--bs-secondary-color`, que por defecto
       es un gris oscuro fijo: en modo oscuro quedaba casi invisible sobre el
       fondo. Se lo apunta al token de la marca, que sí cambia con el tema. */
    --bs-secondary-color:    var(--text-muted);
    --bs-body-color:         var(--text-primary);
    --bs-emphasis-color:     var(--text-primary);
}

/* Botón sólido */
.btn-primary {
    --bs-btn-color:                 var(--accent-text);
    --bs-btn-bg:                    var(--accent);
    --bs-btn-border-color:          var(--accent);
    --bs-btn-hover-color:           var(--accent-text);
    --bs-btn-hover-bg:              var(--accent-hover);
    --bs-btn-hover-border-color:    var(--accent-hover);
    --bs-btn-active-color:          var(--accent-text);
    --bs-btn-active-bg:             var(--accent-active);
    --bs-btn-active-border-color:   var(--accent-active);
    --bs-btn-disabled-color:        var(--accent-text);
    --bs-btn-disabled-bg:           var(--accent);
    --bs-btn-disabled-border-color: var(--accent);
    --bs-btn-focus-shadow-rgb:      var(--accent-rgb);
}

/* Botón con borde */
.btn-outline-primary {
    --bs-btn-color:                 var(--accent);
    --bs-btn-border-color:          var(--accent);
    --bs-btn-hover-color:           var(--accent-text);
    --bs-btn-hover-bg:              var(--accent);
    --bs-btn-hover-border-color:    var(--accent);
    --bs-btn-active-color:          var(--accent-text);
    --bs-btn-active-bg:             var(--accent);
    --bs-btn-active-border-color:   var(--accent);
    --bs-btn-disabled-color:        var(--accent);
    --bs-btn-disabled-border-color: var(--accent);
    --bs-btn-focus-shadow-rgb:      var(--accent-rgb);
}

/* Botón que parece link */
.btn-link {
    --bs-btn-color:            var(--accent);
    --bs-btn-hover-color:      var(--accent-hover);
    --bs-btn-active-color:     var(--accent-active);
    --bs-btn-focus-shadow-rgb: var(--accent-rgb);
}

/* `.text-bg-primary` fija `color: #fff` a mano, no lo saca de una variable. */
.text-bg-primary {
    color: var(--accent-text) !important;
    background-color: rgba(var(--accent-rgb), var(--bs-bg-opacity, 1)) !important;
}

/* Controles de formulario: foco, checks, radios y switches. */
.form-control:focus,
.form-select:focus,
.form-check-input:focus {
    border-color: var(--accent);
    box-shadow: 0 0 0 .25rem rgba(var(--accent-rgb), .25);
}

.form-check-input:checked {
    background-color: var(--accent);
    border-color: var(--accent);
}

.form-range::-webkit-slider-thumb { background-color: var(--accent); }
.form-range::-moz-range-thumb     { background-color: var(--accent); }

/* Navegación por pestañas y paginado. */
.nav-pills {
    --bs-nav-pills-link-active-bg: var(--accent);
    --bs-nav-pills-link-active-color: var(--accent-text);
}

.nav-tabs {
    --bs-nav-tabs-link-active-color: var(--accent);
}

.page-link {
    --bs-pagination-color:            var(--accent);
    --bs-pagination-hover-color:      var(--accent-hover);
    --bs-pagination-active-bg:        var(--accent);
    --bs-pagination-active-border-color: var(--accent);
    --bs-pagination-active-color:     var(--accent-text);
    --bs-pagination-focus-color:      var(--accent-hover);
    --bs-pagination-focus-box-shadow: 0 0 0 .25rem rgba(var(--accent-rgb), .25);
}

/* Listas y dropdowns con ítem activo. */
.list-group {
    --bs-list-group-active-bg:           var(--accent);
    --bs-list-group-active-border-color: var(--accent);
    --bs-list-group-active-color:        var(--accent-text);
}

.dropdown-menu {
    --bs-dropdown-link-active-bg:    var(--accent);
    --bs-dropdown-link-active-color: var(--accent-text);
}

/* Barras de progreso y spinners. */
.progress-bar { background-color: var(--accent); }
.spinner-border.text-primary,
.spinner-grow.text-primary { color: var(--accent) !important; }
