/*
 * Tema chiaro RIC: contrasti AA in un solo strato, caricato dopo
 * style.bundle.css e ric_brand_tokens.css e prima di ric_dark.css
 * (layouts/shared/_scripts). Ogni regola vive sotto [data-bs-theme="light"]:
 * il tema scuro non cambia.
 *
 * E' lo specchio di ric_dark.css: stessi nomi per i toni di stato
 * (--ric-tone-*), valori per il fondo chiaro; i neutri sono --ric-light-*
 * (in scuro --ric-dark-*). Solo colori: niente misure, spaziature o regole
 * responsive. I grigi Metronic (blu-grigio #99a1b7, #78829d...) diventano i
 * neutri caldi delle pagine ridisegnate (--ov-muted / --rn-muted #6c626a).
 *
 * Contrasti (misurati, WCAG AA) su bianco / #f9f9f9 / lavaggio #f8eef0:
 *   attenuato   #6c626a  5.8 / 5.6 / 5.1  text-muted, text-gray-500, form-text,
 *                                          icone Keenicons senza colore
 *   tenue       #756b73  5.1 / 4.9 / 4.5  text-gray-400, segnaposto dei campi
 *   medio       #635a61  6.6 / 6.3 / 5.8  text-gray-600
 *   icona tenue #8b8089  3.8 / 3.6 / 3.3  text-gray-300: solo icone (>= 3:1)
 *   bordo campo #8f848c  3.6 / 3.4 / 3.2  bordo di input, select, select2
 * Badge e pulsanti "light" (fondo tinto + testo scuro dello stesso tono):
 *   ambra 5.3, rosso 5.8, viola 5.6, verde 5.7, bordeaux 10.2, neutro 8.4.
 * Pieni: bianco sul rosso #c8283c 5.5; sul giallo Metronic testo scuro 9.6.
 * Segnaposto: >= 4.5:1 come ogni testo (WCAG 1.4.3), ma piu' chiari del
 * valore digitato (#2b1c24, 16:1), cosi' non si scambiano per un dato.
 */
