/* Hero Container */
.hero {
/*  background-attachment: fixed; */
  background-size: cover;
  background-position: center center;
}

/* Das eigentliche Hero-Bild (fixiert im Hintergrund) */
.hero::before {
  content: "";
/*  position: fixed; */
  inset: 0;
  background-image: url('/user/pages/01.home/_hero/hero.jpg');
  background-size: cover;    /* <— HIER kannst du ändern: 'contain' oder 'cover' */
  background-position: center center; /* oder z. B. 'top center' */
  background-repeat: no-repeat;
}

.modular-hero {
/*  position: relative; */
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  color: #fff; /* Default Textfarbe */
  height: 80vh; /* Hero nimmt xx der Viewport-Höhe */
  min-height: 500px; /* optional Minimum */
  overflow: hidden;
  z-index: 1;
}

/* Overlay */
.modular-hero .image-overlay {
/*  position: absolute; */
  inset: 0;
  background-color: rgba(0, 0, 0, 0.2) !important; /* Schwarz, 50% transparent */
  z-index: 0;
}

/* Hero Text */
.modular-hero .container {
/*   position: relative;  */
  z-index: 0; /* Text über Overlay */
  text-align: center;
  padding: 100px 20px; /* Optional: Abstand oben/unten */
}

.modular-hero h5 {
  font-family: 'LatoLatinWeb', Arial, sans-serif !important;
  font-weight: 700 !important;
  font-size: 3.2rem !important;
  line-height: 1.2 !important;
  letter-spacing: 0.05rem !important;
  margin-top: 1% !important;
  color: #fff;
  text-shadow:
      10px 10px 30px rgba(0,0,0,1),
     -10px -10px 30px rgba(0,0,0,1),
      10px -10px 30px rgba(0,0,0,1),
     -10px 10px 30px rgba(0,0,0,1);
}

.modular-hero h6 {
  font-family: 'LatoLatinWeb', Arial, sans-serif !important;
  font-weight: 400 !important;
  font-size: 1.6rem !important;
  font-style: italic;
  line-height: 1.4 !important;
  letter-spacing: 0.02rem !important;
  margin-top: -0.5rem !important;
  text-shadow:
  10px 10px 30px rgba(0,0,0,1),
 -10px -10px 30px rgba(0,0,0,1),
  10px -10px 30px rgba(0,0,0,1),
 -10px 10px 30px rgba(0,0,0,1);


}

