/* The theme text block shrink-wraps its body. A size-contained policy then
   collapses to nothing, so stretch only the block that actually holds one. */
.textblock__body:has(.waygdpr-policy) {
  justify-self: stretch;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.waygdpr-policy {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  color: inherit;
  line-height: 1.65;
  overflow-wrap: break-word;
  container-type: inline-size;
  container-name: waygdpr;
}

.waygdpr-policy h2 {
  max-width: 100%;
  margin: 2em 0 0.6em;
  font-size: 1.25rem;
  line-height: 1.3;
  overflow-wrap: break-word;
}

.waygdpr-policy ul {
  padding-left: 16px;
}

.waygdpr-policy a,
.waygdpr-policy dd {
  overflow-wrap: anywhere;
}

.waygdpr-updated {
  display: inline-block;
  max-width: 100%;
  margin: 0 0 1.25rem;
  padding: 0.4rem 0.75rem;
  border: 1px solid currentColor;
  border-radius: 999px;
  font-size: 0.85rem;
  letter-spacing: 0.01em;
  opacity: 0.85;
}

.waygdpr-updated time {
  font-weight: 600;
}

.waygdpr-dl {
  display: grid;
  grid-template-columns: minmax(8rem, 11rem) minmax(0, 1fr);
  gap: 0.35rem 1rem;
  margin: 1rem 0 0;
}

.waygdpr-dl dt {
  margin: 0;
  font-weight: 600;
}

.waygdpr-dl dd {
  margin: 0;
  min-width: 0;
}

.waygdpr-scroll {
  max-width: 100%;
  min-width: 0;
  margin: 1rem 0 1.5rem;
  overflow-x: auto;
  overflow-y: clip;
  -webkit-overflow-scrolling: touch;
}

.waygdpr-table {
  width: 100%;
  margin: 0;
  border-collapse: collapse;
  font-size: 0.95em;
}

.waygdpr-table th,
.waygdpr-table td {
  padding: 0.65rem 0.75rem;
  border-bottom: 1px solid color-mix(in srgb, currentColor 18%, transparent);
  text-align: left;
  vertical-align: top;
  overflow-wrap: break-word;
}

.waygdpr-table th:first-child,
.waygdpr-table td:first-child {
  padding-left: 0;
}

.waygdpr-table th {
  font-size: 0.8em;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.waygdpr-cell-label {
  display: none;
}

.waygdpr-note {
  margin-top: 2.5rem;
  font-size: 0.85rem;
  opacity: 0.7;
}

.waygdpr-cookie-placeholder {
  margin: 1rem 0 1.5rem;
  padding: 0.85rem 1rem;
  border: 1px dashed color-mix(in srgb, currentColor 28%, transparent);
  font-style: italic;
  opacity: 0.8;
}

.waygdpr-cookie-renew {
  display: inline-block;
  margin: 0.25rem 0 0;
  padding: 0.65rem 1.1rem;
  border: 1px solid currentColor;
  border-radius: 4px;
  background: transparent;
  color: inherit;
  font: inherit;
  font-weight: 600;
  line-height: 1.2;
  cursor: pointer;
}

.waygdpr-cookie-renew:hover,
.waygdpr-cookie-renew:focus-visible {
  opacity: 0.8;
}

/* Cookiebot's declaration table is injected after load. Keep it inside the column and scroll sideways when it is wider than the page. */
.waygdpr-policy .CookieDeclaration {
  max-width: 100%;
  min-width: 0;
}

.waygdpr-scroll-wide > table {
  width: max(100%, 44rem) !important;
  min-width: 44rem !important;
  max-width: none !important;
  table-layout: auto !important;
}

.waygdpr-scroll-wide > table :is(th, td) {
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
}

@container waygdpr (max-width: 680px) {
  .waygdpr-policy h2 {
    font-size: 1.15rem;
  }

  .waygdpr-dl {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.15rem 0;
  }

  .waygdpr-dl dd {
    margin-bottom: 0.75rem;
  }

  .waygdpr-dl dd:last-child {
    margin-bottom: 0;
  }

  .waygdpr-scroll:not(.waygdpr-scroll-wide) {
    overflow: visible;
  }

  .waygdpr-table thead {
    display: none;
  }

  .waygdpr-table,
  .waygdpr-table tbody,
  .waygdpr-table tr,
  .waygdpr-table td {
    display: block;
    width: auto;
  }

  .waygdpr-table tr {
    padding: 0.85rem 0;
    border-bottom: 1px solid color-mix(in srgb, currentColor 18%, transparent);
  }

  .waygdpr-table td {
    padding: 0.35rem 0;
    border: 0;
  }

  .waygdpr-cell-label {
    display: block;
    margin-bottom: 0.15rem;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    opacity: 0.65;
  }
}

@media (max-width: 680px) {
  .waygdpr-policy h2 {
    font-size: 1.15rem;
  }

  .waygdpr-dl {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.15rem 0;
  }

  .waygdpr-dl dd {
    margin-bottom: 0.75rem;
  }

  .waygdpr-dl dd:last-child {
    margin-bottom: 0;
  }

  .waygdpr-scroll:not(.waygdpr-scroll-wide) {
    overflow: visible;
  }

  .waygdpr-table thead {
    display: none;
  }

  .waygdpr-table,
  .waygdpr-table tbody,
  .waygdpr-table tr,
  .waygdpr-table td {
    display: block;
    width: auto;
  }

  .waygdpr-table tr {
    padding: 0.85rem 0;
    border-bottom: 1px solid color-mix(in srgb, currentColor 18%, transparent);
  }

  .waygdpr-table td {
    padding: 0.35rem 0;
    border: 0;
  }

  .waygdpr-cell-label {
    display: block;
    margin-bottom: 0.15rem;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    opacity: 0.65;
  }
}
