 /* Reset and base styles */
    * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }

    body {
      font-family: 'Inter', sans-serif;
      line-height: 1.6;
      color: #2c1810;
      background: linear-gradient(135deg, #960018 0%, #960018 50%, #16213e 100%);
      min-height: 100vh;
    }

    /* Header and video background */
    header {
      position: relative;
      width: 100%;
      height: 100vh;
      overflow: hidden;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .video-background {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      z-index: 1;
    }

    #bg-video {
      width: 100%;
      height: 100%;
      object-fit: cover;
      filter: sepia(20%) saturate(1.2) brightness(0.8);
      opacity: 0;
      transition: opacity 2s ease-in-out;
    }

    #bg-video.loaded {
      opacity: 1;
    }

    /* Rote Übergangsleiste am unteren Header-Rand */
    .header-transition {
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 120px;
      z-index: 3;
      pointer-events: none;
      background: linear-gradient(
        to bottom,
        transparent 0%,
        rgba(150, 0, 24, 0.1) 20%,
        rgba(150, 0, 24, 0.3) 40%,
        rgba(150, 0, 24, 0.6) 70%,
        #960018 100%
      );
    }

    /* Sprenkel-Overlay für organischeren Übergang */
    .header-transition::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-image: 
        radial-gradient(circle at 15% 20%, rgba(150, 0, 24, 0.4) 2px, transparent 2px),
        radial-gradient(circle at 85% 15%, rgba(150, 0, 24, 0.3) 1.5px, transparent 1.5px),
        radial-gradient(circle at 45% 25%, rgba(150, 0, 24, 0.5) 1px, transparent 1px),
        radial-gradient(circle at 75% 35%, rgba(150, 0, 24, 0.4) 2.5px, transparent 2.5px),
        radial-gradient(circle at 25% 45%, rgba(150, 0, 24, 0.6) 1.8px, transparent 1.8px),
        radial-gradient(circle at 65% 55%, rgba(150, 0, 24, 0.5) 1.2px, transparent 1.2px),
        radial-gradient(circle at 35% 65%, rgba(150, 0, 24, 0.7) 2px, transparent 2px),
        radial-gradient(circle at 80% 75%, rgba(150, 0, 24, 0.6) 1.5px, transparent 1.5px),
        radial-gradient(circle at 20% 85%, rgba(150, 0, 24, 0.8) 2.2px, transparent 2.2px),
        radial-gradient(circle at 60% 95%, rgba(150, 0, 24, 0.9) 1.8px, transparent 1.8px);
      background-size: 
        80px 80px, 
        60px 60px, 
        40px 40px, 
        70px 70px, 
        50px 50px,
        45px 45px,
        65px 65px,
        55px 55px,
        75px 75px,
        35px 35px;
      animation: speckleFloat 8s ease-in-out infinite alternate;
    }

    @keyframes speckleFloat {
      0% { 
        transform: translateY(0) scale(1);
        opacity: 0.8;
      }
      100% { 
        transform: translateY(-5px) scale(1.02);
        opacity: 1;
      }
    }

    .video-overlay {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      z-index: 2;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      background: linear-gradient(
        45deg,
        rgba(150, 0, 24, 0.4) 0%,
        rgba(0, 0, 0, 0.6) 50%,
        rgba(150, 0, 24, 0.3) 100%
      );
      color: white;
      text-align: center;
      pointer-events: auto;
    }

    .video-overlay h1 {
      font-family: 'Montserrat', sans-serif;
      font-size: clamp(2.5rem, 8vw, 6rem);
      font-weight: 300;
      text-shadow: 3px 3px 12px rgba(0, 0, 0, 0.8);
      margin-bottom: 2rem;
      letter-spacing: 0.05em;
      text-transform: uppercase;
      background: linear-gradient(135deg, #ffffff 0%, #f8f8f8 50%, #e0e0e0 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
      animation: titleGlow 3s ease-in-out infinite alternate;
    }

    /* Countdown Timer */
    .countdown-container {
      display: none;
      flex-direction: row;
      gap: 2rem;
      margin: 1.5rem 0;
      padding: 1.5rem 2rem;
      background: rgba(0, 0, 0, 0.4);
      border-radius: 15px;
      border: 1px solid rgba(255, 255, 255, 0.2);
      backdrop-filter: blur(10px);
      box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
    }

    .countdown-item {
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
    }

    .countdown-number {
      font-family: 'Montserrat', sans-serif;
      font-size: 2.5rem;
      font-weight: 700;
      color: #ffffff;
      text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.7);
      line-height: 1;
      margin-bottom: 0.3rem;
    }

    .countdown-label {
      font-family: 'Montserrat', sans-serif;
      font-size: 0.9rem;
      font-weight: 500;
      color: rgba(255, 255, 255, 0.9);
      text-transform: uppercase;
      letter-spacing: 0.05em;
    }

    /* Admin DateTime Section */
    #admin-datetime-section {
      margin-top: 2rem;
      padding: 1.5rem;
      background: rgba(248, 248, 248, 0.9);
      border-radius: 12px;
      border: 2px dashed #960018;
    }

    #admin-datetime-section h3 {
      font-family: 'Playfair Display', serif;
      color: #960018;
      margin-bottom: 1rem;
      font-size: 1.3rem;
    }

    /* Admin Link Editor */
    #admin-link-section {
      margin-top: 2rem;
      padding: 1.5rem;
      background: rgba(248, 248, 248, 0.9);
      border-radius: 12px;
      border: 2px dashed #960018;
    }

    #admin-link-section h3 {
      font-family: 'Playfair Display', serif;
      color: #960018;
      margin-bottom: 1rem;
      font-size: 1.3rem;
    }

    .link-editor-group {
      margin-bottom: 1.5rem;
      padding: 1rem;
      background: white;
      border-radius: 8px;
      border: 1px solid #e0e0e0;
    }

    .link-editor-group h4 {
      font-family: 'Playfair Display', serif;
      color: #960018;
      margin-bottom: 0.8rem;
      font-size: 1.1rem;
    }

    .link-input-group {
      display: flex;
      flex-direction: column;
      gap: 0.5rem;
      margin-bottom: 0.8rem;
    }

    .link-input-group label {
      font-weight: 600;
      color: #666;
      font-size: 0.9rem;
    }

    .link-input-group input {
      padding: 8px 12px;
      border: 2px solid #e0e0e0;
      border-radius: 6px;
      font-size: 0.95rem;
      background: white;
    }

    .link-input-group input:focus {
      outline: none;
      border-color: #960018;
      box-shadow: 0 0 0 2px rgba(150, 0, 24, 0.1);
    }

    #event-datetime {
      padding: 10px 15px;
      border: 2px solid #e0e0e0;
      border-radius: 8px;
      font-size: 1rem;
      margin-right: 10px;
      margin-bottom: 10px;
      background: white;
    }

    #event-datetime:focus {
      outline: none;
      border-color: #960018;
      box-shadow: 0 0 0 3px rgba(150, 0, 24, 0.1);
    }

    .admin-only {
      display: none !important;
    }

    /* Play button */
    .play-button {
      width: 80px;
      height: 80px;
      border-radius: 50%;
      background: linear-gradient(135deg, #960018 0%, #c41e3a 100%);
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      position: relative;
      transition: all 0.3s ease;
      box-shadow: 0 8px 32px rgba(150, 0, 24, 0.4);
    }

    .play-button:hover {
      transform: scale(1.1);
      box-shadow: 0 12px 48px rgba(150, 0, 24, 0.6);
    }

    .play-button::before {
      content: '';
      width: 0;
      height: 0;
      border-left: 25px solid white;
      border-top: 15px solid transparent;
      border-bottom: 15px solid transparent;
      margin-left: 5px;
    }

    /* Video player container */
    #video-player-container {
      display: none;
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: rgba(0, 0, 0, 0.95);
      z-index: 1000;
      justify-content: center;
      align-items: center;
    }

    #main-player {
      width: 95%;
      height: 90%;
      max-width: none;
      max-height: none;
      border: none;
      border-radius: 12px;
    }

    #close-button {
      position: absolute;
      top: 20px;
      right: 30px;
      background: rgba(150, 0, 24, 0.9);
      color: white;
      border: none;
      padding: 12px 20px;
      border-radius: 25px;
      cursor: pointer;
      font-size: 1rem;
      font-weight: bold;
      transition: all 0.3s ease;
      backdrop-filter: blur(10px);
    }

    #close-button:hover {
      background: rgba(150, 0, 24, 1);
      transform: scale(1.05);
    }

    /* Main content */
    main {
      max-width: 1000px;
      margin: 0 auto;
      padding: 4rem 2rem;
      position: relative;
          }

    /* Section styling */
    section {
      margin-bottom: 4rem;
      padding: 3rem;
      background: linear-gradient(135deg, 
        rgba(255, 255, 255, 0.95) 0%, 
        rgba(255, 255, 255, 0.98) 100%
      );
      border-radius: 20px;
      box-shadow: 
        0 20px 60px rgba(0, 0, 0, 0.1),
        0 8px 25px rgba(150, 0, 24, 0.05),
        inset 0 1px 0 rgba(255, 255, 255, 0.6);
      backdrop-filter: blur(20px);
      border: 1px solid rgba(255, 255, 255, 0.2);
      transition: all 0.3s ease;
      position: relative;
      overflow: hidden;
    }

    section::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 3px;
      background: linear-gradient(90deg, #960018 0%, #c41e3a 50%, #960018 100%);
      border-radius: 20px 20px 0 0;
    }

    section:hover {
      transform: translateY(-5px);
      box-shadow: 
        0 30px 80px rgba(0, 0, 0, 0.15),
        0 12px 35px rgba(150, 0, 24, 0.1);
    }

    /* Typography */
    section h2 {
      font-family: 'Playfair Display', serif;
      font-size: 2.5rem;
      margin-bottom: 1.5rem;
      color: #960018;
      position: relative;
      padding-bottom: 1rem;
    }

    section h2::after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      width: 60px;
      height: 3px;
      background: linear-gradient(90deg, #960018 0%, #c41e3a 100%);
      border-radius: 2px;
    }

    section p, section ul {
      font-size: 1.2rem;
      line-height: 1.8;
      color: #3a1a1a;
      margin-bottom: 1rem;
    }

    section ul {
      list-style: none;
      padding-left: 0;
    }

    section ul li {
      position: relative;
      padding-left: 2rem;
      margin-bottom: 0.8rem;
    }

    section ul li::before {
      content: '♦';
      position: absolute;
      left: 0;
      color: #960018;
      font-weight: bold;
      font-size: 1.2em;
    }

    /* Links */
    a {
      color: #960018;
      text-decoration: none;
      font-weight: 600;
      position: relative;
      transition: all 0.3s ease;
    }

    a::after {
      content: '';
      position: absolute;
      bottom: -2px;
      left: 0;
      width: 0;
      height: 2px;
      background: linear-gradient(90deg, #960018 0%, #c41e3a 100%);
      transition: width 0.3s ease;
    }

    a:hover::after {
      width: 100%;
    }

    a:hover {
      color: #c41e3a;
      transform: translateY(-1px);
    }

    /* Gastgeber section */
    .gastgeber-container {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
      gap: 2.5rem;
      margin-top: 2rem;
    }

    .gastgeber-box {
      background: linear-gradient(135deg, 
        rgba(255, 255, 255, 0.9) 0%, 
        rgba(248, 248, 248, 0.95) 100%
      );
      padding: 2.5rem;
      border-radius: 20px;
      text-align: center;
      box-shadow: 
        0 15px 40px rgba(0, 0, 0, 0.08),
        0 5px 15px rgba(150, 0, 24, 0.05);
      transition: all 0.3s ease;
      border: 1px solid rgba(150, 0, 24, 0.1);
      position: relative;
      overflow: hidden;
    }

    .gastgeber-box::before {
      content: '';
      position: absolute;
      top: -50%;
      left: -50%;
      width: 200%;
      height: 200%;
      background: radial-gradient(circle, rgba(150, 0, 24, 0.02) 0%, transparent 70%);
      transform: scale(0);
      transition: transform 0.5s ease;
    }

    .gastgeber-box:hover::before {
      transform: scale(1);
    }

    .gastgeber-box:hover {
      transform: translateY(-8px);
      box-shadow: 
        0 25px 60px rgba(0, 0, 0, 0.12),
        0 10px 25px rgba(150, 0, 24, 0.1);
    }

    .gastgeber-box img {
      width: 160px;
      height: 160px;
      border-radius: 50%;
      object-fit: cover;
      margin-bottom: 1.5rem;
      border: 4px solid #960018;
      box-shadow: 0 8px 25px rgba(150, 0, 24, 0.2);
      transition: all 0.3s ease;
      position: relative;
      z-index: 1;
    }

    .gastgeber-box:hover img {
      transform: scale(1.05);
      box-shadow: 0 12px 35px rgba(150, 0, 24, 0.3);
    }

    .gastgeber-box h3 {
      font-family: 'Playfair Display', serif;
      margin-bottom: 1rem;
      font-size: 1.6rem;
      color: #960018;
      font-weight: 600;
      position: relative;
      z-index: 1;
    }

    .gastgeber-box p {
      font-size: 1rem;
      position: relative;
      z-index: 1;
    }

    /* Admin section - versteckt */
    #admin-section {
      display: none;
      margin-bottom: 4rem;
      padding: 3rem;
      background: linear-gradient(135deg, 
        rgba(255, 255, 255, 0.95) 0%, 
        rgba(255, 255, 255, 0.98) 100%
      );
      border-radius: 20px;
      box-shadow: 
        0 20px 60px rgba(0, 0, 0, 0.1),
        0 8px 25px rgba(150, 0, 24, 0.05),
        inset 0 1px 0 rgba(255, 255, 255, 0.6);
      backdrop-filter: blur(20px);
      border: 1px solid rgba(255, 255, 255, 0.2);
      position: relative;
      overflow: hidden;
    }

    #admin-section::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 3px;
      background: linear-gradient(90deg, #960018 0%, #c41e3a 50%, #960018 100%);
      border-radius: 20px 20px 0 0;
    }