[data-bs-theme="light"] {
    /* ── Neutri caldi ────────────────────────────────────────────────── */
    --ric-light-muted: #6c626a;
    --ric-light-muted-rgb: 108, 98, 106;
    --ric-light-subtle: #756b73;
    --ric-light-subtle-rgb: 117, 107, 115;
    --ric-light-strong: #635a61;
    --ric-light-strong-rgb: 99, 90, 97;
    --ric-light-icon-faint: #8b8089;
    --ric-light-placeholder: var(--ric-light-subtle);
    --ric-light-field-line: #8f848c;
    --ric-light-neutral-soft: #f1eef0;
    --ric-light-neutral-text: #4a4248;
    --ric-light-neutral-strong-soft: #ebe5e8;

    /* ── Toni di stato: testo / fondo tenue / bordo / pieno ─────────────
       Gli stessi delle notifiche e dei calendari (notifications.css,
       calendar_tones.css): un rosso, un verde, un'ambra... in ogni pagina. */
    --ric-tone-success: #1f6b46;
    --ric-tone-success-soft: #e7f3ec;
    --ric-tone-success-line: #b8d7c5;
    --ric-tone-success-fill: #1f6b46;
    --ric-tone-danger: #b42318;
    --ric-tone-danger-soft: #fdeceb;
    --ric-tone-danger-line: #f1c3bf;
    --ric-tone-danger-fill: #c8283c;
    --ric-tone-danger-fill-hover: #a61f30;
    --ric-tone-warning: #875c00;
    --ric-tone-warning-soft: #fbf3d9;
    --ric-tone-warning-line: #ead7a1;
    --ric-tone-warning-fill: #f6c000;
    --ric-tone-warning-fill-ink: #2b1c24;
    --ric-tone-info: #3b5b7e;
    --ric-tone-info-soft: #e9eff5;
    --ric-tone-info-line: #c3d1e0;
    --ric-tone-info-fill: #3b5b7e;
    --ric-tone-violet: #6b45c2;
    --ric-tone-violet-soft: #f1ecfb;
    --ric-tone-violet-line: #d8ccf1;
    --ric-tone-violet-fill: #6b45c2;
    --ric-tone-gold: #80690f;
    --ric-tone-gold-soft: #fbf5dc;
    --ric-tone-gold-line: #e6d9a3;

    /* ── Bootstrap / Metronic: testo attenuato ─────────────────────────── */
    --bs-text-muted: var(--ric-light-muted);
    --bs-text-secondary: var(--ric-light-muted);
    --bs-text-gray-300: var(--ric-light-icon-faint);
    --bs-text-gray-400: var(--ric-light-subtle);
    --bs-text-gray-500: var(--ric-light-muted);
    --bs-text-gray-600: var(--ric-light-strong);
    --bs-gray-500: var(--ric-light-subtle);
    --bs-gray-500-rgb: var(--ric-light-subtle-rgb);
    --bs-gray-600: var(--ric-light-strong);
    --bs-gray-600-rgb: var(--ric-light-strong-rgb);
    --bs-menu-heading-color: var(--ric-light-muted);

    /* Valore digitato (select2 e chi legge le variabili): inchiostro RIC. */
    --bs-input-color: var(--ric-brand-ink);
    --bs-input-solid-color: var(--ric-brand-ink);
    --bs-input-solid-placeholder-color: var(--ric-light-placeholder);

    /* ── Bootstrap / Metronic: toni di stato ───────────────────────────── */
    --bs-danger: var(--ric-tone-danger-fill);
    --bs-danger-rgb: 200, 40, 60;
    --bs-danger-active: var(--ric-tone-danger-fill-hover);
    --bs-danger-light: var(--ric-tone-danger-soft);
    --bs-danger-inverse: #ffffff;
    --bs-text-danger: var(--ric-tone-danger);
    --bs-danger-text-emphasis: var(--ric-tone-danger);
    --bs-danger-bg-subtle: var(--ric-tone-danger-soft);
    --bs-danger-border-subtle: var(--ric-tone-danger-line);

    /* Il giallo pieno resta (bottoni, pallini): sopra va il testo scuro. */
    --bs-warning-inverse: var(--ric-tone-warning-fill-ink);
    --bs-warning-light: var(--ric-tone-warning-soft);
    --bs-text-warning: var(--ric-tone-warning);
    --bs-warning-text-emphasis: var(--ric-tone-warning);
    --bs-warning-bg-subtle: var(--ric-tone-warning-soft);
    --bs-warning-border-subtle: var(--ric-tone-warning-line);

    /* "info" di Metronic e' viola, come in scuro: il viola RIC. */
    --bs-info-light: var(--ric-tone-violet-soft);
    --bs-text-info: var(--ric-tone-violet);
    --bs-info-text-emphasis: var(--ric-tone-violet);
    --bs-info-bg-subtle: var(--ric-tone-violet-soft);
    --bs-info-border-subtle: var(--ric-tone-violet-line);

    --bs-form-invalid-color: var(--ric-tone-danger);
    --bs-form-invalid-border-color: var(--ric-tone-danger-fill);
    --bs-form-valid-color: var(--ric-tone-success);
    --bs-form-valid-border-color: var(--ric-tone-success);

    /* Azzurro Metronic (#1b84ff, 3.4:1) su voci evidenziate di select2 e
       menu: il bordeaux dei link. */
    --bs-component-hover-color: var(--ric-brand-text);
    --bs-menu-link-color-hover: var(--ric-brand-text);
    --bs-menu-link-color-show: var(--ric-brand-text);
    --bs-menu-link-color-here: var(--ric-brand-text);
    --bs-menu-link-color-active: var(--ric-brand-text);
}

/* ── Testo attenuato ───────────────────────────────────────────────────── */
[data-bs-theme="light"] .form-text,
[data-bs-theme="light"] .text-body-secondary,
[data-bs-theme="light"] .text-body-tertiary { color: var(--ric-light-muted) !important; }

