/*
 * Transporteur 57 — Color overrides (Villefranche Express)
 *
 * Primary:   var(--bs-primary)
 * Secondary: #aa0000
 * Accent:    var(--bs-primary) (= primary, pas de variante distincte)
 *
 * Ce fichier complete default.css (charge en premier).
 * Il ne contient QUE les valeurs de couleur spécifiques au transporteur.
 */

/* ────────────────────────────────────────────
   1. CSS Variables — Light theme
   ──────────────────────────────────────────── */
:root,
[data-bs-theme=light] {
    --bs-primary: #483737;
    --bs-secondary: #aa0000;
    --bs-primary-rgb: 72, 55, 55;
    --bs-secondary-rgb: 170, 0, 0;
    --bs-primary-text-emphasis: rgb(28.8, 22, 22);
    --bs-secondary-text-emphasis: rgb(68, 0, 0);
    --bs-primary-bg-subtle: rgb(218.4, 215, 215);
    --bs-secondary-bg-subtle: rgb(238, 204, 204);
    --bs-primary-border-subtle: rgb(181.8, 175, 175);
    --bs-secondary-border-subtle: rgb(221, 153, 153);
    --bs-link-color: var(--bs-primary);
    --bs-link-color-rgb: 72, 55, 55;
    --bs-link-hover-color: rgb(57.6, 44, 44);
    --bs-link-hover-color-rgb: 58, 44, 44;
    --bs-focus-ring-color: rgba(72, 55, 55, 0.25);
}

/* ────────────────────────────────────────────
   2. CSS Variables — Dark theme
   ──────────────────────────────────────────── */
[data-bs-theme=dark] {
    --bs-primary-text-emphasis: rgb(145.2, 135, 135);
    --bs-secondary-text-emphasis: rgb(204, 102, 102);
    --bs-primary-bg-subtle: rgb(14.4, 11, 11);
    --bs-secondary-bg-subtle: rgb(34, 0, 0);
    --bs-primary-border-subtle: rgb(28.8, 22, 22);
    --bs-secondary-border-subtle: rgb(68, 0, 0);
    --bs-link-color: rgb(145.2, 135, 135);
    --bs-link-hover-color: rgb(167.16, 159, 159);
    --bs-link-color-rgb: 145, 135, 135;
    --bs-link-hover-color-rgb: 167, 159, 159;
}

/* ────────────────────────────────────────────
   3. Tables
   ──────────────────────────────────────────── */
.table-primary {
    --bs-table-bg: rgb(218.4, 215, 215);
    --bs-table-border-color: rgb(174.72, 172, 172);
    --bs-table-striped-bg: rgb(207.48, 204.25, 204.25);
    --bs-table-active-bg: rgb(196.56, 193.5, 193.5);
    --bs-table-hover-bg: rgb(202.02, 198.875, 198.875);
}

.table-secondary {
    --bs-table-bg: rgb(238, 204, 204);
    --bs-table-border-color: rgb(190.4, 163.2, 163.2);
    --bs-table-striped-bg: rgb(226.1, 193.8, 193.8);
    --bs-table-active-bg: rgb(214.2, 183.6, 183.6);
    --bs-table-hover-bg: rgb(220.15, 188.7, 188.7);
}

/* ────────────────────────────────────────────
   4. Form controls
   ──────────────────────────────────────────── */
.form-control:focus {
    border-color: rgb(163.5, 155, 155);
    box-shadow: var(--bs-box-shadow-inset), 0 0 0 0.25rem rgba(72, 55, 55, 0.25);
}

.form-select:focus {
    border-color: rgb(163.5, 155, 155);
    box-shadow: var(--bs-box-shadow-inset), 0 0 0 0.25rem rgba(72, 55, 55, 0.25);
}

.form-check-input:focus {
    border-color: rgb(163.5, 155, 155);
    box-shadow: 0 0 0 0.25rem rgba(72, 55, 55, 0.25);
}

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

.form-check-input[type=checkbox]:indeterminate {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
}

.form-switch .form-check-input:focus {
    --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgb%28163.5, 155, 155%29'/%3e%3c/svg%3e");
}

.form-range:focus::-webkit-slider-thumb {
    box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(72, 55, 55, 0.25);
}

.form-range:focus::-moz-range-thumb {
    box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(72, 55, 55, 0.25);
}

.form-range::-webkit-slider-thumb:active {
    background-color: rgb(218.4, 215, 215);
}

.form-range::-moz-range-thumb:active {
    background-color: rgb(218.4, 215, 215);
}

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

.form-range::-moz-range-thumb {
    background-color: var(--bs-primary);
}

/* ────────────────────────────────────────────
   5. Buttons
   ──────────────────────────────────────────── */
.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--bs-primary);
    --bs-btn-border-color: var(--bs-primary);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: rgb(61.2, 46.75, 46.75);
    --bs-btn-hover-border-color: rgb(57.6, 44, 44);
    --bs-btn-focus-shadow-rgb: 99, 85, 85;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: rgb(57.6, 44, 44);
    --bs-btn-active-border-color: rgb(54, 41.25, 41.25);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: var(--bs-primary);
    --bs-btn-disabled-border-color: var(--bs-primary);
}

.btn-secondary {
    --bs-btn-color: #fff;
    --bs-btn-bg: #aa0000;
    --bs-btn-border-color: #aa0000;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: rgb(144.5, 0, 0);
    --bs-btn-hover-border-color: rgb(136, 0, 0);
    --bs-btn-focus-shadow-rgb: 183, 38, 38;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: rgb(136, 0, 0);
    --bs-btn-active-border-color: rgb(127.5, 0, 0);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #aa0000;
    --bs-btn-disabled-border-color: #aa0000;
}

