/* Compte à rebours jusqu'à une date */
.o-compte-a-rebours { display: grid; gap: 14px; min-width: 0; }
.o-compte-a-rebours [hidden] { display: none !important; }
.o-compte-a-rebours-evenements { padding: 0 0 14px; border-top: 0; border-bottom: 1px solid var(--bord); }
.o-compte-a-rebours-scene { padding: 10px 0 6px; gap: 8px; background: var(--surface); color: var(--texte); min-width: 0; }
.o-compte-a-rebours-titre { margin: 0; font: 800 clamp(1.4rem, 4.5vw, 2.2rem)/1.2 var(--police); overflow-wrap: anywhere; }
.o-compte-a-rebours-etat { margin: 0; color: var(--texte-2); font-size: 1rem; }
.o-compte-a-rebours-scene.jourj .o-compte-a-rebours-etat { color: var(--ok-texte); background: var(--ok-fond); padding: 4px 14px; border-radius: 999px; font-weight: 700; font-size: 1.15rem; }
.o-compte-a-rebours-chiffres { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; width: 100%; max-width: 760px; }
.o-compte-a-rebours-chiffres > div { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 14px 6px 12px; border-radius: var(--rayon); background: var(--surface-2); min-width: 0; }
.o-compte-a-rebours-chiffres b { font: 800 clamp(2.4rem, 9vw, 5.4rem)/1 var(--police); font-variant-numeric: tabular-nums; letter-spacing: -.03em; color: var(--texte); white-space: nowrap; }
.o-compte-a-rebours-chiffres .jours b { color: var(--marque); }
.o-compte-a-rebours-chiffres span { font-size: .9rem; color: var(--texte-2); }
.o-compte-a-rebours-scene.passe .o-compte-a-rebours-chiffres b { color: var(--texte-2); }
.o-compte-a-rebours-scene.vide .o-compte-a-rebours-chiffres b { color: var(--texte-2); }
.o-compte-a-rebours-phrase { display: block; font: 700 1.25rem/1.3 var(--police); overflow-wrap: anywhere; }
.o-compte-a-rebours-phrase:empty, .o-compte-a-rebours-date:empty { display: none; }
.o-compte-a-rebours-date { margin: 0 0 4px; color: var(--texte-2); }
.o-compte-a-rebours-scene:fullscreen { justify-content: center; padding: 4vw; gap: 2.5vh; background: var(--fond); overflow: auto; }
.o-compte-a-rebours-scene:fullscreen .o-compte-a-rebours-titre { font-size: min(6vw, 9vh); }
.o-compte-a-rebours-scene:fullscreen .o-compte-a-rebours-chiffres { max-width: none; gap: 1.5vw; }
.o-compte-a-rebours-scene:fullscreen .o-compte-a-rebours-chiffres b { font-size: min(13vw, 30vh); }
.o-compte-a-rebours-scene:fullscreen .o-compte-a-rebours-chiffres span { font-size: min(2.4vw, 4vh); }
.o-compte-a-rebours-scene:fullscreen .o-compte-a-rebours-phrase { font-size: min(3.4vw, 5vh); }
.o-compte-a-rebours-details { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 8px; margin: 0; }
.o-compte-a-rebours-details > div { padding: 10px 14px; border: 1px solid var(--bord); border-radius: var(--rayon-petit); background: var(--surface); min-width: 0; }
.o-compte-a-rebours-details dt { font-size: .85rem; color: var(--texte-2); }
.o-compte-a-rebours-details dd { margin: 2px 0 0; font-weight: 600; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.o-compte-a-rebours .reglages { grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); }
.o-compte-a-rebours input[type="date"], .o-compte-a-rebours input[type="time"] {
  display: block; width: 100%; min-width: 0; min-height: 42px; padding: 8px 12px; border: 1px solid var(--bord); border-radius: var(--rayon-petit);
  background: var(--surface); color: var(--texte); font: inherit; color-scheme: light dark;
}
.o-compte-a-rebours input:focus-visible { outline: 3px solid var(--marque); outline-offset: 0; }
.o-compte-a-rebours-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.o-compte-a-rebours-actions .btn { min-height: 42px; font-weight: 600; }
.o-compte-a-rebours-actions .tirage-message { font-size: .95rem; color: var(--ok-texte); }
.o-compte-a-rebours-actions .tirage-message.erreur { color: var(--erreur-texte); }
.o-compte-a-rebours-liste { display: grid; gap: 10px; padding-top: 14px; border-top: 1px solid var(--bord); }
.o-compte-a-rebours-liste h3 { margin: 0; font-size: 1.05rem; }
.o-compte-a-rebours-liste h3 small { margin-left: 6px; font-weight: 500; color: var(--texte-2); font-variant-numeric: tabular-nums; }
.o-compte-a-rebours-liste .tirage-astuce { display: block; }
.o-compte-a-rebours-liste ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 10px; }
.o-compte-a-rebours-liste ul:empty { display: none; }
.o-compte-a-rebours-liste li { display: flex; flex-direction: column; gap: 8px; padding: 12px; border: 1px solid var(--bord); border-radius: var(--rayon); background: var(--surface); min-width: 0; }
.o-compte-a-rebours-liste li.passe { background: var(--surface-2); }
.o-compte-a-rebours-ouvrir { display: flex; flex-direction: column; gap: 3px; flex: 1; padding: 0; border: 0; background: none; color: var(--texte); font: inherit; text-align: left; cursor: pointer; min-width: 0; }
.o-compte-a-rebours-ouvrir:focus-visible { outline: 3px solid var(--marque); outline-offset: 3px; border-radius: var(--rayon-petit); }
.o-compte-a-rebours-ouvrir strong { font-size: 1.05rem; overflow-wrap: anywhere; }
.o-compte-a-rebours-ouvrir span { font-size: .88rem; color: var(--texte-2); }
.o-compte-a-rebours-ouvrir .o-compte-a-rebours-reste { font-size: 1.1rem; font-weight: 700; color: var(--marque); font-variant-numeric: tabular-nums; }
.o-compte-a-rebours-liste li.passe .o-compte-a-rebours-reste { color: var(--texte-2); }
.o-compte-a-rebours-liste li .btn { align-self: flex-start; }
.o-compte-a-rebours-prive { display: block; }
@media (max-width: 560px) {
  .o-compte-a-rebours-chiffres { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  .o-compte-a-rebours-chiffres .jours { grid-column: 1 / -1; }
  .o-compte-a-rebours-chiffres b { font-size: clamp(2.2rem, 13vw, 3.4rem); }
  .o-compte-a-rebours-chiffres .jours b { font-size: clamp(3.4rem, 22vw, 5.4rem); }
  .o-compte-a-rebours-chiffres span { font-size: .82rem; }
  .o-compte-a-rebours-actions .btn { flex: 1 1 140px; }
  .o-compte-a-rebours-actions .tirage-message { flex-basis: 100%; }
}
