/* ---------- Marke / Styleguide (Abzeichen "Outdoor Hero") ----------
   Farben: Dunkelblau (--sky-1) = Abzeichen-Hintergrund, Orange (--accent) = Ring &
   Aktionen, Himmelblau (--sky-3) = Claim, Sonnenuntergang (--sun-1/2) = Abzeichen-
   Himmel. Schrift: Poppins (Überschriften, Navigation, Knöpfe), selbst gehostet. */
@font-face { font-family: "Poppins"; font-weight: 400; font-style: normal; font-display: swap;
  src: url("/fonts/poppins-400.woff") format("woff"); }
@font-face { font-family: "Poppins"; font-weight: 500; font-style: normal; font-display: swap;
  src: url("/fonts/poppins-500.woff") format("woff"); }
@font-face { font-family: "Poppins"; font-weight: 700; font-style: normal; font-display: swap;
  src: url("/fonts/poppins-700.woff") format("woff"); }

:root {
  --sky-1: #0b3d63;
  --sky-2: #1a6fa8;
  --sky-3: #4fa8d8;
  --accent: #ff7a1a;
  --accent-dark: #e2650a;
  --ink: #16232e;
  --ink-soft: #4a5a68;
  --paper: #ffffff;
  --paper-soft: #f4f7f9;
  --border: #e1e7ec;
  --ok: #1c8a52;
  --warn: #b3261e;
  --sun-1: #ffe3b8;
  --sun-2: #ffb066;
  --sun-gradient: linear-gradient(180deg, var(--sun-1), var(--sun-2) 55%, var(--accent));
  --font-display: "Poppins", "Segoe UI", system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;
  --radius: 14px;
  --shadow: 0 8px 24px rgba(11, 61, 99, 0.12);
  font-size: 16px;
}

* { box-sizing: border-box; }

html, body {
  margin: 0;
  padding: 0;
  background: var(--paper-soft);
  color: var(--ink);
  font-family: "Segoe UI", system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;
  line-height: 1.5;
}

img { max-width: 100%; }

a { color: var(--sky-2); }

.container {
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 20px;
}

/* ---------- Header ---------- */

header.site-header {
  background: linear-gradient(135deg, var(--sky-1), var(--sky-2));
  color: #fff;
  padding-block: 16px;
}

.site-header .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}

.brand {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 700;
  font-size: 1.25rem;
  letter-spacing: 0.2px;
  color: #fff;
  text-decoration: none;
}

.brand { font-family: var(--font-display); }
.brand img { display: block; height: 46px; width: auto; }
.brand .brand-suffix { font-weight: 500; font-size: 0.95rem; color: var(--sky-3); letter-spacing: 1px; text-transform: uppercase; }

/* Schrift: Poppins für Überschriften, Navigation und Knöpfe */
h1, h2, h3, h4, .btn, .btn-small, .site-header nav a, .tab-btn { font-family: var(--font-display); }
h1, h2 { letter-spacing: -0.2px; }

/* Abzeichen oben auf den Einzelseiten (Freigabe, Zugang, Gutschein …) */
.page-badge { display: block; margin: 0 auto 10px; width: 92px; height: 92px; }

.site-header nav a {
  color: #eaf4fb;
  text-decoration: none;
  font-size: 0.95rem;
  margin-left: 18px;
}

.site-header nav a:hover { text-decoration: underline; }

/* Aufklappmenü «Flüge» */
.site-header .container { z-index: 45; }
.nav-dropdown { position: relative; display: inline-block; }
.nav-dropdown-menu {
  display: none; position: absolute; top: 100%; left: 8px; min-width: 290px;
  padding-top: 10px; z-index: 60;
}
.nav-dropdown-menu::before {
  content: ""; position: absolute; inset: 10px 0 0 0; background: #fff;
  border-radius: 12px; box-shadow: 0 12px 32px rgba(11, 61, 99, .28); z-index: -1;
}
.nav-dropdown:hover .nav-dropdown-menu,
.nav-dropdown:focus-within .nav-dropdown-menu,
.nav-dropdown.open .nav-dropdown-menu { display: block; }
.site-header .nav-dropdown-menu a {
  display: block; margin: 0; padding: 11px 18px; color: var(--ink); text-shadow: none;
  font-size: .95rem; text-decoration: none; white-space: nowrap;
}
.site-header .nav-dropdown-menu a:first-child { border-radius: 12px 12px 0 0; }
.site-header .nav-dropdown-menu a:last-child { border-radius: 0 0 12px 12px; }
.site-header .nav-dropdown-menu a:hover,
.site-header .nav-dropdown-menu a:focus { background: var(--paper-soft); color: var(--sky-1); text-decoration: none; }
.nav-caret { font-size: .75em; opacity: .85; }
@media (max-width: 720px) {
  .nav-dropdown-menu { position: relative; left: 0; top: 0; padding-top: 6px; min-width: 0; margin-top: 4px; }
  .nav-dropdown-menu::before { inset: 6px 0 0 0; }
  .nav-dropdown { display: block; }
}

/* ---------- Hero ---------- */

.hero {
  background: linear-gradient(180deg, var(--sky-1) 0%, var(--sky-2) 55%, var(--sky-3) 100%);
  background-size: cover;
  background-position: center 65%;
  color: #fff;
  padding-block: 72px 56px;
  min-height: 500px; /* ursprüngliche Höhe des Foto-Bereichs beibehalten */
  display: flex;
  align-items: flex-end; /* Titel + Button im unteren Teil des Fotos */
  position: relative;
  overflow: hidden;
}

.hero-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(6, 26, 43, 0.72) 0%, rgba(6, 26, 43, 0.45) 45%, rgba(11, 61, 99, 0.35) 100%);
}

.hero .container { position: relative; z-index: 2; width: 100%; }

.hero h1 {
  font-size: clamp(1.8rem, 4vw, 2.6rem);
  margin: 0 0 14px;
  max-width: 640px;
}

.hero p {
  max-width: 560px;
  color: #dcecf7;
  font-size: 1.05rem;
  margin: 0 0 24px;
}


.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: none;
  border-radius: 999px;
  padding: 12px 24px;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  transition: transform 0.06s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.btn-accent {
  background: var(--accent);
  color: #fff;
  box-shadow: 0 6px 18px rgba(255, 122, 26, 0.35);
}
.btn-accent:hover { background: var(--accent-dark); }
.btn-accent:active { transform: translateY(1px); }

.btn-ghost {
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.4);
}
.btn-ghost:hover { background: rgba(255, 255, 255, 0.2); }

.btn:disabled {
  opacity: 0.55;
  cursor: not-allowed;
  box-shadow: none;
}

/* ---------- Gallery ---------- */

section.gallery {
  padding-block: 48px 8px;
}

section.gallery h2 {
  font-size: 1.5rem;
  margin-bottom: 4px;
}

section.gallery .lead {
  color: var(--ink-soft);
  margin-top: 0;
  margin-bottom: 24px;
}

.gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
}

.gallery-grid figure {
  margin: 0;
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow);
  background: var(--paper);
  position: relative;
}

.gallery-grid img {
  display: block;
  width: 100%;
  height: 240px;
  object-fit: cover;
}

.gallery-grid figcaption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 10px 14px;
  font-size: 0.85rem;
  color: #fff;
  background: linear-gradient(0deg, rgba(11, 61, 99, 0.85), rgba(11, 61, 99, 0));
}

/* ---------- Flights section ---------- */

section.flights {
  padding-block: 48px 72px;
}

/* Abstand Impressionen → Verfügbare Flüge bewusst knapper */
section.flights#fluege {
  padding-top: 12px;
}

section.flights h2 {
  font-size: 1.5rem;
  margin-bottom: 4px;
}

section.flights .lead {
  color: var(--ink-soft);
  margin-top: 0;
  margin-bottom: 28px;
}

.flight-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 20px;
  /* Karten einer Reihe sind gleich hoch; der Button sitzt dank margin-top:auto
     immer ganz unten - so stehen alle Buttons einer Reihe auf gleicher Höhe. */
  align-items: stretch;
}

.flight-card {
  background: var(--paper);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.flight-card .date-pill {
  align-self: flex-start;
  background: var(--sky-1);
  color: #fff;
  font-weight: 600;
  font-size: 0.85rem;
  padding: 5px 12px;
  border-radius: 999px;
}

.flight-card h3 {
  margin: 4px 0 0;
  font-size: 1.15rem;
}

.flight-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 14px;
  color: var(--ink-soft);
  font-size: 0.9rem;
}

.flight-price-row {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-top: 4px;
}

.flight-price {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--sky-1);
}

.flight-share-hint { font-size: 0.82rem; color: var(--ink-soft); margin: 2px 0 6px; }

.flight-price-unit {
  color: var(--ink-soft);
  font-size: 0.85rem;
}

.price-badge {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 600;
  padding: 3px 9px;
  border-radius: 999px;
  background: #fff2e6;
  color: var(--accent-dark);
  border: 1px solid #ffd8b0;
}

.seats-row {
  font-size: 0.9rem;
  color: var(--ink-soft);
}

.seats-row strong { color: var(--ink); }

.seats-bar {
  height: 6px;
  border-radius: 999px;
  background: var(--border);
  overflow: hidden;
  margin-top: 2px;
}
.seats-bar > div {
  height: 100%;
  background: var(--ok);
}
.seats-bar.low > div { background: var(--accent); }
.seats-bar.soldout > div { background: var(--warn); }

.flight-card .btn { margin-top: auto; }

.flight-card .date-pill.waitlist { background: var(--accent-dark); }

.flight-card-cover {
  margin: -20px -20px 4px -20px;
  border-radius: var(--radius) var(--radius) 0 0;
  overflow: hidden;
}
.flight-card-cover img {
  display: block;
  width: 100%;
  height: 170px;
  object-fit: cover;
}

/* "Weitere Termine"-Aufklapper auf einer Flugkarte: fasst mehrere Flüge mit
   identischem Titel+Ort (z.B. über den Admin-"Kopieren"-Button angelegte
   Wiederholungstermine) zu einer Karte zusammen, damit die Übersicht nicht
   mit vielen fast identischen Karten überfüllt wird. */
.more-dates-toggle {
  align-self: flex-start;
  background: transparent;
  border: none;
  color: var(--sky-1);
  font-size: 0.85rem;
  font-weight: 600;
  cursor: pointer;
  padding: 2px 0;
  text-decoration: underline;
}
.more-dates-toggle:hover { color: var(--accent-dark); }

.more-dates-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
/* Ohne diese Regel bleibt die Liste trotz gesetztem [hidden]-Attribut
   sichtbar, weil die Klassenregel oben "display: flex" direkt setzt und
   damit die UA-Regel [hidden]{display:none} überschreibt (dieselbe Falle wie
   bereits bei .theme-form-banner/.form-grid dokumentiert). */
.more-dates-list[hidden] { display: none; }

.more-dates-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  font-size: 0.85rem;
  padding: 8px 10px;
  background: var(--paper-soft);
  border-radius: 8px;
}

.more-dates-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.interest-summary { display: flex; flex-direction: column; gap: 4px; }

.interest-row {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  font-size: 0.85rem;
  padding: 6px 10px;
  background: var(--paper-soft);
  border-radius: 8px;
}

.empty-state, .loading-state {
  color: var(--ink-soft);
  padding: 24px;
  text-align: center;
  border: 1px dashed var(--border);
  border-radius: var(--radius);
  background: var(--paper);
}

/* ---------- Themenflüge ---------- */

.section-subtitle {
  font-size: 1.1rem;
  margin: 0 0 4px;
  color: var(--sky-1);
}

.open-groups-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 16px;
  margin: 16px 0 32px;
}

