
/* Kastenlauf 5.9.0 – Flughafen-/Split-Flap-Startseite */
.airport-home-view {
  max-width: none !important;
  padding: 0 !important;
}
.airport-home {
  --airport-blue: #07182a;
  --airport-blue-2: #0c2945;
  --airport-board: #080d12;
  --airport-board-2: #111920;
  --airport-line: rgba(194, 222, 242, .22);
  --airport-yellow: #f6c94a;
  --airport-white: #f5f7f4;
  position: relative;
  overflow: hidden;
  min-height: 78vh;
  padding: clamp(22px, 3vw, 48px) clamp(14px, 2.4vw, 42px) 34px;
  color: var(--airport-white);
  background:
    radial-gradient(circle at 50% 42%, rgba(255, 171, 61, .23), transparent 22%),
    radial-gradient(circle at 50% 5%, rgba(40, 133, 206, .35), transparent 32%),
    linear-gradient(180deg, #071c34 0%, #0b2741 42%, #10283b 58%, #07111c 100%);
  border-radius: 0 0 30px 30px;
  isolation: isolate;
}
.airport-home::before {
  content: "";
  position: absolute;
  inset: 54% 0 0;
  background:
    linear-gradient(90deg, transparent 49.65%, rgba(255,255,255,.75) 49.8%, rgba(255,255,255,.75) 50.2%, transparent 50.35%),
    repeating-linear-gradient(90deg, rgba(255,181,65,.8) 0 5px, transparent 5px 9vw),
    linear-gradient(180deg, rgba(10,13,17,.1), rgba(1,4,8,.86));
  clip-path: polygon(38% 0, 62% 0, 100% 100%, 0 100%);
  opacity: .45;
  z-index: -2;
}
.airport-sky-glow {
  position: absolute;
  z-index: -3;
  width: 48vw;
  height: 48vw;
  border-radius: 50%;
  left: 50%;
  top: 22%;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, rgba(255,188,79,.35), rgba(255,154,47,.08) 42%, transparent 68%);
  filter: blur(6px);
}
.airport-runway-lines {
  position: absolute;
  z-index: -1;
  inset: 55% 10% 0;
  background:
    linear-gradient(100deg, transparent 49.85%, rgba(255,255,255,.18) 50%, transparent 50.15%),
    linear-gradient(80deg, transparent 49.85%, rgba(255,255,255,.18) 50%, transparent 50.15%);
  opacity: .6;
}
.airport-welcome {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  margin: 0 auto clamp(20px, 2vw, 34px);
  text-align: center;
  text-transform: uppercase;
  letter-spacing: .18em;
}
.airport-welcome h2 {
  margin: 0;
  font-size: clamp(22px, 2.8vw, 45px);
  font-weight: 850;
  text-shadow: 0 4px 18px rgba(0,0,0,.4);
}
.airport-wing {
  color: var(--airport-yellow);
  font-size: clamp(24px, 3vw, 42px);
  transform: rotate(-10deg);
}
.airport-wing-right { transform: scaleX(-1) rotate(-10deg); }

