/* ==========================================================================
   ScoutBook - tema: font, palette e colori di Bootstrap
   Caricato subito dopo Bootstrap e prima degli altri fogli di stile.

   Colori delle branche presi da agesci.it; il colore principale dell'interfaccia è un blu,
   e il resto della palette (neutri e colori di stato) è scelto per stare bene accanto a loro:
   neutri appena azzurrati, stati un po' più "spenti" delle branche per non confondersi con esse.
   ========================================================================== */

/* Inter: usato solo dove manca il font di sistema Apple (Windows, Android, Linux).
   Sul Mac e sugli iPhone vince -apple-system e il file non viene nemmeno scaricato. */
@font-face {
    font-family: "Inter";
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url("../fonts/inter-latin-wght.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329,
                   U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
    /* ---------- colore principale: pulsanti, link, menu, selezioni ---------- */
    --sb-blu: #0f67cc;
    --sb-blu-scuro: #0042a6;
    --sb-blu-notte: #00127f;
    --sb-blu-medio: #1a80da;
    --sb-azzurro: #1fc0ff;
    --sb-blu-chiaro: #e3eefb;
    --sb-blu-tenue: #f1f6fd;

    /* branche: colore pieno, versione scura (testo su bianco), versione chiara (sfondi) */
    --sb-lc: #fcc12e;
    --sb-lc-scuro: #8a6300;
    --sb-lc-chiaro: #fff4d6;
    --sb-lc-testo: #3d2c00;         /* testo sopra il giallo pieno */
    --sb-eg: #409a59;
    --sb-eg-scuro: #2b6e3e;
    --sb-eg-chiaro: #e3f2e7;
    --sb-rs: #e73c2e;
    --sb-rs-scuro: #b02a1f;
    --sb-rs-chiaro: #fde6e3;
    --sb-coca: #6c4796;
    --sb-coca-scuro: #472778;
    --sb-coca-chiaro: #ece5f5;

    /* ---------- colori di stato ---------- */
    --sb-ok: #2e8a68;               /* fatto, presente, confermato */
    --sb-ok-scuro: #1f6a4f;
    --sb-ok-chiaro: #e0f2ea;
    --sb-attenzione: #e9a21c;       /* da controllare */
    --sb-attenzione-scuro: #8a5a00;
    --sb-attenzione-chiaro: #fdf1d8;
    --sb-errore: #d2453a;           /* errori, eliminazioni */
    --sb-errore-scuro: #a8322a;
    --sb-errore-chiaro: #fbe5e2;
    --sb-info: #1593b8;             /* informazioni: ottanio, per staccarsi dal blu principale */
    --sb-info-scuro: #0b6a87;
    --sb-info-chiaro: #e0f4fa;

    /* ---------- neutri ---------- */
    --sb-inchiostro: #1b1f27;
    --sb-grafite: #384050;
    --sb-ardesia: #667085;
    --sb-nebbia: #9aa3b2;
    --sb-linea: #d8dde5;
    --sb-linea-tenue: #e7ebf0;
    --sb-carta: #f3f5f8;
    --sb-carta-scura: #e9edf2;
    --sb-bianco-sporco: #f9fafc;
    --sb-sbiadito: #c3c7ce;         /* testo quasi spento (giorni fuori mese, segnaposto) */

    /* superfici: nel tema scuro diventano grigi; usarle al posto di #fff */
    --sb-pannello: #ffffff;         /* pannelli, card, riquadri in primo piano */
    --sb-tessera: #f1f3f7;          /* riquadri pieni senza bordo dentro un pannello (tappe, specialità) */
    --sb-campo: #ffffff;            /* campi dei form */
    --sb-contrasto: #000000;        /* da mescolare a un colore per renderlo leggibile come testo:
                                       nero sul chiaro, bianco sullo scuro */
    --sb-segmenti: #f0f1f4;         /* controllo segmentato (schede): il fondo... */
    --sb-segmento-attivo: #ffffff;  /* ...e la scheda scelta */

    --sb-font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Inter", "Segoe UI Variable Text", "Segoe UI",
               Roboto, "Helvetica Neue", Arial, sans-serif;

    /* ---------- Bootstrap ---------- */
    --bs-font-sans-serif: var(--sb-font);
    --bs-body-font-family: var(--sb-font);
    --bs-body-color: var(--sb-inchiostro);
    --bs-body-color-rgb: 27, 31, 39;
    --bs-emphasis-color: var(--sb-inchiostro);
    --bs-secondary-color: var(--sb-ardesia);
    --bs-tertiary-color: var(--sb-nebbia);
    --bs-secondary-bg: var(--sb-carta-scura);
    --bs-tertiary-bg: var(--sb-bianco-sporco);
    --bs-border-color: var(--sb-linea);
    --bs-border-color-translucent: rgba(27, 31, 39, .12);

    --bs-primary: #0f67cc;
    --bs-primary-rgb: 15, 103, 204;
    --bs-primary-text-emphasis: #0042a6;
    --bs-primary-bg-subtle: #e3eefb;
    --bs-primary-border-subtle: #bcd3f2;

    --bs-secondary: #667085;
    --bs-secondary-rgb: 102, 112, 133;
    --bs-secondary-text-emphasis: #384050;
    --bs-secondary-bg-subtle: #e9edf2;
    --bs-secondary-border-subtle: #d8dde5;

    --bs-success: #2e8a68;
    --bs-success-rgb: 46, 138, 104;
    --bs-success-text-emphasis: #1f6a4f;
    --bs-success-bg-subtle: #e0f2ea;
    --bs-success-border-subtle: #b9e0cf;

    --bs-warning: #e9a21c;
    --bs-warning-rgb: 233, 162, 28;
    --bs-warning-text-emphasis: #8a5a00;
    --bs-warning-bg-subtle: #fdf1d8;
    --bs-warning-border-subtle: #f6dca5;

    --bs-danger: #d2453a;
    --bs-danger-rgb: 210, 69, 58;
    --bs-danger-text-emphasis: #a8322a;
    --bs-danger-bg-subtle: #fbe5e2;
    --bs-danger-border-subtle: #f3c1bb;

    --bs-info: #1593b8;
    --bs-info-rgb: 21, 147, 184;
    --bs-info-text-emphasis: #0b6a87;
    --bs-info-bg-subtle: #e0f4fa;
    --bs-info-border-subtle: #b3e0ee;

    --bs-light: #f3f5f8;
    --bs-light-rgb: 243, 245, 248;
    --bs-dark: #1b1f27;
    --bs-dark-rgb: 27, 31, 39;

    --bs-link-color: #0f67cc;
    --bs-link-color-rgb: 15, 103, 204;
    --bs-link-hover-color: #0042a6;
    --bs-link-hover-color-rgb: 0, 66, 166;
    --bs-focus-ring-color: rgba(15, 103, 204, .25);
    --bs-form-valid-color: #2e8a68;
    --bs-form-valid-border-color: #2e8a68;
    --bs-form-invalid-color: #d2453a;
    --bs-form-invalid-border-color: #d2453a;
}

/* ==========================================================================
   Tema scuro: data-bs-theme="dark" su <html>, messo da _tema.html secondo la scelta dell'utente
   (Impostazioni) o del sistema. Sul modello del Calendario del Mac: grigi quasi neutri, la barra
   laterale un po' più chiara del contenuto, colori pieni un po' più luminosi.
   Stessi nomi del tema chiaro, con un'avvertenza: le versioni "-scuro" sono il colore da usare
   come testo, quindi qui diventano più chiare; le "-chiaro" sono gli sfondi tenui, qui scuri.
   ========================================================================== */

[data-bs-theme=dark] {
    color-scheme: dark;

    --sb-blu: #3a8ef0;
    --sb-blu-scuro: #8dbcf6;
    --sb-blu-medio: #2a7ad8;
    --sb-blu-chiaro: #1c3352;
    --sb-blu-tenue: #1b2433;

    --sb-lc: #fcc12e;
    --sb-lc-scuro: #f3cb5e;
    --sb-lc-chiaro: #3a3018;
    --sb-eg: #4cad67;
    --sb-eg-scuro: #8ad49f;
    --sb-eg-chiaro: #1b3324;
    --sb-rs: #ec5446;
    --sb-rs-scuro: #ff9a90;
    --sb-rs-chiaro: #42201d;
    --sb-coca: #9878c6;
    --sb-coca-scuro: #c7b0e8;
    --sb-coca-chiaro: #2d2540;

    --sb-ok: #33a078;
    --sb-ok-scuro: #82d4b1;
    --sb-ok-chiaro: #17342a;
    --sb-attenzione: #eaa62a;
    --sb-attenzione-scuro: #f3c871;
    --sb-attenzione-chiaro: #392d15;
    --sb-errore: #e05a4f;
    --sb-errore-scuro: #ff978d;
    --sb-errore-chiaro: #3f1f1c;
    --sb-info: #2aa6cb;
    --sb-info-scuro: #85d2ea;
    --sb-info-chiaro: #15303a;

    --sb-inchiostro: #e8eaee;
    --sb-grafite: #c4c8d0;
    --sb-ardesia: #979dab;
    --sb-nebbia: #6d7381;
    --sb-sbiadito: #4d525c;
    --sb-linea: #3a3d44;
    --sb-linea-tenue: #2e3036;
    --sb-carta: #151619;            /* sfondo dell'area contenuti */
    --sb-carta-scura: #26282d;      /* barra laterale, etichette */
    --sb-bianco-sporco: #212328;    /* testate delle tabelle, piedi dei form */
    --sb-pannello: #1c1d21;
    --sb-tessera: #2a2c32;
    --sb-campo: #26282d;
    --sb-contrasto: #ffffff;
    --sb-segmenti: #26282d;
    --sb-segmento-attivo: #464950;

    --bs-body-color: var(--sb-inchiostro);
    --bs-body-color-rgb: 232, 234, 238;
    --bs-body-bg: var(--sb-pannello);
    --bs-body-bg-rgb: 28, 29, 33;
    --bs-emphasis-color: #fff;
    --bs-emphasis-color-rgb: 255, 255, 255;
    --bs-secondary-color: var(--sb-ardesia);
    --bs-tertiary-color: var(--sb-nebbia);
    --bs-secondary-bg: var(--sb-carta-scura);
    --bs-tertiary-bg: var(--sb-bianco-sporco);
    --bs-border-color: var(--sb-linea);
    --bs-border-color-translucent: rgba(255, 255, 255, .12);
    --bs-heading-color: inherit;

    --bs-primary: #3a8ef0;
    --bs-primary-rgb: 58, 142, 240;
    --bs-primary-text-emphasis: #8dbcf6;
    --bs-primary-bg-subtle: #1c3352;
    --bs-primary-border-subtle: #2b5486;

    --bs-secondary: #979dab;
    --bs-secondary-rgb: 151, 157, 171;
    --bs-secondary-text-emphasis: #c4c8d0;
    --bs-secondary-bg-subtle: #26282d;
    --bs-secondary-border-subtle: #3a3d44;

    --bs-success: #33a078;
    --bs-success-rgb: 51, 160, 120;
    --bs-success-text-emphasis: #82d4b1;
    --bs-success-bg-subtle: #17342a;
    --bs-success-border-subtle: #22543f;

    --bs-warning: #eaa62a;
    --bs-warning-rgb: 234, 166, 42;
    --bs-warning-text-emphasis: #f3c871;
    --bs-warning-bg-subtle: #392d15;
    --bs-warning-border-subtle: #5f4a1f;

    --bs-danger: #e05a4f;
    --bs-danger-rgb: 224, 90, 79;
    --bs-danger-text-emphasis: #ff978d;
    --bs-danger-bg-subtle: #3f1f1c;
    --bs-danger-border-subtle: #6a312b;

    --bs-info: #2aa6cb;
    --bs-info-rgb: 42, 166, 203;
    --bs-info-text-emphasis: #85d2ea;
    --bs-info-bg-subtle: #15303a;
    --bs-info-border-subtle: #1f4f5f;

    --bs-light: #26282d;
    --bs-light-rgb: 38, 40, 45;
    --bs-dark: #0e0f11;
    --bs-dark-rgb: 14, 15, 17;

    --bs-link-color: #5ea3f3;
    --bs-link-color-rgb: 94, 163, 243;
    --bs-link-hover-color: #8dbcf6;
    --bs-link-hover-color-rgb: 141, 188, 246;
    --bs-focus-ring-color: rgba(58, 142, 240, .35);
    --bs-form-valid-color: #82d4b1;
    --bs-form-valid-border-color: #33a078;
    --bs-form-invalid-color: #ff978d;
    --bs-form-invalid-border-color: #e05a4f;
}

/* ---------- tipografia "alla Apple": testo morbido, titoli un po' stretti ---------- */

body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

h1, h2, h3, .h1, .h2, .h3 {
    letter-spacing: -.015em;
}

h4, h5, h6, .h4, .h5, .h6 {
    letter-spacing: -.005em;
}

::selection {
    background: var(--sb-blu-chiaro);
}

/* ---------- pulsanti ---------- */

.btn-primary {
    --bs-btn-bg: var(--sb-blu);
    --bs-btn-border-color: var(--sb-blu);
    --bs-btn-hover-bg: var(--sb-blu-scuro);
    --bs-btn-hover-border-color: var(--sb-blu-scuro);
    --bs-btn-active-bg: #003498;
    --bs-btn-active-border-color: #003498;
    --bs-btn-disabled-bg: var(--sb-blu);
    --bs-btn-disabled-border-color: var(--sb-blu);
    --bs-btn-focus-shadow-rgb: 15, 103, 204;
}

.btn-secondary {
    --bs-btn-bg: var(--sb-ardesia);
    --bs-btn-border-color: var(--sb-ardesia);
    --bs-btn-hover-bg: var(--sb-grafite);
    --bs-btn-hover-border-color: var(--sb-grafite);
    --bs-btn-active-bg: var(--sb-inchiostro);
    --bs-btn-active-border-color: var(--sb-inchiostro);
    --bs-btn-disabled-bg: var(--sb-ardesia);
    --bs-btn-disabled-border-color: var(--sb-ardesia);
    --bs-btn-focus-shadow-rgb: 102, 112, 133;
}

.btn-success {
    --bs-btn-bg: var(--sb-ok);
    --bs-btn-border-color: var(--sb-ok);
    --bs-btn-hover-bg: var(--sb-ok-scuro);
    --bs-btn-hover-border-color: var(--sb-ok-scuro);
    --bs-btn-active-bg: var(--sb-ok-scuro);
    --bs-btn-active-border-color: var(--sb-ok-scuro);
    --bs-btn-disabled-bg: var(--sb-ok);
    --bs-btn-disabled-border-color: var(--sb-ok);
    --bs-btn-focus-shadow-rgb: 46, 138, 104;
}

.btn-danger {
    --bs-btn-bg: var(--sb-errore);
    --bs-btn-border-color: var(--sb-errore);
    --bs-btn-hover-bg: var(--sb-errore-scuro);
    --bs-btn-hover-border-color: var(--sb-errore-scuro);
    --bs-btn-active-bg: var(--sb-errore-scuro);
    --bs-btn-active-border-color: var(--sb-errore-scuro);
    --bs-btn-disabled-bg: var(--sb-errore);
    --bs-btn-disabled-border-color: var(--sb-errore);
    --bs-btn-focus-shadow-rgb: 210, 69, 58;
}

.btn-warning {
    --bs-btn-color: var(--sb-inchiostro);
    --bs-btn-bg: var(--sb-attenzione);
    --bs-btn-border-color: var(--sb-attenzione);
    --bs-btn-hover-color: var(--sb-inchiostro);
    --bs-btn-hover-bg: #d99213;
    --bs-btn-hover-border-color: #d99213;
    --bs-btn-active-color: var(--sb-inchiostro);
    --bs-btn-active-bg: #c9860f;
    --bs-btn-active-border-color: #c9860f;
    --bs-btn-disabled-bg: var(--sb-attenzione);
    --bs-btn-disabled-border-color: var(--sb-attenzione);
    --bs-btn-focus-shadow-rgb: 233, 162, 28;
}

.btn-info {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--sb-info);
    --bs-btn-border-color: var(--sb-info);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--sb-info-scuro);
    --bs-btn-hover-border-color: var(--sb-info-scuro);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--sb-info-scuro);
    --bs-btn-active-border-color: var(--sb-info-scuro);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: var(--sb-info);
    --bs-btn-disabled-border-color: var(--sb-info);
    --bs-btn-focus-shadow-rgb: 21, 147, 184;
}

