/*
 * PROJECT SOUNDTRACK – Globaler Seitenrhythmus
 * Patch 23.3
 *
 * Vereinheitlicht Abstände auf allen regulären Unterseiten in allen Sprachen.
 * Startseite, Adminbereich und individuelle 404-Seite bleiben bewusst unberührt.
 */

body.ps-inner-page{
  --ps-page-top:clamp(28px,3vw,44px);
  --ps-page-hero-bottom:clamp(32px,3.5vw,50px);
  --ps-page-section:clamp(48px,5vw,72px);
  --ps-page-section-compact:clamp(32px,3.5vw,50px);
  --ps-page-bottom:clamp(70px,7vw,98px);
  --ps-page-content-width:1180px;
}

/* Einheitliche obere Achse und Breadcrumb-Distanz. */
body.ps-inner-page:not(.ps-content-soundtrack) .visible-breadcrumb{
  width:min(var(--ps-page-content-width),100%);
  margin-top:0;
  margin-bottom:clamp(19px,2vw,27px);
}

body.ps-inner-page:not(.ps-content-soundtrack) main>.section{
  padding-top:var(--ps-page-section);
  padding-bottom:var(--ps-page-section);
}

body.ps-inner-page:not(.ps-content-soundtrack):not(.ps-soundmap-page) main>.section:first-child{
  padding-top:var(--ps-page-top);
  padding-bottom:var(--ps-page-hero-bottom);
  border-top:0;
}

/* Archiv-Header: kräftig, aber ohne überflüssige leere Fläche. */
body.ps-soundtracks-archive-page .soundtrack-archive-hero,
body.ps-locations-archive-page .locations-archive-hero,
body.ps-events-archive-page .event-archive-hero{
  padding-top:var(--ps-page-top);
  padding-bottom:var(--ps-page-hero-bottom);
}

body.ps-soundtracks-archive-page .soundtrack-archive-hero .eyebrow,
body.ps-locations-archive-page .locations-archive-hero .eyebrow,
body.ps-events-archive-page .event-archive-hero .eyebrow{
  margin-bottom:clamp(12px,1.2vw,17px);
}

body.ps-soundtracks-archive-page .soundtrack-archive-hero h1,
body.ps-locations-archive-page .locations-archive-hero h1,
body.ps-events-archive-page .event-archive-hero h1{
  margin:0 0 clamp(16px,1.7vw,23px);
}

body.ps-soundtracks-archive-page .soundtrack-archive-hero .lead,
body.ps-locations-archive-page .locations-archive-hero .lead,
body.ps-events-archive-page .event-archive-hero .lead{
  margin:0;
}

body.ps-soundtracks-archive-page .soundtrack-archive-hero + .section,
body.ps-locations-archive-page .locations-archive-hero + .section,
body.ps-events-archive-page .event-archive-hero + .section{
  padding-top:var(--ps-page-section-compact);
  padding-bottom:var(--ps-page-bottom);
}

/* Über-Seite: derselbe Einstieg wie auf den übrigen Unterseiten. */
body.ps-about-page .about-hero{
  padding-top:var(--ps-page-top);
  padding-bottom:var(--ps-page-section-compact);
}

body.ps-about-page .about-hero .visible-breadcrumb{
  padding-top:0;
  margin-bottom:clamp(20px,2vw,28px);
}

body.ps-about-page .about-hero-copy h1{
  margin-top:clamp(12px,1.3vw,18px);
  margin-bottom:clamp(16px,1.7vw,23px);
}

body.ps-about-page .about-hero-copy .lead{
  margin-top:0;
  margin-bottom:0;
}

body.ps-about-page .about-story-section,
body.ps-about-page .about-pillars-section,
body.ps-about-page .about-cta-section{
  padding-top:var(--ps-page-section);
  padding-bottom:var(--ps-page-section);
}

/* Event-Detailseiten. */
body.ps-content-event main.event-detail-page{
  padding-top:var(--ps-page-top);
  padding-bottom:var(--ps-page-bottom);
  border-top:0;
}

body.ps-content-event .event-detail-page>.container>.visible-breadcrumb{
  margin-bottom:clamp(22px,2.3vw,30px);
}

body.ps-content-event .event-detail-shell{
  gap:clamp(30px,4vw,48px);
}

body.ps-content-event .event-sequence-section{
  margin-top:var(--ps-page-section);
  padding-top:var(--ps-page-section-compact);
}

