/* Pasivite 2.8.50.43 — alerte et fiche réflexe SIM swapping.
   Règle contraste : fonds clairs -> texte foncé ; en-têtes sombres -> texte blanc. */

.psv-sim-swap-banner-wrap{padding:18px 0 0}
.psv-sim-swap-banner{
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;
  background:#fff7e6;color:#17283a;border:2px solid #c86a12;border-radius:18px;
  padding:18px 20px;box-shadow:0 10px 28px rgba(18,53,91,.08)
}
.psv-sim-swap-icon{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#a94212;color:#fff;font-weight:900;font-size:1.5rem;line-height:1}
.psv-sim-swap-copy{min-width:0}
.psv-sim-swap-copy,.psv-sim-swap-copy *{color:#17283a}
.psv-sim-swap-copy .psv-sim-swap-kicker{display:block;color:#8a3d12;font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px}
.psv-sim-swap-copy strong{display:block;font-size:1.12rem;line-height:1.25;margin:0 0 5px}
.psv-sim-swap-copy p{margin:0;line-height:1.48}
.psv-sim-swap-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.psv-sim-swap-actions .primary-button,.psv-sim-swap-actions .secondary-button{margin:0;white-space:nowrap}
.psv-sim-alert-inline-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}

.psv-sim-swap-banner-mobile{margin:12px 14px 8px;grid-template-columns:auto minmax(0,1fr);padding:15px;border-radius:16px}
.psv-sim-swap-banner-mobile .psv-sim-swap-actions{grid-column:1/-1;justify-content:stretch}
.psv-sim-swap-banner-mobile .psv-sim-swap-actions>*{flex:1 1 150px;text-align:center}

.psv-sim-swap-modal[hidden]{display:none!important}
.psv-sim-swap-modal{position:fixed;inset:0;z-index:10050;display:grid;place-items:center;padding:18px}
.psv-sim-swap-backdrop{position:absolute;inset:0;background:rgba(8,20,35,.72)}
.psv-sim-swap-dialog{position:relative;width:min(920px,100%);max-height:min(90vh,900px);overflow:auto;background:#fff;color:#17283a;border-radius:20px;box-shadow:0 28px 90px rgba(0,0,0,.35);border:1px solid #d9e2ea}
.psv-sim-swap-dialog *{box-sizing:border-box}
.psv-sim-swap-dialog-head{position:sticky;top:0;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;background:#12355b;color:#fff;padding:20px 22px}
.psv-sim-swap-dialog-head *{color:#fff}
.psv-sim-swap-dialog-head span{display:block;font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#d9fff7;margin-bottom:4px}
.psv-sim-swap-dialog-head h2{margin:0;font-size:clamp(1.25rem,2.4vw,1.75rem);line-height:1.18;color:#fff!important}
.psv-sim-swap-close{flex:0 0 auto;border:1px solid rgba(255,255,255,.6);background:#fff;color:#12355b!important;border-radius:999px;width:38px;height:38px;font-size:1.45rem;line-height:1;cursor:pointer;font-weight:800}
.psv-sim-swap-dialog-body{padding:22px}
.psv-sim-swap-lead{font-size:1.05rem;line-height:1.55;margin:0 0 18px}
.psv-sim-swap-section{background:#f6f9fb;color:#17283a;border:1px solid #dce5ec;border-radius:14px;padding:16px 18px;margin:12px 0}
.psv-sim-swap-section *{color:#17283a}
.psv-sim-swap-section h3{margin:0 0 8px;color:#12355b!important;font-size:1.06rem}
.psv-sim-swap-section p{margin:0;line-height:1.5}
.psv-sim-swap-section ul,.psv-sim-swap-section ol{margin:8px 0 0;padding-left:1.35rem}
.psv-sim-swap-section li{margin:.48rem 0;line-height:1.46}
.psv-sim-swap-section.is-warning{background:#fff8e8;border-color:#e3a14a}
.psv-sim-swap-section.is-action{background:#eef9f6;border-color:#91cfc3}
.psv-sim-swap-section.is-evidence{background:#f8f6ff;border-color:#c8bce8}
.psv-sim-swap-section.is-declare{background:#f7f9fc;border-color:#cbd6e2}
.psv-sim-swap-caution{margin-top:10px!important;padding:10px 12px;border-left:4px solid #b85816;background:#fff;color:#44220e!important;border-radius:8px}
.psv-sim-swap-dialog-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.psv-sim-swap-dialog-actions>*{flex:1 1 220px;text-align:center}
.psv-sim-swap-sources{margin-top:16px;border-top:1px solid #dce5ec;padding-top:12px}
.psv-sim-swap-sources summary{cursor:pointer;font-weight:800;color:#12355b}
.psv-sim-swap-sources ul{margin:10px 0 0;padding-left:1.2rem}
.psv-sim-swap-sources a{color:#075f8a;text-decoration:underline;text-underline-offset:2px}
body.psv-sim-swap-modal-open{overflow:hidden}

/* Compléments de la fiche réflexe complète. */
.reflex-detail-layout .psv-reflex-context,
.reflex-detail-layout .psv-reflex-evidence,
.reflex-detail-layout .psv-reflex-declarations{grid-column:1/-1;border-radius:16px;padding:18px;background:#f7fafc;color:#17283a;border:1px solid #dce5ec}
.reflex-detail-layout .psv-reflex-context * ,
.reflex-detail-layout .psv-reflex-evidence * ,
.reflex-detail-layout .psv-reflex-declarations *{color:#17283a}
.reflex-detail-layout .psv-reflex-context h3,
.reflex-detail-layout .psv-reflex-evidence h3,
.reflex-detail-layout .psv-reflex-declarations h3{margin-top:0;color:#12355b!important}
.psv-reflex-warning-signs{margin-top:14px;background:#fff8e8;border:1px solid #e3a14a;border-radius:12px;padding:14px 16px}
.psv-reflex-warning-signs h4{margin:0 0 8px;color:#6e310d!important}
.psv-reflex-warning-signs ul,.psv-reflex-evidence ul,.psv-reflex-declarations ul{margin:.4rem 0 0;padding-left:1.25rem}
.psv-reflex-warning-signs li,.psv-reflex-evidence li,.psv-reflex-declarations li{margin:.5rem 0;line-height:1.48}
.psv-reflex-caution{background:#fff;color:#44220e!important;border-left:4px solid #b85816;padding:10px 12px;border-radius:8px;margin:12px 0 0}
.psv-reflex-evidence{background:#f8f6ff!important;border-color:#c8bce8!important}
.psv-reflex-declarations{background:#eef9f6!important;border-color:#91cfc3!important}
.psv-reflex-sources{margin-top:12px;border-top:1px solid #dce5ec;padding-top:10px}
.psv-reflex-sources summary{cursor:pointer;color:#12355b;font-weight:800}
.psv-reflex-sources ul{padding-left:1.1rem}.psv-reflex-sources li{margin:.45rem 0}.psv-reflex-sources a{color:#075f8a}

@media (max-width:760px){
  .psv-sim-swap-banner{grid-template-columns:auto minmax(0,1fr);padding:15px;gap:12px}
  .psv-sim-swap-actions{grid-column:1/-1;justify-content:stretch}
  .psv-sim-swap-actions>*{flex:1 1 145px;text-align:center}
  .psv-sim-swap-dialog{max-height:94vh;border-radius:16px}
  .psv-sim-swap-dialog-head{padding:16px}
  .psv-sim-swap-dialog-body{padding:16px}
  .psv-sim-swap-section{padding:14px}
}


/* Pasivite 2.8.50.44 — correction structure fiche réflexe détaillée.
   Le contenu principal et la colonne contacts sont deux colonnes réelles :
   aucun élément pleine largeur ne peut repousser artificiellement la colonne principale. */
.reflex-detail-layout > .reflex-main-flow{
  grid-column:1!important;
  grid-row:1!important;
  min-width:0;
  display:flex;
  flex-direction:column;
}
.reflex-detail-layout > .reflex-main-flow > .psv-reflex-context,
.reflex-detail-layout > .reflex-main-flow > .reflex-now,
.reflex-detail-layout > .reflex-main-flow > .reflex-avoid-block,
.reflex-detail-layout > .reflex-main-flow > .psv-reflex-evidence,
.reflex-detail-layout > .reflex-main-flow > .psv-reflex-declarations,
.reflex-detail-layout > .reflex-main-flow > .reflex-after-block{
  grid-column:auto!important;
  grid-row:auto!important;
  width:auto;
  min-width:0;
}
.reflex-detail-layout > .reflex-main-flow > .psv-reflex-context,
.reflex-detail-layout > .reflex-main-flow > .psv-reflex-evidence,
.reflex-detail-layout > .reflex-main-flow > .psv-reflex-declarations{
  margin:18px 28px 0;
}
.reflex-detail-layout > .reflex-main-flow > .reflex-now{
  display:block!important;
}
.reflex-detail-layout > .reflex-side-panel{
  grid-column:2!important;
  grid-row:1!important;
  min-width:0;
  align-self:stretch;
}
@media(max-width:980px){
  .reflex-detail-layout > .reflex-main-flow,
  .reflex-detail-layout > .reflex-side-panel{
    grid-column:1!important;
    grid-row:auto!important;
  }
  .reflex-detail-layout > .reflex-main-flow > .psv-reflex-context,
  .reflex-detail-layout > .reflex-main-flow > .psv-reflex-evidence,
  .reflex-detail-layout > .reflex-main-flow > .psv-reflex-declarations{
    margin:16px 20px 0;
  }
}
@media(max-width:760px){
  .reflex-detail-layout > .reflex-main-flow > .psv-reflex-context,
  .reflex-detail-layout > .reflex-main-flow > .psv-reflex-evidence,
  .reflex-detail-layout > .reflex-main-flow > .psv-reflex-declarations{
    margin:13px 13px 0;
    padding:14px;
  }
}
body.mobile-mode .reflex-detail-layout > .reflex-main-flow,
body.mobile-mode .reflex-detail-layout > .reflex-side-panel{
  grid-column:1/-1!important;
  grid-row:auto!important;
  min-width:0!important;
}
body.mobile-mode .reflex-detail-layout > .reflex-main-flow > .psv-reflex-context,
body.mobile-mode .reflex-detail-layout > .reflex-main-flow > .psv-reflex-evidence,
body.mobile-mode .reflex-detail-layout > .reflex-main-flow > .psv-reflex-declarations{
  margin:10px 12px 0!important;
  padding:13px!important;
}

/* Pasivite 2.8.50.45 — fiches réflexes dédiées sans colonne latérale vide.
   Le contenu utile occupe toute la largeur ; les contacts suivent immédiatement
   les actions et les sources restent en bas de la fiche. */
.reflex-dedicated .reflex-detail-layout{
  display:block!important;
  grid-template-columns:none!important;
}
.reflex-dedicated .reflex-detail-layout > .reflex-main-flow{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}
.reflex-dedicated .reflex-contact-inline{
  margin:0 28px 24px;
  padding:18px;
  border:1px solid #cfe2e7;
  border-radius:16px;
  background:#f6fbfc;
  color:#17283a;
}
.reflex-dedicated .reflex-contact-inline h3{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 12px;
  color:#102a4d!important;
  font-size:1.08rem;
}
.reflex-dedicated .reflex-contact-inline h3>span{
  width:30px;
  height:30px;
  border-radius:50%;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  background:#0d9488;
  color:#fff!important;
  font-size:.9rem;
  font-weight:900;
}
.reflex-dedicated .reflex-contact-inline-actions{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:10px;
}
.reflex-dedicated .reflex-contact-inline-actions .secondary-button{
  width:100%;
  min-width:0;
  justify-content:center;
  text-align:center;
}
.reflex-dedicated .reflex-dedicated-sources{
  margin:0 28px 28px;
  padding:16px 18px;
  border:1px solid #dce5ec;
  border-radius:14px;
  background:#f8fbfc;
  color:#17283a;
}
.reflex-dedicated .reflex-dedicated-sources .source-line{
  margin:0;
  color:#43586b;
  font-size:.9rem;
  line-height:1.5;
}
.reflex-dedicated .reflex-dedicated-sources .psv-reflex-sources{
  margin-top:12px;
}
@media(max-width:760px){
  .reflex-dedicated .reflex-contact-inline,
  .reflex-dedicated .reflex-dedicated-sources{
    margin-left:13px;
    margin-right:13px;
  }
  .reflex-dedicated .reflex-contact-inline{
    padding:14px;
  }
  .reflex-dedicated .reflex-contact-inline-actions{
    grid-template-columns:1fr;
  }
}
body.mobile-mode .reflex-dedicated .reflex-contact-inline,
body.mobile-mode .reflex-dedicated .reflex-dedicated-sources{
  margin-left:12px!important;
  margin-right:12px!important;
}


/* 2.8.50.50 — boutons courts, lisibles et sans débordement. */
.psv-sim-swap-actions{align-items:stretch}
.psv-sim-swap-actions .primary-button,.psv-sim-swap-actions .secondary-button,
.psv-sim-swap-dialog-actions .primary-button,.psv-sim-swap-dialog-actions .secondary-button{
  min-width:0;max-width:100%;white-space:normal!important;overflow-wrap:anywhere;word-break:normal;line-height:1.18;text-align:center;padding:10px 14px
}
.psv-sim-swap-banner-mobile .psv-sim-swap-copy strong{font-size:1rem}
.psv-sim-swap-banner-mobile .psv-sim-swap-copy p{font-size:.9rem;line-height:1.42}
@media(max-width:600px){
  .psv-sim-swap-banner-mobile{grid-template-columns:42px minmax(0,1fr)!important;margin:10px 12px 8px;padding:14px!important;gap:10px!important}
  .psv-sim-swap-banner-mobile .psv-sim-swap-icon{width:42px;height:42px;font-size:1.25rem}
  .psv-sim-swap-banner-mobile .psv-sim-swap-actions{grid-column:1/-1;display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;width:100%}
  .psv-sim-swap-banner-mobile .psv-sim-swap-actions>*{width:100%!important;min-width:0!important;margin:0!important;font-size:.92rem!important;padding:10px 8px!important}
  .psv-sim-swap-dialog-actions{display:grid!important;grid-template-columns:1fr!important}
  .psv-sim-swap-dialog-actions>*{width:100%!important}
}
@media(max-width:390px){.psv-sim-swap-banner-mobile .psv-sim-swap-actions{grid-template-columns:1fr!important}}