/* Footer Styles */
.site-footer {
  background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f0f23 100%);
  color: rgba(255, 255, 255, 0.9);
  padding: 3rem 0 1rem 0;
  margin-top: 4rem;
  position: relative;
  overflow: hidden;
}

.site-footer::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.3) 50%, transparent 100%);
}

.footer-content {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 2rem;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 2rem;
}

.footer-section h3 {
  font-family: 'Playfair Display', serif;
  font-size: 1.3rem;
  color: #ffffff;
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid rgba(150, 0, 24, 0.5);
}

.footer-section p {
  font-size: 0.9rem;
  line-height: 1.6;
  margin-bottom: 0.8rem;
  color: rgba(255, 255, 255, 0.8);
}

.footer-section strong {
  color: #ffffff;
}

.legal-details {
  margin-top: 1rem;
}

.legal-details summary {
  cursor: pointer;
  font-weight: 600;
  color: #ffffff;
  padding: 0.5rem 0;
  border-radius: 5px;
  transition: color 0.3s ease;
}

.legal-details summary:hover {
  color: rgba(150, 0, 24, 0.8);
}

.legal-content {
  padding: 1rem 0;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  margin-top: 0.5rem;
}

.legal-content h4 {
  font-family: 'Playfair Display', serif;
  font-size: 1rem;
  color: #ffffff;
  margin: 1rem 0 0.5rem 0;
}