/* ── Campi: bordo >= 3:1 e segnaposto >= 4.5:1 ───────────────────────────
   Il bordo Metronic (#f1f1f4 / #dbdfe9, 1.1-1.3:1) non faceva vedere il
   campo; i campi pieni ("solid") tengono il loro fondo e prendono il bordo.
   Gli stati di validazione (.is-invalid, .is-valid, .was-validated) tengono
   il loro rosso/verde, i campi disabilitati il loro aspetto spento. */
[data-bs-theme="light"] :where(.form-control:not(.form-control-transparent, .form-control-flush), .form-select:not(.form-select-transparent), .input-group-text, .select2-container--bootstrap5 .select2-selection:not(.form-select-transparent), .select2-container--bootstrap5 .select2-search__field):where(:not(:disabled, .was-validated *)):not(.is-invalid):not(.is-valid) {
    border-color: var(--ric-light-field-line);
}
/* Valore digitato: l'inchiostro RIC anche nei campi pieni ("solid", che
   Metronic scrive in #4b5675), come in quelli con bordo; cosi' il segnaposto
   (5:1) non si scambia per un dato gia' inserito (16:1). */
[data-bs-theme="light"] .form-control.form-control-solid:not(:disabled),
[data-bs-theme="light"] .form-select.form-select-solid:not(:disabled),
[data-bs-theme="light"] .select2-container--bootstrap5 .select2-selection--single.form-select-solid .select2-selection__rendered { color: var(--ric-brand-ink); }
[data-bs-theme="light"] .form-control::placeholder,
[data-bs-theme="light"] .form-select::placeholder,
[data-bs-theme="light"] .select2-selection__placeholder,
[data-bs-theme="light"] .select2-search__field::placeholder,
[data-bs-theme="light"] textarea::placeholder,
[data-bs-theme="light"] input::placeholder { color: var(--ric-light-placeholder) !important; opacity: 1; }
[data-bs-theme="light"] .tagify { --tags-border-color: var(--ric-light-field-line); --tags-hover-border-color: var(--ric-light-field-line); --tags-focus-border-color: var(--ric-focus-border, var(--ric-brand-start)); --placeholder-color: var(--ric-light-placeholder); }
/* Tagify col focus: come gli altri campi, bordo bordeaux e alone (Metronic
   lo schiariva a #c4cada, piu' tenue del bordo a riposo). */
[data-bs-theme="light"] .tagify.tagify--focus { --tags-border-color: var(--tags-focus-border-color); border-color: var(--tags-focus-border-color); box-shadow: 0 0 0 .2rem var(--ric-brand-focus); }
[data-bs-theme="light"] .ql-editor.ql-blank::before { color: var(--ric-light-placeholder); }
/* Ricerca dentro il menu di select2: e' sempre col focus quando si vede,
   Metronic le da' il grigio #c4cada (1.6:1); qui il bordeaux dei campi. */
[data-bs-theme="light"] .select2-container--bootstrap5 .select2-dropdown .select2-search .select2-search__field { color: var(--ric-brand-ink); border-color: var(--ric-light-field-line); }
[data-bs-theme="light"] .select2-container--bootstrap5 .select2-dropdown .select2-search .select2-search__field:is(:focus, :active) { border-color: var(--ric-focus-border, var(--ric-brand-start)); }
/* Caselle e interruttori non spuntati: il bordo dei campi. */
[data-bs-theme="light"] .form-check-input:not(:checked):not(:indeterminate):not(:disabled):not(.is-invalid):not(.is-valid) { border: 1px solid var(--ric-light-field-line); }

/* Focus delle caselle: anche nei gruppi colorati (form-check-success...),
   che ric_brand_tokens.css lascia fuori, lo stesso anello bordeaux. */
[data-bs-theme="light"] .form-check-input:focus-visible { outline: 2px solid var(--ric-brand-text); outline-offset: 2px; }