.btn-outline-primary {
    --bs-btn-color: var(--sb-blu);
    --bs-btn-border-color: var(--sb-blu);
    --bs-btn-hover-bg: var(--sb-blu);
    --bs-btn-hover-border-color: var(--sb-blu);
    --bs-btn-active-bg: var(--sb-blu-scuro);
    --bs-btn-active-border-color: var(--sb-blu-scuro);
    --bs-btn-disabled-color: var(--sb-blu);
    --bs-btn-disabled-border-color: var(--sb-blu);
    --bs-btn-focus-shadow-rgb: 15, 103, 204;
}

.btn-outline-secondary {
    --bs-btn-color: var(--sb-grafite);
    --bs-btn-border-color: var(--sb-linea);
    --bs-btn-hover-color: var(--sb-inchiostro);
    --bs-btn-hover-bg: var(--sb-carta-scura);
    --bs-btn-hover-border-color: var(--sb-linea);
    --bs-btn-active-color: var(--sb-inchiostro);
    --bs-btn-active-bg: var(--sb-linea);
    --bs-btn-active-border-color: var(--sb-linea);
    --bs-btn-disabled-color: var(--sb-nebbia);
    --bs-btn-disabled-border-color: var(--sb-linea);
    --bs-btn-focus-shadow-rgb: 102, 112, 133;
}

