.cookie-policy {
  background: var(--color-limewash-cream);
}

.cookie-policy__intro {
  padding-block: var(--space-9);
}

.cookie-policy__intro-copy,
.cookie-policy__reading-block,
.cookie-policy__category-intro,
.cookie-policy__consent-copy,
.cookie-policy__browser-copy,
.cookie-policy__third-party-block,
.cookie-policy__closing-copy {
  width: min(100%, 38.75rem);
  min-width: 0;
}

.cookie-policy__intro-copy {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.cookie-policy__intro-copy > *,
.cookie-policy__reading-block > *,
.cookie-policy__category-intro > *,
.cookie-policy__consent-copy > *,
.cookie-policy__browser-copy > *,
.cookie-policy__third-party-block > *,
.cookie-policy__closing-copy > * {
  min-width: 0;
}

.cookie-policy__intro-copy :is(h1, p),
.cookie-policy__reading-block :is(h2, h3, p),
.cookie-policy__category-intro :is(h2, p),
.cookie-policy__consent-copy :is(h2, p),
.cookie-policy__browser-copy :is(h2, p),
.cookie-policy__third-party-block :is(h2, h3, p),
.cookie-policy__closing-copy :is(h2, h3, p) {
  margin: 0;
}

.cookie-policy__intro-copy h1 {
  font-size: clamp(2.5rem, 6vw, 5.5rem);
}

.cookie-policy__lead {
  font-size: var(--text-lg);
  line-height: 1.6;
}

.cookie-policy__update {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  padding-block-start: var(--space-4);
}

.cookie-policy__update > * {
  min-width: 0;
  margin: 0;
}

.cookie-policy__update span {
  width: 100%;
  height: 1px;
  background: var(--color-border);
}

.cookie-policy__section {
  padding-block: var(--space-7);
}

.cookie-policy__section h2 {
  scroll-margin-top: 7rem;
}

.cookie-policy__section--overview {
  padding-block-start: 0;
}

.cookie-policy__overview-panel {
  display: flex;
  width: min(100%, 47.5rem);
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background: var(--color-paper-warm);
  padding: var(--space-5);
}

.cookie-policy__overview-panel > * {
  min-width: 0;
  margin: 0;
}

.cookie-policy__toc {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-2) var(--space-5);
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: cookie-toc;
}

.cookie-policy__toc > li {
  min-width: 0;
  counter-increment: cookie-toc;
}

.cookie-policy__toc a {
  display: flex;
  min-width: 0;
  min-height: 2.75rem;
  align-items: center;
  gap: var(--space-3);
  color: var(--color-olive-leaf);
  font-size: var(--text-sm);
  font-weight: 800;
  text-decoration: none;
}

.cookie-policy__toc a::before {
  flex: 0 0 auto;
  color: var(--color-terracotta-peach);
  content: "0" counter(cookie-toc) ".";
  font-family: var(--font-heading);
  font-size: var(--text-lg);
}

.cookie-policy__toc a:hover {
  color: var(--color-wine-red);
  text-decoration: underline;
}