.airport-layout {
  display: grid;
  grid-template-columns: minmax(300px, 1fr) minmax(280px, .9fr) minmax(300px, 1fr);
  gap: clamp(15px, 2vw, 30px);
  align-items: center;
  max-width: 1640px;
  margin: 0 auto;
}
.airport-board {
  overflow: hidden;
  background: linear-gradient(180deg, rgba(10,15,20,.97), rgba(5,9,13,.98));
  border: 1px solid rgba(131,174,204,.3);
  border-radius: 12px;
  box-shadow: 0 18px 50px rgba(0,0,0,.46), inset 0 1px rgba(255,255,255,.07);
}
.airport-board-head {
  padding: 13px 18px 12px;
  border-bottom: 1px solid rgba(255,255,255,.13);
  background: linear-gradient(180deg, #0e1720, #080e14);
}
.airport-board-title {
  display: flex;
  align-items: center;
  gap: 13px;
  color: var(--airport-yellow);
  font-size: clamp(21px, 2vw, 31px);
  letter-spacing: .16em;
}
.airport-plane { font-size: 1.15em; }
.airport-board-head small {
  display: block;
  margin: 2px 0 0 42px;
  letter-spacing: .08em;
  color: #d7e0e6;
}
.airport-board-columns,
.airport-board-row {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  align-items: center;
}
.airport-board-columns {
  min-height: 34px;
  padding: 0 12px;
  color: #b9c4cc;
  border-bottom: 1px solid rgba(255,255,255,.11);
  font-size: 12px;
  letter-spacing: .16em;
}
.airport-board-columns span:last-child { padding-left: 9px; }
.airport-board-rows {
  min-height: 150px;
  padding: 5px 8px 9px;
}
.airport-board-row {
  min-height: 38px;
  border-bottom: 1px solid rgba(210,228,240,.08);
}
.airport-board-row:last-child { border-bottom: 0; }
.airport-number {
  display: flex;
  gap: 2px;
  align-items: center;
  justify-content: flex-start;
}
.airport-name {
  display: flex;
  min-width: 0;
  gap: 2px;
  padding-left: 8px;
  overflow: hidden;
}
.split-char {
  --flip-delay: 0ms;
  position: relative;
  display: inline-grid;
  place-items: center;
  flex: 0 0 clamp(14px, 1.18vw, 19px);
  height: 29px;
  overflow: hidden;
  color: #f3f3ee;
  background:
    linear-gradient(180deg, #182128 0 48%, #060a0d 49% 51%, #11181e 52% 100%);
  border: 1px solid #202a31;
  border-radius: 2px;
  box-shadow: inset 0 1px rgba(255,255,255,.05), 0 1px 2px rgba(0,0,0,.5);
  font-family: "Arial Narrow", "Roboto Condensed", "DIN Condensed", monospace;
  font-weight: 800;
  font-size: 16px;
  line-height: 1;
  text-transform: uppercase;
  transform-origin: center;
  backface-visibility: hidden;
}
.split-char.is-space {
  background: transparent;
  border-color: transparent;
  box-shadow: none;
  flex-basis: 8px;
}
.split-char.flip {
  animation: airportFlip .58s cubic-bezier(.2,.75,.25,1) var(--flip-delay) both;
}
.split-char.flip:nth-child(5n+1),
.split-char.flip:nth-child(7n+3) { color: var(--airport-yellow); }

@keyframes airportFlip {
  0%   { transform: perspective(180px) rotateX(-92deg); opacity: .15; filter: brightness(.4); }
  25%  { transform: perspective(180px) rotateX(42deg); opacity: .75; }
  52%  { transform: perspective(180px) rotateX(-22deg); opacity: .9; }
  76%  { transform: perspective(180px) rotateX(10deg); }
  100% { transform: perspective(180px) rotateX(0); opacity: 1; filter: brightness(1); }
}

.airport-center {
  position: relative;
  text-align: center;
}
.airport-center-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-height: 480px;
  justify-content: center;
  padding: 24px 8px;
}
.airport-center-kicker {
  margin-bottom: 10px;
  color: #d9e6ef;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .26em;
}
.airport-logo-frame {
  display: grid;
  place-items: center;
  width: min(92%, 420px);
  min-height: 220px;
  margin: 0 auto 8px;
  filter: drop-shadow(0 15px 32px rgba(0,0,0,.38));
}
.airport-logo-frame img {
  display: block;
  width: min(100%, var(--home-logo-width, 390px));
  max-height: 310px;
  object-fit: contain;
}
.airport-logo-fallback {
  width: min(92%, 350px);
  aspect-ratio: 1.25;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border: 9px double rgba(240,245,245,.92);
  border-radius: 50%;
  background: radial-gradient(circle at 50% 20%, #174d78, #092743 68%, #061725);
  box-shadow: 0 0 0 5px #111820, 0 0 0 9px rgba(244,200,72,.82);
}
.airport-logo-fallback span {
  font-weight: 900;
  letter-spacing: .15em;
  color: var(--airport-yellow);
}
.airport-logo-fallback strong {
  margin-top: 6px;
  font-size: clamp(31px, 4vw, 58px);
  line-height: .95;
}
.airport-event-meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-top: 4px;
}
.airport-event-meta strong {
  font-size: clamp(22px, 2.2vw, 34px);
}
.airport-event-meta span {
  color: #dce6eb;
  font-weight: 800;
  font-size: 11px;
  letter-spacing: .14em;
}
.airport-handwriting {
  margin: 16px 0 12px;
  font-family: "Segoe Script", "Bradley Hand", cursive;
  font-size: clamp(19px, 2vw, 30px);
  font-style: italic;
  transform: rotate(-3deg);
  text-shadow: 0 3px 10px rgba(0,0,0,.35);
}
.airport-live-status {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  width: min(100%, 440px);
  gap: 7px;
}
.airport-live-status div {
  min-width: 0;
  padding: 9px 7px;
  background: rgba(4,14,25,.68);
  border: 1px solid rgba(184,213,232,.18);
  border-radius: 8px;
  backdrop-filter: blur(7px);
}
.airport-live-status b {
  display: block;
  color: var(--airport-yellow);
  font-size: 18px;
}
.airport-live-status span {
  display: block;
  margin-top: 2px;
  color: #dce6eb;
  font-size: 10px;
}
.airport-status-line {
  max-width: 420px;
  margin: 9px auto 0;
  color: #aebfc9;
  font-size: 11px;
}

.airport-quick-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 9px;
  max-width: 1120px;
  margin: clamp(18px, 2.5vw, 32px) auto 0;
}
.airport-quick-nav button {
  min-width: 126px;
  padding: 12px 16px;
  border: 1px solid rgba(143,194,228,.34);
  border-radius: 8px;
  color: #f7f8f6;
  background: rgba(4,17,29,.82);
  box-shadow: 0 8px 24px rgba(0,0,0,.25);
  font-weight: 750;
  cursor: pointer;
}
.airport-quick-nav button:hover {
  border-color: var(--airport-yellow);
  transform: translateY(-2px);
}
.airport-quick-nav button::before {
  content: "✦";
  margin-right: 7px;
  color: var(--airport-yellow);
}
.airport-runway-footer {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(16px, 5vw, 70px);
  margin: 22px auto -10px;
  opacity: .85;
}
.airport-runway-footer span {
  width: 8px; height: 8px; border-radius: 50%;
  background: #ffc554;
  box-shadow: 0 0 12px #ffb84b;
}
.airport-runway-footer i {
  width: 44px; height: 2px; background: rgba(244,247,245,.45);
}