.btn-outline-success {
    --bs-btn-color: var(--sb-ok-scuro);
    --bs-btn-border-color: var(--sb-ok);
    --bs-btn-hover-bg: var(--sb-ok);
    --bs-btn-hover-border-color: var(--sb-ok);
    --bs-btn-active-bg: var(--sb-ok-scuro);
    --bs-btn-active-border-color: var(--sb-ok-scuro);
    --bs-btn-disabled-color: var(--sb-ok);
    --bs-btn-disabled-border-color: var(--sb-ok);
    --bs-btn-focus-shadow-rgb: 46, 138, 104;
}

.btn-outline-danger {
    --bs-btn-color: var(--sb-errore-scuro);
    --bs-btn-border-color: var(--sb-errore);
    --bs-btn-hover-bg: var(--sb-errore);
    --bs-btn-hover-border-color: var(--sb-errore);
    --bs-btn-active-bg: var(--sb-errore-scuro);
    --bs-btn-active-border-color: var(--sb-errore-scuro);
    --bs-btn-disabled-color: var(--sb-errore);
    --bs-btn-disabled-border-color: var(--sb-errore);
    --bs-btn-focus-shadow-rgb: 210, 69, 58;
}

.btn-outline-warning {
    --bs-btn-color: var(--sb-attenzione-scuro);
    --bs-btn-border-color: var(--sb-attenzione);
    --bs-btn-hover-color: var(--sb-inchiostro);
    --bs-btn-hover-bg: var(--sb-attenzione);
    --bs-btn-hover-border-color: var(--sb-attenzione);
    --bs-btn-active-color: var(--sb-inchiostro);
    --bs-btn-active-bg: #d99213;
    --bs-btn-active-border-color: #d99213;
    --bs-btn-focus-shadow-rgb: 233, 162, 28;
}

