/* Avertissement propre au prototype indépendant de l’Atelier Oz. */
.prototype-notice:not([open]),
.prototype-modal-backdrop[hidden],
.prototype-reopen[hidden] { display: none !important; }

.prototype-notice {
  position: fixed;
  inset: 0;
  width: min(680px, calc(100% - 32px));
  max-height: calc(100vh - 40px);
  max-height: calc(100dvh - 40px);
  margin: auto;
  padding: 0;
  overflow: auto;
  border: 1px solid #d7dfeb;
  border-radius: 10px;
  background: #fff;
  color: #1f325e;
  box-shadow: 0 24px 90px #101d3a45;
  z-index: 2147483001;
  overscroll-behavior: contain;
}

.prototype-notice::backdrop,
.prototype-modal-backdrop {
  background: #10213bd4;
  backdrop-filter: blur(4px);
}

.prototype-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 2147483000;
}

.prototype-notice[open] { display: block; }
.prototype-notice-panel { padding: 30px 34px 34px; }
.prototype-notice-heading-row { display: flex; align-items: start; gap: 20px; justify-content: space-between; }
.prototype-notice-kicker { font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; margin: 2px 0 18px; }
.prototype-notice h2 { max-width: 520px; font: 600 clamp(25px, 5vw, 34px)/1.16 "Avenir Next", Avenir, "Segoe UI", Arial, sans-serif; letter-spacing: -.035em; margin: 0 0 24px; }
.prototype-notice p { margin: 0 0 15px; font-size: 15px; line-height: 1.65; }
.prototype-notice .prototype-notice-intro { font-size: 18px; line-height: 1.5; font-weight: 600; }
.prototype-notice a:not(.prototype-notice-action) { text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.prototype-notice-close { border: 1px solid #c8d2e3; background: #fff; color: #1f325e; border-radius: 5px; padding: 7px 11px; font: 600 12px/1.4 "Avenir Next", Avenir, "Segoe UI", Arial, sans-serif; cursor: pointer; flex-shrink: 0; }
.prototype-notice-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.prototype-notice-action { display: inline-flex; align-items: center; justify-content: center; padding: 13px 17px; min-height: 48px; border: 1px solid #1f325e; border-radius: 5px; color: #1f325e; background: #fff; font: 600 14px/1.4 "Avenir Next", Avenir, "Segoe UI", Arial, sans-serif; text-decoration: none; cursor: pointer; }
.prototype-notice-action.primary { background: #1f325e; color: #fff; }
.prototype-notice :focus-visible,
.prototype-reopen:focus-visible { outline: 3px solid #a36b00; outline-offset: 4px; }
.prototype-notice h2:focus { outline: none; }
body.prototype-notice-open { overflow: hidden; }

.prototype-footer-note { margin-top: 28px; padding-top: 24px; border-top: 1px solid #ffffff36; font-size: 12px; line-height: 1.7; }
.prototype-footer-note p { max-width: 1000px; margin: 0 0 10px; font-size: 12px; line-height: 1.7; }
.prototype-footer-note a { text-decoration: underline; text-underline-offset: 3px; }
.prototype-reopen { border: 1px solid currentColor; border-radius: 4px; background: transparent; color: inherit; font-family: inherit; font-size: 12px; font-weight: 600; line-height: 1.4; padding: 9px 12px; margin-top: 5px; cursor: pointer; }
.prototype-official-link-note { font-size: .91em; white-space: nowrap; }
.prototype-notice-noscript { padding: 24px max(24px, calc((100% - 1164px) / 2)); color: #1f325e; background: #fff5dd; border-bottom: 1px solid #d4bb84; }
.prototype-notice-noscript h2 { font-size: 23px; margin-bottom: 14px; }
.prototype-notice-noscript p { font-size: 14px; margin: 0 0 10px; line-height: 1.6; }
.prototype-notice-noscript a { text-decoration: underline; }

@media (max-width: 520px) {
  .prototype-notice-panel { padding: 22px 22px 25px; }
  .prototype-notice-actions { flex-direction: column; }
  .prototype-notice-action { width: 100%; }
  .prototype-notice p { font-size: 14px; }
  .prototype-notice .prototype-notice-intro { font-size: 17px; }
}

@media (prefers-reduced-motion: reduce) {
  .prototype-notice,
  .prototype-notice::backdrop,
  .prototype-modal-backdrop { scroll-behavior: auto; backdrop-filter: none; }
}

@media print {
  .prototype-notice,
  .prototype-modal-backdrop,
  .prototype-reopen { display: none !important; }
  .prototype-footer-note { color: #1f325e; border-top-color: #c8d2e3; }
  body.prototype-notice-open { overflow: visible; }
}
