/* Confidentialité : Archivo, neutres et angles droits de la charte v1.1. */
.cookie-banner {
  position: fixed; z-index: 80; inset: auto 0 0;
  display: flex; align-items: center; gap: 1.5rem;
  max-height: 70dvh; overflow-y: auto;
  padding: 1.25rem max(16px, calc((100vw - 1120px) / 2));
  border-top: 2px solid var(--fg); background: var(--bg); color: var(--fg);
}
.cookie-banner-copy { flex: 1 1 34rem; min-width: 0; }
.cookie-banner h2, .cookie-dialog h2 { font-size: 1.25rem; line-height: 1.35; }
.cookie-banner p { margin-top: 0.5rem; font-size: 0.875rem; line-height: 1.55; }
.cookie-banner a, .cookie-dialog a { text-decoration: underline; text-underline-offset: 0.18em; }
.cookie-banner a { font-size: 0.875rem; }
.cookie-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.6rem; }
.cookie-actions .btn { min-height: 44px; white-space: normal; padding-inline: 0.75rem; }
.cookie-banner .cookie-actions { flex: 0 0 25rem; }
.cookie-dialog {
  width: min(44rem, calc(100% - 2rem)); max-height: calc(100dvh - 2rem);
  padding: clamp(1.25rem, 3vw, 2rem); overflow-y: auto;
  border: 1px solid var(--fg); border-radius: 0;
  background: var(--bg); color: var(--fg); font: inherit;
}
.cookie-dialog::backdrop { background: rgb(38 41 46 / 65%); }
.cookie-dialog-heading { display: flex; align-items: flex-start; gap: 1rem; justify-content: space-between; margin-bottom: 1.25rem; }
.cookie-dialog-heading .btn { flex: none; }
.cookie-dialog p { font-size: 0.9rem; line-height: 1.55; }
.cookie-option { display: grid; gap: 0.4rem; padding-block: 1rem; margin-top: 1rem; border-top: 1px solid var(--line); font-size: 0.9rem; line-height: 1.55; }
.cookie-option > span:not(.cookie-option-heading) { color: var(--muted); }
.cookie-option-heading { display: flex; align-items: flex-start; gap: 0.65rem; }
.cookie-option input { width: 1.15rem; height: 1.15rem; margin: 0.15rem 0 0; flex: none; accent-color: var(--fg); }
.cookie-dialog .cookie-actions { margin-top: 1.5rem; }
@media (max-width: 1000px) {
  .cookie-banner { display: block; padding: 1rem; }
  .cookie-banner .cookie-actions { margin-top: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cookie-banner .cookie-actions :last-child { grid-column: 1 / -1; }
  .cookie-actions .btn { padding-inline: 0.75rem; white-space: normal; }
  .cookie-dialog-heading { flex-wrap: wrap; }
}
@media (max-width: 640px) {
  .cookie-dialog .cookie-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cookie-dialog .cookie-actions :last-child { grid-column: 1 / -1; }
}
