.elementor-kit-17{--e-global-color-primary:#163862;--e-global-color-secondary:#0A507D;--e-global-color-text:#1F2933;--e-global-color-accent:#F2A900;--e-global-typography-primary-font-family:"Inter Local";--e-global-typography-primary-font-size:56px;font-weight:400;--e-global-typography-primary-font-style:normal;--e-global-typography-primary-line-height:1.1em;--e-global-typography-primary-letter-spacing:-0.03em;--e-global-typography-secondary-font-family:"Inter Local";--e-global-typography-secondary-font-size:42px;--e-global-typography-secondary-font-style:normal;--e-global-typography-secondary-line-height:1.15em;--e-global-typography-secondary-letter-spacing:0px;--e-global-typography-text-font-family:"Inter Local";--e-global-typography-text-font-size:17px;--e-global-typography-text-font-style:normal;--e-global-typography-text-line-height:1.65em;--e-global-typography-text-letter-spacing:0px;--e-global-typography-accent-font-family:"Inter Local";--e-global-typography-accent-font-size:16px;--e-global-typography-accent-font-style:normal;--e-global-typography-accent-line-height:1.2em;--e-global-typography-b08e6f1-font-family:"Inter Local";--e-global-typography-b08e6f1-font-size:64px;--e-global-typography-8c15e02-font-family:"Inter Local";--e-global-typography-8c15e02-font-size:30px;--e-global-typography-8c15e02-line-height:1.25em;--e-global-typography-8c15e02-letter-spacing:-0.015em;--e-global-typography-1b9d516-font-family:"Inter Local";--e-global-typography-1b9d516-font-size:22px;--e-global-typography-1b9d516-letter-spacing:-0.01em;--e-global-typography-e98a265-font-family:"Inter Local";--e-global-typography-e98a265-font-size:20px;--e-global-typography-e98a265-line-height:1.6em;--e-global-typography-e98a265-letter-spacing:0em;--e-global-typography-de19f02-font-family:"Inter Local";--e-global-typography-de19f02-font-size:14px;--e-global-typography-de19f02-line-height:1.5em;--e-global-typography-de19f02-letter-spacing:0.005em;--e-global-typography-3e2da3f-font-family:"Inter Local";--e-global-typography-3e2da3f-font-size:13px;--e-global-typography-3e2da3f-letter-spacing:0.1em;--e-global-typography-e0a785d-font-family:"Inter Local";--e-global-typography-e0a785d-font-size:15px;--e-global-typography-e0a785d-line-height:1.2em;--e-global-typography-e0a785d-letter-spacing:0.01em;font-family:"Inter Local", Sans-serif;font-size:17px;line-height:1.65em;}.elementor-kit-17 e-page-transition{background-color:#FFBC7D;}.elementor-kit-17 h1{font-family:"Inter Local", Sans-serif;}.elementor-kit-17 h2{font-family:"Inter Local", Sans-serif;}.elementor-kit-17 h3{font-family:"Inter Local", Sans-serif;}.elementor-kit-17 h4{font-family:"Inter Local", Sans-serif;}.elementor-kit-17 h5{font-family:"Inter Local", Sans-serif;}.elementor-kit-17 h6{font-family:"Inter Local", Sans-serif;}.elementor-kit-17 label{color:var( --e-global-color-v4-hro_text );font-family:"Inter Local", Sans-serif;font-size:15px;font-weight:600;line-height:1.4px;letter-spacing:0px;}.elementor-kit-17 input:not([type="button"]):not([type="submit"]),.elementor-kit-17 textarea,.elementor-kit-17 .elementor-field-textual{font-family:"Inter Local", Sans-serif;font-size:16px;font-weight:400;line-height:1.4px;letter-spacing:0px;color:var( --e-global-color-v4-hro_text );background-color:var( --e-global-color-v4-hro_white );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-v4-hro_border );border-radius:10px 10px 10px 10px;transition:180ms;padding:14px 16px 14px 16px;}.elementor-kit-17 input:focus:not([type="button"]):not([type="submit"]),.elementor-kit-17 textarea:focus,.elementor-kit-17 .elementor-field-textual:focus{color:var( --e-global-color-v4-hro_text );background-color:var( --e-global-color-v4-hro_white );border-style:solid;border-width:2px 2px 2px 2px;border-color:var( --e-global-color-v4-hro_border );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:24px;}.elementor-element{--widgets-spacing:24px 24px;--widgets-spacing-row:24px;--widgets-spacing-column:24px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-17{--e-global-typography-primary-font-size:46px;font-weight:600;--e-global-typography-secondary-font-size:36px;--e-global-typography-text-font-size:17px;--e-global-typography-accent-font-size:16px;--e-global-typography-b08e6f1-font-size:52px;--e-global-typography-8c15e02-font-size:30px;--e-global-typography-1b9d516-font-size:21px;--e-global-typography-1b9d516-line-height:1.3em;--e-global-typography-1b9d516-letter-spacing:-0.01em;--e-global-typography-e98a265-font-size:19px;--e-global-typography-de19f02-font-size:14px;--e-global-typography-3e2da3f-font-size:13px;--e-global-typography-e0a785d-font-size:15px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-17{--e-global-typography-primary-font-size:36px;font-weight:600;--e-global-typography-primary-line-height:1.1em;--e-global-typography-primary-word-spacing:-0.03em;--e-global-typography-secondary-font-size:30px;--e-global-typography-text-font-size:16px;--e-global-typography-accent-font-size:16px;--e-global-typography-b08e6f1-font-size:40px;--e-global-typography-8c15e02-font-size:24px;--e-global-typography-1b9d516-font-size:20px;--e-global-typography-1b9d516-line-height:1.3em;--e-global-typography-1b9d516-letter-spacing:-0.01em;--e-global-typography-e98a265-font-size:18px;--e-global-typography-de19f02-font-size:14px;--e-global-typography-de19f02-line-height:1.5em;--e-global-typography-de19f02-letter-spacing:0.005em;--e-global-typography-3e2da3f-font-size:12px;--e-global-typography-e0a785d-font-size:15px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --HRO_Primary:#163862; --HRO_Secondary:#0A507D; --HRO_Accent:#F2A900; --HRO_Text:#1F2933; --HRO_Muted_Text:#5E6B78; --HRO_Light_Background:#F8FAFC; --HRO_Secondary_Background:#EEF3F7; --HRO_Border:#D8E0E8; --HRO_Success:#D8E0E8; --HRO_Elisabethinen_Red:#C2171F; --HRO_White:#FFFFFF; }
/* Start custom CSS *//* =========================================================
   HRO-SYMPOSIUM 2026 – GLOBALES DESIGNFUNDAMENT
   Ergänzungen für eigene HTML-Komponenten, Buttons,
   Tastaturfokus und reduzierte Bewegung
   ========================================================= */

/* ---------- Stabile Designvariablen ---------- */

:root {
  --hro-primary: #163862;
  --hro-secondary: #0a507d;
  --hro-accent: #f2a900;
  --hro-text: #1f2933;
  --hro-muted-text: #5e6b78;
  --hro-background-light: #f8fafc;
  --hro-background-secondary: #eef3f7;
  --hro-border: #d8e0e8;
  --hro-success: #2f7d5c;
  --hro-elisabethinen-red: #c2171f;
  --hro-white: #ffffff;

  --hro-radius-card: 16px;
  --hro-radius-control: 10px;

  --hro-space-1: 4px;
  --hro-space-2: 8px;
  --hro-space-3: 12px;
  --hro-space-4: 16px;
  --hro-space-5: 24px;
  --hro-space-6: 32px;
  --hro-space-7: 48px;
  --hro-space-8: 80px;
}

/* ---------- Gemeinsame Button-Übergänge ---------- */

/*
 * Die Selektoren funktionieren unabhängig davon, ob Elementor
 * die HRO-Klasse direkt auf das interaktive Element oder auf
 * einen umgebenden Block ausgibt.
 */

:is(a, button).hro-button-primary,
.hro-button-primary :is(a, button),
:is(a, button).hro-button-secondary,
.hro-button-secondary :is(a, button) {
  transition:
    color 180ms ease,
    background-color 180ms ease,
    border-color 180ms ease,
    box-shadow 180ms ease,
    transform 180ms ease;
}

/* ---------- Goldakzent nur beim Primary Button ---------- */

:is(a, button).hro-button-primary,
.hro-button-primary :is(a, button) {
  box-shadow: inset 0 -3px 0 var(--hro-accent);
}

/* ---------- Dezente Button-Bewegung ---------- */

:is(a, button).hro-button-primary:hover,
.hro-button-primary :is(a, button):hover,
:is(a, button).hro-button-secondary:hover,
.hro-button-secondary :is(a, button):hover {
  transform: translateY(-1px);
}

/* ---------- Sichtbarer Tastaturfokus ---------- */

:where(
  a,
  button,
  input,
  select,
  textarea,
  summary,
  [tabindex]:not([tabindex="-1"])
):focus-visible {
  outline: 3px solid var(--hro-secondary);
  outline-offset: 3px;
}

/* ---------- Reduzierte Bewegung respektieren ---------- */

@media (prefers-reduced-motion: reduce) {
  :is(a, button).hro-button-primary,
  .hro-button-primary :is(a, button),
  :is(a, button).hro-button-secondary,
  .hro-button-secondary :is(a, button),
  .hro-card-interactive {
    transition-duration: 0.01ms !important;
  }

  :is(a, button).hro-button-primary:hover,
  .hro-button-primary :is(a, button):hover,
  :is(a, button).hro-button-secondary:hover,
  .hro-button-secondary :is(a, button):hover,
  .hro-card-interactive:hover {
    transform: none !important;
  }
}

/* =========================================================
   HRO – HERO STARTSEITE
   ========================================================= */

/* ---------- Grundaufteilung ---------- */

.hro-hero-grid {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between;
  gap: 48px;
  width: 100%;
}

.hro-hero-copy {
  display: block !important;
  flex: 0 1 52%;
  width: 52% !important;
  min-width: 0;
}

.hro-hero-media {
  display: block !important;
  flex: 0 1 48%;
  width: 48% !important;
  min-width: 0;
}

.hro-hero-copy > .elementor-element,
.hro-hero-media > .elementor-element,
.hro-hero-copy .elementor-widget-container,
.hro-hero-media .elementor-widget-container {
  width: 100%;
}


/* ---------- Textbereich ---------- */

.hro-hero-html {
  width: 100%;
  max-width: 620px;
  font-family: "Inter Local", Inter, Arial, sans-serif;
  color: var(--hro-text);
}

.hro-hero-kicker {
  margin: 0 0 16px;
  padding-left: 12px;
  border-left: 3px solid var(--hro-accent);

  color: var(--hro-secondary);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.hro-hero-title {
  margin: 0 0 16px;

  color: var(--hro-primary);
  font-size: 56px;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.03em;
}

.hro-hero-subheadline {
  margin: 0 0 12px;

  color: var(--hro-text);
  font-size: 30px;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -0.015em;
}

.hro-hero-intro {
  max-width: 590px;
  margin: 0 0 24px;

  color: var(--hro-muted-text);
  font-size: 20px;
  font-weight: 400;
  line-height: 1.6;
}


/* ---------- Veranstaltungsdaten ---------- */

.hro-hero-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin: 0 0 12px;
}

.hro-hero-meta-item {
  display: flex;
  flex-direction: column;
  gap: 3px;

  padding: 12px 16px;
  border: 1px solid var(--hro-border);
  border-radius: var(--hro-radius-control);
  background: var(--hro-white);

  color: var(--hro-text);
  font-size: 17px;
  font-weight: 600;
  line-height: 1.4;
}

.hro-hero-meta-label {
  color: var(--hro-muted-text);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.hro-hero-note {
  margin: 0 0 24px;

  color: var(--hro-success);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
}


/* ---------- Buttons ---------- */

.hro-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.hro-hero-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-height: 52px;
  padding: 16px 24px;
  border: 2px solid transparent;
  border-radius: var(--hro-radius-control);

  font-family: "Inter Local", Inter, Arial, sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.01em;
  text-align: center;
  text-decoration: none;

  transition:
    color 180ms ease,
    background-color 180ms ease,
    border-color 180ms ease,
    transform 180ms ease;
}

.hro-hero-button-primary {
  border-color: var(--hro-primary);
  background: var(--hro-primary);
  color: var(--hro-white);
  box-shadow: inset 0 -3px 0 var(--hro-accent);
}

.hro-hero-button-primary:hover {
  border-color: var(--hro-secondary);
  background: var(--hro-secondary);
  color: var(--hro-white);
  transform: translateY(-1px);
}

.hro-hero-button-secondary {
  border-color: var(--hro-primary);
  background: var(--hro-white);
  color: var(--hro-primary);
}

.hro-hero-button-secondary:hover {
  border-color: var(--hro-secondary);
  background: var(--hro-background-secondary);
  color: var(--hro-secondary);
  transform: translateY(-1px);
}

/* ---------- Hero-Foto ---------- */

.hro-hero-media {
  position: relative;
  display: block !important;
  flex: 0 1 48%;
  width: 48% !important;
  min-width: 0;
  aspect-ratio: 4 / 3;
  overflow: hidden;

  border: 1px solid var(--hro-border);
  border-radius: var(--hro-radius-card);
  background: var(--hro-background-secondary);
}

.hro-hero-media > .elementor-widget-image,
.hro-hero-media > .elementor-widget-image > .elementor-widget-container {
  width: 100%;
  height: 100%;
}

.hro-hero-media .elementor-widget-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 48%;
}

.hro-hero-badge-widget {
  position: absolute !important;
  left: 16px;
  bottom: 16px;
  z-index: 2;
  width: auto !important;
}

.hro-hero-location-badge {
  display: inline-flex;
  align-items: center;

  padding: 8px 12px;
  border: 1px solid var(--hro-border);
  border-radius: var(--hro-radius-control);

  background: rgba(255, 255, 255, 0.94);
  color: var(--hro-primary);

  font-family: "Inter Local", Inter, Arial, sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
}

@media (max-width: 1024px) {
  .hro-hero-media {
    width: 100% !important;
    aspect-ratio: 16 / 9;
  }

  .hro-hero-media .elementor-widget-image img {
    object-position: 50% 48%;
  }
}

@media (max-width: 767px) {
  .hro-hero-media {
    aspect-ratio: 16 / 10;
  }

  .hro-hero-media .elementor-widget-image img {
    object-position: 50% 42%;
  }

  .hro-hero-badge-widget {
    left: 12px;
    bottom: 12px;
  }
}

/* ---------- Tablet ---------- */

@media (max-width: 1024px) {
  .hro-hero-grid {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 32px;
  }

  .hro-hero-copy,
  .hro-hero-media {
    flex-basis: auto;
    width: 100% !important;
  }

  .hro-hero-html {
    max-width: 760px;
  }

  .hro-hero-title {
    font-size: 46px;
  }

  .hro-hero-subheadline {
    font-size: 27px;
  }

  .hro-hero-intro {
    font-size: 19px;
  }

  .hro-hero-placeholder {
    aspect-ratio: 16 / 9;
  }
}


/* ---------- Mobil ---------- */

@media (max-width: 767px) {
  .hro-hero-grid {
    gap: 24px;
  }

  .hro-hero-kicker {
    font-size: 12px;
  }

  .hro-hero-title {
    font-size: 36px;
  }

  .hro-hero-subheadline {
    font-size: 24px;
  }

  .hro-hero-intro {
    font-size: 18px;
  }

  .hro-hero-meta {
    flex-direction: column;
    gap: 12px;
  }

  .hro-hero-meta-item {
    width: 100%;
    font-size: 16px;
  }

  .hro-hero-actions {
    flex-direction: column;
    gap: 12px;
  }

  .hro-hero-button {
    width: 100%;
  }

  .hro-hero-placeholder {
    aspect-ratio: 16 / 10;
  }

  .hro-hero-location-badge {
    left: 12px;
    bottom: 12px;
  }
}


/* ---------- Reduzierte Bewegung ---------- */

@media (prefers-reduced-motion: reduce) {
  .hro-hero-button {
    transition-duration: 0.01ms;
  }

  .hro-hero-button:hover {
    transform: none;
  }
}


/* =========================================================
   HRO – VERANSTALTERZEILE
   ========================================================= */

.hro-organizer-label {
  flex: 0 0 180px;
  margin: 0;

  color: var(--hro-muted-text);
  font-family: "Inter Local", Inter, Arial, sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
}

.hro-organizer-logos {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 28px;
}

.hro-organizer-logos .elementor-widget-image,
.hro-organizer-logos .elementor-widget-image .elementor-widget-container {
  display: flex;
  align-items: center;
  justify-content: center;
}

.hro-organizer-logos img {
  display: block;
  height: auto;
  max-width: 100%;
  object-fit: contain;
}

@media (max-width: 1024px) {
  .hro-organizer-label {
    flex-basis: auto;
  }

  .hro-organizer-logos {
    gap: 24px;
  }
}

@media (max-width: 767px) {
  .hro-organizer-row {
    flex-direction: column !important;
    align-items: center !important;
    gap: 16px !important;
  }

  .hro-organizer-label {
    width: 100%;
    text-align: center;
  }

  .hro-organizer-logos {
    flex-direction: column;
    gap: 16px;
  }
}

/* Veranstalterlogos: Desktop und Tablet nebeneinander */
.hro-organizer-logos {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 28px !important;
  width: max-content !important;
  max-width: 100%;
}

.hro-organizer-logos .elementor-widget-image {
  display: block !important;
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: none !important;
}

.hro-organizer-logos .elementor-widget-image .elementor-widget-container {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
}

.hro-organizer-logos img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  object-fit: contain;
}

/* Mobil untereinander */
@media (max-width: 767px) {
  .hro-organizer-logos {
    flex-direction: column !important;
    width: 100% !important;
    gap: 16px !important;
  }
}

/* Veranstalterzeile mittig ausrichten */
.hro-organizer-row {
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 16px !important;
  text-align: center;
}

.hro-organizer-label {
  width: 100%;
  flex-basis: auto;
  text-align: center;
}

.hro-organizer-logos {
  justify-content: center !important;
  margin-inline: auto;
}

/* =========================================================
   STARTSEITE – WARUM DIESES SYMPOSIUM?
   ========================================================= */

.hro-why-section {
  background: var(--hro-white);
}

.hro-why {
  display: grid;
  grid-template-columns:
    minmax(0, 0.95fr)
    minmax(0, 1.35fr);
  gap: 72px;
  align-items: start;
  width: 100%;
}

.hro-why-intro,
.hro-why-copy {
  min-width: 0;
}

