/* Festival-Standard aus der Live-CSS. Bereichspaletten noch offen.
 * Textschwarz einheitlich #000000; sonstige Graustufen bleiben getrennt.
 * Bei spaeteren Bereichsthemes diese Variablen am Theme-Element ueberschreiben.
 */
:root {
  /* Seitenflaeche inklusive Footer und bisher weisser Navigationsflaechen. */
  --ps-color-page-bg: #ffffff;
  --ps-color-accent: #E2361F;
  --ps-color-secondary: #3c2e83;
  --ps-color-text: var(--ps-color-black);
  --ps-color-black: #000000;
  --ps-color-white: #ffffff;
  --ps-color-map-text: #333333;
  --ps-color-surface: #f5f5f5;
  --ps-color-placeholder: #f0f0f0;
  --ps-color-placeholder-pattern: #e0e0e0;
  --ps-color-border: #dddddd;
  --ps-color-border-light: #eeeeee;
  --ps-color-debug-text: #d3d3d3;
  --ps-color-shadow-strong: rgba(0, 0, 0, 0.25);
  --ps-color-shadow: rgba(0, 0, 0, 0.15);
  --ps-color-shadow-soft: rgba(0, 0, 0, 0.1);
  --ps-color-overlay: rgba(0, 0, 0, 0.5); 
} 

/* :root {
  --ps-color-page-bg: #fff3a6;
  --ps-color-accent: #d92b64;
  --ps-color-secondary: #3155b7;
  --ps-color-text: var(--ps-color-black);
  --ps-color-black: #18233d;
  --ps-color-white: #ffffff;
  --ps-color-map-text: #674124;
  --ps-color-surface: #bcebd5;
  --ps-color-placeholder: #d8c4f2;
  --ps-color-placeholder-pattern: #b38ad9;
  --ps-color-border: #e88328;
  --ps-color-border-light: #f3ba81;
  --ps-color-debug-text: #a52ba8;
  --ps-color-shadow-strong: rgba(72, 24, 130, 0.35);
  --ps-color-shadow: rgba(72, 24, 130, 0.2);
  --ps-color-shadow-soft: rgba(72, 24, 130, 0.12);
  --ps-color-overlay: rgba(18, 65, 90, 0.65);
} */

/* Gemeinsame Typografie- und Abstandsdefinitionen. */
:root {
  --ps-type-base: 18px;

  /* Abstaende: 17/18 kompensiert die Root-Umstellung von 17 auf 18px.
   * Jeder Funktionswert bleibt einzeln anpassbar und skaliert mit html. */
  --ps-space-welcome: calc(5rem * 17 / 18);
  --ps-space-footer-top: calc(8rem * 17 / 18);
  --ps-space-carousel-caption-top: calc(1rem * 17 / 18);
  --ps-space-carousel-caption-bottom: calc(1rem * 17 / 18);
  --ps-space-section-top: calc(5rem * 17 / 18);
  --ps-space-image-title-bottom: calc(2rem * 17 / 18);
  --ps-space-image-title-left: calc(1rem * 17 / 18);
  --ps-space-intro-top: calc(1rem * 17 / 18);
  --ps-space-event-details-bottom: calc(4rem * 17 / 18);
  --ps-space-artist-list-bottom: calc(4rem * 17 / 18);
  --ps-space-quote-source-top: calc(1rem * 17 / 18);
  --ps-space-large-heading-top: calc(5rem * 17 / 18);
  --ps-space-mobile-heading-bottom: calc(0.25rem * 17 / 18);
  --ps-space-mobile-heading-top: calc(1rem * 17 / 18);
  --ps-space-mobile-artist-list-top: calc(1rem * 17 / 18);

  --ps-tracking-standard: 0.047em;
  --ps-tracking-intro: 0.02em;
  --ps-size-meta: calc(var(--ps-type-base) * 13 / 18);
  --ps-size-small-text: calc(var(--ps-type-base) * 15 / 18);
  --ps-size-small-heading: calc(var(--ps-type-base) * 20 / 18);
  --ps-size-card-heading: calc(var(--ps-type-base) * 23 / 18);
  --ps-meta-size: var(--ps-size-meta);
  --ps-meta-leading: calc(20 / 13);
  --ps-body-size: var(--ps-type-base);
  --ps-body-leading: calc(26 / 18);
  --ps-small-text-size: var(--ps-size-small-text);
  --ps-small-text-leading: calc(20 / 15);
  --ps-location-size: var(--ps-size-meta);
  --ps-location-leading: calc(16 / 13);
  --ps-intro-size: calc(var(--ps-type-base) * 24 / 18);
  --ps-intro-leading: calc(34 / 24);
  --ps-title-small-size: var(--ps-size-small-heading);
  --ps-title-small-leading: calc(28 / 20);
  --ps-title-large-size: calc(var(--ps-type-base) * 42 / 18);
  --ps-title-large-leading: calc(49 / 42);
  --ps-title-event-size: var(--ps-size-card-heading);
  --ps-title-event-leading: calc(27 / 23);
  /* Mobiler Bestand; noch keine neue clamp-Skala beschlossen. */
  --ps-card-mobile-size: 5vw;
  --ps-card-mobile-leading: 1.06;
} 

