/* =========================================================================
   Fenêtres « Mentions légales » et « Confidentialité » (pop-ups)
   Feuille partagée par la page racine et le blog.
   ========================================================================= */

.legal-open{
  background:none;border:0;color:inherit;font:inherit;cursor:pointer;
  padding:0;text-decoration:underline;text-underline-offset:2px;
}
.legal-open:hover{color:#fff}

/* verrou de défilement quand une pop-up est ouverte */
body.modal-lock{overflow:hidden}

.modal{
  position:fixed;inset:0;z-index:1000;display:none;
  align-items:center;justify-content:center;padding:22px;
}
.modal.open{display:flex}
.modal-backdrop{
  position:absolute;inset:0;background:rgba(23,33,27,.55);
  -webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);
}
.modal-card{
  position:relative;background:var(--card,#fff);color:var(--body,#48514B);
  width:100%;max-width:780px;max-height:86vh;overflow-y:auto;
  border:1px solid var(--line,#E7E7E0);border-radius:var(--r,14px);
  box-shadow:0 30px 70px -30px rgba(16,24,40,.5);
  padding:40px 42px 36px;
}
.modal-card:focus{outline:none}
.modal-close{
  position:absolute;top:12px;right:12px;width:38px;height:38px;border-radius:9px;
  border:1px solid var(--line,#E7E7E0);background:#fff;color:var(--muted,#7C857D);
  font-size:20px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:.15s;
}
.modal-close:hover{color:var(--ink,#17211B);border-color:var(--line-2,#D7D7CD)}
.modal-card h2{
  font-family:var(--display,"Clash Display",system-ui,sans-serif);
  color:var(--ink,#17211B);font-size:23px;letter-spacing:-.01em;margin:0 0 6px;
}
.modal-card h3{
  font-family:var(--display,"Clash Display",system-ui,sans-serif);
  color:var(--ink,#17211B);font-size:16px;margin:24px 0 6px;
}
.modal-card p,.modal-card li{font-size:14.5px;line-height:1.62}
.modal-card p{margin:8px 0}
.modal-card ul{margin:8px 0;padding-left:20px}
.modal-card li{margin:4px 0}
.modal-card a{color:var(--blue,#2F5D4A);text-decoration:underline;text-underline-offset:2px}
.modal-card .modal-sub{
  font-family:var(--mono,"Fragment Mono",monospace);font-size:11px;
  letter-spacing:.06em;text-transform:uppercase;color:var(--muted,#7C857D);
  margin:0 0 18px;
}
.modal-card .modal-note{
  background:var(--bg-alt,#F3F5F0);border:1px solid var(--line,#E7E7E0);
  border-radius:9px;padding:12px 15px;font-size:13px;color:var(--muted,#7C857D);margin-top:22px;
}
.modal-card .todo{background:#F8EEE0;border-radius:4px;padding:0 5px;color:#8a5a1f}

@media(max-width:560px){
  .modal{padding:0}
  .modal-card{max-height:100vh;height:100%;border-radius:0;padding:46px 22px 30px}
}
