/*
 * VORDEM – Folgeseiten-Komplettfix
 * Wird NACH dem bestehenden vordem.css geladen.
 * Die Startseite bleibt unangetastet; korrigiert werden alle inneren Seiten.
 */

.is-follow-page {
  overflow-x: clip;
}

.is-follow-page .site-header,
.is-follow-page main,
.is-follow-page .site-footer {
  width: min(calc(100% - 2rem), 1180px);
  margin-inline: auto;
}

/* Alte feste Höhen und versetzte Layouts auf Unterseiten neutralisieren */
.is-follow-page main {
  position: relative !important;
  inset: auto !important;
  display: block;
  min-height: calc(100svh - 210px);
  margin-top: 0 !important;
  padding: clamp(3.75rem, 8vw, 8rem) 0 clamp(5rem, 10vw, 9rem);
  overflow: visible;
}

.is-follow-page main > * {
  min-width: 0;
  max-width: 100%;
}

.is-follow-page main > :first-child {
  margin-top: 0 !important;
}

/* Wiederverwendbarer Seitenkopf – funktioniert auch bei älteren Templates */
.is-follow-page :is(.page-hero, .page-header, .intro, .intro-page, .hero, .question-header, .experience-header) {
  width: 100%;
  max-width: 1050px;
  margin: 0 0 clamp(3rem, 7vw, 6rem) !important;
  padding: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  transform: none !important;
}

