.cookies-page {
  overflow: hidden;
}

.cookies-page__hero {
  padding-block: var(--space-10) var(--space-8);
  border-bottom: 2px solid var(--color-bleu-klein);
}

.cookies-page__hero-layout {
  display: grid;
  grid-template-columns: minmax(0, 47.5rem) minmax(0, 1fr);
  gap: var(--space-6);
  align-items: end;
}

.cookies-page__hero-layout > * { min-width: 0; }

.cookies-page__hero-copy { width: min(100%, 47.5rem); }

.cookies-page__hero-copy h1 {
  margin-bottom: var(--space-5);
  font-size: clamp(3.25rem, 6vw, 4.5rem);
  line-height: 1.056;
}

.cookies-page__lead {
  width: min(100%, 38.75rem);
  font-size: var(--text-body-large);
  line-height: var(--line-body-large);
}

.cookies-page__updated {
  width: min(100%, 38.75rem);
  margin-bottom: 0;
  padding: var(--space-3) var(--space-4);
  border: var(--border-default);
  background: var(--color-craie-chaude);
  font-size: var(--text-meta);
  font-weight: 600;
  line-height: var(--line-meta);
}

.cookies-page__hero-marker {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: flex-end;
  gap: var(--space-2);
  min-height: 7rem;
  padding: var(--space-4) 0 var(--space-4) var(--space-6);
  border-left: var(--border-default);
  color: var(--color-encre-gris);
  font-size: var(--text-annotation);
  font-weight: 600;
  letter-spacing: 0.12em;
  line-height: var(--line-annotation);
}

.cookies-page__section-heading--standard { width: min(100%, 47.5rem); }
.cookies-page__section-heading--wide { width: min(100%, 52rem); }

.cookies-page__section-heading h2 { margin-bottom: var(--space-6); }

.cookies-page__numbered-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-7);
  width: min(100%, 43.625rem);
}

.cookies-page__numbered-list > * { min-width: 0; width: 100%; }

.cookies-page__numbered-item {
  display: grid;
  grid-template-columns: 3rem minmax(0, 40.625rem);
  gap: var(--space-4);
  align-items: start;
  padding-left: var(--space-4);
  border-left: var(--border-default);
}

.cookies-page__numbered-item > * { min-width: 0; }

.cookies-page__index,
.cookies-page__card-index {
  margin: 0;
  color: var(--color-bleu-klein);
  font-size: var(--text-meta);
  font-weight: 600;
  letter-spacing: 0.12em;
  line-height: var(--line-meta);
}

.cookies-page__numbered-copy { width: min(100%, 40.625rem); }
.cookies-page__numbered-copy p { width: min(100%, 40.625rem); }

.cookies-page__definition-note {
  width: min(100%, 35rem);
  margin-top: var(--space-5);
  padding: var(--space-4);
  border: var(--border-default);
  background: var(--color-craie-chaude);
  color: var(--color-encre-gris);
  font-size: var(--text-meta);
  line-height: var(--line-meta);
}

.cookies-page__purpose-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  align-items: stretch;
}

.cookies-page__purpose-grid > * { min-width: 0; width: 100%; }

.cookies-page__purpose-card {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-4);
  min-width: 0;
  padding: var(--space-5);
  border: var(--border-default);
}

.cookies-page__purpose-card > * { min-width: 0; }
.cookies-page__purpose-card h3,
.cookies-page__purpose-card p { margin: 0; }
.cookies-page__purpose-card p:last-child { font-size: var(--text-meta); line-height: var(--line-meta); }
.cookies-page__purpose-card--warm { background: var(--color-craie-chaude); }
.cookies-page__purpose-card--light { background: var(--color-craie-blanche); }
.cookies-page__purpose-card--rule { border-top: 2px solid var(--color-bleu-klein); background: var(--color-craie-blanche); }
.cookies-page__choice-tag { align-self: flex-start; border-color: var(--color-vert-amande); background: var(--color-vert-amande); color: var(--color-brun-cacao); }

.cookies-page__consent-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
  align-items: stretch;
}

.cookies-page__consent-grid > * { min-width: 0; width: 100%; }

.cookies-page__consent-panel {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-4);
  min-width: 0;
  padding: var(--space-6);
}

.cookies-page__consent-panel > * { min-width: 0; }
.cookies-page__consent-panel h3,
.cookies-page__consent-panel p { margin: 0; }
.cookies-page__consent-panel h3 { font-size: clamp(1.75rem, 3vw, 2.25rem); }
.cookies-page__consent-panel p:last-child { width: min(100%, 29.375rem); }
.cookies-page__consent-panel--necessary { background: var(--color-brun-cacao); color: var(--color-craie-blanche); }
.cookies-page__consent-panel--optional { background: var(--color-bleu-klein); color: var(--color-craie-blanche); }
.cookies-page__consent-panel :is(h3, .cookies-page__panel-label) { color: inherit; }
.cookies-page__panel-label { font-size: var(--text-annotation); font-weight: 600; letter-spacing: 0.12em; line-height: var(--line-annotation); text-transform: uppercase; }
.cookies-page__panel-label span { display: inline-block; width: 0.5rem; height: 0.5rem; margin-right: var(--space-2); background: var(--color-orange-safran); }

.cookies-page__withdrawal {
  width: min(100%, 40rem);
  margin-top: var(--space-6);
  padding-top: var(--space-5);
  border-top: var(--border-default);
}

.cookies-page__withdrawal h3 { margin-bottom: var(--space-4); }
.cookies-page__withdrawal p { margin-bottom: 0; }

.cookies-page__browser-intro { width: min(100%, 37.5rem); }
.cookies-page__browser-intro h2 { margin-bottom: var(--space-5); }
.cookies-page__browser-intro p { margin-bottom: 0; }
.cookies-page__browser-rule { width: 100%; height: 1px; margin-block: var(--space-6); background: var(--color-ligne-plan); }