/* ── Badge "light": fondo tinto + testo scuro dello stesso tono ────────── */
[data-bs-theme="light"] .badge.badge-light-warning { color: var(--ric-tone-warning); background-color: var(--ric-tone-warning-soft); }
[data-bs-theme="light"] .badge.badge-light-danger { color: var(--ric-tone-danger); background-color: var(--ric-tone-danger-soft); }
[data-bs-theme="light"] .badge.badge-light-info { color: var(--ric-tone-violet); background-color: var(--ric-tone-violet-soft); }
[data-bs-theme="light"] .badge.badge-light,
[data-bs-theme="light"] .badge.badge-light-secondary { color: var(--ric-light-neutral-text); background-color: var(--ric-light-neutral-soft); }
[data-bs-theme="light"] .badge.badge-light-dark { color: var(--ric-brand-ink); background-color: var(--ric-light-neutral-strong-soft); }
[data-bs-theme="light"] .badge.badge-light-light { color: var(--ric-light-muted); background-color: var(--ric-light-neutral-soft); }
/* (badge-light-primary e badge-light-success: ric_brand_tokens.css) */
[data-bs-theme="light"] .badge.badge-warning { color: var(--ric-tone-warning-fill-ink); }
/* Icone nei badge: il colore del testo del badge, non il grigio delle icone. */
[data-bs-theme="light"] .badge :is(i, .svg-icon) { color: inherit; }

/* ── Pulsanti "light" di stato: stesso tono dei badge ──────────────────── */
[data-bs-theme="light"] .btn.btn-light-warning { color: var(--ric-tone-warning); background-color: var(--ric-tone-warning-soft); border-color: var(--ric-tone-warning-soft); }
[data-bs-theme="light"] .btn.btn-light-danger { color: var(--ric-tone-danger); background-color: var(--ric-tone-danger-soft); border-color: var(--ric-tone-danger-soft); }
[data-bs-theme="light"] .btn.btn-light-info { color: var(--ric-tone-violet); background-color: var(--ric-tone-violet-soft); border-color: var(--ric-tone-violet-soft); }
[data-bs-theme="light"] :is(.btn.btn-light-warning, .btn.btn-light-danger, .btn.btn-light-info):not(:hover):not(:focus):not(:active):not(.active):not(.show) :is(i, .svg-icon) { color: inherit; }
/* Al passaggio Metronic passa al pieno: bianco sul rosso (5.5) e sul viola
   (5.6), testo scuro sul giallo (--bs-warning-inverse, 9.6). */

/* ── Riquadri di avviso: i link restano leggibili ─────────────────────── */
/* Nei riquadri gialli il link .alert-link era giallo su giallo (1.5:1): prende
   l'ambra del testo dei badge (5.8:1 sul fondo dell'avviso), sottolineato. */
[data-bs-theme="light"] .alert-warning .alert-link { color: var(--ric-tone-warning); text-decoration: underline; }

/* ── Focus da tastiera ─────────────────────────────────────────────────
   Metronic e Bootstrap tolgono l'outline a .btn (con !important), alla X
   delle modali, alla paginazione, alle fisarmoniche e alle voci dei menu
   a tendina: in chiaro lo stesso anello bordeaux pieno di btn-light-primary
   (ric_brand_tokens.css), come l'anello bordeaux chiaro del tema scuro.
   Link e pulsanti senza classe tengono l'anello del browser, che si vede
   anche sui pannelli bordeaux. */
[data-bs-theme="light"] .btn:focus-visible,
[data-bs-theme="light"] label.btn:focus-within,
[data-bs-theme="light"] :is(.btn-close, .page-link, .accordion-button, .menu-sub-dropdown .menu-link):focus-visible {
    outline: 2px solid var(--ric-brand-text) !important;
    outline-offset: 2px;
}

/* Componenti che col focus mettono outline: 0 o un alone troppo tenue:
   miniature dei modelli grafici (alone bordeaux al 20%, 1.4:1) e gruppi
   dell'editor delle variabili nelle frasi (solo un fondo grigio, 1.05:1). */
[data-bs-theme="light"] .graphic-template-thumbnail:focus-visible { outline-color: var(--ric-brand-text); }
[data-bs-theme="light"] .pve-group-toggle:focus-visible { outline: 2px solid var(--ric-brand-text); outline-offset: -2px; }

/* Pulsanti su fondo bordeaux pieno (testata e ricerca della Guida):
   l'anello bordeaux sparirebbe, qui e' bianco (9.9:1). */
