/* =========================================================
   Wah! — cadre commun des fiches Divi SOS (fenêtres #divi-sos-…)
   Chargé sur toutes les pages publiques, avec js/divi-sos.js qui aligne les réglages des fiches
   (fond, croix, apparition). Le contenu de la fiche est habillé par css/fiche-sos.css, dans l'iframe.
   ========================================================= */

/* Fond : bleu nuit translucide, quel que soit le réglage « fond » de la fiche */
.divi-sos-dark #page-container:after,
.divi-sos-light #page-container:after{background:#000058!important;transition:opacity .3s,visibility .3s}
.divi-sos-active.divi-sos-dark #page-container:after,
.divi-sos-active.divi-sos-light #page-container:after{opacity:.9}

/* La fiche : une feuille blanche centrée, qui défile à l'intérieur.
   1040px : au-delà de 980px, Divi garde les colonnes côte à côte dans l'iframe (logo | texte). */
.divi-sos-overlay{--sos-marge:clamp(18px,5vh,56px);--sos-largeur:min(1040px,calc(100% - 2*clamp(12px,4vw,56px)));overflow:hidden}
.divi-sos-overlay>.divi-sos-iframe{display:block;width:var(--sos-largeur);height:calc(100% - 2*var(--sos-marge));margin:var(--sos-marge) auto 0;background:#fff;border:0;border-radius:6px;box-shadow:0 30px 60px -20px rgba(0,0,30,.8),0 6px 14px rgba(0,0,30,.35);transform:translateY(14px);transition:opacity .35s,visibility .35s,transform .5s cubic-bezier(.16,1,.3,1)}
.divi-sos-overlay.divi-sos-iframe-loaded>.divi-sos-iframe{transform:none}

/* Chargement : anneau cyan sur le fond bleu nuit */
.divi-sos-overlay .divi-sos-iframe-loader:after{border-color:#5fffff transparent #5fffff transparent!important}

/* Croix : pastille blanche épinglée au coin de la feuille, toujours présente */
.divi-sos-overlay .divi-sos-close-button{position:absolute;top:calc(var(--sos-marge) - 22px);right:max(8px,calc((100% - var(--sos-largeur))/2 - 22px));width:48px;height:48px;padding:0;border-radius:50%;background:#fff!important;color:#000058!important;border:2px solid #000058;box-shadow:0 6px 16px -6px rgba(0,0,30,.6);font-size:0;line-height:0;transition:background-color .25s,transform .4s cubic-bezier(.16,1,.3,1)}
.divi-sos-overlay .divi-sos-close-button:before,
.divi-sos-overlay .divi-sos-close-button:after{content:'';position:absolute;top:50%;left:50%;width:20px;height:3px;margin:-1.5px 0 0 -10px;border-radius:2px;background:currentColor;font-family:inherit;transform:rotate(45deg)}
.divi-sos-overlay .divi-sos-close-button:after{transform:rotate(-45deg)}
.divi-sos-overlay .divi-sos-close-button:hover{opacity:1;background:#5fffff!important;transform:rotate(90deg)}
.divi-sos-overlay .divi-sos-close-button:focus-visible{outline:3px solid #ff0000;outline-offset:3px}

@media (max-width:768px){
  .divi-sos-overlay{--sos-marge:44px;--sos-largeur:calc(100% - 20px)}
  .divi-sos-overlay>.divi-sos-iframe{height:calc(100% - var(--sos-marge) - 10px)}
  .divi-sos-overlay .divi-sos-close-button{top:calc(var(--sos-marge) - 24px);right:16px;width:44px;height:44px}
}
@media (prefers-reduced-motion:reduce){
  .divi-sos-overlay>.divi-sos-iframe{transform:none;transition:opacity .2s}
  .divi-sos-overlay .divi-sos-close-button:hover{transform:none}
}
