main[data-cookie-policy-page] {
  background: var(--color-parchment);
}

.cookie-policy-intro {
  padding-top: var(--hero-space);
  padding-bottom: var(--section-space);
}

.cookie-policy-intro__grid {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-6);
}

.cookie-policy-intro__copy {
  min-width: 0;
  max-width: 47.5rem;
}

.cookie-policy-intro__lead {
  max-width: 42.5rem;
  font-size: var(--text-lead);
}

.cookie-policy-intro__meta {
  margin: 0;
  color: var(--color-muted);
  font-size: var(--text-small);
  font-weight: 500;
  letter-spacing: 0.12em;
  line-height: 1.4;
  text-transform: uppercase;
}

.cookie-policy-intro__motif {
  display: none;
}

.cookie-policy-basics {
  padding-bottom: var(--section-space);
}

.cookie-policy-basics__panel {
  position: relative;
  width: min(100%, 65rem);
  margin-inline: auto;
  padding: var(--space-5);
  border: var(--border);
  border-radius: var(--radius-default);
  background: var(--color-cream);
}

.cookie-policy-basics__copy {
  max-width: 42.5rem;
}

.cookie-policy-basics__copy > :last-child {
  margin-bottom: 0;
}

.cookie-policy-purpose-list {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
  margin: var(--space-5) 0 0;
  padding: 0;
  list-style: none;
  counter-reset: purpose;
}

.cookie-policy-purpose-list > li {
  position: relative;
  min-width: 0;
  padding-top: var(--space-4);
  padding-left: 3.25rem;
  border-top: var(--border);
  counter-increment: purpose;
}

.cookie-policy-purpose-list > li::before {
  position: absolute;
  top: var(--space-4);
  left: 0;
  color: var(--color-cognac);
  content: "0" counter(purpose);
  font-family: var(--font-display);
  font-size: 1.75rem;
  line-height: 1;
}

.cookie-policy-purpose-list p {
  margin-bottom: 0;
}

.cookie-policy-categories {
  padding-bottom: var(--section-space);
}

.cookie-policy-categories__intro {
  max-width: 47.5rem;
}

.cookie-policy-categories__table-wrap {
  width: min(100%, 57.5rem);
  margin-top: var(--space-6);
  margin-inline: auto;
  overflow-x: auto;
  border: var(--border);
  border-radius: var(--radius-default);
  background: var(--color-cream);
  scrollbar-color: var(--color-cognac) var(--color-parchment);
  scrollbar-width: thin;
}

.cookie-policy-categories__table {
  width: 100%;
  min-width: 42.5rem;
  margin: 0;
  border-collapse: collapse;
}

.cookie-policy-categories__table th,
.cookie-policy-categories__table td {
  padding: var(--space-4);
  border-bottom: var(--border);
  overflow-wrap: anywhere;
}

.cookie-policy-categories__table th {
  background: color-mix(in srgb, var(--color-parchment) 72%, var(--color-cream));
  color: var(--color-ink);
  font-size: var(--text-small);
  letter-spacing: 0.08em;
  line-height: 1.4;
  text-transform: uppercase;
}

.cookie-policy-categories__table th:nth-child(1) {
  width: 22%;
}

.cookie-policy-categories__table th:nth-child(2) {
  width: 39%;
}

.cookie-policy-categories__table th:nth-child(3) {
  width: 21%;
}

.cookie-policy-categories__table th:nth-child(4) {
  width: 18%;
}

.cookie-policy-categories__table tbody tr:last-child td {
  border-bottom: 0;
}

.cookie-policy-category-label {
  display: inline-block;
  padding: 0.25rem 0.375rem;
  border: 1px solid currentColor;
  border-radius: var(--radius-default);
  color: var(--color-ink);
  font-size: var(--text-small);
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1.3;
}

.cookie-policy-category-label--functional {
  color: var(--color-forest);
}

.cookie-policy-category-label--statistics {
  color: var(--color-burgundy);
}

.cookie-policy-categories__action {
  margin-top: var(--space-5);
}

.cookie-policy-settings {
  position: relative;
  padding-block: var(--section-space);
  border-block: var(--border-dark);
  background: var(--color-forest);
  color: var(--color-cream);
}

.cookie-policy-settings__grid {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-6);
}

.cookie-policy-settings__copy {
  min-width: 0;
  max-width: 42.5rem;
}

.cookie-policy-settings__copy h2,
.cookie-policy-settings__copy h3 {
  color: var(--color-cream);
}

.cookie-policy-settings__copy h3 {
  margin-top: var(--space-7);
}

.cookie-policy-settings__button {
  margin-bottom: var(--space-3);
}

.cookie-policy-settings__fallback {
  margin: var(--space-3) 0 0;
  color: var(--color-oak);
  font-size: var(--text-small);
}

.cookie-policy-browser-steps {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  margin: var(--space-5) 0 0;
  padding: 0;
  list-style: none;
  counter-reset: browser-step;
}