[data-bs-theme="light"] .ric-documentation :is(.doc-search-panel, .doc-page-header, .doc-hero) .btn:focus-visible { outline-color: #ffffff !important; }

/* ── Menu laterale: e' bordeaux in entrambi i temi ─────────────────────
   Il grigio attenuato (ora scuro) sparirebbe sul bordeaux: l'icona
   "si apre in una nuova scheda" usa il rosa tenue del menu. */
[data-bs-theme="light"] #kt_aside :is(.text-muted, .text-gray-400, .text-gray-500, .text-gray-600) { color: var(--ric-aside-muted, #f4e1e5) !important; }

/* ── FullCalendar ───────────────────────────────────────────────────── */
[data-bs-theme="light"] .fc .fc-button:focus-visible { outline: 2px solid var(--ric-brand-text); outline-offset: 2px; box-shadow: none; }
/* Giorni fuori mese: il velo .3 li portava a 1.8:1; restano tenui ma
   leggibili, come in scuro. */
[data-bs-theme="light"] .fc .fc-day-other .fc-daygrid-day-top { opacity: 1; }
[data-bs-theme="light"] .fc .fc-day-other .fc-daygrid-day-number { color: var(--ric-light-subtle) !important; }

/* ── Pagine con colori propri ───────────────────────────────────────── */
/* Squadra e turni: lo stile in linea (team_schedule.js) e' il vecchio
   Metronic (3.4-4.2:1, cella vuota 2.3:1); qui i toni RIC, come in scuro
   (attendance_calendar.html.erb). */
[data-bs-theme="light"] #team_schedule_table td.shift-cell[data-shift-tone="green"] { background: var(--ric-tone-success-soft) !important; color: var(--ric-tone-success) !important; }
[data-bs-theme="light"] #team_schedule_table td.shift-cell[data-shift-tone="red"] { background: var(--ric-tone-danger-soft) !important; color: var(--ric-tone-danger) !important; }
[data-bs-theme="light"] #team_schedule_table td.shift-cell[data-shift-tone="yellow"] { background: var(--ric-tone-warning-soft) !important; color: var(--ric-tone-warning) !important; }
[data-bs-theme="light"] #team_schedule_table td.shift-cell[data-shift-tone="none"] { color: var(--ric-light-muted) !important; }
/* Previdenza: numeri dei passi non attivi (#6c7786 su #f0f2f5, 4.05:1). */
[data-bs-theme="light"] .preneed-step-number { color: var(--ric-light-strong); }
/* Centralino, strumenti di test admin: titolo ambra (#a67c00, 3.6:1). */
[data-bs-theme="light"] .voip-admin-tools-title { color: var(--ric-tone-warning); }

/* Guida: l'ancora "#" dei titoli. Col mouse compare al passaggio (bordeaux);
   sui touch restava velata a .6 sul rosa della linea (1.2:1). */
@media (hover: none) {
    [data-bs-theme="light"] .ric-documentation .doc-heading-anchor { color: var(--ric-light-muted) !important; opacity: 1; }
}
/* Notifiche gia' lette: icona velata a .7; l'arancio dell'avviso scendeva a
   2.7:1, qui prende il suo testo scuro (--rn-tone-text) e resta sopra 3:1. */
[data-bs-theme="light"] :is(.ric-notifications #notifications_table tbody tr:not(.notification-unread), .notification-dropdown-item:not(.notification-item-unread)) .ric-notif-icon.ric-notif-tone--warning i { color: var(--rn-tone-text); }

/* Stati vuoti (ric_overview.css, campanella): l'icona rosa #b88a95 era a
   2.9:1; lo stesso rosa un poco piu' pieno arriva a 3.7 (3.2 sul lavaggio). */
[data-bs-theme="light"] .ric-empty-state i:not(.ric-personale-ok),
[data-bs-theme="light"] #notifications_dropdown .ric-empty-state i { color: #a87884; }

/* SweetAlert: l'icona di avviso era gialla (1.7:1), ora l'ambra del testo. */
[data-bs-theme="light"] .swal2-icon.swal2-warning { color: var(--ric-tone-warning); border-color: var(--ric-tone-warning); }
