/* Règles visibles seulement après une interaction : tiroir des favoris (public/js/favoris.js)
   et notification éphémère (public/js/partage.js). Sorties de global.css, dont le <style>
   inliné est plafonné à 25 600 octets par page ; chargées par Base.astro via assetUrl(). */
.tiroir-favoris { position: fixed; inset: 0; z-index: 1200; display: flex; justify-content: flex-end; visibility: hidden; pointer-events: none; }
.tiroir-favoris:not([hidden]) { visibility: visible; pointer-events: auto; }
.tiroir-favoris__arriere-plan { position: absolute; inset: 0; background: #0000007a; backdrop-filter: blur(4px); opacity: 0; transition: opacity 0.2s; }
.tiroir-favoris:not([hidden]) .tiroir-favoris__arriere-plan { opacity: 1; }
.tiroir-favoris__panneau { position: relative; z-index: 1; width: 100%; max-width: 26rem; height: 100%; background: var(--surface); box-shadow: var(--ombre); transform: translateX(100%); transition: 0.2s; display: flex; flex-direction: column; }
.tiroir-favoris:not([hidden]) .tiroir-favoris__panneau { transform: none; }
.tiroir-favoris__entete { display: flex; align-items: center; justify-content: space-between; padding: 1.25rem 1.5rem; border-bottom: 1px solid var(--bordure); }
.tiroir-favoris__titre { font-size: 1.25rem; margin: 0; font-weight: 700; }
.tiroir-favoris__fermer { border: 1px solid var(--bordure); background: transparent; color: var(--texte-doux); cursor: pointer; }
.tiroir-favoris__corps { flex: 1; overflow-y: auto; padding: 1.25rem; }
.favoris-vide { text-align: center; padding: 2rem 1rem; }
.favoris-liste { display: grid; gap: 0.85rem; }
.favoris-carte { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; padding: 0.9rem 1rem; }
.favoris-carte__corps { flex: 1; min-width: 0; display: grid; gap: 0.25rem; }
.favoris-carte__titre { font-size: 0.98rem; font-weight: 700; }
.favoris-carte__lieu { font-size: 0.85rem; }
.favoris-carte__titre, .favoris-carte__lieu { margin: 0; }
.favoris-carte__supprimer { border: 1px solid transparent; background: transparent; color: var(--texte-discret); cursor: pointer; }
.tiroir-favoris__pied { padding: 1rem 1.25rem; border-top: 1px solid var(--bordure); }
.toast-notification { position: fixed; bottom: 5rem; left: 50%; transform: translate(-50%,20px); background: var(--texte); color: var(--fond); border: 1px solid var(--bordure); padding: 0.75rem 1.25rem; font-size: 0.9rem; font-weight: 500; box-shadow: var(--ombre); z-index: 150; opacity: 0; pointer-events: none; transition: 0.2s; }
.toast-notification--visible { opacity: 1; transform: translate(-50%,0); }