.hro-why-label {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 16px;
  color: var(--hro-secondary);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.hro-why-label::before {
  content: "";
  flex: 0 0 36px;
  width: 36px;
  height: 3px;
  border-radius: 99px;
  background: var(--hro-accent);
}

.hro-why-title {
  max-width: 520px;
  margin: 0;
  color: var(--hro-primary);
  font-size: 42px;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.025em;
  text-wrap: balance;
}

.hro-why-copy {
  max-width: 700px;
}

.hro-why-lead,
.hro-why-text {
  color: var(--hro-text);
}

.hro-why-lead {
  margin: 0;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.6;
}

.hro-why-text {
  margin: 24px 0 0;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.60;
}

@media (max-width: 1024px) {
  .hro-why {
    grid-template-columns:
      minmax(0, 0.9fr)
      minmax(0, 1.1fr);
    gap: 44px;
  }

  .hro-why-title {
    font-size: 36px;
  }

  .hro-why-lead {
    font-size: 19px;
  }
}

@media (max-width: 767px) {
  .hro-why {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }

  .hro-why-label {
    margin-bottom: 12px;
    font-size: 12px;
  }

  .hro-why-title {
    max-width: none;
    font-size: 30px;
  }

  .hro-why-copy {
    max-width: none;
  }

  .hro-why-lead {
    font-size: 18px;
  }

  .hro-why-text {
    margin-top: 20px;
    font-size: 16px;
  }
}
/* =========================================================
   STARTSEITE – THEMENKARTEN
   Komponente: hro-theme-cards
   ========================================================= */

.hro-themes-section {
  background: var(--hro-background-secondary);
}

.hro-theme-cards {
  width: 100%;
}

.hro-theme-cards-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 760px;
  margin: 0 auto 40px;
  text-align: center;
}

.hro-theme-cards-label {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 12px;
  color: var(--hro-secondary);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.hro-theme-cards-label::before,
.hro-theme-cards-label::after {
  content: "";
  flex: 0 0 28px;
  width: 28px;
  height: 2px;
  border-radius: 99px;
  background: var(--hro-accent);
}

.hro-theme-cards-title {
  margin: 0;
  color: var(--hro-primary);
  font-size: 42px;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.025em;
  text-wrap: balance;
}

.hro-theme-cards-intro {
  max-width: 700px;
  margin: 16px 0 0;
  color: var(--hro-muted-text);
  font-size: 20px;
  font-weight: 400;
  line-height: 1.6;
}

.hro-theme-cards-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 24px;
  width: 100%;
}

.hro-theme-card {
  position: relative;
  display: flex;
  flex-direction: column;
  grid-column: span 2;
  min-width: 0;
  min-height: 230px;
  padding: 32px;
  overflow: hidden;
  background: var(--hro-white);
  border: 1px solid var(--hro-border);
  border-radius: var(--hro-radius-card);
  box-shadow: 0 10px 30px rgba(22, 56, 98, 0.06);
}

.hro-theme-card:nth-child(4),
.hro-theme-card:nth-child(5) {
  grid-column: span 3;
}

.hro-theme-card-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  min-height: 32px;
  margin: 0 0 24px;
  color: var(--hro-secondary);
  background: var(--hro-background-light);
  border: 1px solid var(--hro-border);
  border-radius: 99px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.06em;
}

.hro-theme-card-accent {
  width: 48px;
  height: 3px;
  margin: 0 0 20px;
  border-radius: 99px;
  background: var(--hro-accent);
}

.hro-theme-card-title {
  margin: 0;
  color: var(--hro-primary);
  font-size: 22px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -0.01em;
  text-wrap: balance;
}

.hro-theme-card-text {
  margin: 14px 0 0;
  color: var(--hro-muted-text);
  font-size: 17px;
  font-weight: 400;
  line-height: 1.65;
}

@media (max-width: 1024px) {
  .hro-theme-cards-header {
    margin-bottom: 32px;
  }

  .hro-theme-cards-title {
    font-size: 36px;
  }

  .hro-theme-cards-intro {
    font-size: 19px;
  }

  .hro-theme-cards-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
  }

  .hro-theme-card,
  .hro-theme-card:nth-child(4) {
    grid-column: span 1;
    min-height: 210px;
    padding: 24px;
  }

  .hro-theme-card:nth-child(5) {
    grid-column: 1 / -1;
    min-height: auto;
  }

  .hro-theme-card-title {
    font-size: 21px;
  }
}

@media (max-width: 767px) {
  .hro-theme-cards-header {
    align-items: flex-start;
    margin-bottom: 24px;
    text-align: left;
  }

  .hro-theme-cards-label {
    font-size: 12px;
  }

  .hro-theme-cards-label::after {
    display: none;
  }

  .hro-theme-cards-title {
    font-size: 30px;
  }

  .hro-theme-cards-intro {
    margin-top: 12px;
    font-size: 18px;
  }

  .hro-theme-cards-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }

  .hro-theme-card,
  .hro-theme-card:nth-child(4),
  .hro-theme-card:nth-child(5) {
    grid-column: span 1;
    min-height: auto;
    padding: 24px;
  }

  .hro-theme-card-number {
    margin-bottom: 20px;
  }

  .hro-theme-card-accent {
    margin-bottom: 16px;
  }

  .hro-theme-card-title {
    font-size: 20px;
  }

  .hro-theme-card-text {
    margin-top: 10px;
    font-size: 16px;
  }
}
/* =========================================================
   STARTSEITE – PROGRAMM-TEASER
   Komponente: hro-program-teaser
   ========================================================= */

.hro-program-teaser-section {
  background: var(--hro-white);
}

.hro-program-teaser {
  position: relative;
  display: grid;
  grid-template-columns:
    minmax(0, 1fr)
    minmax(220px, 0.32fr);
  gap: 56px;
  align-items: end;
  width: 100%;
  padding: 48px;
  overflow: hidden;
  background: var(--hro-primary);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: var(--hro-radius-card);
  box-shadow: 0 18px 44px rgba(22, 56, 98, 0.14);
}

.hro-program-teaser::before {
  content: "";
  position: absolute;
  top: 0;
  left: 48px;
  width: 72px;
  height: 4px;
  background: var(--hro-accent);
  border-radius: 0 0 4px 4px;
}

.hro-program-teaser-copy,
.hro-program-teaser-action {
  position: relative;
  z-index: 1;
  min-width: 0;
}

.hro-program-teaser-copy {
  max-width: 790px;
}

.hro-program-teaser-label {
  margin: 0 0 16px;
  color: rgba(255, 255, 255, 0.76);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.hro-program-teaser-title {
  margin: 0;
  color: var(--hro-white);
  font-size: 42px;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.025em;
  text-wrap: balance;
}

.hro-program-teaser-text {
  max-width: 760px;
  margin: 20px 0 0;
  color: rgba(255, 255, 255, 0.86);
  font-size: 20px;
  font-weight: 400;
  line-height: 1.6;
}

.hro-program-teaser-action {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
}

.hro-program-teaser-action > .hro-button-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 16px 24px;
  color: var(--hro-primary);
  background: var(--hro-white);
  border: 2px solid var(--hro-white);
  border-radius: var(--hro-radius-control);
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.01em;
  text-align: center;
  text-decoration: none;
}

.hro-program-teaser-action > .hro-button-secondary:hover {
  color: var(--hro-secondary);
  background: var(--hro-background-secondary);
  border-color: var(--hro-background-secondary);
}

.hro-program-teaser-note {
  margin: 0;
  color: rgba(255, 255, 255, 0.7);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
}

/* ---------- Tablet ---------- */

@media (max-width: 1024px) {
  .hro-program-teaser {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
    padding: 36px;
  }

  .hro-program-teaser::before {
    left: 36px;
  }

  .hro-program-teaser-title {
    font-size: 36px;
  }

  .hro-program-teaser-text {
    font-size: 19px;
  }

  .hro-program-teaser-action {
    max-width: 420px;
  }
}

/* ---------- Mobil ---------- */

@media (max-width: 767px) {
  .hro-program-teaser {
    gap: 24px;
    padding: 24px;
  }

  .hro-program-teaser::before {
    left: 24px;
    width: 56px;
  }

  .hro-program-teaser-label {
    margin-bottom: 12px;
    font-size: 12px;
  }

  .hro-program-teaser-title {
    font-size: 30px;
  }

  .hro-program-teaser-text {
    margin-top: 16px;
    font-size: 18px;
  }

  .hro-program-teaser-action {
    width: 100%;
    max-width: none;
  }

  .hro-program-teaser-action > .hro-button-mobile-full {
    width: 100%;
  }
}
/* =========================================================
   STARTSEITE – KEYNOTE-HIGHLIGHT MIT PORTRÄT
   Komponente: hro-keynote-box
   ========================================================= */

.hro-keynote-section {
  background: var(--hro-background-light);
}

.hro-keynote-box {
  position: relative;
  display: grid;
  grid-template-columns:
    minmax(220px, 280px)
    minmax(0, 1fr);
  gap: 56px;
  align-items: stretch;
  width: 100%;
  padding: 48px;
  background: var(--hro-white);
  border: 1px solid var(--hro-border);
  border-radius: var(--hro-radius-card);
  box-shadow: 0 12px 34px rgba(22, 56, 98, 0.07);
}

.hro-keynote-profile,
.hro-keynote-content {
  min-width: 0;
}

.hro-keynote-profile {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding-right: 48px;
  border-right: 3px solid var(--hro-accent);
}

.hro-keynote-photo {
  width: 100%;
  max-width: 220px;
}

.hro-keynote-photo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 2 / 3;
  object-fit: cover;
  object-position: center top;
  border: 1px solid var(--hro-border);
  border-radius: 12px;
  box-shadow: 0 10px 26px rgba(22, 56, 98, 0.1);
}

.hro-keynote-profile-copy {
  width: 100%;
  max-width: 240px;
  margin-top: 20px;
}

.hro-keynote-name {
  margin: 0;
  color: var(--hro-primary);
  font-size: 22px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -0.01em;
}

.hro-keynote-role {
  margin: 8px 0 0;
  color: var(--hro-muted-text);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
}

.hro-keynote-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.hro-keynote-copy {
  width: 100%;
  max-width: 760px;
}

.hro-keynote-label {
  margin: 0 0 20px;
  color: var(--hro-secondary);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.hro-keynote-title {
  margin: 0;
  color: var(--hro-text);
  font-size: 36px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.022em;
  text-wrap: balance;
}

.hro-keynote-text {
  max-width: 720px;
  margin: 24px 0 0;
  color: var(--hro-muted-text);
  font-size: 17px;
  font-weight: 400;
  line-height: 1.65;
}

/* ---------- Tablet ---------- */

@media (max-width: 1024px) {
  .hro-keynote-box {
    grid-template-columns:
      minmax(190px, 230px)
      minmax(0, 1fr);
    gap: 36px;
    padding: 36px;
  }

  .hro-keynote-profile {
    padding-right: 36px;
  }

  .hro-keynote-photo {
    max-width: 200px;
  }

  .hro-keynote-name {
    font-size: 21px;
  }

  .hro-keynote-title {
    font-size: 30px;
  }
}

/* ---------- Mobil ---------- */

@media (max-width: 767px) {
  .hro-keynote-box {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
    padding: 24px;
  }

  .hro-keynote-profile {
    align-items: center;
    padding: 0 0 24px;
    border-right: 0;
    border-bottom: 3px solid var(--hro-accent);
    text-align: center;
  }

  .hro-keynote-photo {
    max-width: 190px;
  }

  .hro-keynote-profile-copy {
    max-width: 280px;
    margin-top: 18px;
  }

  .hro-keynote-name {
    font-size: 20px;
  }

  .hro-keynote-role {
    font-size: 14px;
  }

  .hro-keynote-label {
    margin-bottom: 12px;
    font-size: 12px;
  }

  .hro-keynote-title {
    font-size: 26px;
  }

  .hro-keynote-text {
    margin-top: 18px;
    font-size: 16px;
  }
}
/* =========================================================
   STARTSEITE – KOSTENFREIE TEILNAHME
   Komponente: hro-free-attendance-box
   ========================================================= */

.hro-free-attendance-section {
  background: var(--hro-white);
}

.hro-free-attendance-box {
  display: grid;
  grid-template-columns:
    minmax(0, 1.2fr)
    minmax(300px, 0.8fr);
  width: 100%;
  overflow: hidden;
  background: var(--hro-white);
  border: 1px solid var(--hro-border);
  border-radius: var(--hro-radius-card);
  box-shadow: 0 14px 38px rgba(22, 56, 98, 0.08);
}

.hro-free-attendance-main {
  min-width: 0;
  padding: 48px;
}

.hro-free-attendance-label {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 16px;
  color: var(--hro-secondary);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.hro-free-attendance-label::before {
  content: "";
  flex: 0 0 36px;
  width: 36px;
  height: 3px;
  border-radius: 99px;
  background: var(--hro-accent);
}

.hro-free-attendance-title {
  max-width: 680px;
  margin: 0;
  color: var(--hro-primary);
  font-size: 42px;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.025em;
  text-wrap: balance;
}

.hro-free-attendance-lead {
  max-width: 720px;
  margin: 24px 0 0;
  color: var(--hro-text);
  font-size: 20px;
  font-weight: 400;
  line-height: 1.6;
}

.hro-free-attendance-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 32px;
}

.hro-free-attendance-actions > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 16px 24px;
  border: 2px solid;
  border-radius: var(--hro-radius-control);
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.01em;
  text-align: center;
  text-decoration: none;
}

.hro-free-attendance-actions > .hro-button-primary {
  color: var(--hro-white);
  background: var(--hro-primary);
  border-color: var(--hro-primary);
}

.hro-free-attendance-actions > .hro-button-primary:hover {
  color: var(--hro-white);
  background: var(--hro-secondary);
  border-color: var(--hro-secondary);
}

.hro-free-attendance-actions > .hro-button-secondary {
  color: var(--hro-primary);
  background: var(--hro-white);
  border-color: var(--hro-primary);
}

.hro-free-attendance-actions > .hro-button-secondary:hover {
  color: var(--hro-secondary);
  background: var(--hro-background-secondary);
  border-color: var(--hro-secondary);
}

.hro-free-attendance-details {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  margin: 0;
  padding: 40px;
  background: var(--hro-background-secondary);
  border-left: 1px solid var(--hro-border);
}

.hro-free-attendance-zero {
  display: flex;
  flex-direction: column;
  margin: 0;
}

.hro-free-attendance-zero span {
  color: var(--hro-primary);
  font-size: 56px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.035em;
}

.hro-free-attendance-zero small {
  margin-top: 8px;
  color: var(--hro-secondary);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.hro-free-attendance-divider {
  width: 56px;
  height: 3px;
  margin: 28px 0;
  border-radius: 99px;
  background: var(--hro-accent);
}

.hro-free-attendance-detail {
  margin: 0;
  color: var(--hro-text);
  font-size: 17px;
  font-weight: 400;
  line-height: 1.65;
}

.hro-free-attendance-detail + .hro-free-attendance-detail {
  margin-top: 18px;
}

.hro-free-attendance-note {
  margin: 24px 0 0;
  padding-top: 20px;
  color: var(--hro-muted-text);
  border-top: 1px solid var(--hro-border);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.55;
}

@media (max-width: 1024px) {
  .hro-free-attendance-box {
    grid-template-columns: minmax(0, 1fr);
  }

  .hro-free-attendance-main {
    padding: 36px;
  }

  .hro-free-attendance-title {
    font-size: 36px;
  }

  .hro-free-attendance-lead {
    font-size: 19px;
  }

  .hro-free-attendance-details {
    padding: 36px;
    border-top: 1px solid var(--hro-border);
    border-left: 0;
  }

  .hro-free-attendance-zero span {
    font-size: 50px;
  }
}

@media (max-width: 767px) {
  .hro-free-attendance-main,
  .hro-free-attendance-details {
    padding: 24px;
  }

  .hro-free-attendance-label {
    margin-bottom: 12px;
    font-size: 12px;
  }

  .hro-free-attendance-title {
    font-size: 30px;
  }

  .hro-free-attendance-lead {
    margin-top: 18px;
    font-size: 18px;
  }

  .hro-free-attendance-actions {
    flex-direction: column;
    margin-top: 24px;
  }

  .hro-free-attendance-actions > .hro-button-mobile-full {
    width: 100%;
  }

  .hro-free-attendance-zero span {
    font-size: 46px;
  }

  .hro-free-attendance-detail {
    font-size: 16px;
  }
}
/* =========================================================
   STARTSEITE – VERANSTALTER UND GEPLANTE SNAPS-ALLIANZ
   Ruhige Flächen ohne Kartenrahmen
   ========================================================= */

.hro-organizers-snaps-section {
  background: var(--hro-background-secondary);
}

/* ---------- Abschnittskopf ---------- */

.hro-organizers-snaps-header {
  max-width: 820px;
  margin: 0 auto 40px;
  text-align: center;
}

.hro-organizers-snaps-label {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin: 0 0 12px;
  color: var(--hro-secondary);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.hro-organizers-snaps-label::before,
.hro-organizers-snaps-label::after {
  content: "";
  flex: 0 0 28px;
  width: 28px;
  height: 2px;
  border-radius: 99px;
  background: var(--hro-accent);
}

.hro-organizers-snaps-title {
  margin: 0;
  color: var(--hro-primary);
  font-size: 42px;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.025em;
  text-wrap: balance;
}

.hro-organizers-snaps-intro {
  max-width: 720px;
  margin: 16px auto 0;
  color: var(--hro-muted-text);
  font-size: 20px;
  line-height: 1.6;
}

/* ---------- Zweispaltiges Layout ---------- */

.hro-organizers-snaps-grid {
  display: grid;
  grid-template-columns:
    minmax(0, 1.08fr)
    minmax(0, 0.92fr);
  gap: 32px;
  align-items: stretch;
  width: 100%;
}
/* ---------- Gleich hohe Bereiche nur auf Desktop ---------- */

@media (min-width: 1025px) {
  .hro-organizers-snaps-grid {
    align-items: stretch !important;
    grid-auto-rows: 1fr;
  }

  .hro-organizers-snaps-grid > * {
    align-self: stretch !important;
    height: 100%;
  }

  .hro-organizers-card,
  .hro-snaps-card {
    height: 100% !important;
    min-height: 100%;
  }
}
/* ---------- Ruhige Flächen ohne Rahmen ---------- */

.hro-organizers-card,
.hro-snaps-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  min-width: 0;
  height: 100%;
  padding: 40px;
  background: rgba(255, 255, 255, 0.72);
  border: 0;
  border-radius: var(--hro-radius-card);
  box-shadow: none;
}

.hro-snaps-card {
  background:
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.86) 0%,
      var(--hro-background-light) 100%
    );
}

/* Elementor-Widgets dürfen keine eigene Kartenoptik erzeugen */

.hro-organizers-card .elementor-widget,
.hro-snaps-card .elementor-widget,
.hro-organizers-card .elementor-widget-container,
.hro-snaps-card .elementor-widget-container {
  background: transparent;
  border: 0;
  box-shadow: none;
}

