/*
 * PolyLine Veranstaltungen
 *
 * Basis ist das bestehende pl-*-CSS der Landingpage Berlin 2026, zusammengefuehrt
 * aus acht einzelnen <style>-Bloecken. Die sieben identischen Google-Fonts-Importe
 * sind entfallen, die Schriften werden ueber wp_enqueue_style geladen.
 */

:root {
	--plv-blau: #1a3a5f;
	--plv-blau-hell: #0e5a9a;
	--plv-orange: #ffa101;
	--plv-orange-dunkel: #e6910e;
	--plv-violett: #33348b;
	--plv-blau-kraeftig: #2b3b96;
	--plv-hell: #f7f7f5;
	--plv-hell-warm: #fafaf8;
	--plv-linie: #e5e5e5;
	--plv-text: #2a2a2a;
	--plv-text-grau: #6b6b6b;
}

.pl-hero {
  background: linear-gradient(134deg, #1a3a5f 0%, #33348b 100%);
  padding: 64px 48px 56px;
  margin-top: 24px;
  display: flex;
  flex-direction: row;
  gap: 48px;
  align-items: flex-start;
  font-family: 'Raleway', sans-serif;
  -webkit-font-smoothing: antialiased;
  box-sizing: border-box;
  width: 100%;
}

.pl-hero__content {
  display: flex;
  flex-direction: column;
  gap: 18px;
  flex: 1;
}

.pl-hero__eyebrow {
  font-family: 'Raleway', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2.16px;
  text-transform: uppercase;
  color: #ffa101;
  margin-bottom: 12px;
}

.pl-hero__h1 {
  font-family: 'Raleway', sans-serif;
  font-weight: 800;
  font-size: 48px;
  line-height: 1.05;
  letter-spacing: -0.96px;
  text-transform: uppercase;
  color: #ffffff;
  max-width: 840px;
}

.pl-hero__sub {
  font-family: 'Roboto', sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.5;
  color: rgba(255,255,255,0.9);
  max-width: 720px;
}

/* Bild und Video teilen sich Platz und Format: 16:9, bis zu 620 Pixel breit.
   Vorher waren es feste 340 auf 220 — daneben blieb viel Flaeche ungenutzt,
   und ein Film war in diesem Ausschnitt oben und unten beschnitten. */
.pl-hero__image-block {
  flex-shrink: 0;
  width: min(48%, 620px);
  aspect-ratio: 16 / 9;
  position: relative;
  overflow: hidden;
}

/* Die Hoehe ergibt sich aus dem Seitenverhaeltnis, steht also nicht als Wert
   da. Ein Kind mit height:100% haette darin keine Hoehe — deshalb spannt sich
   der Inhalt ueber die Kanten auf. */
.pl-hero__image-block > img,
.pl-hero__image-block > .pl-hero__video,
.pl-hero__image-block > .pl-hero__video-start {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

@media (max-width: 1000px) {
  .pl-hero { flex-direction: column; padding: 40px 20px 36px; gap: 24px; }
  .pl-hero__h1 { font-size: 28px; }
  .pl-hero__sub { font-size: 15px; }
  .pl-hero__image-block { width: 100%; }
}

.pl-facts {
  background: #ffa101;
  padding: 28px 48px;
  display: flex;
  align-items: center;
  gap: 0;
  box-sizing: border-box;
  width: 100%;
  -webkit-font-smoothing: antialiased;
}

.pl-facts__item {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 0 20px 0 0;
}

.pl-facts__item:not(:last-child) {
  border-right: 1px solid rgba(26,58,95,0.15);
  margin-right: 20px;
}

.pl-facts__label {
  font-family: 'Raleway', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.1px;
  text-transform: uppercase;
  color: rgba(26,58,95,0.7);
}

.pl-facts__value {
  font-family: 'Raleway', sans-serif;
  font-weight: 800;
  font-size: 22px;
  line-height: 1.1;
  color: #1a3a5f;
}

.pl-facts__sub {
  font-family: 'Raleway', sans-serif;
  font-weight: 600;
  font-size: 13px;
  color: rgba(26,58,95,0.7);
  line-height: 1.1;
}

@media (max-width: 768px) {
  .pl-facts { flex-wrap: wrap; padding: 24px 20px; gap: 20px; }
  .pl-facts__item { flex: 1 1 45%; padding: 0; border-right: none !important; margin-right: 0 !important; }
  .pl-facts__value { font-size: 18px; }
}

.pl-value { background: #fff; padding: 48px; box-sizing: border-box; width: 100%; -webkit-font-smoothing: antialiased; }
.pl-value__h2 { font-family: 'Raleway', sans-serif; font-weight: 800; font-size: 28px; line-height: 1.2; text-transform: uppercase; color: #1a3a5f; margin: 0; }
.pl-value__accent { width: 48px; height: 4px; background: #ffa101; margin: 14px 0 20px; }
.pl-value__text { font-family: 'Roboto', sans-serif; font-size: 15px; line-height: 1.6; color: #2a2a2a; max-width: 880px; margin-bottom: 48px; }
.pl-value__cards { display: flex; gap: 20px; }
.pl-value__card { flex: 1; background: #f7f7f5; border-left: 3px solid #ffa101; padding: 18px 16px 18px 20px; }
.pl-value__card-title { font-family: 'Roboto', sans-serif; font-weight: 700; font-size: 15px; color: #1a3a5f; margin-bottom: 6px; }
.pl-value__card-text { font-family: 'Roboto', sans-serif; font-size: 13px; line-height: 1.55; color: #6b6b6b; margin: 0; }

@media (max-width: 1024px) {
  .pl-value__cards { gap: 10px; }
  .pl-value__card { padding: 14px 12px 14px 16px; }
}

@media (max-width: 768px) {
  .pl-value { padding: 36px 20px; }
  .pl-value__h2 { font-size: 22px; }
  .pl-value__cards { flex-direction: column; gap: 8px; }
}

.pl-agenda {
  padding: 56px 48px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  box-sizing: border-box;
  width: 100%;
  -webkit-font-smoothing: antialiased;
}

.pl-agenda__label {
  font-family: 'Raleway', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.1px;
  text-transform: uppercase;
  color: #0e5a9a;
  margin-bottom: 12px;
  display: block;
}

.pl-agenda__h2 {
  font-family: 'Raleway', sans-serif;
  font-weight: 800;
  font-size: 26px;
  letter-spacing: -0.26px;
  text-transform: uppercase;
  color: #1a3a5f;
  margin-bottom: 0;
  line-height: 1.2;
}

.pl-agenda__list {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 0;
}

.pl-agenda__item {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  background: #f7f7f5;
  border-left: 3px solid #ffa101;
  padding: 14px 16px 14px 19px;
}

.pl-agenda__num {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  background: #1a3a5f;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Roboto', sans-serif;
  font-weight: 700;
  font-size: 13px;
  color: #ffffff;
}

.pl-agenda__text {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.pl-agenda__title {
  font-family: 'Roboto', sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.55;
  color: #1a3a5f;
}

.pl-agenda__desc {
  font-family: 'Roboto', sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.4;
  color: #6b6b6b;
}

.pl-audience {
  background: #e8f1f9;
  padding: 20px 22px;
}

.pl-audience__label {
  font-family: 'Roboto', sans-serif;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.78px;
  text-transform: uppercase;
  color: #0e5a9a;
  margin-bottom: 6px;
}

.pl-audience__text {
  font-family: 'Roboto', sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.55;
  color: #1a3a5f;
}

@media (max-width: 768px) {
  .pl-agenda { padding: 24px 20px; }
}

.pl-form-head__label { font-family: 'Raleway', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: 1.1px; text-transform: uppercase; color: #0e5a9a; margin-bottom: 12px; display: block; }
.pl-form-head__h2 { font-family: 'Raleway', sans-serif; font-weight: 800; font-size: 26px; letter-spacing: -0.26px; text-transform: uppercase; color: #1a3a5f; line-height: 1.2; margin: 0; }
.pl-form-head { padding: 56px 48px 24px 48px; }
@media (max-width: 1024px) {
  .pl-form-head { padding: 32px 16px 20px 16px; }
}

.pl-gallery {
  background: #f7f7f5;
  padding: 56px 48px;
  box-sizing: border-box;
  width: 100%;
  -webkit-font-smoothing: antialiased;
}

.pl-gallery__eyebrow {
  font-family: 'Raleway', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.1px;
  text-transform: uppercase;
  color: #0e5a9a;
  margin-bottom: 12px;
}

.pl-gallery__h2 {
  font-family: 'Raleway', sans-serif;
  font-weight: 800;
  font-size: 28px;
  line-height: 1.55;
  text-transform: uppercase;
  color: #1a3a5f;
  margin: 0;
}

.pl-gallery__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 20px;
}

.pl-gallery__nav {
  display: flex;
  gap: 8px;
  flex-shrink: 0;
}

/* Doppelter Selektor wie beim Abspielknopf: Der Reset des Themes faerbt sonst
   jede Schaltflaeche ein und gewinnt gegen die einfache Klasse. */
.pl-veranstaltung .pl-gallery__arrow,
.pl-gallery__arrow {
  width: 44px;
  height: 44px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #ffffff;
  border: 1px solid #d7d7d2;
  border-radius: 50%;
  color: #1a3a5f;
  cursor: pointer;
  transition: background 0.15s, color 0.15s, border-color 0.15s, opacity 0.15s;
}

.pl-veranstaltung .pl-gallery__arrow:hover:not(:disabled),
.pl-veranstaltung .pl-gallery__arrow:focus-visible,
.pl-gallery__arrow:hover:not(:disabled),
.pl-gallery__arrow:focus-visible {
  background: #1a3a5f;
  border-color: #1a3a5f;
  color: #ffffff;
}

.pl-veranstaltung .pl-gallery__arrow:disabled,
.pl-gallery__arrow:disabled {
  opacity: 0.3;
  cursor: default;
}

.pl-gallery__arrow svg {
  width: 18px;
  height: 18px;
  display: block;
}

.pl-gallery__track {
  display: flex;
  gap: 12px;
  margin: 0;
  padding: 0 0 14px;
  list-style: none;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
  scrollbar-color: #c9c9c3 transparent;
}

.pl-gallery__track::-webkit-scrollbar {
  height: 6px;
}

.pl-gallery__track::-webkit-scrollbar-track {
  background: transparent;
}

.pl-gallery__track::-webkit-scrollbar-thumb {
  background: #c9c9c3;
  border-radius: 3px;
}

.pl-gallery__track:focus-visible {
  outline: 2px solid #0e5a9a;
  outline-offset: 3px;
}

.pl-gallery__photo {
  position: relative;
  flex: 0 0 auto;
  width: clamp(240px, 24vw, 330px);
  height: 236px;
  overflow: hidden;
  background: #c8c8c8;
  scroll-snap-align: start;
}

.pl-gallery__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.pl-gallery__photo::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 60%, rgba(0,0,0,0.5) 100%);
  pointer-events: none;
}

.pl-gallery__caption {
  position: absolute;
  bottom: 10px;
  left: 10px;
  z-index: 1;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.8px;
  font-weight: 700;
  letter-spacing: 0.44px;
  color: rgba(255,255,255,0.95);
  text-shadow: 0 1px 2px rgba(0,0,0,0.4);
  white-space: nowrap;
}

@media (prefers-reduced-motion: reduce) {
  .pl-gallery__track { scroll-behavior: auto; }
}

@media (max-width: 900px) {
  .pl-gallery { padding: 40px 20px; }
  .pl-gallery__h2 { font-size: 22px; }
  .pl-gallery__photo { width: clamp(220px, 46vw, 300px); }
}

@media (max-width: 480px) {
  .pl-gallery__head { align-items: flex-start; }
  .pl-gallery__photo { width: 78vw; height: 200px; }
}

.pl-inhouse {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid #e5e5e5;
  padding: 56px 48px;
  gap: 48px;
  box-sizing: border-box;
  width: 100%;
  align-items: center;
  -webkit-font-smoothing: antialiased;
}

.pl-inhouse__image {
  position: relative;
  min-height: 467px;
  overflow: hidden;
  background: #c8c8c8;
}

.pl-inhouse__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  position: absolute;
  inset: 0;
}

.pl-inhouse__content {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.pl-inhouse__eyebrow {
  font-family: 'Raleway', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.1px;
  text-transform: uppercase;
  color: #0e5a9a;
  margin-bottom: 12px;
}

.pl-inhouse__h2 {
  font-family: 'Raleway', sans-serif;
  font-weight: 800;
  font-size: 28px;
  line-height: 1.15;
  text-transform: uppercase;
  color: #1a3a5f;
}

.pl-inhouse__text {
  font-family: 'Roboto', sans-serif;
  font-weight: 400;
  font-size: 15px;
  line-height: 1.6;
  color: #2a2a2a;
}

.pl-inhouse__facts {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  padding: 4px 0 8px;
}

.pl-inhouse__fact {
  border-bottom: 1px dashed #e5e5e5;
  padding: 8px 0 9px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.pl-inhouse__fact-label {
  font-family: 'Roboto', sans-serif;
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 1.1px;
  text-transform: uppercase;
  color: rgba(26,58,95,0.7);
}

.pl-inhouse__fact-value {
  font-family: 'Roboto', sans-serif;
  font-weight: 400;
  font-size: 13px;
  color: #2a2a2a;
  line-height: 1.55;
}

.pl-inhouse__btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border: 2px solid #1a3a5f;
  color: #1a3a5f;
  font-family: 'Roboto', sans-serif;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.56px;
  text-transform: uppercase;
  padding: 14px 22px;
  text-decoration: none;
  cursor: pointer;
  background: transparent;
  transition: background 0.15s, color 0.15s;
  width: fit-content;
}

.pl-inhouse__btn:hover {
  background: #1a3a5f;
  color: #ffffff;
}

@media (max-width: 768px) {
  .pl-inhouse { grid-template-columns: 1fr; padding: 40px 20px; gap: 32px; }
  .pl-inhouse__image { min-height: 250px; grid-row: 2; }
  .pl-inhouse__content { grid-row: 1; }
  .pl-inhouse__h2 { font-size: 22px; }
}

.pl-cta {
  background: #33348b;
  padding: 72px 48px;
  box-sizing: border-box;
  width: 100%;
  -webkit-font-smoothing: antialiased;
}

.pl-cta__eyebrow {
  font-family: 'Raleway', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.1px;
  text-transform: uppercase;
  color: #ffa101;
  margin-bottom: 20px;
}

.pl-cta__h2 {
  font-family: 'Raleway', sans-serif;
  font-weight: 800;
  font-size: 34px;
  line-height: 1.24;
  text-transform: uppercase;
  color: #ffffff;
  max-width: 900px;
  margin-bottom: 16px;
}

.pl-cta__text {
  font-family: 'Roboto', sans-serif;
  font-weight: 400;
  font-size: 15px;
  line-height: 1.6;
  color: rgba(255,255,255,0.75);
  max-width: 800px;
  margin-bottom: 32px;
}

.pl-cta__buttons {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

.pl-cta__btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #ffa101;
  color: #33348b;
  font-family: 'Roboto', sans-serif;
  font-weight: 700;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  padding: 15px 28px;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.15s;
  white-space: nowrap;
}

.pl-cta__btn-primary:hover {
  background: #e6910e;
}

.pl-cta__btn-secondary {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: rgba(255,255,255,0.06);
  border: 1.5px solid #ffffff;
  color: #ffffff;
  font-family: 'Roboto', sans-serif;
  font-weight: 700;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  padding: 13px 28px;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.15s;
  white-space: nowrap;
}

.pl-cta__btn-secondary:hover {
  background: rgba(255,255,255,0.12);
}

/* Responsive */
@media (max-width: 768px) {
  .pl-cta {
    padding: 48px 20px;
  }
  .pl-cta__h2 {
    font-size: 24px;
  }
  .pl-cta__buttons {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* ============================================================
   Neue Sektionen aus POL-125
   ============================================================ */

/* --- FAQ-Accordion --- */
.pl-faq {
	padding: 80px 20px;
	background: #ffffff;
}
.pl-faq__inner {
	max-width: 860px;
	margin: 0 auto;
}
.pl-faq__eyebrow {
	font-family: 'JetBrains Mono', monospace;
	font-size: 12px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--plv-orange);
	margin-bottom: 12px;
}
.pl-faq__h2 {
	font-family: 'Raleway', sans-serif;
	font-size: clamp(26px, 3.4vw, 38px);
	font-weight: 700;
	color: var(--plv-blau);
	margin: 0 0 36px;
	line-height: 1.2;
}
.pl-faq__item {
	border-bottom: 2px solid #e6e6e6;
}
/* Wie beim Anmelde-Button setzen Theme und Elementor-Kit eigene Farben und
   Rahmen fuer <button>. Die Spezifitaet muss deshalb hoeher liegen. */
.pl-faq .pl-faq__item button.pl-faq__question {
	width: 100%;
	border: 0;
	border-radius: 0;
	background: none;
	box-shadow: none;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	padding: 16px 0;
	background: none;
	border: 0;
	cursor: pointer;
	text-align: left;
	font-family: 'Roboto', sans-serif;
	font-size: 18px;
	font-weight: 700;
	color: var(--plv-blau);
	line-height: 1.5;
}
.pl-faq .pl-faq__item button.pl-faq__question:hover {
	color: var(--plv-blau-hell);
}
.pl-faq__icon {
	flex: 0 0 auto;
	width: 44px;
	height: 27px;
	position: relative;
	transition: transform 0.25s ease;
}
/* Chevron aus zwei gedrehten Kanten — der Entwurf zeigt hier ein
   nach oben zeigendes Winkelsymbol, das beim Schliessen kippt. */
.pl-faq__icon::before {
	content: '';
	position: absolute;
	top: 9px;
	left: 50%;
	width: 11px;
	height: 11px;
	margin-left: -5px;
	border-right: 2px solid var(--plv-text);
	border-bottom: 2px solid var(--plv-text);
	transform: rotate(45deg);
	transition: transform 0.25s ease;
}
.pl-faq .pl-faq__item button.pl-faq__question[aria-expanded='true'] .pl-faq__icon::before {
	transform: rotate(-135deg);
	top: 13px;
}
.pl-faq__answer {
	display: none;
	padding: 0 60px 20px 0;
	font-family: 'Roboto', sans-serif;
	font-size: 16px;
	line-height: 1.5;
	color: var(--plv-text);
	max-width: 68ch;
}
.pl-faq__answer.is-open {
	display: block;
}
.pl-faq__answer p:first-child {
	margin-top: 0;
}
.pl-faq__answer p:last-child {
	margin-bottom: 0;
}

/* --- PDF-Einladung --- */
.pl-pdf {
	padding: 0 20px 80px;
}
.pl-pdf__inner {
	max-width: 960px;
	margin: 0 auto;
	background: var(--plv-hell);
	border-left: 4px solid var(--plv-orange);
	border-radius: 4px;
	padding: 36px 40px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	flex-wrap: wrap;
}
.pl-pdf__eyebrow {
	font-family: 'JetBrains Mono', monospace;
	font-size: 12px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--plv-orange);
	margin-bottom: 10px;
}
.pl-pdf__text {
	font-family: 'Roboto', sans-serif;
	font-size: 16px;
	line-height: 1.65;
	color: var(--plv-text);
	margin: 0;
	max-width: 56ch;
}
.pl-pdf__btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: var(--plv-blau);
	color: #ffffff;
	font-family: 'Raleway', sans-serif;
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
	padding: 16px 28px;
	border-radius: 3px;
	transition: background 0.2s ease;
	white-space: nowrap;
}
.pl-pdf__btn:hover {
	background: var(--plv-blau-hell);
	color: #ffffff;
}
.pl-pdf__btn svg {
	flex: 0 0 auto;
}

/* --- Mobile Sticky-Bar --- */
.pl-sticky {
	display: none;
}
@media (max-width: 767px) {
	.pl-sticky {
		display: block;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 900;
		padding: 10px 14px calc(10px + env(safe-area-inset-bottom));
		background: rgba(255, 255, 255, 0.96);
		backdrop-filter: blur(8px);
		border-top: 1px solid var(--plv-linie);
		box-shadow: 0 -2px 14px rgba(0, 0, 0, 0.08);
		transform: translateY(110%);
		transition: transform 0.28s ease;
	}
	.pl-sticky.is-visible {
		transform: translateY(0);
	}
	.pl-sticky__btn {
		display: block;
		width: 100%;
		text-align: center;
		background: var(--plv-orange);
		color: var(--plv-blau);
		font-family: 'Raleway', sans-serif;
		font-size: 16px;
		font-weight: 700;
		text-decoration: none;
		padding: 15px 20px;
		border-radius: 3px;
	}
	.pl-sticky__btn:hover {
		background: var(--plv-orange-dunkel);
		color: var(--plv-blau);
	}
	/* Borlabs-Cookie-Banner nicht ueberdecken. */
	body.brlbs-cmpnt-visible .pl-sticky {
		transform: translateY(110%);
	}
}

/* --- Speaker --- */
.pl-speaker {
	padding: 80px 20px;
	background: var(--plv-hell);
}
.pl-speaker__inner {
	max-width: 1100px;
	margin: 0 auto;
}
.pl-speaker__eyebrow {
	font-family: 'JetBrains Mono', monospace;
	font-size: 12px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--plv-orange);
	margin-bottom: 12px;
}
.pl-speaker__h2 {
	font-family: 'Raleway', sans-serif;
	font-size: clamp(26px, 3.4vw, 38px);
	font-weight: 700;
	color: var(--plv-blau);
	margin: 0 0 40px;
	line-height: 1.2;
}
.pl-speaker__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
	gap: 28px;
}
.pl-speaker__card {
	background: #ffffff;
	border-radius: 4px;
	overflow: hidden;
}
.pl-speaker__photo {
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	display: block;
}
.pl-speaker__body {
	padding: 22px 24px 26px;
}
.pl-speaker__name {
	font-family: 'Raleway', sans-serif;
	font-size: 18px;
	font-weight: 700;
	color: var(--plv-blau);
	margin: 0 0 4px;
}
.pl-speaker__position {
	font-family: 'Roboto', sans-serif;
	font-size: 14px;
	color: var(--plv-text-grau);
	margin: 0 0 12px;
}
.pl-speaker__expertise {
	font-family: 'Roboto', sans-serif;
	font-size: 14px;
	line-height: 1.6;
	color: var(--plv-text);
	margin: 0;
	padding-top: 12px;
	border-top: 1px solid var(--plv-linie);
}

/* --- Teaser fuer andere Seiten --- */
.pl-teaser__badge-day {
	line-height: 1;
}
.pl-teaser__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

/* --- Archiv --- */
.pl-archive {
	padding: 70px 20px 90px;
}
.pl-archive__inner {
	max-width: 1100px;
	margin: 0 auto;
}
.pl-archive__h1 {
	font-family: 'Raleway', sans-serif;
	font-size: clamp(30px, 4vw, 44px);
	font-weight: 700;
	color: var(--plv-blau);
	margin: 0 0 12px;
	line-height: 1.15;
}
.pl-archive__intro {
	font-family: 'Roboto', sans-serif;
	font-size: 17px;
	line-height: 1.7;
	color: var(--plv-text);
	max-width: 68ch;
	margin: 0 0 52px;
}
.pl-archive__h2 {
	font-family: 'Raleway', sans-serif;
	font-size: 22px;
	font-weight: 700;
	color: var(--plv-blau);
	margin: 0 0 24px;
	padding-bottom: 12px;
	border-bottom: 2px solid var(--plv-orange);
}
.pl-archive__block + .pl-archive__block {
	margin-top: 64px;
}
.pl-archive__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
	gap: 26px;
}
.pl-card {
	display: flex;
	flex-direction: column;
	background: #ffffff;
	border: 1px solid var(--plv-linie);
	border-radius: 4px;
	overflow: hidden;
	text-decoration: none;
	transition: border-color 0.2s ease, transform 0.2s ease;
}
.pl-card:hover {
	border-color: var(--plv-orange);
	transform: translateY(-3px);
}
.pl-card--vergangen {
	opacity: 0.78;
}
.pl-card__image {
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	display: block;
	background: var(--plv-hell);
}
.pl-card__body {
	padding: 22px 24px 26px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	flex: 1;
}
.pl-card__date {
	font-family: 'JetBrains Mono', monospace;
	font-size: 12px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--plv-orange);
}
.pl-card__title {
	font-family: 'Raleway', sans-serif;
	font-size: 19px;
	font-weight: 700;
	color: var(--plv-blau);
	margin: 0;
	line-height: 1.3;
}
.pl-card__meta {
	font-family: 'Roboto', sans-serif;
	font-size: 14px;
	color: var(--plv-text-grau);
	margin: 0;
}
.pl-card__status {
	margin-top: auto;
	padding-top: 12px;
	font-family: 'Raleway', sans-serif;
	font-size: 14px;
	font-weight: 700;
	color: var(--plv-blau-hell);
}

/* --- Formular-Bereich --- */
.pl-form {
	padding: 0 20px 90px;
	scroll-margin-top: 90px;
}
.pl-form__inner {
	max-width: 760px;
	margin: 0 auto;
}
.pl-form__hinweis {
	font-family: 'Roboto', sans-serif;
	font-size: 15px;
	color: var(--plv-text-grau);
	text-align: center;
	margin: 0 0 28px;
}
.pl-form__geschlossen {
	max-width: 760px;
	margin: 0 auto;
	padding: 40px;
	background: var(--plv-hell);
	border-radius: 4px;
	text-align: center;
	font-family: 'Raleway', sans-serif;
	font-size: 18px;
	font-weight: 600;
	color: var(--plv-blau);
}

/* --- Hero-Video und Sprungbutton --- */
.pl-hero__video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	border: 0;
}

/* Vorschau eines YouTube-Videos: das eigene Hero-Bild mit Abspielflaeche.
   Geladen wird erst auf Klick. */
.pl-veranstaltung .pl-hero__video-start,
.pl-hero__video-start {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background-color: var(--plv-blau);
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	cursor: pointer;
	overflow: hidden;
}

/* Ein leichter Verlauf traegt die Schaltflaeche auch auf hellen Bildern. */
.pl-hero__video-start::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(26, 58, 95, 0.1) 0%, rgba(26, 58, 95, 0.45) 100%);
}
/* Nur fuer Screenreader: Das Theme bringt keine solche Klasse mit. */
.pl-nur-vorlesen {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.pl-hero__video-play {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 76px;
	height: 76px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.92);
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
	transition: background 0.2s ease, transform 0.2s ease;
}

/* Das Dreieck als Form statt als Schriftzeichen: Es sitzt damit in jeder
   Schrift gleich und laesst sich sauber mittig setzen. */
.pl-hero__video-play::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-40%, -50%);
	border-style: solid;
	border-width: 13px 0 13px 21px;
	border-color: transparent transparent transparent var(--plv-blau);
}