#to-start {
    position: absolute; /* oder absolute, falls du es willst */
    z-index: 3; /* höher als Overlay (1) und Text (2) */
    color: #fff; /* optional: Pfeilfarbe */
    font-size: 2rem; /* Größe anpassen */
    margin-bottom: 4rem;
    left: 50%;
    transform: translateX(-50%);
    transition: transform 0.3s ease, color 0.3s ease; /* Smooth Hover */
    }

    #to-start:hover {
        color: #d91480;          /* Farbe ändern beim Hover */
        transform: translateX(-50%) translateY(-5px); /* leicht nach oben bewegen */
    }

    /* Pulsieren + leichtes Auf-und-Ab beim Scroll */
    #to-start.pulse {
      animation: pulse 2s infinite;
    }

    @keyframes pulse {
      0%, 100% { transform: translateX(-50%) translateY(0); }
      50% { transform: translateX(-50%) translateY(-10px); }
    }


    /*-----------------------------------
            Next concert homepage
    -------------------------------------*/

    .next-concert-wrapper {
      padding: 0 6rem 0 6rem; /* links/rechts etwas Luft zum Rand */
      margin-top: -5rem;
      background-color: #fefefe;
    }

    .next-concert-card {
      display: flex;
      flex-direction: row;
      background-color: #fff;
      border-radius: 0.3rem;  /* top-left, top-right, bottom-right, bottom-left */
      box-shadow: 0 4px 12px rgba(0,0,0,0.15);
      margin: 0.1rem auto;
      padding-bottom: 2rem;
      padding-right: 1rem;
      padding-left: 0.75rem;
      overflow: hidden;
      position: relative;
      z-index: 1 !important;
    }

    /* Bild links */
    .next-concert-image {
      width: 300px;
      max-width: 300px;
      flex-shrink: 0;
      background-color: #fff;
      padding: 0.75rem 1rem 1rem 0rem;
      overflow: hidden;
    }

    .next-concert-image img {
      width: 100%;         /* passt sich Container-Breite an */
      height: auto;        /* Höhe proportional */
      display: block;
      object-fit: cover;   /* optional, nur wenn du zugeschnittene Bilder willst */
      border-radius: 0.5rem;
    }

    /* Info rechts */
    .next-concert-info {
      flex: 1 1 auto !important;
      display: flex !important;
      flex-direction: column !important;
      justify-content: center !important;
    }

    /* Datum */
    .next-concert-date {
      font-size: 0.9rem;        /* etwas kleiner */
      color: #666;               /* dezentes Grau */
      margin: 0 0 0.5rem 0;      /* Abstand unter Datum */
      padding: 1.5rem 2rem 0 1rem;
      display: flex;
      flex-wrap: wrap;        /* damit Zeilen umbrechen */
      align-items: center;    /* vertikal mittig auf Desktop */
    }

    .next-concert-date .highlight {
        color: #d91480;
        font-weight: 400;
        font-style: italic;
        margin-right: 0.5rem;  /* Abstand zwischen Highlight und Datum auf Desktop */
    }

    /* Titel */
    .next-concert-title {
      font-size: 1.3rem !important;         /* kleiner als vorher, z.B. 1.5rem */
      margin: 0 0 0.5rem 0;        /* Abstand unter Titel reduzieren */
      line-height: 1.2;          /* kompakter Zeilenabstand */
      font-weight: 300 !important;           /* etwas leichter als fett */
      padding-left: 1rem;
    }

    .next-concert-subtitle {
      font-size: 1rem !important;
      color: #222;
      font-weight: 400;
      margin: 0;        /* Abstand oben und unten entfernen */
      padding-left: 1rem;
    }

    .next-concert-program,
    .next-concert-soloists {
      list-style: none;
      font-size: 0.9rem;
      margin: 0.25rem 0rem 0.5rem 0;
      padding-left: 2.5rem;
      padding-right: 1rem;
    }

    .next-concert-soloists a {
      font-size: 0.9rem;
    }

    .next-concert-soloists li::before,
    .next-concert-program li::before {
      content: "–";               /* gewünschtes Zeichen, z.B. – oder • oder » */
      color: #d91480;             /* optional: Farbe des Zeichens */
      display: inline-block;
      width: 1rem;                 /* Abstand zwischen Zeichen und Text */
      margin-left: -1rem;          /* bündig mit Liste einrücken */
    }

    .next-concert-program li,
    .next-concert-soloists li {
      line-height: 1.5;
      margin-bottom: 0.1rem;
      margin-top: 0rem;
    }

    /* Container für Buttons */
    .next-concert-buttons {
        margin-top: 2.5rem;      /* Abstand über den Buttons */
        display: flex;
        justify-content: center;
        padding-left: 0rem;
        align-items: center;
        gap: 0.5rem;
        flex-wrap: wrap;
    }

    /* Primärer Ticket-Button */
    .next-concert-buttons .btn-primary {
      background: linear-gradient(135deg, #8a0a54 0%, #d91480 45%) !important;
        color: #fff !important;
        font-size: 0.85rem;
        border: none;
        padding: 0.2rem 0.5rem;
        border-radius: 0.3rem;
        transition: background-color 0.3s ease;
        display: flex;
        align-items: center;
        justify-content: center;
        height: 1.8rem;
        line-height: normal;
        min-width: 6.2rem;
    }

    .next-concert-buttons .btn-primary:hover {
      background: linear-gradient(225deg,
    #d91480 65%, #8a0a54 100%) !important;
    filter: brightness(1.1);
    box-shadow: 0 3px 6px rgba(0,0,0,0.15);
    transition: all 0.4s ease;
    transform: translateY(-1px);
  }

    /* Sekundärer Mehr Infos Button */
    .next-concert-buttons .btn-secondary {
      background: linear-gradient(135deg, #004a79 60%, #0070b5 100%);
      color: #fff !important;
      border: none;
      padding: 0.2rem 0.5rem;
      border-radius: 0.3rem;
      transition: background-color 0.3s ease;
      display: flex;
      align-items: center;
      justify-content: center;
      height: 1.8rem;
      line-height: normal;
      min-width: 6.2rem;
    }

    /* Tertiärer Spielplan Button */
    .next-concert-buttons .btn-third {
    background: linear-gradient(135deg, #004a79 60%, #0070b5 100%);
      color: #fff !important;
      border: none;
      padding: 0.2rem 0.5rem;
      border-radius: 0.3rem;
      transition: background-color 0.3s ease;
      display: flex;
      align-items: center;
      justify-content: center;
      height: 1.8rem;
      line-height: normal;
      min-width: 6.2rem;
    }

    .next-concert-buttons .btn-secondary:hover,
    .next-concert-buttons .btn-third:hover {
    background: linear-gradient(225deg, #004a79 60%, #0070b5 100%);
    transform: translateY(-1px);
    transition: all 0.4s ease;
    box-shadow: 0 4px 8px rgba(0,0,0,0.2);
    filter: brightness(1.15);
    color: #fff;
    }

    /* Deaktivierter Ticket-Button */
    .next-concert-buttons .btn.disabled,
    .next-concert-buttons .btn[aria-disabled="true"] {
        position: relative;
        background-color: #d91480;
        color: #fff;
        cursor: not-allowed;
        pointer-events: none;
    }

  /* -----------------------------------
           home_text
    ------------------------------------- */

  .modular-text.bg-gray {
      margin-top: 0rem;
      padding-top: 0rem;
      margin-bottom: 0rem;
      padding-bottom: 0rem;
  }

  .modular-text.bg-gray .container {
      padding: 1rem 0 0rem 0 !important;
  }

  /*=======Solisten-Liste Homepage==============*/

  .solisten ul {
      list-style: none;
      padding: 0;
      margin: 0; /* Wichtig! */
      margin-bottom: 2rem;
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 0rem 3rem;
  }

  .solisten li {
      display: flex;
      align-items: flex-start;
      gap: 1rem;
      margin-bottom: 1.5rem;
      break-inside: avoid;
  }

  .solisten {
    text-align: center;
  }

  .solisten h2 {
  padding-bottom: 2rem;
  display: inline-block;
  }

  .solisten h2::after {
      content: "";                       /* Pseudo-Element benötigt content */
      display: block;                     /* Zeilenumbruch unter der H */
      width: 60%;                         /* 60% der H-Breite */
      height: 1px;                        /* Höhe der Linie */
      background-color: #d91480;          /* Linie Farbe */
      margin: 0 auto;                     /* zentriert */
      margin-top: 0.5rem;                 /* Abstand zur H1, anpassen nach Geschmack */
      margin-bottom: 1.5rem;
      border-radius: 0.15rem;
  }

  .solist-image {
    flex-shrink: 0;
    width: 75px;
    height: 75px;
    object-fit: cover;
    border-radius: 0.3rem;
  }

  .solist-info {
      display: flex;
      flex-direction: column;
      justify-content: center;
      text-align: left;
  }

  .solist-info a {
      font-size: 1rem;
      margin-bottom: 0.1rem;
      text-align: left;
  }

  .solist-info .instrument {
      color: #666;
      font-size: 0.95rem !important;
      text-align: left;
  }

  /*===== Teaser grid Homepage ====*/

  .teaser-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 1rem;
      margin-top: 1rem;
      margin-bottom: 1.5rem;
  }

  .teaser-card {
      background: #fff;
      border-radius: 0.5rem;
      padding: 1.5rem;
      box-shadow: 0 2px 8px rgba(0,0,0,0.1);
      transition: transform 0.3s ease, box-shadow 0.3s ease;
      text-align: center;
  }

  .teaser-card:hover {
      transform: translateY(-1px);
      box-shadow: 0 4px 16px rgba(0,0,0,0.15);
  }

  .teaser-card h3 {
      margin-top: 0;
      margin-bottom: 0rem;
      color: #333;
      font-size: 1.4rem !important;
      font-weight: 400 !important;
      text-align: center;
      display: inline-block;
  }

  .teaser-card h3::after {
      content: "";
      display: block;
      width: 60%;
      height: 1px;
      background-color: #d91480;
      margin: 0 auto;
      margin-top: 0.5rem;
      margin-bottom: 1.5rem;
      border-radius: 0.15rem;
  }

  .teaser-card p {
    text-align: left;
  }

  .teaser-card.full-width {
      grid-column: 1 / -1;
  }

  /* ---- Logos in den boxen  ---- */

  .logos {
      margin: 0.1rem auto;
      padding: 1.5rem 1rem;
  }

  .logos-row {
      display: flex;
      justify-content: center;
      gap: 5rem;
      margin-bottom: 4rem;
  }

  .logos-row:last-child {
      margin-bottom: 0;
  }

  .logos img {
      height: 100%;
      max-height: 100px;
      width: auto;
      filter: grayscale(0%);
      opacity: 1;
      transition: all 0.3s ease;
  }

  .logos img:hover {
      max-height: 100%;
      width: auto;
      filter: grayscale(5%);
      opacity: 0.7;
      transition: all 0.3s ease;
      transform: scale(1.05);
  }


  /* =========================
     Spielplan Intro Modul
  ========================= */



  .spielplan-intro-text {
    text-align: center;
    margin: 0 auto;
  }
/*
  .spielplan-intro-line {
      width: 100%;
      height: 1px;
      background-color: #d91480;
      margin: 2rem auto 0;
  }
*/

  /* ------------------------------------------
        Konzertübersicht
  --------------------------------------------- */

  /* Full-width grauer Hintergrund */


  /* Container innen weiß */
  .concert-overview.container {
       /* Weiß für den inneren Bereich */
    margin: 0 auto;            /* Zentriert */
    padding: 0 0.5rem 3rem 0.5rem;           /* Innenabstand */
    box-sizing: border-box;
    background-color: #fefefe;
    border-radius: 0rem;
  }

  .concert-overview {
    display: flex;
    flex-direction: column;
    gap: 1rem; /* größerer Abstand zwischen den Konzerten */
    padding: 2rem 0;   /* etwas Luft nach oben und unten */
  }

  /* Concert Preview Layout */
  .concert-preview {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    align-items: flex-start;
    width: 100%;
    background-color: #fefefe;
    padding: 2.5rem 0 1rem 0;
    margin-bottom: 1rem;
    position: relative;
    border-top: 1px solid #d91480;
/*    border-radius: 0rem;
    box-sizing: border-box;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); */
  }

  .concert-img {
    flex: 0 0 auto;
    max-width: 250px;
  }

  .concert-img img {
    width: 100%;
    height: auto;
    border-radius: 0.5rem;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    object-fit: cover;
  }

  .concert-info {
    flex: 1;
  }

  /* Datum */
  .concert-date {
    font-weight: 400;
    margin-bottom: 0.2rem;
    font-size: 0.85rem;
    color: #50596c;
  }

  /* Titel */
  .concert-title {
    margin: 0.2rem 0 0.5rem 0;
    color: #222;
    font-size: 1.4rem !important;
    font-weight: 300 !important;
  }


  /* Überschriften vor den Listen */
  .concert-subtitle {
    font-weight: 400;
    font-size: 0.1rem;
    color: #222;       /* gleiche Farbe wie Datum oder Titel optional */
    margin: 0.5rem 0 0.2rem 0; /* Abstand oben/unten */
  /*   text-transform: uppercase; optional: Großbuchstaben */
    letter-spacing: 0rem;   /* optional: leicht gesperrt */
  }

  /* Einheitliche Listen (Werke + Solisten) */
  .concert-list {
    margin: 0.1rem 0 0rem 0;
    padding-left: 0;
    list-style: none;
    color: #444;
  }

  .concert-list li {
    margin: 0 0 0.25rem 0; /* Abstand zwischen Listenelementen */
    line-height: 1.5;
    font-size: 0.9rem;
    padding-left: 0.6rem;  /* leichter Einzug für bessere Lesbarkeit */
    position: relative;
  }

  .concert-list li a {
    font-size: 0.9rem;
  }

.concert-list li::before {
    content: "-";      /* kurzer Strich als Aufzählungszeichen */
    color: #d91480;    /* z.B. passend zur Buttonfarbe */
    display: inline-block;
    position: absolute;
    left: 0;                /* Strich direkt links */
  }

  /* Buttons */
  .concert-buttons {
    margin-top: 2rem;
    display: flex;
    gap: 0.5rem;
}

.concert-buttons .ticket-button {
display: inline-flex;
align-items: center;
justify-content: center;
padding: 0.2rem 0.4rem;
font-size: 0.85rem;
border-radius: 0.3rem;
line-height: normal;
height: 1.8;
text-decoration: none;
white-space: nowrap;
min-width: 6.2rem;
transition: all 0.3s ease;
border: none;
color: #fff !important;
border: none;
border-radius: 0.3rem;
min-width: 6.2rem;
height: 1.8rem;
line-height: normal;
}


/* Aktiver Button (Farbe / Gradient) */
.concert-buttons .ticket-button.active {
  background: linear-gradient(135deg, #8a0a54 0%, #d91480 45%) !important;
  transition: background-color 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.concert-buttons .ticket-button.active:hover {
  background: linear-gradient(225deg, #d91480 65%, #8a0a54 100%) !important;
  filter: brightness(1.1);
  transform: translateY(-1px);
  box-shadow: 0 3px 6px rgba(0,0,0,0.15);
  transition: all 0.4s ease;
}

/* Vergangenes Konzert */
.concert-buttons .ticket-button.past,
.concert-buttons .ticket-button.disabled {
  background: #d91480;
  cursor: not-allowed;
  pointer-events: none;
  opacity: 0.5 !important;
}

/* Info-Button "Mehr erfahren" */
.concert-buttons .ticket-button.info {
  background: linear-gradient(135deg, #004a79 60%, #0070b5 100%);
  transition: background-color 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.concert-buttons .ticket-button.info:hover {
  background: linear-gradient(225deg, #004a79 60%, #0070b5 100%);
  transform: translateY(-1px);
  transition: all 0.4s ease;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
  filter: brightness(1.15);
  color: #fff;
}




/* Vergangene Konzerte: Datum durchstreichen */
.concert-info .concert-date.past {
  text-decoration: line-through;
  color: #666 !important;
  opacity: 0.7;
}

.concert-overview .concert-preview.past {
  opacity: 1;
}

.concert-overview .concert-preview.past .btn {
  opacity: 1;

}


/* ---------------------------------------------
          Konzertdetailseite
------------------------------------------------- */

/* === Gesamte Sektion === */

.konzert-detail .container {
  padding-top: 2rem !important;
}

.konzert-detail {
  background-color: #fefefe;
  color: #222;
  padding-top: 0rem;
  padding-bottom: 1rem;
  padding-left: 0rem;
  padding-right: 0rem;
  margin: 0 0 auto;
}

/* === Header === */

.konzert-detail-header {
  margin-bottom:  1rem;
  text-align: center;
}

.konzert-detail-titel {
  margin-top: 0rem;
  margin-bottom: 1.2rem;
}

.konzert-detail-meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
  font-size: 0.9rem;
  color: #50596c;
  padding-bottom: 1rem;      /* Abstand unterhalb der Meta-Infos */
  border-bottom: 1px solid #d91480; /* Linie */
  margin-bottom: 1rem;        /* Abstand zur nächsten Sektion */
}

.konzert-detail-meta span {
  display: inline-flex;
  align-items: center;
}

/* Ticket Button */

.konzert-page .concert-buttons .btn {
display: inline-flex;
align-items: center;
justify-content: center;
padding: 0.2rem 0.4rem;
font-size: 0.85rem;
border-radius: 0.3rem;
border: none;
line-height: normal;
height: 1.8;
text-decoration: none;
white-space: nowrap;
min-width: 6.2rem;
transition: all 0.3s ease;
color: #fff !important;
}

/* Aktiver Button (Farbe / Gradient) */
.konzert-page .concert-buttons .btn-primary:not(.disabled) {
  background: linear-gradient(135deg, #8a0a54 0%, #d91480 45%) !important;
  transition: background-color 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.konzert-page .concert-buttons .btn-primary:not(.disabled):hover {
  background: linear-gradient(225deg, #d91480 65%, #8a0a54 100%) !important;
  filter: brightness(1.1);
  transform: translateY(-1px);
  box-shadow: 0 3px 6px rgba(0,0,0,0.15);
  transition: all 0.4s ease;
}

/* Vergangenes Konzert */
.konzert-page .concert-buttons .btn-primary.disabled.past,
.konzert-page .concert-buttons .btn-primary.disabled:not(.past) {
  background: #d91480;
  cursor: not-allowed;
  pointer-events: none;
  opacity: 0.5 !important;
}





.ticket-btn-small {
  display: inline-block;
  margin: 1rem auto;
  padding: 0.5rem 0.8rem;
  background: linear-gradient(225deg,
     #d91480 65%, #8a0a54 100%) !important;
 filter: brightness(1.1);
     transform: translateY(-3px);
     box-shadow: 0 3px 6px rgba(0,0,0,0.15);
     transition: all 0.4s ease;
}

.ticket-btn-small:hover {
  background-color: #004a79;
  color: #fff !important;
}

.ticket-btn-small--disabled {
    opacity: 1;
    cursor: not-allowed;
    pointer-events: none;
}


.konzert-page .concert-buttons {
    display: flex;
    gap: 0.5rem;
    justify-content: center; /* zentriert horizontal */
}

.ticket-btn-wrapper {
    text-align: center !important;   /* Button zentrieren */
    margin-top: 1rem;     /* Abstand zum Text */
}


.konzert-ticket-wrapper {
  width: 100%;       /* Button nimmt volle Breite */
  margin-top: 2rem;     /* Abstand zum Text/Bild */
  text-align:center;
}

/* === Grid Bereich: Text & Bild === */
.konzert-detail-container {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  align-items: flex-start;
  position: relative;
}

.konzert-detail-text h3,
.konzert-soloists-title {
  font-weight: 400 !important;
  font-size: 1.2rem !important;
  color: #50596c;
  border-bottom: 1px solid #eee; /* kleine Linie unter jeder Überschrift */
  padding-bottom: 3px;
  margin-bottom: 0.5rem;
}


.konzert-soloists-title {
padding-top: 1rem;
padding-bottom: 3px;
margin-bottom: 0.5rem;
}

/* Erste Überschrift: kein margin-top */
.konzert-detail-text h3:first-of-type {
  margin-top: 0;
}

/* Alle anderen Überschriften (z.B. Solisten) */
.konzert-detail-text h3:not(:first-of-type) {
  margin-top: 1.5rem; /* Abstand nach oben für andere Abschnitte */
}

.konzert-detail-text {
  flex: 1 1 400px;
}

.konzert-detail-bild {
  flex: 1 1 1 1rem;
  max-width: 300px;
}

.konzert-detail-bild img {
  width: 100%;
  height: auto;
  border-radius: 0.5rem;
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
  object-fit: cover;
}

/* === Programm === */

.konzert-detail-text ul,
.konzert-soloists,
.konzert-programm {
  list-style: none;   /* entfernt die Standard-Punkte */
  padding-left: 0;    /* kein Standard-Einzug */
  margin: 0;
}

.konzert-detail-text li,
.konzert-soloists li {
  margin: 0 0 0.3rem 0; /* Abstand zwischen Listenelementen */
  line-height: 1.5;
  font-size: 0.95rem;
  padding-left: 0.8rem;  /* leichter Einzug für bessere Lesbarkeit */
  position: relative;
}

.konzert-soloists li a {
  font-size: 0.95rem;
}

/* Optional: kleine farbliche Markierung oder Icon vor jedem Eintrag */
.konzert-detail-text li::before,
.konzert-soloists li::before {
  content: "-";      /* kurzer Strich als Aufzählungszeichen */
  color: #d91480;    /* z.B. passend zur Buttonfarbe */
  display: inline-block;
  position: absolute;
  left: 0;                /* Strich direkt links */
}

.konzert-programm .composer {
  font-weight: 500;      /* Fett oder halbfett */
  color: #222;           /* optional Farbe */
}

.konzert-programm .work {
  font-weight: 400;      /* Normal */
  color: #50596c;          /* optional etwas dezenter */
}


/* === Orchester & Leitung === */
.konzert-leitung {
  margin-top: 1rem;
  font-size: 0.95rem !important;
  color: #50596c;
}

.leitung_strong {
  font-weight: 600;
  color: #222;
}

.konzert-orchester {
  font-size: 0.9rem !important;
  font-style: italic;
  color: #50596c;
  padding-left: 0rem;
  padding-bottom: 1rem;
  border-top: 1px solid #eee;
  margin-top: 0rem;
}

.konzert-extra-text-full {
  width: 100%;
  padding-top: 0rem;
  padding-bottom: 0rem;
  line-height: 1.5;
  text-align: center;
}

.konzert-extra-text-full h2 {
  font-size: 2rem !important;
  font-weight: 300 !important;
  color: #222;
  margin-top: 4rem;
  margin-bottom: 0.2rem;
  padding-bottom: 0rem;
  display: inline-block;   /* h4 wird jetzt "Textbreite" */
  position: relative;      /* für Pseudo-Element notwendig */
}

.konzert-extra-text-full h2::after {
    content: "";                       /* Pseudo-Element benötigt content */
    display: block;                     /* Zeilenumbruch unter der H */
    width: 60%;                         /* 60% der H-Breite */
    height: 2px;                        /* Höhe der Linie */
    background-color: #d91480;          /* Linie Farbe */
    margin: 0 auto;                     /* zentriert */
    margin-top: 0.5rem;                 /* Abstand zur H1, anpassen nach Geschmack */
    margin-bottom: 1.5rem;
    border-radius: 0.15rem;
}

.konzert-extra-text-full p {
  text-align: left;
  color: #50596c !important;
}

/* Links in allen Konzertlisten */
.konzert-detail-text li a,
.konzert-soloists li a,
.concert-list li a {
  text-decoration: none; /* optional */
}


/*--------------------------------------
           Tickets
--------------------------------------- */

/* Nur für den inneren Content, Header bleibt volle Breite */


.ticket-content-container {
    margin: 0rem 0rem;
    padding-top: 0rem;
}

.ticket-header {
    padding-top: 0rem;
    margin-top: 0rem;
    text-align: center;
}

.ticket-intro p {
  text-align: left;
  margin-bottom: 0.7rem; /* mehr Abstand zwischen den Absätzen */
}

.ticket-intro-bottom {
    text-align: left;
    margin-bottom: 0rem;
}

.ticket-intro-bottom h5 {
    padding-top: 0rem;
    line-height: 0.1rem;
    margin-bottom: 1rem;
}

.ticket-intro-bottom h5:first-of-type {
  padding-top: 2.5rem;
}

.ticket-intro-bottom .highlight {
    color: #222;
    font-size: 1.2rem;
    font-weight: 300;
    text-decoration: underline;
    text-decoration-color: #d91480; /* Linie farblich anpassen */
    text-underline-offset: 2px;     /* Abstand zum Text */
}
.ticket-intro-bottom .ticket-text
.ticket-intro .ticket-text {
    font-size: 0.95rem;   /* gewünschte Schriftgröße */
    line-height: 1.4;    /* optional für bessere Lesbarkeit */
    color: #50596c;         /* optional: Textfarbe */
}

.ticket-intro-bottom p:last-of-type {
  margin-bottom: 1rem;
}

.ticket-intro-bottom .ticket-icon {
    font-size: 0.95rem !important;   /* gewünschte Größe */
    color: #004a79;      /* optional: passend zu deinem Pink */
    margin-right: 0rem;
    margin-left: 0.2rem;
    vertical-align: middle;
}

.ticket-hint {
    margin: 0;        /* entfernt alle Margins */
    padding: 0 0; /* optional: etwas Abstand nach oben und unten */
}

.ticket-hint p {
  padding-top: 2rem;
  padding-bottom: 0rem;
  margin-bottom: 0rem;
  font-style: italic;
  line-height: 1.2;
  color: #50596c;
}

.ticket-page section:last-of-type {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}


/* Preis- & Abo-Boxen Grid */

.ticket-prices,
.ticket-subscriptions {
    display: flex;
    flex-wrap: wrap;            /* Boxen umbrechen, wenn zu schmal */
    gap: 1.5rem;                /* Abstand zwischen den Boxen */
    justify-content: center;    /* zentriert die Boxen */
    margin-bottom: 2rem;
}



/*  ticket box full width ----- */

/* Gesamte Ticketbox */
.ticket-block-fullwidth {
    width: 100%;
    max-width: 100%;           /* optional, damit Box nicht zu breit wird */
    margin: 0rem auto;          /* zentriert auf der Seite */
    padding: 0.5rem 0rem;
    border: 0px solid #d91480;
    border-radius: 0.5rem;
    background: #fefefe;
  /*  box-shadow: 0 2px 4px rgba(0,0,0,0.05); */
}

/* Container */
.ticket-block-container {
    width: 100%;
}

/* Titel der Box */
.ticket-block-title {
    font-weight: 500;
    font-size: 1.2rem !important;
    color: #004a79;
    text-align: center;
    margin-bottom: 1rem;
    margin-top: 0rem;
}

/* Liste ohne Bulletpoints */
.ticket-block-list {
    list-style: none; /* keine Punkte */
    padding: 0;
    margin: 0;
}

.ticket-block-item .bindestrich {
    margin-right: 0.3rem;
    margin-left: 0.3rem;
}

/* Einzelne Zeilen */
.ticket-block-item {
    display: flex;
    justify-content: space-between; /* Datum/Titel links, Button rechts */
    align-items: flex-start;
    padding: 0.1rem 0;
    border-bottom: 1px solid #eee; /* Trennung zwischen Zeilen */
    font-size: 0.9rem;
    line-height: 1.3;
}

/* Letzte Zeile ohne Border */
.ticket-block-item:last-child {
    border-bottom: none;
}

/* Titel linksbündig */
.ticket-block-item .ticket-title {
    text-align: left;
    flex: 1;  /* nimmt den gesamten Platz links ein */
}

.ticket-page .concert-title {
    font-size: 0.9rem !important;
    font-style: italic;
    font-weight: 300 !important;
    color: #50596c;
}

.ticket-page .concert-title a {
    font-size: 0.9rem !important;
    font-style: italic;
    font-weight: 400 !important;
}

.mt-logo {
margin-left: 0.5rem;
height: 1.2em;
 filter: drop-shadow(0 0 2px rgba(255,255,255,0.8));
}

.ticket-block-item .ticket-button.active {
    padding: 0.2em 0.5em;
    height: 1.6rem;
    font-size: 0.8rem;
    color: #fff !important;
    text-shadow: 1px 1px 2px rgba(197, 0, 123, 0.5);
    text-decoration: none;
    border-radius: 0.3rem;
  background: linear-gradient(135deg, #8a0a54 0%, #d91480 45%);
    text-align: left;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-left: 0.3rem;
}


.ticket-block-item .ticket-button.disabled,
.ticket-block-item .ticket-button.past {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0.25rem 0.5rem;
    min-width: 6.2rem;
    font-size: 0.8rem;
    border-radius: 0.3rem;
    background: #d91480 !important;
  /*    background: #d91480; */
    color: #fff !important;
    text-decoration: none;
    white-space: nowrap;
    margin-top: 0;
}

/* Button Hover Effekt */
.ticket-block-item .ticket-button.active:hover {
/*  background: linear-gradient(45deg, #a50f5f 15%, #c21275 50%, #e699c6 85%) !important; */
background: linear-gradient(225deg, #d91480 65%, #8a0a54 100%) !important;
    filter: brightness(1.15);
    transform: translateY(-1px);
    box-shadow: 0 3px 6px rgba(0,0,0,0.15);
    transition: all 0.4s ease;
}


/* Disabled / vergangene Tickets */
.ticket-button.disabled,
.ticket-button.past {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
}

.ticket-block-item {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}



/* --- GRUNDBOX für Preis- und Abo-Listen --- */
.ticket-prices-section,
.ticket-subscriptions-section {
  width: 100%;
  max-width: 100%;           /* optional, damit Box nicht zu breit wird */
  margin: 1rem 0 0rem 0;          /* zentriert auf der Seite */
  padding: 0.1rem auto;
  border: 0px solid #d91480;
  border-radius: 0.5rem;
  background: #fefefe;
/*  box-shadow: 0 2px 4px rgba(0,0,0,0.05); */
}

/* Überschriften */
.ticket-prices-title,
.ticket-subscriptions-title {
    font-size: 1.2rem !important;
    margin-bottom: 0rem !important;
    margin-top: 2rem;
    font-weight: 300 !important;
    color: #222;
    text-align: left !important;
}

.ticket-prices-title,
.ticket-subscriptions-title {
    text-align: left;   /* Überschrift linksbündig */
    margin-bottom: 1rem; /* optional Abstand zur Box */
    width: 100%;        /* wichtig, damit Flex-Einstellungen der Eltern ignoriert werden */
    text-decoration: underline;
    text-decoration-color: #d91480;
    text-underline-offset: 2px;
}

.ticket-prices-title h5,
.ticket-subscriptions-title h5 {
    padding-top: 0rem;
    line-height: 0.1rem;
}


/* UL-Basis */
.ticket-prices-list,
.ticket-subscriptions-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

/* Einzelne Listeneinträge */
.price-list-item,
.subscription-list-item {
    display: flex;
    justify-content: flex-start;
    align-items: baseline;
    padding: 0.02rem 0;
    border-bottom: 1px solid #eee;
    font-size: 1rem;
}

/* Letzte Zeile ohne Linie */
.price-list-item:last-child,
.subscription-list-item:last-child {
    border-bottom: none;
}

/* Kategorie fett */
.price-category,
.subscription-category {
    font-weight: 400;
    flex-basis: 40%;
text-align: left;
font-size: 0.9rem;
color: #004a79;
}

/* Beschreibung grauer und kleiner */
.price-description,
.subscription-description {
    color: #004a79;
    flex-basis: 40%;
    font-size: 0.9rem;
}

/* Betrag rechts */
.price-amount,
.subscription-amount {
    font-weight: 600;
    flex-basis: 20%;
    text-align: right;
    color: #d91480;
}


/* ----------------------------------
     Über uns
--------------------------------------*/

/* ----  Hintergrundbild ------- */

.background-image {
    width: 100%;
    height: 400px; /* beliebig anpassbar */
    background-attachment: fixed;  /* fixiertes Bild */
    background-size: cover;
    background-position: center;
}

.parallax-layer,
.parallax-container {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.parallax-layer {
  width: 100%;
  display: flex;
  justify-content: center;
  margin: 2.5rem 0;
  margin-bottom: 2rem;
}

.parallax-container {
  background-attachment: fixed;
  background-size: cover;
  background-position: center;
  width: 100%;
  height: 600px;
  box-sizing: border-box;
  max-width: none;  /* Bild geht full-width */
}

/* ------ Container Juckel - Benno ------ */

/* Team-Bilder nebeneinander */
#leitung h1 {
    margin-top: 0.5rem;
    padding-top: 0.5rem;
}

.team-row {
  display: flex;
  justify-content: center;
  gap: 6rem;
  flex-wrap: wrap;
}

.team-member {
  max-width: 300px;
  text-align: center;
}

.team-member img {
  width: 100%;
  border-radius: 0.5rem;
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

.team-member p {
  margin-top: 8px;
}

.module-section h1 {
  margin-bottom: 0rem;      /* Abstand zu den Team-Bildern */
}

#leitung {
  text-align: center;
}

#leitung h1 {
    margin-bottom: 3rem;   /* oder 2rem, wie du möchtest */
}

#leitung .team-member a p {
    font-size: 0.95rem !important;     /* kleinerer Text */
    line-height: 1.3;      /* angenehmer Zeilenabstand */
    margin-top: 0.5rem;    /* etwas Abstand zum Bild */
    font-weight: 400;
}


/*--------- Über die Konzerte und Kloster ---------*/

/* nur das allererste Modul bekommt Platz unter dem fixen Header */


/* Allgemeiner Wrapper für alle modularen Textblöcke */
.modular-section {
    width: 100%;
    margin: 0 auto;
    padding: 0rem 0.5rem 0rem 0.5rem;      /* Oberer/unterer Abstand für alle Module */
}


.ueberkonzerte-m-2 .member-inner h1.page-header-h1-mod {
    margin-top: 0 !important;
    padding-top: 0.5rem !important;
    /* Überschrift Kloster  */
}
.ueberkonzerte-m-2 .common-padding {
    padding-top: 0 !important;
}

/*----------------------------------------
       Musiker Seiten "Person"
--------------------------------------------*/


/* member-inner bleibt volle Breite */
.person-page .member-inner {
    flex: 0 0 auto !important;
    width: 100% !important;
}

.person-page h1 {
    text-align: center;
    margin-bottom: 1rem;
}

.person-content {
    overflow: hidden; /* Float korrekt umschließen */
}

.person-image-float {
    float: right;                 /* Bild rechts floaten */
    margin: 0.5rem 1rem 1.5rem 1rem;        /* Abstand links und unten */
    max-width: 300px;             /* Bild kleiner machen */
    width: 100%;                  /* responsive */
    height: auto;
    border-radius: 0.5rem;          /* runde Ecken */
    box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* leichter Schatten */
}

.person-weitere-infos {
    margin-top: 2rem;
    text-align: left;
    padding-left: 0rem;
    padding-right: 0.5rem;
    padding-bottom: 0rem;
}

.person-weitere-infos h2 {
    font-size: 1.4rem !important;
    font-weight: 300 !important;
    margin-bottom: 0.5rem;
    margin-top: 0rem;
    padding-left: 0.5rem;
    text-align: left;
    display: inline-block;
}

.person-weitere-infos h2::after {
    content: "";                       /* Pseudo-Element benötigt content */
    display: block;                     /* Zeilenumbruch unter der H */
    width: 60%;                         /* 60% der H-Breite */
    height: 2px;                        /* Höhe der Linie */
    background-color: #d91480;          /* Linie Farbe */
    margin: 0 auto;                     /* zentriert */
    margin-top: 0.5rem;                 /* Abstand zur H1, anpassen nach Geschmack */
    margin-bottom: 0rem;
    border-radius: 2px;
}

.person-weitere-infos ul {
    list-style: none;
    padding-left: 0;
    margin-bottom: 0rem !important;
}

.person-weitere-infos li::before {
    content: "-";      /* kurzer Strich als Aufzählungszeichen */
    color: #d91480;    /* z.B. passend zur Buttonfarbe */
    display: inline-block;
    position: absolute;
    left: 0;                /* Strich direkt links */
  }

.person-weitere-infos li {
    margin-bottom: 0.5rem;
    line-height: 1.5;
    font-size: 1rem;
    padding-left: 0.8rem;  /* leichter Einzug für bessere Lesbarkeit */
    position: relative;
    margin-bottom: 0rem !important;
}

.person-weitere-infos a {
    color: #007acc;       /* Linkfarbe */
    text-decoration: none; /* optional */
    font-weight: 300 !important;
}

.person-weitere-infos a:hover {
    text-decoration: underline !important;
}


/* ---------------------------------------------
    Förderkreis   Features Icon, Beschriftung
------------------------------------------------ */

.foerderkreis .member-inner h1.page-header-h1-mod {
  margin-top: 0 !important;
  padding-top: 2.5rem !important;
  /* 2. Überschrift */
}


.modular-features.standard {
    margin-bottom: 0rem; /* statt z.B. 1.5rem */
    padding-bottom: 0px;
}

.frame-box {
  margin-top: 0rem;
  margin-bottom: 0px;
  padding-bottom: 0px;
}

.frame-box .columns .column {
    margin-bottom: 30px;
}

/* Standard: kein Link-Stil für alle h6 */
.feature-icon h6 {
  font-size: 1rem !important;
  font-weight: 400 !important;
    color: #50596c !important;
    padding: 0.5rem 0.2rem;
    text-decoration: none;
    transition: color 0.3s; /* sanfte Farbänderung beim Hover */
}

.feature-content p {
  font-size: 0.9rem !important;
  font-weight: 400 !important;
  color: #50596c;
  opacity: 1;
  padding-bottom: 0rem;
  margin-bottom: -2rem;
  text-align: center !important;
}

a .feature-icon h6 {
  font-size: 1rem !important;
  font-weight: 400 !important;
    color: #007BFF !important;
    text-decoration: none;
    transition: color 0.3s; /* sanfte Farbänderung beim Hover */
}

a:hover .feature-icon h6 {
  font-size: 1rem !important;
  font-weight: 400 !important;
    color: #004a79 !important;
    text-decoration: inherit;
    transition: color 0.3s; /* sanfte Farbänderung beim Hover */
}

a .feature-content p {
  font-size: 0.8rem !important;
  font-weight: 400 !important;
  color: #007BFF;
  opacity: 1;
}

a:hover .feature-content p {
  font-size: 1rem !important;
  font-weight: 400 !important;
  color: #004a79;
  opacity: 1;
}

.fa-envelope {
    font-size: 6rem;
    color: #004a79;
    opacity: 1;
}

.fa-fax {
    font-size: 6rem;
    color: #004a79;
    opacity: 1;
}

.fa-at {
    font-size: 6rem;
    color: #004a79;
    opacity: 1;
}

.foerderkreis .member-inner {
  text-align: center;
}

.foerderkreis p {
  text-align: left;

}

.member-inner p:last-of-type {
  margin-bottom: 2rem;

}

.foerderkreis .member-inner h4 {
  text-align: left !important;
  font-size: 1.2rem !important;
  font-weight: 300 !important;
  color: #50596c !important;
  text-decoration-line: underline;
  text-decoration-color: #d91480;
  text-underline-offset: 2px;
  margin-bottom: 0.5rem;
}

/* Hinweisbox in der Förderkreis-Seite */
.foerderkreis .foerderkreis-hinweis {
    display: inline-block;        /* Box schrumpft auf Textbreite */
    background-color: #fefefe;
    border-left: 3rem solid #d91480 !important;
    border: 0.1rem solid #d91480;
    padding: 1rem 1.5rem;
    font-size: 1rem;
    font-weight: 500;
    color: #50596c;
    border-radius: 6px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    margin-top: 0rem;
    margin-bottom: 1em;
    max-width: 100%;              /* damit sie nicht über den Container hinausgeht */
}

.foerderkreis-hinweis-wrapper {
    text-align: center;
    z-index: 1;
}


/* -----------------------------------------
         Kontaktseite
-------------------------------------------- */



.kontaktinfos .member-inner p {
  text-align: center;

}

.kontakt-icons {
  padding-top: 2.5rem;
  margin-top: 0rem;
}

.contact-row {
  display: flex;
  align-items: flex-start; /* Icons und Text vertikal zentrieren */
  gap: 3rem;
  margin-bottom: 3rem;
  padding-left: 2rem;
  padding-right: 2rem;
}

.contact-row .text {
  font-size: 0.95rem;        /* Schriftgröße des Texts */
  line-height: 1.2;     /* Zeilenhöhe für bessere Lesbarkeit */
  color: #50596c;         /* Schriftfarbe */
}

p .aboservice {
  color: #d91480 !important;
  font-size: 0.95rem;
}

p .fkreis {
  color: #004a79 !important;
  font-size: 0.95rem;
}

.contact-row .text p {
  font-size: 0.95rem !important;
  margin: 0 0 0.6rem 0;
  line-height: 1.5 !important;
}

.contact-row .text a {
  font-size: 0.95rem !important;
  margin: 0 0 0.6rem 0;
  line-height: 1 !important;
}

.contact-row h5 {
  margin-top: 0;
  margin-bottom: 0.5rem;
  text-align: left;
  color: #50596c;
}

.kontakt-icons .contact-row .icon {
  min-width: 4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 4rem; /* gleiche Box-Höhe für alle Icons */
}

.kontakt-icons .icon i {
  font-size: 5rem;
  color: #004a79;
}

/* ===== Anfahrt ==========*/

.module-member .module-subtitle {
    font-size: 1rem !important;
    font-weight: 500 !important;
    margin-bottom: 1rem;
    margin-top: 1.5rem;
    line-height: 1.5;
    text-align: left;
    color: #50596c;
}

.module-body {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    align-items: flex-start;
}

.module-text {
    flex: 1 1 55%;
    min-width: 250px;
}

.module-text-line {
    margin-bottom: 0.5rem;
    line-height: 1.5;
    font-size: 0.95rem;
    text-align: left;
}

.bus {
  color: #d91480;
}

.module-text-line:last-child {
  margin-bottom: 2rem;
}

.module-image {
    flex: 0 0 40%;
    min-width: 150px;
    padding-bottom: 2rem;
}

.module-image img {
    width: 100%;
    height: auto;
    border-radius: 0.5rem;
}

.anfahrt .member-inner h1.page-header-h1-mod {
    margin-top: 0 !important;
    padding-top: 1.5rem !important;
    /* Überschrift Anfahrt  */
}

/* Container muss relative Position haben */
.tooltip-container {
  position: relative;
  display: inline-block;
}

/* Tooltip-Text verstecken und positionieren */
.tooltip-text {
  visibility: hidden;
  width: max-content; /* passt sich an Text an */
  max-width: 200px;   /* optional */
  background-color: rgba(43, 76, 118, 0.8);
  color: #fff;
  text-align: center;
  padding: 0.4rem 0.6rem;
  border-radius: 0.4rem;
  position: absolute;
  top: 25%;
   /*bottom: 100%;   über dem Bild */
  left: 50%;
  transform: translateX(-50%);
  margin-bottom: 0.4rem;
  opacity: 0;
  transition: opacity 0.3s ease-in-out; /* schneller als default browser */
  pointer-events: none; /* verhindert Mausinteraktion */
  font-size: 0.85rem;
  z-index: 10;
}

/* Tooltip beim Hover einblenden */
.tooltip-container:hover .tooltip-text {
  visibility: visible;
  opacity: 1;
}

.fa-triangle-exclamaion {
  color: #d91480;
}


/* ============ Footer =========== */

#footer {
    background-color: #004a79 !important;
    color: #fefefe !important;
    padding: 1rem 0 0.75rem 0;
}

#footer .container {
    padding: 0;
    margin: 0 auto;
    width: 100%;
    background-color: #004a79 !important;
}

.footer-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    background-color: #004a79 !important;
}

.footer-sk,
.footer-md {
  background-color: #004a79 !important;
  line-height: 1.4;
  font-size: 0.7rem
}


#footer a {
    color: #fff !important;
    text-decoration: none;
    margin: 0 0.3rem;
    font-size: 0.7rem;
}

#footer a:hover {
    color: #d91480 !important;
    text-decoration: underline;
    margin: 0 0.3rem;
    font-size: 0.7rem;
}

#footer .fa-heart {
  color: #d91480 !important;
    padding-left: 0.3rem;
}

.pulse {
  display: inline-block;
    animation: pulse 1.5s infinite ease-in-out;
}

@keyframes pulse {
    0% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.12);
    }
    100% {
        transform: scale(1);
    }
}


#footer a.fheart {
  color: #d91480 !important;
}

#footer a.fheart:hover {
  color: #fff !important;
}

#footer a.social-media {
  color: #fff !important;
  font-size: 1.7rem !important;
}

#footer a.social-media:hover {
  color: #d91480  !important;
  font-size: 1.7rem !important;
}

.mobile-container {
background-color: #004a79 !important;
}



/* ===== Impressum ======= */

.impressum-page h2 {
color: #50596c;
}

.impressum-page h3 {
color: #50596c;
text-align: left;
text-decoration: underline;
text-decoration-color: #d91480;
text-underline-offset: 2px;
}


/* ========= datenschutz ========= */

.datenschutz-page ul {
  list-style-type: circle;
  padding: 0;
  margin-top: 1rem !important;
  margin-bottom: 1rem !important;
  line-height: 1rem;
}

.datenschutz-page .member-inner li {
  font-size: 0.8rem;
  text-align: left;
  margin-bottom: 0rem !important;
  margin-top: 0rem !important;
}

.datenschutz-page .member-inner p {
font-size: 0.8rem !important;
margin-bottom: 0.4rem;
}

.datenschutz-page .member-inner h4 {
  text-align: left;
  font-size: 0.85rem !important;
  font-weight: 400 !important;
  color: #50596;
  text-decoration-line: underline;
  text-underline-offset: 2px;
  margin-top: 1rem;
}

.datenschutz-page .member-inner .hinweis-schwenke {
  font-style: italic;
}

/* =================================
================= Fotonachweis =======
=========================================*/

.fotonachweis-page ul {
  text-align: left;
  font-size: 0.85rem;
}

.person-content {
    overflow: hidden; /* verhindert Layout-Probleme */
}

.float-right {
    float: right;
    margin: 0 1rem 1.25rem 1rem;
    position: relative;
    max-width: 300px;
    width: 100%;
    position: relative;
}

.float-left {
    float: left;
    margin: 0 1rem 1rem 0; /* Abstand rechts vom Text */
    max-width: 300px;
    width: 100%;
    position: relative;
}

.credit-container {
    position: relative;
    border-radius: 0.5rem; /* passt sich an das Bild an */
    overflow: hidden;       /* Border-Radius sichtbar */
}

.credit-container img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: inherit;
}