.cookie-policy__reading-block {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.cookie-policy__info-note {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  border-inline-start: 3px solid var(--color-olive-leaf);
  background: var(--color-paper-warm);
  padding: var(--space-4);
}

.cookie-policy__info-note > * {
  min-width: 0;
  margin: 0;
}

.cookie-policy__info-note h3 {
  font-size: var(--text-xl);
}

.cookie-policy__category-intro {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.cookie-policy__category-grid {
  display: grid;
  width: min(100%, 56.25rem);
  min-width: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
  margin-block-start: var(--space-6);
}

.cookie-policy__category-grid > * {
  min-width: 0;
  width: 100%;
}

.cookie-policy__category-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background: var(--color-paper-warm);
  padding: var(--space-5);
}

.cookie-policy__category-card > * {
  min-width: 0;
  margin: 0;
}

.cookie-policy__category-card h3 {
  font-size: var(--text-xl);
}

.cookie-policy__category-card--necessary {
  border-block-start: 4px solid var(--color-olive-leaf);
}

.cookie-policy__category-card--preference {
  border-block-start: 4px solid var(--color-terracotta-peach);
}

.cookie-policy__category-card--statistics {
  border-block-start: 4px solid var(--color-faded-turquoise);
}

.cookie-policy__category-card--marketing {
  border-block-start: 4px solid var(--color-wine-red);
}

.cookie-policy__card-mark {
  color: var(--color-wine-red);
  font-family: var(--font-heading);
  font-size: 1.75rem;
  line-height: 1;
}

.cookie-policy__consent-copy {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.cookie-policy__consent-panel {
  display: flex;
  width: min(100%, 42.5rem);
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
  margin-block-start: var(--space-6);
  border-radius: var(--radius-xl);
  background: var(--color-olive-leaf);
  color: var(--color-paper-warm);
  padding: var(--space-5);
}

.cookie-policy__consent-panel > * {
  min-width: 0;
}

.cookie-policy__consent-panel div {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
}

.cookie-policy__consent-panel :is(h3, p) {
  margin: 0;
}

.cookie-policy__consent-panel h3 {
  color: inherit;
  font-size: var(--text-xl);
}

.cookie-policy__settings-button {
  min-height: 2.75rem;
  border: 1px solid var(--color-paper-warm);
  border-radius: var(--radius-md);
  background: transparent;
  color: var(--color-paper-warm);
  padding: 0.625rem 1rem;
  font-weight: 800;
  line-height: 1.3;
  text-align: left;
  text-decoration: underline;
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.16em;
  transition: background-color var(--transition-fast), color var(--transition-fast);
}

.cookie-policy__settings-button:hover {
  background: var(--color-paper-warm);
  color: var(--color-olive-leaf);
}

.cookie-policy__browser-copy {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.cookie-policy__steps {
  display: flex;
  width: min(100%, 40rem);
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
  margin: var(--space-6) 0 0;
  padding: 0;
  list-style: none;
}

.cookie-policy__steps > li {
  display: grid;
  min-width: 0;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  gap: var(--space-3);
  align-items: start;
}

.cookie-policy__steps > li > * {
  min-width: 0;
}

.cookie-policy__steps > li > span {
  display: grid;
  width: 2.25rem;
  min-width: 2.25rem;
  height: 2.25rem;
  place-items: center;
  border: 1px solid var(--color-terracotta-peach);
  border-radius: 50%;
  color: var(--color-wine-red);
  font-family: var(--font-heading);
  font-weight: 700;
  line-height: 1;
}

.cookie-policy__steps div {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-1);
}

.cookie-policy__steps :is(h3, p) {
  margin: 0;
}

.cookie-policy__steps h3 {
  font-size: var(--text-lg);
}

.cookie-policy__warning {
  display: flex;
  width: min(100%, 38.75rem);
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  margin-block-start: var(--space-6);
  border-inline-start: 3px solid var(--color-wine-red);
  background: var(--color-paper-warm);
  padding: var(--space-4);
}

.cookie-policy__warning > * {
  min-width: 0;
  margin: 0;
}

.cookie-policy__warning h3 {
  font-size: var(--text-xl);
}

.cookie-policy__third-party-block {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.cookie-policy__paper-block,
.cookie-policy__retention-block {
  display: flex;
  width: min(100%, 42.5rem);
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background: var(--color-paper-warm);
  padding: var(--space-5);
}

.cookie-policy__paper-block > *,
.cookie-policy__retention-block > * {
  min-width: 0;
  margin: 0;
}

.cookie-policy__paper-block h3,
.cookie-policy__retention-block h3 {
  font-size: var(--text-xl);
}

.cookie-policy__retention-block {
  width: min(100%, 47.5rem);
  margin-block-start: var(--space-5);
}

.cookie-policy__placeholder {
  border-radius: var(--radius-sm);
  background: rgb(48 39 34 / 6%);
  padding: var(--space-3);
  color: var(--color-muted-brown);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: var(--text-sm);
  line-height: 1.55;
  overflow-wrap: anywhere;
}

.cookie-policy__cookie-template {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
}

.cookie-policy__cookie-template > * {
  min-width: 0;
}

.cookie-policy__template-field {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-2);
  border-inline-end: 1px solid var(--color-border);
  padding: var(--space-3);
}

.cookie-policy__template-field:last-child {
  border-inline-end: 0;
}

.cookie-policy__template-field span {
  color: var(--color-muted-brown);
  font-size: var(--text-xs);
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.cookie-policy__template-field strong {
  overflow-wrap: anywhere;
  font-size: var(--text-sm);
  line-height: 1.45;
}

.cookie-policy__closing-copy {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.cookie-policy__privacy-link {
  color: var(--color-olive-leaf);
  font-weight: 800;
}

.cookie-policy__contact-panel {
  display: flex;
  width: min(100%, 38.75rem);
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  margin-block-start: var(--space-6);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-xl);
  background: var(--color-paper-warm);
  padding: var(--space-5);
}

.cookie-policy__contact-panel > * {
  min-width: 0;
  margin: 0;
}

.cookie-policy__contact-panel h3 {
  font-size: var(--text-xl);
}

.cookie-policy :is(a, button):focus-visible {
  outline: 3px solid var(--color-wine-red);
  outline-offset: 3px;
}

@media (min-width: 56.25rem) {
  .cookie-policy__intro {
    padding-block: var(--space-10);
  }

  .cookie-policy__intro-copy,
  .cookie-policy__reading-block,
  .cookie-policy__category-intro,
  .cookie-policy__consent-copy,
  .cookie-policy__browser-copy,
  .cookie-policy__third-party-block,
  .cookie-policy__closing-copy,
  .cookie-policy__overview-panel,
  .cookie-policy__category-grid,
  .cookie-policy__consent-panel,
  .cookie-policy__steps,
  .cookie-policy__warning,
  .cookie-policy__paper-block,
  .cookie-policy__retention-block,
  .cookie-policy__contact-panel {
    margin-inline-start: 0;
  }

  .cookie-policy__section {
    padding-block: 5rem;
  }
}

@media (max-width: 55.9375rem) {
  .cookie-policy__intro-copy,
  .cookie-policy__reading-block,
  .cookie-policy__category-intro,
  .cookie-policy__consent-copy,
  .cookie-policy__browser-copy,
  .cookie-policy__third-party-block,
  .cookie-policy__closing-copy,
  .cookie-policy__overview-panel,
  .cookie-policy__category-grid,
  .cookie-policy__consent-panel,
  .cookie-policy__steps,
  .cookie-policy__warning,
  .cookie-policy__paper-block,
  .cookie-policy__retention-block,
  .cookie-policy__contact-panel {
    margin-inline: auto;
  }
}

@media (max-width: 54.9375rem) {
  .cookie-policy__cookie-template {
    grid-template-columns: minmax(0, 1fr);
  }

  .cookie-policy__template-field {
    border-inline-end: 0;
    border-block-end: 1px solid var(--color-border);
  }

  .cookie-policy__template-field:last-child {
    border-block-end: 0;
  }
}

@media (max-width: 42.4375rem) {
  .cookie-policy__category-grid,
  .cookie-policy__toc {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 35.9375rem) {
  .cookie-policy__intro {
    padding-block: var(--space-8);
  }

  .cookie-policy__section {
    padding-block: 3.5rem;
  }

  .cookie-policy__overview-panel,
  .cookie-policy__category-card,
  .cookie-policy__consent-panel,
  .cookie-policy__paper-block,
  .cookie-policy__retention-block,
  .cookie-policy__contact-panel {
    padding: var(--space-4);
  }

  .cookie-policy__info-note,
  .cookie-policy__warning {
    padding: var(--space-4);
  }

  .cookie-policy__settings-button {
    width: 100%;
  }
}