.btn-outline-info {
    --bs-btn-color: var(--sb-info);
    --bs-btn-border-color: var(--sb-info);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--sb-info);
    --bs-btn-hover-border-color: var(--sb-info);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--sb-info-scuro);
    --bs-btn-active-border-color: var(--sb-info-scuro);
    --bs-btn-focus-shadow-rgb: 21, 147, 184;
}

.btn-link {
    --bs-btn-color: var(--sb-blu);
    --bs-btn-hover-color: var(--sb-blu-scuro);
    --bs-btn-active-color: var(--sb-blu-scuro);
}

/* ---------- campi dei form ---------- */

.form-control:focus,
.form-select:focus {
    border-color: #8cb6ea;
    box-shadow: 0 0 0 .25rem var(--bs-focus-ring-color);
}

.form-check-input:focus {
    border-color: #8cb6ea;
    box-shadow: 0 0 0 .25rem var(--bs-focus-ring-color);
}

.form-check-input:checked,
.form-check-input[type=checkbox]:indeterminate {
    background-color: var(--sb-blu);
    border-color: var(--sb-blu);
}

.form-switch .form-check-input:focus:not(:checked) {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%238cb6ea'/%3e%3c/svg%3e");
}

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

.accordion {
    --bs-accordion-btn-focus-box-shadow: 0 0 0 .25rem var(--bs-focus-ring-color);
    --bs-accordion-active-color: var(--sb-blu-scuro);
    --bs-accordion-active-bg: var(--sb-blu-tenue);
}

