body.chodo-page,
body.projekt-page {
  padding-top: 0;
}

body.chodo-page .topbar,
body.projekt-page .topbar {
  z-index: 90;
}

main {
  width: 100%;
  max-width: none;
  margin: 0;
}

.projekt-hero {
  width: var(--chodo-bleed-breakout-width);
  margin-left: var(--chodo-bleed-breakout-margin);
  margin-right: var(--chodo-bleed-breakout-margin);
  height: 75vh;
  min-height: 200px;
  margin-top: 0;
  margin-bottom: 0;
  line-height: 0;
  overflow: hidden;
}

.projekt-hero img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.projekt-intro {
  margin: 30px 0 32px;
  font-family: var(--chodo-font-epicene-regular);
  font-size: var(--chodo-text-display-section-size);
  font-weight: 400;
  line-height: var(--chodo-leading-display-section);
  letter-spacing: var(--chodo-tracking-display-tight);
}

.projekt-intro-kicker {
  display: inline-block;
  margin: 0;
  padding: 0;
  padding-top: 3px;
  margin-right: 22px;
  font-family: var(--chodo-font-sans);
  font-weight: 700;
  font-size: var(--chodo-text-ui-lg-size);
  line-height: var(--chodo-leading-ui-lg);
  letter-spacing: var(--chodo-tracking-ui-lg);
  color: #000;
  vertical-align: top;
}

.projekt-rest {
  display: grid;
  grid-template-columns: 1fr minmax(0, min(760px, 100%)) 1fr;
  width: 100%;
  max-width: none;
  margin: 0;
}

.projekt-rest.detail-copy {
  font-family: var(--chodo-font-epicene-regular);
  font-size: var(--chodo-text-editorial-size);
  line-height: var(--chodo-leading-editorial);
  letter-spacing: var(--chodo-tracking-editorial);
  text-align: left;
}

.projekt-rest > * {
  grid-column: 2;
}

.detail-copy p {
  margin-bottom: 16px;
}

.detail-copy p:last-child {
  margin-bottom: 0;
}

.projekt-logos {
  margin-top: 56px;
  padding-top: 40px;
  border-top: 1px solid #000;
}

.projekt-logos-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 22px 20px;
  width: 100%;
}

.projekt-logo-cell {
  aspect-ratio: 16 / 10;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px;
  min-height: 0;
}

.projekt-logo-cell img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  object-fit: contain;
}

.projekt-logo-cell a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

@media (max-width: 980px) {
  .projekt-logos-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px 16px;
  }

  body.chodo-page,
  body.projekt-page {
    padding-top: 0;
  }

  .projekt-intro {
    margin: 22px 0 24px;
  }

  .projekt-intro-kicker {
    margin-right: 26px;
    padding-top: 3px;
  }

  .projekt-rest {
    grid-template-columns: 1fr;
  }

  .projekt-rest > * {
    grid-column: 1;
  }
}

/* Tablet: afbreking intro-tekst Künstler + Projekt (641–1024) */
@media (min-width: 641px) and (max-width: 1024px) {
  body.chodo-page .projekt-intro,
  body.chodo-page .projekt-rest.detail-copy,
  body.projekt-page .projekt-intro,
  body.projekt-page .projekt-rest.detail-copy {
    hyphens: auto;
    -webkit-hyphens: auto;
    hyphenate-limit-chars: 12 6 5;
    overflow-wrap: break-word;
    word-break: normal;
  }
}