/* ---------- Veranstalter ---------- */

.hro-organizers-card-label {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 28px;
  padding: 0;
  color: var(--hro-secondary);
  background: transparent;
  border: 0;
  border-radius: 0;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.hro-organizers-card-label::before {
  content: "";
  flex: 0 0 32px;
  width: 32px;
  height: 3px;
  border-radius: 99px;
  background: var(--hro-secondary);
}

.hro-organizers-card-logos {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap;
  align-items: center !important;
  justify-content: flex-start;
  gap: 36px;
  width: 100%;
  min-height: 0;
  margin: 0 0 32px;
  padding: 0;
}

.hro-organizers-card-logo {
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: none !important;
}

.hro-organizers-card-logo .elementor-widget-container {
  display: flex;
  align-items: center;
  width: auto;
}

.hro-organizers-card-logo img {
  display: block;
  width: auto !important;
  max-width: none !important;
  height: 74px !important;
  object-fit: contain;
}

.hro-organizers-card-logo-medsta img {
  height: 74px !important;
}

.hro-organizers-card-logo-elisabethinen img {
  height: 70px !important;
}

.hro-organizers-card-copy {
  width: 100%;
  max-width: 620px;
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.hro-organizers-card-title {
  margin: 0;
  color: var(--hro-primary);
  font-size: 24px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -0.012em;
  text-wrap: balance;
}

.hro-organizers-card-text {
  margin: 16px 0 0;
  color: var(--hro-muted-text);
  font-size: 17px;
  line-height: 1.65;
}

/* ---------- Geplante Allianz ---------- */

.hro-snaps-status {
  display: flex;
  align-items: center;
  gap: 12px;
  width: auto;
  margin: 0 0 28px;
  padding: 0;
  color: var(--hro-primary);
  background: transparent;
  border: 0;
  border-radius: 0;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.hro-snaps-status::before {
  content: "";
  flex: 0 0 32px;
  width: 32px;
  height: 3px;
  border-radius: 99px;
  background: var(--hro-accent);
}

.hro-snaps-card-logo {
  align-self: flex-start;
  width: 190px !important;
  max-width: 190px !important;
  margin: 0 0 32px;
  padding: 0;
}

.hro-snaps-card-logo .elementor-widget-container {
  display: block;
  width: 190px !important;
  max-width: 190px !important;
}

.hro-snaps-card-logo img {
  display: block;
  width: 190px !important;
  max-width: 190px !important;
  height: auto !important;
  object-fit: contain;
}

.hro-snaps-card-copy {
  width: 100%;
  max-width: 560px;
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.hro-snaps-card-title {
  margin: 0;
  color: var(--hro-primary);
  font-size: 24px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -0.012em;
  text-wrap: balance;
}

.hro-snaps-card-text {
  margin: 16px 0 0;
  color: var(--hro-muted-text);
  font-size: 17px;
  line-height: 1.65;
}

/* ---------- Tablet ---------- */

@media (max-width: 1024px) {
  .hro-organizers-snaps-header {
    margin-bottom: 32px;
  }

  .hro-organizers-snaps-title {
    font-size: 36px;
  }

  .hro-organizers-snaps-intro {
    font-size: 19px;
  }

  .hro-organizers-snaps-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }

  .hro-organizers-card,
  .hro-snaps-card {
    padding: 32px;
  }

  .hro-snaps-card-logo,
  .hro-snaps-card-logo .elementor-widget-container,
  .hro-snaps-card-logo img {
    width: 175px !important;
    max-width: 175px !important;
  }
}

/* ---------- Mobil ---------- */

@media (max-width: 767px) {
  .hro-organizers-snaps-header {
    margin-bottom: 24px;
    text-align: left;
  }

  .hro-organizers-snaps-label {
    justify-content: flex-start;
    font-size: 12px;
  }

  .hro-organizers-snaps-label::after {
    display: none;
  }

  .hro-organizers-snaps-title {
    font-size: 30px;
  }

  .hro-organizers-snaps-intro {
    margin-top: 12px;
    font-size: 18px;
  }

  .hro-organizers-card,
  .hro-snaps-card {
    padding: 24px;
  }

  .hro-organizers-card-label,
  .hro-snaps-status {
    margin-bottom: 24px;
    font-size: 12px;
  }

  .hro-organizers-card-logos {
    gap: 22px;
    margin-bottom: 26px;
  }

  .hro-organizers-card-logo-medsta img {
    height: 58px !important;
  }

  .hro-organizers-card-logo-elisabethinen img {
    height: 54px !important;
  }

  .hro-snaps-card-logo,
  .hro-snaps-card-logo .elementor-widget-container,
  .hro-snaps-card-logo img {
    width: 150px !important;
    max-width: 150px !important;
  }

  .hro-snaps-card-logo {
    margin-bottom: 26px;
  }

  .hro-organizers-card-title,
  .hro-snaps-card-title {
    font-size: 22px;
  }

  .hro-organizers-card-text,
  .hro-snaps-card-text {
    font-size: 16px;
  }
}
/* =========================================================
   STARTSEITE – ABSCHLUSS-CTA
   Komponente: hro-final-cta
   ========================================================= */

.hro-final-cta-section {
  position: relative;
  overflow: hidden;
  background: var(--hro-primary);
}

.hro-final-cta-section::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 120px;
  height: 4px;
  border-radius: 0 0 4px 4px;
  background: var(--hro-accent);
  transform: translateX(-50%);
}

.hro-final-cta {
  display: grid;
  grid-template-columns:
    minmax(0, 1fr)
    minmax(320px, auto);
  gap: 56px;
  align-items: center;
  width: 100%;
}

.hro-final-cta-copy {
  max-width: 760px;
}

.hro-final-cta-label {
  margin: 0 0 16px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.hro-final-cta-title {
  margin: 0;
  color: var(--hro-white);
  font-size: 42px;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.025em;
  text-wrap: balance;
}

.hro-final-cta-text {
  margin: 20px 0 0;
  color: rgba(255, 255, 255, 0.84);
  font-size: 20px;
  font-weight: 400;
  line-height: 1.6;
}

.hro-final-cta-actions {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 14px;
  min-width: 280px;
}

.hro-final-cta-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 16px 24px;
  border: 2px solid;
  border-radius: var(--hro-radius-control);
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.01em;
  text-align: center;
  text-decoration: none;
  transition:
    color 180ms ease,
    background-color 180ms ease,
    border-color 180ms ease,
    transform 180ms ease;
}

.hro-final-cta-button:hover {
  transform: translateY(-1px);
}

.hro-final-cta-button-primary {
  color: var(--hro-primary);
  background: var(--hro-white);
  border-color: var(--hro-white);
  box-shadow: inset 0 -3px 0 var(--hro-accent);
}

.hro-final-cta-button-primary:hover {
  color: var(--hro-secondary);
  background: var(--hro-background-secondary);
  border-color: var(--hro-background-secondary);
}

.hro-final-cta-button-secondary {
  color: var(--hro-white);
  background: transparent;
  border-color: rgba(255, 255, 255, 0.72);
}

.hro-final-cta-button-secondary:hover {
  color: var(--hro-primary);
  background: var(--hro-white);
  border-color: var(--hro-white);
}

@media (max-width: 1024px) {
  .hro-final-cta {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
  }

  .hro-final-cta-title {
    font-size: 36px;
  }

  .hro-final-cta-text {
    font-size: 19px;
  }

  .hro-final-cta-actions {
    flex-direction: row;
    min-width: 0;
  }
}

@media (max-width: 767px) {
  .hro-final-cta {
    gap: 24px;
  }

  .hro-final-cta-label {
    margin-bottom: 12px;
    font-size: 12px;
  }

  .hro-final-cta-title {
    font-size: 30px;
  }

  .hro-final-cta-text {
    margin-top: 16px;
    font-size: 18px;
  }

  .hro-final-cta-actions {
    flex-direction: column;
    width: 100%;
  }

  .hro-final-cta-button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hro-final-cta-button {
    transition-duration: 0.01ms !important;
  }

  .hro-final-cta-button:hover {
    transform: none !important;
  }
}
/* =========================================================
   PROGRAMMSEITE – KOMPAKTER HERO
   ========================================================= */

.hro-program-hero {
  position: relative;
  overflow: hidden;
  background: var(--hro-primary);
}

.hro-program-hero::after {
  position: absolute;
  top: -120px;
  right: -100px;
  width: 340px;
  height: 340px;
  background: rgba(255, 255, 255, 0.045);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.hro-program-hero__inner {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 824px;
  margin: 0 auto;
  padding: 64px 32px;
  box-sizing: border-box;
}

.hro-program-hero__label {
  margin: 0 0 12px;
  color: var(--hro-accent);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.hro-program-hero__title {
  margin: 0;
  color: var(--hro-white);
  font-size: clamp(38px, 5vw, 56px);
  font-weight: 650;
  line-height: 1.08;
  letter-spacing: -0.035em;
}

.hro-program-hero__event {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 10px;
  margin: 22px 0 0;
  color: var(--hro-white);
  font-size: 20px;
  font-weight: 550;
  line-height: 1.5;
}

.hro-program-hero__meta {
  margin: 8px 0 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: 16px;
  line-height: 1.55;
}

/* Tablet */

@media (max-width: 1024px) {
  .hro-program-hero__inner {
    padding: 48px 28px;
  }

  .hro-program-hero__event {
    font-size: 18px;
  }
}

/* Mobil */

@media (max-width: 767px) {
  .hro-program-hero__inner {
    padding: 40px 20px;
  }

  .hro-program-hero::after {
    top: -90px;
    right: -140px;
    width: 280px;
    height: 280px;
  }

  .hro-program-hero__title {
    font-size: 38px;
  }

  .hro-program-hero__event {
    display: grid;
    gap: 2px;
    margin-top: 18px;
    font-size: 17px;
  }

  .hro-program-hero__separator {
    display: none;
  }

  .hro-program-hero__meta {
    margin-top: 8px;
    font-size: 15px;
  }
}
/* =========================================================
   PROGRAMMSEITE – EINLEITUNG UND PROGRAMMHINWEIS
   ========================================================= */

.hro-program-overview {
  background: var(--hro-white);
}

.hro-program-overview__inner {
  width: 100%;
  max-width: 824px;
  margin: 0 auto;
  padding: 72px 32px;
  box-sizing: border-box;
}

.hro-program-overview__copy {
  max-width: 760px;
}

.hro-program-overview__label {
  margin: 0 0 12px;
  color: var(--hro-secondary);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.hro-program-overview__title {
  margin: 0 0 22px;
  color: var(--hro-primary);
  font-size: clamp(32px, 4vw, 44px);
  font-weight: 650;
  line-height: 1.15;
  letter-spacing: -0.025em;
}

.hro-program-overview__text {
  margin: 0;
  color: var(--hro-text);
  font-size: 18px;
  line-height: 1.7;
}

.hro-program-overview__text + .hro-program-overview__text {
  margin-top: 14px;
}

/* Programmhinweis */

.hro-program-notice {
  position: relative;
  margin-top: 36px;
  padding: 22px 24px 22px 28px;
  background: var(--hro-background-secondary);
  border: 1px solid var(--hro-border);
  border-radius: var(--hro-radius-card);
  box-sizing: border-box;
}

.hro-program-notice::before {
  position: absolute;
  top: 18px;
  bottom: 18px;
  left: 0;
  width: 4px;
  background: var(--hro-accent);
  border-radius: 0 4px 4px 0;
  content: "";
}

.hro-program-notice__title {
  margin: 0 0 5px;
  color: var(--hro-primary);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.4;
}

.hro-program-notice__text {
  margin: 0;
  color: var(--hro-muted-text);
  font-size: 16px;
  line-height: 1.55;
}

/* Tablet */

@media (max-width: 1024px) {
  .hro-program-overview__inner {
    padding: 64px 28px;
  }
}

/* Mobil */

@media (max-width: 767px) {
  .hro-program-overview__inner {
    padding: 48px 20px;
  }

  .hro-program-overview__title {
    margin-bottom: 18px;
    font-size: 32px;
  }

  .hro-program-overview__text {
    font-size: 17px;
    line-height: 1.65;
  }

  .hro-program-notice {
    margin-top: 28px;
    padding: 20px 18px 20px 22px;
  }

  .hro-program-notice::before {
    top: 16px;
    bottom: 16px;
  }
}
/* Elementor-Korrektur: Einleitungsabschnitt volle Breite */

.hro-program-overview {
  width: 100%;
  padding: 0 !important;
}

.hro-program-overview .elementor-widget-html,
.hro-program-overview .elementor-widget-container {
  width: 100%;
  max-width: none;
}
/* =========================================================
   PROGRAMMSEITE – THEMENBLÖCKE
   ========================================================= */

.hro-program-blocks-section {
  width: 100%;
  padding: 0 !important;
  background: var(--hro-background-light);
}

.hro-program-blocks-section .elementor-widget-html,
.hro-program-blocks-section .elementor-widget-container {
  width: 100%;
  max-width: none;
}

.hro-program-blocks {
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
  padding: 72px 32px 80px;
  box-sizing: border-box;
}

.hro-program-blocks__header {
  max-width: 760px;
  margin: 0 auto 40px;
  text-align: center;
}

.hro-program-blocks__label {
  margin: 0 0 12px;
  color: var(--hro-secondary);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.hro-program-blocks__title {
  margin: 0;
  color: var(--hro-primary);
  font-size: clamp(32px, 4vw, 44px);
  font-weight: 650;
  line-height: 1.15;
  letter-spacing: -0.025em;
}

.hro-program-blocks__intro {
  margin: 20px 0 0;
  color: var(--hro-muted-text);
  font-size: 17px;
  line-height: 1.65;
}

.hro-program-blocks__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.hro-program-block-card {
  position: relative;
  min-width: 0;
  padding: 30px;
  background: var(--hro-white);
  border: 1px solid var(--hro-border);
  border-top: 4px solid var(--hro-accent);
  border-radius: var(--hro-radius-card);
  box-shadow: 0 12px 30px rgba(22, 56, 98, 0.06);
  box-sizing: border-box;
}

.hro-program-block-card__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 20px;
}

.hro-program-block-card__number {
  color: var(--hro-secondary);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.hro-program-block-card__time {
  color: var(--hro-muted-text);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

.hro-program-block-card__title {
  margin: 0;
  color: var(--hro-primary);
  font-size: 24px;
  font-weight: 650;
  line-height: 1.3;
  letter-spacing: -0.015em;
}

.hro-program-block-card__text {
  margin: 12px 0 0;
  color: var(--hro-muted-text);
  font-size: 16px;
  line-height: 1.6;
}

/* Tablet */

@media (max-width: 1024px) {
  .hro-program-blocks {
    padding: 64px 28px 72px;
  }

  .hro-program-blocks__grid {
    gap: 20px;
  }

  .hro-program-block-card {
    padding: 26px;
  }

  .hro-program-block-card__title {
    font-size: 22px;
  }
}

/* Mobil */

@media (max-width: 767px) {
  .hro-program-blocks {
    padding: 48px 20px 56px;
  }

  .hro-program-blocks__header {
    margin-bottom: 28px;
    text-align: left;
  }

  .hro-program-blocks__title {
    font-size: 32px;
  }

  .hro-program-blocks__intro {
    margin-top: 16px;
    font-size: 16px;
  }

  .hro-program-blocks__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }

  .hro-program-block-card {
    padding: 24px 20px;
  }

  .hro-program-block-card__meta {
    margin-bottom: 16px;
  }

  .hro-program-block-card__title {
    font-size: 21px;
  }

  .hro-program-block-card__text {
    margin-top: 8px;
  }
}
/* =========================================================
   PROGRAMMSEITE – RESPONSIVE TIMELINE
   ========================================================= */

.hro-program-timeline-section {
  width: 100%;
  padding: 0 !important;
  background: var(--hro-white);
}

.hro-program-timeline-section .elementor-widget-html,
.hro-program-timeline-section .elementor-widget-container {
  width: 100%;
  max-width: none;
}

.hro-program-timeline-wrap {
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
  padding: 80px 32px 96px;
  box-sizing: border-box;
}

.hro-program-timeline-heading {
  max-width: 760px;
  margin: 0 auto 56px;
  text-align: center;
}

.hro-program-timeline-heading__label {
  margin: 0 0 12px;
  color: var(--hro-secondary);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.hro-program-timeline-heading__title {
  margin: 0;
  color: var(--hro-primary);
  font-size: clamp(32px, 4vw, 44px);
  font-weight: 650;
  line-height: 1.15;
  letter-spacing: -0.025em;
}

.hro-program-timeline-heading__text {
  margin: 20px 0 0;
  color: var(--hro-muted-text);
  font-size: 17px;
  line-height: 1.65;
}

.hro-program-timeline {
  display: grid;
  gap: 64px;
}

/* Einzelner Themenblock */

.hro-program-timeline-block {
  display: grid;
  grid-template-columns: minmax(230px, 280px) minmax(0, 1fr);
  align-items: start;
  gap: 40px;
}

.hro-program-timeline-block__header {
  position: sticky;
  top: 110px;
  display: grid;
  gap: 10px;
  padding: 26px;
  background: var(--hro-background-secondary);
  border-top: 4px solid var(--hro-accent);
  border-radius: var(--hro-radius-card);
  box-sizing: border-box;
}

.hro-program-timeline-block__number {
  color: var(--hro-secondary);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.hro-program-timeline-block__title {
  margin: 0;
  color: var(--hro-primary);
  font-size: 24px;
  font-weight: 650;
  line-height: 1.28;
  letter-spacing: -0.015em;
}

.hro-program-timeline-block__subtitle {
  margin: 0;
  color: var(--hro-muted-text);
  font-size: 16px;
  line-height: 1.55;
}

.hro-program-timeline-block__time {
  margin: 6px 0 0;
  color: var(--hro-text);
  font-size: 14px;
  font-weight: 650;
  line-height: 1.4;
  font-variant-numeric: tabular-nums;
}

/* Einträge und vertikale Linie */

.hro-program-timeline-block__entries {
  position: relative;
  display: grid;
  gap: 18px;
}

.hro-program-timeline-block__entries::before {
  position: absolute;
  top: 20px;
  bottom: 20px;
  left: 116px;
  width: 2px;
  background: var(--hro-border);
  content: "";
}

.hro-program-entry {
  position: relative;
  display: grid;
  grid-template-columns: 92px 18px minmax(0, 1fr);
  align-items: start;
  column-gap: 16px;
}

.hro-program-entry__time {
  padding-top: 18px;
  color: var(--hro-primary);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  text-align: right;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

.hro-program-entry__marker {
  position: relative;
  z-index: 2;
  display: block;
  width: 14px;
  height: 14px;
  margin-top: 21px;
  margin-left: 2px;
  background: var(--hro-white);
  border: 3px solid var(--hro-secondary);
  border-radius: 50%;
  box-sizing: border-box;
}

.hro-program-entry__card {
  min-width: 0;
  padding: 22px 24px;
  background: var(--hro-white);
  border: 1px solid var(--hro-border);
  border-radius: var(--hro-radius-card);
  box-shadow: 0 10px 26px rgba(22, 56, 98, 0.06);
  box-sizing: border-box;
}

.hro-program-entry__type {
  display: inline-flex;
  width: fit-content;
  margin-bottom: 9px;
  padding: 5px 9px;
  color: var(--hro-secondary);
  background: var(--hro-background-secondary);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.hro-program-entry__title {
  margin: 0;
  color: var(--hro-text);
  font-size: 20px;
  font-weight: 650;
  line-height: 1.42;
  letter-spacing: -0.01em;
  overflow-wrap: anywhere;
}

.hro-program-entry__speaker {
  margin: 12px 0 0;
  color: var(--hro-secondary);
  font-size: 16px;
  font-weight: 650;
  line-height: 1.5;
}

/* Registrierung vor Block I */

.hro-program-entry--standalone {
  width: calc(100% - 320px);
  margin-left: 320px;
}

/* Keynote */

.hro-program-entry--keynote .hro-program-entry__card {
  border-left: 4px solid var(--hro-accent);
}

.hro-program-entry--keynote .hro-program-entry__marker {
  background: var(--hro-accent);
  border-color: var(--hro-primary);
}

/* Pausen und Networking */

.hro-program-entry--break .hro-program-entry__card {
  padding-top: 16px;
  padding-bottom: 16px;
  background: var(--hro-background-secondary);
  border-color: transparent;
  box-shadow: none;
}

.hro-program-entry--break .hro-program-entry__marker {
  background: var(--hro-background-secondary);
  border-color: var(--hro-border);
}

.hro-program-entry--break .hro-program-entry__type {
  margin-bottom: 5px;
  padding: 0;
  color: var(--hro-muted-text);
  background: transparent;
}

.hro-program-entry--break .hro-program-entry__title {
  color: var(--hro-muted-text);
  font-size: 18px;
}

/* Neutralisierter Programmpunkt */

.hro-program-entry--update .hro-program-entry__card {
  background: var(--hro-background-light);
  border-style: dashed;
  box-shadow: none;
}

.hro-program-entry--update .hro-program-entry__marker {
  border-color: var(--hro-muted-text);
}

/* Tablet */

@media (max-width: 1024px) {
  .hro-program-timeline-wrap {
    padding: 64px 28px 80px;
  }

  .hro-program-timeline-heading {
    margin-bottom: 44px;
  }

  .hro-program-timeline {
    gap: 56px;
  }

  .hro-program-entry--standalone {
    width: 100%;
    margin-left: 0;
  }

  .hro-program-timeline-block {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }

  .hro-program-timeline-block__header {
    position: static;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: start;
    gap: 8px 18px;
  }

  .hro-program-timeline-block__number {
    grid-column: 1;
  }

  .hro-program-timeline-block__title {
    grid-column: 2;
    grid-row: 1;
  }

  .hro-program-timeline-block__subtitle {
    grid-column: 2;
    grid-row: 2;
  }

  .hro-program-timeline-block__time {
    grid-column: 3;
    grid-row: 1;
    margin: 0;
    text-align: right;
  }
}

/* Mobil */

@media (max-width: 767px) {
  .hro-program-timeline-wrap {
    padding: 48px 20px 64px;
  }

  .hro-program-timeline-heading {
    margin-bottom: 32px;
    text-align: left;
  }

  .hro-program-timeline-heading__title {
    font-size: 32px;
  }

  .hro-program-timeline-heading__text {
    margin-top: 16px;
    font-size: 16px;
  }

  .hro-program-timeline {
    gap: 40px;
  }

  .hro-program-timeline-block {
    gap: 18px;
  }

  .hro-program-timeline-block__header {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 7px;
    padding: 22px 20px;
  }

  .hro-program-timeline-block__number,
  .hro-program-timeline-block__title,
  .hro-program-timeline-block__subtitle,
  .hro-program-timeline-block__time {
    grid-column: 1;
    grid-row: auto;
    text-align: left;
  }

  .hro-program-timeline-block__title {
    font-size: 22px;
  }

  .hro-program-timeline-block__time {
    margin-top: 3px;
  }

  .hro-program-timeline-block__entries {
    gap: 16px;
  }

  .hro-program-timeline-block__entries::before {
    left: 7px;
  }

  .hro-program-entry {
    grid-template-columns: 16px minmax(0, 1fr);
    grid-template-rows: auto auto;
    column-gap: 12px;
  }

  .hro-program-entry__time {
    grid-column: 2;
    grid-row: 1;
    padding: 0 0 6px;
    font-size: 14px;
    text-align: left;
  }

  .hro-program-entry__marker {
    grid-column: 1;
    grid-row: 1 / span 2;
    width: 14px;
    height: 14px;
    margin-top: 4px;
    margin-left: 0;
  }

  .hro-program-entry__card {
    grid-column: 2;
    grid-row: 2;
    padding: 18px;
  }

  .hro-program-entry__title {
    font-size: 18px;
    line-height: 1.45;
  }

  .hro-program-entry__speaker {
    font-size: 16px;
  }

  .hro-program-entry--break .hro-program-entry__card {
    padding-top: 14px;
    padding-bottom: 14px;
  }

  .hro-program-entry--break .hro-program-entry__title {
    font-size: 17px;
  }
}
/* =========================================================
   PROGRAMMSEITE – KORREKTUR ABSCHLUSS-CTA
   ========================================================= */

.hro-program-final-cta__inner {
  width: 100%;
  max-width: 1240px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 32px;
  padding-left: 32px;
  box-sizing: border-box;
}

/* Tablet */

@media (max-width: 1024px) {
  .hro-program-final-cta__inner {
    padding-right: 28px;
    padding-left: 28px;
  }
}

/* Mobil */

@media (max-width: 767px) {
  .hro-program-final-cta__inner {
    padding-right: 20px;
    padding-left: 20px;
  }
}
/* =========================================================
   STARTSEITE – GEMEINSAME INHALTSBREITE
   ========================================================= */

.hro-home-shell {
  width: 100%;
  max-width: 1240px !important;
  margin-right: auto !important;
  margin-left: auto !important;
  box-sizing: border-box;
}

.hro-home-shell.e-con {
  --width: 100%;
  --max-width: 1240px;
}

/* Tablet */

@media (max-width: 1024px) {
  .hro-home-shell {
    max-width: 100% !important;
  }
}

/* Mobil */

@media (max-width: 767px) {
  .hro-home-shell {
    max-width: 100% !important;
  }
}
/* =========================================================
   GLOBALER HEADER – STICKY MIT KONSTANTER HÖHE
   ========================================================= */

.elementor-location-header {
  position: sticky !important;
  top: 0;
  z-index: 9999;
  width: 100%;
  min-height: 94px;
  background: var(--hro-white);
  box-shadow: 0 6px 20px rgba(22, 56, 98, 0.1);
}

/* Innerer Elementor-Headercontainer */
.elementor-location-header .hro-site-header {
  width: 100%;
  min-height: 94px !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
  box-sizing: border-box;
  background: var(--hro-white);
  transform: none !important;
  transition: none !important;
}

/* Elementor-Container-Variable überschreiben */
.elementor-location-header .hro-site-header.e-con {
  --min-height: 94px;
}

/* WordPress-Adminleiste */
body.admin-bar .elementor-location-header {
  top: 32px;
}

/* Tablet und kleinere WordPress-Adminleiste */
@media (max-width: 782px) {
  body.admin-bar .elementor-location-header {
    top: 46px;
  }
}

/* Mobil */
@media (max-width: 767px) {
  .elementor-location-header {
    min-height: 72px;
  }

  .elementor-location-header .hro-site-header {
    min-height: 72px !important;
    padding-top: 6px !important;
    padding-bottom: 6px !important;
  }

  .elementor-location-header .hro-site-header.e-con {
    --min-height: 72px;
  }
}

/* Das Logo proportional darstellen; transparente Außenränder begrenzen. */
.elementor-location-header .hro-header-logo img {
  display: block;
  width: 100%;
  height: 77px;
  object-fit: cover;
  object-position: center;
}
@media (min-width: 768px) and (max-width: 1024px) {
  .elementor-location-header .hro-site-header {
    padding-top: 12px !important;
    padding-bottom: 12px !important;
  }
  .elementor-location-header .hro-header-logo img { height: 69px; }
}
@media (max-width: 767px) {
  .elementor-location-header .hro-header-logo img { height: 59px; }
}

/* =========================================================
   HRO-SYMPOSIUM 2026 – ANMELDUNG
   Seiten-Hero, Teilnahmeinformation und Formularrahmen
   ========================================================= */

/* ---------- Kompakter Seiten-Hero ---------- */

.hro-registration-hero {
  position: relative;
  overflow: hidden;
  padding-top: 64px !important;
  padding-bottom: 64px !important;
  background:
    linear-gradient(
      135deg,
      var(--hro-background-light) 0%,
      var(--hro-background-secondary) 100%
    );
  border-bottom: 1px solid var(--hro-border);
}

.hro-registration-hero::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  content: "";
  background: var(--hro-accent);
}

.hro-registration-hero__content {
  width: 100%;
  max-width: 760px;
}

.hro-registration-label {
  margin: 0 0 12px;
  color: var(--hro-secondary);
  font-family: "Inter Local", sans-serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.hro-registration-title {
  margin: 0;
  color: var(--hro-primary);
  font-family: "Inter Local", sans-serif;
  font-size: clamp(36px, 5vw, 56px);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.03em;
}

.hro-registration-lead {
  max-width: 720px;
  margin: 24px 0 0;
  color: var(--hro-text);
  font-family: "Inter Local", sans-serif;
  font-size: 20px;
  line-height: 1.6;
}

.hro-registration-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-top: 28px;
  color: var(--hro-primary);
  font-family: "Inter Local", sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.5;
}

/* ---------- Teilnahmeinformation ---------- */

.hro-registration-info-section {
  background: var(--hro-white);
}

.hro-registration-info {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.hro-registration-info__intro {
  max-width: 800px;
}

.hro-registration-info__intro h2,
.hro-registration-form-intro h2 {
  margin: 0;
  color: var(--hro-primary);
  font-family: "Inter Local", sans-serif;
  font-size: 42px;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.025em;
}

.hro-registration-info__intro > p:last-child,
.hro-registration-form-intro > p {
  margin: 20px 0 0;
  color: var(--hro-text);
  font-family: "Inter Local", sans-serif;
  font-size: 17px;
  line-height: 1.65;
}

.hro-registration-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.hro-registration-fact {
  padding: 28px;
  background: var(--hro-background-light);
  border: 1px solid var(--hro-border);
  border-radius: var(--hro-radius-card);
}

.hro-registration-fact strong {
  display: block;
  margin-bottom: 16px;
  color: var(--hro-secondary);
  font-family: "Inter Local", sans-serif;
  font-size: 25px;
  font-weight: 700;
  line-height: 1.2;
}

.hro-registration-fact h3 {
  margin: 0;
  color: var(--hro-primary);
  font-family: "Inter Local", sans-serif;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.3;
}

.hro-registration-fact p {
  margin: 12px 0 0;
  color: var(--hro-muted-text);
  font-family: "Inter Local", sans-serif;
  font-size: 16px;
  line-height: 1.6;
}

/* ---------- Formularbereich ---------- */

.hro-registration-form-section {
  background: var(--hro-background-secondary);
}

.hro-registration-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 32px;
  align-items: start;
}

.hro-registration-main,
.hro-registration-aside {
  box-sizing: border-box;
  width: 100%;
  background: var(--hro-white);
  border: 1px solid var(--hro-border);
  border-radius: var(--hro-radius-card);
  box-shadow: 0 14px 34px rgba(22, 56, 98, 0.08);
}

.hro-registration-main {
  padding: 40px;
}

.hro-registration-aside {
  padding: 32px;
}

.hro-registration-required-note {
  color: var(--hro-muted-text) !important;
  font-size: 14px !important;
}

.hro-registration-form-mount {
  width: 100%;
  margin-top: 32px;
}

.hro-registration-placeholder {
  display: flex;
  min-height: 240px;
  flex-direction: column;
  gap: 8px;
  align-items: center;
  justify-content: center;
  padding: 32px;
  color: var(--hro-muted-text);
  text-align: center;
  background: var(--hro-background-light);
  border: 2px dashed var(--hro-border);
  border-radius: var(--hro-radius-control);
}

.hro-registration-placeholder strong {
  color: var(--hro-primary);
  font-size: 18px;
}

.hro-registration-side-content {
  display: flex;
  flex-direction: column;
  gap: 28px;
}

.hro-registration-side-block + .hro-registration-side-block {
  padding-top: 28px;
  border-top: 1px solid var(--hro-border);
}

.hro-registration-side-kicker {
  margin: 0 0 10px;
  color: var(--hro-secondary);
  font-family: "Inter Local", sans-serif;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.hro-registration-side-block h2 {
  margin: 0;
  color: var(--hro-primary);
  font-family: "Inter Local", sans-serif;
  font-size: 22px;
  font-weight: 600;
  line-height: 1.3;
}

.hro-registration-side-block p {
  margin: 14px 0 0;
  color: var(--hro-text);
  font-family: "Inter Local", sans-serif;
  font-size: 16px;
  line-height: 1.6;
}

.hro-registration-contact span {
  color: var(--hro-muted-text);
}

/* ---------- Tablet ---------- */

@media (max-width: 1024px) {
  .hro-registration-hero {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }

  .hro-registration-info__intro h2,
  .hro-registration-form-intro h2 {
    font-size: 36px;
  }

  .hro-registration-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }

  .hro-registration-main,
  .hro-registration-aside {
    padding: 28px;
  }
}

/* ---------- Mobil ---------- */

@media (max-width: 767px) {
  .hro-registration-hero {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }

  .hro-registration-lead {
    margin-top: 20px;
    font-size: 18px;
  }

  .hro-registration-meta {
    flex-direction: column;
    gap: 2px;
    align-items: flex-start;
    margin-top: 24px;
  }

  .hro-registration-meta span[aria-hidden="true"] {
    display: none;
  }

  .hro-registration-info {
    gap: 28px;
  }

  .hro-registration-info__intro h2,
  .hro-registration-form-intro h2 {
    font-size: 30px;
  }

  .hro-registration-facts {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }

  .hro-registration-fact {
    padding: 22px;
  }

  .hro-registration-main,
  .hro-registration-aside {
    padding: 22px;
  }

  .hro-registration-form-mount {
    margin-top: 24px;
  }
}
/* =========================================================
   ANMELDUNG – ELEMENTOR-V4-INNER-WRAPPER
   ========================================================= */

/* Äußerer Container bleibt die zentrierte 1240-px-Shell */
.hro-registration-layout {
  display: block !important;
  width: 100% !important;
  max-width: 1240px !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding-right: 32px !important;
  padding-left: 32px !important;
  box-sizing: border-box;
}

/* Elementor erzeugt innerhalb des Containers einen Wrapper */
.hro-registration-layout > .e-con-inner {
  display: grid !important;
  width: 100% !important;
  grid-template-columns: minmax(0, 1fr) 340px !important;
  gap: 32px !important;
  align-items: start !important;
}

/* Verbindliche Positionen */
.hro-registration-layout > .e-con-inner > .hro-registration-main {
  grid-column: 1 !important;
  grid-row: 1 !important;
  min-width: 0;
}

.hro-registration-layout > .e-con-inner > .hro-registration-aside {
  grid-column: 2 !important;
  grid-row: 1 !important;
  min-width: 0;
}

/* Tablet */
@media (min-width: 768px) and (max-width: 1024px) {
  .hro-registration-layout {
    padding-right: 28px !important;
    padding-left: 28px !important;
  }

  .hro-registration-layout > .e-con-inner {
    grid-template-columns: minmax(0, 1fr) 280px !important;
    gap: 24px !important;
  }
}

/* Mobil */
@media (max-width: 767px) {
  .hro-registration-layout {
    padding-right: 20px !important;
    padding-left: 20px !important;
  }

  .hro-registration-layout > .e-con-inner {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 24px !important;
  }

  .hro-registration-layout > .e-con-inner > .hro-registration-main,
  .hro-registration-layout > .e-con-inner > .hro-registration-aside {
    grid-column: 1 !important;
    grid-row: auto !important;
  }
}
.hro-registration-contact a {
  color: var(--hro-secondary);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.hro-registration-contact a:hover,
.hro-registration-contact a:focus-visible {
  color: var(--hro-primary);
}

/* =========================================================
   HRO-SYMPOSIUM 2026 – FLUENT FORMS
   Anmeldung, Fehlerzustände und Erfolgsmeldung
   ========================================================= */

/* ---------- Formular-Grundstruktur ---------- */

.hro-fluent-form,
.hro-fluent-form .fluentform,
.hro-fluent-form form {
  width: 100%;
  font-family: "Inter Local", sans-serif;
}

.hro-fluent-form .ff-el-group {
  margin-bottom: 24px;
}

.hro-fluent-form .ff-t-container {
  gap: 24px;
  margin-bottom: 0;
}

/* ---------- Beschriftungen ---------- */

.hro-fluent-form .ff-el-input--label {
  margin-bottom: 8px;
}

.hro-fluent-form .ff-el-input--label label {
  color: var(--hro-text);
  font-family: "Inter Local", sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
}

.hro-fluent-form .ff-el-input--label.ff-el-is-required label::after {
  color: #b42318;
}

/* ---------- Eingabefelder ---------- */

.hro-fluent-form .ff-el-form-control {
  width: 100%;
  min-height: 52px;
  padding: 14px 16px;
  color: var(--hro-text);
  font-family: "Inter Local", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
  background: var(--hro-white);
  border: 1px solid var(--hro-border);
  border-radius: var(--hro-radius-control);
  box-shadow: none;
  transition:
    border-color 180ms ease,
    box-shadow 180ms ease,
    background-color 180ms ease;
}

.hro-fluent-form select.ff-el-form-control {
  cursor: pointer;
}

.hro-fluent-form .ff-el-form-control::placeholder {
  color: var(--hro-muted-text);
  opacity: 0.78;
}

.hro-fluent-form .ff-el-form-control:hover {
  border-color: var(--hro-secondary);
}

.hro-fluent-form .ff-el-form-control:focus {
  border-color: var(--hro-secondary);
  outline: none;
  box-shadow: 0 0 0 3px rgba(10, 80, 125, 0.16);
}

/* ---------- Hilfetexte ---------- */

.hro-fluent-form .ff-el-help-message {
  display: block;
  margin-top: 7px;
  color: var(--hro-muted-text);
  font-family: "Inter Local", sans-serif;
  font-size: 14px;
  line-height: 1.5;
}

/* ---------- Checkboxen und Zustimmungen ---------- */

.hro-fluent-form .hro-form-consent {
  margin-top: 6px;
  padding: 20px;
  background: var(--hro-background-light);
  border: 1px solid var(--hro-border);
  border-radius: var(--hro-radius-control);
}

.hro-fluent-form .ff-el-form-check {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  margin: 0;
}

.hro-fluent-form .ff-el-form-check-input {
  width: 20px;
  min-width: 20px;
  height: 20px;
  margin: 2px 0 0;
  cursor: pointer;
  accent-color: var(--hro-primary);
}

.hro-fluent-form .ff-el-form-check-label {
  color: var(--hro-text);
  font-family: "Inter Local", sans-serif;
  font-size: 16px;
  line-height: 1.55;
  cursor: pointer;
}

.hro-fluent-form .ff-el-form-check-label a {
  color: var(--hro-secondary);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

/* ---------- Fehlerzustände ---------- */

.hro-fluent-form .ff-el-is-error .ff-el-form-control {
  border-color: #b42318;
}

.hro-fluent-form .ff-el-is-error .ff-el-form-control:focus {
  box-shadow: 0 0 0 3px rgba(180, 35, 24, 0.14);
}

.hro-fluent-form .text-danger,
.hro-fluent-form .error,
.hro-fluent-form .ff-el-is-error .text-danger {
  margin-top: 7px;
  color: #b42318;
  font-family: "Inter Local", sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.45;
}

/* ---------- Absende-Button ---------- */

.hro-fluent-form .ff-btn-submit {
  min-height: 54px;
  padding: 16px 24px;
  color: var(--hro-white) !important;
  font-family: "Inter Local", sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.01em;
  cursor: pointer;
  background: var(--hro-primary) !important;
  border: 2px solid var(--hro-primary) !important;
  border-radius: var(--hro-radius-control);
  box-shadow: inset 0 -3px 0 var(--hro-accent);
  opacity: 1;
  transition:
    background-color 180ms ease,
    border-color 180ms ease,
    box-shadow 180ms ease,
    transform 180ms ease;
}

.hro-fluent-form .ff-btn-submit:hover {
  color: var(--hro-white) !important;
  background: var(--hro-secondary) !important;
  border-color: var(--hro-secondary) !important;
  transform: translateY(-1px);
}

.hro-fluent-form .ff-btn-submit:focus-visible {
  outline: 3px solid var(--hro-secondary);
  outline-offset: 3px;
}

.hro-fluent-form .ff-btn-submit:disabled {
  cursor: wait;
  opacity: 0.65;
  transform: none;
}

/* ---------- Erfolgsmeldung ---------- */

.hro-fluent-form .ff-message-success {
  margin: 0;
  padding: 28px;
  color: var(--hro-text);
  font-family: "Inter Local", sans-serif;
  font-size: 17px;
  line-height: 1.65;
  background: rgba(47, 125, 92, 0.08);
  border: 1px solid var(--hro-success);
  border-left-width: 5px;
  border-radius: var(--hro-radius-control);
  box-shadow: none;
}

.hro-fluent-form .ff-message-success strong {
  display: block;
  margin-bottom: 10px;
  color: var(--hro-success);
  font-size: 21px;
  line-height: 1.3;
}

/* ---------- Tablet ---------- */

@media (max-width: 1024px) {
  .hro-fluent-form .ff-el-group {
    margin-bottom: 22px;
  }

  .hro-fluent-form .ff-t-container {
    gap: 18px;
  }
}

/* ---------- Mobil ---------- */

@media (max-width: 767px) {
  .hro-fluent-form .ff-t-container {
    display: block !important;
  }

  .hro-fluent-form .ff-t-cell {
    display: block !important;
    width: 100% !important;
  }

  .hro-fluent-form .ff-t-cell + .ff-t-cell {
    margin-top: 22px;
  }

  .hro-fluent-form .hro-form-consent {
    padding: 18px;
  }

  .hro-fluent-form .ff-btn-submit {
    width: 100%;
  }

  .hro-fluent-form .ff-message-success {
    padding: 22px;
    font-size: 16px;
  }
}

/* ---------- Reduzierte Bewegung ---------- */

@media (prefers-reduced-motion: reduce) {
  .hro-fluent-form .ff-el-form-control,
  .hro-fluent-form .ff-btn-submit {
    transition-duration: 0.01ms !important;
  }

  .hro-fluent-form .ff-btn-submit:hover {
    transform: none;
  }
}
/* =========================================================
   FLUENT FORMS – DATENSCHUTZ-CHECKBOX
   Korrektur für GDPR-Agreement-Feld
   ========================================================= */

.hro-fluent-form .hro-form-consent {
  width: 100%;
  box-sizing: border-box;
}

.hro-fluent-form .hro-form-consent .ff-el-input--content {
  width: 100%;
  min-width: 0;
}

.hro-fluent-form .hro-form-consent .ff-el-form-check {
  display: grid !important;
  grid-template-columns: 22px minmax(0, 1fr) !important;
  column-gap: 12px !important;
  align-items: start !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}

.hro-fluent-form .hro-form-consent .ff-el-form-check-input {
  position: static !important;
  grid-column: 1 !important;
  width: 20px !important;
  min-width: 20px !important;
  height: 20px !important;
  margin: 3px 0 0 !important;
  padding: 0 !important;
  float: none !important;
  flex: none !important;
}

.hro-fluent-form .hro-form-consent .ff-el-form-check-label {
  position: static !important;
  display: block !important;
  grid-column: 2 !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--hro-text);
  font-family: "Inter Local", sans-serif;
  font-size: 16px !important;
  font-weight: 400;
  line-height: 1.55 !important;
  white-space: normal !important;
  overflow-wrap: anywhere;
  word-break: normal;
}

.hro-fluent-form .hro-form-consent .ff-el-form-check-label span,
.hro-fluent-form .hro-form-consent .ff-el-form-check-label p,
.hro-fluent-form .hro-form-consent .ff-el-form-check-label strong,
.hro-fluent-form .hro-form-consent .ff-el-form-check-label a {
  position: static !important;
  line-height: inherit !important;
  white-space: normal !important;
}

.hro-fluent-form .hro-form-consent .ff-el-form-check-label p {
  display: inline !important;
  margin: 0 !important;
}

@media (max-width: 767px) {
  .hro-fluent-form .hro-form-consent {
    padding: 16px !important;
  }

  .hro-fluent-form .hro-form-consent .ff-el-form-check {
    grid-template-columns: 22px minmax(0, 1fr) !important;
    column-gap: 10px !important;
  }

  .hro-fluent-form .hro-form-consent .ff-el-form-check-label {
    font-size: 15px !important;
    line-height: 1.55 !important;
  }
}
/* =========================================================
   HRO-SYMPOSIUM 2026 – REFERENT:INNEN
   Schritt 1: Intro-Bereich
   ========================================================= */

.hro-speakers-intro-section {
  width: 100%;
  background: var(--hro-background-light);
  border-bottom: 1px solid var(--hro-border);
}

.hro-speakers-intro-shell {
  width: 100%;
  padding: 72px 32px 64px;
  box-sizing: border-box;
}

.hro-speakers-intro {
  width: 100%;
  max-width: 824px;
  margin-right: auto;
  margin-left: auto;
  font-family: "Inter Local", sans-serif;
  box-sizing: border-box;
}

.hro-speakers-intro__label {
  margin: 0 0 16px;
  color: var(--hro-secondary);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.hro-speakers-intro__title {
  margin: 0 0 20px;
  color: var(--hro-primary);
  font-family: "Inter Local", sans-serif;
  font-size: 56px;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.03em;
}

.hro-speakers-intro__lead {
  max-width: 760px;
  margin: 0;
  color: var(--hro-text);
  font-size: 20px;
  font-weight: 400;
  line-height: 1.6;
}

.hro-speakers-intro__note {
  max-width: 760px;
  margin: 28px 0 0;
  padding: 16px 18px;
  color: var(--hro-muted-text);
  background: var(--hro-background-secondary);
  border-left: 4px solid var(--hro-accent);
  border-radius: 0 var(--hro-radius-control)
    var(--hro-radius-control) 0;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.55;
}

.hro-speakers-intro__note strong {
  color: var(--hro-text);
  font-weight: 600;
}

/* ---------- Tablet ---------- */

@media (max-width: 1024px) {
  .hro-speakers-intro-shell {
    padding: 56px 28px 52px;
  }

  .hro-speakers-intro__title {
    font-size: 46px;
  }

  .hro-speakers-intro__lead {
    font-size: 19px;
  }

  .hro-speakers-intro__note {
    margin-top: 24px;
  }
}

/* ---------- Mobil ---------- */

@media (max-width: 767px) {
  .hro-speakers-intro-shell {
    padding: 44px 20px 40px;
  }

  .hro-speakers-intro__label {
    margin-bottom: 14px;
    font-size: 12px;
  }

  .hro-speakers-intro__title {
    margin-bottom: 18px;
    font-size: 36px;
    line-height: 1.1;
  }

  .hro-speakers-intro__lead {
    font-size: 18px;
    line-height: 1.55;
  }

  .hro-speakers-intro__note {
    margin-top: 22px;
    padding: 14px 16px;
    border-left-width: 3px;
    font-size: 16px;
  }
}
/* =========================================================
   HRO-SYMPOSIUM 2026 – REFERENT:INNEN
   Schritt 2: Listenabschnitt und Profilkarten
   ========================================================= */

/* ---------- Listenabschnitt ---------- */

.hro-speakers-list-section {
  width: 100%;
  background: var(--hro-background-secondary);
}

.hro-speakers-list-shell {
  width: 100%;
  padding: 64px 32px 80px;
  box-sizing: border-box;
}

.hro-speakers-list {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 24px;
}

/* ---------- Profilkarte ---------- */

.hro-speaker-card.hro-card {
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  width: 100%;
  gap: 40px !important;
  overflow: hidden;
  box-sizing: border-box;
}

/* ---------- Portraitbereich ---------- */

.hro-speaker-card__media {
  flex: 0 0 240px;
  width: 240px;
  min-width: 0;
  aspect-ratio: 4 / 5;
  align-self: flex-start;
  overflow: hidden;
  background: var(--hro-background-secondary);
  border-radius: 12px;
  box-sizing: border-box;
}

.hro-speaker-card__media.e-con,
.hro-speaker-card__content.e-con {
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
}

/* Elementor-Widgets im Portraitbereich vollständig ausfüllen */

.hro-speaker-card__media > .elementor-element,
.hro-speaker-card__media .elementor-widget-container,
.hro-speaker-card__media .elementor-widget-image,
.hro-speaker-card__media .elementor-widget-image a {
  width: 100%;
  height: 100%;
}

.hro-speaker-card__media .elementor-widget-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* ---------- Fotoplatzhalter ---------- */

.hro-speaker-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 24px;
  gap: 10px;
  color: var(--hro-muted-text);
  background: var(--hro-background-light);
  border: 1px dashed var(--hro-border);
  border-radius: 12px;
  box-sizing: border-box;
  text-align: center;
}

.hro-speaker-placeholder__initials {
  color: var(--hro-primary);
  font-size: 46px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.035em;
}

.hro-speaker-placeholder__text {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
}

/* ---------- Textbereich ---------- */

.hro-speaker-card__content {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
}

.hro-speaker-profile {
  width: 100%;
  min-width: 0;
}

.hro-speaker-profile__eyebrow {
  margin: 0 0 10px;
  color: var(--hro-secondary);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.hro-speaker-profile__name {
  margin: 0;
  color: var(--hro-primary);
  font-size: 30px;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -0.015em;
  overflow-wrap: anywhere;
}

.hro-speaker-profile__talk {
  margin: 22px 0 22px;
  padding-left: 18px;
  border-left: 3px solid var(--hro-accent);
}

.hro-speaker-profile__talk-label {
  margin: 0 0 6px;
  color: var(--hro-muted-text);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.hro-speaker-profile__talk-title {
  margin: 0;
  color: var(--hro-text);
  font-size: 20px;
  font-weight: 600;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.hro-speaker-profile__bio {
  max-width: 850px;
  margin: 0;
  color: var(--hro-text);
  font-size: 17px;
  font-weight: 400;
  line-height: 1.65;
  overflow-wrap: anywhere;
}

/* ---------- Tablet ---------- */

@media (max-width: 1024px) {
  .hro-speakers-list-shell {
    padding: 52px 28px 64px;
  }

  .hro-speaker-card.hro-card {
    flex-direction: row !important;
    gap: 28px !important;
  }

  .hro-speaker-card__media {
    flex-basis: 200px;
    width: 200px;
  }

  .hro-speaker-profile__name {
    font-size: 27px;
  }

  .hro-speaker-profile__talk {
    margin-top: 18px;
    margin-bottom: 18px;
  }

  .hro-speaker-profile__talk-title {
    font-size: 19px;
  }
}

/* ---------- Mobil ---------- */

@media (max-width: 767px) {
  .hro-speakers-list-shell {
    padding: 40px 20px 56px;
  }

  .hro-speakers-list {
    gap: 20px;
  }

  .hro-speaker-card.hro-card {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 24px !important;
  }

  .hro-speaker-card__media {
    flex: 0 0 auto;
    width: 100%;
    max-width: 280px;
    align-self: flex-start;
  }

  .hro-speaker-placeholder__initials {
    font-size: 40px;
  }

  .hro-speaker-profile__eyebrow {
    font-size: 12px;
  }

  .hro-speaker-profile__name {
    font-size: 24px;
    line-height: 1.3;
  }

  .hro-speaker-profile__talk {
    margin-top: 18px;
    margin-bottom: 18px;
    padding-left: 15px;
  }

  .hro-speaker-profile__talk-title {
    font-size: 18px;
    line-height: 1.5;
  }

  .hro-speaker-profile__bio {
    font-size: 16px;
    line-height: 1.65;
  }
}
/* =========================================================
   PARTNERSEITE – SCHRITT 1
   Kompakter Partner-Hero

   Ergänzt das vorhandene HRO-Designsystem.
   hro-home-shell, Button-, Fokus- und Bewegungsregeln
   bleiben unverändert bestehen.
   ========================================================= */


/* ---------- Äußerer Hero ---------- */

.hro-partner-hero {
  width: 100%;
  background: var(--hro-background-secondary);
  border-bottom: 1px solid var(--hro-border);
}


/* ---------- Kompakte Inhaltsachse ---------- */

.hro-home-shell.hro-partner-hero__inner {
  width: 100%;
  max-width: 824px !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding: var(--hro-space-7) 32px;
  box-sizing: border-box;
  row-gap: var(--hro-space-5);
}

.hro-home-shell.hro-partner-hero__inner.e-con {
  --width: 100%;
  --max-width: 824px;
}


/* ---------- Textkomponente ---------- */

.hro-partner-hero__content {
  width: 100%;
  min-width: 0;
  font-family: "Inter Local", sans-serif;
}

.hro-partner-hero__label {
  display: flex;
  align-items: center;
  gap: var(--hro-space-3);
  margin: 0 0 var(--hro-space-4);
  color: var(--hro-secondary);
  font-family: "Inter Local", sans-serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.hro-partner-hero__label::before {
  content: "";
  display: block;
  flex: 0 0 32px;
  width: 32px;
  height: 3px;
  border-radius: 999px;
  background: var(--hro-accent);
}

.hro-partner-hero__title {
  max-width: 760px;
  margin: 0;
  color: var(--hro-primary);
  font-family: "Inter Local", sans-serif;
  font-size: 56px;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.03em;
  overflow-wrap: break-word;
  text-wrap: balance;
}

.hro-partner-hero__lead {
  max-width: 760px;
  margin: var(--hro-space-5) 0 0;
  color: var(--hro-text);
  font-family: "Inter Local", sans-serif;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.6;
  overflow-wrap: break-word;
}


/* ---------- CTA und sichtbare E-Mail-Adresse ---------- */

.hro-partner-hero__actions {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  min-width: 0;
  gap: var(--hro-space-4);
}

.hro-partner-hero__actions > * {
  min-width: 0;
}

.hro-partner-hero__email {
  margin: 0;
  color: var(--hro-muted-text);
  font-family: "Inter Local", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  overflow-wrap: anywhere;
  word-break: normal;
}

.hro-partner-hero__email-label {
  margin-right: var(--hro-space-2);
  color: var(--hro-text);
  font-weight: 600;
}

.hro-partner-hero__email-address {
  color: var(--hro-primary);
  font-weight: 500;
}


/* ---------- Tablet: 768–1024 px ---------- */

@media (max-width: 1024px) {
  .hro-home-shell.hro-partner-hero__inner {
    padding-right: 28px;
    padding-left: 28px;
  }

  .hro-partner-hero__title {
    font-size: 46px;
  }

  .hro-partner-hero__lead {
    font-size: 19px;
  }
}


/* ---------- Mobil: bis 767 px ---------- */

@media (max-width: 767px) {
  .hro-home-shell.hro-partner-hero__inner {
    padding-right: 20px;
    padding-left: 20px;
    row-gap: var(--hro-space-4);
  }

  .hro-partner-hero__label {
    font-size: 12px;
  }

  .hro-partner-hero__label::before {
    flex-basis: 24px;
    width: 24px;
  }

  .hro-partner-hero__title {
    font-size: 36px;
    line-height: 1.1;
  }

  .hro-partner-hero__lead {
    margin-top: var(--hro-space-4);
    font-size: 18px;
  }

  .hro-partner-hero__actions {
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: var(--hro-space-3);
  }

  .hro-partner-hero__email {
    width: 100%;
    font-size: 16px;
  }
}
/* =========================================================
   PARTNER-HERO – NUR INHALTSACHSE ZENTRIEREN
   Texte und Aktionszeile bleiben innerhalb des Blocks
   linksbündig.
   ========================================================= */

.hro-partner-hero {
  align-items: center !important;
}

.hro-partner-hero.e-con {
  --align-items: center;
}

.hro-partner-hero__inner,
.hro-home-shell.hro-partner-hero__inner {
  width: min(100%, 824px) !important;
  max-width: 824px !important;
  margin-right: auto !important;
  margin-left: auto !important;
  align-self: center !important;
  box-sizing: border-box;
}
/* =========================================================
   REFERENT:INNEN – PORTRAITS DYNAMISCH VERTIKAL ZENTRIEREN
   Robuste Grid-Lösung für direkte Elementor-Kinder
   und mögliche interne .e-con-inner-Wrapper
   ========================================================= */

/* ---------- Desktop ---------- */

@media (min-width: 1025px) {
  .hro-speakers-list
    .hro-speaker-card.hro-card:has(
      > .hro-speaker-card__media
    ),
  .hro-speakers-list
    .hro-speaker-card.hro-card
    > .e-con-inner:has(
      > .hro-speaker-card__media
    ) {
    display: grid !important;
    grid-template-columns: 240px minmax(0, 1fr) !important;
    column-gap: 40px !important;
    row-gap: 0 !important;
    align-items: center !important;
    width: 100% !important;
  }

  .hro-speakers-list .hro-speaker-card__media {
    width: 240px !important;
    align-self: center !important;
    justify-self: start !important;
    margin: 0 !important;
    position: static !important;
    top: auto !important;
    transform: none !important;
  }

  .hro-speakers-list .hro-speaker-card__content {
    min-width: 0 !important;
    align-self: center !important;
    margin: 0 !important;
  }
}

/* ---------- Tablet ---------- */

@media (min-width: 768px) and (max-width: 1024px) {
  .hro-speakers-list
    .hro-speaker-card.hro-card:has(
      > .hro-speaker-card__media
    ),
  .hro-speakers-list
    .hro-speaker-card.hro-card
    > .e-con-inner:has(
      > .hro-speaker-card__media
    ) {
    display: grid !important;
    grid-template-columns: 200px minmax(0, 1fr) !important;
    column-gap: 28px !important;
    row-gap: 0 !important;
    align-items: center !important;
    width: 100% !important;
  }

  .hro-speakers-list .hro-speaker-card__media {
    width: 200px !important;
    align-self: center !important;
    justify-self: start !important;
    margin: 0 !important;
    position: static !important;
    top: auto !important;
    transform: none !important;
  }

  .hro-speakers-list .hro-speaker-card__content {
    min-width: 0 !important;
    align-self: center !important;
    margin: 0 !important;
  }
}

/* ---------- Mobil ---------- */

@media (max-width: 767px) {
  .hro-speakers-list
    .hro-speaker-card.hro-card:has(
      > .hro-speaker-card__media
    ),
  .hro-speakers-list
    .hro-speaker-card.hro-card
    > .e-con-inner:has(
      > .hro-speaker-card__media
    ) {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    column-gap: 0 !important;
    row-gap: 24px !important;
    align-items: start !important;
    width: 100% !important;
  }

  .hro-speakers-list .hro-speaker-card__media {
    width: 100% !important;
    max-width: 280px !important;
    align-self: start !important;
    justify-self: start !important;
    margin: 0 !important;
    position: static !important;
    top: auto !important;
    transform: none !important;
  }

  .hro-speakers-list .hro-speaker-card__content {
    width: 100% !important;
    min-width: 0 !important;
    align-self: start !important;
    margin: 0 !important;
  }
}
/* =========================================================
   PARTNERSEITE – SCHRITT 2
   Warum Partnerschaften wichtig sind
   ========================================================= */


/* ---------- Abschnitt und Inhaltsachse ---------- */

.hro-partner-intro-section {
  width: 100%;
  background: var(--hro-white);
}

.hro-partner-intro-shell {
  width: 100%;
  padding-right: 32px;
  padding-left: 32px;
  box-sizing: border-box;
}

.hro-partner-intro {
  width: 100%;
  max-width: 824px;
  margin-right: auto;
  margin-left: auto;
  font-family: "Inter Local", sans-serif;
}


/* ---------- Wiederverwendbares Partnerseiten-Label ---------- */

.hro-partner-section-label {
  display: flex;
  align-items: center;
  gap: var(--hro-space-3);

  margin: 0 0 var(--hro-space-6);

  color: var(--hro-secondary);
  font-family: "Inter Local", sans-serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.hro-partner-section-label::before {
  content: "";
  display: block;
  flex: 0 0 32px;
  width: 32px;
  height: 3px;

  border-radius: 999px;
  background: var(--hro-accent);
}


/* ---------- Editoriales Zweispaltenraster ---------- */

.hro-partner-intro__grid {
  display: grid;
  grid-template-columns:
    minmax(0, 0.9fr)
    minmax(0, 1.1fr);
  align-items: start;
  gap: var(--hro-space-7);
}


/* ---------- Überschrift ---------- */

.hro-partner-intro__title {
  margin: 0;

  color: var(--hro-primary);
  font-family: "Inter Local", sans-serif;
  font-size: 42px;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.025em;

  overflow-wrap: break-word;
  text-wrap: balance;
}


/* ---------- Fließtext ---------- */

.hro-partner-intro__copy {
  min-width: 0;

  color: var(--hro-text);
  font-family: "Inter Local", sans-serif;
  font-size: 17px;
  font-weight: 400;
  line-height: 1.65;
}

.hro-partner-intro__copy p {
  margin: 0;
  overflow-wrap: break-word;
}

.hro-partner-intro__copy p + p {
  margin-top: var(--hro-space-4);
}


/* ---------- Tablet: 768–1024 px ---------- */

@media (max-width: 1024px) {
  .hro-partner-intro-shell {
    padding-right: 28px;
    padding-left: 28px;
  }

  .hro-partner-intro__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--hro-space-5);
  }

  .hro-partner-intro__title {
    max-width: 680px;
    font-size: 36px;
  }

  .hro-partner-intro__copy {
    max-width: 760px;
    font-size: 17px;
  }
}


/* ---------- Mobil: bis 767 px ---------- */

@media (max-width: 767px) {
  .hro-partner-intro-shell {
    padding-right: 20px;
    padding-left: 20px;
  }

  .hro-partner-section-label {
    margin-bottom: var(--hro-space-5);
    font-size: 12px;
  }

  .hro-partner-section-label::before {
    flex-basis: 24px;
    width: 24px;
  }

  .hro-partner-intro__grid {
    gap: var(--hro-space-4);
  }

  .hro-partner-intro__title {
    font-size: 30px;
    line-height: 1.15;
  }

  .hro-partner-intro__copy {
    font-size: 16px;
  }
}
/* =========================================================
   PARTNERSEITE – SCHRITT 3
   Möglichkeiten der Unterstützung
   ========================================================= */


/* ---------- Abschnitt und Inhaltsachse ---------- */

.hro-partner-options-section {
  width: 100%;
  padding-top: var(--hro-space-7);
  padding-bottom: var(--hro-space-7);
  box-sizing: border-box;

  background: var(--hro-background-light);
  border-top: 1px solid var(--hro-border);
  border-bottom: 1px solid var(--hro-border);
}

.hro-partner-options-shell {
  width: 100%;
  padding-right: 32px;
  padding-left: 32px;
  box-sizing: border-box;
}

.hro-partner-options {
  width: 100%;
  min-width: 0;
  font-family: "Inter Local", sans-serif;
}


/* ---------- Einleitung auf kompakter Leseachse ---------- */

.hro-partner-options__header {
  width: 100%;
  max-width: 824px;
  margin-right: auto;
  margin-bottom: var(--hro-space-6);
  margin-left: auto;
}

.hro-partner-options__title {
  max-width: 760px;
  margin: 0;

  color: var(--hro-primary);
  font-family: "Inter Local", sans-serif;
  font-size: 42px;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.025em;

  overflow-wrap: break-word;
  text-wrap: balance;
}

.hro-partner-options__lead {
  max-width: 760px;
  margin: var(--hro-space-4) 0 0;

  color: var(--hro-text);
  font-family: "Inter Local", sans-serif;
  font-size: 17px;
  font-weight: 400;
  line-height: 1.65;

  overflow-wrap: break-word;
}


/* ---------- Kartenraster ---------- */

.hro-partner-options__grid {
  display: grid;
  grid-template-columns:
    minmax(0, 1.18fr)
    minmax(0, 1fr)
    minmax(0, 1fr);
  align-items: stretch;
  gap: var(--hro-space-5);

  width: 100%;
  margin: 0;
  padding: 0;

  list-style: none;
}


/* ---------- Einzelne Möglichkeit ---------- */

.hro-partner-option-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;

  width: 100%;
  min-width: 0;
  height: 100%;
  margin: 0;

  overflow: hidden;
}

.hro-partner-option-card__eyebrow {
  margin: 0;

  color: var(--hro-secondary);
  font-family: "Inter Local", sans-serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.08em;
  text-transform: uppercase;

  overflow-wrap: break-word;
}

.hro-partner-option-card__title {
  margin: var(--hro-space-4) 0 0;

  color: var(--hro-primary);
  font-family: "Inter Local", sans-serif;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -0.015em;

  overflow-wrap: break-word;
  text-wrap: balance;
}

.hro-partner-option-card__text {
  margin: var(--hro-space-4) 0 0;

  color: var(--hro-text);
  font-family: "Inter Local", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.65;

  overflow-wrap: break-word;
}


/* ---------- Ruhige Hervorhebung der Hauptpartnerschaft ---------- */

.hro-partner-option-card--main {
  border-color: rgba(22, 56, 98, 0.32);
}

.hro-partner-option-card--main::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  left: 0;

  height: 4px;
  background: var(--hro-accent);
}


/* ---------- Hinweis unter dem Raster ---------- */

.hro-partner-options__note {
  max-width: 824px;
  margin:
    var(--hro-space-5)
    auto
    0;

  color: var(--hro-muted-text);
  font-family: "Inter Local", sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.55;

  overflow-wrap: break-word;
}


/* ---------- Tablet: 768–1024 px ---------- */

@media (max-width: 1024px) {
  .hro-partner-options-shell {
    padding-right: 28px;
    padding-left: 28px;
  }

  .hro-partner-options__title {
    font-size: 36px;
  }

  .hro-partner-options__grid {
    grid-template-columns:
      minmax(0, 1fr)
      minmax(0, 1fr);
  }

  .hro-partner-option-card--main {
    grid-column: 1 / -1;
  }

  .hro-partner-option-card__title {
    font-size: 23px;
  }
}


/* ---------- Mobil: bis 767 px ---------- */

@media (max-width: 767px) {
  .hro-partner-options-shell {
    padding-right: 20px;
    padding-left: 20px;
  }

  .hro-partner-options__header {
    margin-bottom: var(--hro-space-5);
  }

  .hro-partner-options__title {
    font-size: 30px;
    line-height: 1.15;
  }

  .hro-partner-options__lead {
    font-size: 16px;
  }

  .hro-partner-options__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--hro-space-4);
  }

  .hro-partner-option-card--main {
    grid-column: auto;
  }

  .hro-partner-option-card__eyebrow {
    font-size: 12px;
  }

  .hro-partner-option-card__title {
    font-size: 22px;
  }

  .hro-partner-option-card__text {
    font-size: 16px;
  }

  .hro-partner-options__note {
    font-size: 15px;
  }
}
/* =========================================================
   PARTNERSEITE – KORREKTUR 3A
   1240-px-Achse und Kartenoberflächen
   ========================================================= */


/* ---------- Elementor-Abschnitt zuverlässig zentrieren ---------- */

.hro-partner-options-section {
  align-items: center !important;
}

.hro-partner-options-section.e-con {
  --align-items: center;
}


/* ---------- Inhaltsachse zuverlässig auf 1240 px begrenzen ---------- */

.hro-partner-options-shell,
.hro-home-shell.hro-partner-options-shell {
  width: 100% !important;
  max-width: 1240px !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding-right: 32px;
  padding-left: 32px;
  align-self: center !important;
  box-sizing: border-box;
}

.hro-partner-options-shell.e-con {
  --width: 100%;
  --max-width: 1240px;
}


/* ---------- Kartenoberfläche innerhalb des HTML-Widgets ---------- */

.hro-partner-options__grid > .hro-partner-option-card {
  position: relative;
  display: flex;
  flex-direction: column;

  width: 100%;
  min-width: 0;
  height: 100%;
  margin: 0;
  padding: var(--hro-space-6);
  box-sizing: border-box;

  background: var(--hro-white);
  border: 1px solid var(--hro-border);
  border-radius: var(--hro-radius-card);
  box-shadow: 0 10px 28px rgba(22, 56, 98, 0.07);

  overflow: hidden;
}


/* ---------- Hauptpartnerschaft ruhig hervorheben ---------- */

.hro-partner-options__grid
  > .hro-partner-option-card--main {
  border-color: rgba(22, 56, 98, 0.32);
}

.hro-partner-options__grid
  > .hro-partner-option-card--main::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  left: 0;

  height: 4px;
  background: var(--hro-accent);
}


/* ---------- Tablet ---------- */

@media (max-width: 1024px) {
  .hro-partner-options-shell,
  .hro-home-shell.hro-partner-options-shell {
    padding-right: 28px;
    padding-left: 28px;
  }

  .hro-partner-options__grid
    > .hro-partner-option-card {
    padding: var(--hro-space-5);
  }
}


/* ---------- Mobil ---------- */

@media (max-width: 767px) {
  .hro-partner-options-shell,
  .hro-home-shell.hro-partner-options-shell {
    padding-right: 20px;
    padding-left: 20px;
  }

  .hro-partner-options__grid
    > .hro-partner-option-card {
    padding: var(--hro-space-5);
  }
}
/* =========================================================
   PARTNERSEITE – SCHRITT 4
   Hauptpartnerschaft
   ========================================================= */


/* ---------- Vollbreiter Abschnitt ---------- */

.hro-partner-main-section {
  width: 100%;
  padding-top: var(--hro-space-7);
  padding-bottom: var(--hro-space-7);
  box-sizing: border-box;

  background: var(--hro-white);
}

.hro-partner-main-section.e-con {
  --align-items: center;
}


/* ---------- 1240-px-Inhaltsachse ---------- */

.hro-partner-main-shell,
.hro-home-shell.hro-partner-main-shell {
  width: 100% !important;
  max-width: 1240px !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding-right: 32px;
  padding-left: 32px;
  align-self: center !important;
  box-sizing: border-box;
}

.hro-partner-main-shell.e-con {
  --width: 100%;
  --max-width: 1240px;
}


/* ---------- Gesamte Komponente ---------- */

.hro-partner-main-block {
  width: 100%;
  min-width: 0;
  font-family: "Inter Local", sans-serif;
}


/* ---------- Einleitung auf kompakter Leseachse ---------- */

.hro-partner-main-header {
  width: 100%;
  max-width: 824px;
  margin-right: auto;
  margin-bottom: var(--hro-space-6);
  margin-left: auto;
}

.hro-partner-main-header__title {
  max-width: 760px;
  margin: 0;

  color: var(--hro-primary);
  font-family: "Inter Local", sans-serif;
  font-size: 42px;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.025em;

  overflow-wrap: break-word;
  text-wrap: balance;
}

.hro-partner-main-header__lead {
  max-width: 760px;
  margin: var(--hro-space-4) 0 0;

  color: var(--hro-text);
  font-family: "Inter Local", sans-serif;
  font-size: 17px;
  font-weight: 400;
  line-height: 1.65;

  overflow-wrap: break-word;
}


/* ---------- Große Hauptpartnerschaftsfläche ---------- */

.hro-partner-main {
  display: grid;
  grid-template-columns:
    minmax(260px, 0.78fr)
    minmax(0, 1.42fr);
  align-items: stretch;
  gap: var(--hro-space-6);

  width: 100%;
  min-width: 0;
  padding: var(--hro-space-6);
  box-sizing: border-box;

  background: var(--hro-background-secondary);
  border: 1px solid var(--hro-border);
  border-top: 4px solid var(--hro-accent);
  border-radius: var(--hro-radius-card);
  box-shadow: 0 12px 32px rgba(22, 56, 98, 0.06);
}


/* ---------- Linke Einordnung ---------- */

.hro-partner-main__summary {
  min-width: 0;
  padding-right: var(--hro-space-6);
  border-right: 1px solid var(--hro-border);
}

.hro-partner-main__availability {
  display: inline-flex;
  align-items: center;

  margin: 0;
  padding: var(--hro-space-2) var(--hro-space-3);

  background: var(--hro-white);
  border: 1px solid var(--hro-border);
  border-radius: 999px;

  color: var(--hro-secondary);
  font-family: "Inter Local", sans-serif;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.hro-partner-main__title {
  margin: var(--hro-space-5) 0 0;

  color: var(--hro-primary);
  font-family: "Inter Local", sans-serif;
  font-size: 30px;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -0.015em;

  overflow-wrap: break-word;
  text-wrap: balance;
}

.hro-partner-main__text {
  margin: var(--hro-space-4) 0 0;

  color: var(--hro-text);
  font-family: "Inter Local", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.65;

  overflow-wrap: break-word;
}

.hro-partner-main__wording {
  color: var(--hro-primary);
  font-weight: 600;
}


/* ---------- Rechter Leistungsbereich ---------- */

.hro-partner-main__benefits {
  min-width: 0;
}

.hro-partner-main__benefits-title {
  margin: 0;

  color: var(--hro-primary);
  font-family: "Inter Local", sans-serif;
  font-size: 22px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -0.01em;
}

.hro-partner-main__benefit-list {
  display: grid;
  grid-template-columns:
    minmax(0, 1fr)
    minmax(0, 1fr);
  align-items: start;
  gap:
    var(--hro-space-4)
    var(--hro-space-5);

  width: 100%;
  margin: var(--hro-space-5) 0 0;
  padding: 0;

  list-style: none;
}

.hro-partner-main__benefit {
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr);
  align-items: start;
  column-gap: var(--hro-space-3);

  min-width: 0;
  margin: 0;

  color: var(--hro-text);
  font-family: "Inter Local", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.55;

  overflow-wrap: break-word;
}

.hro-partner-main__benefit-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  width: 24px;
  height: 24px;
  margin-top: 1px;

  background: var(--hro-white);
  border: 1px solid var(--hro-border);
  border-radius: 50%;

  color: var(--hro-secondary);
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
}


/* ---------- Sachlicher Detailhinweis ---------- */

.hro-partner-main__note {
  margin: var(--hro-space-5) 0 0;
  padding-top: var(--hro-space-4);

  border-top: 1px solid var(--hro-border);

  color: var(--hro-muted-text);
  font-family: "Inter Local", sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.55;

  overflow-wrap: break-word;
}


/* ---------- Tablet: 768–1024 px ---------- */

@media (max-width: 1024px) {
  .hro-partner-main-shell,
  .hro-home-shell.hro-partner-main-shell {
    padding-right: 28px;
    padding-left: 28px;
  }

  .hro-partner-main-header__title {
    font-size: 36px;
  }

  .hro-partner-main {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--hro-space-5);
    padding: var(--hro-space-5);
  }

  .hro-partner-main__summary {
    padding-right: 0;
    padding-bottom: var(--hro-space-5);

    border-right: 0;
    border-bottom: 1px solid var(--hro-border);
  }

  .hro-partner-main__title {
    font-size: 27px;
  }
}


/* ---------- Mobil: bis 767 px ---------- */

@media (max-width: 767px) {
  .hro-partner-main-shell,
  .hro-home-shell.hro-partner-main-shell {
    padding-right: 20px;
    padding-left: 20px;
  }

  .hro-partner-main-header {
    margin-bottom: var(--hro-space-5);
  }

  .hro-partner-main-header__title {
    font-size: 30px;
    line-height: 1.15;
  }

  .hro-partner-main-header__lead {
    font-size: 16px;
  }

  .hro-partner-main {
    padding: var(--hro-space-5);
  }

  .hro-partner-main__title {
    font-size: 24px;
  }

  .hro-partner-main__benefits-title {
    font-size: 21px;
  }

  .hro-partner-main__benefit-list {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--hro-space-4);
  }

  .hro-partner-main__benefit {
    font-size: 16px;
  }

  .hro-partner-main__note {
    font-size: 15px;
  }
}
/* =========================================================
   PARTNERSEITE – SCHRITT 5
   Flexible Einzelleistungen
   ========================================================= */


/* ---------- Vollbreiter Abschnitt ---------- */

.hro-partner-services-section {
  width: 100%;
  padding-top: var(--hro-space-7);
  padding-bottom: var(--hro-space-7);
  box-sizing: border-box;

  background: var(--hro-background-light);
  border-top: 1px solid var(--hro-border);
  border-bottom: 1px solid var(--hro-border);
}

.hro-partner-services-section.e-con {
  --align-items: center;
}


/* ---------- 1240-px-Inhaltsachse ---------- */

.hro-partner-services-shell,
.hro-home-shell.hro-partner-services-shell {
  width: 100% !important;
  max-width: 1240px !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding-right: 32px;
  padding-left: 32px;
  align-self: center !important;
  box-sizing: border-box;
}

.hro-partner-services-shell.e-con {
  --width: 100%;
  --max-width: 1240px;
}


/* ---------- Gesamte Komponente ---------- */

.hro-partner-services {
  width: 100%;
  min-width: 0;
  font-family: "Inter Local", sans-serif;
}


/* ---------- Einleitung auf kompakter Leseachse ---------- */

.hro-partner-services__header {
  width: 100%;
  max-width: 824px;
  margin-right: auto;
  margin-bottom: var(--hro-space-6);
  margin-left: auto;
}

.hro-partner-services__title {
  max-width: 760px;
  margin: 0;

  color: var(--hro-primary);
  font-family: "Inter Local", sans-serif;
  font-size: 42px;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.025em;

  overflow-wrap: break-word;
  text-wrap: balance;
}

.hro-partner-services__lead {
  max-width: 760px;
  margin: var(--hro-space-4) 0 0;

  color: var(--hro-text);
  font-family: "Inter Local", sans-serif;
  font-size: 17px;
  font-weight: 400;
  line-height: 1.65;

  overflow-wrap: break-word;
}


/* ---------- Ausgewogenes Raster: drei plus zwei Karten ---------- */

.hro-partner-services__grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  align-items: stretch;
  gap: var(--hro-space-5);

  width: 100%;
  margin: 0;
  padding: 0;

  list-style: none;
}


/* ---------- Einzelne Leistungskarte ---------- */

.hro-partner-service-card {
  grid-column: span 2;

  display: flex;
  flex-direction: column;
  align-items: flex-start;

  width: 100%;
  min-width: 0;
  height: 100%;
  margin: 0;
  padding: var(--hro-space-6);
  box-sizing: border-box;

  background: var(--hro-white);
  border: 1px solid var(--hro-border);
  border-radius: var(--hro-radius-card);
  box-shadow: 0 10px 28px rgba(22, 56, 98, 0.06);
}

.hro-partner-service-card--wide {
  grid-column: span 3;
}


/* ---------- Kartentypografie ---------- */

.hro-partner-service-card__eyebrow {
  margin: 0;

  color: var(--hro-secondary);
  font-family: "Inter Local", sans-serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.08em;
  text-transform: uppercase;

  overflow-wrap: break-word;
}

.hro-partner-service-card__title {
  margin: var(--hro-space-4) 0 0;

  color: var(--hro-primary);
  font-family: "Inter Local", sans-serif;
  font-size: 22px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -0.01em;

  overflow-wrap: break-word;
  text-wrap: balance;
}

.hro-partner-service-card__text {
  margin: var(--hro-space-4) 0 0;

  color: var(--hro-text);
  font-family: "Inter Local", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.65;

  overflow-wrap: break-word;
}


/* ---------- Vertrauenshinweis zu Anmeldedaten ---------- */

.hro-partner-services__data-note {
  display: grid;
  grid-template-columns:
    minmax(220px, 0.72fr)
    minmax(0, 1.28fr);
  align-items: start;
  gap: var(--hro-space-6);

  width: 100%;
  margin: var(--hro-space-5) 0 0;
  padding: var(--hro-space-5);
  box-sizing: border-box;

  background: var(--hro-background-secondary);
  border: 1px solid var(--hro-border);
  border-left: 4px solid var(--hro-secondary);
  border-radius: var(--hro-radius-control);
}

.hro-partner-services__data-title {
  margin: 0;

  color: var(--hro-primary);
  font-family: "Inter Local", sans-serif;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: -0.01em;

  overflow-wrap: break-word;
}

.hro-partner-services__data-text {
  margin: 0;

  color: var(--hro-text);
  font-family: "Inter Local", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;

  overflow-wrap: break-word;
}


/* ---------- Tablet: 768–1024 px ---------- */

@media (max-width: 1024px) {
  .hro-partner-services-shell,
  .hro-home-shell.hro-partner-services-shell {
    padding-right: 28px;
    padding-left: 28px;
  }

  .hro-partner-services__title {
    font-size: 36px;
  }

  .hro-partner-services__grid {
    grid-template-columns:
      minmax(0, 1fr)
      minmax(0, 1fr);
  }

  .hro-partner-service-card,
  .hro-partner-service-card--wide {
    grid-column: span 1;
    padding: var(--hro-space-5);
  }

  .hro-partner-service-card--tablet-full {
    grid-column: 1 / -1;
  }

  .hro-partner-service-card__title {
    font-size: 21px;
  }

  .hro-partner-services__data-note {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--hro-space-3);
  }
}


/* ---------- Mobil: bis 767 px ---------- */

@media (max-width: 767px) {
  .hro-partner-services-shell,
  .hro-home-shell.hro-partner-services-shell {
    padding-right: 20px;
    padding-left: 20px;
  }

  .hro-partner-services__header {
    margin-bottom: var(--hro-space-5);
  }

  .hro-partner-services__title {
    font-size: 30px;
    line-height: 1.15;
  }

  .hro-partner-services__lead {
    font-size: 16px;
  }

  .hro-partner-services__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--hro-space-4);
  }

  .hro-partner-service-card,
  .hro-partner-service-card--wide,
  .hro-partner-service-card--tablet-full {
    grid-column: auto;
    padding: var(--hro-space-5);
  }

  .hro-partner-service-card__eyebrow {
    font-size: 12px;
  }

  .hro-partner-service-card__title {
    font-size: 20px;
  }

  .hro-partner-services__data-note {
    margin-top: var(--hro-space-4);
    padding: var(--hro-space-5);
  }

  .hro-partner-services__data-title {
    font-size: 19px;
  }

  .hro-partner-services__data-text {
    font-size: 16px;
  }
}
/* =========================================================
   PARTNERSEITE – SCHRITT 6
   Ausstellungsfläche im Foyer des Minoritensaals
   ========================================================= */


/* ---------- Vollbreiter Abschnitt ---------- */

.hro-partner-exhibition-section {
  width: 100%;
  padding-top: var(--hro-space-7);
  padding-bottom: var(--hro-space-7);
  box-sizing: border-box;

  background: var(--hro-white);
}

.hro-partner-exhibition-section.e-con {
  --align-items: center;
}


/* ---------- 1240-px-Inhaltsachse ---------- */

.hro-partner-exhibition-shell,
.hro-home-shell.hro-partner-exhibition-shell {
  width: 100% !important;
  max-width: 1240px !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding-right: 32px;
  padding-left: 32px;
  align-self: center !important;
  box-sizing: border-box;
}

.hro-partner-exhibition-shell.e-con {
  --width: 100%;
  --max-width: 1240px;
}


/* ---------- Zweispaltige Hauptkomponente ---------- */

.hro-partner-exhibition {
  display: grid;
  grid-template-columns:
    minmax(0, 1.08fr)
    minmax(340px, 0.92fr);
  align-items: center;
  gap: var(--hro-space-7);

  width: 100%;
  min-width: 0;

  font-family: "Inter Local", sans-serif;
}


/* ---------- Textbereich ---------- */

.hro-partner-exhibition__copy {
  width: 100%;
  max-width: 620px;
  min-width: 0;
}

.hro-partner-exhibition__title {
  margin: 0;

  color: var(--hro-primary);
  font-family: "Inter Local", sans-serif;
  font-size: 42px;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.025em;

  overflow-wrap: break-word;
  text-wrap: balance;
}

.hro-partner-exhibition__lead {
  margin: var(--hro-space-4) 0 0;

  color: var(--hro-text);
  font-family: "Inter Local", sans-serif;
  font-size: 17px;
  font-weight: 400;
  line-height: 1.65;

  overflow-wrap: break-word;
}

.hro-partner-exhibition__note {
  margin: var(--hro-space-4) 0 0;
  padding-left: var(--hro-space-4);

  border-left: 3px solid var(--hro-accent);

  color: var(--hro-muted-text);
  font-family: "Inter Local", sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.55;

  overflow-wrap: break-word;
}


/* ---------- Faktenfläche ---------- */

.hro-partner-exhibition__facts {
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: var(--hro-space-6);
  box-sizing: border-box;

  background: var(--hro-background-secondary);
  border: 1px solid var(--hro-border);
  border-top: 4px solid var(--hro-accent);
  border-radius: var(--hro-radius-card);
  box-shadow: 0 12px 32px rgba(22, 56, 98, 0.06);
}

.hro-partner-exhibition__location {
  margin: 0 0 var(--hro-space-4);

  color: var(--hro-secondary);
  font-family: "Inter Local", sans-serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}


/* ---------- Definitionsliste ---------- */

.hro-partner-exhibition__fact-list {
  width: 100%;
  margin: 0;
  padding: 0;
}

.hro-partner-exhibition__fact {
  display: grid;
  grid-template-columns:
    minmax(130px, 0.72fr)
    minmax(0, 1.28fr);
  align-items: start;
  gap: var(--hro-space-4);

  width: 100%;
  margin: 0;
  padding: var(--hro-space-4) 0;

  border-top: 1px solid var(--hro-border);
}

.hro-partner-exhibition__fact:first-child {
  border-top: 0;
  padding-top: 0;
}

.hro-partner-exhibition__fact:last-child {
  padding-bottom: 0;
}

.hro-partner-exhibition__term {
  margin: 0;

  color: var(--hro-muted-text);
  font-family: "Inter Local", sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.45;

  overflow-wrap: break-word;
}

.hro-partner-exhibition__description {
  min-width: 0;
  margin: 0;

  color: var(--hro-text);
  font-family: "Inter Local", sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;

  overflow-wrap: break-word;
}


/* ---------- Hervorgehobene Flächengröße ---------- */

.hro-partner-exhibition__fact--main {
  align-items: center;
  padding-bottom: var(--hro-space-5);
}

.hro-partner-exhibition__size {
  display: block;

  color: var(--hro-primary);
  font-family: "Inter Local", sans-serif;
  font-size: 38px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.025em;
}

.hro-partner-exhibition__size-label {
  display: block;
  margin-top: var(--hro-space-2);

  color: var(--hro-text);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.45;
}


/* ---------- Tablet: 768–1024 px ---------- */

@media (max-width: 1024px) {
  .hro-partner-exhibition-shell,
  .hro-home-shell.hro-partner-exhibition-shell {
    padding-right: 28px;
    padding-left: 28px;
  }

  .hro-partner-exhibition {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--hro-space-6);
  }

  .hro-partner-exhibition__copy {
    max-width: 760px;
  }

  .hro-partner-exhibition__title {
    font-size: 36px;
  }

  .hro-partner-exhibition__facts {
    max-width: 760px;
  }
}