@media (max-width: 1180px) {
  .airport-layout {
    grid-template-columns: 1fr 1fr;
    align-items: stretch;
  }
  .airport-center {
    grid-column: 1 / -1;
    grid-row: 1;
  }
  .airport-center-card { min-height: 360px; }
  .airport-board-left { grid-column: 1; grid-row: 2; }
  .airport-board-right { grid-column: 2; grid-row: 2; }
}
@media (max-width: 720px) {
  .airport-home { padding-left: 9px; padding-right: 9px; border-radius: 0; }
  .airport-welcome { gap: 8px; letter-spacing: .09em; }
  .airport-wing { display: none; }
  .airport-layout { display: flex; flex-direction: column; }
  .airport-center { order: 0; }
  .airport-board-left { order: 1; }
  .airport-board-right { order: 2; }
  .airport-center-card { min-height: 315px; padding: 4px 4px 16px; }
  .airport-logo-frame { min-height: 180px; }
  .airport-board-columns, .airport-board-row { grid-template-columns: 56px minmax(0, 1fr); }
  .split-char { flex-basis: 13px; height: 27px; font-size: 14px; }
  .airport-quick-nav button { flex: 1 1 130px; min-width: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .split-char.flip { animation: none; }
  .airport-quick-nav button:hover { transform: none; }
}

.airport-countdown{margin:10px auto 0;width:min(100%,330px);padding:9px 10px 10px;border:1px solid rgba(255,198,51,.32);border-radius:9px;background:linear-gradient(180deg,rgba(5,20,30,.82),rgba(9,34,48,.82))}
.airport-countdown[hidden]{display:none!important}.airport-countdown-label{display:block;margin-bottom:7px;color:#ffc633;font-size:9px;font-weight:900;letter-spacing:.12em}
.airport-countdown-units{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.airport-countdown-units>div{padding:6px 3px;border:1px solid rgba(127,164,185,.22);border-radius:6px;background:#091d2a;text-align:center}
.airport-countdown-units b{display:block;color:#ffc633;font-size:18px}.airport-countdown-units span{display:block;margin-top:4px;color:#d7e4eb;font-size:8px;font-weight:800;text-transform:uppercase}
.airport-countdown-reached{display:block;padding:5px;color:#ffc633;font-size:15px}.airport-countdown-reached[hidden]{display:none!important}

/* V6.3.1 – Kreis ohne Bildlogo, Text sauber eingepasst */
.airport-center-card{justify-content:flex-start!important;padding-top:0!important}
.airport-center-kicker{margin-top:0;margin-bottom:6px}
.airport-logo-frame{min-height:0!important;height:auto!important;margin:0 auto 7px!important;filter:drop-shadow(0 12px 26px rgba(0,0,0,.34))}
.airport-logo-frame img{display:none!important}
.airport-logo-fallback{width:230px!important;height:230px!important;aspect-ratio:1!important;box-sizing:border-box;padding:34px 18px 27px!important;justify-content:center!important;overflow:hidden}
.airport-logo-fallback span{font-size:14px!important;line-height:1;letter-spacing:.18em!important;margin:0 0 9px!important}
.airport-logo-fallback strong{display:block;width:100%;margin:0!important;font-size:36px!important;line-height:1!important;letter-spacing:-.045em;white-space:nowrap;text-align:center}
.airport-logo-fallback em{display:block;margin-top:8px;color:#fff;font-style:normal;font-weight:900;font-size:35px;line-height:1}
.airport-event-meta{margin-top:0!important}.airport-event-meta strong{display:none!important}
.airport-countdown{margin-top:7px!important}
@media(max-width:700px){.airport-logo-fallback{width:205px!important;height:205px!important;padding:29px 15px 24px!important}.airport-logo-fallback strong{font-size:31px!important}.airport-logo-fallback em{font-size:31px}}

/* V6.4.1 – Mittelblock vollständig nach oben */
.airport-layout{align-items:start!important}
.airport-center-card{
  align-self:start!important;
  justify-content:flex-start!important;
  padding-top:0!important;
  margin-top:0!important;
}
.airport-center-card > *:first-child{margin-top:0!important}
.airport-center-kicker{
  margin-top:0!important;
  padding-top:0!important;
}
/* Verhindert, dass der Mittelblock durch die hohen Gruppentafeln vertikal zentriert wird. */
.airport-center{
  align-self:start!important;
  margin-top:0!important;
  padding-top:0!important;
}

/* V6.4.2 – Mobile Startseite: sauber mittig + größer */
@media (max-width:700px){
  .airport-home{
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    padding-left:14px!important;
    padding-right:14px!important;
    overflow:hidden!important;
  }
  .airport-layout{
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    max-width:100%!important;
    margin:0 auto!important;
    align-items:center!important;
  }
  .airport-center,
  .airport-center-card{
    order:-1!important;
    width:100%!important;
    max-width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:0!important;
    padding-right:0!important;
    box-sizing:border-box!important;
    align-self:center!important;
    text-align:center!important;
  }
  .airport-center-card>*{
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .airport-hero-title{
    width:100%!important;
    max-width:100%!important;
    padding:0 8px!important;
    box-sizing:border-box!important;
    text-align:center!important;
    font-size:clamp(23px,6.2vw,31px)!important;
    line-height:1.22!important;
  }
  .airport-center-kicker{
    width:100%!important;
    text-align:center!important;
    font-size:11px!important;
  }
  .airport-logo-frame{
    width:100%!important;
    display:flex!important;
    justify-content:center!important;
  }
  .airport-logo-fallback{
    width:min(78vw,310px)!important;
    height:min(78vw,310px)!important;
    margin:0 auto!important;
    padding:42px 22px 35px!important;
  }
  .airport-logo-fallback span{font-size:16px!important}
  .airport-logo-fallback strong{font-size:42px!important}
  .airport-logo-fallback em{font-size:42px!important}
  .airport-event-meta{
    width:100%!important;
    text-align:center!important;
  }
  .airport-event-meta span{font-size:10px!important;letter-spacing:.15em!important}
  .airport-welcome{
    width:100%!important;
    text-align:center!important;
    font-size:25px!important;
    line-height:1.35!important;
  }
  .airport-stats{
    width:min(100%,430px)!important;
    margin-left:auto!important;
    margin-right:auto!important;
    gap:8px!important;
  }
  .airport-stat{min-height:72px!important}
  .airport-stat strong{font-size:20px!important}
  .airport-status-line{
    width:100%!important;
    text-align:center!important;
    font-size:10px!important;
  }
  .airport-countdown{
    width:min(100%,430px)!important;
    box-sizing:border-box!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding:12px!important;
  }
  .airport-countdown-label{font-size:10px!important}
  .airport-countdown-units{gap:7px!important}
  .airport-countdown-units>div{padding:10px 3px!important}
  .airport-countdown-units b{font-size:21px!important}
  .airport-countdown-units span{font-size:8px!important}
  .airport-board{
    width:100%!important;
    max-width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    box-sizing:border-box!important;
  }
}

/* V6.5.0 – Größen vollständig über Admin steuerbar */
.airport-hero-title{font-size:var(--home-hero,31px)!important}
.airport-center-kicker{font-size:var(--home-kicker,11px)!important}
.airport-logo-fallback{width:var(--home-circle-desktop,230px)!important;height:var(--home-circle-desktop,230px)!important}
.airport-logo-fallback span{font-size:var(--home-circle-top,16px)!important}
.airport-logo-fallback strong{font-size:var(--home-circle-title,36px)!important}
.airport-logo-fallback em{font-size:var(--home-circle-year,35px)!important}
.airport-event-meta span{font-size:var(--home-tagline,10px)!important}
.airport-welcome{font-size:var(--home-welcome,25px)!important}
.airport-stat strong{font-size:var(--home-stats,20px)!important}
.airport-status-line{font-size:var(--home-status,10px)!important}
.airport-countdown-label{font-size:var(--home-countdown-label,10px)!important}
.airport-countdown-units b{font-size:var(--home-countdown-numbers,21px)!important}
.airport-countdown-units span{font-size:var(--home-countdown-units,8px)!important}
.airport-countdown-reached{font-size:var(--home-countdown-reached,15px)!important}
.airport-board-title{font-size:var(--home-board-title,24px)!important}
.airport-board-subtitle{font-size:var(--home-board-subtitle,10px)!important}
.split-char{font-size:var(--home-group-letters,16px)!important}
@media(max-width:700px){
 .airport-logo-fallback{width:min(88vw,var(--home-circle-mobile,310px))!important;height:min(88vw,var(--home-circle-mobile,310px))!important}
 .airport-hero-title{font-size:var(--home-hero,31px)!important}
 .airport-center-kicker{font-size:var(--home-kicker,11px)!important}
 .airport-logo-fallback span{font-size:var(--home-circle-top,16px)!important}
 .airport-logo-fallback strong{font-size:var(--home-circle-title,36px)!important}
 .airport-logo-fallback em{font-size:var(--home-circle-year,35px)!important}
 .airport-event-meta span{font-size:var(--home-tagline,10px)!important}
 .airport-welcome{font-size:var(--home-welcome,25px)!important}
 .airport-stat strong{font-size:var(--home-stats,20px)!important}
 .airport-status-line{font-size:var(--home-status,10px)!important}
 .airport-countdown-label{font-size:var(--home-countdown-label,10px)!important}
 .airport-countdown-units b{font-size:var(--home-countdown-numbers,21px)!important}
 .airport-countdown-units span{font-size:var(--home-countdown-units,8px)!important}
}

/* V7.2.2 Sponsoren */
#sponsorGrid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;gap:16px!important;align-items:stretch}
#sponsorGrid .sponsor-card{min-height:150px;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center}
#sponsorGrid .sponsor-card img,#sponsorGrid .sponsor-card object{width:100%;max-width:180px;height:95px;object-fit:contain;background:#fff;border-radius:10px}
#sponsorGrid .sponsor-card-no-link{cursor:default;text-decoration:none}
.sponsors-notice{margin-top:20px;padding:16px 18px;text-align:center;border:1px solid rgba(255,255,255,.14);border-radius:14px}
.sponsors-notice strong{display:block;font-size:1.05rem;margin-bottom:4px}.sponsors-notice p{margin:0}
@media(max-width:700px){#sponsorGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}#sponsorGrid .sponsor-card{min-height:125px;padding:10px}#sponsorGrid .sponsor-card img,#sponsorGrid .sponsor-card object{height:75px}}

/* V7.2.3 – Sponsorenlogos: Originalformat automatisch beibehalten */
#sponsorGrid,
#homeSponsors .sponsor-grid{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  justify-content:center!important;
  gap:22px!important;
}
#sponsorGrid .sponsor-card-auto,
#homeSponsors .sponsor-card-auto{
  flex:0 1 auto!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  min-height:0!important;
  height:auto!important;
  padding:8px!important;
  margin:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
#sponsorGrid .sponsor-logo,
#homeSponsors .sponsor-logo{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:var(--sponsor-page-max-w,260px)!important;
  max-height:var(--sponsor-page-max-h,130px)!important;
  object-fit:contain!important;
  object-position:center!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
#sponsorGrid .sponsor-logo-pdf,
#homeSponsors .sponsor-logo-pdf{
  width:180px!important;
  height:120px!important;
  max-width:260px!important;
  max-height:130px!important;
  background:#fff!important;
}
@media(max-width:700px){
 #sponsorGrid,#homeSponsors .sponsor-grid{gap:12px!important}
 #sponsorGrid .sponsor-logo,#homeSponsors .sponsor-logo{max-width:42vw!important;max-height:95px!important}
 #sponsorGrid .sponsor-logo-pdf,#homeSponsors .sponsor-logo-pdf{width:42vw!important;height:90px!important}
}

/* V7.2.4 – Sponsorengrößen aus Admin */
#homeSponsors .sponsor-logo{
 max-width:var(--sponsor-home-max-w,260px)!important;
 max-height:var(--sponsor-home-max-h,130px)!important;
}
@media(max-width:700px){
 #sponsorGrid .sponsor-logo,#homeSponsors .sponsor-logo{
  max-width:var(--sponsor-mobile-max-w,180px)!important;
  max-height:var(--sponsor-mobile-max-h,95px)!important;
 }
}

/* V7.2.6 – sichtbares Aufblinken der Flughafenbuchstaben */
.split-char.airport-blink{
  animation:airportBoardBlink .34s ease-in-out var(--blink-delay,0ms) both!important;
}
@keyframes airportBoardBlink{
  0%{filter:brightness(1);box-shadow:inset 0 1px rgba(255,255,255,.05),0 1px 2px rgba(0,0,0,.5)}
  28%{filter:brightness(2.25);box-shadow:inset 0 0 8px rgba(255,255,255,.5),0 0 7px rgba(246,201,74,.35)}
  58%{filter:brightness(.72)}
  100%{filter:brightness(1);box-shadow:inset 0 1px rgba(255,255,255,.05),0 1px 2px rgba(0,0,0,.5)}
}

/* V7.2.8 – Logo oben rechts: Adminwerte haben immer Vorrang */
.logo-link{
  flex:0 0 auto!important;
  width:auto!important;
  height:auto!important;
  max-width:none!important;
  max-height:none!important;
  overflow:visible!important;
}
#siteLogo{
  width:var(--header-logo-width,150px)!important;
  height:var(--header-logo-height,80px)!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center!important;
  flex:0 0 auto!important;
}
#adminLogo{
  max-width:none!important;
  max-height:none!important;
  object-fit:contain!important;
  flex:0 0 auto!important;
}
/* Auch mobil keine feste CSS-Größe über die Adminwerte legen. */
@media(max-width:700px){
  #siteLogo{
    width:var(--header-logo-width,150px)!important;
    height:var(--header-logo-height,80px)!important;
    max-width:none!important;
    max-height:none!important;
  }
}

/* V7.2.9 – Cookieabfrage */
.cookie-consent{position:fixed;z-index:100000;left:16px;right:16px;bottom:16px;display:flex;justify-content:center}
.cookie-consent-inner{width:min(920px,100%);padding:18px 20px;border-radius:14px;background:#111;color:#fff;box-shadow:0 12px 40px rgba(0,0,0,.45);display:flex;gap:20px;align-items:center}
.cookie-consent strong{font-size:1.05rem}.cookie-consent p{margin:6px 0 0;line-height:1.45;font-size:.9rem;color:#eee}
.cookie-consent-actions{display:flex;gap:8px;flex:0 0 auto}.cookie-consent button{white-space:nowrap}
.cookie-settings-link{background:none!important;border:0!important;padding:0!important;box-shadow:none!important;color:inherit!important;text-decoration:underline;cursor:pointer;font:inherit}
@media(max-width:700px){.cookie-consent{left:8px;right:8px;bottom:8px}.cookie-consent-inner{display:block;padding:16px}.cookie-consent-actions{margin-top:14px;display:grid;grid-template-columns:1fr}.cookie-consent button{width:100%}}

/* V7.3.3 – Impressumsseite */
#imprintContent.content-card{max-width:1050px;margin:24px auto;padding:0;overflow:hidden}
.legal-page{padding:clamp(20px,4vw,42px)}
.legal-head{padding-bottom:22px;margin-bottom:22px;border-bottom:1px solid rgba(127,127,127,.25)}
.legal-kicker{font-size:.76rem;font-weight:800;letter-spacing:.16em;opacity:.65}
.legal-head h1{font-size:clamp(2rem,5vw,3.4rem);line-height:1;margin:.35rem 0 .6rem}
.legal-head p{margin:0;opacity:.7}
.legal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.legal-box{padding:20px;border:1px solid rgba(127,127,127,.22);border-radius:12px;background:rgba(127,127,127,.045)}
.legal-box.legal-wide{grid-column:1/-1}
.legal-box h2{font-size:1.05rem;margin:0 0 10px}
.legal-box p{margin:.35rem 0;line-height:1.6}
.legal-config-hint{padding:10px 12px;border-left:3px solid currentColor;opacity:.7}
.legal-note{margin:22px 0 0;padding:14px 16px;border-radius:10px;background:rgba(127,127,127,.08);line-height:1.55;font-size:.9rem}
@media(max-width:700px){.legal-grid{grid-template-columns:1fr}.legal-box.legal-wide{grid-column:auto}.legal-page{padding:18px}.legal-box{padding:16px}}

/* V7.3.8 – Unsere Technik */
.technology-page{max-width:1120px;margin:24px auto;padding:clamp(22px,4vw,46px)}
.technology-hero{max-width:880px;margin-bottom:30px}.technology-kicker{font-size:.76rem;font-weight:900;letter-spacing:.17em;opacity:.65}
.technology-hero h1{font-size:clamp(2.2rem,5vw,4rem);line-height:1;margin:.4rem 0 1rem}.technology-hero>p{font-size:1.08rem;line-height:1.7;opacity:.86}
.technology-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:30px 0 38px}.technology-step{padding:20px 18px;border:1px solid rgba(127,127,127,.24);border-radius:14px;background:rgba(127,127,127,.05)}
.technology-step span{display:block;font-size:.72rem;font-weight:900;letter-spacing:.12em;opacity:.45;margin-bottom:18px}.technology-step strong{display:block;margin-bottom:7px}.technology-step p{margin:0;line-height:1.5;font-size:.91rem;opacity:.75}
.technology-section{padding:28px 0;border-top:1px solid rgba(127,127,127,.22)}.technology-section h2,.technology-rental h2{font-size:clamp(1.35rem,3vw,2rem);margin:0 0 12px}.technology-section>p,.technology-rental>p{line-height:1.75;max-width:930px}
.technology-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px}.technology-detail-grid>div{padding:18px;border-radius:12px;background:rgba(127,127,127,.07)}.technology-detail-grid p{margin:7px 0 0;line-height:1.6;opacity:.8}
.technology-rental{margin-top:20px;padding:clamp(22px,4vw,36px);border:1px solid rgba(127,127,127,.28);border-radius:16px;background:rgba(127,127,127,.07)}.technology-contact{margin-top:18px!important;font-weight:800}.technology-contact a{text-decoration:underline}
@media(max-width:850px){.technology-flow{grid-template-columns:1fr 1fr}}@media(max-width:600px){.technology-flow,.technology-detail-grid{grid-template-columns:1fr}.technology-page{margin:12px auto;padding:18px}}

/* V7.4.0 – Geschütztes Gruppenprofil mobil optimiert */
@media (max-width:700px){
  dialog.group-profile-dialog{
    width:100vw!important;
    max-width:100vw!important;
    height:100dvh!important;
    max-height:100dvh!important;
    margin:0!important;
    padding:52px 12px 18px!important;
    border:0!important;
    border-radius:0!important;
    box-sizing:border-box!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
  }
  dialog.group-profile-dialog::backdrop{background:rgba(0,0,0,.72)}

  .group-profile-dialog .dialog-close{
    position:fixed!important;
    z-index:20!important;
    top:10px!important;
    right:12px!important;
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    min-height:42px!important;
    padding:0!important;
    border-radius:50%!important;
    font-size:1.55rem!important;
  }

  .group-profile-dialog .profile-layout{
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    max-width:100%!important;
    gap:14px!important;
  }
  .group-profile-dialog .profile-media,
  .group-profile-dialog .profile-content{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }

  .group-profile-dialog .detail-photo{
    width:100%!important;
    max-width:430px!important;
    margin:0 auto!important;
    aspect-ratio:auto!important;
    height:auto!important;
  }
  .group-profile-dialog .detail-photo img{
    display:block!important;
    width:100%!important;
    height:auto!important;
    max-height:300px!important;
    object-fit:contain!important;
    border-radius:12px!important;
  }
  .group-profile-dialog .profile-download{
    display:block!important;
    width:100%!important;
    max-width:430px!important;
    margin:8px auto 0!important;
    text-align:center!important;
    box-sizing:border-box!important;
  }

  .group-profile-dialog .profile-head{
    padding:2px 2px 8px!important;
  }
  .group-profile-dialog .profile-head h2{
    margin:.25rem 0!important;
    font-size:clamp(1.65rem,8vw,2.35rem)!important;
    line-height:1.05!important;
    overflow-wrap:anywhere!important;
  }
  .group-profile-dialog .profile-head p{margin:.35rem 0!important}

  .group-profile-dialog .profile-metrics,
  .group-profile-dialog .runtime-metrics{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .group-profile-dialog .metric{
    min-width:0!important;
    padding:11px 8px!important;
  }
  .group-profile-dialog .metric b{
    font-size:1.18rem!important;
    overflow-wrap:anywhere;
  }
  .group-profile-dialog .metric span{font-size:.76rem!important}

  .group-profile-dialog .profile-section{
    width:100%!important;
    margin:10px 0!important;
    padding:0!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }
  .group-profile-dialog .profile-section>summary{
    min-height:46px!important;
    padding:13px 12px!important;
    box-sizing:border-box!important;
    cursor:pointer;
  }
  .group-profile-dialog .profile-section>div:not(.table-wrap),
  .group-profile-dialog .profile-section>p{
    margin-left:12px!important;
    margin-right:12px!important;
  }

  .group-profile-dialog .detail-values p{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:10px!important;
    align-items:center!important;
    margin:0!important;
    padding:10px 0!important;
  }
  .group-profile-dialog .detail-values p span{
    min-width:0!important;
    overflow-wrap:anywhere!important;
  }

  /* Laufzeittabelle: auf dem Handy als Karten statt breite Desktop-Tabelle */
  .group-profile-dialog .runtime-table,
  .group-profile-dialog .runtime-table tbody,
  .group-profile-dialog .runtime-table tr,
  .group-profile-dialog .runtime-table td{
    display:block!important;
    width:100%!important;
    box-sizing:border-box!important;
  }
  .group-profile-dialog .runtime-table thead{display:none!important}
  .group-profile-dialog .runtime-table-wrap{
    width:100%!important;
    overflow:visible!important;
    padding:0 10px 10px!important;
    box-sizing:border-box!important;
  }
  .group-profile-dialog .runtime-table tr{
    margin:8px 0 12px!important;
    padding:8px 10px!important;
    border:1px solid rgba(127,127,127,.22)!important;
    border-radius:10px!important;
    background:rgba(127,127,127,.05)!important;
  }
  .group-profile-dialog .runtime-table td{
    display:grid!important;
    grid-template-columns:92px minmax(0,1fr)!important;
    gap:8px!important;
    padding:7px 0!important;
    border:0!important;
    white-space:normal!important;
    text-align:left!important;
  }
  .group-profile-dialog .runtime-table td::before{
    content:attr(data-label);
    font-size:.72rem;
    font-weight:800;
    opacity:.62;
    text-transform:uppercase;
    letter-spacing:.04em;
  }
  .group-profile-dialog .runtime-value{
    min-width:0!important;
    overflow-wrap:anywhere!important;
  }

  .group-profile-dialog .gallery-grid{
    grid-template-columns:1fr!important;
  }
  .group-profile-dialog button,
  .group-profile-dialog input,
  .group-profile-dialog select{
    min-height:44px;
    max-width:100%;
  }
}

@media (max-width:380px){
  .group-profile-dialog .profile-metrics,
  .group-profile-dialog .runtime-metrics{
    grid-template-columns:1fr 1fr!important;
  }
  .group-profile-dialog .runtime-table td{
    grid-template-columns:82px minmax(0,1fr)!important;
  }
}

/* V7.4.1 – Mobile Gruppenansicht: klarer Fullscreen */
@media (max-width:700px){
  html:has(dialog.group-profile-dialog[open]),
  body:has(dialog.group-profile-dialog[open]){
    overflow:hidden!important;
  }

  dialog.group-profile-dialog[open]{
    position:fixed!important;
    inset:0!important;
    z-index:99999!important;
    width:100vw!important;
    max-width:100vw!important;
    height:100dvh!important;
    max-height:100dvh!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:var(--bg,#fff)!important;
    overflow:hidden!important;
  }

  .group-profile-dialog .dialog-close{
    position:fixed!important;
    top:max(10px,env(safe-area-inset-top))!important;
    right:12px!important;
    z-index:100002!important;
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    min-height:44px!important;
    padding:0!important;
    display:grid!important;
    place-items:center!important;
    border-radius:50%!important;
    font-size:1.45rem!important;
    line-height:1!important;
    box-shadow:0 3px 14px rgba(0,0,0,.2)!important;
  }

  .group-profile-dialog .profile-layout{
    display:block!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
    padding:
      calc(62px + env(safe-area-inset-top))
      14px
      calc(24px + env(safe-area-inset-bottom))!important;
    box-sizing:border-box!important;
  }

  .group-profile-dialog .profile-media,
  .group-profile-dialog .profile-content{
    width:100%!important;
    max-width:680px!important;
    min-width:0!important;
    margin:0 auto!important;
  }

  /* Erst die wichtigsten Informationen, ohne riesiges Foto. */
  .group-profile-dialog .detail-photo{
    width:100%!important;
    max-width:360px!important;
    margin:0 auto 12px!important;
    height:auto!important;
    aspect-ratio:auto!important;
  }
  .group-profile-dialog .detail-photo img{
    display:block!important;
    width:100%!important;
    height:auto!important;
    max-height:220px!important;
    object-fit:contain!important;
    border-radius:12px!important;
  }
  .group-profile-dialog .profile-download{
    display:block!important;
    width:100%!important;
    max-width:360px!important;
    min-height:42px!important;
    margin:0 auto 14px!important;
    padding:10px!important;
    text-align:center!important;
    box-sizing:border-box!important;
  }

  .group-profile-dialog .profile-head{
    width:100%!important;
    margin:0 auto 12px!important;
    padding:0!important;
    text-align:center!important;
  }
  .group-profile-dialog .profile-head h2{
    margin:4px 0 6px!important;
    font-size:clamp(1.65rem,7.5vw,2.2rem)!important;
    line-height:1.08!important;
    overflow-wrap:anywhere!important;
  }
  .group-profile-dialog .profile-head p{
    margin:3px 0!important;
    line-height:1.35!important;
  }

  /* Wichtigste Werte oben als übersichtliche Kacheln. */
  .group-profile-dialog .profile-metrics,
  .group-profile-dialog .runtime-metrics{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    width:100%!important;
    margin:10px 0 14px!important;
  }
  .group-profile-dialog .metric{
    min-width:0!important;
    min-height:68px!important;
    padding:10px 7px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    border-radius:10px!important;
  }
  .group-profile-dialog .metric b{
    display:block!important;
    font-size:1.12rem!important;
    line-height:1.1!important;
  }
  .group-profile-dialog .metric span{
    display:block!important;
    margin-top:4px!important;
    font-size:.7rem!important;
    line-height:1.15!important;
  }

  /* Bereiche als klare, volle Zeilen. */
  .group-profile-dialog .profile-section{
    width:100%!important;
    margin:8px 0!important;
    padding:0!important;
    border-radius:10px!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }
  .group-profile-dialog .profile-section>summary{
    width:100%!important;
    min-height:48px!important;
    padding:13px 14px!important;
    display:flex!important;
    align-items:center!important;
    box-sizing:border-box!important;
    font-weight:800!important;
  }

  .group-profile-dialog .detail-values{
    padding:4px 14px 10px!important;
  }
  .group-profile-dialog .detail-values p{
    display:flex!important;
    justify-content:space-between!important;
    align-items:flex-start!important;
    gap:14px!important;
    width:100%!important;
    margin:0!important;
    padding:10px 0!important;
    box-sizing:border-box!important;
  }
  .group-profile-dialog .detail-values p span:first-child{
    flex:1 1 auto!important;
    min-width:0!important;
  }
  .group-profile-dialog .detail-values p span:last-child,
  .group-profile-dialog .detail-values p strong{
    flex:0 0 auto!important;
    text-align:right!important;
  }

  /* Laufzeiten: kompakte Karten, keine gequetschte Tabelle. */
  .group-profile-dialog .runtime-table-wrap{
    width:100%!important;
    padding:4px 10px 12px!important;
    overflow:visible!important;
    box-sizing:border-box!important;
  }
  .group-profile-dialog .runtime-table,
  .group-profile-dialog .runtime-table tbody{
    display:block!important;
    width:100%!important;
    min-width:0!important;
  }
  .group-profile-dialog .runtime-table thead{display:none!important}
  .group-profile-dialog .runtime-table tr{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:0 12px!important;
    width:100%!important;
    min-width:0!important;
    margin:8px 0!important;
    padding:10px 12px!important;
    box-sizing:border-box!important;
    border:1px solid rgba(127,127,127,.22)!important;
    border-radius:10px!important;
  }
  .group-profile-dialog .runtime-table td{
    display:block!important;
    width:auto!important;
    min-width:0!important;
    padding:7px 0!important;
    border:0!important;
    white-space:normal!important;
    text-align:left!important;
    overflow-wrap:anywhere!important;
  }
  .group-profile-dialog .runtime-table td::before{
    content:attr(data-label)!important;
    display:block!important;
    margin-bottom:3px!important;
    font-size:.66rem!important;
    line-height:1!important;
    font-weight:900!important;
    letter-spacing:.05em!important;
    text-transform:uppercase!important;
    opacity:.58!important;
  }

  .group-profile-dialog .gallery-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    padding:8px!important;
  }
  .group-profile-dialog .gallery-grid img{
    width:100%!important;
    height:auto!important;
    aspect-ratio:1/1!important;
    object-fit:cover!important;
  }

  .group-profile-dialog button,
  .group-profile-dialog input,
  .group-profile-dialog select{
    min-height:44px!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }
}

@media (max-width:390px){
  .group-profile-dialog .profile-layout{
    padding-left:10px!important;
    padding-right:10px!important;
  }
  .group-profile-dialog .runtime-table tr{
    grid-template-columns:1fr!important;
  }
  .group-profile-dialog .gallery-grid{
    grid-template-columns:1fr 1fr!important;
  }
}

/* V7.5.0 – Das sind wir */
.team-page{max-width:1180px;margin:24px auto;padding:clamp(22px,4vw,48px)}
.team-hero{max-width:900px;margin:0 auto 48px;text-align:center}.team-hero h1{font-size:clamp(2.4rem,6vw,4.7rem);margin:.3rem 0 1.2rem}.team-hero p,.team-thanks p{font-size:1.04rem;line-height:1.75;white-space:normal}
.team-heading{margin:0 0 22px}.team-heading h2{font-size:clamp(1.8rem,4vw,2.8rem);margin:.3rem 0}
.team-grid{display:grid;gap:22px}.team-person{display:grid;grid-template-columns:minmax(230px,32%) 1fr;gap:28px;padding:22px;border:1px solid rgba(127,127,127,.22);border-radius:18px;background:rgba(127,127,127,.045)}
.team-person:nth-child(even){grid-template-columns:1fr minmax(230px,32%)}.team-person:nth-child(even) .team-person-photo{order:2}.team-person-photo img,.team-photo-placeholder{width:100%;aspect-ratio:4/5;border-radius:14px;object-fit:cover;background:rgba(127,127,127,.1)}
.team-photo-placeholder{display:grid;place-items:center;text-align:center;padding:20px;box-sizing:border-box}.team-photo-placeholder span{font-size:4rem;font-weight:900}.team-photo-placeholder small{opacity:.6}
.team-person-copy{align-self:center;min-width:0}.team-number{font-size:.75rem;font-weight:900;letter-spacing:.14em;opacity:.45}.team-person h3{font-size:clamp(1.7rem,4vw,2.6rem);margin:.3rem 0 .1rem}.team-person-copy>strong{display:block;font-size:1.1rem;margin-bottom:15px}.team-person-copy p{line-height:1.72;margin:0}
.team-thanks{margin-top:42px;padding:clamp(24px,4vw,42px);border-radius:18px;background:rgba(127,127,127,.08)}.team-thanks h2{font-size:clamp(1.7rem,4vw,2.6rem);margin:.3rem 0 1rem}
.team-admin-person{margin:14px 0}
@media(max-width:720px){.team-page{margin:10px auto;padding:16px}.team-hero{margin-bottom:32px}.team-person,.team-person:nth-child(even){grid-template-columns:1fr;gap:16px;padding:14px}.team-person:nth-child(even) .team-person-photo{order:0}.team-person-photo img,.team-photo-placeholder{max-height:430px;aspect-ratio:4/5}.team-person-copy{padding:2px 3px 8px}.team-person-copy p{line-height:1.62}.team-thanks{margin-top:26px;padding:20px 16px}}

/* V7.5.1 – Seitenreihenfolge Admin */
.page-order-admin{display:grid;gap:8px;margin-top:12px}.page-order-row{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:10px;padding:9px 10px;border:1px solid rgba(127,127,127,.22);border-radius:10px}.page-order-pos{font-weight:900;opacity:.55}.page-order-actions{display:flex;gap:6px}.page-order-actions button{min-width:42px;padding:7px 10px}

/* V7.6.20 – PDF-Sponsoren ohne Viewer-Innenrand vollflächig in identischen Kacheln */
#sponsorGrid,
#homeSponsors .sponsor-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
  align-items:stretch!important;
}
#sponsorGrid .sponsor-card-auto,
#homeSponsors .sponsor-card-auto{
  width:100%!important;
  height:180px!important;
  min-height:180px!important;
  padding:12px!important;
  box-sizing:border-box!important;
  background:#fff!important;
  border-radius:6px!important;
  overflow:hidden!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
#sponsorGrid .sponsor-logo,
#homeSponsors .sponsor-logo,
#sponsorGrid .sponsor-pdf-frame,
#homeSponsors .sponsor-pdf-frame{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  background:#fff!important;
  border:0!important;
  overflow:hidden!important;
}
#sponsorGrid img.sponsor-logo,
#homeSponsors img.sponsor-logo{
  object-fit:contain!important;
  object-position:center!important;
}
#sponsorGrid .sponsor-logo-pdf-direct,
#homeSponsors .sponsor-logo-pdf-direct{
  display:block!important;
  width:114%!important;
  height:114%!important;
  max-width:none!important;
  max-height:none!important;
  margin:-7% 0 0 -7%!important;
  border:0!important;
  background:#fff!important;
  overflow:hidden!important;
  pointer-events:none!important;
}
/* Der Browser-PDF-Viewer zeichnet selbst einen kleinen Seiten-/Viewer-Rand.
   Das PDF wird deshalb innerhalb der bereits beschnittenen Kachel leicht vergrößert. */
