/* Volny — Écrans étroits (tablette, téléphone) — en dernier : ces règles priment. */
/* ---------- Écrans étroits ---------- */
@media (max-width:1020px){
  .ligne{flex-wrap:wrap}
  .jour{width:100%;grid-template-columns:repeat(3,1fr)}
  .jour>div{min-width:0}
}
@media (max-width:860px){
  .grille{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){
  .barre-int{padding:10px 16px;gap:10px}
  .barre-num,.marque-sep,.marque-nom{display:none}
  .dispo-texte{max-width:92px;line-height:1.15}
  .tableau{padding:16px 12px 48px}
  .ligne{padding:22px 20px;gap:18px;border-radius:20px}
  .ligne-visuel{width:64px;height:64px}
  .ligne-icone{width:52px;height:52px}
  .ligne h1{font-size:22px}
  .jour>div{padding:10px 12px}
  .jour dd{font-size:21px}
  .carte{padding:4px 4px 6px}
  .element,.membre{padding:10px}
  /* lignes du journal, du répondeur, des contacts… : les boutons passent SOUS le contenu
     (sur téléphone ils sont toujours visibles, faute de survol, et écrasaient le texte) */
  .element{flex-wrap:wrap;column-gap:12px;row-gap:0}
  .element .element-corps{flex:1 1 0}
  .element .element-heure{order:2}
  .element .actions-ligne{order:3;flex-basis:100%;padding-left:52px;margin-top:8px;flex-wrap:wrap}
  .element .actions-ligne:empty{display:none}
  .chip-enreg{max-width:100%;min-width:0}
  .chip-long{display:none}
  .chip-court{display:inline!important}
  .enreg-ligne{flex-wrap:wrap;min-width:0}
  .transcription{margin-right:0}
  .ico{width:36px;height:36px;border-radius:11px}
  .lecture{width:36px;height:36px}
  .element .actions-ligne{padding-left:48px}
  .recap-tete{gap:12px}
  .recap-tete>div{min-width:0;flex:1}
  .recap-tete .avatar{width:40px;height:40px;font-size:16px}
  .recap-tete h2{font-size:18px}
  .tuiles-fiche{gap:8px}
  .tuiles-fiche .tuile{padding:10px 12px}
  .tuiles-fiche .tuile-val{font-size:18px}
  .recap-faits{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fenetre>.formulaire,.fenetre>form{padding:20px 16px}
  .fenetre-actions .btn{flex:1 1 auto}
  .fenetre-actions .espace{display:none}
}
/* Sur téléphone et tablette, toutes les fenêtres prennent tout l'écran (largeur et hauteur).
   Tablette = écran jusqu'à 1024 px, ou appareil tactile sans souris jusqu'à 1400 px (iPad Pro en paysage). */
@media (max-width:1024px), (hover:none) and (pointer:coarse) and (max-width:1400px){
  .fenetre,.fenetre-large,.fenetre-xl{width:100vw;max-width:100vw;height:100vh;height:100dvh;max-height:100dvh;margin:0;border-radius:0;
    padding-top:env(safe-area-inset-top,0);padding-bottom:env(safe-area-inset-bottom,0)}
  #dlg-appel{max-height:100dvh}
  .fenetre>.formulaire,.fenetre>form{padding:24px 24px calc(24px + env(safe-area-inset-bottom,0))}
  /* boutons du bas : juste à la suite du contenu */
  .fenetre .fenetre-actions{margin-top:4px}
  /* la croix reste visible quand le contenu défile */
  .fermer-x{position:fixed;top:calc(12px + env(safe-area-inset-top,0));right:12px}
  .fil-sms{max-height:none;flex:1}
  ul.chronologie{max-height:none}
}
@media (max-width:640px){
  .fenetre>.formulaire,.fenetre>form{padding:20px 16px calc(20px + env(safe-area-inset-bottom,0))}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
}