.cookies-page__steps-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  align-items: start;
}

.cookies-page__steps-grid > * { min-width: 0; width: 100%; }

.cookies-page__step {
  display: grid;
  grid-template-columns: minmax(0, 3rem) minmax(0, 1fr);
  gap: var(--space-3);
  min-width: 0;
}

.cookies-page__step > * { min-width: 0; }
.cookies-page__step-number { margin: 0; color: var(--color-bleu-klein); font-family: var(--font-heading); font-size: 2.5rem; font-weight: 500; line-height: 1; }
.cookies-page__step-copy h3 { margin-bottom: var(--space-3); }
.cookies-page__step-copy p { margin-bottom: 0; font-size: var(--text-meta); line-height: var(--line-meta); }

.cookies-page__retention-layout {
  display: grid;
  grid-template-columns: minmax(0, 38.75rem) minmax(0, 10rem);
  gap: var(--space-7);
  align-items: start;
}

.cookies-page__retention-layout > * { min-width: 0; }
.cookies-page__retention-copy { width: min(100%, 38.75rem); }
.cookies-page__retention-copy h2 { margin-bottom: var(--space-6); }

.cookies-page__document-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
  width: min(100%, 38.75rem);
}

.cookies-page__document-list > * { min-width: 0; width: 100%; }
.cookies-page__document-item { padding-top: var(--space-5); border-top: var(--border-default); }
.cookies-page__document-item h3 { margin-bottom: var(--space-3); }
.cookies-page__document-item p { width: min(100%, 38.75rem); margin-bottom: 0; }
.cookies-page__document-item--current { border-top: 2px solid var(--color-bleu-klein); }

.cookies-page__retention-aside {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 10rem;
  min-height: 8rem;
  margin-top: 8.5rem;
  border: var(--border-default);
  background: var(--color-vert-amande);
  color: var(--color-brun-cacao);
  font-size: var(--text-annotation);
  font-weight: 600;
  letter-spacing: 0.12em;
  line-height: var(--line-annotation);
  text-align: center;
}

.cookies-page__contact { padding-top: var(--space-8); }

.cookies-page__contact-panel {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-4);
  width: min(100%, 38.75rem);
  padding: var(--space-6);
  border: var(--border-default);
  border-top: 2px solid var(--color-orange-safran);
  border-radius: var(--radius-soft);
  background: var(--color-craie-chaude);
}

.cookies-page__contact-panel > * { min-width: 0; margin: 0; }
.cookies-page__contact-panel h2 { margin-bottom: 0; }
.cookies-page__contact-panel p { width: min(100%, 33.75rem); }
.cookies-page__email { align-self: flex-start; color: var(--color-bleu-klein); font-size: var(--text-body-large); font-weight: 600; overflow-wrap: anywhere; }
.cookies-page__document-reference { padding-top: var(--space-4); border-top: var(--border-default); color: var(--color-encre-gris); font-size: var(--text-meta); line-height: var(--line-meta); }

.cookies-page a:hover { color: var(--color-bleu-klein); text-decoration-thickness: 2px; }
.cookies-page__consent-panel a:hover { color: var(--color-craie-blanche); }

@media (max-width: 60rem) {
  .cookies-page__purpose-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cookies-page__purpose-card--rule { grid-column: 1 / -1; }
}

@media (max-width: 56.25rem) {
  .cookies-page__retention-layout { grid-template-columns: minmax(0, 38.75rem); gap: 0; }
  .cookies-page__retention-aside { display: none; }
}

@media (max-width: 48.75rem) {
  .cookies-page__steps-grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
  .cookies-page__step { grid-template-columns: 3rem minmax(0, 1fr); }
}

@media (max-width: 47.5rem) {
  .cookies-page__consent-grid { grid-template-columns: minmax(0, 1fr); }
  .cookies-page__consent-panel { padding: var(--space-5); }
}

@media (max-width: 40rem) {
  .cookies-page__hero { padding-block: var(--space-8) var(--space-7); }
  .cookies-page__hero-layout { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .cookies-page__hero-copy { width: 100%; }
  .cookies-page__hero-copy h1 { font-size: 2.5rem; line-height: 1.075; }
  .cookies-page__lead { width: 100%; font-size: var(--text-body); line-height: var(--line-body); }
  .cookies-page__updated { width: 100%; }
  .cookies-page__hero-marker { display: none; }
  .cookies-page__section-heading--standard,
  .cookies-page__section-heading--wide,
  .cookies-page__numbered-list,
  .cookies-page__browser-intro,
  .cookies-page__retention-copy,
  .cookies-page__document-list,
  .cookies-page__contact-panel { width: 100%; }
  .cookies-page__section-heading h2,
  .cookies-page__browser-intro h2,
  .cookies-page__retention-copy h2 { font-size: 2rem; line-height: 1.125; }
  .cookies-page__numbered-list { gap: var(--space-6); }
  .cookies-page__numbered-item { grid-template-columns: minmax(0, 1fr); gap: var(--space-2); padding-left: 0; border-left: 0; }
  .cookies-page__numbered-copy,
  .cookies-page__numbered-copy p,
  .cookies-page__definition-note,
  .cookies-page__withdrawal,
  .cookies-page__document-item p,
  .cookies-page__contact-panel p { width: 100%; }
  .cookies-page__purpose-grid { grid-template-columns: minmax(0, 1fr); }
  .cookies-page__purpose-card--rule { grid-column: auto; }
  .cookies-page__purpose-card { padding: var(--space-4); }
  .cookies-page__steps-grid { gap: var(--space-5); }
  .cookies-page__contact-panel { padding: var(--space-5); }
}