@media (max-width: 640px) {
  body.chodo-page,
  body.projekt-page {
    /* Zelfde mobiele clamp-min als homepage (display-section 22px i.p.v. 26px) */
    --chodo-text-display-section-size: clamp(1.375rem, 1.375rem + 1.5vw, 2.625rem);
  }

  body.chodo-page .projekt-hero img,
  body.projekt-page .projekt-hero img {
    object-position: var(--chodo-hero-mobile-position, center);
  }

  body.chodo-page .projekt-intro,
  body.chodo-page .projekt-rest.detail-copy,
  body.projekt-page .projekt-intro,
  body.projekt-page .projekt-rest.detail-copy {
    hyphens: auto;
    -webkit-hyphens: auto;
    hyphenate-limit-chars: 12 6 5;
    overflow-wrap: break-word;
    word-break: normal;
  }

  body.chodo-page .projekt-intro,
  body.projekt-page .projekt-intro {
    margin: 20px 0 22px;
  }

  body.chodo-page .projekt-rest.detail-copy,
  body.projekt-page .projekt-rest.detail-copy {
    font-size: var(--chodo-text-editorial-sm-size);
    line-height: 1.2;
  }

  .projekt-logos-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px 14px;
  }

  .projekt-logo-cell {
    padding: 14px;
    aspect-ratio: 3 / 2;
  }

  .projekt-logo-cell img {
    width: 100% !important;
    max-width: 100%;
    height: auto;
    max-height: 100%;
    object-fit: contain;
  }
}

body.page-legal main {
  max-width: 900px;
  margin: 0 auto;
}

.legal-page-title {
  font-family: var(--chodo-font-epicene-bold);
  font-size: var(--chodo-text-display-item-size);
  font-weight: 700;
  line-height: var(--chodo-leading-display-item);
  letter-spacing: var(--chodo-tracking-display);
  max-width: min(760px, 100%);
  margin: 0 auto 28px;
  text-align: left;
}

.legal-page-body {
  font-size: var(--chodo-text-ui-reading-size);
  line-height: var(--chodo-leading-ui-reading);
  letter-spacing: var(--chodo-tracking-ui);
  max-width: min(760px, 100%);
  margin-left: auto;
  margin-right: auto;
}

.legal-page-body :is(strong, b) {
  font-weight: 700;
}

.legal-page-body p + p {
  margin-top: 1em;
}

.legal-page-body h2 {
  font-family: var(--chodo-font-sans);
  font-size: var(--chodo-text-ui-lg-size);
  font-weight: 700;
  line-height: var(--chodo-leading-ui-lg);
  letter-spacing: var(--chodo-tracking-ui-lg);
  margin: 2rem 0 0.75rem;
}

.legal-page-body h2:first-child {
  margin-top: 0;
}

.legal-page-body ul {
  margin: 0.5em 0 1em;
  padding-left: 1.35em;
}

.legal-page-body li + li {
  margin-top: 0.35em;
}

.legal-page-body .legal-placeholder-notice {
  margin-bottom: 1.5rem;
}

.legal-page-cookie-preferences {
  margin-top: 2.5rem;
}

@media (max-width: 980px) {
  .legal-page-title {
    margin-bottom: 24px;
  }
}

@media (max-width: 640px) {
  body.page-legal {
    --chodo-text-display-section-size: clamp(1.375rem, 1.375rem + 1.5vw, 2.625rem);
    /* ui-reading −1px op mobiel (14px → 13px clamp-min) */
    --chodo-text-ui-reading-size: clamp(0.8125rem, 0.8125rem + 0.35vw, 1rem);
  }

  body.page-legal main {
    max-width: none;
  }

  .legal-page-title {
    font-family: var(--chodo-font-epicene-regular);
    font-size: var(--chodo-text-display-section-size);
    font-weight: 400;
    line-height: var(--chodo-leading-display-section);
    letter-spacing: var(--chodo-tracking-display-tight);
    margin-bottom: 20px;
  }

  .legal-page-body {
    font-size: var(--chodo-text-ui-reading-size);
    line-height: var(--chodo-leading-ui-reading);
    letter-spacing: var(--chodo-tracking-ui);
  }

  .legal-page-body h2 {
    font-size: var(--chodo-text-ui-md-size);
    line-height: var(--chodo-leading-ui-md);
    letter-spacing: var(--chodo-tracking-ui-lg);
    margin: 1.5rem 0 0.5rem;
  }

  .legal-page-body p + p {
    margin-top: 0.85em;
  }

  .legal-page-cookie-preferences {
    margin-top: 2rem;
  }

  .legal-page-title,
  .legal-page-body {
    hyphens: auto;
    -webkit-hyphens: auto;
    hyphenate-limit-chars: 12 6 5;
    overflow-wrap: break-word;
    word-break: normal;
  }
}