/* ---------- sfumature a mosaico ----------
   Una piastrella SVG di triangoli bianchi e neri semitrasparenti (2 kB) sopra a una sfumatura:
   chi la usa sceglie i due colori con --m1 e --m2 (default: il blu principale)
   e la direzione con --m-direzione (default: in diagonale). */

.sb-mosaico {
    background-color: var(--m2, var(--sb-blu-notte));
    background-image:
        url("../img/mosaico.svg"),
        linear-gradient(var(--m-direzione, 135deg), var(--m1, var(--sb-blu-medio)), var(--m2, var(--sb-blu-notte)));
    background-size: 360px 312px, cover;
    color: #fff;
}

.sb-mosaico-lc { --m1: #ffd766; --m2: #e59a00; }
.sb-mosaico-eg { --m1: #6cbf7f; --m2: #1f6a3a; }
.sb-mosaico-rs { --m1: #f2705f; --m2: #a5221a; }
.sb-mosaico-coca { --m1: #8f6bb8; --m2: #2e1250; }

/* ---------- componenti nel tema scuro ----------
   Nel tema chiaro hover e pressione scuriscono il colore; qui lo schiariscono un po'
   (le variabili "-scuro" sono diventate colori da testo e non vanno bene come sfondo). */

[data-bs-theme=dark] .btn-primary,
[data-bs-theme=dark] .btn-outline-primary {
    --bs-btn-hover-bg: #5aa1f3;
    --bs-btn-hover-border-color: #5aa1f3;
    --bs-btn-active-bg: #70aef5;
    --bs-btn-active-border-color: #70aef5;
    --bs-btn-focus-shadow-rgb: 58, 142, 240;
}

[data-bs-theme=dark] .btn-outline-primary {
    --bs-btn-color: #5ea3f3;
    --bs-btn-hover-color: #fff;
}

[data-bs-theme=dark] .btn-secondary {
    --bs-btn-bg: #4a4f5a;
    --bs-btn-border-color: #4a4f5a;
    --bs-btn-hover-bg: #5a606c;
    --bs-btn-hover-border-color: #5a606c;
    --bs-btn-active-bg: #6a707d;
    --bs-btn-active-border-color: #6a707d;
    --bs-btn-disabled-bg: #4a4f5a;
    --bs-btn-disabled-border-color: #4a4f5a;
}

[data-bs-theme=dark] .btn-success,
[data-bs-theme=dark] .btn-outline-success {
    --bs-btn-hover-bg: #45b089;
    --bs-btn-hover-border-color: #45b089;
    --bs-btn-active-bg: #56bc96;
    --bs-btn-active-border-color: #56bc96;
}

[data-bs-theme=dark] .btn-danger,
[data-bs-theme=dark] .btn-outline-danger {
    --bs-btn-hover-bg: #e86e64;
    --bs-btn-hover-border-color: #e86e64;
    --bs-btn-active-bg: #ee8179;
    --bs-btn-active-border-color: #ee8179;
}

[data-bs-theme=dark] .btn-info,
[data-bs-theme=dark] .btn-outline-info {
    --bs-btn-hover-bg: #43b4d6;
    --bs-btn-hover-border-color: #43b4d6;
    --bs-btn-active-bg: #5bc0de;
    --bs-btn-active-border-color: #5bc0de;
}

/* sul giallo il testo resta scuro */
[data-bs-theme=dark] .btn-warning,
[data-bs-theme=dark] .btn-outline-warning {
    --bs-btn-color: #1b1f27;
    --bs-btn-hover-color: #1b1f27;
    --bs-btn-active-color: #1b1f27;
    --bs-btn-disabled-color: #1b1f27;
}

[data-bs-theme=dark] .btn-outline-warning {
    --bs-btn-color: var(--sb-attenzione-scuro);
}

/* btn-light: in Bootstrap resta chiaro anche nel tema scuro, qui diventa un grigio "da Mac" */
[data-bs-theme=dark] .btn-light {
    --bs-btn-color: var(--sb-inchiostro);
    --bs-btn-bg: #33363c;
    --bs-btn-border-color: #3d4047;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #3d4047;
    --bs-btn-hover-border-color: #474a52;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #474a52;
    --bs-btn-active-border-color: #50545c;
    --bs-btn-disabled-color: var(--sb-ardesia);
    --bs-btn-disabled-bg: #33363c;
    --bs-btn-disabled-border-color: #3d4047;
}

[data-bs-theme=dark] .text-bg-light {
    color: var(--sb-inchiostro) !important;
    background-color: #33363c !important;
}

[data-bs-theme=dark] .bg-white,
[data-bs-theme=dark] .bg-light {
    background-color: var(--sb-pannello) !important;
}

[data-bs-theme=dark] .form-control,
[data-bs-theme=dark] .form-select,
[data-bs-theme=dark] .input-group-text {
    background-color: var(--sb-campo);
    border-color: var(--sb-linea);
}

[data-bs-theme=dark] .input-group-text {
    background-color: var(--sb-bianco-sporco);
}

[data-bs-theme=dark] .form-control:disabled,
[data-bs-theme=dark] .form-select:disabled {
    background-color: var(--sb-bianco-sporco);
}

[data-bs-theme=dark] .form-control:focus,
[data-bs-theme=dark] .form-select:focus,
[data-bs-theme=dark] .form-check-input:focus {
    border-color: #4f8fd8;
}

[data-bs-theme=dark] .form-check-input:not(:checked) {
    background-color: var(--sb-campo);
    border-color: #50545c;
}

/* menu, finestre e suggerimenti stanno "sopra": un grigio un po' più chiaro dei pannelli */
[data-bs-theme=dark] .dropdown-menu {
    --bs-dropdown-bg: #26282d;
    --bs-dropdown-border-color: #3a3d44;
    --bs-dropdown-link-hover-bg: var(--sb-blu);
    --bs-dropdown-link-hover-color: #fff;
}

[data-bs-theme=dark] .dropdown-item:hover svg,
[data-bs-theme=dark] .dropdown-item:focus svg {
    color: #fff;
}

[data-bs-theme=dark] .modal {
    --bs-modal-bg: #222428;
    --bs-modal-border-color: #3a3d44;
    --bs-modal-header-border-color: var(--sb-linea-tenue);
    --bs-modal-footer-border-color: var(--sb-linea-tenue);
}

[data-bs-theme=dark] .popover {
    --bs-popover-bg: #26282d;
    --bs-popover-border-color: #3a3d44;
    --bs-popover-header-bg: #2c2e33;
}

[data-bs-theme=dark] .table {
    --bs-table-bg: transparent;
}

[data-bs-theme=dark] .accordion {
    --bs-accordion-bg: transparent;
    --bs-accordion-active-color: var(--sb-blu-scuro);
}

[data-bs-theme=dark] ::selection {
    background: #2b5486;
}

/* le ombre sul fondo scuro non si vedono: le rinforzo un po' */
[data-bs-theme=dark] .shadow,
[data-bs-theme=dark] .shadow-sm {
    box-shadow: 0 .4rem 1.2rem rgba(0, 0, 0, .45) !important;
}