/* ---------- Mobil: bis 767 px ---------- */

@media (max-width: 767px) {
  .hro-partner-exhibition-shell,
  .hro-home-shell.hro-partner-exhibition-shell {
    padding-right: 20px;
    padding-left: 20px;
  }

  .hro-partner-exhibition {
    gap: var(--hro-space-5);
  }

  .hro-partner-exhibition__title {
    font-size: 30px;
    line-height: 1.15;
  }

  .hro-partner-exhibition__lead {
    font-size: 16px;
  }

  .hro-partner-exhibition__note {
    font-size: 15px;
  }

  .hro-partner-exhibition__facts {
    padding: var(--hro-space-5);
  }

  .hro-partner-exhibition__location {
    font-size: 12px;
  }

  .hro-partner-exhibition__fact {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--hro-space-2);
  }

  .hro-partner-exhibition__fact--main {
    align-items: start;
  }

  .hro-partner-exhibition__size {
    font-size: 34px;
  }

  .hro-partner-exhibition__description {
    font-size: 16px;
  }
}
/* =========================================================
   PARTNERSEITE – SCHRITT 7
   Transparenz und inhaltliche Unabhängigkeit
   ========================================================= */


/* ---------- Vollbreiter Abschnitt ---------- */

.hro-partner-transparency-section {
  width: 100%;
  padding-top: var(--hro-space-7);
  padding-bottom: var(--hro-space-7);
  box-sizing: border-box;

  background: var(--hro-background-secondary);
  border-top: 1px solid var(--hro-border);
  border-bottom: 1px solid var(--hro-border);
}