/* Location-Detailseiten: Bild-Hero bleibt eigenständig, aber kompakter. */
body.ps-content-location .location-hero{
  min-height:clamp(430px,56vh,620px);
}

body.ps-content-location .location-hero-content{
  padding-top:clamp(36px,4vw,54px);
  padding-bottom:clamp(38px,4vw,54px);
}

body.ps-content-location .location-hero-content .visible-breadcrumb{
  margin-bottom:clamp(19px,2vw,26px);
}

body.ps-content-location .location-hero h1{
  margin-top:clamp(10px,1vw,14px);
  margin-bottom:12px;
}

body.ps-content-location .location-intro-section{
  padding-top:var(--ps-page-section);
  padding-bottom:var(--ps-page-section);
}

body.ps-content-location .location-content-section{
  padding-top:var(--ps-page-section-compact);
  padding-bottom:var(--ps-page-section);
}

body.ps-content-location .location-content-section + .location-content-section{
  padding-top:var(--ps-page-section);
}

/* Klangkarte/Soundmap: kompakter Kopf, Karte sofort sichtbar. */
body.ps-soundmap-page .soundmap-explorer-section.soundmap-explorer-first{
  padding-top:var(--ps-page-top);
}

body.ps-soundmap-page .soundmap-map-intro{
  margin-bottom:clamp(17px,2vw,24px);
}

/* Rechtstexte. */
body.ps-legal-page main.section{
  padding-top:var(--ps-page-top);
  padding-bottom:var(--ps-page-bottom);
  border-top:0;
}

body.ps-legal-page main.section>.container.panel{
  max-width:var(--ps-page-content-width);
  padding:clamp(30px,4vw,54px);
}

body.ps-legal-page main.section>.container.panel>h1:first-child{
  margin:0 0 clamp(30px,3vw,42px);
  font-size:clamp(3rem,6vw,5.8rem);
}

body.ps-legal-page main.section>.container.panel h2{
  margin:clamp(34px,3.5vw,48px) 0 12px!important;
  font-size:clamp(1.5rem,2.5vw,2.15rem)!important;
  line-height:1.1;
}

body.ps-legal-page main.section>.container.panel p{
  margin:0 0 17px;
  line-height:1.78;
}

/* Bestätigung, Abmeldung und Messungseinstellungen. */
body.ps-system-page main.section{
  padding-top:var(--ps-page-top);
  padding-bottom:var(--ps-page-bottom);
  border-top:0;
}

body.ps-system-page main.section>.container.panel{
  padding:clamp(34px,5vw,62px);
}

body.ps-system-page main.section>.container.panel h1{
  margin-top:0;
}

/* Sicheres Fallback für weitere reguläre Unterseiten. */
body.ps-inner-page:not(.ps-home-page):not(.ps-content-soundtrack):not(.ps-content-event):not(.ps-content-location):not(.ps-about-page):not(.ps-soundmap-page):not(.ps-legal-page):not(.ps-system-page) main.section{
  padding-top:var(--ps-page-top);
  padding-bottom:var(--ps-page-bottom);
  border-top:0;
}

/* Gleichmäßiger Abstand vor dem Footer. */
body.ps-inner-page:not(.ps-content-soundtrack) main{
  margin-bottom:0;
}

@media(max-width:900px){
  body.ps-inner-page{
    --ps-page-top:28px;
    --ps-page-hero-bottom:38px;
    --ps-page-section:52px;
    --ps-page-section-compact:34px;
    --ps-page-bottom:72px;
  }

  body.ps-content-location .location-hero{
    min-height:500px;
  }
}

@media(max-width:680px){
  body.ps-inner-page{
    --ps-page-top:20px;
    --ps-page-hero-bottom:30px;
    --ps-page-section:42px;
    --ps-page-section-compact:28px;
    --ps-page-bottom:62px;
  }

  body.ps-inner-page:not(.ps-content-soundtrack) .visible-breadcrumb{
    margin-bottom:18px;
  }

  body.ps-content-location .location-hero{
    min-height:430px;
  }

  body.ps-content-location .location-hero-content{
    padding-top:28px;
    padding-bottom:34px;
  }

  body.ps-legal-page main.section>.container.panel{
    padding:26px 21px;
  }

  body.ps-legal-page main.section>.container.panel>h1:first-child{
    font-size:clamp(2.65rem,14vw,4.2rem);
    margin-bottom:28px;
  }
}
