/* Convertisseur de calendriers : styles propres à l'outil. */
.o-calendriers .o-cal-bloc { margin-bottom: 20px; }
.o-calendriers .o-cal-bloc + .o-cal-bloc { padding-top: 8px; border-top: 1px solid var(--bord); }
.o-calendriers .o-cal-bloc h2 { margin: 6px 0 12px; font-size: 1.25rem; }
.o-calendriers select, .o-calendriers input[type="number"], .o-calendriers input[type="text"], .o-calendriers input[type="time"] { min-height: 44px; width: 100%; box-sizing: border-box; }
.o-calendriers input:focus-visible, .o-calendriers select:focus-visible, .o-calendriers button:focus-visible { outline: 3px solid var(--marque); outline-offset: 1px; }
.o-calendriers input[aria-invalid] { border-color: var(--erreur-texte); }
.o-calendriers .reglages label[hidden] { display: none; }
.o-cal-aide { margin: 10px 0 0; color: var(--texte-2); font-size: .9rem; line-height: 1.5; }
.o-cal-erreur { margin: 8px 0 0; padding: 8px 12px; border-radius: var(--rayon-petit); background: var(--erreur-fond); color: var(--erreur-texte); }
.o-cal-erreur:empty { display: none; }
.o-cal-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 14px; }
.o-cal-message { color: var(--texte-2); font-size: .9rem; }
.o-cal-resultats { display: block; }
.o-cal-liste { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; }
.o-cal-liste li { display: flex; flex-direction: column; gap: 3px; min-width: 0; padding: 10px 12px; border-radius: var(--rayon-petit); background: var(--surface-2); }
.o-cal-nom { color: var(--texte-2); font-size: .85rem; }
.o-cal-val { font-size: 1.15rem; line-height: 1.35; overflow-wrap: anywhere; }
.o-cal-mono .o-cal-val { font-family: var(--mono); font-variant-numeric: tabular-nums; }
.o-cal-detail { color: var(--texte-2); font-size: .82rem; line-height: 1.4; }
.o-cal-notes { margin-top: 12px; }
.o-cal-note { margin: 8px 0 0; padding: 8px 12px; border-left: 4px solid var(--marque); border-radius: var(--rayon-petit); background: var(--surface-2); font-size: .93rem; line-height: 1.5; }
.o-cal-alerte { border-left-color: var(--erreur-texte); }
.o-cal-notes .btn { margin-top: 8px; }
@media (max-width: 420px) {
  .o-cal-liste { grid-template-columns: 1fr; }
  .o-cal-val { font-size: 1.05rem; }
}