:root {
  --ps-color-yellow: #FFF26E;
  --ps-color-turquoise: #7DC6AC;
  --ps-color-salmon: #ED735d;
  /* Eigenstaendige Onepager-Rollen; Bestand bleibt erhalten. */
  --ps-edition-title-size: var(--ps-title-event-size);
  --ps-edition-title-leading: var(--ps-title-event-leading);
}

/* Sliderfarben werden vom naechsten Farbschema geerbt, auch direkt an der Navigation. */
.Rot-Weiss { --ps-slider-color: var(--ps-color-accent); --ps-slider-border: var(--ps-color-white); }
.Lila-Rot { --ps-slider-color: var(--ps-color-secondary); --ps-slider-border: var(--ps-color-accent); }
.Lila-Weiss { --ps-slider-color: var(--ps-color-secondary); --ps-slider-border: var(--ps-color-white); }
.Weiss-Lila { --ps-slider-color: var(--ps-color-white); --ps-slider-border: var(--ps-color-secondary); }
.Schwarz-Gelb { --ps-slider-color: var(--ps-color-black); --ps-slider-border: var(--ps-color-yellow); }
.Gelb-Weiss { --ps-slider-color: var(--ps-color-yellow); --ps-slider-border: var(--ps-color-white); }
.Tuerkis-Weiss { --ps-slider-color: var(--ps-color-turquoise); --ps-slider-border: var(--ps-color-white); }
.Lachs-Weiss { --ps-slider-color: var(--ps-color-salmon); --ps-slider-border: var(--ps-color-white); }
.Schwarz-Grau { --ps-slider-color: var(--ps-color-black); --ps-slider-border: var(--ps-color-debug-text); }
.Schwarz-Weiss { --ps-slider-color: var(--ps-color-black); --ps-slider-border: var(--ps-color-white); }
.Weiss-Schwarz { --ps-slider-color: var(--ps-color-white); --ps-slider-border: var(--ps-color-black); }

/* Kompakter Fliesstext und Editions-Metadaten. */
:root {
  --ps-body-compact-size: var(--ps-body-size);
  --ps-body-compact-leading: calc(24 / 18);
  --ps-edition-meta-size: var(--ps-location-size);
  --ps-edition-meta-leading: var(--ps-location-leading);
}

/* Buttons und Tags: Bestandsgroessen, einzeln steuerbar. */
:root {
  --ps-button-size: calc(var(--ps-type-base) * 17 / 18);
  --ps-tag-small-size: var(--ps-small-text-size);
  --ps-tag-small-leading: calc(25 / 15);
  --ps-tag-extra-small-size: calc(var(--ps-type-base) * 12 / 18);
  --ps-tag-extra-small-leading: calc(21 / 12);
  --ps-tag-large-size: var(--ps-size-card-heading);
}

/* Kategorie-Labels: 16/20 bei 18px Basisgroesse. */
:root {
  --ps-category-size: calc(var(--ps-type-base) * 16 / 18);
  --ps-category-leading: calc(20 / 16);
}

/* ONEPAGER: Welche Werte aendern?
 * Kleine Labels/Abschnittstitel: --ps-category-size/leading (oben, 16/20).
 * Unterueberschriften: folgende Werte (22/25); fett/normal in typography.css.
 * Laufweiten: --ps-tracking-standard (.047em), --ps-tracking-intro (.02em).
 */
:root {
  --ps-onepager-subheading-size: calc(var(--ps-type-base) * 22 / 18);
  --ps-onepager-subheading-leading: calc(25 / 22);
}