.hro-partner-transparency-section.e-con {
  --align-items: center;
}


/* ---------- 1240-px-Inhaltsachse ---------- */

.hro-partner-transparency-shell,
.hro-home-shell.hro-partner-transparency-shell {
  width: 100% !important;
  max-width: 1240px !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding-right: 32px;
  padding-left: 32px;
  align-self: center !important;
  box-sizing: border-box;
}

.hro-partner-transparency-shell.e-con {
  --width: 100%;
  --max-width: 1240px;
}


/* ---------- Gesamte Komponente ---------- */

.hro-partner-transparency {
  width: 100%;
  min-width: 0;
  font-family: "Inter Local", sans-serif;
}


/* ---------- Einleitung auf kompakter Leseachse ---------- */

.hro-partner-transparency__header {
  width: 100%;
  max-width: 824px;
  margin-right: auto;
  margin-bottom: var(--hro-space-6);
  margin-left: auto;
}

.hro-partner-transparency__title {
  max-width: 760px;
  margin: 0;

  color: var(--hro-primary);
  font-family: "Inter Local", sans-serif;
  font-size: 42px;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.025em;

  overflow-wrap: break-word;
  text-wrap: balance;
}

.hro-partner-transparency__lead {
  max-width: 760px;
  margin: var(--hro-space-4) 0 0;

  color: var(--hro-text);
  font-family: "Inter Local", sans-serif;
  font-size: 17px;
  font-weight: 400;
  line-height: 1.65;

  overflow-wrap: break-word;
}