/* Vertikaler Bildnachweis außerhalb des Containers */
.credit-flag {
    position: absolute;
    top: 0%;
    right: 0.01rem;
    writing-mode: vertical-rl;
    transform-origin: bottom right;
    background: rgba(0,0,0,0.7);
    color: #fff;
    padding: 0.2rem 0.1rem;
    font-size: 0.6rem;
    font-style: italic;
    border-radius: 0.3rem;
    white-space: nowrap;
    pointer-events: none;
    z-index: 1;
}

.concert-image-wrapper.float-left {
    float: left;
    margin: 0 1rem 1rem 0; /* Abstand rechts vom Text */
    position: relative;     /* für den Overlay-Nachweis */
    display: inline-block;  /* Wrapper passt sich Bildbreite an */
}

/* Bild im Wrapper */
.concert-image-wrapper img {
    display: block;
    width: 300px;           /* gewünschte Bildbreite */
    height: auto;
    border-radius: 0.5rem;
}

/* === !!! Nicht löschen: Credit-Anzeige in der Solisten-Liste auf der Homepage, wenn nötig. Dazu list-solisten.html.twig.credit-wrapper !!! ===
.solist-image-wrapper .credit-flag {
    font-size: 0.3rem;
    padding: 0.2rem 0.03rem;
}

.solist-image-wrapper {
    position: relative;
    display: inline-block;
    max-width: 75px;
    width: 100%;
}

.solist-image-wrapper .credit-container {
    position: relative;
    border-radius: 0.3rem;
    overflow: hidden;
}

.solist-image-wrapper img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: inherit;
}

================================================ */