.btn-outline-primary {
    --bs-btn-color: var(--bs-primary);
    --bs-btn-border-color: var(--bs-primary);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--bs-primary);
    --bs-btn-hover-border-color: var(--bs-primary);
    --bs-btn-focus-shadow-rgb: 72, 55, 55;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--bs-primary);
    --bs-btn-active-border-color: var(--bs-primary);
    --bs-btn-disabled-color: var(--bs-primary);
    --bs-btn-disabled-border-color: var(--bs-primary);
}

.btn-outline-secondary {
    --bs-btn-color: #aa0000;
    --bs-btn-border-color: #aa0000;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #aa0000;
    --bs-btn-hover-border-color: #aa0000;
    --bs-btn-focus-shadow-rgb: 170, 0, 0;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #aa0000;
    --bs-btn-active-border-color: #aa0000;
    --bs-btn-disabled-color: #aa0000;
    --bs-btn-disabled-border-color: #aa0000;
}

.btn-link:focus-visible {
    --bs-btn-focus-shadow-rgb: 99, 85, 85;
}

/* ────────────────────────────────────────────
   6. Dropdown
   ──────────────────────────────────────────── */
.dropdown-menu {
    --bs-dropdown-link-active-bg: var(--bs-primary);
}

/* ────────────────────────────────────────────
   7. Navigation
   ──────────────────────────────────────────── */
.page-link:focus {
    box-shadow: 0 0 0 0.25rem rgba(72, 55, 55, 0.25);
}

.nav-pills {
    --bs-nav-pills-link-active-bg: var(--bs-primary);
}

/* ────────────────────────────────────────────
   8. Accordion
   ──────────────────────────────────────────── */
.accordion {
    --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='rgb%2828.8, 22, 22%29' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
    --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(72, 55, 55, 0.25);
}

[data-bs-theme=dark] .accordion {
    --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='rgb%28145.2, 135, 135%29'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e");
    --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='rgb%28145.2, 135, 135%29'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e");
}

/* ────────────────────────────────────────────
   9. Pagination
   ──────────────────────────────────────────── */
.pagination {
    --bs-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(72, 55, 55, 0.25);
    --bs-pagination-active-bg: var(--bs-primary);
    --bs-pagination-active-border-color: var(--bs-primary);
}

/* ────────────────────────────────────────────
   10. Progress
   ──────────────────────────────────────────── */
.progress {
    --bs-progress-bar-bg: var(--bs-primary);
}

/* ────────────────────────────────────────────
   11. List group
   ──────────────────────────────────────────── */
.list-group {
    --bs-list-group-active-bg: var(--bs-primary);
    --bs-list-group-active-border-color: var(--bs-primary);
}

/* ────────────────────────────────────────────
   12. Close button
   ──────────────────────────────────────────── */
.btn-close:focus {
    --bs-btn-close-focus-shadow: 0 0 0 0.25rem rgba(72, 55, 55, 0.25);
}

/* ────────────────────────────────────────────
   13. Utilities
   ──────────────────────────────────────────── */
.link-primary {
    color: RGBA(58, 44, 44, var(--bs-link-opacity, 1)) !important;
    text-decoration-color: RGBA(58, 44, 44, var(--bs-link-underline-opacity, 1)) !important;
}

.link-secondary {
    color: RGBA(136, 0, 0, var(--bs-link-opacity, 1)) !important;
    text-decoration-color: RGBA(136, 0, 0, var(--bs-link-underline-opacity, 1)) !important;
}

/* ────────────────────────────────────────────
   14. AdminLTE — Cards
   ──────────────────────────────────────────── */
.card-primary {
    --lte-card-variant-bg: var(--bs-primary);
    --lte-card-variant-bg-rgb: 72, 55, 55;
    --lte-card-variant-color: #fff;
    --lte-card-variant-color-rgb: 255, 255, 255;
}

.card-secondary {
    --lte-card-variant-bg: #aa0000;
    --lte-card-variant-bg-rgb: 170, 0, 0;
    --lte-card-variant-color: #fff;
    --lte-card-variant-color-rgb: 255, 255, 255;
}

/* ────────────────────────────────────────────
   15. AdminLTE — Direct chat
   ──────────────────────────────────────────── */
.direct-chat-primary .right > .direct-chat-text {
    --lte-direct-chat-color: #fff;
    --lte-direct-chat-bg: var(--bs-primary);
}

.direct-chat-secondary .right > .direct-chat-text {
    --lte-direct-chat-color: #fff;
    --lte-direct-chat-bg: #aa0000;
}

/* ────────────────────────────────────────────
   16. AdminLTE — Toasts
   ──────────────────────────────────────────── */
.toast-primary {
    --bs-toast-header-color: #fff;
    --bs-toast-header-bg: var(--bs-primary);
    --bs-toast-header-border-color: var(--bs-primary);
    --bs-toast-border-color: var(--bs-primary);
}

.toast-secondary {
    --bs-toast-header-color: #fff;
    --bs-toast-header-bg: #aa0000;
    --bs-toast-header-border-color: #aa0000;
    --bs-toast-border-color: #aa0000;
}

/* ────────────────────────────────────────────
   17. Dark mode — Form control focus
   ──────────────────────────────────────────── */
[data-bs-theme=dark] .form-control:focus,
[data-bs-theme=dark] .form-select:focus {
    border-color: rgb(163.5, 155, 155);
}