/* ---------- Ruhige Transparenzfläche ---------- */

.hro-partner-transparency__panel {
  width: 100%;
  min-width: 0;
  padding: var(--hro-space-6);
  box-sizing: border-box;

  background: var(--hro-white);
  border: 1px solid var(--hro-border);
  border-radius: var(--hro-radius-card);
  box-shadow: 0 12px 32px rgba(22, 56, 98, 0.06);
}


/* ---------- Verbindliche Unabhängigkeitsaussage ---------- */

.hro-partner-transparency__statement {
  margin: 0;
  padding:
    0
    0
    var(--hro-space-6)
    var(--hro-space-5);

  border-bottom: 1px solid var(--hro-border);
  border-left: 4px solid var(--hro-accent);

  color: var(--hro-primary);
  font-family: "Inter Local", sans-serif;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: -0.012em;

  overflow-wrap: break-word;
  text-wrap: balance;
}


/* ---------- Drei Transparenzbereiche ---------- */

.hro-partner-transparency__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;

  width: 100%;
  margin: var(--hro-space-6) 0 0;
  padding: 0;
}

.hro-partner-transparency__item {
  min-width: 0;
  margin: 0;
  padding-right: var(--hro-space-5);
  padding-left: var(--hro-space-5);

  border-left: 1px solid var(--hro-border);
}