.is-follow-page main :is(.kicker, .eyebrow, .overline, .section-label, .label) {
  margin: 0 0 1.2rem;
  font-size: clamp(.68rem, 1vw, .78rem);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.is-follow-page main h1 {
  max-width: 1050px;
  margin: 0 0 clamp(1.5rem, 4vw, 3rem);
  font-family: var(--font-condensed, "Arial Narrow", "Helvetica Neue", Arial, sans-serif);
  font-size: clamp(3.15rem, 8.5vw, 8rem);
  font-weight: 800;
  line-height: .9;
  letter-spacing: -.055em;
  text-wrap: balance;
  overflow-wrap: normal;
  word-break: normal;
  text-transform: none;
}

.is-follow-page main h2 {
  max-width: 900px;
  margin: clamp(3.5rem, 7vw, 6rem) 0 1.25rem;
  font-family: var(--font-condensed, "Arial Narrow", "Helvetica Neue", Arial, sans-serif);
  font-size: clamp(2rem, 4.6vw, 4.5rem);
  line-height: .98;
  letter-spacing: -.035em;
  text-wrap: balance;
}

.is-follow-page main h3 {
  max-width: 820px;
  margin: 2.5rem 0 1rem;
  font-size: clamp(1.25rem, 2.4vw, 2rem);
  line-height: 1.12;
}

.is-follow-page main :is(p, li) {
  max-width: 760px;
  overflow-wrap: break-word;
}

.is-follow-page main :is(.intro, .page-intro, .lead, .deck, .subtitle, .principle-subtitle) {
  max-width: 760px;
  margin-top: 0;
  font-size: clamp(1.12rem, 2.1vw, 1.55rem);
  line-height: 1.42;
}

.is-follow-page main a {
  overflow-wrap: anywhere;
}

/* Lese- und Grundsatzseiten */
.is-follow-page :is(.prose, .text, .richtext, .article-text, .principle-text) {
  width: 100%;
  max-width: 720px;
  margin: 0 auto;
}

.is-follow-page :is(.prose, .text, .richtext, .article-text, .principle-text) > * + * {
  margin-top: 1.35em;
}

.is-follow-page :is(.prose, .text, .richtext, .article-text, .principle-text) h2 {
  margin-top: 3em;
}

.is-follow-page blockquote {
  max-width: 900px;
  margin: clamp(2.5rem, 6vw, 5rem) 0;
  padding: 0;
  border: 0;
  font-family: var(--font-condensed, "Arial Narrow", "Helvetica Neue", Arial, sans-serif);
  font-size: clamp(2rem, 5vw, 4.75rem);
  font-style: normal;
  line-height: .98;
  letter-spacing: -.035em;
}

/* Frage / Herkunft: kein Inhalt mehr am unteren Fensterrand */
:is(.template-frage, .template-question, .template-origin) main {
  display: grid;
  align-content: center;
  min-height: calc(100svh - 210px);
  padding-top: clamp(3rem, 7vw, 7rem);
  padding-bottom: clamp(4rem, 8vw, 8rem);
}

:is(.template-frage, .template-question, .template-origin) main :is(h1, .question, .headline) {
  max-width: 1050px;
}

:is(.template-frage, .template-question, .template-origin) main :is(ul, .questions, .prompt-list) {
  margin: 2rem 0 0;
  padding: 0;
  list-style: none;
  font-size: clamp(1.1rem, 2vw, 1.45rem);
}

/* Listen, Karten und Wahrnehmungsräume */
.is-follow-page :is(
  .path-list,
  .trace-grid,
  .rooms-grid,
  .room-grid,
  .spaces-grid,
  .work-grid,
  .works-grid,
  .projects-grid,
  .card-grid,
  .cards,
  .link-list,
  .access-grid
) {
  width: 100%;
  max-width: none;
  margin: clamp(2.5rem, 6vw, 5rem) 0 0;
}

.is-follow-page :is(.rooms-grid, .room-grid, .spaces-grid) {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1px;
  border: 1px solid var(--line, #c9c0b2);
  background: var(--line, #c9c0b2);
}

.is-follow-page :is(.trace-grid, .work-grid, .works-grid, .projects-grid, .card-grid, .cards, .access-grid) {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  border: 1px solid var(--line, #c9c0b2);
  background: var(--line, #c9c0b2);
}

.is-follow-page :is(
  .room-card,
  .space-card,
  .trace-card,
  .work-card,
  .project-card,
  .card,
  .external-card,
  .access-card
) {
  min-width: 0;
  min-height: 240px;
  padding: clamp(1.25rem, 2.5vw, 2rem);
  background: var(--paper, #f4efe5);
  color: var(--ink, #11100e);
  text-decoration: none;
}

.is-follow-page :is(.room-card, .space-card) {
  min-height: 330px;
  display: flex;
  flex-direction: column;
}

.is-follow-page :is(.room-card, .space-card) :is(h2, h3, strong) {
  margin-top: auto;
}

/* Vorhandene Listenzeilen aus dem Kirby-Paket */
.is-follow-page .path-list {
  border-top: 1px solid var(--ink, #11100e);
}

.is-follow-page .path-row {
  display: grid;
  grid-template-columns: 70px minmax(0, 1fr) minmax(220px, 1.35fr);
  gap: 2rem;
  align-items: baseline;
  padding: 1.5rem 0;
  border-bottom: 1px solid var(--line, #c9c0b2);
  text-decoration: none;
}

.is-follow-page .path-row strong {
  font-family: var(--font-condensed, "Arial Narrow", "Helvetica Neue", Arial, sans-serif);
  font-size: clamp(1.8rem, 4vw, 3.5rem);
  line-height: 1;
  text-transform: uppercase;
}

.is-follow-page .path-row em {
  color: var(--muted, #6c675f);
  font-style: normal;
}

/* Alte absolute/fixed Seitennavigationen nicht über den Inhalt legen */
.is-follow-page :is(.page-nav, .subnav, .pager, .back-nav, .experience-nav) {
  position: static !important;
  inset: auto !important;
  width: 100%;
  margin-top: clamp(3rem, 7vw, 6rem);
  padding-top: 1.5rem;
  border-top: 1px solid var(--line, #c9c0b2);
}

/* Footer bleibt nach dem Inhalt und wird nicht überlagert */
.is-follow-page .site-footer {
  position: static !important;
  inset: auto !important;
  clear: both;
  margin-top: 0;
}

@media (max-width: 1080px) {
  .is-follow-page main {
    min-height: calc(100svh - 175px);
  }

  .is-follow-page :is(.rooms-grid, .room-grid, .spaces-grid) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .is-follow-page .site-header,
  .is-follow-page main,
  .is-follow-page .site-footer {
    width: min(calc(100% - 1.25rem), 1180px);
  }

  .is-follow-page main {
    min-height: 0;
    padding-top: 3rem;
    padding-bottom: 5rem;
  }

  .is-follow-page main h1 {
    font-size: clamp(2.8rem, 15vw, 5.25rem);
    line-height: .9;
  }

  .is-follow-page main h2 {
    font-size: clamp(1.9rem, 10vw, 3.25rem);
  }

  .is-follow-page :is(.rooms-grid, .room-grid, .spaces-grid, .trace-grid, .work-grid, .works-grid, .projects-grid, .card-grid, .cards, .access-grid) {
    grid-template-columns: 1fr;
  }

  .is-follow-page :is(.room-card, .space-card, .trace-card, .work-card, .project-card, .card, .external-card, .access-card) {
    min-height: 0;
  }

  .is-follow-page .path-row {
    grid-template-columns: 42px minmax(0, 1fr);
    gap: .75rem 1rem;
  }

  .is-follow-page .path-row em {
    grid-column: 2;
  }

  :is(.template-frage, .template-question, .template-origin) main {
    display: block;
    min-height: 0;
  }

  .is-follow-page blockquote {
    font-size: clamp(1.9rem, 10vw, 3.3rem);
  }
}

@media (max-width: 380px) {
  .is-follow-page .site-header,
  .is-follow-page main,
  .is-follow-page .site-footer {
    width: calc(100% - 1rem);
  }

  .is-follow-page main h1 {
    font-size: 2.65rem;
  }
}