.pl-hero__video-start:hover .pl-hero__video-play,
.pl-hero__video-start:focus-visible .pl-hero__video-play {
	background: var(--plv-orange);
	transform: translate(-50%, -50%) scale(1.06);
}
.pl-hero__cta {
	display: inline-block;
	margin-top: 28px;
	background: var(--plv-orange);
	color: var(--plv-blau);
	font-family: 'Raleway', sans-serif;
	font-size: 16px;
	font-weight: 700;
	text-decoration: none;
	padding: 16px 32px;
	border-radius: 3px;
	transition: background 0.2s ease;
}
.pl-hero__cta:hover {
	background: var(--plv-orange-dunkel);
	color: var(--plv-blau);
}
.pl-hero__badges {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 24px;
}
.pl-hero__badge {
	font-family: 'JetBrains Mono', monospace;
	font-size: 11px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #ffffff;
	background: rgba(255, 255, 255, 0.14);
	border: 1px solid rgba(255, 255, 255, 0.28);
	border-radius: 2px;
	padding: 7px 12px;
}

@media (prefers-reduced-motion: reduce) {
	.pl-card,
	.pl-sticky,
	.pl-faq__icon,
	.pl-faq__icon::before,
	.pl-hero__video-play {
		transition: none;
	}
}

/* ============================================================
   Teaser fuer andere Seiten (uebernommen von der Startseite)
   ============================================================ */

