/* DevisVox — Modale de signature électronique (tous supports)
   Chargé sans attribut media (index.html) : rendu plein écran identique au mobile ci-dessous sur
   tablette comme sur téléphone. Surchargé pour le desktop (fenêtre centrée) par
   css/desktop/devisvox-desktop.css, chargé après ce fichier. */

/* ── MODAL SIGNATURE ──────────────────────────────── */
/* align-items/justify-content:stretch (sans !important — l'id l'emporte déjà sur .modal, base.css,
   par spécificité seule) : la feuille .sg-sheet occupe tout l'écran dans les deux orientations,
   plus besoin de la centrer comme une carte flottante. */
#signature-modal{position:fixed!important;inset:0!important;z-index:9990!important;display:flex!important;align-items:stretch;justify-content:stretch;background:rgba(0,0,0,.5)!important}
#signature-modal.hidden{display:none!important}
#signature-modal .modal-overlay{display:none}
/* Plein écran dans les deux orientations : plus de largeur/hauteur limitées ni de coins arrondis.
   height ET max-height (pas seulement un plafond) forcent la feuille à occuper exactement la
   hauteur visible, repli vh avant dvh (navigateurs qui ne reconnaissent pas l'unité dynamique
   ignorent la 2e ligne et conservent la 1re). overflow-y:auto fait défiler tout le contenu
   au-dessus du pied ; overflow-x:hidden évite tout débord horizontal. */
.sg-sheet{position:relative;z-index:1;background:var(--card);width:100%;padding:0;box-shadow:0 8px 40px rgba(0,0,0,.22);display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh}
/* margin-top inclut la zone de sécurité haute (encoche/barre de statut) : la feuille touche
   désormais le bord de l'écran, contrairement à la carte flottante précédente. */
.sg-handle{width:40px;height:4px;border-radius:2px;background:var(--b2);margin:calc(env(safe-area-inset-top,0px) + 12px) auto 8px;flex-shrink:0}
.sg-head{display:flex;align-items:center;justify-content:space-between;padding:8px 16px 0 20px;flex-shrink:0}
.sg-title{font-size:17px;font-weight:700;color:var(--text)}
.sg-close{width:32px;height:32px;border:none;background:rgba(0,0,0,.06);border-radius:50%;font-size:16px;color:var(--text2);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;line-height:1}
.sg-sub{padding:6px 20px 14px;font-size:13px;color:var(--text3);line-height:1.4;flex-shrink:0}
/* Lieu de signature + signataire (boutons/label/input : .mp-modal, css/mobile/factures.css) — même
   inset horizontal que .sg-sub/.sg-canvas-wrap/.sg-legal/.sg-footer, non stylés par ces règles
   partagées (génériques, sans marge propre à ce contexte). */
.sg-accept-fields{margin:0 20px 14px;flex-shrink:0}
/* height fixe (plus min-height sur un flex:1) : le cadre ne dépend plus de l'espace restant et ne
   peut jamais être écrasé (flex-shrink:0 déjà présent). 240px en portrait ; 200px en paysage, seule
   différence entre les deux orientations (règle plus bas). */
.sg-canvas-wrap{position:relative;margin:0 20px;border:1.5px dashed var(--b2);border-radius:14px;overflow:hidden;flex-shrink:0;background:#fff;height:240px}
.sg-canvas{display:block;width:100%;height:100%;touch-action:none}
.sg-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--text3);pointer-events:none;font-weight:500}
.sg-legal{margin:10px 20px 0;font-size:11px;color:var(--text3);line-height:1.5;flex-shrink:0}
/* position:sticky + background opaque : le pied reste collé en bas de .sg-sheet (son ancêtre
   défilant) et masque le contenu qui défile derrière lui — visible et utilisable en permanence,
   quelle que soit la hauteur du contenu au-dessus (lieu, signataire, cadre de signature). Padding
   bas incluant env(safe-area-inset-bottom) : les boutons restent au-dessus de la barre de geste. */
.sg-footer{display:flex;gap:10px;padding:14px 20px calc(env(safe-area-inset-bottom,0px) + 14px);flex-shrink:0;position:sticky;bottom:0;background:var(--card)}
.sg-btn-clear{flex:1;height:48px;border:1.5px solid var(--b2);border-radius:12px;background:transparent;font-size:15px;font-weight:600;color:var(--text2);cursor:pointer;font-family:inherit}
.sg-btn-validate{flex:2;height:48px;border:none;border-radius:12px;background:#FF6B00;font-size:15px;font-weight:700;color:#fff;cursor:pointer;font-family:inherit}
.sg-btn-validate:active{opacity:.85}
.sg-btn-clear:active{background:var(--b2)}
/* Portrait et paysage rendent désormais la même feuille plein écran (règles de base ci-dessus) :
   en-tête, consigne, lieu, signataire, cadre et mentions défilent ensemble, pied collé en bas dans
   les deux cas. Seule différence intentionnelle : la hauteur du cadre de signature, plus contrainte
   en paysage (200px, contre 240px en portrait) — l'utilisateur défile pour l'atteindre après avoir
   choisi le lieu. Les anciennes règles de masquage de l'en-tête/consigne et de dimensionnement du
   cadre sur l'espace restant (flex:1/height:100%) sont supprimées : contradictoires avec ce
   fonctionnement commun (l'en-tête doit rester accessible, le cadre a maintenant une hauteur fixe). */
@media (max-width:768px) and (orientation:landscape){
  #signature-modal .sg-canvas-wrap{height:200px}
}