#sponsorGrid .sponsor-pdf-frame,
#homeSponsors .sponsor-pdf-frame{
  position:relative!important;
  overflow:hidden!important;
}
@media(max-width:700px){
  #sponsorGrid,#homeSponsors .sponsor-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important}
  #sponsorGrid .sponsor-card-auto,#homeSponsors .sponsor-card-auto{height:105px!important;min-height:105px!important;padding:6px!important}
}


/* V7.6.21: PDF-Sponsoren nutzen die komplette Kachelfläche.
   Der PDF-Viewer wird bewusst über die Kachel hinaus skaliert und von der
   Kachel beschnitten, damit dessen eigener Seitenrand nicht sichtbar bleibt. */
#sponsorGrid .sponsor-card-auto.sponsor-card-pdf,
#homeSponsors .sponsor-card-auto.sponsor-card-pdf{
  padding:0!important;
}
#sponsorGrid .sponsor-card-pdf .sponsor-pdf-frame,
#homeSponsors .sponsor-card-pdf .sponsor-pdf-frame{
  position:relative!important;
  width:100%!important;
  height:100%!important;
  overflow:hidden!important;
  background:#fff!important;
}
#sponsorGrid .sponsor-card-pdf .sponsor-logo-pdf-direct,
#homeSponsors .sponsor-card-pdf .sponsor-logo-pdf-direct{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  transform:translate(-50%,-50%) scale(1.42)!important;
  transform-origin:center center!important;
  border:0!important;
  background:#fff!important;
  overflow:hidden!important;
  pointer-events:none!important;
}
@media(max-width:700px){
  #sponsorGrid .sponsor-card-pdf .sponsor-logo-pdf-direct,
  #homeSponsors .sponsor-card-pdf .sponsor-logo-pdf-direct{
    transform:translate(-50%,-50%) scale(1.48)!important;
  }
}