.hro-partner-transparency__item:first-child {
  padding-left: 0;
  border-left: 0;
}

.hro-partner-transparency__item:last-child {
  padding-right: 0;
}


/* ---------- Bezeichnungen und Texte ---------- */

.hro-partner-transparency__term {
  margin: 0;

  color: var(--hro-secondary);
  font-family: "Inter Local", sans-serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.08em;
  text-transform: uppercase;

  overflow-wrap: break-word;
}

.hro-partner-transparency__description {
  margin: var(--hro-space-3) 0 0;

  color: var(--hro-text);
  font-family: "Inter Local", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.65;

  overflow-wrap: break-word;
}

.hro-partner-transparency__description strong {
  color: var(--hro-primary);
  font-weight: 600;
}


/* ---------- Tablet: 768–1024 px ---------- */

@media (max-width: 1024px) {
  .hro-partner-transparency-shell,
  .hro-home-shell.hro-partner-transparency-shell {
    padding-right: 28px;
    padding-left: 28px;
  }

  .hro-partner-transparency__title {
    font-size: 36px;
  }

  .hro-partner-transparency__panel {
    padding: var(--hro-space-5);
  }

  .hro-partner-transparency__statement {
    padding-bottom: var(--hro-space-5);
    font-size: 22px;
  }

  .hro-partner-transparency__grid {
    grid-template-columns:
      minmax(0, 1fr)
      minmax(0, 1fr);
    gap: 0;
    margin-top: var(--hro-space-5);
  }

  .hro-partner-transparency__item {
    padding-right: var(--hro-space-5);
    padding-left: 0;
    border-left: 0;
  }

  .hro-partner-transparency__item:nth-child(2) {
    padding-right: 0;
    padding-left: var(--hro-space-5);
    border-left: 1px solid var(--hro-border);
  }

  .hro-partner-transparency__item:last-child {
    grid-column: 1 / -1;

    margin-top: var(--hro-space-5);
    padding-top: var(--hro-space-5);
    padding-right: 0;
    padding-left: 0;

    border-top: 1px solid var(--hro-border);
    border-left: 0;
  }
}


/* ---------- Mobil: bis 767 px ---------- */