.cookie-policy-browser-steps > li {
  min-width: 0;
  padding: var(--space-3) 0 var(--space-3) 2.5rem;
  border-top: 1px solid rgb(250 245 234 / 24%);
  counter-increment: browser-step;
}

.cookie-policy-browser-steps > li::before {
  position: absolute;
  margin-left: -2.5rem;
  color: var(--color-oak);
  content: counter(browser-step) ".";
  font-weight: 600;
}

.cookie-policy-browser-steps > li:last-child {
  border-bottom: 1px solid rgb(250 245 234 / 24%);
}

.cookie-policy-settings__motif {
  display: none;
}

.cookie-policy-privacy {
  padding-block: var(--section-space);
}

.cookie-policy-privacy__panel {
  width: min(100%, 57.5rem);
  margin-inline: auto;
  padding: var(--space-5);
  border: var(--border);
  border-radius: var(--radius-default);
  background: var(--color-cream);
}

.cookie-policy-privacy__copy {
  max-width: 42.5rem;
}

.cookie-policy-privacy__notice {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  margin-top: var(--space-6);
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-burgundy);
}

.cookie-policy-privacy__notice > * {
  min-width: 0;
}

.cookie-policy-privacy__notice h3,
.cookie-policy-privacy__notice p {
  margin: 0;
}

.cookie-policy-privacy__contact-lines {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-2);
  color: var(--color-muted);
}

.cookie-policy-updates {
  padding-top: 0;
  padding-bottom: var(--section-space);
}

.cookie-policy-updates__copy {
  max-width: 42.5rem;
  padding-top: var(--space-5);
  border-top: var(--border);
}

.cookie-policy-updates__settings-link {
  display: inline-flex;
  min-width: 0;
  min-height: 2.75rem;
  align-items: center;
  color: var(--color-forest);
  font-weight: 600;
}

@media (min-width: 40rem) {
  .cookie-policy-basics__panel,
  .cookie-policy-privacy__panel {
    padding: var(--space-7);
  }
}

@media (min-width: 56.25rem) {
  .cookie-policy-intro__grid {
    grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
    align-items: end;
    gap: var(--space-6);
  }

  .cookie-policy-intro__copy {
    grid-column: 1;
  }

  .cookie-policy-intro__motif {
    display: block;
    grid-column: 2;
    width: 8.5rem;
    height: 8.5rem;
    justify-self: end;
    border-top: 2px solid var(--color-cognac);
    border-right: 2px solid var(--color-cognac);
    opacity: 0.7;
  }

  .cookie-policy-basics__panel::after {
    position: absolute;
    top: var(--space-7);
    right: var(--space-6);
    bottom: var(--space-7);
    width: 2px;
    background: var(--color-cognac);
    content: "";
    opacity: 0.65;
  }

  .cookie-policy-settings__grid {
    grid-template-columns: minmax(0, 7fr) minmax(0, 2fr) minmax(0, 3fr);
    align-items: start;
  }

  .cookie-policy-settings__copy {
    grid-column: 1;
  }

  .cookie-policy-settings__motif {
    display: block;
    grid-column: 3;
    width: 10rem;
    height: 6rem;
    justify-self: end;
    border: 1px solid rgb(250 245 234 / 24%);
    box-shadow: inset 0 0 0 0.5rem var(--color-forest);
    opacity: 0.72;
  }
}

@media (max-width: 39.9375rem) {
  .cookie-policy-basics__panel,
  .cookie-policy-privacy__panel {
    padding: var(--space-5);
  }

  .cookie-policy-categories__table-wrap {
    overflow: visible;
    border: 0;
    background: transparent;
  }

  .cookie-policy-categories__table,
  .cookie-policy-categories__table tbody,
  .cookie-policy-categories__table tr,
  .cookie-policy-categories__table th,
  .cookie-policy-categories__table td {
    display: block;
    width: 100%;
    min-width: 0;
  }

  .cookie-policy-categories__table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
  }

  .cookie-policy-categories__table tbody {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: var(--space-4);
  }

  .cookie-policy-categories__table tr {
    padding: var(--space-5);
    border: var(--border);
    border-radius: var(--radius-default);
    background: var(--color-cream);
  }

  .cookie-policy-categories__table td {
    padding: var(--space-3) 0;
    border-bottom: var(--border);
  }

  .cookie-policy-categories__table td:last-child {
    padding-bottom: 0;
    border-bottom: 0;
  }

  .cookie-policy-categories__table td::before {
    display: block;
    margin-bottom: var(--space-1);
    color: var(--color-muted);
    content: attr(data-label);
    font-size: var(--text-small);
    font-weight: 600;
    letter-spacing: 0.08em;
    line-height: 1.4;
    text-transform: uppercase;
  }

  .cookie-policy-categories__action,
  .cookie-policy-settings__button {
    width: 100%;
  }

  .cookie-policy-settings {
    padding-block: var(--space-6);
  }
}

@media (prefers-reduced-motion: reduce) {
  .cookie-policy-settings__button,
  .cookie-policy-updates__settings-link {
    transition: none;
  }
}