.pl-teaser { background: #ffa101; padding: 36px 48px;}
.pl-teaser__inner {
    display: grid; grid-template-columns: auto 1fr auto; gap: 32px; align-items: center; box-sizing: border-box; width: 100%; -webkit-font-smoothing: antialiased; max-width:1400px; margin: 0 auto;}
.pl-teaser__image img { width: 100%; max-width: 225px; aspect-ratio: 3/2 !important; object-fit: cover; height: auto;}
.pl-teaser__date { background: #33348b; padding: 18px 22px; border-radius: 4px; display: flex; flex-direction: column; align-items: center; gap: 4px; flex-shrink: 0; min-width: 90px; }
.pl-teaser__date-day { font-family: 'Raleway', sans-serif; font-weight: 800; font-size: 38px; line-height: 1; color: #ffffff; text-align: center; }
.pl-teaser__date-month { font-family: 'Roboto', sans-serif; font-weight: 600; font-size: 14px; letter-spacing: 1.4px; text-transform: uppercase; color: #ffffff; text-align: center; }
.pl-teaser__date-sub { font-family: 'Roboto', sans-serif; font-weight: 400; font-size: 11px; color: rgba(255,255,255,0.7); text-align: center; white-space: nowrap; }
.pl-teaser__content { display: flex; flex-direction: column; gap: 12px; }
.pl-teaser__overline { font-family: 'Roboto', sans-serif; font-weight: 600; font-size: 16px; color: #1a3a5f; text-transform:uppercase; }
.pl-teaser__h2 { font-family: 'Raleway', sans-serif; font-weight: 800; font-size: 26px; line-height: 1.15; text-transform: uppercase; color: #1a3a5f; margin: 0; }
.pl-teaser__text { font-family: 'Roboto', sans-serif; font-weight: 400; font-size: 18px; color: #1a3a5f; }
.pl-teaser__meta { display: flex; flex-wrap: wrap; gap: 0 18px; }
.pl-teaser__meta-item { font-family: 'Roboto', sans-serif; font-weight: 600; font-size: 14px; color: #1a3a5f; white-space: nowrap; }
.pl-teaser__btn { display: inline-flex; align-items: center; justify-content: center; background: transparent; border: 2px solid #1a3a5f; color: #1a3a5f; font-family: 'Roboto', sans-serif; font-weight: 700; font-size: 14px; letter-spacing: 0.56px; text-transform: uppercase; padding: 16px 28px; text-decoration: none; border-radius: 3px; white-space: nowrap; flex-shrink: 0; transition: background 0.15s, color 0.15s; }
.pl-teaser__btn:hover { background: #1a3a5f; color: #ffffff; }

@media (max-width: 1200px) {
  .pl-teaser__image img { max-height: 200px; }
}
@media (max-width: 1100px) {
  .pl-teaser__inner { grid-template-columns: auto 1fr; grid-template-rows: auto auto; padding: 28px 16px; gap: 16px; }
  .pl-teaser__btn { grid-column: 1 / -1; }
    .pl-teaser__inner { align-items: flex-start; }
}
@media (max-width: 600px) {
  .pl-teaser__h2 { font-size: 20px;  }
  .pl-teaser__inner {
  padding: 14px 8px; gap: 8px; grid-template-columns: 1fr;}
  .pl-teaser__image img { max-height: 100px; }
}

/* Programmpunkte mit Uhrzeit statt fortlaufender Nummer. */
.pl-agenda__num--zeit {
	width: auto;
	min-width: 76px;
	padding: 0 10px;
	font-family: 'JetBrains Mono', monospace;
	font-size: 12px;
	letter-spacing: 0.02em;
	white-space: nowrap;
}
@media (max-width: 767px) {
	.pl-agenda__num--zeit {
		min-width: 68px;
		font-size: 11px;
	}
}

/* Der Hero ist ein Flex-Container; ohne align-self wuerde der Button
   auf die volle Spaltenbreite gestreckt. */
.pl-hero__cta {
	align-self: flex-start;
}

/* ============================================================
   Anmeldeformular
   ============================================================ */

.pl-form__form {
	margin-top: 8px;
}
.pl-form__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 18px 20px;
}
.pl-form__field {
	grid-column: 1 / -1;
	display: flex;
	flex-direction: column;
	gap: 7px;
}
.pl-form__field--halb {
	grid-column: span 1;
}
.pl-form__field label {
	font-family: 'Raleway', sans-serif;
	font-size: 13px;
	font-weight: 700;
	color: var(--plv-blau);
	letter-spacing: 0.01em;
}
.pl-form__field input[type='text'],
.pl-form__field input[type='email'],
.pl-form__field select {
	font-family: 'Roboto', sans-serif;
	font-size: 15px;
	color: var(--plv-text);
	padding: 14px 15px;
	border: 1px solid var(--plv-linie);
	border-radius: 0;
	background: #ffffff;
	width: 100%;
	box-sizing: border-box;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.pl-form__field input:focus,
.pl-form__field select:focus {
	outline: none;
	border-color: var(--plv-blau-hell);
	box-shadow: 0 0 0 3px rgba(14, 90, 154, 0.08);
}
.pl-form__field--fehler input,
.pl-form__field--fehler select {
	border-color: #c0392b;
	background: #fdf6f5;
}
.pl-form__field--fehler label {
	color: #c0392b;
}
.pl-form__field--check {
	margin-top: 22px;
}
.pl-form__field--check label {
	display: flex;
	align-items: flex-start;
	gap: 11px;
	font-family: 'Roboto', sans-serif;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.55;
	color: var(--plv-text);
	cursor: pointer;
}
.pl-form__field--check input {
	flex: 0 0 auto;
	margin-top: 2px;
	width: 17px;
	height: 17px;
	accent-color: var(--plv-orange);
}
.pl-form__field--check a {
	color: var(--plv-blau-hell);
}
.pl-form__pflicht {
	font-family: 'Roboto', sans-serif;
	font-size: 12px;
	color: var(--plv-text-grau);
	margin: 14px 0 0;
}
/* Theme und Elementor-Kit setzen eigene Button-Farben; die Spezifitaet hier
   muss hoeher liegen, damit der Anmelde-Button im Design der Seite bleibt. */
.pl-form .pl-form__form button.pl-form__submit {
	margin-top: 22px;
	width: 100%;
	background: var(--plv-orange);
	color: var(--plv-blau);
	font-family: 'Roboto', sans-serif;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.6px;
	text-transform: uppercase;
	border: 0;
	border-radius: 0;
	padding: 16px 32px;
	cursor: pointer;
	transition: background 0.2s ease;
}
.pl-form .pl-form__form button.pl-form__submit:hover {
	background: var(--plv-orange-dunkel);
}
.pl-form .pl-form__form button.pl-form__submit:focus-visible {
	outline: 3px solid var(--plv-blau-hell);
	outline-offset: 2px;
}

/* Honeypot: muss fuer Bots im Markup stehen, darf aber nicht sichtbar oder
   per Tabulator erreichbar sein. display:none wird von manchen Bots erkannt. */
.pl-form__honeypot {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/* --- Rueckmeldungen --- */
.pl-form__meldung {
	padding: 22px 26px;
	border-radius: 3px;
	margin-bottom: 26px;
	font-family: 'Roboto', sans-serif;
	font-size: 15px;
	line-height: 1.6;
}
.pl-form__meldung strong {
	font-family: 'Raleway', sans-serif;
	font-size: 17px;
	display: block;
	margin-bottom: 7px;
}
.pl-form__meldung p {
	margin: 0;
}
.pl-form__meldung p + p {
	margin-top: 7px;
}
.pl-form__meldung--erfolg {
	background: #eef7ee;
	border-left: 4px solid #3c8c40;
	color: #1f4a22;
}
.pl-form__meldung--warteliste {
	background: #fff6e5;
	border-left: 4px solid var(--plv-orange);
	color: #6b4700;
}
.pl-form__meldung--fehler {
	background: #fdf1f0;
	border-left: 4px solid #c0392b;
	color: #7d2019;
}
/* Zwischenschritt: abgeschickt, aber noch nicht bestaetigt. Bewusst nicht
   gruen — nichts ist erledigt, solange der Klick in der E-Mail fehlt. */
.pl-form__meldung--pruefen {
	background: #eef4fa;
	border-left: 4px solid var(--plv-blau-hell);
	color: #123f68;
}
.pl-form__hinweis--warnung {
	color: #6b4700;
	background: #fff6e5;
	padding: 13px 18px;
	border-radius: 3px;
}

@media (max-width: 600px) {
	.pl-form__grid {
		grid-template-columns: 1fr;
	}
	.pl-form__field--halb {
		grid-column: 1 / -1;
	}
}

/* ============================================================
   Ablauf und Anmeldung nebeneinander

   Entspricht dem Seiten-CSS der bisherigen Landingpage (.pl-row-4,
   .pl-col-agenda, .pl-col-form): zwei Spalten ohne Luecke, auf gleiche Hoehe
   gestreckt, getrennt durch eine Linie. Unter 1025 Pixeln wird aus der
   senkrechten Trennlinie eine waagerechte zwischen den gestapelten Spalten.
   ============================================================ */

.pl-split {
	display: flex;
	flex-direction: row;
	align-items: stretch;
	gap: 0;
}
.pl-split__spalte {
	width: 50%;
	min-width: 0;
	box-sizing: border-box;
}
.pl-split__spalte:first-child {
	border-right: 1px solid var(--plv-linie);
}
.pl-split__spalte:last-child {
	background: var(--plv-hell-warm);
}
.pl-split__spalte > .pl-agenda {
	padding: 56px 48px;
}
.pl-split__spalte > .pl-form {
	padding: 0;
	scroll-margin-top: 90px;
}
.pl-split .pl-form-head {
	padding: 56px 48px 24px;
}
.pl-split .pl-form__inner {
	max-width: none;
	padding: 0 48px 56px;
}
.pl-split .pl-form__hinweis {
	text-align: left;
}

@media (max-width: 1024px) {
	.pl-split {
		flex-direction: column;
	}
	.pl-split__spalte {
		width: 100%;
	}
	.pl-split__spalte:first-child {
		border-right: 0;
		border-bottom: 1px solid var(--plv-linie);
	}
	.pl-split__spalte > .pl-agenda {
		padding: 24px 20px;
	}
	.pl-split .pl-form-head {
		padding: 24px 20px 16px;
	}
	.pl-split .pl-form__inner {
		padding: 0 20px 24px;
	}
}

/* Auf schmalen Bildschirmen ruecken alle Sektionen naeher an den Rand.
   Uebernommen aus dem Seiten-CSS der bisherigen Landingpage, damit die
   uebernommene Adresse und die neue Adresse identisch aussehen. */
@media (max-width: 768px) {
	.pl-hero,
	.pl-facts,
	.pl-value,
	.pl-agenda,
	.pl-gallery,
	.pl-inhouse,
	.pl-cta,
	.pl-faq,
	.pl-speaker,
	.pl-pdf {
		padding-left: 16px;
		padding-right: 16px;
	}
	.pl-split__spalte > .pl-agenda {
		padding-left: 16px;
		padding-right: 16px;
	}
	.pl-split .pl-form-head,
	.pl-split .pl-form__inner {
		padding-left: 16px;
		padding-right: 16px;
	}
}

/* ============================================================
   Referenzprojekte

   Der Entwurf zeigt Logos bekannter Projekte in einem ruhigen Raster,
   nicht Fotos. Die Logos liegen unterschiedlich proportioniert vor und
   werden deshalb in eine feste Zellenhoehe eingepasst.
   ============================================================ */

.pl-referenzen {
	padding: 72px 48px;
	background: var(--plv-hell);
}
.pl-referenzen__inner {
	max-width: 1100px;
	margin: 0 auto;
}
.pl-referenzen__eyebrow {
	font-family: 'JetBrains Mono', monospace;
	font-size: 12px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--plv-text-grau);
	margin-bottom: 12px;
}
.pl-referenzen__h2 {
	font-family: 'Raleway', sans-serif;
	font-size: clamp(26px, 3.4vw, 34px);
	font-weight: 800;
	text-transform: uppercase;
	color: var(--plv-blau);
	margin: 0 0 40px;
	line-height: 1.2;
}
.pl-referenzen__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 32px 24px;
	align-items: center;
}
.pl-referenzen__item {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 120px;
}
.pl-referenzen__logo {
	max-width: 100%;
	max-height: 96px;
	width: auto;
	height: auto;
	object-fit: contain;
	display: block;
}
.pl-referenzen__link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	transition: opacity 0.2s ease;
}
.pl-referenzen__link:hover {
	opacity: 0.7;
}

/* --- Hero: Merkmale als Zeile mit Haken --- */
.pl-hero__merkmale {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 22px;
	margin: 22px 0 0;
	font-family: 'Roboto', sans-serif;
	font-size: 15px;
	line-height: 1.5;
	color: #ffffff;
}
.pl-hero__merkmal {
	display: inline-flex;
	align-items: baseline;
	gap: 7px;
	white-space: nowrap;
}
.pl-hero__haken {
	/* Im Entwurf hell, nicht orange — die Merkmalzeile soll ruhig bleiben. */
	color: rgba(255, 255, 255, 0.85);
	font-weight: 700;
}

/* --- Einleitung ueber dem Formular --- */
.pl-form-head__text {
	font-family: 'Roboto', sans-serif;
	font-size: 15px;
	line-height: 1.65;
	color: var(--plv-text);
	margin: 12px 0 0;
	max-width: 62ch;
}

/* Das Formular steht nach dem Entwurf weit oben und ueber die volle Breite.
   Auf grossen Bildschirmen wird es begrenzt, damit die Zeilen lesbar bleiben. */
.pl-form {
	padding: 56px 48px 72px;
}
.pl-form__inner {
	max-width: 760px;
}

@media (max-width: 768px) {
	.pl-referenzen {
		padding-left: 16px;
		padding-right: 16px;
	}
	.pl-referenzen__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 24px 16px;
	}
	.pl-referenzen__item {
		min-height: 90px;
	}
	.pl-hero__merkmale {
		flex-direction: column;
		gap: 6px;
	}
}

.pl-pdf__h2 {
	font-family: 'Raleway', sans-serif;
	font-size: clamp(22px, 2.8vw, 30px);
	font-weight: 800;
	text-transform: uppercase;
	color: var(--plv-blau);
	margin: 0 0 12px;
	line-height: 1.2;
}

/* ============================================================
   Ablauf nach dem Entwurf

   Die Programmpunkte stapeln Zeit, Titel und Beschreibung untereinander.
   Die Uhrzeit sitzt als abgerundete Pille darueber, nicht daneben.
   ============================================================ */

.pl-agenda__list .pl-agenda__item {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 14px;
	background: var(--plv-hell);
	border-left: 3px solid var(--plv-orange);
	border-radius: 4px;
	padding: 14px 16px 14px 19px;
}
.pl-agenda__list .pl-agenda__num {
	width: auto;
	min-width: 0;
	height: 28px;
	padding: 0 8px;
	background: var(--plv-blau);
	border-radius: 14px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: 'Roboto', sans-serif;
	font-size: 13px;
	font-weight: 700;
	color: #ffffff;
	letter-spacing: 0;
	white-space: nowrap;
}
.pl-agenda__list .pl-agenda__text {
	display: flex;
	flex-direction: column;
	gap: 4px;
	width: 100%;
}
.pl-agenda__list .pl-agenda__title {
	font-family: 'Roboto', sans-serif;
	font-size: 16px;
	font-weight: 700;
	color: var(--plv-blau);
	line-height: 1.55;
}
.pl-agenda__list .pl-agenda__desc {
	font-family: 'Roboto', sans-serif;
	font-size: 14px;
	font-weight: 400;
	color: var(--plv-text-grau);
	line-height: 1.55;
}

/* Zielgruppen-Kasten */
.pl-audience {
	background: #e8f1f9;
	border-radius: 4px;
	padding: 19px 22px 20px;
	margin-top: 12px;
}
.pl-audience__label {
	font-family: 'Roboto', sans-serif;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.78px;
	text-transform: uppercase;
	color: var(--plv-blau-hell);
	line-height: 1.55;
}
.pl-audience__text {
	font-family: 'Roboto', sans-serif;
	font-size: 14px;
	color: var(--plv-blau);
	line-height: 1.55;
}

/* --- Angleichungen an den Entwurf --- */

/* Abschnitts-Kicker sind im Entwurf durchgaengig zurueckhaltend grau,
   nicht orange. */
.pl-faq__eyebrow {
	color: var(--plv-text-grau);
}

/* Die Abschnittsueberschriften stehen im Entwurf in Versalien. */
.pl-faq__h2 {
	text-transform: uppercase;
	font-weight: 800;
}

/* Der PDF-Block ist im Entwurf eine dunkle Flaeche, kein heller Kasten. Anders
   als der Hero liegt hier eine einzelne Farbe, kein Verlauf. */
.pl-pdf {
	padding: 0;
}
.pl-pdf__inner {
	max-width: none;
	margin: 0;
	background: var(--plv-blau-kraeftig);
	border-left: 0;
	border-radius: 0;
	padding: 48px;
	flex-direction: column;
	align-items: flex-start;
	gap: 24px;
}
/* Auf der kraeftigen Flaeche steht die kleine Zeile weiss, nicht orange. */
.pl-pdf__eyebrow {
	color: #ffffff;
}
.pl-pdf__h2 {
	color: #ffffff;
}
.pl-pdf__text {
	color: rgba(255, 255, 255, 0.88);
}
/* Dieselbe Schaltflaeche wie die zweite im Hero: nur Rahmen, eckig, versal. */
.pl-pdf__btn {
	background: transparent;
	color: #ffffff;
	border: 1px solid rgba(255, 255, 255, 0.5);
	border-radius: 0;
	justify-content: center;
	min-width: 260px;
	text-transform: uppercase;
	letter-spacing: 0.6px;
}
.pl-pdf__btn:hover {
	background: rgba(255, 255, 255, 0.1);
	color: #ffffff;
}

@media (max-width: 768px) {
	.pl-pdf__inner {
		padding: 32px 16px;
	}
}

/* ============================================================
   Einheitliche Schreibweise der Überschriften

   Haupt- und Abschnittsüberschriften stehen in Versalien — so wie im
   Bestand und überwiegend im Entwurf. Die Binnenmajuskeln der
   Markenschreibweise „RohrInnenSanierung“ gehen dabei unter; das ist
   im Bestand ebenso.
   ============================================================ */

.pl-veranstaltung .pl-hero__h1,
.pl-veranstaltung .pl-value__h2,
.pl-veranstaltung .pl-agenda__h2,
.pl-veranstaltung .pl-form-head__h2,
.pl-veranstaltung .pl-gallery__h2,
.pl-veranstaltung .pl-inhouse__h2,
.pl-veranstaltung .pl-cta__h2,
.pl-veranstaltung .pl-faq__h2,
.pl-veranstaltung .pl-referenzen__h2,
.pl-veranstaltung .pl-pdf__h2,
.pl-veranstaltung .pl-speaker__h2 {
	text-transform: uppercase;
	font-weight: 800;
}

/* --- Zwei Schaltflächen im Hero --- */
.pl-hero__buttons {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
	margin-top: 28px;
}
.pl-hero__buttons .pl-hero__cta {
	margin-top: 0;
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-width: 260px;
	text-transform: uppercase;
	letter-spacing: 0.6px;
	font-size: 15px;
	border-radius: 0;
}
.pl-hero__pfeil {
	font-size: 16px;
	line-height: 1;
}
/* Die zweite Schaltfläche tritt zurück: nur Rahmen, keine Fläche. */
.pl-hero__cta--zweit {
	background: transparent;
	color: #ffffff;
	border: 1px solid rgba(255, 255, 255, 0.55);
	justify-content: center;
}
.pl-hero__cta--zweit:hover {
	background: rgba(255, 255, 255, 0.12);
	color: #ffffff;
}