/* V7.6.22: PDF immer vollständig sichtbar (Fit Page), niemals abschneiden. */
#sponsorGrid .sponsor-card-auto.sponsor-card-pdf,
#homeSponsors .sponsor-card-auto.sponsor-card-pdf{
  padding:12px!important;
  overflow:hidden!important;
  background:#fff!important;
}
#sponsorGrid .sponsor-card-pdf .sponsor-pdf-frame,
#homeSponsors .sponsor-card-pdf .sponsor-pdf-frame{
  position:relative!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  overflow:hidden!important;
  background:#fff!important;
}
#sponsorGrid .sponsor-card-pdf .sponsor-logo-pdf-direct,
#homeSponsors .sponsor-card-pdf .sponsor-logo-pdf-direct{
  position:absolute!important;
  inset:0!important;
  left:0!important;
  top:0!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  transform:none!important;
  transform-origin:center center!important;
  border:0!important;
  background:#fff!important;
  overflow:hidden!important;
  pointer-events:none!important;
}
@media(max-width:700px){
  #sponsorGrid .sponsor-card-auto.sponsor-card-pdf,
  #homeSponsors .sponsor-card-auto.sponsor-card-pdf{padding:6px!important}
  #sponsorGrid .sponsor-card-pdf .sponsor-logo-pdf-direct,
  #homeSponsors .sponsor-card-pdf .sponsor-logo-pdf-direct{transform:none!important}
}