@media (max-width: 767px) {
  .hro-partner-transparency-shell,
  .hro-home-shell.hro-partner-transparency-shell {
    padding-right: 20px;
    padding-left: 20px;
  }

  .hro-partner-transparency__header {
    margin-bottom: var(--hro-space-5);
  }

  .hro-partner-transparency__title {
    font-size: 30px;
    line-height: 1.15;
  }

  .hro-partner-transparency__lead {
    font-size: 16px;
  }

  .hro-partner-transparency__panel {
    padding: var(--hro-space-5);
  }

  .hro-partner-transparency__statement {
    padding:
      0
      0
      var(--hro-space-5)
      var(--hro-space-4);

    border-left-width: 3px;

    font-size: 20px;
    line-height: 1.45;
  }

  .hro-partner-transparency__grid {
    grid-template-columns: minmax(0, 1fr);
    margin-top: 0;
  }

  .hro-partner-transparency__item,
  .hro-partner-transparency__item:nth-child(2),
  .hro-partner-transparency__item:last-child {
    grid-column: auto;

    margin-top: var(--hro-space-5);
    padding:
      var(--hro-space-5)
      0
      0;

    border-top: 1px solid var(--hro-border);
    border-left: 0;
  }

  .hro-partner-transparency__item:first-child {
    margin-top: 0;
    padding-top: var(--hro-space-5);
    border-top: 0;
  }

  .hro-partner-transparency__term {
    font-size: 12px;
  }

  .hro-partner-transparency__description {
    font-size: 16px;
  }
}

/* =========================================================
   PARTNERSEITE – SCHRITT 8
   Vorbereitete Partnerdarstellung
   Aktuell öffentlich vollständig ausgeblendet
   ========================================================= */


/* ---------- Inaktive Bereiche öffentlich ausblenden ---------- */

.hro-partner-showcase-section--inactive,
.hro-partner-showcase__group--inactive {
  display: none !important;
}


/*
   Im Elementor-Editor nach Möglichkeit sichtbar halten.
   Falls die verwendete Editoransicht diese Klasse nicht setzt,
   bleibt der Abschnitt über den Navigator auswählbar.
*/

.elementor-editor-active
  .hro-partner-showcase-section--inactive {
  display: flex !important;
}

.elementor-editor-active
  .hro-partner-showcase__group--inactive {
  display: flex !important;
}


/* ---------- Vollbreiter Abschnitt ---------- */

.hro-partner-showcase-section {
  width: 100%;
  padding-top: var(--hro-space-7);
  padding-bottom: var(--hro-space-7);
  box-sizing: border-box;

  background: var(--hro-white);
}

.hro-partner-showcase-section.e-con {
  --align-items: center;
}


/* ---------- 1240-px-Inhaltsachse ---------- */

.hro-partner-showcase-shell,
.hro-home-shell.hro-partner-showcase-shell {
  width: 100% !important;
  max-width: 1240px !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding-right: 32px;
  padding-left: 32px;
  align-self: center !important;
  box-sizing: border-box;
}

.hro-partner-showcase-shell.e-con {
  --width: 100%;
  --max-width: 1240px;
}


/* ---------- Gesamte Partnerkomponente ---------- */

.hro-partner-showcase {
  width: 100%;
  min-width: 0;
  font-family: "Inter Local", sans-serif;
}


/* ---------- Intro auf kompakter Leseachse ---------- */

.hro-partner-showcase__header {
  width: 100%;
  max-width: 824px;
  margin-right: auto;
  margin-bottom: var(--hro-space-6);
  margin-left: auto;
}

.hro-partner-showcase__title {
  max-width: 760px;
  margin: 0;

  color: var(--hro-primary);
  font-family: "Inter Local", sans-serif;
  font-size: 42px;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.025em;

  overflow-wrap: break-word;
  text-wrap: balance;
}

.hro-partner-showcase__lead {
  max-width: 760px;
  margin: var(--hro-space-4) 0 0;

  color: var(--hro-text);
  font-family: "Inter Local", sans-serif;
  font-size: 17px;
  font-weight: 400;
  line-height: 1.65;

  overflow-wrap: break-word;
}


/* ---------- Partnergruppen ---------- */

.hro-partner-showcase__group {
  display: flex;
  flex-direction: column;

  width: 100%;
  min-width: 0;
}

.hro-partner-showcase__group
  + .hro-partner-showcase__group {
  margin-top: var(--hro-space-7);
}

.hro-partner-showcase__group-title {
  margin: 0 0 var(--hro-space-5);

  color: var(--hro-primary);
  font-family: "Inter Local", sans-serif;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -0.01em;
}


/* ---------- Hauptpartner-Raster ---------- */

.hro-partner-main-logos {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: var(--hro-space-5);

  width: 100%;
  min-width: 0;
}


/* ---------- Logo-Wall weiterer Partner ---------- */

.hro-partner-logo-wall {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: stretch;
  gap: var(--hro-space-5);

  width: 100%;
  min-width: 0;
}


/* =========================================================
   SPÄTERE LOGO-ELEMENTE

   Diese Klassen werden erst vergeben, wenn ein bestätigtes
   Firmenlogo tatsächlich eingebaut wird.
   ========================================================= */


/* ---------- Gleichwertige Logo-Fläche ---------- */

.hro-partner-logo-item {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  width: 100%;
  min-width: 0;
  min-height: 160px;
  padding: var(--hro-space-5);
  box-sizing: border-box;

  background: var(--hro-white);
  border: 1px solid var(--hro-border);
  border-radius: var(--hro-radius-card);
  box-shadow: 0 10px 28px rgba(22, 56, 98, 0.05);

  text-align: center;
}


/* ---------- Hauptpartner etwas großzügiger ---------- */

.hro-partner-logo-item--main {
  min-height: 200px;
  padding: var(--hro-space-6);

  border-top: 3px solid var(--hro-accent);
}


/* ---------- Elementor-Bild-Widget ---------- */

.hro-partner-logo-item__image {
  width: 100%;
  min-width: 0;
}

.hro-partner-logo-item__image
  > .elementor-widget-container,
.hro-partner-logo-item__image
  a {
  display: flex;
  align-items: center;
  justify-content: center;

  width: 100%;
  min-width: 0;
  min-height: 88px;

  border-radius: var(--hro-radius-control);
}

.hro-partner-logo-item__image img {
  display: block;

  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 72px;

  object-fit: contain;
}


/* ---------- Größere Logos bei Hauptpartnern ---------- */

.hro-partner-logo-item--main
  .hro-partner-logo-item__image
  > .elementor-widget-container,
.hro-partner-logo-item--main
  .hro-partner-logo-item__image
  a {
  min-height: 104px;
}

.hro-partner-logo-item--main
  .hro-partner-logo-item__image
  img {
  max-height: 92px;
}


/* ---------- Sichtbarer Unternehmensname bei Hauptpartnern ---------- */

.hro-partner-logo-item__name {
  width: 100%;
  margin-top: var(--hro-space-4);

  text-align: center;
}

.hro-partner-logo-item__name
  :is(
    .elementor-heading-title,
    p,
    div,
    span
  ) {
  margin: 0;

  color: var(--hro-primary);
  font-family: "Inter Local", sans-serif;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.45;

  overflow-wrap: anywhere;
}


/* ---------- Tablet: 768–1024 px ---------- */

@media (max-width: 1024px) {
  .hro-partner-showcase-shell,
  .hro-home-shell.hro-partner-showcase-shell {
    padding-right: 28px;
    padding-left: 28px;
  }

  .hro-partner-showcase__title {
    font-size: 36px;
  }

  .hro-partner-main-logos {
    grid-template-columns: minmax(0, 1fr);
  }

  .hro-partner-logo-wall {
    grid-template-columns:
      minmax(0, 1fr)
      minmax(0, 1fr);
  }

  .hro-partner-logo-item,
  .hro-partner-logo-item--main {
    padding: var(--hro-space-5);
  }
}


/* ---------- Mobil: bis 767 px ---------- */

@media (max-width: 767px) {
  .hro-partner-showcase-shell,
  .hro-home-shell.hro-partner-showcase-shell {
    padding-right: 20px;
    padding-left: 20px;
  }

  .hro-partner-showcase__header {
    margin-bottom: var(--hro-space-5);
  }

  .hro-partner-showcase__title {
    font-size: 30px;
    line-height: 1.15;
  }

  .hro-partner-showcase__lead {
    font-size: 16px;
  }

  .hro-partner-showcase__group
    + .hro-partner-showcase__group {
    margin-top: var(--hro-space-6);
  }

  .hro-partner-showcase__group-title {
    margin-bottom: var(--hro-space-4);
    font-size: 22px;
  }

  .hro-partner-main-logos,
  .hro-partner-logo-wall {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--hro-space-4);
  }

  .hro-partner-logo-item {
    min-height: 150px;
  }

  .hro-partner-logo-item--main {
    min-height: 180px;
  }
}
/* =========================================================
   PARTNERSEITE – ABSCHLUSS-CTA
   Vollständige eigenständige Komponente
   ========================================================= */


/* ---------- Vollbreiter Abschnitt ---------- */

.hro-partner-final-cta-section {
  position: relative;
  width: 100%;
  padding-top: var(--hro-space-8);
  padding-bottom: var(--hro-space-8);
  box-sizing: border-box;

  background: var(--hro-primary);
  overflow: hidden;
}

.hro-partner-final-cta-section.e-con {
  --align-items: center;
}


/* ---------- Goldakzent am oberen Rand ---------- */

.hro-partner-final-cta-section::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;

  width: 150px;
  height: 4px;

  background: var(--hro-accent);
  border-radius: 0 0 999px 999px;

  transform: translateX(-50%);
}


/* ---------- 1240-px-Inhaltsachse ---------- */

.hro-partner-final-cta-shell,
.hro-home-shell.hro-partner-final-cta-shell {
  width: 100% !important;
  max-width: 1240px !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding-right: 32px;
  padding-left: 32px;
  align-self: center !important;
  box-sizing: border-box;
}

.hro-partner-final-cta-shell.e-con {
  --width: 100%;
  --max-width: 1240px;
}

.hro-partner-final-cta-shell
  .elementor-widget-html,
.hro-partner-final-cta-shell
  .elementor-widget-container {
  width: 100%;
}


/* ---------- Hauptlayout ---------- */

.hro-partner-final-cta {
  display: grid;
  grid-template-columns:
    minmax(0, 1fr)
    minmax(300px, 400px);
  align-items: center;
  gap: var(--hro-space-8);

  width: 100%;
  min-width: 0;

  font-family: "Inter Local", sans-serif;
}


/* ---------- Textbereich ---------- */

.hro-partner-final-cta__copy {
  width: 100%;
  max-width: 820px;
  min-width: 0;
}

.hro-partner-final-cta__label {
  margin: 0 0 var(--hro-space-5);

  color: rgba(255, 255, 255, 0.78);
  font-family: "Inter Local", sans-serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.hro-partner-final-cta__title {
  max-width: 760px;
  margin: 0;

  color: var(--hro-white);
  font-family: "Inter Local", sans-serif;
  font-size: 52px;
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -0.03em;

  overflow-wrap: break-word;
  text-wrap: balance;
}

.hro-partner-final-cta__text {
  max-width: 800px;
  margin: var(--hro-space-5) 0 0;

  color: rgba(255, 255, 255, 0.92);
  font-family: "Inter Local", sans-serif;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.6;

  overflow-wrap: break-word;
}


/* ---------- Sichtbare Kontaktadresse ---------- */

.hro-partner-final-cta__contact {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap:
    var(--hro-space-1)
    var(--hro-space-2);

  min-width: 0;
  margin: var(--hro-space-4) 0 0;

  color: var(--hro-white) !important;
  -webkit-text-fill-color: var(--hro-white) !important;

  font-family: "Inter Local", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.55;
}

.hro-partner-final-cta__contact-label {
  flex: 0 0 auto;

  color: var(--hro-white) !important;
  -webkit-text-fill-color: var(--hro-white) !important;

  font-weight: 600;
}

.hro-partner-final-cta__contact-link {
  min-width: 0;

  color: var(--hro-white) !important;
  -webkit-text-fill-color: var(--hro-white) !important;

  font-weight: 500;
  text-decoration: underline;
  text-decoration-color: rgba(255, 255, 255, 0.55);
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;

  overflow-wrap: anywhere;
}

.hro-partner-final-cta__contact-link:hover {
  color: var(--hro-white) !important;
  -webkit-text-fill-color: var(--hro-white) !important;

  text-decoration-color: var(--hro-accent);
}


/* ---------- Aktionsbereich ---------- */

.hro-partner-final-cta__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;

  width: 100%;
  min-width: 0;
}


/* ---------- Partner-Button ---------- */

.hro-partner-final-cta__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  width: 100%;
  min-height: 64px;
  padding: var(--hro-space-4) var(--hro-space-5);
  box-sizing: border-box;

  background: var(--hro-white);
  border: 2px solid var(--hro-white);
  border-radius: var(--hro-radius-control);
  box-shadow: inset 0 -3px 0 var(--hro-accent);

  color: var(--hro-primary) !important;
  -webkit-text-fill-color: var(--hro-primary) !important;

  font-family: "Inter Local", sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.01em;
  text-align: center;
  text-decoration: none;

  transition:
    color 180ms ease,
    background-color 180ms ease,
    border-color 180ms ease,
    box-shadow 180ms ease,
    transform 180ms ease;
}

.hro-partner-final-cta__button:hover {
  background: var(--hro-background-secondary);
  border-color: var(--hro-background-secondary);

  color: var(--hro-secondary) !important;
  -webkit-text-fill-color: var(--hro-secondary) !important;

  transform: translateY(-1px);
}

.hro-partner-final-cta__button:active {
  transform: translateY(0);
}

.hro-partner-final-cta__button:focus-visible,
.hro-partner-final-cta__contact-link:focus-visible {
  outline: 3px solid var(--hro-accent);
  outline-offset: 4px;
}


/* ---------- Tablet: 768–1024 px ---------- */

@media (max-width: 1024px) {
  .hro-partner-final-cta-section {
    padding-top: var(--hro-space-7);
    padding-bottom: var(--hro-space-7);
  }

  .hro-partner-final-cta-shell,
  .hro-home-shell.hro-partner-final-cta-shell {
    padding-right: 28px;
    padding-left: 28px;
  }

  .hro-partner-final-cta {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--hro-space-6);
  }

  .hro-partner-final-cta__title {
    font-size: 42px;
  }

  .hro-partner-final-cta__text {
    font-size: 18px;
  }

  .hro-partner-final-cta__actions {
    justify-content: flex-start;
  }

  .hro-partner-final-cta__button {
    max-width: 420px;
  }
}


/* ---------- Mobil: bis 767 px ---------- */

@media (max-width: 767px) {
  .hro-partner-final-cta-shell,
  .hro-home-shell.hro-partner-final-cta-shell {
    padding-right: 20px;
    padding-left: 20px;
  }

  .hro-partner-final-cta {
    gap: var(--hro-space-5);
  }

  .hro-partner-final-cta__label {
    margin-bottom: var(--hro-space-4);
    font-size: 12px;
  }

  .hro-partner-final-cta__title {
    font-size: 34px;
    line-height: 1.15;
  }

  .hro-partner-final-cta__text {
    margin-top: var(--hro-space-4);
    font-size: 17px;
  }

  .hro-partner-final-cta__contact {
    display: block;
    width: 100%;
    font-size: 16px;
  }

  .hro-partner-final-cta__contact-label,
  .hro-partner-final-cta__contact-link {
    display: block;
  }

  .hro-partner-final-cta__contact-link {
    margin-top: var(--hro-space-1);
  }

  .hro-partner-final-cta__button {
    width: 100%;
    max-width: none;
    min-height: 60px;
  }
}


/* ---------- Reduzierte Bewegung ---------- */

@media (prefers-reduced-motion: reduce) {
  .hro-partner-final-cta__button {
    transition-duration: 0.01ms !important;
  }

  .hro-partner-final-cta__button:hover {
    transform: none !important;
  }
}
/* HRO – gezielte Korrekturen aus der Strukturprüfung, 27.10.2026 */
.elementor :is(a, button).hro-button-primary:not(.hro-header-registration) {
  display: inline-flex !important;
}
.elementor-location-header .hro-header-logo a {
  display: block;
  line-height: 0;
}
.elementor-location-header .hro-header-navigation a {
  font-weight: 600;
}
@media (max-width: 767px) {
  .hro-privacy-title { font-size: 32px !important; }
}

@media (max-width: 1024px) {
  body.elementor-kit-17 { font-weight: 400 !important; }
  .elementor-location-header .hro-header-navigation {
    height: 44px;
    min-height: 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
  }
}

/* Breite Desktops: Kopfzeile und Abschlussbereiche im Inhaltsraster. */
.elementor-location-header .hro-content {
  width: 100% !important;
  max-width: 1240px !important;
  margin-inline: auto !important;
  gap: 24px;
}
:is(.elementor-253, .elementor-107, .elementor-266) #hro-abschluss > .hro-content {
  box-sizing: border-box;
  width: 100% !important;
  max-width: 1240px !important;
  margin-inline: auto !important;
  padding-inline: 32px !important;
}
@media (max-width: 1024px) {
  :is(.elementor-253, .elementor-107, .elementor-266) #hro-abschluss > .hro-content {
    padding-inline: 28px !important;
  }
}
@media (max-width: 767px) {
  :is(.elementor-253, .elementor-107, .elementor-266) #hro-abschluss > .hro-content {
    padding-inline: 20px !important;
  }
}

/* Schmale Desktopfenster: einzeilige Navigation bis zum Tablet-Menü. */
@media (min-width: 1025px) and (max-width: 1199px) {
  .elementor-location-header .hro-content { gap: 12px; }
  .elementor-location-header .hro-header-logo {
    width: 180px !important;
    flex-shrink: 0;
  }
  .elementor-location-header .hro-header-logo img {
    width: 180px;
    height: 67px;
  }
  .elementor-location-header .hro-header-navigation .elementor-nav-menu--main a {
    padding-inline: 6px !important;
  }
  .elementor-location-header .hro-header-registration {
    padding-inline: 20px !important;
    flex-shrink: 0;
  }
}

/* Logo-Versionen: kompakt in der Navigation, vollständig im Startseiten-Hero. */
.elementor-location-header .hro-header-logo img {
  object-fit: contain;
}
.elementor-101 .hro-hero-media {
  aspect-ratio: auto;
  padding: 32px !important;
  background: var(--hro-white);
}
.elementor-101 .hro-hero-media > .elementor-widget-image,
.elementor-101 .hro-hero-media > .elementor-widget-image > .elementor-widget-container {
  height: auto;
}
.elementor-101 .hro-hero-media .elementor-widget-image img {
  height: auto;
  object-fit: contain;
}
.elementor-101 .hro-hero-media .hro-hero-badge-widget {
  display: none !important;
}
@media (max-width: 767px) {
  .elementor-101 .hro-hero-media { padding: 20px !important; }
}

@media (min-width: 768px) and (max-width: 1024px) {
  .elementor-101 .hro-hero-media {
    max-width: 600px;
    margin-inline: auto !important;
  }
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Inter Local';
	font-display: swap;
	src: url('https://symposium.safety-nerds.at/wp-content/uploads/2026/07/InterVariable-latin-2027.woff2') format('woff2'),
		url('https://symposium.safety-nerds.at/wp-content/uploads/2026/07/InterVariable.ttf') format('truetype');
}
/* End Custom Fonts CSS */