.open-group-card {
  background: var(--paper);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 16px 18px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.open-group-card .btn { margin-top: auto; }

/* Foto des Themas oben auf der Mitfliegen-Karte (Innenabstand 16px/18px ausgleichen) */
.open-group-card .flight-card-cover {
  margin: -16px -18px 4px -18px;
}
.open-group-card .flight-card-cover img { height: 150px; }

.open-group-card h4 {
  margin: 0;
  font-size: 1.02rem;
}

.open-group-card .hint { margin: 0; }

.open-group-seats {
  font-size: 0.9rem;
}
.open-group-seats strong { color: var(--sky-1); }

.open-group-card .seats-bar { margin-top: 2px; }

.open-group-price {
  font-size: 0.85rem;
  color: var(--ink-soft);
}

/* ---------- Abflug-Tafel (Flughafen-Stil: nächste Flüge mit freien Plätzen) ---------- */

.departure-board-wrap { margin: 0 0 32px; }

.departure-board {
  background: #0b1620;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 6px 0;
  overflow: hidden;
}

.departure-row {
  display: grid;
  grid-template-columns: 16px 118px 1fr 80px 206px 190px 110px;
  align-items: center;
  gap: 14px;
  padding: 12px 20px;
  color: #eef3f7;
  font-family: "Courier New", Consolas, monospace;
  letter-spacing: 0.01em;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.departure-row:last-child { border-bottom: none; }

.departure-light {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.18);
  justify-self: center;
}

/* Blink-Ampel: rot = kurzfristig, gelb = mittelfristig, grün = weiter entfernt.
   Die Leuchtfarbe kommt aus --light-rgb (R, G, B), Keyframes teilen sich die Animation.
   Rot blinkt am schnellsten, grün am ruhigsten. Ausgebuchte Zeilen bleiben grau. */
.departure-row.urgency-red .departure-light,
.departure-row.urgency-yellow .departure-light,
.departure-row.urgency-green .departure-light {
  width: 12px;
  height: 12px;
  background: rgb(var(--light-rgb));
  animation: departure-pulse var(--light-speed, 1.4s) ease-in-out infinite;
}
.departure-row.urgency-red { --light-rgb: 255, 59, 48; --light-speed: 0.9s; }
.departure-row.urgency-yellow { --light-rgb: 255, 204, 0; --light-speed: 1.4s; }
.departure-row.urgency-green { --light-rgb: 52, 199, 89; --light-speed: 2s; }

/* Intensives Blinken: grosser Hell-/Dunkel-Kontrast, kräftiger Leuchtring und leichtes
   Pulsieren der Grösse, damit es im Augenwinkel klar auffällt. */
@keyframes departure-pulse {
  0%, 100% { box-shadow: 0 0 3px 1px rgba(var(--light-rgb), 0.65); opacity: 0.35; transform: scale(0.85); }
  50% { box-shadow: 0 0 22px 9px rgba(var(--light-rgb), 1); opacity: 1; transform: scale(1.2); }
}

@media (prefers-reduced-motion: reduce) {
  .departure-row .departure-light { animation: none !important; opacity: 1; }
}

.departure-date {
  font-weight: 700;
  font-size: 0.92rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.departure-title {
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.departure-seats {
  text-align: right;
  color: #ffce8a;
  font-weight: 700;
  white-space: nowrap;
}

/* Dauer-Spalte (auf Wunsch ergänzt): dezente, kleinere Zusatz-Info neben dem
   Titel - kein Eyecatcher wie der Preis, bleibt daher bewusst leer statt
   einen Platzhalter zu zeigen, wenn keine Dauer bekannt ist (z.B. Flüge ohne
   ausgefülltes Dauer-Freitextfeld im Admin-Bereich). */
.departure-duration {
  color: #9fb3c2;
  font-size: 0.8rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Preis als Eyecatcher/Aufforderung auf der Abflug-Tafel (auf Wunsch von
   Stefan): kräftige, gut lesbare Badge-Optik, die sich klar vom übrigen
   Konsolen-Look der Tafel abhebt und zum Klick auf den Aktions-Button
   "verführt". */
.departure-price {
  justify-self: start;
  min-width: 0;
  max-width: 100%;
  background: rgba(255, 122, 26, 0.16);
  border: 1px solid rgba(255, 122, 26, 0.55);
  color: #ffb066;
  font-weight: 700;
  font-size: 0.82rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  border-radius: 14px;
  padding: 4px 12px;
  box-sizing: border-box;
  line-height: 1.25;
}
.departure-price small { display: block; font-weight: 500; font-size: 0.7rem; color: #ffd2a3; }

/* Falls (in seltenen Fällen, z.B. private Themenflug-Gruppen ohne
   Pro-Person-Preis) kein Preis vorliegt: Badge-Optik ausblenden, aber die
   Spalte selbst leer stehen lassen, damit sich Desktop-Spalten bzw.
   Mobile-Grid-Areas der übrigen Zeilen nicht verschieben. */
.departure-price:empty {
  background: none;
  border-color: transparent;
  padding: 4px 0;
}

/* Statt einer reinen Info-Spalte (früher: Helikopter-Modell bzw. Ort als
   Text) hat jede Zeile jetzt einen direkten Handlungs-Button - "Mitfliegen"
   für offene Themenflug-Gruppen, "Platz reservieren" für Flüge mit
   Fixtermin - damit man direkt von der Abflug-Tafel aus einsteigen kann,
   ohne die Karte weiter unten erst suchen zu müssen. */
.departure-action-btn {
  justify-self: start;
  background: transparent;
  border: 1.5px solid var(--accent);
  color: var(--accent);
  border-radius: 999px;
  padding: 5px 14px;
  font-family: inherit;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.15s ease, color 0.15s ease;
}

.departure-action-btn:hover { background: var(--accent); color: #0b1620; }

/* Ausgebuchte Termine: sichtbar, aber gedämpft und nicht anklickbar */
.departure-row.soldout { opacity: 0.55; }
.departure-row.soldout .departure-price { background: none; border-color: rgba(255, 255, 255, 0.25); color: #9fb3c2; text-decoration: line-through; }
.departure-row.soldout .departure-seats { color: #ff9b8f; }
.departure-action-btn:disabled { border-color: rgba(255, 255, 255, 0.25); color: #9fb3c2; cursor: not-allowed; }
.departure-action-btn:disabled:hover { background: transparent; color: #9fb3c2; }

@media (max-width: 720px) {
  .departure-row {
    grid-template-columns: 16px 1fr;
    grid-template-areas:
      "light date"
      "light title"
      "light duration"
      "light price"
      "light action"
      "light seats";
    row-gap: 6px;
  }
  .departure-light { grid-area: light; align-self: start; margin-top: 4px; }
  .departure-date { grid-area: date; }
  .departure-title { grid-area: title; white-space: normal; }
  .departure-duration { grid-area: duration; }
  .departure-price { grid-area: price; justify-self: start; }
  .departure-action-btn { grid-area: action; }
  .departure-seats { grid-area: seats; text-align: left; }
}

.theme-form-banner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  background: #fff2e6;
  border: 1px solid #ffd8b0;
  border-radius: 10px;
  padding: 12px 16px;
  margin-bottom: 14px;
  font-size: 0.92rem;
  color: var(--accent-dark);
}
.theme-form-banner[hidden] { display: none; }

.card-like {
  background: var(--paper);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 22px;
}

.radio-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 4px;
}

.radio-option {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 0.92rem;
  font-weight: 400;
  color: var(--ink);
  cursor: pointer;
}

.radio-option input[type="radio"] {
  width: auto;
  margin-top: 3px;
  accent-color: var(--accent);
}

.radio-option.disabled { color: var(--ink-soft); cursor: not-allowed; }

.theme-price-preview {
  background: var(--paper-soft);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 14px 16px;
  margin: 4px 0 18px;
  font-size: 0.95rem;
}
.theme-price-preview strong { color: var(--sky-1); font-size: 1.15rem; }

/* ---------- Modal ---------- */

.modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(15, 30, 45, 0.55);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  z-index: 50;
}
.modal-backdrop[hidden] { display: none; }

.modal {
  background: var(--paper);
  border-radius: var(--radius);
  max-width: 460px;
  width: 100%;
  padding: 26px;
  box-shadow: 0 20px 60px rgba(0,0,0,0.25);
  max-height: 90vh;
  overflow-y: auto;
}

.modal h3 { margin-top: 0; }
.modal.modal-wide { max-width: 720px; }
/* Terminabfrage-Raster (Doodle-Stil) kann viele Termin-Spalten haben - braucht
   mehr Platz als die übrigen "wide"-Modals; #poll-detail-table scrollt
   zusätzlich horizontal innerhalb von .table-wrap, falls trotzdem zu schmal. */
#poll-detail-modal-backdrop .modal.modal-wide { max-width: 960px; }

.modal .flight-summary {
  background: var(--paper-soft);
  border-radius: 10px;
  padding: 12px 14px;
  font-size: 0.9rem;
  color: var(--ink-soft);
  margin-bottom: 16px;
}

.field {
  margin-bottom: 14px;
}
.field label {
  display: block;
  font-size: 0.85rem;
  font-weight: 600;
  margin-bottom: 5px;
  color: var(--ink);
}
.field input, .field textarea, .field select {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  font-size: 0.95rem;
  font-family: inherit;
}
.field input:focus, .field textarea:focus, .field select:focus {
  outline: 2px solid var(--sky-3);
  outline-offset: 1px;
}

.modal-actions {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  margin-top: 18px;
}

.form-msg { font-size: 0.9rem; margin-top: 10px; }
.form-msg.error { color: var(--warn); }
.form-msg.success { color: var(--ok); }

/* ---------- Footer ---------- */

footer.site-footer {
  background: var(--sky-1);
  color: #cfe3f0;
  padding-block: 28px;
  font-size: 0.9rem;
}
footer.site-footer a { color: #fff; }
footer.site-footer h3 { color: #fff; margin: 0 0 4px; font-size: 1.05rem; }
footer.site-footer .footer-claim { margin: 0 0 8px; font-weight: 600; color: var(--accent); }
footer.site-footer address { font-style: normal; line-height: 1.6; }
footer.site-footer .footer-copy { align-self: flex-end; }
footer.site-footer .footer-badge { width: 96px; height: 96px; flex: none; }
footer.site-footer .footer-contact { align-items: center; gap: 22px; }
footer.site-footer .footer-id { display: flex; align-items: center; gap: 18px; }
footer.site-footer .container {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
}

/* ---------- Admin ---------- */

body.admin-body { background: var(--paper-soft); }

.admin-header {
  background: var(--sky-1);
  color: #fff;
  padding: 16px 0;
}
.admin-header .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.admin-shell {
  max-width: 1080px;
  margin: 0 auto;
  padding: 24px 20px 60px;
}

.login-card {
  max-width: 380px;
  margin: 80px auto;
  background: var(--paper);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 30px;
}
.login-card h1 { font-size: 1.3rem; margin-top: 0; }

.tabs {
  display: flex;
  gap: 6px;
  margin-bottom: 20px;
  border-bottom: 1px solid var(--border);
}
.tab-btn {
  background: none;
  border: none;
  padding: 10px 16px;
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--ink-soft);
  cursor: pointer;
  border-bottom: 2px solid transparent;
}
.tab-btn.active {
  color: var(--sky-1);
  border-bottom-color: var(--accent);
}
.tab-btn { position: relative; }
.tab-badge {
  position: absolute; top: 1px; right: 2px;
  min-width: 18px; height: 18px; padding: 0 5px; box-sizing: border-box;
  border-radius: 9px; background: #d93025; color: #fff;
  font: 700 .68rem/18px var(--font-display, sans-serif); text-align: center;
}

.panel { display: none; }
.panel.active { display: block; }

.card {
  background: var(--paper);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 20px;
  margin-bottom: 20px;
  box-shadow: var(--shadow);
}

.card h2 {
  margin-top: 0;
  font-size: 1.1rem;
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 12px;
}
.form-grid[hidden] { display: none; }

table.data-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
}
table.data-table th, table.data-table td {
  text-align: left;
  padding: 9px 8px;
  border-bottom: 1px solid var(--border);
  vertical-align: top;
}
table.data-table th { color: var(--ink-soft); font-weight: 600; font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.02em; }
.table-wrap { overflow-x: auto; }

.pill {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 600;
  padding: 2px 9px;
  border-radius: 999px;
}
.pill.active { background: #e6f6ec; color: var(--ok); }
.pill.cancelled { background: #fdeceb; color: var(--warn); }
.pill.pending { background: #fff2e6; color: var(--accent-dark); }
.pill.confirmed { background: #e6f6ec; color: var(--ok); }

.btn-small {
  font-size: 0.8rem;
  padding: 5px 10px;
  border-radius: 6px;
  border: 1px solid var(--border);
  background: var(--paper);
  cursor: pointer;
  margin-right: 4px;
}
.btn-small:hover { background: var(--paper-soft); }
.btn-small.danger { color: var(--warn); border-color: #f4c7c3; }
.btn-small.primary { color: var(--sky-1); border-color: #bfe0f2; }

.toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 14px;
  gap: 12px;
  flex-wrap: wrap;
}

.hint {
  color: var(--ink-soft);
  font-size: 0.85rem;
}

/* Auffälliger Hinweiskasten für wichtige, leicht zu übersehende Admin-Hinweise
   (z.B. den Terminabfrage-Hinweis bei den Wartelisten-Einträgen) - bewusst
   deutlicher als das übliche, unauffällige .hint. */
.callout {
  background: #fff4e8;
  border: 1px solid #ffd9ad;
  border-radius: var(--radius);
  padding: 12px 14px;
  font-size: 0.9rem;
  color: var(--ink);
  margin: 10px 0;
}

.rule-row {
  display: grid;
  grid-template-columns: 1fr 1fr 2fr auto;
  gap: 8px;
  align-items: center;
  margin-bottom: 8px;
}

code {
  background: var(--paper-soft);
  border: 1px solid var(--border);
  border-radius: 4px;
  padding: 1px 5px;
  font-size: 0.85em;
}

.gallery-admin-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 14px;
}

table.data-table tr.overbooked-row {
  background: #fdeceb;
}
table.data-table tr.overbooked-row td {
  color: var(--warn);
  font-weight: 600;
}

.model-row {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr auto;
  gap: 8px;
  align-items: center;
  margin-bottom: 8px;
}

.theme-row {
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 14px;
  margin-bottom: 12px;
  background: var(--paper-soft);
}
.route-point-row {
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 12px 14px;
  margin-bottom: 10px;
  background: var(--paper-soft);
  align-items: center;
}
.route-point-row[hidden] { display: none; }
.theme-row textarea {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  font-size: 0.95rem;
  font-family: inherit;
  resize: vertical;
}

.flight-photo-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 12px;
  margin: 12px 0;
}
.flight-photo-grid .gallery-item {
  border: 1px solid var(--border);
  border-radius: 10px;
  overflow: hidden;
  background: var(--paper-soft);
}
.flight-photo-grid .gallery-item img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display: block;
}
.flight-photo-grid .gallery-item-body {
  padding: 8px 10px;
}

.planung-section-title {
  margin: 30px 0 12px;
  padding-bottom: 8px;
  border-bottom: 2px solid var(--sky-3);
  color: var(--sky-1);
  font-size: 1.1rem;
}
.planung-section-title:first-child { margin-top: 0; }

.calendar-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 4px 0 14px;
  gap: 10px;
  flex-wrap: wrap;
}
.calendar-month-label {
  font-weight: 600;
  color: var(--ink);
}

.booking-calendar {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 6px;
}
.booking-calendar .cal-weekday {
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--ink-soft);
  text-transform: uppercase;
  letter-spacing: 0.02em;
  text-align: center;
  padding-bottom: 4px;
}
.booking-calendar .cal-day {
  min-height: 84px;
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 5px;
  background: var(--paper);
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.booking-calendar .cal-day.cal-empty { background: transparent; border-color: transparent; }
.booking-calendar .cal-day.cal-today { border-color: var(--sky-2); box-shadow: 0 0 0 1px var(--sky-2) inset; }
.booking-calendar .cal-daynum { font-size: 0.78rem; font-weight: 700; color: var(--ink-soft); }
.booking-calendar .cal-flight {
  font-size: 0.7rem;
  line-height: 1.25;
  padding: 3px 5px;
  border-radius: 5px;
  background: var(--paper-soft);
  border-left: 3px solid var(--sky-2);
  cursor: pointer;
}
.booking-calendar .cal-flight:hover { background: #e8f1f7; }
.booking-calendar .cal-flight.low { border-left-color: var(--accent); }
.booking-calendar .cal-flight.soldout { border-left-color: var(--warn); }
.booking-calendar .cal-flight.cancelled {
  border-left-color: var(--border);
  color: var(--ink-soft);
  text-decoration: line-through;
}

@media (max-width: 700px) {
  .booking-calendar { grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 3px; }
  .booking-calendar .cal-day { min-height: 56px; padding: 3px; }
  .booking-calendar .cal-flight { font-size: 0.62rem; padding: 2px 3px; }
  .booking-calendar .cal-weekday { font-size: 0.6rem; }
}

.gallery-admin-grid .gallery-item {
  border: 1px solid var(--border);
  border-radius: 10px;
  overflow: hidden;
  background: var(--paper-soft);
}

.gallery-admin-grid img {
  width: 100%;
  height: 130px;
  object-fit: cover;
  display: block;
}

.gallery-admin-grid .gallery-item-body {
  padding: 8px 10px;
}

.gallery-admin-grid input[type="text"] {
  width: 100%;
  padding: 5px 8px;
  border: 1px solid var(--border);
  border-radius: 6px;
  font-size: 0.85rem;
  margin-bottom: 6px;
}

#bulk-import-errors .import-error-row {
  font-size: 0.85rem;
  color: var(--warn);
  margin: 2px 0;
}

@media (max-width: 640px) {
  .rule-row { grid-template-columns: 1fr 1fr; }
  .admin-header .container { flex-direction: column; align-items: flex-start; gap: 8px; }
}


/* ---------- Impressionen: Auswahl im Admin, Lightbox, Alle-Bilder-Seite ---------- */

.gallery-admin-grid .g-home-label {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.85rem;
  font-weight: 600;
  margin-bottom: 6px;
  cursor: pointer;
}

.gallery-backfill[hidden], .gallery-backfill .btn-small[hidden] { display: none; }
.pill.neutral { background: #eef1f5; color: var(--ink-soft); }

.gallery-backfill {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  background: var(--paper-soft);
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 8px 12px;
  margin-bottom: 8px;
  font-size: 0.9rem;
}

.gallery-grid figure.zoomable { cursor: zoom-in; }
.gallery-grid figure.zoomable img { transition: transform 0.25s ease; }
.gallery-grid figure.zoomable:hover img { transform: scale(1.03); }

.gallery-more {
  margin-top: 18px;
  text-align: center;
}

.lightbox {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: none;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  background: rgba(8, 18, 32, 0.92);
  padding: 20px;
}
.lightbox.open { display: flex; }
.lightbox img {
  max-width: min(96vw, 1600px);
  max-height: 82vh;
  object-fit: contain;
  border-radius: 6px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5);
  user-select: none;
  -webkit-user-drag: none;
}
.lightbox-caption {
  color: #fff;
  margin-top: 12px;
  font-size: 0.95rem;
  text-align: center;
  min-height: 1.4em;
}
.lightbox-count {
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.8rem;
  margin-top: 2px;
}
.lightbox button {
  position: absolute;
  background: rgba(255, 255, 255, 0.14);
  color: #fff;
  border: none;
  border-radius: 999px;
  width: 44px;
  height: 44px;
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
}
.lightbox button:hover { background: rgba(255, 255, 255, 0.28); }
.lightbox .lb-close { top: 16px; right: 16px; }
.lightbox .lb-prev { left: 14px; top: 50%; transform: translateY(-50%); }
.lightbox .lb-next { right: 14px; top: 50%; transform: translateY(-50%); }
@media (max-width: 600px) {
  .lightbox .lb-prev, .lightbox .lb-next { top: auto; bottom: 18px; transform: none; }
}

.impressions-page { padding-block: 32px 60px; }
.impressions-page h1 { font-size: 1.6rem; margin-bottom: 4px; }
.impressions-page .back-link { display: inline-block; margin-bottom: 16px; }

/* ---------- Weiterempfehlen ("Visitenkarte versenden") ---------- */
.referral-promo-wrap { margin-top: 36px; }
.referral-promo {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 28px;
  align-items: start;
  background: linear-gradient(135deg, var(--sky-1), var(--sky-2));
  color: #fff;
  border-radius: var(--radius);
  padding: 30px;
  box-shadow: var(--shadow);
  border-top: 5px solid var(--accent);
}
.referral-promo-kicker {
  display: inline-block;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 0.8rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--sun-1);
  margin-bottom: 8px;
}
.referral-promo h2 { margin: 0 0 12px; font-size: clamp(1.4rem, 3vw, 1.9rem); line-height: 1.25; color: #fff; }
.referral-promo-percent {
  display: inline-block;
  background: var(--sun-gradient);
  color: var(--sky-1);
  border-radius: 10px;
  padding: 0 10px;
  white-space: nowrap;
}
.referral-promo p { margin: 0 0 14px; color: #dcecf7; }
.referral-promo-steps { margin: 0; padding-left: 20px; color: #fff; line-height: 1.8; }
.referral-promo-form {
  background: #fff;
  color: var(--ink);
  border-radius: var(--radius);
  padding: 20px;
}
.referral-promo-form .field { margin-bottom: 12px; }
.referral-promo-form label { display: block; font-weight: 600; font-size: 0.88rem; margin-bottom: 4px; }
.referral-promo-form input, .referral-promo-form textarea {
  width: 100%; font: inherit; padding: 10px 12px; border: 1px solid var(--border); border-radius: 10px;
}
.referral-promo-form textarea { resize: vertical; }
.promo-code-box {
  background: var(--paper-soft);
  border: 2px dashed var(--accent);
  border-radius: 12px;
  padding: 12px 14px;
  margin-bottom: 16px;
  text-align: center;
}
.promo-code-label { font-size: 0.8rem; color: var(--ink-soft); }
.promo-code-row { display: flex; gap: 10px; align-items: center; justify-content: center; margin: 4px 0; }
.promo-code-row code { font-size: 1.3rem; font-weight: 700; letter-spacing: 1px; color: var(--sky-1); font-family: var(--font-display); }
.promo-code-hint { font-size: 0.8rem; color: var(--ink-soft); }
.referral-promo-form p { color: var(--ink-soft); }
.promo-code-row code { white-space: nowrap; }
.data-table code { white-space: nowrap; }
@media (max-width: 800px) {
  .referral-promo { grid-template-columns: 1fr; padding: 22px; }
  .promo-code-row code { font-size: 1.05rem; letter-spacing: 0; }
}

/* ---------- Terminumfrage (Anfrageformular, Karten, Teilen-Link) ---------- */
.poll-builder {
  margin: 14px 0;
  padding: 14px 16px;
  border: 1px dashed var(--sky-3);
  border-radius: 12px;
  background: #f4f9fd;
}
.poll-builder[hidden], .poll-share[hidden] { display: none; }
.poll-builder h4, .poll-share h4 { margin: 0 0 4px; font-size: 1rem; color: var(--sky-1); }
.poll-chip-list { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0; }
.poll-chip {
  display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px;
  border: 1px solid var(--border); border-radius: 999px; background: #fff;
  font-size: .88rem; cursor: pointer; user-select: none;
}
.poll-chip:has(input:checked) { border-color: var(--accent); background: #fff2e6; font-weight: 600; }
.poll-chip input { margin: 0; }
.poll-add-date { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.poll-share {
  margin-top: 16px; padding: 14px 16px; border-radius: 12px;
  background: #eaf6ef; border: 1px solid #bfe3cd;
}
.poll-share-row { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin-top: 8px; }
.poll-share-row input { flex: 1; min-width: 220px; }
.poll-card-info {
  font-size: .88rem; padding: 8px 10px; border-radius: 10px; background: #f4f9fd; border: 1px solid #d8e8f4;
}
.poll-card-info .poll-best { color: var(--accent-dark); font-weight: 700; }
a.btn.btn-accent { text-align: center; text-decoration: none; }

.poll-add-date input[type="date"], .poll-add input[type="date"] {
  font: inherit; padding: 8px 10px; border: 1px solid var(--border, #d5dde6);
  border-radius: 10px; background: #fff; color: inherit; min-height: 38px;
}
.poll-share-row input[type="text"], .poll-share-row input[readonly] {
  font: inherit; padding: 8px 10px; border: 1px solid var(--border, #d5dde6);
  border-radius: 10px; background: #fff; min-width: 0;
}

.open-group-price-now { color: var(--ink-soft, #566); font-size: .85rem; margin-top: 2px; }

/* Videos in den Impressionen */
.gallery-video-thumb {
  position: relative; width: 100%; height: 240px; background: #0b3d63;
  display: flex; align-items: center; justify-content: center; overflow: hidden;
}
.gallery-video-thumb video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; pointer-events: none; }
.gallery-video-thumb.embed { background: linear-gradient(135deg, #0b3d63, #1a6fa8); }
.gallery-play {
  position: relative; width: 56px; height: 56px; border-radius: 50%;
  background: rgba(255,255,255,.88); color: #0b3d63; font-size: 1.3rem;
  display: flex; align-items: center; justify-content: center; padding-left: 4px;
  box-shadow: 0 4px 14px rgba(0,0,0,.35);
}
.gallery-grid figure.zoomable:hover .gallery-play { background: #fff; }
.lightbox video { max-width: min(96vw, 1600px); max-height: 82vh; border-radius: 6px; background: #000; }
.lightbox iframe { width: min(96vw, 1100px); aspect-ratio: 16 / 9; max-height: 82vh; border: 0; border-radius: 6px; background: #000; }
.gallery-admin-grid .g-media-thumb { position: relative; height: 130px; background: #0b3d63; display: flex; align-items: center; justify-content: center; color: #fff; overflow: hidden; }
.gallery-admin-grid .g-media-thumb video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.gallery-admin-grid .g-media-thumb .g-media-label { position: relative; font-size: .85rem; font-weight: 600; background: rgba(0,0,0,.45); padding: 4px 10px; border-radius: 999px; }

/* Über mich */
section.about { padding-block: 16px 72px; }
section.about h2 { font-size: 1.5rem; margin-bottom: 16px; }
.about-card {
  display: grid; grid-template-columns: minmax(200px, 300px) 1fr; gap: 28px;
  background: var(--paper); border-radius: var(--radius); box-shadow: var(--shadow);
  overflow: hidden; align-items: stretch;
}
.about-photo { width: 100%; height: 100%; min-height: 320px; object-fit: cover; object-position: center 60%; display: block; }
.about-text { padding: 26px 28px 26px 0; max-width: 62ch; }
.about-text p { margin: 0 0 14px; line-height: 1.65; }
.about-kicker { font-family: "Poppins", sans-serif; font-weight: 700; font-size: 1.2rem; color: var(--sky-1); }
.about-sign { margin-top: 18px; font-weight: 700; }
.about-sign span { font-weight: 400; color: var(--ink-soft); font-size: .9rem; }
@media (max-width: 720px) {
  .about-card { grid-template-columns: 1fr; gap: 0; }
  .about-photo { height: auto; min-height: 0; aspect-ratio: 3 / 4; object-position: center; }
  .about-text { padding: 20px 20px 22px; }
}

.hero h1 + .btn { margin-top: 12px; }

/* ---------- Meine Wunschliste ---------- */
.wishlist-card {
  background: var(--paper); border-radius: var(--radius); box-shadow: var(--shadow);
  padding: 24px; max-width: 760px;
}
.wishlist-themes { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 8px 16px; margin-top: 6px; }
.field .wishlist-theme, .wishlist-theme { display: flex; align-items: flex-start; gap: 8px; font-size: .95rem; font-weight: 400; cursor: pointer; margin: 0; }
.wishlist-theme input { margin-top: 3px; flex: none; width: auto; }
.wishlist-all, .wishlist-consent { margin: 8px 0; }
.wishlist-consent { font-size: .85rem; color: var(--ink-soft); }
.wishlist-card .btn { margin-top: 10px; }
@media (max-width: 720px) { .wishlist-card { padding: 18px; } }

/* ---------- Saison-Designs (Kopfbalken + Akzentfarbe) ----------
   Gesetzt über <html data-season="…"> (Server, aus Admin → Einstellungen).
   Ohne data-season = Standard-Design. Dekoration: SVG-Kacheln, kein externes Bild. */
[data-season] header.site-header { position: relative; }
[data-season] header.site-header .container { position: relative; z-index: 45; }
[data-season] header.site-header::before, [data-season] header.site-header::after {
  content: ""; position: absolute; left: 0; right: 0; pointer-events: none; z-index: 1; }
[data-season] header.site-header::before { top: 0; bottom: 0; background-repeat: repeat-x; background-position: center; background-size: auto 100%; }
[data-season] header.site-header::after { bottom: 0; background-repeat: repeat-x; background-position: left bottom; background-size: 60px 100%; }

[data-season="fruehling"] { --accent: #d63f7e; --accent-dark: #b82f68; }
[data-season="fruehling"] header.site-header { background: linear-gradient(135deg, #1f6b45, #3a9a5a 60%, #6dbb5e); }
[data-season="fruehling"] header.site-header::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22560%22%20height=%22120%22%20viewBox=%220%200%20560%20120%22%3E%3Cg%20transform=%22translate(28,24)%20rotate(0)%20scale(1.2)%22%20opacity=%220.75%22%3E%3Ccircle%20cx=%225.8%22%20cy=%220.0%22%20r=%224.5%22%20fill=%22%23ffd1e3%22/%3E%3Ccircle%20cx=%221.8%22%20cy=%225.5%22%20r=%224.5%22%20fill=%22%23ffd1e3%22/%3E%3Ccircle%20cx=%22-4.7%22%20cy=%223.4%22%20r=%224.5%22%20fill=%22%23ffd1e3%22/%3E%3Ccircle%20cx=%22-4.7%22%20cy=%22-3.4%22%20r=%224.5%22%20fill=%22%23ffd1e3%22/%3E%3Ccircle%20cx=%221.8%22%20cy=%22-5.5%22%20r=%224.5%22%20fill=%22%23ffd1e3%22/%3E%3Ccircle%20r=%223.5%22%20fill=%22%23ffd84a%22/%3E%3C/g%3E%3Cg%20transform=%22translate(84,78)%20rotate(30)%20scale(1.0)%22%20opacity=%220.6%22%3E%3Cpath%20d=%22M0,-10%20C9,-4%209,6%200,12%20C-9,6%20-9,-4%200,-10Z%22%20fill=%22%23bfe8a0%22/%3E%3Cpath%20d=%22M0,-8%20L0,13%22%20stroke=%22rgba(0,0,0,.25)%22%20stroke-width=%221.2%22%20fill=%22none%22/%3E%3C/g%3E%3Cg%20transform=%22translate(140,40)%20rotate(0)%20scale(1.0)%22%20opacity=%220.7%22%3E%3Ccircle%20cx=%225.8%22%20cy=%220.0%22%20r=%224.5%22%20fill=%22%23ffffff%22/%3E%3Ccircle%20cx=%221.8%22%20cy=%225.5%22%20r=%224.5%22%20fill=%22%23ffffff%22/%3E%3Ccircle%20cx=%22-4.7%22%20cy=%223.4%22%20r=%224.5%22%20fill=%22%23ffffff%22/%3E%3Ccircle%20cx=%22-4.7%22%20cy=%22-3.4%22%20r=%224.5%22%20fill=%22%23ffffff%22/%3E%3Ccircle%20cx=%221.8%22%20cy=%22-5.5%22%20r=%224.5%22%20fill=%22%23ffffff%22/%3E%3Ccircle%20r=%223.5%22%20fill=%22%23ffd84a%22/%3E%3C/g%3E%3Cg%20transform=%22translate(196,96)%20rotate(-40)%20scale(0.9)%22%20opacity=%220.55%22%3E%3Cpath%20d=%22M0,-10%20C9,-4%209,6%200,12%20C-9,6%20-9,-4%200,-10Z%22%20fill=%22%23a6df84%22/%3E%3Cpath%20d=%22M0,-8%20L0,13%22%20stroke=%22rgba(0,0,0,.25)%22%20stroke-width=%221.2%22%20fill=%22none%22/%3E%3C/g%3E%3Cg%20transform=%22translate(252,20)%20rotate(15)%20scale(1.3)%22%20opacity=%220.75%22%3E%3Ccircle%20cx=%225.8%22%20cy=%220.0%22%20r=%224.5%22%20fill=%22%23ffb3d1%22/%3E%3Ccircle%20cx=%221.8%22%20cy=%225.5%22%20r=%224.5%22%20fill=%22%23ffb3d1%22/%3E%3Ccircle%20cx=%22-4.7%22%20cy=%223.4%22%20r=%224.5%22%20fill=%22%23ffb3d1%22/%3E%3Ccircle%20cx=%22-4.7%22%20cy=%22-3.4%22%20r=%224.5%22%20fill=%22%23ffb3d1%22/%3E%3Ccircle%20cx=%221.8%22%20cy=%22-5.5%22%20r=%224.5%22%20fill=%22%23ffb3d1%22/%3E%3Ccircle%20r=%223.5%22%20fill=%22%23ffd84a%22/%3E%3C/g%3E%3Cg%20transform=%22translate(308,70)%20rotate(60)%20scale(1.1)%22%20opacity=%220.55%22%3E%3Cpath%20d=%22M0,-10%20C9,-4%209,6%200,12%20C-9,6%20-9,-4%200,-10Z%22%20fill=%22%23d3f2b8%22/%3E%3Cpath%20d=%22M0,-8%20L0,13%22%20stroke=%22rgba(0,0,0,.25)%22%20stroke-width=%221.2%22%20fill=%22none%22/%3E%3C/g%3E%3Cg%20transform=%22translate(364,100)%20rotate(0)%20scale(1.1)%22%20opacity=%220.7%22%3E%3Ccircle%20cx=%225.8%22%20cy=%220.0%22%20r=%224.5%22%20fill=%22%23ffffff%22/%3E%3Ccircle%20cx=%221.8%22%20cy=%225.5%22%20r=%224.5%22%20fill=%22%23ffffff%22/%3E%3Ccircle%20cx=%22-4.7%22%20cy=%223.4%22%20r=%224.5%22%20fill=%22%23ffffff%22/%3E%3Ccircle%20cx=%22-4.7%22%20cy=%22-3.4%22%20r=%224.5%22%20fill=%22%23ffffff%22/%3E%3Ccircle%20cx=%221.8%22%20cy=%22-5.5%22%20r=%224.5%22%20fill=%22%23ffffff%22/%3E%3Ccircle%20r=%223.5%22%20fill=%22%23ff9ab8%22/%3E%3C/g%3E%3Cg%20transform=%22translate(420,34)%20rotate(-20)%20scale(0.9)%22%20opacity=%220.6%22%3E%3Cpath%20d=%22M0,-10%20C9,-4%209,6%200,12%20C-9,6%20-9,-4%200,-10Z%22%20fill=%22%23bfe8a0%22/%3E%3Cpath%20d=%22M0,-8%20L0,13%22%20stroke=%22rgba(0,0,0,.25)%22%20stroke-width=%221.2%22%20fill=%22none%22/%3E%3C/g%3E%3Cg%20transform=%22translate(476,84)%20rotate(0)%20scale(1.0)%22%20opacity=%220.7%22%3E%3Ccircle%20cx=%225.8%22%20cy=%220.0%22%20r=%224.5%22%20fill=%22%23ffc9a8%22/%3E%3Ccircle%20cx=%221.8%22%20cy=%225.5%22%20r=%224.5%22%20fill=%22%23ffc9a8%22/%3E%3Ccircle%20cx=%22-4.7%22%20cy=%223.4%22%20r=%224.5%22%20fill=%22%23ffc9a8%22/%3E%3Ccircle%20cx=%22-4.7%22%20cy=%22-3.4%22%20r=%224.5%22%20fill=%22%23ffc9a8%22/%3E%3Ccircle%20cx=%221.8%22%20cy=%22-5.5%22%20r=%224.5%22%20fill=%22%23ffc9a8%22/%3E%3Ccircle%20r=%223.5%22%20fill=%22%23ffd84a%22/%3E%3C/g%3E%3Cg%20transform=%22translate(532,54)%20rotate(40)%20scale(1.0)%22%20opacity=%220.55%22%3E%3Cpath%20d=%22M0,-10%20C9,-4%209,6%200,12%20C-9,6%20-9,-4%200,-10Z%22%20fill=%22%23a6df84%22/%3E%3Cpath%20d=%22M0,-8%20L0,13%22%20stroke=%22rgba(0,0,0,.25)%22%20stroke-width=%221.2%22%20fill=%22none%22/%3E%3C/g%3E%3C/svg%3E"); }
[data-season="fruehling"] header.site-header::after { height: 16px; background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2260%22%20height=%2216%22%20viewBox=%220%200%2060%2016%22%3E%3Cpath%20d=%22M0,16%20L0,10%20L3,16%20L5,6%20L8,16%20L11,9%20L14,16%20L18,5%20L21,16%20L24,10%20L27,16%20L30,7%20L33,16%20L36,11%20L40,16%20L42,6%20L45,16%20L48,9%20L51,16%20L55,8%20L58,16%20L60,16Z%22%20fill=%22%238fd16a%22/%3E%3Ccircle%20cx=%2218%22%20cy=%225%22%20r=%222.4%22%20fill=%22%23fff%22/%3E%3Ccircle%20cx=%2242%22%20cy=%226%22%20r=%222.4%22%20fill=%22%23ffd1e3%22/%3E%3Ccircle%20cx=%225%22%20cy=%226%22%20r=%222%22%20fill=%22%23ffd84a%22/%3E%3C/svg%3E"); }

[data-season="sommer"] { --accent: #ff8a00; --accent-dark: #e07400; }
[data-season="sommer"] header.site-header { background: linear-gradient(135deg, #0a6aa6, #1d9bc8 55%, #3fc3d8); }
[data-season="sommer"] header.site-header::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22560%22%20height=%22120%22%20viewBox=%220%200%20560%20120%22%3E%3Cg%20transform=%22translate(35,24)%20rotate(0)%20scale(1.5)%22%20opacity=%220.85%22%3E%3Cg%20stroke=%22%23ffd84a%22%20stroke-width=%222.2%22%20stroke-linecap=%22round%22%3E%3Cline%20x1=%220%22%20y1=%22-11%22%20x2=%220%22%20y2=%22-16%22%20transform=%22rotate(0)%22/%3E%3Cline%20x1=%220%22%20y1=%22-11%22%20x2=%220%22%20y2=%22-16%22%20transform=%22rotate(45)%22/%3E%3Cline%20x1=%220%22%20y1=%22-11%22%20x2=%220%22%20y2=%22-16%22%20transform=%22rotate(90)%22/%3E%3Cline%20x1=%220%22%20y1=%22-11%22%20x2=%220%22%20y2=%22-16%22%20transform=%22rotate(135)%22/%3E%3Cline%20x1=%220%22%20y1=%22-11%22%20x2=%220%22%20y2=%22-16%22%20transform=%22rotate(180)%22/%3E%3Cline%20x1=%220%22%20y1=%22-11%22%20x2=%220%22%20y2=%22-16%22%20transform=%22rotate(225)%22/%3E%3Cline%20x1=%220%22%20y1=%22-11%22%20x2=%220%22%20y2=%22-16%22%20transform=%22rotate(270)%22/%3E%3Cline%20x1=%220%22%20y1=%22-11%22%20x2=%220%22%20y2=%22-16%22%20transform=%22rotate(315)%22/%3E%3C/g%3E%3Ccircle%20r=%227%22%20fill=%22%23ffd84a%22/%3E%3C/g%3E%3Cg%20transform=%22translate(105,78)%20rotate(0)%20scale(1.0)%22%20opacity=%220.55%22%3E%3Cg%20fill=%22%23fff%22%3E%3Ccircle%20cx=%22-7%22%20cy=%222%22%20r=%226%22/%3E%3Ccircle%20cx=%220%22%20cy=%22-3%22%20r=%228%22/%3E%3Ccircle%20cx=%228%22%20cy=%222%22%20r=%226%22/%3E%3Crect%20x=%22-7%22%20y=%222%22%20width=%2215%22%20height=%226%22/%3E%3C/g%3E%3C/g%3E%3Cg%20transform=%22translate(175,40)%20rotate(0)%20scale(0.8)%22%20opacity=%220.6%22%3E%3Cpath%20d=%22M0,-8%20C1,-2%202,-1%208,0%20C2,1%201,2%200,8%20C-1,2%20-2,1%20-8,0%20C-2,-1%20-1,-2%200,-8Z%22%20fill=%22%23fff7c2%22/%3E%3C/g%3E%3Cg%20transform=%22translate(245,96)%20rotate(0)%20scale(1.3)%22%20opacity=%220.45%22%3E%3Cg%20fill=%22%23fff%22%3E%3Ccircle%20cx=%22-7%22%20cy=%222%22%20r=%226%22/%3E%3Ccircle%20cx=%220%22%20cy=%22-3%22%20r=%228%22/%3E%3Ccircle%20cx=%228%22%20cy=%222%22%20r=%226%22/%3E%3Crect%20x=%22-7%22%20y=%222%22%20width=%2215%22%20height=%226%22/%3E%3C/g%3E%3C/g%3E%3Cg%20transform=%22translate(315,20)%20rotate(20)%20scale(0.9)%22%20opacity=%220.6%22%3E%3Cg%20stroke=%22%23ffe27a%22%20stroke-width=%222.2%22%20stroke-linecap=%22round%22%3E%3Cline%20x1=%220%22%20y1=%22-11%22%20x2=%220%22%20y2=%22-16%22%20transform=%22rotate(0)%22/%3E%3Cline%20x1=%220%22%20y1=%22-11%22%20x2=%220%22%20y2=%22-16%22%20transform=%22rotate(45)%22/%3E%3Cline%20x1=%220%22%20y1=%22-11%22%20x2=%220%22%20y2=%22-16%22%20transform=%22rotate(90)%22/%3E%3Cline%20x1=%220%22%20y1=%22-11%22%20x2=%220%22%20y2=%22-16%22%20transform=%22rotate(135)%22/%3E%3Cline%20x1=%220%22%20y1=%22-11%22%20x2=%220%22%20y2=%22-16%22%20transform=%22rotate(180)%22/%3E%3Cline%20x1=%220%22%20y1=%22-11%22%20x2=%220%22%20y2=%22-16%22%20transform=%22rotate(225)%22/%3E%3Cline%20x1=%220%22%20y1=%22-11%22%20x2=%220%22%20y2=%22-16%22%20transform=%22rotate(270)%22/%3E%3Cline%20x1=%220%22%20y1=%22-11%22%20x2=%220%22%20y2=%22-16%22%20transform=%22rotate(315)%22/%3E%3C/g%3E%3Ccircle%20r=%227%22%20fill=%22%23ffe27a%22/%3E%3C/g%3E%3Cg%20transform=%22translate(385,70)%20rotate(0)%20scale(0.9)%22%20opacity=%220.5%22%3E%3Cg%20fill=%22%23fff%22%3E%3Ccircle%20cx=%22-7%22%20cy=%222%22%20r=%226%22/%3E%3Ccircle%20cx=%220%22%20cy=%22-3%22%20r=%228%22/%3E%3Ccircle%20cx=%228%22%20cy=%222%22%20r=%226%22/%3E%3Crect%20x=%22-7%22%20y=%222%22%20width=%2215%22%20height=%226%22/%3E%3C/g%3E%3C/g%3E%3Cg%20transform=%22translate(455,100)%20rotate(0)%20scale(1.0)%22%20opacity=%220.55%22%3E%3Cpath%20d=%22M0,-8%20C1,-2%202,-1%208,0%20C2,1%201,2%200,8%20C-1,2%20-2,1%20-8,0%20C-2,-1%20-1,-2%200,-8Z%22%20fill=%22%23fff7c2%22/%3E%3C/g%3E%3Cg%20transform=%22translate(525,34)%20rotate(0)%20scale(1.1)%22%20opacity=%220.5%22%3E%3Cg%20fill=%22%23fff%22%3E%3Ccircle%20cx=%22-7%22%20cy=%222%22%20r=%226%22/%3E%3Ccircle%20cx=%220%22%20cy=%22-3%22%20r=%228%22/%3E%3Ccircle%20cx=%228%22%20cy=%222%22%20r=%226%22/%3E%3Crect%20x=%22-7%22%20y=%222%22%20width=%2215%22%20height=%226%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"); }
[data-season="sommer"] header.site-header::after { height: 16px; background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2260%22%20height=%2216%22%20viewBox=%220%200%2060%2016%22%3E%3Cpath%20d=%22M0,16%20L0,9%20C10,3%2020,3%2030,9%20C40,15%2050,15%2060,9%20L60,16Z%22%20fill=%22rgba(255,255,255,.45)%22/%3E%3Cpath%20d=%22M0,16%20L0,12%20C10,7%2020,7%2030,12%20C40,17%2050,17%2060,12%20L60,16Z%22%20fill=%22rgba(255,255,255,.6)%22/%3E%3C/svg%3E"); }

[data-season="herbst"] { --accent: #bf4d12; --accent-dark: #9c3e0c; }
[data-season="herbst"] header.site-header { background: linear-gradient(135deg, #6b3410, #a8531a 55%, #d27a2a); }
[data-season="herbst"] header.site-header::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22560%22%20height=%22120%22%20viewBox=%220%200%20560%20120%22%3E%3Cg%20transform=%22translate(31,24)%20rotate(20)%20scale(1.2)%22%20opacity=%220.8%22%3E%3Cpath%20d=%22M0,-11%20L3,-5%20L9,-7%20L6,-1%20L11,1%20L4,4%20L5,10%20L0,7%20L-5,10%20L-4,4%20L-11,1%20L-6,-1%20L-9,-7%20L-3,-5Z%22%20fill=%22%23ffb347%22/%3E%3Cpath%20d=%22M0,6%20L0,13%22%20stroke=%22%23ffb347%22%20stroke-width=%222%22/%3E%3C/g%3E%3Cg%20transform=%22translate(93,78)%20rotate(50)%20scale(1.0)%22%20opacity=%220.7%22%3E%3Cpath%20d=%22M0,-10%20C9,-4%209,6%200,12%20C-9,6%20-9,-4%200,-10Z%22%20fill=%22%23e8742a%22/%3E%3Cpath%20d=%22M0,-8%20L0,13%22%20stroke=%22rgba(0,0,0,.25)%22%20stroke-width=%221.2%22%20fill=%22none%22/%3E%3C/g%3E%3Cg%20transform=%22translate(155,40)%20rotate(-30)%20scale(1.0)%22%20opacity=%220.75%22%3E%3Cpath%20d=%22M0,-11%20L3,-5%20L9,-7%20L6,-1%20L11,1%20L4,4%20L5,10%20L0,7%20L-5,10%20L-4,4%20L-11,1%20L-6,-1%20L-9,-7%20L-3,-5Z%22%20fill=%22%23e5533d%22/%3E%3Cpath%20d=%22M0,6%20L0,13%22%20stroke=%22%23e5533d%22%20stroke-width=%222%22/%3E%3C/g%3E%3Cg%20transform=%22translate(217,96)%20rotate(10)%20scale(1.1)%22%20opacity=%220.7%22%3E%3Cpath%20d=%22M0,-10%20C9,-4%209,6%200,12%20C-9,6%20-9,-4%200,-10Z%22%20fill=%22%23ffd35c%22/%3E%3Cpath%20d=%22M0,-8%20L0,13%22%20stroke=%22rgba(0,0,0,.25)%22%20stroke-width=%221.2%22%20fill=%22none%22/%3E%3C/g%3E%3Cg%20transform=%22translate(280,20)%20rotate(70)%20scale(0.9)%22%20opacity=%220.7%22%3E%3Cpath%20d=%22M0,-11%20L3,-5%20L9,-7%20L6,-1%20L11,1%20L4,4%20L5,10%20L0,7%20L-5,10%20L-4,4%20L-11,1%20L-6,-1%20L-9,-7%20L-3,-5Z%22%20fill=%22%23ffb347%22/%3E%3Cpath%20d=%22M0,6%20L0,13%22%20stroke=%22%23ffb347%22%20stroke-width=%222%22/%3E%3C/g%3E%3Cg%20transform=%22translate(342,70)%20rotate(-50)%20scale(1.2)%22%20opacity=%220.7%22%3E%3Cpath%20d=%22M0,-10%20C9,-4%209,6%200,12%20C-9,6%20-9,-4%200,-10Z%22%20fill=%22%23c9592a%22/%3E%3Cpath%20d=%22M0,-8%20L0,13%22%20stroke=%22rgba(0,0,0,.25)%22%20stroke-width=%221.2%22%20fill=%22none%22/%3E%3C/g%3E%3Cg%20transform=%22translate(404,100)%20rotate(0)%20scale(1.1)%22%20opacity=%220.8%22%3E%3Cpath%20d=%22M0,-11%20L3,-5%20L9,-7%20L6,-1%20L11,1%20L4,4%20L5,10%20L0,7%20L-5,10%20L-4,4%20L-11,1%20L-6,-1%20L-9,-7%20L-3,-5Z%22%20fill=%22%23f08a3c%22/%3E%3Cpath%20d=%22M0,6%20L0,13%22%20stroke=%22%23f08a3c%22%20stroke-width=%222%22/%3E%3C/g%3E%3Cg%20transform=%22translate(466,34)%20rotate(30)%20scale(0.9)%22%20opacity=%220.65%22%3E%3Cpath%20d=%22M0,-10%20C9,-4%209,6%200,12%20C-9,6%20-9,-4%200,-10Z%22%20fill=%22%23ffd35c%22/%3E%3Cpath%20d=%22M0,-8%20L0,13%22%20stroke=%22rgba(0,0,0,.25)%22%20stroke-width=%221.2%22%20fill=%22none%22/%3E%3C/g%3E%3Cg%20transform=%22translate(528,84)%20rotate(15)%20scale(0.9)%22%20opacity=%220.7%22%3E%3Cpath%20d=%22M0,-11%20L3,-5%20L9,-7%20L6,-1%20L11,1%20L4,4%20L5,10%20L0,7%20L-5,10%20L-4,4%20L-11,1%20L-6,-1%20L-9,-7%20L-3,-5Z%22%20fill=%22%23e5533d%22/%3E%3Cpath%20d=%22M0,6%20L0,13%22%20stroke=%22%23e5533d%22%20stroke-width=%222%22/%3E%3C/g%3E%3C/svg%3E"); }
[data-season="herbst"] header.site-header::after { height: 16px; background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2260%22%20height=%2216%22%20viewBox=%220%200%2060%2016%22%3E%3Cpath%20d=%22M0,16%20L0,11%20C8,5%2016,5%2024,11%20C32,17%2040,15%2048,9%20C52,6%2056,7%2060,11%20L60,16Z%22%20fill=%22rgba(255,190,90,.55)%22/%3E%3Ccircle%20cx=%2214%22%20cy=%228%22%20r=%221.6%22%20fill=%22%23ffd35c%22/%3E%3Ccircle%20cx=%2242%22%20cy=%2211%22%20r=%221.6%22%20fill=%22%23e5533d%22/%3E%3C/svg%3E"); }

[data-season="winter"] { --accent: #1f7fc4; --accent-dark: #1768a3; }
[data-season="winter"] header.site-header { background: linear-gradient(135deg, #0a2d52, #2a6aa6 60%, #6aa8d8); }
[data-season="winter"] header.site-header::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22560%22%20height=%22120%22%20viewBox=%220%200%20560%20120%22%3E%3Cg%20transform=%22translate(31,24)%20rotate(0)%20scale(1.3)%22%20opacity=%220.85%22%3E%3Cg%20stroke=%22%23fff%22%20stroke-width=%221.6%22%20stroke-linecap=%22round%22%20fill=%22none%22%3E%3Cg%20transform=%22rotate(0)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3Cg%20transform=%22rotate(60)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3Cg%20transform=%22rotate(120)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3Cg%20transform=%22rotate(180)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3Cg%20transform=%22rotate(240)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3Cg%20transform=%22rotate(300)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3Cg%20transform=%22translate(93,78)%20rotate(15)%20scale(0.8)%22%20opacity=%220.6%22%3E%3Cg%20stroke=%22%23fff%22%20stroke-width=%221.6%22%20stroke-linecap=%22round%22%20fill=%22none%22%3E%3Cg%20transform=%22rotate(0)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3Cg%20transform=%22rotate(60)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3Cg%20transform=%22rotate(120)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3Cg%20transform=%22rotate(180)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3Cg%20transform=%22rotate(240)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3Cg%20transform=%22rotate(300)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3Cg%20transform=%22translate(155,40)%20rotate(30)%20scale(1.0)%22%20opacity=%220.7%22%3E%3Cg%20stroke=%22%23fff%22%20stroke-width=%221.6%22%20stroke-linecap=%22round%22%20fill=%22none%22%3E%3Cg%20transform=%22rotate(0)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3Cg%20transform=%22rotate(60)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3Cg%20transform=%22rotate(120)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3Cg%20transform=%22rotate(180)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3Cg%20transform=%22rotate(240)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3Cg%20transform=%22rotate(300)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3Cg%20transform=%22translate(217,96)%20rotate(0)%20scale(1.5)%22%20opacity=%220.5%22%3E%3Cg%20stroke=%22%23fff%22%20stroke-width=%221.6%22%20stroke-linecap=%22round%22%20fill=%22none%22%3E%3Cg%20transform=%22rotate(0)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3Cg%20transform=%22rotate(60)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3Cg%20transform=%22rotate(120)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3Cg%20transform=%22rotate(180)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3Cg%20transform=%22rotate(240)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3Cg%20transform=%22rotate(300)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3Cg%20transform=%22translate(280,20)%20rotate(10)%20scale(0.9)%22%20opacity=%220.75%22%3E%3Cg%20stroke=%22%23fff%22%20stroke-width=%221.6%22%20stroke-linecap=%22round%22%20fill=%22none%22%3E%3Cg%20transform=%22rotate(0)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3Cg%20transform=%22rotate(60)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3Cg%20transform=%22rotate(120)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3Cg%20transform=%22rotate(180)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3Cg%20transform=%22rotate(240)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3Cg%20transform=%22rotate(300)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3Cg%20transform=%22translate(342,70)%20rotate(25)%20scale(1.2)%22%20opacity=%220.6%22%3E%3Cg%20stroke=%22%23fff%22%20stroke-width=%221.6%22%20stroke-linecap=%22round%22%20fill=%22none%22%3E%3Cg%20transform=%22rotate(0)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3Cg%20transform=%22rotate(60)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3Cg%20transform=%22rotate(120)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3Cg%20transform=%22rotate(180)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3Cg%20transform=%22rotate(240)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3Cg%20transform=%22rotate(300)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3Cg%20transform=%22translate(404,100)%20rotate(0)%20scale(0.7)%22%20opacity=%220.7%22%3E%3Cg%20stroke=%22%23fff%22%20stroke-width=%221.6%22%20stroke-linecap=%22round%22%20fill=%22none%22%3E%3Cg%20transform=%22rotate(0)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3Cg%20transform=%22rotate(60)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3Cg%20transform=%22rotate(120)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3Cg%20transform=%22rotate(180)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3Cg%20transform=%22rotate(240)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3Cg%20transform=%22rotate(300)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3Cg%20transform=%22translate(466,34)%20rotate(40)%20scale(1.1)%22%20opacity=%220.65%22%3E%3Cg%20stroke=%22%23fff%22%20stroke-width=%221.6%22%20stroke-linecap=%22round%22%20fill=%22none%22%3E%3Cg%20transform=%22rotate(0)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3Cg%20transform=%22rotate(60)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3Cg%20transform=%22rotate(120)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3Cg%20transform=%22rotate(180)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3Cg%20transform=%22rotate(240)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3Cg%20transform=%22rotate(300)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3Cg%20transform=%22translate(528,84)%20rotate(0)%20scale(1.0)%22%20opacity=%220.8%22%3E%3Cg%20stroke=%22%23fff%22%20stroke-width=%221.6%22%20stroke-linecap=%22round%22%20fill=%22none%22%3E%3Cg%20transform=%22rotate(0)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3Cg%20transform=%22rotate(60)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3Cg%20transform=%22rotate(120)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3Cg%20transform=%22rotate(180)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3Cg%20transform=%22rotate(240)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3Cg%20transform=%22rotate(300)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E"); }
[data-season="winter"] header.site-header::after { height: 16px; background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2260%22%20height=%2216%22%20viewBox=%220%200%2060%2016%22%3E%3Cpath%20d=%22M0,16%20L0,10%20C6,4%2014,4%2020,9%20C26,14%2034,14%2040,8%20C46,3%2054,4%2060,10%20L60,16Z%22%20fill=%22%23ffffff%22%20opacity=%22.92%22/%3E%3C/svg%3E"); }

[data-season="weihnachten"] { --accent: #1f7a45; --accent-dark: #17603a; }
[data-season="weihnachten"] header.site-header { background: linear-gradient(135deg, #7d1220, #b81f2c 55%, #d23a3a); }
[data-season="weihnachten"] header.site-header::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22560%22%20height=%22120%22%20viewBox=%220%200%20560%20120%22%3E%3Cg%20transform=%22translate(28,24)%20rotate(0)%20scale(1.0)%22%20opacity=%220.9%22%3E%3Cpolygon%20points=%220.0,-9.0%202.2,-3.1%208.6,-2.8%203.6,1.2%205.3,7.3%200.0,3.8%20-5.3,7.3%20-3.6,1.2%20-8.6,-2.8%20-2.2,-3.1%22%20fill=%22%23ffd84a%22/%3E%3C/g%3E%3Cg%20transform=%22translate(84,78)%20rotate(0)%20scale(1.1)%22%20opacity=%220.75%22%3E%3Crect%20x=%22-2%22%20y=%229%22%20width=%224%22%20height=%225%22%20fill=%22%237a4a1f%22/%3E%3Cpath%20d=%22M0,-14%20L8,-3%20L4,-3%20L10,6%20L-10,6%20L-4,-3%20L-8,-3Z%22%20fill=%22%232f9a5b%22/%3E%3C/g%3E%3Cg%20transform=%22translate(140,40)%20rotate(10)%20scale(0.9)%22%20opacity=%220.7%22%3E%3Cg%20stroke=%22%23fff%22%20stroke-width=%221.6%22%20stroke-linecap=%22round%22%20fill=%22none%22%3E%3Cg%20transform=%22rotate(0)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3Cg%20transform=%22rotate(60)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3Cg%20transform=%22rotate(120)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3Cg%20transform=%22rotate(180)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3Cg%20transform=%22rotate(240)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3Cg%20transform=%22rotate(300)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3Cg%20transform=%22translate(196,96)%20rotate(0)%20scale(1.0)%22%20opacity=%220.8%22%3E%3Cpath%20d=%22M-8,6%20C-8,-2%20-5,-9%200,-9%20C5,-9%208,-2%208,6Z%22%20fill=%22%23ffd84a%22/%3E%3Ccircle%20cx=%220%22%20cy=%228%22%20r=%222.4%22%20fill=%22%23ffd84a%22/%3E%3C/g%3E%3Cg%20transform=%22translate(252,20)%20rotate(0)%20scale(0.9)%22%20opacity=%220.8%22%3E%3Cpolygon%20points=%220.0,-7.0%201.7,-2.4%206.7,-2.2%202.8,0.9%204.1,5.7%200.0,2.9%20-4.1,5.7%20-2.8,0.9%20-6.7,-2.2%20-1.7,-2.4%22%20fill=%22%23ffffff%22/%3E%3C/g%3E%3Cg%20transform=%22translate(308,70)%20rotate(0)%20scale(1.0)%22%20opacity=%220.7%22%3E%3Crect%20x=%22-2%22%20y=%229%22%20width=%224%22%20height=%225%22%20fill=%22%237a4a1f%22/%3E%3Cpath%20d=%22M0,-14%20L8,-3%20L4,-3%20L10,6%20L-10,6%20L-4,-3%20L-8,-3Z%22%20fill=%22%233fb06a%22/%3E%3C/g%3E%3Cg%20transform=%22translate(364,100)%20rotate(30)%20scale(1.1)%22%20opacity=%220.65%22%3E%3Cg%20stroke=%22%23fff%22%20stroke-width=%221.6%22%20stroke-linecap=%22round%22%20fill=%22none%22%3E%3Cg%20transform=%22rotate(0)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3Cg%20transform=%22rotate(60)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3Cg%20transform=%22rotate(120)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3Cg%20transform=%22rotate(180)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3Cg%20transform=%22rotate(240)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3Cg%20transform=%22rotate(300)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3Cg%20transform=%22translate(420,34)%20rotate(12)%20scale(1.0)%22%20opacity=%220.85%22%3E%3Cpolygon%20points=%220.0,-8.0%202.0,-2.7%207.6,-2.5%203.2,1.0%204.7,6.5%200.0,3.4%20-4.7,6.5%20-3.2,1.0%20-7.6,-2.5%20-2.0,-2.7%22%20fill=%22%23ffd84a%22/%3E%3C/g%3E%3Cg%20transform=%22translate(476,84)%20rotate(0)%20scale(0.9)%22%20opacity=%220.8%22%3E%3Cpath%20d=%22M-8,6%20C-8,-2%20-5,-9%200,-9%20C5,-9%208,-2%208,6Z%22%20fill=%22%23ffe27a%22/%3E%3Ccircle%20cx=%220%22%20cy=%228%22%20r=%222.4%22%20fill=%22%23ffe27a%22/%3E%3C/g%3E%3Cg%20transform=%22translate(532,54)%20rotate(0)%20scale(0.8)%22%20opacity=%220.6%22%3E%3Cg%20stroke=%22%23fff%22%20stroke-width=%221.6%22%20stroke-linecap=%22round%22%20fill=%22none%22%3E%3Cg%20transform=%22rotate(0)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3Cg%20transform=%22rotate(60)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3Cg%20transform=%22rotate(120)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3Cg%20transform=%22rotate(180)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3Cg%20transform=%22rotate(240)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3Cg%20transform=%22rotate(300)%22%3E%3Cpath%20d=%22M0,0%20L0,-10%20M0,-6%20L-3,-9%20M0,-6%20L3,-9%22%20/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E"); }
[data-season="weihnachten"] header.site-header::after { height: 18px; background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2260%22%20height=%2218%22%20viewBox=%220%200%2060%2018%22%3E%3Cpath%20d=%22M0,3%20C15,15%2045,15%2060,3%22%20stroke=%22%2317422b%22%20stroke-width=%221.6%22%20fill=%22none%22/%3E%3Ccircle%20cx=%229%22%20cy=%2210%22%20r=%223.2%22%20fill=%22%23ff4d4d%22/%3E%3Ccircle%20cx=%2221%22%20cy=%2213%22%20r=%223.2%22%20fill=%22%23ffd84a%22/%3E%3Ccircle%20cx=%2235%22%20cy=%2213%22%20r=%223.2%22%20fill=%22%234dd16a%22/%3E%3Ccircle%20cx=%2248%22%20cy=%2210%22%20r=%223.2%22%20fill=%22%235bb8ff%22/%3E%3C/svg%3E"); }

[data-season="valentinstag"] { --accent: #d6336c; --accent-dark: #b82659; }
[data-season="valentinstag"] header.site-header { background: linear-gradient(135deg, #7a1840, #c2336a 55%, #e0588a); }
[data-season="valentinstag"] header.site-header::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22560%22%20height=%22120%22%20viewBox=%220%200%20560%20120%22%3E%3Cg%20transform=%22translate(31,24)%20rotate(-12)%20scale(1.3)%22%20opacity=%220.55%22%3E%3Cpath%20d=%22M0,9%20C-14,-1%20-8,-12%200,-5%20C8,-12%2014,-1%200,9Z%22%20fill=%22%23ffd1e0%22/%3E%3C/g%3E%3Cg%20transform=%22translate(93,78)%20rotate(10)%20scale(0.8)%22%20opacity=%220.5%22%3E%3Cpath%20d=%22M0,9%20C-14,-1%20-8,-12%200,-5%20C8,-12%2014,-1%200,9Z%22%20fill=%22%23ffffff%22/%3E%3C/g%3E%3Cg%20transform=%22translate(155,40)%20rotate(15)%20scale(1.1)%22%20opacity=%220.6%22%3E%3Cpath%20d=%22M0,9%20C-14,-1%20-8,-12%200,-5%20C8,-12%2014,-1%200,9Z%22%20fill=%22%23ff9dbd%22/%3E%3C/g%3E%3Cg%20transform=%22translate(217,96)%20rotate(-20)%20scale(0.9)%22%20opacity=%220.5%22%3E%3Cpath%20d=%22M0,9%20C-14,-1%20-8,-12%200,-5%20C8,-12%2014,-1%200,9Z%22%20fill=%22%23ffd1e0%22/%3E%3C/g%3E%3Cg%20transform=%22translate(280,20)%20rotate(8)%20scale(1.2)%22%20opacity=%220.45%22%3E%3Cpath%20d=%22M0,9%20C-14,-1%20-8,-12%200,-5%20C8,-12%2014,-1%200,9Z%22%20fill=%22%23ffffff%22/%3E%3C/g%3E%3Cg%20transform=%22translate(342,70)%20rotate(-8)%20scale(0.8)%22%20opacity=%220.6%22%3E%3Cpath%20d=%22M0,9%20C-14,-1%20-8,-12%200,-5%20C8,-12%2014,-1%200,9Z%22%20fill=%22%23ff9dbd%22/%3E%3C/g%3E%3Cg%20transform=%22translate(404,100)%20rotate(20)%20scale(1.0)%22%20opacity=%220.55%22%3E%3Cpath%20d=%22M0,9%20C-14,-1%20-8,-12%200,-5%20C8,-12%2014,-1%200,9Z%22%20fill=%22%23ffd1e0%22/%3E%3C/g%3E%3Cg%20transform=%22translate(466,34)%20rotate(-15)%20scale(0.9)%22%20opacity=%220.5%22%3E%3Cpath%20d=%22M0,9%20C-14,-1%20-8,-12%200,-5%20C8,-12%2014,-1%200,9Z%22%20fill=%22%23ffffff%22/%3E%3C/g%3E%3Cg%20transform=%22translate(528,84)%20rotate(5)%20scale(1.1)%22%20opacity=%220.6%22%3E%3Cpath%20d=%22M0,9%20C-14,-1%20-8,-12%200,-5%20C8,-12%2014,-1%200,9Z%22%20fill=%22%23ff9dbd%22/%3E%3C/g%3E%3C/svg%3E"); }
[data-season="valentinstag"] header.site-header::after { height: 16px; background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2260%22%20height=%2216%22%20viewBox=%220%200%2060%2016%22%3E%3Cg%20fill=%22rgba(255,255,255,.75)%22%3E%3Cpath%20d=%22M10,15%20C3,10%206,4%2010,8%20C14,4%2017,10%2010,15Z%22/%3E%3Cpath%20d=%22M30,15%20C25,11%2027,6%2030,9%20C33,6%2035,11%2030,15Z%22%20opacity=%22.7%22/%3E%3Cpath%20d=%22M50,15%20C43,10%2046,4%2050,8%20C54,4%2057,10%2050,15Z%22/%3E%3C/g%3E%3C/svg%3E"); }

[data-season="ostern"] { --accent: #e8790a; --accent-dark: #c96606; }
[data-season="ostern"] header.site-header { background: linear-gradient(135deg, #4a3a8f, #5d5fb8 50%, #3e9ab0); }
[data-season="ostern"] header.site-header::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22560%22%20height=%22120%22%20viewBox=%220%200%20560%20120%22%3E%3Cg%20transform=%22translate(31,24)%20rotate(-10)%20scale(1.1)%22%20opacity=%220.8%22%3E%3Cpath%20d=%22M0,-12%20C9,-12%2011,3%2011,6%20C11,12%206,14%200,14%20C-6,14%20-11,12%20-11,6%20C-11,3%20-9,-12%200,-12Z%22%20fill=%22%23ffd84a%22/%3E%3Cpath%20d=%22M-10,3%20L-5,-1%20L0,3%20L5,-1%20L10,3%22%20stroke=%22%23ffffff%22%20stroke-width=%222%22%20fill=%22none%22/%3E%3Cpath%20d=%22M-10.5,8%20L-5,5%20L0,8%20L5,5%20L10.5,8%22%20stroke=%22%23ffffff%22%20stroke-width=%221.6%22%20fill=%22none%22/%3E%3C/g%3E%3Cg%20transform=%22translate(93,78)%20rotate(0)%20scale(0.9)%22%20opacity=%220.7%22%3E%3Ccircle%20cx=%225.8%22%20cy=%220.0%22%20r=%224.5%22%20fill=%22%23ffffff%22/%3E%3Ccircle%20cx=%221.8%22%20cy=%225.5%22%20r=%224.5%22%20fill=%22%23ffffff%22/%3E%3Ccircle%20cx=%22-4.7%22%20cy=%223.4%22%20r=%224.5%22%20fill=%22%23ffffff%22/%3E%3Ccircle%20cx=%22-4.7%22%20cy=%22-3.4%22%20r=%224.5%22%20fill=%22%23ffffff%22/%3E%3Ccircle%20cx=%221.8%22%20cy=%22-5.5%22%20r=%224.5%22%20fill=%22%23ffffff%22/%3E%3Ccircle%20r=%223.5%22%20fill=%22%23ffd84a%22/%3E%3C/g%3E%3Cg%20transform=%22translate(155,40)%20rotate(12)%20scale(1.0)%22%20opacity=%220.8%22%3E%3Cpath%20d=%22M0,-12%20C9,-12%2011,3%2011,6%20C11,12%206,14%200,14%20C-6,14%20-11,12%20-11,6%20C-11,3%20-9,-12%200,-12Z%22%20fill=%22%23ff9fc8%22/%3E%3Cpath%20d=%22M-10,3%20L-5,-1%20L0,3%20L5,-1%20L10,3%22%20stroke=%22%23ffffff%22%20stroke-width=%222%22%20fill=%22none%22/%3E%3Cpath%20d=%22M-10.5,8%20L-5,5%20L0,8%20L5,5%20L10.5,8%22%20stroke=%22%23ffffff%22%20stroke-width=%221.6%22%20fill=%22none%22/%3E%3C/g%3E%3Cg%20transform=%22translate(217,96)%20rotate(30)%20scale(0.9)%22%20opacity=%220.6%22%3E%3Cpath%20d=%22M0,-10%20C9,-4%209,6%200,12%20C-9,6%20-9,-4%200,-10Z%22%20fill=%22%23bfe8a0%22/%3E%3Cpath%20d=%22M0,-8%20L0,13%22%20stroke=%22rgba(0,0,0,.25)%22%20stroke-width=%221.2%22%20fill=%22none%22/%3E%3C/g%3E%3Cg%20transform=%22translate(280,20)%20rotate(-8)%20scale(1.2)%22%20opacity=%220.8%22%3E%3Cpath%20d=%22M0,-12%20C9,-12%2011,3%2011,6%20C11,12%206,14%200,14%20C-6,14%20-11,12%20-11,6%20C-11,3%20-9,-12%200,-12Z%22%20fill=%22%239fe3c4%22/%3E%3Cpath%20d=%22M-10,3%20L-5,-1%20L0,3%20L5,-1%20L10,3%22%20stroke=%22%23ffffff%22%20stroke-width=%222%22%20fill=%22none%22/%3E%3Cpath%20d=%22M-10.5,8%20L-5,5%20L0,8%20L5,5%20L10.5,8%22%20stroke=%22%23ffffff%22%20stroke-width=%221.6%22%20fill=%22none%22/%3E%3C/g%3E%3Cg%20transform=%22translate(342,70)%20rotate(0)%20scale(1.0)%22%20opacity=%220.7%22%3E%3Ccircle%20cx=%225.8%22%20cy=%220.0%22%20r=%224.5%22%20fill=%22%23ffd1e3%22/%3E%3Ccircle%20cx=%221.8%22%20cy=%225.5%22%20r=%224.5%22%20fill=%22%23ffd1e3%22/%3E%3Ccircle%20cx=%22-4.7%22%20cy=%223.4%22%20r=%224.5%22%20fill=%22%23ffd1e3%22/%3E%3Ccircle%20cx=%22-4.7%22%20cy=%22-3.4%22%20r=%224.5%22%20fill=%22%23ffd1e3%22/%3E%3Ccircle%20cx=%221.8%22%20cy=%22-5.5%22%20r=%224.5%22%20fill=%22%23ffd1e3%22/%3E%3Ccircle%20r=%223.5%22%20fill=%22%23ffd84a%22/%3E%3C/g%3E%3Cg%20transform=%22translate(404,100)%20rotate(10)%20scale(0.9)%22%20opacity=%220.8%22%3E%3Cpath%20d=%22M0,-12%20C9,-12%2011,3%2011,6%20C11,12%206,14%200,14%20C-6,14%20-11,12%20-11,6%20C-11,3%20-9,-12%200,-12Z%22%20fill=%22%23b9a8ff%22/%3E%3Cpath%20d=%22M-10,3%20L-5,-1%20L0,3%20L5,-1%20L10,3%22%20stroke=%22%23ffffff%22%20stroke-width=%222%22%20fill=%22none%22/%3E%3Cpath%20d=%22M-10.5,8%20L-5,5%20L0,8%20L5,5%20L10.5,8%22%20stroke=%22%23ffffff%22%20stroke-width=%221.6%22%20fill=%22none%22/%3E%3C/g%3E%3Cg%20transform=%22translate(466,34)%20rotate(-30)%20scale(1.0)%22%20opacity=%220.6%22%3E%3Cpath%20d=%22M0,-10%20C9,-4%209,6%200,12%20C-9,6%20-9,-4%200,-10Z%22%20fill=%22%23a6df84%22/%3E%3Cpath%20d=%22M0,-8%20L0,13%22%20stroke=%22rgba(0,0,0,.25)%22%20stroke-width=%221.2%22%20fill=%22none%22/%3E%3C/g%3E%3Cg%20transform=%22translate(528,84)%20rotate(6)%20scale(1.0)%22%20opacity=%220.8%22%3E%3Cpath%20d=%22M0,-12%20C9,-12%2011,3%2011,6%20C11,12%206,14%200,14%20C-6,14%20-11,12%20-11,6%20C-11,3%20-9,-12%200,-12Z%22%20fill=%22%23ffc27a%22/%3E%3Cpath%20d=%22M-10,3%20L-5,-1%20L0,3%20L5,-1%20L10,3%22%20stroke=%22%23ffffff%22%20stroke-width=%222%22%20fill=%22none%22/%3E%3Cpath%20d=%22M-10.5,8%20L-5,5%20L0,8%20L5,5%20L10.5,8%22%20stroke=%22%23ffffff%22%20stroke-width=%221.6%22%20fill=%22none%22/%3E%3C/g%3E%3C/svg%3E"); }
[data-season="ostern"] header.site-header::after { height: 16px; background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2260%22%20height=%2216%22%20viewBox=%220%200%2060%2016%22%3E%3Cpath%20d=%22M0,16%20L0,8%20L7.5,16%20L15,8%20L22.5,16%20L30,8%20L37.5,16%20L45,8%20L52.5,16%20L60,8%20L60,16Z%22%20fill=%22%23ffd84a%22%20opacity=%22.85%22/%3E%3Cpath%20d=%22M0,16%20L7.5,10%20L15,16%20L22.5,10%20L30,16%20L37.5,10%20L45,16%20L52.5,10%20L60,16Z%22%20fill=%22%23ff9fc8%22%20opacity=%22.9%22/%3E%3C/svg%3E"); }

/* ---------- Admin: Design-Auswahl (Vorschau-Kacheln) ---------- */
.design-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 14px; margin: 10px 0; }
.design-grid.disabled { opacity: .55; }
.design-tile {
  text-align: left; background: #fff; border: 2px solid var(--border); border-radius: 12px; padding: 8px;
  cursor: pointer; display: flex; flex-direction: column; gap: 4px; font: inherit; color: inherit;
}
.design-tile.selected { border-color: var(--accent, #ff7a1a); box-shadow: 0 0 0 3px rgba(255, 122, 26, .2); }
.design-tile .hint { margin: 0; font-size: .8rem; }
.design-preview { border-radius: 8px; overflow: hidden; background: var(--paper-soft); }
.design-preview header.site-header { padding-block: 12px; }
.design-preview .container { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; padding: 0 12px; width: auto; max-width: none; margin: 0; }
.design-preview-brand { font-family: var(--font-display); font-weight: 700; color: #fff; font-size: 1rem; }
.design-preview-nav { color: #eaf4fb; font-size: .72rem; }
.design-preview-btn { padding: 8px 12px; }
.design-preview-btn .btn { font-size: .72rem; padding: 5px 10px; box-shadow: none; }
[data-season] header.site-header::before { opacity: .72; }
[data-season] header.site-header nav a { text-shadow: 0 1px 3px rgba(0, 0, 0, .4); }

/* ---------- Saison-Animation (js/season-fx.js): Blätter, Schnee, Herzen ---------- */
.season-fx[hidden] { display: none; }
.season-fx { position: fixed; inset: 0; overflow: hidden; pointer-events: none; z-index: 40; }
.season-fx .fx-p { position: absolute; top: 0; will-change: transform; animation: fx-fall linear infinite; }
.season-fx .fx-s { display: block; animation: fx-sway ease-in-out infinite alternate; }
.season-fx .fx-s svg { display: block; width: 100%; height: 100%; }
.season-fx-valentinstag .fx-p { animation-name: fx-rise; top: auto; bottom: 0; }
@keyframes fx-fall { from { transform: translateY(-12vh); } to { transform: translateY(112vh); } }
@keyframes fx-rise { from { transform: translateY(12vh); } to { transform: translateY(-112vh); } }
.season-fx-herbst .fx-s { animation-name: fx-sway-leaf; }
.season-fx-winter .fx-s { animation-name: fx-sway-snow; }
.season-fx-valentinstag .fx-s { animation-name: fx-sway-heart; }
@keyframes fx-sway-leaf { from { transform: translateX(-26px) rotate(-40deg); } to { transform: translateX(26px) rotate(50deg); } }
@keyframes fx-sway-snow { from { transform: translateX(-14px); } to { transform: translateX(14px); } }
@keyframes fx-sway-heart { from { transform: translateX(-18px) rotate(-14deg); } to { transform: translateX(18px) rotate(14deg); } }
@media (prefers-reduced-motion: reduce) { .season-fx { display: none; } }
.season-fx-winter .fx-s svg { filter: drop-shadow(0 0 1.5px rgba(30, 80, 130, .6)); }

/* Knopf «Animation stoppen» in der Kopfzeile, oben rechts über dem Menüpunkt «Über mich» */
.site-header .container { position: relative; }
.fx-toggle {
  position: absolute; top: -4px; right: 0; z-index: 3;
  font: inherit; font-size: .78rem; line-height: 1.2; padding: 4px 12px; border-radius: 999px; cursor: pointer;
  border: 1px solid rgba(255, 255, 255, .55); background: rgba(255, 255, 255, .16); color: #fff;
  backdrop-filter: blur(2px);
}
.fx-toggle:hover { background: rgba(255, 255, 255, .3); }
@media (max-width: 520px) { .fx-toggle { font-size: .7rem; padding: 3px 9px; top: -8px; } }

/* «Gutschein» im Menü schwach blinkend (Weihnachten / Valentinstag / Ostern, Admin → Einstellungen) */
@keyframes gift-blink {
  0%, 100% { opacity: 1; text-shadow: 0 0 0 rgba(255, 255, 255, 0); background-color: rgba(255, 255, 255, 0); }
  50% { opacity: .72; text-shadow: 0 0 10px rgba(255, 255, 255, .9); background-color: rgba(255, 255, 255, .22); }
}
html[data-gift-blink] .site-header nav a[href="/gutschein"] {
  animation: gift-blink 2.6s ease-in-out infinite; border-radius: 999px; padding: 2px 10px; margin-left: 8px;
}
@media (prefers-reduced-motion: reduce) { html[data-gift-blink] .site-header nav a[href="/gutschein"] { animation: none; } }
.design-gift { display: flex; gap: 6px; align-items: center; font-size: .82rem; margin-top: 4px; cursor: pointer; }

/* Aufklappmenü: kein Textschatten der Saison-Designs im weissen Menü */
[data-season] header.site-header nav .nav-dropdown-menu a { text-shadow: none; color: var(--ink); }
[data-season] header.site-header nav .nav-dropdown-menu a:hover,
[data-season] header.site-header nav .nav-dropdown-menu a:focus { color: var(--sky-1); }

/* ---------- Handy-Navigation: Hamburger-Knopf (js/nav-menu.js) ---------- */
.site-header nav a[hidden] { display: none; }
.nav-burger {
  display: none; flex: none; flex-direction: column; justify-content: center; align-items: center; gap: 5px;
  width: 46px; height: 46px; margin-left: auto; padding: 0; cursor: pointer;
  border-radius: 12px; border: 1px solid rgba(255, 255, 255, .55); background: rgba(255, 255, 255, .14); color: #fff;
}
.nav-burger:hover { background: rgba(255, 255, 255, .26); }
.nav-burger:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
.nav-burger span { display: block; width: 22px; height: 2.5px; border-radius: 2px; background: #fff; transition: transform .2s, opacity .2s; }
.site-header.nav-open .nav-burger span:nth-child(1) { transform: translateY(7.5px) rotate(45deg); }
.site-header.nav-open .nav-burger span:nth-child(2) { opacity: 0; }
.site-header.nav-open .nav-burger span:nth-child(3) { transform: translateY(-7.5px) rotate(-45deg); }

@media (max-width: 720px) {
  html.has-burger .nav-burger { display: flex; }
  html.has-burger header.site-header { position: relative; }
  html.has-burger .site-header .container { flex-wrap: nowrap; gap: 12px; }
  html.has-burger .brand img { height: 42px; }
  /* Menü-Fläche unter der Kopfzeile, legt sich über den Seiteninhalt */
  html.has-burger .site-header nav {
    display: none; position: absolute; left: 0; right: 0; top: calc(100% + 16px); z-index: 70;
    padding: 6px 20px 14px; background: #0a2a48; border-radius: 0 0 16px 16px;
    box-shadow: 0 18px 36px rgba(0, 0, 0, .35);
    max-height: calc(100vh - 96px); max-height: calc(100dvh - 96px); overflow-y: auto;
  }
  html.has-burger header.site-header.nav-open nav { display: block; }
  html.has-burger header.site-header nav a {
    display: block; margin: 0; padding: 14px 0; font-size: 1.05rem; color: #fff; text-shadow: none;
    border-bottom: 1px solid rgba(255, 255, 255, .14);
  }
  html.has-burger header.site-header nav a:hover { text-decoration: none; background: rgba(255, 255, 255, .08); }
  html.has-burger[data-gift-blink] .site-header nav a[href="/gutschein"] { margin: 0; padding: 14px 0; border-radius: 0; }
  /* «Flüge»: Unterpunkte klappen auf Tipp auf */
  html.has-burger .nav-dropdown { display: block; }
  html.has-burger header.site-header nav .nav-dropdown-toggle { display: flex; justify-content: space-between; align-items: center; }
  html.has-burger .nav-caret { display: inline-block; transition: transform .2s; font-size: .9em; }
  html.has-burger .nav-dropdown.open .nav-caret { transform: rotate(180deg); }
  html.has-burger .nav-dropdown .nav-dropdown-menu { display: none; position: static; min-width: 0; margin: 0; padding: 0 0 4px; }
  html.has-burger .nav-dropdown.open .nav-dropdown-menu { display: block; }
  html.has-burger .nav-dropdown-menu::before { display: none; }
  html.has-burger header.site-header nav .nav-dropdown-menu a,
  html.has-burger header.site-header nav .nav-dropdown-menu a:first-child,
  html.has-burger header.site-header nav .nav-dropdown-menu a:last-child {
    padding: 11px 0 11px 18px; font-size: .98rem; white-space: normal; color: #d6e9f7; text-shadow: none;
    background: rgba(255, 255, 255, .06); border-radius: 0; border-bottom: 1px solid rgba(255, 255, 255, .08);
  }
  html.has-burger header.site-header nav .nav-dropdown-menu a:hover,
  html.has-burger header.site-header nav .nav-dropdown-menu a:focus { background: rgba(255, 255, 255, .16); color: #fff; }
  /* Knopf «Animation stoppen» steht unten im Menü */
  html.has-burger .site-header nav .fx-toggle { position: static; display: inline-block; margin: 14px 0 4px; font-size: .8rem; padding: 6px 14px; }
}

/* Direktlink aus E-Mail: Zielkarte kurz hervorheben */
.deeplink-flash { outline: 3px solid #f5a623; outline-offset: 4px; animation: deeplinkPulse 1.2s ease-in-out 3; }
@keyframes deeplinkPulse { 50% { outline-color: transparent; } }

/* ---- Admin: Statistik Impressionen ---- */
.gstats-summary { display: flex; flex-wrap: wrap; gap: 10px; margin: 8px 0 14px; }
.gstats-tile { background: #f1f6fa; border: 1px solid var(--border); border-radius: 10px; padding: 10px 16px; display: flex; flex-direction: column; min-width: 110px; }
.gstats-tile.wide { flex: 1 1 220px; }
.gstats-num { font-size: 1.6rem; font-weight: 700; color: #0b3d63; line-height: 1.1; }
.gstats-num.small { font-size: 1.05rem; line-height: 1.3; }
.gstats-lbl { font-size: .78rem; color: #5a6b7a; margin-top: 2px; }
.gstats-chart { display: flex; align-items: flex-end; gap: 3px; height: 70px; margin: 0 0 16px; padding: 6px 8px; background: #f8fbfd; border: 1px solid var(--border); border-radius: 8px; }
.gstats-col { flex: 1; height: 100%; display: flex; align-items: flex-end; }
.gstats-colbar { display: block; width: 100%; min-height: 2px; background: #1a6fa8; border-radius: 2px 2px 0 0; }
.gstats-table td { vertical-align: middle; }
.gstats-rank { font-weight: 700; color: #0b3d63; width: 28px; }
.gstats-thumb { width: 64px; height: 44px; object-fit: cover; border-radius: 6px; display: block; background: #0b3d63; }
.gstats-thumb-media { display: flex; align-items: center; justify-content: center; color: #fff; font-size: 1.2rem; }
.gstats-barcell { min-width: 150px; position: relative; }
.gstats-bar { display: block; height: 8px; border-radius: 4px; background: #ff7a1a; margin-bottom: 3px; min-width: 2px; }
.gstats-table th { text-align: left; white-space: nowrap; padding-right: 14px; }
.gstats-table td { padding-right: 14px; }
.gstats-periods { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0 12px; }
.gstats-chip { display: flex; flex-direction: column; align-items: flex-start; gap: 1px; padding: 8px 14px; border: 1px solid var(--border); border-radius: 10px; background: #fff; cursor: pointer; font: inherit; text-align: left; }
.gstats-chip:hover { border-color: #1a6fa8; }
.gstats-chip.active { background: #0b3d63; border-color: #0b3d63; color: #fff; }
.gstats-chip-num { font-size: 1.25rem; font-weight: 700; line-height: 1.1; }
.gstats-chip-lbl { font-size: .74rem; opacity: .8; }

/* ---------- Unterbrecher «Gutschein verschenken» (Startseite) ---------- */
.gift-promo-wrap { margin-top: 36px; display: none; }
html[data-promo-voucher] .gift-promo-wrap { display: block; }
.gift-promo {
  display: grid; grid-template-columns: 1.15fr 1fr; gap: 28px; align-items: center;
  background: linear-gradient(135deg, var(--sky-1), var(--sky-2)); color: #fff;
  border-radius: var(--radius); padding: 30px; box-shadow: var(--shadow); border-top: 5px solid var(--accent);
  overflow: hidden;
}
.gift-promo h2 { margin: 0 0 12px; font-size: clamp(1.4rem, 3vw, 1.9rem); line-height: 1.25; color: #fff; }
.gift-promo p { margin: 0 0 14px; color: #dcecf7; }
.gift-promo-btn { margin-top: 18px; display: inline-block; }
.gift-promo-cards { position: relative; min-height: 360px; }
.gift-promo-card {
  position: absolute; width: 62%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 10px;
  border: 5px solid #fff; box-shadow: 0 10px 26px rgba(0,0,0,.28); background: #fff;
}
.gift-promo-card-1 { left: 4%; top: 6%; transform: rotate(-6deg); z-index: 3; }
.gift-promo-card-2 { right: 0; top: 0; transform: rotate(6deg); z-index: 2; }
.gift-promo-card-3 { right: 4%; bottom: 2%; transform: rotate(-3deg); z-index: 1; }
/* Beispiel-Gutschein (erste Karte), angelehnt an die Vorschau auf /gutschein */
.gift-promo-voucher {
  --gold: #d9b45a;
  position: absolute; width: 74%; left: 0; top: 4%; z-index: 3; transform: rotate(-4deg);
  padding: 18px 16px 16px; text-align: center; color: #fdf6e6; border: 1px solid var(--gold);
  border-radius: 10px; box-shadow: 0 12px 30px rgba(0,0,0,.35);
  background: linear-gradient(180deg, rgba(11,20,35,.55) 0%, rgba(11,20,35,.8) 65%, rgba(11,20,35,.94) 100%),
    url('/img/hero-cockpit-sonnenflug.jpg') center / cover;
}
.gift-promo-voucher::before, .gift-promo-voucher::after {
  content: ""; position: absolute; left: 10px; right: 10px; height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
}
.gift-promo-voucher::before { top: 7px; }
.gift-promo-voucher::after { bottom: 7px; }
.gift-promo-voucher .gpv-tag {
  display: inline-block; margin-top: 8px; font-size: .6rem; letter-spacing: 1.5px; text-transform: uppercase;
  background: rgba(255,255,255,.16); border: 1px solid rgba(255,255,255,.4); padding: 1px 8px; border-radius: 999px;
}
.gift-promo-voucher .gpv-logo { display: block; margin: 0 auto 4px; height: 30px; width: auto; max-width: 70%; }
.gift-promo-voucher .gpv-emoji { font-size: 1.3rem; line-height: 1.2; }
.gift-promo-voucher .gpv-kicker { letter-spacing: 2.5px; text-transform: uppercase; font-size: .6rem; color: var(--gold); margin-top: 2px; }
.gift-promo-voucher .gpv-title { font-family: Georgia, "Times New Roman", serif; font-size: 1.1rem; margin: 2px 0 4px; }
.gift-promo-voucher .gpv-amount { font-family: Georgia, "Times New Roman", serif; font-size: 1.15rem; font-weight: 700; color: var(--gold); margin: 4px 0; }
.gift-promo-voucher .gpv-recipient { font-size: .82rem; margin-top: 8px; }
.gift-promo-voucher .gpv-msg { font-size: .76rem; font-style: italic; opacity: .92; margin: 2px 0 6px; line-height: 1.35; }
.gift-promo-voucher .gpv-code {
  display: inline-block; font-size: .7rem; letter-spacing: 1px; border: 1px solid var(--gold); color: var(--gold);
  padding: 3px 12px; border-radius: 999px; margin-top: 4px;
}
.gift-promo-voucher .gpv-from { font-size: .72rem; opacity: .85; margin-top: 6px; }
.gift-promo-voucher.occ-weihnachten { background: linear-gradient(180deg, rgba(6,14,34,.30) 0%, rgba(6,14,34,.55) 55%, rgba(6,14,34,.88) 100%), url('/img/voucher/weihnachten.jpg') center / cover; }
.gift-promo-voucher.occ-geburtstag { background: linear-gradient(180deg, rgba(30,10,50,.30) 0%, rgba(30,10,50,.58) 55%, rgba(30,10,50,.88) 100%), url('/img/voucher/geburtstag.jpg') center / cover; }
.gift-promo-voucher.occ-hochzeit { background: linear-gradient(180deg, rgba(60,32,30,.62) 0%, rgba(60,32,30,.82) 55%, rgba(48,24,24,.94) 100%), url('/img/voucher/hochzeit.jpg') center / cover; }
.gift-promo-voucher.occ-valentinstag { background: linear-gradient(180deg, rgba(60,8,36,.38) 0%, rgba(60,8,36,.70) 55%, rgba(46,6,28,.92) 100%), url('/img/voucher/valentinstag.jpg') center / cover; }
.gift-promo-voucher.occ-ostern { background: linear-gradient(180deg, rgba(36,28,86,.50) 0%, rgba(30,40,70,.74) 55%, rgba(18,50,40,.92) 100%), url('/img/voucher/ostern.jpg') center / cover; }
.gift-promo-voucher.occ-verlobung { background: linear-gradient(180deg, rgba(40,10,26,.42) 0%, rgba(40,10,26,.74) 55%, rgba(34,8,22,.92) 100%), url('/img/voucher/verlobung.jpg') center / cover; }
.gift-promo-card-2 { width: 46%; }
.gift-promo-card-3 { width: 46%; }
@media (max-width: 800px) {
  .gift-promo { grid-template-columns: 1fr; padding: 22px; }
  .gift-promo-cards { min-height: 380px; }
  .gift-promo-voucher { width: 78%; left: 2%; }
}

/* Admin: Unterbrecher-Schalter */
.promo-toggle { display: flex; gap: 10px; align-items: flex-start; padding: 10px 0; cursor: pointer; }
.promo-toggle input { margin-top: 4px; }
.promo-sub { margin: 0 0 14px 26px; padding-left: 14px; border-left: 3px solid var(--border); }

/* ---------- Einheitlicher Abstand zwischen den Modulen der Startseite ----------
   Ein einziger Wert für alle Abstände (Hero → Impressionen → Flüge → … → Über mich → Fusszeile).
   Anpassen: nur --section-gap ändern. Die Abschnitte selbst haben keinen eigenen Innenabstand mehr
   oben/unten, der Abstand entsteht ausschliesslich als Aussenabstand oben. */
:root { --section-gap: 80px; }
section.gallery,
section.flights,
section.flights#fluege,
section.about,
.referral-promo-wrap,
.gift-promo-wrap {
  padding-block: 0;
  margin-top: var(--section-gap);
  margin-bottom: 0;
}
footer.site-footer { margin-top: var(--section-gap); }

/* Platzwahl (R66) im Themenflug-Formular */
.seat-field[hidden] { display: none; }
.hint-inline { font-weight: 400; color: var(--ink-soft); font-size: 0.85em; }
.seat-picker { display: flex; gap: 20px; align-items: flex-start; flex-wrap: wrap; }
.seat-cabin {
  display: grid; grid-template-columns: repeat(3, 64px); gap: 8px; padding: 26px 16px 14px;
  background: var(--paper-soft); border: 2px solid var(--border); border-radius: 60px 60px 18px 18px;
  position: relative; justify-content: center;
}
.seat-cabin::before {
  content: "Cockpit"; position: absolute; top: 6px; left: 0; right: 0; text-align: center;
  font-size: 0.65rem; letter-spacing: 2px; text-transform: uppercase; color: var(--ink-soft);
}
.seat-btn, .seat-pilot {
  height: 52px; border-radius: 10px 10px 14px 14px; border: 2px solid var(--border);
  font: inherit; font-size: 0.72rem; font-weight: 600; line-height: 1.15; padding: 2px; text-align: center;
}
.seat-btn { background: #fff; color: var(--ink); cursor: pointer; transition: border-color .15s, background .15s, box-shadow .15s; }
.seat-btn:hover { border-color: var(--accent); }
.seat-btn[aria-pressed="true"] { background: var(--accent); border-color: var(--accent); color: #fff; box-shadow: 0 0 0 3px rgba(255,122,26,.22); }
.seat-btn:focus-visible, .seat-none:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.seat-pilot { background: #dde3ea; color: var(--ink-soft); display: flex; align-items: center; justify-content: center; }
.seat-cabin .seat-front-l { grid-column: 1; }
.seat-cabin .seat-pilot { grid-column: 3; }
.seat-side { flex: 1; min-width: 200px; }
.seat-none {
  font: inherit; font-weight: 600; font-size: 0.88rem; padding: 8px 14px; border-radius: 999px; cursor: pointer;
  border: 2px solid var(--border); background: var(--paper-soft); color: var(--ink);
}
.seat-none[aria-pressed="true"] { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(255,122,26,.22); }
.seat-summary { margin: 8px 0 4px; font-weight: 600; font-size: 0.9rem; }
@media (max-width: 420px) { .seat-cabin { grid-template-columns: repeat(3, 1fr); width: 100%; } }

/* Hinweis-Box «In eigener Sache» unter «Über mich» */
.about-note { margin-top: 22px; padding: 20px 24px 8px; background: var(--paper-soft, #f4f8fb); border: 1px solid #d5e3ee; border-left: 4px solid var(--accent, #ff7a1a); border-radius: 12px; max-width: none; }
.about-note h3 { margin: 0 0 12px; font-size: 1.05rem; }
.about-note p { margin: 0 0 12px; line-height: 1.6; font-size: .95rem; }
.about-note p { max-width: 110ch; }

.load-actions { white-space: nowrap; }
.load-actions .btn-small { margin: 0 .25rem .25rem 0; }
.load-actions select { margin-bottom: .25rem; }
.rebook-row td { background: var(--bg-soft, #f4f7f9); padding: .6rem .5rem; }
