/* Gemeinsame Bildschirm-Typografie · Sven Moss · Moss Büro- und Informationstechnik.
   Nach den Modul-Stilen laden. #inhalt ist der öffentliche Hauptinhalt und wird
   auch in der Textvorschau verwendet. Druckvorlagen bleiben eigenständig.
   Bewusst im Editor gewählte Pixelgrößen behalten durch rich-content.css Vorrang. */
@media screen {
 body.public-site {
  --type-title:clamp(1.75rem,1.25rem + 2vw,2.5rem);
  --type-section:clamp(1.5rem,1.25rem + 1vw,1.875rem);
  --type-subheading:clamp(1.25rem,1.15rem + .4vw,1.375rem);
  --type-copy-heading:clamp(1.375rem,1.175rem + .8vw,1.625rem);
 }
 body.public-site #inhalt :is(h1,h2,h3,h4,h5,h6):not(:where(.print-ticket *, .ticket-cover-body *)) {
  font-weight:650;
  letter-spacing:-.02em;
  line-height:1.3;
  overflow-wrap:break-word;
  text-wrap:pretty;
 }
 body.public-site #inhalt h1:not(:where(.print-ticket *, .ticket-cover-body *)) {font-size:var(--type-title);line-height:1.2}
 body.public-site #inhalt h2:not(:where(.print-ticket *, .ticket-cover-body *)) {font-size:var(--type-section)}
 body.public-site #inhalt h3:not(:where(.print-ticket *, .ticket-cover-body *)) {font-size:var(--type-subheading)}
 body.public-site #inhalt h4:not(:where(.print-ticket *, .ticket-cover-body *)) {font-size:1.125rem}
 body.public-site #inhalt :is(h5,h6):not(:where(.print-ticket *, .ticket-cover-body *)) {font-size:1rem;letter-spacing:normal}

 /* Ein klarer Auftakt; auch auf großen Bildschirmen keine Plakatschrift. */
 body.public-site #inhalt .welcome h1 {font-size:clamp(2rem,1.5rem + 2vw,3rem);line-height:1.15;letter-spacing:-.03em;font-weight:700}
 body.public-site #inhalt :is(.manifesto,.join,.future,.home-cinema) h2 {font-size:clamp(1.625rem,1.25rem + 1.5vw,2.125rem);line-height:1.25}
 body.public-site #inhalt .section-heading {margin-bottom:24px}
 body.public-site #inhalt .section-heading .eyebrow {margin-bottom:12px}
 body.public-site #inhalt :is(.article,.event-page,.membership-page,.retrospective-detail,.retrospective-overview)>h1 {margin-block:16px 24px}
 body.public-site #inhalt .lead {font-size:1.0625rem;line-height:1.75}

 /* Kompakte Titel in Karten, Formularen und Bestellschritten. */
 body.public-site #inhalt :is(.event-card,.experience-title,.retrospective-copy,.digital-learning-copy,.km-card-copy) h3,
 body.public-site #inhalt :is(.shop-card,.wares-item,.km-card-copy) h2 {font-size:var(--type-subheading);line-height:1.35}
 body.public-site #inhalt :is(.booking-page,.order-page,.wares-card,.donation-form,.toolbar,dialog) h2 {font-size:var(--type-subheading);line-height:1.35}
 body.public-site #inhalt .site-banner h2 {font-size:var(--type-copy-heading);line-height:1.3}

 /* Lesetexte: dieselbe Hierarchie für Eventbeschreibungen, Seiten und Rückblicke.
    Ein eigener Pixelwert aus dem Editor bleibt bewusst erhalten. */
 body.public-site #inhalt :is(.rich-content,.prose) {line-height:1.75}
 body.public-site #inhalt :is(.rich-content,.prose) h1 {font-size:var(--type-section);line-height:1.3}
 body.public-site #inhalt :is(.rich-content,.prose) h2 {font-size:var(--type-copy-heading);line-height:1.35}
 body.public-site #inhalt :is(.rich-content,.prose) h3 {font-size:var(--type-subheading);line-height:1.4}
 body.public-site #inhalt :is(.rich-content,.prose) :is(h1,h2,h3,h4,h5,h6) {margin-block:1.5em .6em}
 body.public-site #inhalt :is(.rich-content,.prose) :is(p,ul,ol,blockquote) {margin-block:0 1em;line-height:1.75}
 body.public-site #inhalt :is(.rich-content,.prose) li+li {margin-top:.3em}
 body.public-site #inhalt :is(.rich-content,.prose) :is(ul,ol) {padding-inline-start:1.5em}
 body.public-site #inhalt :is(.rich-content,.prose) :is(ul,ol) :is(ul,ol) {margin-block:.3em 0}
 body.public-site #inhalt :is(.rich-content,.prose)>:first-child {margin-top:0}
 body.public-site #inhalt :is(.rich-content,.prose)>:last-child {margin-bottom:0}
 body.public-site #inhalt .article>.rich-content {margin-block:28px}
 body.public-site #inhalt .site-banner-text :is(h1,h2,h3,h4) {font-size:var(--type-subheading)}

 /* Die Lesehilfe darf auch den Ticketshop-Link im Kopf vergrößern. */
 html:is([data-font=large],[data-font=larger]) body.public-site .site-header>.ticket-shop-button {
  width:auto;max-width:100%;height:auto;min-height:48px;white-space:normal;flex-wrap:wrap;gap:8px;
 }
}