.legal-content p {
  font-size: 0.8rem;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.7);
}

.cookie-list {
  list-style: none;
  padding: 0;
  margin: 1rem 0;
}

.cookie-list li {
  padding: 0.5rem 0;
  font-size: 0.9rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.8);
}

.cookie-list li:last-child {
  border-bottom: none;
}

.cookie-list strong {
  color: rgba(255, 255, 255, 0.9);
}

.footer-bottom {
  text-align: center;
  padding: 2rem 0 1rem 0;
  margin-top: 2rem;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.footer-bottom p {
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.6);
  margin: 0;
}

/* Responsive Footer */
@media (max-width: 768px) {
  .footer-content {
    grid-template-columns: 1fr;
    padding: 0 1rem;
  }
  
  .footer-section {
    margin-bottom: 1rem;
  }
  
  .legal-content p {
    font-size: 0.75rem;
  }
}

@media (max-width: 480px) {
  .site-footer {
    padding: 2rem 0 1rem 0;
  }
  
  .footer-content {
    gap: 1.5rem;
  }
  
  .footer-section h3 {
    font-size: 1.1rem;
  }
  
  .footer-section p {
    font-size: 0.85rem;
  }
}


    /* Admin Toggle Icon */
    .admin-toggle {
      position: fixed;
      bottom: 20px;
      right: 20px;
      width: 50px;
      height: 50px;
      background: linear-gradient(135deg, #960018 0%, #c41e3a 100%);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      z-index: 100;
      box-shadow: 0 4px 20px rgba(150, 0, 24, 0.3);
      transition: all 0.5s ease;
      opacity: 0;
      transform: translateY(100px) scale(0.8);
      pointer-events: none;
    }

    .admin-toggle.visible {
      opacity: 0.7;
      transform: translateY(0) scale(1);
      pointer-events: auto;
    }

    .admin-toggle.visible:hover {
      opacity: 1;
      transform: translateY(0) scale(1.1);
      box-shadow: 0 6px 30px rgba(150, 0, 24, 0.5);
    }

    .admin-toggle::before {
      content: '⚙';
      color: white;
      font-size: 20px;
      font-weight: bold;
    }

    #admin-pass {
      padding: 12px 16px;
      margin-right: 12px;
      border: 2px solid #e0e0e0;
      border-radius: 10px;
      font-size: 1rem;
      transition: all 0.3s ease;
      background: rgba(255, 255, 255, 0.9);
    }

    #admin-pass:focus {
      outline: none;
      border-color: #960018;
      box-shadow: 0 0 0 3px rgba(150, 0, 24, 0.1);
    }

    button {
      padding: 12px 24px;
      background: linear-gradient(135deg, #960018 0%, #c41e3a 100%);
      color: white;
      border: none;
      border-radius: 10px;
      margin: 8px 8px 8px 0;
      cursor: pointer;
      font-size: 1rem;
      font-weight: 600;
      transition: all 0.3s ease;
      box-shadow: 0 4px 15px rgba(150, 0, 24, 0.3);
      position: relative;
      overflow: hidden;
    }

    button::before {
      content: '';
      position: absolute;
      top: 0;
      left: -100%;
      width: 100%;
      height: 100%;
      background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
      transition: left 0.5s ease;
    }

    button:hover::before {
      left: 100%;
    }

    button:hover {
      transform: translateY(-2px);
      box-shadow: 0 8px 25px rgba(150, 0, 24, 0.4);
    }

    button:active {
      transform: translateY(0);
    }

    #image-upload {
      margin-top: 2rem;
      padding: 2rem;
      background: rgba(248, 248, 248, 0.8);
      border-radius: 15px;
      border: 2px dashed #960018;
    }

    #image-upload h3 {
      font-family: 'Playfair Display', serif;
      margin-bottom: 1rem;
      color: #960018;
      font-size: 1.4rem;
    }

    #image-upload input[type="file"] {
      margin-left: 10px;
      padding: 8px;
      border: 1px solid #ccc;
      border-radius: 8px;
      background: white;
    }

    .hidden {
      display: none;
    }

    /* Responsive design */
    @media (max-width: 768px) {
      main {
        padding: 2rem 1rem;
      }
      
      section {
        padding: 2rem;
        margin-bottom: 2rem;
      }
      
      section h2 {
        font-size: 2rem;
      }
      
      .gastgeber-container {
        grid-template-columns: 1fr;
        gap: 2rem;
      }
      
      .gastgeber-box {
        padding: 2rem;
      }
      
      .video-overlay h1 {
        font-size: 2.5rem;
        margin-bottom: 1rem;
        font-weight: 400;
        letter-spacing: 0.03em;
      }
      
      .play-button {
        width: 70px;
        height: 70px;
      }
      
      .play-button::before {
        border-left: 20px solid white;
        border-top: 12px solid transparent;
        border-bottom: 12px solid transparent;
      }
      
      .admin-toggle {
        width: 45px;
        height: 45px;
        bottom: 15px;
        right: 15px;
      }
      
      .admin-toggle::before {
        font-size: 18px;
      }
      
      .admin-toggle.visible {
        transform: translateY(0) scale(1);
      }
      
      .admin-toggle.visible:hover {
        transform: translateY(0) scale(1.05);
      }

      .countdown-container {
        flex-direction: column;
        gap: 1rem;
        padding: 1rem 1.5rem;
      }

      .countdown-number {
        font-size: 2rem;
      }
    }

    @media (max-width: 480px) {
      section {
        padding: 1.5rem;
      }
      
      section h2 {
        font-size: 1.8rem;
      }
      
      section p, section ul {
        font-size: 1.1rem;
      }
      
      .gastgeber-box img {
        width: 120px;
        height: 120px;
      }

      .countdown-container {
        gap: 0.8rem;
        padding: 1rem;
      }

      .countdown-number {
        font-size: 1.8rem;
      }

      .countdown-label {
        font-size: 0.8rem;
      }
    }

    @keyframes titleGlow {
      0% { 
        text-shadow: 3px 3px 12px rgba(0, 0, 0, 0.8); 
      }
      100% { 
        text-shadow: 3px 3px 12px rgba(0, 0, 0, 0.8), 0 0 30px rgba(255, 255, 255, 0.3); 
      }
    }