/* V7.6.23 – Sponsorflächen immer reinweiß; Logos horizontal und vertikal mittig. */
#sponsorGrid .sponsor-card-auto,
#homeSponsors .sponsor-card-auto,
#sponsorGrid .sponsor-pdf-frame,
#homeSponsors .sponsor-pdf-frame{
  background:#fff!important;
}
#sponsorGrid .sponsor-card-auto,
#homeSponsors .sponsor-card-auto{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
#sponsorGrid img.sponsor-logo,
#homeSponsors img.sponsor-logo{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:50% 50%!important;
  background:#fff!important;
  margin:auto!important;
}
#sponsorGrid .sponsor-card-pdf .sponsor-pdf-frame,
#homeSponsors .sponsor-card-pdf .sponsor-pdf-frame{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#fff!important;
}
#sponsorGrid .sponsor-card-pdf .sponsor-logo-pdf-direct,
#homeSponsors .sponsor-card-pdf .sponsor-logo-pdf-direct{
  position:static!important;
  inset:auto!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  margin:auto!important;
  transform:none!important;
  border:0!important;
  background:#fff!important;
}

/* V7.6.24 – PDF-Sponsoren werden als Canvas gerendert, nicht im Browser-PDF-Viewer. */
#sponsorGrid .sponsor-card-pdf .sponsor-pdf-frame,
#homeSponsors .sponsor-card-pdf .sponsor-pdf-frame{
  width:100%!important;height:100%!important;display:flex!important;
  align-items:center!important;justify-content:center!important;
  overflow:hidden!important;background:#fff!important;
}
#sponsorGrid canvas.sponsor-logo-pdf-canvas,
#homeSponsors canvas.sponsor-logo-pdf-canvas{
  display:block!important;max-width:100%!important;max-height:100%!important;
  width:auto;height:auto;margin:auto!important;background:#fff!important;
}

/* V7.6.24 – PDF-Seite als Canvas statt Browser-PDF-Viewer: weiß, vollständig, zentriert. */
#sponsorGrid .sponsor-card-pdf .sponsor-pdf-frame,
#homeSponsors .sponsor-card-pdf .sponsor-pdf-frame{
  width:100%!important;height:100%!important;display:flex!important;
  align-items:center!important;justify-content:center!important;
  overflow:hidden!important;background:#fff!important;
}
#sponsorGrid canvas.sponsor-logo-pdf-canvas,
#homeSponsors canvas.sponsor-logo-pdf-canvas{
  position:static!important;display:block!important;
  max-width:100%!important;max-height:100%!important;
  width:auto;height:auto;margin:auto!important;
  transform:none!important;background:#fff!important;border:0!important;
}
