/*
Theme Name: SUBKULTUR Magazin
Theme URI: https://subkultur-magazin.de
Author: SUBKULTUR
Description: Neo-Brutalist & Retro-Pixel Theme für Ultras, Graffiti und Kurvenkultur.
Version: 1.0.0
Text Domain: subkultur
*/

/* Hier folgt dein bisheriges CSS */

    /* ==========================================
       GLOBAL RESET & BASICS (STRIKT ECKIG)
       ========================================== */
    *,
    *::before,
    *::after {
      box-sizing: border-box;
      border-radius: 0 !important;
    }

    body {
      font-family: 'Helvetica Neue', Arial, sans-serif;
      background-color: #e5e7eb;
      color: #111827;
      margin: 0;
      padding: 0;
      line-height: 1.5;
    }

    a {
      color: inherit;
      text-decoration: none;
    }

    img {
      width: 100%;
      height: auto;
      display: block;
      object-fit: cover;
    }

    /* ==========================================
       1. INFO BAR (LAUFTEXT)
       ========================================== */
/* 1. INFO BAR */
.info-bar {
  height: 40px;
  background-color: #3b82f6;
  color: #ffffff;
  font-family: 'Press Start 2P', monospace;
  font-size: 0.75rem;
  overflow: hidden;
  white-space: nowrap;
  display: flex;
  align-items: center;
  border-bottom: 2px solid #1d4ed8;
  width: 100%;
  position: relative;
}

.ticker-wrapper {
  display: flex;
  white-space: nowrap;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  will-change: transform;
}

.ticker-item {
  display: inline-block;
  padding-right: 40px; /* Gleichmäßiger Abstand zwischen den Sätzen */
  flex-shrink: 0;
}

    /* ==========================================
       2. NAVIBAR & HAMBURGER MENU
       ========================================== */
    .navbar {
      position: sticky;
      top: 0;
      z-index: 1000;
      width: 100%;
      background-color: #ffffff;
      color: #000000;
      border-bottom: 2px solid #111827;
      box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
    }

    .nav-container {
      width: 80%;
      max-width: 1200px;
      margin: 0 auto;
      display: flex;
      justify-content: space-between;
      align-items: center;
      height: 70px;
    }

    .logo {
      font-family: 'Press Start 2P', monospace;
      font-size: 1.25rem;
      font-weight: normal;
      letter-spacing: 0;
      text-transform: uppercase;
      z-index: 1002; /* Über dem Fullscreen-Overlay */
    }

.logo-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
  z-index: 1002; /* Bleibt wie das Logo über dem Mobil-Overlay */
}

.logo-tagline {
  font-family: 'Press Start 2P', monospace;
  font-size: 0.5rem; /* Passende kleine Pixel-Schrift */
  color: #4b5563;
  margin-top: 4px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

    /* Desktop Navigation */
    .nav-links {
      display: flex;
      list-style: none;
      margin: 0;
      padding: 0;
      gap: 30px;
    }

    .nav-links a {
      font-weight: 700;
      text-transform: uppercase;
      font-size: 0.9rem;
      letter-spacing: 1px;
      padding: 5px 0;
      transition: border-bottom 0.2s ease;
    }

    .nav-links a:hover {
      border-bottom: 3px solid #000000;
    }

    /* Hamburger Icon Button (Standardmäßig versteckt) */
    .hamburger-btn {
      display: none;
      background: none;
      border: none;
      cursor: pointer;
      padding: 10px;
      z-index: 1002; /* Über dem Overlay */
      flex-direction: column;
      justify-content: space-between;
      width: 30px;
      height: 24px;
    }

    .hamburger-btn span {
      display: block;
      width: 100%;
      height: 3px;
      background-color: #111827;
      transition: all 0.3s ease;
    }

    /* Animation Hamburger zu 'X' wenn aktiv */
    .hamburger-btn.active span:nth-child(1) {
      transform: translateY(10.5px) rotate(45deg);
    }
    .hamburger-btn.active span:nth-child(2) {
      opacity: 0;
    }
    .hamburger-btn.active span:nth-child(3) {
      transform: translateY(-10.5px) rotate(-45deg);
    }

    /* ==========================================
       BOXED CONTAINER (80% BREITE) & LAYOUT
       ========================================== */
    .main-wrapper {
      width: 80%;
      max-width: 1200px;
      margin: 40px auto;
      display: flex;
      flex-direction: column;
      gap: 40px;
    }

    .section-box {
      background-color: #ffffff;
      padding: 30px;
      border: 1px solid #d1d5db;
    }

    .section-title {

      font-size: 1.5rem;
      font-weight: 800;
      text-transform: uppercase;
      margin-top: 0;
      margin-bottom: 20px;
      border-left: 5px solid #000000;
      padding-left: 10px;
    } 


/* ==========================================
   3. SCHLAGZEILE / HERO (MIT EIGENEM BILD-BEREICH)
   ========================================== */
.hero-section {
  padding: 30px;
}

.hero-container {
  display: grid;
  grid-template-columns: 1.2fr 1fr; /* Links Bild, rechts Text */
  gap: 30px;
  align-items: center;
}

.hero-image-wrapper {
  width: 100%;
  height: 380px;
  border: 1px solid #111827;
}

.hero-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero-content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.hero-tag {
  background-color: #3b82f6;
  color: #ffffff;
  font-weight: bold;
  font-size: 0.8rem;
  padding: 4px 10px;
  text-transform: uppercase;
  margin-bottom: 15px;
}

.hero-title {
  font-size: 2rem;
  font-weight: 900;
  line-height: 1.15;
  margin: 0 0 15px 0;
  text-transform: uppercase;
  color: #111827;
}

.hero-excerpt {
  font-size: 0.95rem;
  color: #4b5563;
  margin: 0 0 25px 0;
  line-height: 1.6;
}

.cta-btn {
  display: inline-block;
  background-color: #111827;
  color: #ffffff;
  font-weight: 800;
  padding: 12px 24px;
  text-transform: uppercase;
  border: none;
  transition: background 0.2s;
}

.cta-btn:hover {
  background-color: #3b82f6;
}

/* Responsive Anpassung für Smartphones */
@media (max-width: 768px) {
  .hero-container {
    grid-template-columns: 1fr; /* Bricht mobil untereinander um */
  }
  
  .hero-image-wrapper {
    height: 250px;
  }
}

/* ==========================================
   SINGLE POST SUB-NAV (BRUTALIST LOOK)
   ========================================== */
.subnav-section {
  background-color: #ffffff;
  border: 2px solid #111827;
  padding: 10px 18px;
  box-shadow: 4px 4px 0px #111827;
  width: 100%;
}

.subnav-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 15px;
  flex-wrap: wrap;
}

.subnav-left-group {
  display: flex;
  align-items: center;
  gap: 15px;
  flex-wrap: wrap;
}

/* Zurück-Button im eckigen Pixel/Brutal-Look */
.subnav-back-btn {
  font-family: 'Press Start 2P', monospace;
  font-size: 0.65rem;
  background-color: #111827;
  color: #ffffff;
  padding: 8px 12px;
  text-decoration: none;
  font-weight: bold;
  transition: background-color 0.15s ease;
}

.subnav-back-btn:hover {
  background-color: #3b82f6;
  color: #ffffff;
}

/* "Könnte dich interessieren" Styling */
.subnav-recommendation {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.8rem;
  border-left: 2px solid #111827;
  padding-left: 12px;
}

.rec-label {
  font-family: 'Press Start 2P', monospace;
  font-size: 0.55rem;
  color: #3b82f6;
  font-weight: bold;
}

.rec-link {
  font-weight: 800;
  color: #111827;
  text-transform: uppercase;
  max-width: 280px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.rec-link:hover {
  text-decoration: underline;
}

/* Rechter Social & Status Bereich */
.subnav-meta {
  display: flex;
  align-items: center;
  gap: 12px;
}

.subnav-badge {
  font-family: 'Press Start 2P', monospace;
  font-size: 0.55rem;
  background-color: #f3f4f6;
  border: 1px solid #111827;
  color: #111827;
  padding: 5px 8px;
  display: flex;
  align-items: center;
  gap: 6px;
}

.badge-dot {
  width: 6px;
  height: 6px;
  background-color: #10b981;
  border-radius: 50% !important;
  animation: badgePulse 1.5s infinite;
}

@keyframes badgePulse {
  0% { opacity: 1; }
  50% { opacity: 0.3; }
  100% { opacity: 1; }
}

.subnav-links {
  display: flex;
  gap: 10px;
  border-left: 2px solid #111827;
  padding-left: 12px;
}

.subnav-links a {
  font-family: 'Press Start 2P', monospace;
  font-size: 0.55rem;
  color: #111827;
  font-weight: bold;
}

.subnav-links a:hover {
  color: #ef4444;
}

/* Mobil-Anpassung */
@media (max-width: 768px) {
  .subnav-inner {
    flex-direction: column;
    align-items: flex-start;
  }

  .subnav-recommendation {
    border-left: none;
    padding-left: 0;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }

  .rec-link {
    max-width: 100%;
    white-space: normal;
  }

  .subnav-links {
    border-left: none;
    padding-left: 0;
  }
}

    /* ==========================================
       4. NEWS GRID
       ========================================== */
/* ==========================================
   4. NEWS GRID (NEO-BRUTALIST UPGRADE)
   ========================================== */
.grid-3x2 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 25px;
}

.news-card {
  background-color: #ffffff;
  border: 2px solid #111827;
  padding: 15px;
  box-shadow: 4px 4px 0px #111827;
  display: flex;
  flex-direction: column;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

/* Hover-Effekt: Karte hebt sich leicht an */
.news-card:hover {
  transform: translate(-3px, -3px);
  box-shadow: 7px 7px 0px #111827;
}

/* Bildbereich mit harter Kontur */
.news-card a {
  display: block;
  overflow: hidden;
  margin-bottom: 12px;
}

.news-card-img-link {
  display: block;
  width: 100%;
  overflow: hidden;
  border: 1px solid #111827;
  margin-bottom: 12px;
}

.news-card:hover .news-card-img {
  transform: scale(1.03); /* Subtiler Zoom beim Drüberfahren */
}

/* Content Bereich */
.news-card-content {
  padding: 0;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.news-card-title {
  font-size: 1.15rem;
  font-weight: 900;
  margin: 0 0 8px 0;
  line-height: 1.25;
  text-transform: uppercase;
  color: #111827;
}

.news-card-title a:hover {
  color: #3b82f6; /* Marken-Blau beim Hovern */
}

.news-card-excerpt {
  font-size: 0.85rem;
  color: #4b5563;
  margin: 0;
  line-height: 1.5;
}

/* Responsive Anpassung für Mobile */
@media (max-width: 900px) {
  .grid-3x2 {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .grid-3x2 {
    grid-template-columns: 1fr;
  }
}

    /* ==========================================
       5. BILDERGALERIEN GRID
       ========================================== */
    .gallery-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 20px;
    }

    .gallery-item {
      position: relative;
      height: 250px;
      overflow: hidden;
    }

    .gallery-item img {
      height: 100%;
      transition: transform 0.3s ease;
    }

    .gallery-item:hover img {
      transform: scale(1.05);
    }

    .gallery-overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(to top, rgba(0,0,0,0.9), rgba(0,0,0,0.1));
      display: flex;
      align-items: flex-end;
      padding: 20px;
      color: #ffffff;
    }

    .gallery-text {
      font-size: 1rem;
      font-weight: 700;
      text-transform: uppercase;
      margin: 0;
    }

    /* ==========================================
       6. EINZELARTIKEL MIT SIDEBAR
       ========================================== */
    .article-sidebar-container {
      display: grid;
      grid-template-columns: 2.2fr 1fr;
      gap: 30px;
    }

    .single-article-img {
      max-height: 380px;
      margin-bottom: 20px;
    }

    .single-article-headline {
      font-size: 1.8rem;
      font-weight: 800;
      margin: 0 0 15px 0;
      line-height: 1.2;
    }

    .single-article-text {
      font-size: 0.95rem;
      color: #374151;
      line-height: 1.7;
    }

    .single-article-text p {
      margin-bottom: 15px;
    }

    .sidebar {
      border-left: 1px solid #e5e7eb;
      padding-left: 25px;
      display: flex;
      flex-direction: column;
      gap: 25px;
    }

    .sidebar-widget-title {
      font-size: 1.1rem;
      font-weight: 800;
      text-transform: uppercase;
      margin-top: 0;
      margin-bottom: 15px;
      border-bottom: 2px solid #111827;
      padding-bottom: 5px;
    }

    .sidebar-links {
      list-style: none;
      padding: 0;
      margin: 0;
    }

    .sidebar-links li {
      margin-bottom: 10px;
      padding-bottom: 10px;
      border-bottom: 1px dashed #e5e7eb;
    }

    .sidebar-links li:last-child {
      border-bottom: none;
    }

    .sidebar-links a {
      font-size: 0.9rem;
      font-weight: 600;
      color: #111827;
      transition: color 0.2s;
    }

    .sidebar-links a:hover {
      color: #3b82f6;
    }

    .sidebar-ad {
      background-color: #f3f4f6;
      border: 2px dashed #9ca3af;
      height: 250px;
      display: flex;
      justify-content: center;
      align-items: center;
      color: #6b7280;
      font-weight: bold;
      text-transform: uppercase;
      font-size: 0.85rem;
      text-align: center;
      padding: 10px;
    }

/* ==========================================
   SPIELERGEBNISSE SEKTION
   ========================================== */
.results-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}

.results-subtitle {
  font-family: 'Press Start 2P', monospace;
  font-size: 0.7rem;
  color: #3b82f6;
  text-transform: uppercase;
}

.results-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.match-card {
  display: grid;
  grid-template-columns: 180px 1fr 100px;
  align-items: center;
  background-color: #f9fafb;
  border: 1px solid #111827;
  padding: 12px 20px;
  transition: background-color 0.2s ease;
}

.match-card:hover {
  background-color: #ffffff;
  border-left: 4px solid #3b82f6;
}

.match-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.match-league {
  font-size: 0.75rem;
  font-weight: 800;
  text-transform: uppercase;
  color: #111827;
}

.match-date {
  font-size: 0.75rem;
  color: #6b7280;
  font-weight: 600;
}

/* Mannschaft 1 - Mannschaft 2 Layout */
.match-teams {
  display: flex;
  align-items: center;
  gap: 15px;
  font-weight: 800;
  font-size: 1rem;
  text-transform: uppercase;
}

.team {
  flex: 1;
}

.team-home {
  font-family: 'Press Start 2P', monospace;
  font-size: 0.8rem;
  color: #111827;
  text-align: right;
}

.team-away {
  font-family: 'Press Start 2P', monospace;
  font-size: 0.8rem;
  color: #111827;
  text-align: left;
}

.match-vs {
  font-family: 'Press Start 2P', monospace;
  font-size: 1rem;
  color: #9ca3af;
}

/* Ergebnis Badge im Pixel-Look */
.match-score {
  font-family: 'Press Start 2P', monospace;
  font-size: 0.9rem;
  background-color: #111827;
  color: #ffffff;
  padding: 8px 12px;
  text-align: center;
  justify-self: end;
}

@media (max-width: 768px) {
  /* Ergebnisse Header auf Mobilgeräten untereinander anordnen */
  .results-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
  }

  .match-card {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 15px;
  }

  .match-teams {
    flex-direction: column;
    gap: 4px;
    align-items: flex-start;
  }

  .team-home,
  .team-away {
    text-align: left;
  }

  .match-vs {
    display: none;
  }

  .match-score {
    justify-self: start;
    margin-top: 5px;
  }
}

/* ==========================================
   VOTING / UMFRAGE SEKTION
   ========================================== */
.voting-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  border-bottom: 2px solid #111827;
  padding-bottom: 12px;
  margin-bottom: 15px;
}

.voting-badge {
  font-family: 'Press Start 2P', monospace;
  font-size: 0.6rem;
  color: #3b82f6;
  text-transform: uppercase;
  display: block;
  margin-bottom: 6px;
}

.voting-meta {
  font-family: 'Press Start 2P', monospace;
  font-size: 0.6rem;
  background-color: #111827;
  color: #ffffff;
  padding: 6px 10px;
}

.voting-intro {
  font-size: 0.95rem;
  font-weight: 600;
  color: #4b5563;
  margin-bottom: 25px;
}

/* Grid Layout */
.voting-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.voting-card {
  background-color: #f9fafb;
  border: 2px solid #111827;
  display: flex;
  flex-direction: column;
  transition: transform 0.2s ease;
}

.voting-card:hover {
  transform: translateY(-3px);
}

.voting-img-wrapper {
  position: relative;
  height: 180px;
  border-bottom: 2px solid #111827;
  background-color: #111827;
}

.voting-img-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.voting-option-tag {
  position: absolute;
  top: 10px;
  left: 10px;
  background-color: #3b82f6;
  color: #ffffff;
  font-family: 'Press Start 2P', monospace;
  font-size: 0.6rem;
  padding: 4px 8px;
  border: 1px solid #111827;
}

.voting-body {
  padding: 15px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.voting-card-title {
  font-size: 1.1rem;
  font-weight: 900;
  margin: 0 0 8px 0;
  text-transform: uppercase;
  color: #111827;
}

.voting-card-desc {
  font-size: 0.85rem;
  color: #4b5563;
  line-height: 1.4;
  margin: 0 0 20px 0;
  flex: 1;
}

/* Voting Button */
.voting-btn {
  width: 100%;
  background-color: #111827;
  color: #ffffff;
  border: none;
  font-family: 'Press Start 2P', monospace;
  font-size: 0.75rem;
  padding: 12px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  transition: background-color 0.2s ease;
}

.voting-btn:hover {
  background-color: #3b82f6;
}

/* Ergebnis-Anzeige (versteckt bis abgestimmt wurde) */
.vote-result-wrapper {
  display: none;
  flex-direction: column;
  gap: 8px;
}

.vote-bar-container {
  width: 100%;
  height: 16px;
  background-color: #e5e7eb;
  border: 1px solid #111827;
  overflow: hidden;
}

.vote-bar {
  height: 100%;
  background-color: #3b82f6;
  width: 0%;
  transition: width 0.8s ease-in-out;
}

.voting-card.selected .vote-bar {
  background-color: #10b981; /* Hervorhebung der gewählten Option */
}

.vote-stats {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: 'Press Start 2P', monospace;
  font-size: 0.65rem;
}

.vote-percent {
  font-weight: bold;
  color: #111827;
}

.vote-count {
  color: #6b7280;
  font-size: 0.55rem;
}

/* Ausgeführt-Zustand für das gesamte Grid */
.voting-grid.has-voted .voting-btn {
  display: none;
}

.voting-grid.has-voted .vote-result-wrapper {
  display: flex;
}

/* Responsive Anpassungen */
@media (max-width: 900px) {
  .voting-grid {
    grid-template-columns: 1fr;
  }

  .voting-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
}

/* ==========================================
   VOTING PROMO BANNER (NEO-BRUTALIST HELL)
   ========================================== */
.voting-promo-section {
  background-color: #ffffff;
  color: #111827;
  border: 2px solid #111827;
  box-shadow: 4px 4px 0px #111827;
  padding: 0;
}

.voting-promo-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 22px 25px;
  gap: 20px;
}

/* Badge mit rot blinkendem Live-Punkt */
.voting-promo-badge-wrapper {
  display: flex;
  align-items: center;
  gap: 8px;
  background-color: #fef08a; /* Knalliges Neo-Gelb */
  padding: 6px 10px;
  border: 2px solid #111827;
  flex-shrink: 0;
}

.promo-live-dot {
  width: 8px;
  height: 8px;
  background-color: #ef4444;
  border-radius: 50%;
  animation: livePulse 1.5s infinite;
}

@keyframes livePulse {
  0% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.3; transform: scale(0.8); }
  100% { opacity: 1; transform: scale(1); }
}

.promo-badge-text {
  font-family: 'Press Start 2P', monospace;
  font-size: 0.6rem;
  color: #111827;
  font-weight: bold;
}

/* Textbereich */
.voting-promo-body {
  flex: 1;
}

.voting-promo-heading {
  font-size: 1.3rem;
  font-weight: 900;
  margin: 0 0 4px 0;
  text-transform: uppercase;
  color: #111827;
  letter-spacing: 0.5px;
}

.voting-promo-subtext {
  font-size: 0.9rem;
  color: #4b5563;
  margin: 0;
  line-height: 1.4;
  font-weight: 600;
}

/* Button */
.voting-promo-action {
  flex-shrink: 0;
}

.voting-promo-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background-color: #10b981; /* Neongrün */
  color: #111827;
  font-family: 'Press Start 2P', monospace;
  font-size: 0.65rem;
  padding: 12px 16px;
  text-decoration: none;
  font-weight: bold;
  border: 2px solid #111827;
  box-shadow: 3px 3px 0px #111827;
  transition: all 0.15s ease;
}

.voting-promo-btn:hover {
  background-color: #059669;
  color: #ffffff;
  transform: translate(-2px, -2px);
  box-shadow: 5px 5px 0px #111827;
}

.voting-promo-btn:active {
  transform: translate(1px, 1px);
  box-shadow: 2px 2px 0px #111827;
}

/* Responsive Anpassungen */
@media (max-width: 850px) {
  .voting-promo-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 15px;
  }

  .voting-promo-action {
    width: 100%;
  }

  .voting-promo-btn {
    width: 100%;
    justify-content: center;
  }
}



/* ==========================================
   VOTING ALERT BAR (OHNE SCHLIESSEN)
   ========================================== */
.voting-alert-bar {
  position: fixed;
  bottom: 20px;
  right: 20px;
  left: 20px;
  max-width: 600px;
  margin: 0 auto;
  background-color: #111827;
  color: #ffffff;
  border: 2px solid #3b82f6;
  padding: 12px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  z-index: 9999;
  box-shadow: 6px 6px 0px #000000;
}

.voting-alert-content {
  display: flex;
  align-items: center;
  gap: 10px;
  overflow: hidden;
}

/* Rot blinkender Live-Punkt */
.alert-pulse-dot {
  width: 10px;
  height: 10px;
  background-color: #ef4444;
  border-radius: 50%;
  flex-shrink: 0;
  animation: alertPulse 1.5s infinite;
}

@keyframes alertPulse {
  0% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.4; transform: scale(0.8); }
  100% { opacity: 1; transform: scale(1); }
}

.alert-tag {
  font-family: 'Press Start 2P', monospace;
  font-size: 0.55rem;
  background-color: #3b82f6;
  color: #ffffff;
  padding: 3px 6px;
  flex-shrink: 0;
}

.alert-text {
  font-size: 0.8rem;
  margin: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Action Button */
.alert-btn {
  font-family: 'Press Start 2P', monospace;
  font-size: 0.6rem;
  background-color: #10b981;
  color: #111827;
  text-decoration: none;
  padding: 8px 12px;
  font-weight: bold;
  white-space: nowrap;
  flex-shrink: 0;
  transition: background-color 0.2s;
}

.alert-btn:hover {
  background-color: #059669;
  color: #ffffff;
}

/* Mobil-Anpassung */
@media (max-width: 640px) {
  .voting-alert-bar {
    flex-direction: column;
    align-items: flex-start;
    bottom: 10px;
    right: 10px;
    left: 10px;
  }
  
  .alert-btn {
    width: 100%;
    text-align: center;
  }
}

/* ==========================================
   AUSWÄRTSFAHRER TABELLE
   ========================================== */
.away-table-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  border-bottom: 2px solid #111827;
  padding-bottom: 12px;
  margin-bottom: 15px;
}

.away-table-badge {
  font-family: 'Press Start 2P', monospace;
  font-size: 0.6rem;
  color: #3b82f6;
  text-transform: uppercase;
  display: block;
  margin-bottom: 6px;
}

.away-table-season {
  font-family: 'Press Start 2P', monospace;
  font-size: 0.6rem;
  background-color: #111827;
  color: #ffffff;
  padding: 6px 10px;
}

.away-table-intro {
  font-size: 0.95rem;
  font-weight: 600;
  color: #4b5563;
  margin-bottom: 20px;
}

.away-table-wrapper {
  overflow-x: auto;
  border: 2px solid #111827;
}

.brutal-table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
  background-color: #ffffff;
}

.brutal-table th {
  background-color: #111827;
  color: #ffffff;
  font-family: 'Press Start 2P', monospace;
  font-size: 0.6rem;
  padding: 12px 15px;
  border-bottom: 2px solid #111827;
  white-space: nowrap;
}

.brutal-table td {
  padding: 12px 15px;
  border-bottom: 1px solid #e5e7eb;
  font-size: 0.9rem;
  color: #111827;
}

.brutal-table tr:hover {
  background-color: #f9fafb;
}

.brutal-table tr.rank-top {
  background-color: #eff6ff;
}

.rank-num {
  font-family: 'Press Start 2P', monospace;
  font-size: 0.75rem;
  font-weight: bold;
}

.club-name {
  font-weight: 800;
  display: flex;
  align-items: center;
  gap: 10px;
}

.club-tag {
  font-family: 'Press Start 2P', monospace;
  font-size: 0.5rem;
  background-color: #3b82f6;
  color: #ffffff;
  padding: 3px 5px;
  border: 1px solid #111827;
}

.highlight-val {
  font-weight: 900;
  color: #3b82f6;
}

/* Fortschrittsbalken für Auslastung */
.table-progress {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 140px;
}

.table-progress-bar {
  height: 12px;
  background-color: #10b981;
  border: 1px solid #111827;
}

.table-progress span {
  font-family: 'Press Start 2P', monospace;
  font-size: 0.55rem;
}

/* Responsive */
@media (max-width: 768px) {
  .away-table-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
}

/* ==========================================
   KURVEN-RADAR & WETTER
   ========================================== */
.weather-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  border-bottom: 2px solid #111827;
  padding-bottom: 12px;
  margin-bottom: 15px;
}

.weather-badge {
  font-family: 'Press Start 2P', monospace;
  font-size: 0.6rem;
  color: #3b82f6;
  text-transform: uppercase;
  display: block;
  margin-bottom: 6px;
}

.weather-status {
  font-family: 'Press Start 2P', monospace;
  font-size: 0.6rem;
  background-color: #111827;
  color: #10b981;
  padding: 6px 10px;
}

.weather-intro {
  font-size: 0.95rem;
  font-weight: 600;
  color: #4b5563;
  margin-bottom: 20px;
}

.weather-container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 25px;
  align-items: stretch;
}

.weather-form {
  background-color: #f9fafb;
  border: 2px solid #111827;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.weather-display {
  background-color: #111827;
  color: #ffffff;
  border: 2px solid #111827;
  padding: 20px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.weather-main-info {
  display: flex;
  align-items: center;
  gap: 20px;
  border-bottom: 1px dashed #374151;
  padding-bottom: 15px;
}

.weather-temp-box {
  display: flex;
  align-items: center;
  gap: 12px;
}

.weather-icon {
  font-size: 2.2rem;
  color: #3b82f6;
}

.weather-temp {
  font-size: 2rem;
  font-weight: 900;
  color: #ffffff;
}

.weather-details {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-family: monospace;
  font-size: 0.8rem;
  color: #9ca3af;
}

.w-detail-item {
  text-transform: uppercase;
}

/* Dresscode Box */
.dress-code-box {
  background-color: #1f2937;
  border: 1px solid #3b82f6;
  padding: 12px;
  margin-top: 15px;
}

.dress-code-label {
  font-family: 'Press Start 2P', monospace;
  font-size: 0.55rem;
  color: #3b82f6;
  display: block;
  margin-bottom: 6px;
}

.dress-code-text {
  font-size: 0.9rem;
  font-weight: 700;
  color: #10b981;
  margin: 0;
  line-height: 1.4;
}

@media (max-width: 768px) {
  .weather-container {
    grid-template-columns: 1fr;
  }
}

/* ==========================================
   LEGAL WALLS LISTEN-ANSICHT & INFOBOXEN
   ========================================== */

.walls-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    border-bottom: 3px solid #111827;
    padding-bottom: 15px;
    margin-bottom: 25px;
    flex-wrap: wrap;
    gap: 15px;
  }

  .walls-badge {
    font-family: 'Press Start 2P', monospace, sans-serif;
    font-size: 0.6rem;
    color: #ef4444;
    text-transform: uppercase;
    display: block;
    margin-bottom: 6px;
  }

  .section-title {
    font-size: 1.4rem;
    font-weight: 900;
    margin: 0;
    color: #111827;
    letter-spacing: -0.5px;
  }

  .walls-filter-bar {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
  }

  .brutal-input, .brutal-select {
    font-family: monospace;
    font-weight: bold;
    font-size: 0.85rem;
    background-color: #ffffff;
    border: 2px solid #111827;
    padding: 10px 12px;
    color: #111827;
    outline: none;
    box-shadow: 3px 3px 0px #111827;
  }

  .brutal-input:focus, .brutal-select:focus {
    background-color: #f3f4f6;
  }

  /* Grid Layout */
  .walls-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 20px;
  }

  /* Brutal Wall Card */
  .wall-card {
    background: #ffffff;
    border: 3px solid #111827;
    padding: 18px;
    box-shadow: 5px 5px 0px #111827;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
  }

  .wall-card:hover {
    transform: translate(-3px, -3px);
    box-shadow: 8px 8px 0px #111827;
  }

  .card-header {
    display: flex;
    justify-content: space-between;
    margin-bottom: 12px;
    gap: 6px;
  }

  .tag-badge {
    font-family: 'Press Start 2P', monospace, sans-serif;
    font-size: 0.5rem;
    padding: 4px 8px;
    border: 2px solid #111827;
    font-weight: bold;
  }

  .status-legal {
    background-color: #10b981;
    color: #ffffff;
  }

  .status-warning {
    background-color: #f59e0b;
    color: #111827;
  }

  .spot-type {
    background-color: #3b82f6;
    color: #ffffff;
  }

  .spot-title {
    font-size: 1.2rem;
    font-weight: 900;
    margin: 0 0 4px 0;
    color: #111827;
    text-transform: uppercase;
  }

  .spot-location {
    font-size: 0.85rem;
    color: #4b5563;
    margin: 0 0 15px 0;
    font-weight: 600;
  }

  /* Specs Grid inside Card */
  .spot-specs {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 6px;
    background: #f3f4f6;
    border: 2px solid #111827;
    padding: 8px;
    margin-bottom: 15px;
    text-align: center;
  }

  .spec-item {
    display: flex;
    flex-direction: column;
  }

  .spec-label {
    font-family: monospace;
    font-size: 0.55rem;
    color: #6b7280;
    font-weight: bold;
  }

  .spec-val {
    font-size: 0.75rem;
    font-weight: 800;
    color: #111827;
    margin-top: 2px;
  }

  /* Rules Box */
  .spot-rules {
    border-left: 3px solid #111827;
    padding-left: 10px;
    margin-bottom: 18px;
  }

  .rules-title {
    font-family: 'Press Start 2P', monospace, sans-serif;
    font-size: 0.5rem;
    color: #111827;
    display: block;
    margin-bottom: 6px;
  }

  .spot-rules ul {
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .spot-rules li {
    font-size: 0.75rem;
    color: #374151;
    margin-bottom: 4px;
    font-weight: 600;
  }

  .spot-rules li i.fa-check { color: #10b981; }
  .spot-rules li i.fa-xmark { color: #ef4444; }

  /* Footer Buttons */
  .card-footer {
    display: flex;
    gap: 8px;
  }

  .brutal-card-btn {
    font-family: 'Press Start 2P', monospace, sans-serif;
    font-size: 0.6rem;
    padding: 10px;
    border: 2px solid #111827;
    text-decoration: none;
    text-align: center;
    cursor: pointer;
    font-weight: bold;
    box-shadow: 2px 2px 0px #111827;
    transition: all 0.1s ease;
  }

  .nav-btn {
    flex: 2;
    background-color: #FFEA00;
    color: #111827;
  }

  .info-btn {
    flex: 1;
    background-color: #ffffff;
    color: #111827;
  }

  .brutal-card-btn:hover {
    transform: translate(-1px, -1px);
    box-shadow: 4px 4px 0px #111827;
  }

.no-results-box {
  grid-column: 1 / -1;
  background: #ef4444;
  color: #ffffff;
  border: 3px solid #111827;
  padding: 25px;
  text-align: center;
  box-shadow: 4px 4px 0px #111827;
  font-family: 'Press Start 2P', monospace, sans-serif;
  font-size: 0.75rem;
  margin-top: 10px;
}

.no-results-box i {
  font-size: 1.8rem;
  margin-bottom: 10px;
  display: block;
}

/* ==========================================
   SPOT GUIDE BANNER SECTION (NEO-BRUTALIST HELL)
   ========================================== */
.spot-banner-section {
  padding: 0;
}

.spot-banner-box {
  background-color: #ffffff;
  color: #111827;
  border: 2px solid #111827;
  outline: 2px dashed #fef08a; /* Helles Neo-Gelb für den gestrichelten Innenrahmen */
  outline-offset: -8px;
  padding: 30px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  box-shadow: 4px 4px 0px #111827;
}

.spot-banner-content {
  max-width: 650px;
}

.spot-banner-tag {
  font-family: 'Press Start 2P', monospace;
  font-size: 0.6rem;
  color: #10b981; /* Neongrün */
  text-transform: uppercase;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: bold;
}

.spot-banner-title {
  font-size: 1.4rem;
  font-weight: 900;
  color: #111827;
  margin: 0 0 10px 0;
  letter-spacing: -0.5px;
  text-transform: uppercase;
}

.spot-banner-desc {
  font-size: 0.9rem;
  color: #4b5563;
  margin: 0;
  line-height: 1.4;
  font-weight: 600;
}

/* Button & Action Area */
.spot-banner-action {
  flex-shrink: 0;
}

.spot-banner-btn {
  font-family: 'Press Start 2P', monospace;
  font-size: 0.65rem;
  background-color: #3b82f6; /* Neo-Blau */
  color: #ffffff;
  padding: 14px 20px;
  border: 2px solid #111827;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  transition: all 0.15s ease-in-out;
  box-shadow: 3px 3px 0px #111827;
  font-weight: bold;
}

.spot-banner-btn:hover {
  background-color: #10b981; /* Wechselt auf Neongrün beim Hover */
  color: #111827;
  transform: translate(-2px, -2px);
  box-shadow: 5px 5px 0px #111827;
}

.spot-banner-btn:active {
  transform: translate(1px, 1px);
  box-shadow: 2px 2px 0px #111827;
}

/* Responsive für Smartphones */
@media (max-width: 768px) {
  .spot-banner-box {
    flex-direction: column;
    align-items: flex-start;
    padding: 24px;
  }

  .spot-banner-action {
    width: 100%;
  }

  .spot-banner-btn {
    width: 100%;
    justify-content: center;
  }
}

/* ==========================================
   LOAD MORE BUTTON (NEO-BRUTALIST)
   ========================================== */
.load-more-wrapper {
  display: flex;
  justify-content: center;
  margin-top: 40px;
  width: 100%;
}

.brutal-load-more-btn {
  font-family: 'Press Start 2P', monospace;
  font-size: 0.75rem;
  background-color: #fef08a; /* Neo-Gelb */
  color: #111827;
  padding: 16px 28px;
  border: 3px solid #111827;
  box-shadow: 5px 5px 0px #111827;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-weight: bold;
  transition: all 0.15s ease-in-out;
}

.brutal-load-more-btn:hover {
  background-color: #10b981; /* Neongrün bei Hover */
  transform: translate(-2px, -2px);
  box-shadow: 7px 7px 0px #111827;
}

.brutal-load-more-btn:active {
  transform: translate(2px, 2px);
  box-shadow: 3px 3px 0px #111827;
}

/* ######### pallettee############ */

.palette-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    border-bottom: 2px solid #111827;
    padding-bottom: 12px;
    margin-bottom: 20px;
    flex-wrap: wrap;
    gap: 15px;
  }
  .palette-badge {
    font-family: 'Press Start 2P', monospace;
    font-size: 0.6rem;
    color: #3b82f6;
    text-transform: uppercase;
    display: block;
    margin-bottom: 6px;
  }
  .palette-controls {
    display: flex;
    gap: 10px;
    align-items: center;
  }
  .brutal-select {
    font-family: 'Press Start 2P', monospace;
    font-size: 0.6rem;
    background-color: #ffffff;
    border: 2px solid #111827;
    padding: 10px;
    color: #111827;
    cursor: pointer;
  }
  .roll-btn {
    font-family: 'Press Start 2P', monospace;
    font-size: 0.65rem;
    background-color: #10b981;
    color: #111827;
    border: 2px solid #111827;
    padding: 10px 16px;
    cursor: pointer;
    box-shadow: 3px 3px 0px #111827;
    transition: all 0.1s ease;
  }
  .roll-btn:hover {
    transform: translate(-2px, -2px);
    box-shadow: 5px 5px 0px #111827;
  }

  .generator-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 25px;
  }

  .slots-container {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }

  .color-slot {
    display: flex;
    align-items: center;
    background-color: #ffffff;
    border: 2px solid #111827;
    padding: 8px 12px;
    gap: 12px;
  }

  /* Nahtlos integrierter Color-Picker Button */
  .color-picker-box {
    width: 44px;
    height: 44px;
    border: 2px solid #111827;
    padding: 0;
    background: none;
    cursor: pointer;
    flex-shrink: 0;
  }
  .color-picker-box::-webkit-color-swatch-wrapper {
    padding: 0;
  }
  .color-picker-box::-webkit-color-swatch {
    border: none;
  }
  .color-picker-box::-moz-color-swatch {
    border: none;
  }

  .slot-info {
    flex: 1;
    display: flex;
    flex-direction: column;
  }

  .slot-label {
    font-family: 'Press Start 2P', monospace;
    font-size: 0.5rem;
    color: #6b7280;
  }

  .slot-name {
    font-size: 0.95rem;
    font-weight: 800;
    color: #111827;
  }

  .slot-hex-input {
    font-family: monospace;
    font-size: 0.8rem;
    color: #3b82f6;
    font-weight: bold;
    border: 1px dashed #9ca3af;
    background: #f9fafb;
    padding: 2px 6px;
    width: 110px;
    margin-top: 3px;
    text-transform: uppercase;
  }
  .slot-hex-input:focus {
    outline: none;
    border-color: #111827;
    background: #ffffff;
  }

  .lock-btn {
    background: none;
    border: 2px solid #111827;
    padding: 8px 10px;
    cursor: pointer;
    font-size: 0.85rem;
    color: #111827;
    transition: all 0.15s ease;
  }

  .lock-btn.locked {
    background-color: #ef4444;
    color: #ffffff;
  }

  .copy-btn {
    font-family: 'Press Start 2P', monospace;
    font-size: 0.55rem;
    background-color: #111827;
    color: #ffffff;
    border: 2px solid #111827;
    padding: 12px;
    margin-top: 5px;
    cursor: pointer;
    transition: background-color 0.15s ease;
  }

  .copy-btn:hover {
    background-color: #3b82f6;
  }

  .mockup-container {
    background-color: #f3f4f6;
    border: 2px solid #111827;
    padding: 15px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
  }

  .mockup-header {
    font-family: 'Press Start 2P', monospace;
    font-size: 0.6rem;
    background-color: #111827;
    color: #ffffff;
    padding: 6px 10px;
    width: 100%;
    text-align: center;
  }

  .svg-wrapper {
    width: 100%;
    padding: 20px 0;
  }

  .svg-wrapper svg {
    width: 100%;
    height: auto;
  }

  .mockup-footnote {
    font-family: monospace;
    font-size: 0.65rem;
    color: #6b7280;
  }

  @media (max-width: 900px) {
    .generator-grid {
      grid-template-columns: 1fr;
    }
  }

/* ==========================================
   FANZINE & MERCH SHOP SEKTION
   ========================================== */
.shop-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  border-bottom: 2px solid #111827;
  padding-bottom: 12px;
  margin-bottom: 15px;
}

.shop-badge {
  font-family: 'Press Start 2P', monospace;
  font-size: 0.6rem;
  color: #3b82f6;
  text-transform: uppercase;
  display: block;
  margin-bottom: 6px;
}

.shop-status {
  font-family: 'Press Start 2P', monospace;
  font-size: 0.6rem;
  background-color: #111827;
  color: #ffffff;
  padding: 6px 10px;
}

.shop-intro {
  font-size: 0.95rem;
  font-weight: 600;
  color: #4b5563;
  margin-bottom: 25px;
}

/* Shop Grid Layout */
.shop-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.product-card {
  background-color: #f9fafb;
  border: 2px solid #111827;
  display: flex;
  flex-direction: column;
  transition: transform 0.2s ease;
}

.product-card:hover {
  transform: translateY(-3px);
}

.product-img-wrapper {
  position: relative;
  height: 200px;
  border-bottom: 2px solid #111827;
  background-color: #111827;
}

.product-img-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.product-tag {
  position: absolute;
  top: 10px;
  left: 10px;
  background-color: #3b82f6;
  color: #ffffff;
  font-family: 'Press Start 2P', monospace;
  font-size: 0.55rem;
  padding: 4px 8px;
  border: 1px solid #111827;
}

.product-body {
  padding: 15px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.product-meta {
  display: flex;
  justify-content: space-between;
  font-family: 'Press Start 2P', monospace;
  font-size: 0.55rem;
  margin-bottom: 8px;
}

.product-cat {
  color: #3b82f6;
}

.product-stock {
  color: #10b981;
}

.product-title {
  font-size: 1.1rem;
  font-weight: 900;
  margin: 0 0 8px 0;
  text-transform: uppercase;
  color: #111827;
}

.product-desc {
  font-size: 0.85rem;
  color: #4b5563;
  line-height: 1.4;
  margin: 0 0 15px 0;
  flex: 1;
}

/* Preisschild im Kassenbon-Look */
.receipt-box {
  background-color: #ffffff;
  border: 1px dashed #111827;
  padding: 10px;
  margin-bottom: 15px;
  font-family: monospace;
}

.receipt-row {
  display: flex;
  justify-content: space-between;
  font-weight: 800;
  font-size: 0.9rem;
  color: #111827;
}

.receipt-price {
  color: #3b82f6;
  font-size: 1rem;
}

.receipt-row.sub {
  font-size: 0.7rem;
  color: #6b7280;
  font-weight: normal;
  margin-top: 3px;
  border-top: 1px dotted #e5e7eb;
  padding-top: 3px;
}

/* Shop Button */
.shop-btn {
  width: 100%;
  background-color: #111827;
  color: #ffffff;
  border: none;
  font-family: 'Press Start 2P', monospace;
  font-size: 0.65rem;
  padding: 12px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  transition: background-color 0.2s ease;
}

.shop-btn:hover {
  background-color: #3b82f6;
}

/* Responsive */
@media (max-width: 900px) {
  .shop-grid {
    grid-template-columns: 1fr;
  }

  .shop-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
}

/* ==========================================
   EINZEL-ARTIKELSEITE (PRODUCT DETAIL)
   ========================================== */
.back-link {
  display: inline-block;
  font-family: 'Press Start 2P', monospace;
  font-size: 0.65rem;
  color: #111827;
  text-decoration: none;
  margin-bottom: 20px;
  background-color: #f9fafb;
  border: 2px solid #111827;
  padding: 8px 12px;
  transition: background-color 0.2s;
}

.back-link:hover {
  background-color: #3b82f6;
  color: #ffffff;
}

.product-detail-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
}

/* Bildbereich */
.main-image-frame {
  position: relative;
  border: 2px solid #111827;
  background-color: #111827;
  aspect-ratio: 4 / 3;
  margin-bottom: 12px;
}

.main-image-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.thumbnail-list {
  display: flex;
  gap: 10px;
}

.thumb {
  width: 80px;
  height: 60px;
  object-fit: cover;
  border: 2px solid #111827;
  cursor: pointer;
  opacity: 0.6;
  transition: opacity 0.2s;
}

.thumb:hover, .thumb.active {
  opacity: 1;
  border-color: #3b82f6;
}

/* Infobereich */
.detail-title {
  font-size: 1.8rem;
  font-weight: 900;
  margin: 10px 0 4px 0;
  text-transform: uppercase;
  color: #111827;
}

.detail-subtitle {
  font-family: 'Press Start 2P', monospace;
  font-size: 0.6rem;
  color: #6b7280;
  display: block;
  margin-bottom: 15px;
}

.detail-description {
  font-size: 0.95rem;
  line-height: 1.6;
  color: #374151;
  margin-bottom: 20px;
}

.product-specs {
  list-style: none;
  padding: 0;
  margin: 0 0 20px 0;
  border-top: 1px dashed #111827;
  border-bottom: 1px dashed #111827;
  padding: 10px 0;
}

.product-specs li {
  font-size: 0.85rem;
  padding: 4px 0;
  color: #111827;
}

.detail-receipt {
  margin-bottom: 20px;
}

.buy-action-box {
  display: flex;
  gap: 15px;
  align-items: center;
}

.quantity-picker {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-family: 'Press Start 2P', monospace;
  font-size: 0.55rem;
}

.quantity-picker input {
  padding: 10px;
  border: 2px solid #111827;
  width: 60px;
  font-weight: bold;
  font-size: 0.9rem;
  outline: none;
}

.detail-buy-btn {
  flex: 1;
  padding: 16px;
  font-size: 0.75rem;
}

/* Responsive Anpassung */
@media (max-width: 800px) {
  .product-detail-grid {
    grid-template-columns: 1fr;
  }
}

/* ==========================================
   INTERVIEW SEKTION MIT STICKY SIDEBAR
   ========================================== */
.interview-container {
  display: grid;
  grid-template-columns: 300px 1fr;
  gap: 40px;
  align-items: start; /* Wichtig für position: sticky */
}

/* Linke Sidebar (Sticky Funktion) */
.interview-sidebar {
  position: relative;
  height: 100%;
}

/* Linke Sidebar (Scrollt jetzt normal mit hoch) */
.interview-sticky-wrapper {
  position: relative; 
  top: 0;
  background-color: #f9fafb;
  border: 2px solid #111827;
  padding: 20px;
}

/* Avatar Frame */
.interview-avatar-frame {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  border: 1px solid #111827;
  margin-bottom: 15px;
  background-color: #111827;
}

.interview-avatar {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(30%);
}

.interview-badge {
  position: absolute;
  bottom: 10px;
  left: 10px;
  background-color: #3b82f6;
  color: #ffffff;
  font-family: 'Press Start 2P', monospace;
  font-size: 0.55rem;
  padding: 4px 8px;
}

/* Steckbrief Infos */
.partner-name {
  font-size: 1.2rem;
  font-weight: 900;
  margin: 0;
  text-transform: uppercase;
  color: #111827;
}

.partner-role {
  font-size: 0.8rem;
  color: #6b7280;
  display: block;
  margin-bottom: 15px;
  text-transform: uppercase;
}

.steckbrief-list {
  list-style: none;
  padding: 0;
  margin: 0 0 20px 0;
  border-top: 1px solid #e5e7eb;
}

.steckbrief-list li {
  display: flex;
  justify-content: space-between;
  padding: 8px 0;
  border-bottom: 1px dashed #e5e7eb;
  font-size: 0.8rem;
}

.sb-label {
  font-weight: 700;
  color: #6b7280;
}

.sb-val {
  font-weight: 800;
  color: #111827;
}

.interview-quote-box {
  background-color: #CFCFCF;
  color: #2F3E46;
  padding: 12px;
  font-style: italic;
  font-size: 0.85rem;
  line-height: 1.4;
  border-left: 4px solid #2F3E46;
}

.interview-quote-box p {
  margin: 0;
}

/* Rechte Seite: Artikel / Q&A */
.interview-tag {
  background-color: #111827;
  color: #ffffff;
  font-family: 'Press Start 2P', monospace;
  font-size: 0.6rem;
  padding: 4px 8px;
  display: inline-block;
  margin-bottom: 12px;
}

.interview-title {
  font-size: 2.2rem;
  font-weight: 900;
  line-height: 1.1;
  margin: 0 0 15px 0;
  text-transform: uppercase;
  color: #111827;
}

.interview-intro {
  font-size: 1.05rem;
  font-weight: 600;
  color: #4b5563;
  line-height: 1.6;
  margin-bottom: 30px;
  padding-bottom: 20px;
  border-bottom: 2px solid #111827;
}

/* Q&A Textgestaltung */
.interview-qa {
  display: flex;
  flex-direction: column;
  gap: 25px;
}

.qa-block {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.question {
  font-weight: 800;
  font-size: 1rem;
  color: #111827;
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  background-color: #eff6ff;
  padding: 8px 12px;
  border-left: 3px solid #3b82f6;
}

.answer {
  font-size: 0.95rem;
  line-height: 1.7;
  color: #374151;
  margin: 0;
  padding-left: 12px;
}

/* Responsive Anpassung für Tablets & Smartphones */
@media (max-width: 900px) {
  .interview-container {
    grid-template-columns: 1fr;
  }

  .interview-sticky-wrapper {
    position: static; /* Sticky auf Mobilgeräten deaktivieren */
  }

  .interview-title {
    font-size: 1.6rem;
  }
}

/* ==========================================
   KONZERT- & TERMINE-SEKTION
   ========================================== */
.event-header-flex {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding-bottom: 10px;
}

.event-subtitle {
  font-family: 'Press Start 2P', monospace;
  font-size: 0.65rem;
  color: #6b7280;
  text-transform: uppercase;
}

.event-list {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.event-card {
  display: grid;
  grid-template-columns: 80px 1fr 200px;
  align-items: center;
  gap: 20px;
  background-color: #f9fafb;
  border: 1px solid #e5e7eb;
  padding: 15px;
  transition: border-color 0.2s ease, background-color 0.2s ease;
}

.event-card:hover {
  border-color: #111827;
  background-color: #ffffff;
}

/* Datums-Badge (Pixel/Brutalismus-Stil) */
.event-date-badge {
  background-color: #111827;
  color: #ffffff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 10px;
  font-family: 'Press Start 2P', monospace;
  text-align: center;
}

.event-day {
  font-size: 1.2rem;
  font-weight: bold;
  line-height: 1;
}

.event-month {
  font-size: 0.6rem;
  margin-top: 4px;
  color: #3b82f6;
}

/* Event-Infos */
.event-meta {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 0.8rem;
  margin-bottom: 5px;
}

.event-tag {
  background-color: #e5e7eb;
  color: #111827;
  font-weight: 700;
  padding: 2px 6px;
  text-transform: uppercase;
  font-size: 0.7rem;
}

.event-location {
  color: #4b5563;
  font-weight: 600;
}

.event-title {
  font-size: 1.1rem;
  font-weight: 800;
  margin: 0;
  text-transform: uppercase;
  color: #111827;
}

/* Zeit & Call to Action */
.event-action {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
}

.event-time {
  font-size: 0.8rem;
  color: #6b7280;
  font-weight: 600;
}

.event-btn {
  font-size: 0.8rem;
  padding: 8px 14px;
  width: 100%;
  text-align: center;
}

/* Responsive Anpassung */
@media (max-width: 768px) {
  .event-header-flex {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
  
  .event-card {
    grid-template-columns: 1fr;
    gap: 15px;
  }
  
  .event-date-badge {
    flex-direction: row;
    gap: 10px;
    padding: 8px;
  }
  
  .event-action {
    align-items: flex-start;
    border-top: 1px dashed #d1d5db;
    padding-top: 10px;
  }
  
  .event-btn {
    width: auto;
  }
}


/* ==========================================
   EVENT DETAIL PAGE (SHOP-STYLE)
   ========================================== */
.event-detail-wrapper {
  background-color: #ffffff;
}

.detail-nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
  padding-bottom: 15px;
  border-bottom: 1px solid #e5e7eb;
}

.back-link {
  font-family: 'Press Start 2P', monospace;
  font-size: 0.7rem;
  color: #111827;
  text-decoration: none;
  font-weight: bold;
}

.back-link:hover {
  text-decoration: underline;
}

.stock-badge {
  font-size: 0.75rem;
  font-weight: bold;
  padding: 4px 8px;
  text-transform: uppercase;
}

.stock-badge.in-stock {
  background-color: #dcfce7;
  color: #166534;
  border: 1px solid #86efac;
}

/* Grid Layout */
.detail-grid {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 30px;
}

/* Main Content Area */
.event-hero-frame {
  position: relative;
  border: 2px solid #111827;
  margin-bottom: 20px;
  background-color: #111827;
}

.event-hero-img {
  width: 100%;
  height: auto;
  display: block;
}

.event-hero-tag {
  position: absolute;
  top: 15px;
  left: 15px;
  background-color: #111827;
  color: #ffffff;
  font-family: 'Press Start 2P', monospace;
  font-size: 0.65rem;
  padding: 6px 10px;
}

.detail-genre {
  font-family: 'Press Start 2P', monospace;
  font-size: 0.7rem;
  color: #3b82f6;
  text-transform: uppercase;
}

.detail-title {
  font-size: 2rem;
  font-weight: 900;
  margin: 5px 0 0 0;
  text-transform: uppercase;
  line-height: 1.1;
}

.detail-subtitle {
  font-size: 0.6rem;
  font-weight: 700;
  color: #4b5563;
  margin-top: 5px;
  margin-bottom: 25px;
}

.detail-section-heading {
  font-size: 1.1rem;
  font-weight: 800;
  text-transform: uppercase;
  border-bottom: 2px solid #111827;
  padding-bottom: 5px;
  margin-top: 30px;
  margin-bottom: 15px;
}

.schedule-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.schedule-list li {
  padding: 8px 0;
  border-bottom: 1px dashed #e5e7eb;
  font-size: 0.9rem;
}

/* Sidebar / Purchase Box */
.purchase-box {
  background-color: #f9fafb;
  border: 2px solid #111827;
  padding: 20px;
  position: static; /* Verhindert das Mitlaufen beim Scrollen */
}

.price-header {
  border-bottom: 2px solid #111827;
  padding-bottom: 15px;
  margin-bottom: 20px;
}

.price-label {
  font-family: 'Press Start 2P', monospace;
  font-size: 0.65rem;
  color: #6b7280;
  display: block;
  margin-bottom: 5px;
}

.price-tag {
  font-size: 1.8rem;
  font-weight: 900;
  color: #111827;
}

.price-sub {
  font-size: 0.8rem;
  font-weight: 600;
  color: #6b7280;
}

.spec-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 20px;
}

.spec-item {
  display: flex;
  justify-content: space-between;
  font-size: 0.85rem;
}

.spec-key {
  color: #6b7280;
  font-weight: 600;
}

.spec-val {
  font-weight: 700;
  color: #111827;
}

/* Purchase Actions */
.purchase-actions {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.ticket-qty {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 0.85rem;
  font-weight: 700;
}

.qty-input {
  width: 60px;
  padding: 6px;
  border: 1px solid #111827;
  font-family: inherit;
  font-weight: bold;
  text-align: center;
}

.buy-btn {
  width: 100%;
  padding: 12px;
  font-size: 0.9rem;
  cursor: pointer;
}

.secondary-btn {
  display: block;
  text-align: center;
  padding: 10px;
  background-color: #ffffff;
  border: 1px solid #111827;
  color: #111827;
  font-weight: 700;
  font-size: 0.75rem;
  text-decoration: none;
  text-transform: uppercase;
}

.secondary-btn:hover {
  background-color: #e5e7eb;
}

.soli-info-box {
  margin-top: 20px;
  padding: 10px;
  background-color: #eff6ff;
  border: 1px solid #bfdbfe;
  font-size: 0.75rem;
  color: #1e40af;
  display: flex;
  gap: 10px;
  align-items: center;
}

.soli-info-box p {
  margin: 0;
  font-weight: 600;
}

/* Responsive Grid */
@media (max-width: 850px) {
  .detail-grid {
    grid-template-columns: 1fr;
  }
  
  .purchase-box {
    position: static;
  }
}

/* ==========================================
   FOTO GALERIE DETAIL & LIGHTBOX
   ========================================== */
.gallery-detail-header {
  border-bottom: 2px solid #111827;
  padding-bottom: 15px;
  margin-bottom: 25px;
}

.gallery-detail-category {
  font-family: 'Press Start 2P', monospace;
  font-size: 0.65rem;
  color: #3b82f6;
  text-transform: uppercase;
}

.gallery-detail-title {
  font-size: 1.8rem;
  font-weight: 900;
  margin: 8px 0;
  text-transform: uppercase;
  color: #111827;
}

.gallery-detail-meta {
  font-size: 0.8rem;
  color: #6b7280;
  margin: 0;
  font-weight: 600;
}

/* Grid der Vorschaubilder */
.photo-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.photo-thumb {
  position: relative;
  height: 220px;
  border: 1px solid #111827;
  cursor: pointer;
  overflow: hidden;
  background-color: #111827;
}

.photo-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.photo-thumb:hover img {
  transform: scale(1.05);
  opacity: 0.85;
}

.thumb-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  font-size: 1.5rem;
  opacity: 0;
  transition: opacity 0.2s ease;
  background: rgba(0, 0, 0, 0.3);
}

.photo-thumb:hover .thumb-overlay {
  opacity: 1;
}

/* Lightbox Modal (Großansicht) */
.lightbox {
  position: fixed;
  inset: 0;
  background-color: rgba(17, 24, 39, 0.95);
  z-index: 2000;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease;
}

.lightbox.active {
  opacity: 1;
  pointer-events: auto;
}

.lightbox-content {
  max-width: 85vw;
  max-height: 85vh;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.lightbox-content img {
  max-width: 100%;
  max-height: 75vh;
  border: 2px solid #ffffff;
  object-fit: contain;
}

.lightbox-caption {
  color: #ffffff;
  font-family: 'Press Start 2P', monospace;
  font-size: 0.75rem;
  margin-top: 15px;
  text-align: center;
}

/* Lightbox Buttons */
.lightbox-close,
.lightbox-nav {
  position: absolute;
  background: #111827;
  color: #ffffff;
  border: 1px solid #ffffff;
  cursor: pointer;
  font-size: 1.5rem;
  padding: 10px 15px;
  transition: background-color 0.2s;
  z-index: 2001;
}

.lightbox-close:hover,
.lightbox-nav:hover {
  background-color: #3b82f6;
}

.lightbox-close {
  top: 20px;
  right: 20px;
  font-family: 'Press Start 2P', monospace;
  font-size: 1rem;
}

.lightbox-prev {
  left: 20px;
}

.lightbox-next {
  right: 20px;
}

/* Responsive Anpassung */
@media (max-width: 768px) {
  .photo-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .lightbox-prev { left: 10px; }
  .lightbox-next { right: 10px; }
}

@media (max-width: 480px) {
  .photo-grid {
    grid-template-columns: 1fr;
  }
}

    /* ==========================================
       7. WERBEANZEIGEN GRID
       ========================================== */
    .ad-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 20px;
    }

    .ad-box {
      background-color: #f3f4f6;
      border: 2px dashed #9ca3af;
      height: 120px;
      display: flex;
      justify-content: center;
      align-items: center;
      color: #6b7280;
      font-weight: bold;
      text-transform: uppercase;
      letter-spacing: 1px;
    }

    /* ==========================================
       8. FOOTER
       ========================================== */
    .footer {
      width: 100%;
      background-color: #111827;
      color: #ffffff;
      padding: 50px 0 20px 0;
      margin-top: 60px;
    }

    .footer-container {
      width: 80%;
      max-width: 1200px;
      margin: 0 auto;
    }

    .footer-content {
      display: grid;
      grid-template-columns: 2fr 1fr 1fr;
      gap: 40px;
      margin-bottom: 40px;
    }

.footer-logo-wrapper {
  display: flex;
  flex-direction: column;
  margin-bottom: 15px;
}

.footer-logo {
  font-family: 'Press Start 2P', monospace;
  font-size: 1.1rem;
  margin-bottom: 0; /* Margin durch Wrapper gesteuert */
}

.footer-logo-tagline {
  font-family: 'Press Start 2P', monospace;
  font-size: 0.5rem;
  color: #9ca3af; /* Dezentes Grau passend zum Footer-Design */
  margin-top: 6px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

    .footer-about {
      color: #9ca3af;
      font-size: 0.9rem;
      max-width: 400px;
    }

    .footer-title {
      font-size: 1.1rem;
      font-weight: 700;
      text-transform: uppercase;
      margin-bottom: 15px;
      border-bottom: 2px solid #374151;
      padding-bottom: 5px;
    }

    .footer-links {
      list-style: none;
      padding: 0;
      margin: 0;
    }

    .footer-links li {
      margin-bottom: 8px;
    }

    .footer-links a {
      color: #9ca3af;
      font-size: 0.9rem;
    }

    .footer-links a:hover {
      color: #ffffff;
    }

    .footer-bottom {
      border-top: 1px solid #1f2937;
      padding-top: 20px;
      text-align: center;
      color: #6b7280;
      font-size: 0.8rem;
    }

.footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 15px;
}

.footer-legal-links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 15px;
  flex-wrap: wrap;
}

.footer-legal-links a {
  color: inherit;
  text-decoration: none;
}

.footer-legal-links a:hover {
  text-decoration: underline;
}

/* Responsive Anpassung für Mobilgeräte */
@media (max-width: 768px) {
  .footer-bottom {
    flex-direction: column;
    text-align: center;
  }
  .footer-legal-links {
    justify-content: center;
  }
}

/* ==========================================
   FOOTER SHOWCASE SECTION (FULL WIDTH)
   ========================================== */

.footer-showcase-section {
  margin-bottom: 0px; /* Theme-Standard Abstand nach unten */
}

/* Dehnt die Sektion über Hauptspalte UND Sidebar auf volle Breite */
.footer-showcase-full-wrapper {
  grid-column: 1 / -1 !important;
  width: 100%;
}

/* 2-spaltiges Grid über die gesamte Seitenbreite */
.footer-showcase-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 25px;
  width: 100%;
}

/* Karten-Styling im Neo-Brutalist Stil */
.footer-showcase-card {
  background-color: #ffffff;
  border: 2px solid #111827;
  box-shadow: 4px 4px 0px #111827;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
  overflow: hidden;
}

.footer-showcase-card:hover {
  transform: translate(-2px, -2px);
  box-shadow: 6px 6px 0px #111827;
}

.footer-showcase-link {
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* Bild-Container & Seitenverhältnis */
.footer-showcase-image-wrapper {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  background-color: #111827;
  border-bottom: 2px solid #111827;
  overflow: hidden;
}

.footer-showcase-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.footer-showcase-placeholder {
  width: 100%;
  height: 100%;
  background-color: #e5e7eb;
}

/* GRÜNES PIXEL-BADGE OBEN LINKS */
.footer-showcase-badge {
  position: absolute;
  top: 10px;
  left: 10px;
  background-color: #10b981; /* Signal-Grün */
  color: #111827;
  border: 2px solid #111827;
  font-family: 'Press Start 2P', monospace;
  font-size: 0.55rem;
  padding: 5px 8px;
  box-shadow: 2px 2px 0px #111827;
  z-index: 2;
  text-transform: uppercase;
  line-height: 1;
}

/* Content & Titel unter dem Bild */
.footer-showcase-content {
  padding: 15px;
  background-color: #ffffff;
  flex-grow: 1;
  display: flex;
  align-items: center;
}

.footer-showcase-title {
  font-size: 1.05rem;
  font-weight: 800;
  color: #111827;
  margin: 0;
  line-height: 1.35;
  text-transform: uppercase;
}

.footer-showcase-card:hover .footer-showcase-title {
  color: #3b82f6; /* Accent Hover-Farbe */
}

/* RESPONSIVE ANPASSUNG (MOBIL 1-SPALTIG) */
@media (max-width: 768px) {
  .footer-showcase-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

    /* ==========================================
       RESPONSIVE DESIGN & MOBILE MENU
       ========================================== */
    @media (max-width: 900px) {
      .article-sidebar-container {
        grid-template-columns: 1fr;
      }
      .sidebar {
        border-left: none;
        border-top: 1px solid #e5e7eb;
        padding-left: 0;
        padding-top: 25px;
      }
    }

    @media (max-width: 768px) {
      .main-wrapper, .nav-container, .footer-container { 
        width: 95%; 
      }
      
      .grid-3x2, .gallery-grid, .ad-grid { 
        grid-template-columns: 1fr; 
      }
      
      .footer-content { 
        grid-template-columns: 1fr; 
      }
      
      .hero-title { 
        font-size: 1.5rem; 
      }

      /* Zeige Hamburger-Button */
      .hamburger-btn {
        display: flex;
      }

      /* Transformation der Nav-Links zum Fullscreen Overlay */
      .nav-links {
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        background-color: #ffffff;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 30px;
        z-index: 1001;
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.3s ease;
      }

      .nav-links.active {
        opacity: 1;
        pointer-events: auto;
      }

      .nav-links a {
        font-size: 1.5rem;
      }
    }

/* ==========================================
   YOP POLL BRUTALIST OVERRIDES
   ========================================== */
.yop-poll-container {
  background-color: #f9fafb;
}

/* Formular-Elemente anpassen */
.yop-poll-wrapper input[type="radio"] {
  accent-color: #3b82f6; /* Modernes Browser-Styling für Radiobuttons */
  transform: scale(1.2);
  margin-right: 10px;
}

.yop-poll-wrapper label {
  font-weight: 800;
  font-size: 1rem;
  text-transform: uppercase;
  color: #111827;
}

/* Yop Poll Submit Button */
.yop-poll-wrapper input[type="submit"],
.yop-poll-wrapper button {
  background-color: #111827 !important;
  color: #ffffff !important;
  font-family: 'Press Start 2P', monospace !important;
  font-size: 0.75rem !important;
  padding: 12px 20px !important;
  border: 2px solid #111827 !important;
  border-radius: 0 !important;
  cursor: pointer;
  box-shadow: 4px 4px 0px #000000;
  text-transform: uppercase;
  margin-top: 15px;
  transition: all 0.15s ease;
}

.yop-poll-wrapper input[type="submit"]:hover,
.yop-poll-wrapper button:hover {
  background-color: #3b82f6 !important;
  transform: translate(-2px, -2px);
  box-shadow: 6px 6px 0px #000000;
}

/* Subkultur Kontaktformular - Pixel-Style */
.subkultur-form-group {
  margin-bottom: 0.7rem;
  display: flex;
  flex-direction: column;
}

.subkultur-form-group label {
  font-weight: bold;
  margin-bottom: 1rem;
  text-transform: uppercase;
  font-size: 0.85rem;
  letter-spacing: 0.2px;
}

/* Eingabefelder & Textarea im Pixel-Grau-Look */
.subkultur-form-group input,
.subkultur-form-group textarea {
  width: 100%;
  padding: 12px 14px;
  background-color: #f4f4f4; /* Helles Grau */
  color: #111111; /* Dunkler Text für guten Kontrast */
  font-family: inherit;
  font-size: 0.95rem;
  box-sizing: border-box;

  /* Harsche Pixel-Kanten & Kontur */
  border: 3px solid #000000;
  border-radius: 0;

  /* Typischer Retro-Pixel-Schatten */
  box-shadow: 4px 4px 0px #000000;
  transition: all 0.15s ease-in-out;
}

/* Styling für Placeholder-Text */
.subkultur-form-group input::placeholder,
.subkultur-form-group textarea::placeholder {
  color: #666666;
}

/* Zustand bei Klick / Focus */
.subkultur-form-group input:focus,
.subkultur-form-group textarea:focus {
  background-color: #ffffff; /* Springt auf reinweiß beim Tippen */
  outline: none;
  border-color: #e50914; /* Deine Akzentfarbe */
  box-shadow: 6px 6px 0px #000000; /* Schatten wird leicht tiefer */
  transform: translate(-2px, -2px);
}

/* Absende-Button im passenden Pixel-Look */
.btn-subkultur {
  background-color: #e50914;
  color: #ffffff;
  font-weight: bold;
  text-transform: uppercase;
  padding: 14px 28px;
  border: 3px solid #000000;
  border-radius: 0;
  box-shadow: 4px 4px 0px #000000;
  cursor: pointer;
  letter-spacing: 1px;
  transition: all 0.15s ease-in-out;
  display: inline-block;
}

.btn-subkultur:hover {
  background-color: #000000;
  color: #ffffff;
  box-shadow: 6px 6px 0px #e50914;
  transform: translate(-2px, -2px);
}

.btn-subkultur:active {
  transform: translate(2px, 2px);
  box-shadow: 2px 2px 0px #000000;
}

/* ==========================================
   GRAFFITI LISTENANSICHT & PAGINATION
   ========================================== */
.graffiti-list {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.graffiti-list-item {
  display: grid;
  grid-template-columns: 220px 1fr 160px;
  align-items: center;
  background-color: #ffffff;
  border: 2px solid #111827;
  padding: 15px;
  box-shadow: 4px 4px 0px #111827;
  gap: 20px;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.graffiti-list-item:hover {
  transform: translate(-2px, -2px);
  box-shadow: 6px 6px 0px #111827;
}

/* Thumbnail Links */
.list-item-image {
  width: 100%;
  height: 140px;
  border: 1px solid #111827;
  overflow: hidden;
}

.list-item-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Middle Content */
.list-item-content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.list-item-tag {
  font-family: 'Press Start 2P', monospace;
  font-size: 0.55rem;
  background-color: #3b82f6;
  color: #ffffff;
  padding: 3px 6px;
  margin-bottom: 8px;
  text-transform: uppercase;
}

.list-item-title {
  font-size: 1.2rem;
  font-weight: 900;
  margin: 0 0 8px 0;
  line-height: 1.25;
  text-transform: uppercase;
  color: #111827;
}

.list-item-excerpt {
  font-size: 0.85rem;
  color: #4b5563;
  margin: 0;
  line-height: 1.4;
}

/* Button Rechts */
.list-item-action {
  display: flex;
  justify-content: flex-end;
  width: 100%;
}

.list-item-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  background-color: #111827;
  color: #ffffff;
  font-family: 'Press Start 2P', monospace;
  font-size: 0.65rem;
  padding: 12px 14px;
  text-align: center;
  transition: background-color 0.2s ease;
}

.list-item-btn:hover {
  background-color: #3b82f6;
  color: #ffffff;
}

/* Brutalist Pagination */
.brutal-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  margin-top: 35px;
  flex-wrap: wrap;
}

.brutal-pagination .page-numbers {
  font-family: 'Press Start 2P', monospace;
  font-size: 0.65rem;
  background-color: #ffffff;
  color: #111827;
  border: 2px solid #111827;
  padding: 10px 14px;
  box-shadow: 3px 3px 0px #111827;
  transition: all 0.15s ease;
}

.brutal-pagination a.page-numbers:hover {
  background-color: #3b82f6;
  color: #ffffff;
  transform: translate(-1px, -1px);
  box-shadow: 4px 4px 0px #111827;
}

.brutal-pagination .page-numbers.current {
  background-color: #111827;
  color: #ffffff;
}

/* Responsive Styles */
@media (max-width: 850px) {
  .graffiti-list-item {
    grid-template-columns: 1fr;
    gap: 15px;
  }

  .list-item-image {
    height: 200px;
  }

  .list-item-action {
    justify-content: stretch;
  }

  .list-item-btn {
    width: 100%;
  }
}

/* ==========================================
   CATEGORY FILTER CHIPS
   ========================================== */
.category-filter-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.filter-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background-color: #ffffff;
  color: #111827;
  border: 2px solid #111827;
  padding: 8px 14px;
  font-family: 'Press Start 2P', monospace;
  font-size: 0.6rem;
  text-decoration: none;
  box-shadow: 3px 3px 0px #111827;
  transition: all 0.15s ease;
}

.filter-chip:hover {
  background-color: #3b82f6;
  color: #ffffff;
  transform: translate(-2px, -2px);
  box-shadow: 5px 5px 0px #111827;
}

.filter-chip.active {
  background-color: #111827;
  color: #ffffff;
}

/* Responsive Anpassung */
@media (max-width: 768px) {
  .stats-bar {
    flex-direction: column;
    gap: 12px;
    text-align: center;
  }
  
  .stats-divider {
    display: none;
  }

  .category-filter-bar {
    overflow-x: auto;
    white-space: nowrap;
    padding-bottom: 10px;
  }
}

/* ==========================================
   CATEGORY HEADER BOX
   ========================================== */
.category-header-box {
  background-color: #ffffff;
  border: 2px solid #111827;
  padding: 25px 30px;
  box-shadow: 4px 4px 0px #111827;
}

.category-pre-tag {
  font-family: 'Press Start 2P', monospace;
  font-size: 0.6rem;
  color: #3b82f6;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
}

.category-main-title {
  font-size: 2.2rem;
  font-weight: 900;
  text-transform: uppercase;
  margin: 0 0 10px 0;
  color: #111827;
  line-height: 1.1;
}

.category-main-desc {
  font-size: 0.95rem;
  color: #4b5563;
  line-height: 1.5;
  margin: 0;
}

.category-main-desc p {
  margin: 0;
}

/* ==========================================
   STREET ART LAYOUT & ISOLATED SIDEBAR
   ========================================== */

.streetart-grid-container {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 30px;
  align-items: start;
}

/* SIDEBAR CONTAINER (STATISCH / FESTER SITZ) */
.streetart-sidebar {
  display: flex;
  flex-direction: column;
  gap: 25px;
  position: static !important; /* Bleibt fest oben im Grid stehen und scrollt normal mit dem Inhaltsfluss */
}

/* EINDEUTIGE WIDGET KLASSEN */
.streetart-widget {
  background-color: #ffffff;
  border: 2px solid #111827;
  padding: 20px;
  box-shadow: 4px 4px 0px #111827;
}

.streetart-widget-title {
  font-family: 'Press Start 2P', monospace;
  font-size: 0.75rem;
  margin: 0 0 15px 0;
  color: #111827;
  display: flex;
  align-items: center;
  gap: 8px;
  border-bottom: 2px solid #111827;
  padding-bottom: 10px;
}

.streetart-widget-text {
  font-size: 0.85rem;
  color: #4b5563;
  line-height: 1.5;
  margin: 0;
}

/* BANNER WIDGET SPEZIFISCH */
.streetart-widget-banner {
  background-color: #f3f4f6;
}

.streetart-widget-tag {
  font-family: 'Press Start 2P', monospace;
  font-size: 0.55rem;
  background-color: #3b82f6;
  color: #ffffff;
  padding: 3px 6px;
  display: inline-block;
  margin-bottom: 10px;
}

.streetart-widget-subtitle {
  font-size: 1.1rem;
  font-weight: 900;
  margin: 0 0 8px 0;
  color: #111827;
}

.streetart-sidebar-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  background-color: #111827;
  color: #ffffff;
  font-family: 'Press Start 2P', monospace;
  font-size: 0.6rem;
  padding: 12px;
  margin-top: 15px;
  text-decoration: none;
  transition: background-color 0.15s ease;
}

.streetart-sidebar-btn:hover {
  background-color: #3b82f6;
  color: #ffffff;
}

/* POPULAR LIST WIDGET */
.streetart-popular-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.streetart-popular-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.streetart-popular-num {
  font-family: 'Press Start 2P', monospace;
  font-size: 0.75rem;
  color: #3b82f6;
  font-weight: bold;
}

.streetart-popular-link {
  font-size: 0.85rem;
  font-weight: 700;
  color: #111827;
  line-height: 1.3;
  text-decoration: none;
  text-transform: uppercase;
}

.streetart-popular-link:hover {
  color: #3b82f6;
}

/* RESPONSIVE (Mobil & Tablet) */
@media (max-width: 992px) {
  .streetart-grid-container {
    grid-template-columns: 1fr;
  }

  .streetart-sidebar {
    position: static;
  }
}

/* ==========================================
   MEDIEN PAGE & GRID STYLES (NEO-BRUTALIST)
   ========================================== */

/* HEADER */
.medien-header-box {
  background-color: #ffffff;
  border: 2px solid #111827;
  padding: 25px 30px;
  box-shadow: 4px 4px 0px #111827;
}

.medien-pre-tag {
  font-family: 'Press Start 2P', monospace;
  font-size: 0.6rem;
  color: #3b82f6;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
}

.medien-main-title {
  font-size: 2.2rem;
  font-weight: 900;
  text-transform: uppercase;
  margin: 0 0 10px 0;
  color: #111827;
  line-height: 1.1;
}

.medien-main-desc {
  font-size: 0.95rem;
  color: #4b5563;
  margin: 0;
}

/* 3-SPALTIGES GRID */
.medien-grid-section {
  margin-top: 0px;
}

.medien-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 25px;
}

/* MEDIEN CARD */
.medien-card {
  background-color: #ffffff;
  border: 2px solid #111827;
  box-shadow: 4px 4px 0px #111827;
  display: flex;
  flex-direction: column;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.medien-card:hover {
  transform: translate(-3px, -3px);
  box-shadow: 7px 7px 0px #111827;
}

/* CARD IMAGE */
.medien-card-image {
  aspect-ratio: 4 / 3;
  border-bottom: 2px solid #111827;
  overflow: hidden;
}

.medien-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* CARD CONTENT & TEXT */
.medien-card-content {
  padding: 18px;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}

.medien-card-title {
  font-size: 1.1rem;
  font-weight: 800;
  margin: 0 0 10px 0;
  line-height: 1.3;
  text-transform: uppercase;
}

.medien-card-title a {
  color: #111827;
  text-decoration: none;
}

.medien-card-title a:hover {
  color: #3b82f6;
}

.medien-card-excerpt {
  font-size: 0.85rem;
  color: #4b5563;
  line-height: 1.4;
  margin: 0;
}

/* FOOTER & SUB-KATEGORIE LABEL */
.medien-card-footer {
  padding: 0 18px 18px 18px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.medien-type-label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: 'Press Start 2P', monospace;
  font-size: 0.55rem;
  color: #3b82f6;
  text-transform: uppercase;
}

.medien-type-label i {
  font-size: 0.7rem;
}

/* ACTION BUTTON */
.medien-card-btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  background-color: #111827;
  color: #ffffff;
  font-family: 'Press Start 2P', monospace;
  font-size: 0.6rem;
  padding: 12px 14px;
  text-decoration: none;
  border: 2px solid #111827;
  transition: background-color 0.15s ease;
}

.medien-card-btn:hover {
  background-color: #3b82f6;
  color: #ffffff;
}

/* RESPONSIVE BREAKPOINTS */
@media (max-width: 992px) {
  .medien-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .medien-grid {
    grid-template-columns: 1fr;
  }
}

/* ==========================================
   BILDERGALERIE GRID FIX
   ========================================== */
.wp-block-gallery, .gallery, .gallery-content-body .wp-block-gallery {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
  gap: 20px !important;
  margin-top: 25px !important;
  align-items: start;
}

.wp-block-gallery figure.wp-block-image, 
.wp-block-gallery figure, 
.gallery-item {
  margin: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  background: #ffffff;
  border: 2px solid #111827;
  box-shadow: 4px 4px 0px #111827;
  overflow: hidden;
  box-sizing: border-box;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.wp-block-gallery figure:hover, 
.gallery-item:hover {
  transform: translate(-2px, -2px);
  box-shadow: 6px 6px 0px #111827;
}

/* Bildhöhe & Bildausschnitt fixieren */
.wp-block-gallery figure img, 
.gallery img, 
.gallery-content-body figure img {
  width: 100% !important;
  height: 240px !important;
  object-fit: cover !important;
  display: block !important;
}

/* ==========================================
   LIGHTBOX FIX (NEO-BRUTALIST)
   ========================================== */

.brutal-lightbox {
  display: none;
  position: fixed !important;
  z-index: 999999 !important;
  top: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  background-color: rgba(17, 24, 39, 0.9) !important;
  backdrop-filter: blur(5px);
  justify-content: center;
  align-items: center;
  padding: 20px;
  box-sizing: border-box;
}

.lightbox-content {
  position: relative !important;
  background-color: #ffffff;
  border: 3px solid #111827;
  box-shadow: 8px 8px 0px #111827;
  max-width: 90vw;
  max-height: 90vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 15px;
  box-sizing: border-box;
}

.lightbox-content img {
  max-width: 100%;
  max-height: 75vh;
  object-fit: contain;
  border: 2px solid #111827;
  display: block;
}

.lightbox-caption {
  font-family: 'Press Start 2P', monospace;
  font-size: 0.65rem;
  color: #111827;
  margin-top: 12px;
  text-align: center;
  line-height: 1.4;
}

.lightbox-close-btn {
  position: absolute;
  top: -15px;
  right: -15px;
  background-color: #ef4444;
  color: #ffffff;
  border: 2px solid #111827;
  box-shadow: 3px 3px 0px #111827;
  width: 36px;
  height: 36px;
  font-size: 1.4rem;
  font-weight: bold;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000000;
}

.lightbox-close-btn:hover {
  background-color: #dc2626;
  transform: scale(1.1);
}

/* ==========================================
   SUPPORT PAGE & SIDEBAR EXTENSIONS
   ========================================== */

/* 2-SPALTIGES OVERRIDE FÜR DAS MEDIEN GRID */
.medien-grid.support-grid-override {
  grid-template-columns: repeat(2, 1fr);
}

/* KOSTEN-LISTE IM TRANSPARENZ WIDGET */
.support-cost-list {
  list-style: none;
  padding: 0;
  margin: 15px 0 0 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.support-cost-list li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 14px;
  background-color: #f9fafb;
  border: 2px solid #111827;
  font-size: 0.85rem;
  color: #111827;
}

.support-cost-list li i {
  color: #3b82f6;
  margin-right: 8px;
}

.support-cost-list li strong {
  font-family: 'Press Start 2P', monospace;
  font-size: 0.65rem;
  color: #111827;
}

/* SIDEBAR PROGRESS BAR WIDGET */
.streetart-widget-support {
  background-color: #ffffff;
}

.support-progress-wrapper {
  margin-top: 15px;
  padding: 12px;
  background-color: #f9fafb;
  border: 2px solid #111827;
  box-shadow: 2px 2px 0px #111827;
}

.support-progress-header {
  display: flex;
  justify-content: space-between;
  font-family: 'Press Start 2P', monospace;
  font-size: 0.55rem;
  color: #111827;
  margin-bottom: 8px;
  font-weight: bold;
}

.support-progress-bar-bg {
  height: 18px;
  width: 100%;
  background-color: #e5e7eb;
  border: 2px solid #111827;
  position: relative;
  overflow: hidden;
}

.support-progress-bar-fill {
  height: 100%;
  background-color: #10b981;
  border-right: 2px solid #111827;
}

.support-progress-footer {
  font-size: 0.75rem;
  font-weight: 700;
  color: #4b5563;
  margin-top: 8px;
  text-align: right;
}

/* PAYPAL BUTTON FARBEN */
.support-btn-paypal,
.support-paypal-btn {
  background-color: #0070ba !important;
  border-color: #111827 !important;
  color: #ffffff !important;
}

.support-btn-paypal:hover,
.support-paypal-btn:hover {
  background-color: #005ea6 !important;
  color: #ffffff !important;
}

/* RESPONSIVE ANPASSUNG */
@media (max-width: 768px) {
  .medien-grid.support-grid-override {
    grid-template-columns: 1fr !important;
  }
}

/* ==========================================
   SUPPORT SEKTIONS-ABSTÄNDE (THEME MATCH)
   ========================================== */

.streetart-main-content .category-header-box,
.streetart-main-content .streetart-widget {
  margin-bottom: 30px; /* Baut den gewohnten Theme-Abstand zwischen den Blöcken auf */
}

/* ==========================================================================
   SUBKULTUR PAGE TEMPLATE STYLES
   ========================================================================== */

.page-subkultur-wrapper {
  background-color: #0d0d0d;
  color: #f3f4f6;
  padding: 20px 0;
  font-family: inherit;
}

/* 1. HERO / POSTER WALL */
.page-subkultur-hero {
  margin-bottom: 40px;
}
.page-subkultur-hero-title {
  font-size: 1.8rem;
  font-weight: 900;
  text-transform: uppercase;
  color: #facc15;
  border-bottom: 4px solid #facc15;
  padding-bottom: 8px;
  margin-bottom: 25px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.page-subkultur-poster-wall {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
@media (max-width: 900px) {
  .page-subkultur-poster-wall { grid-template-columns: 1fr; }
}
.page-subkultur-poster-card {
  background: #18181b;
  border: 3px solid #ffffff;
  box-shadow: 6px 6px 0px #facc15;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.page-subkultur-poster-card:nth-child(1) { transform: rotate(-1.5deg); }
.page-subkultur-poster-card:nth-child(2) { transform: rotate(1deg); }
.page-subkultur-poster-card:nth-child(3) { transform: rotate(-0.8deg); }

.page-subkultur-poster-card:hover {
  transform: rotate(0deg) translateY(-5px);
  box-shadow: 10px 10px 0px #ef4444;
}
.page-subkultur-poster-img-wrap {
  width: 100%;
  height: 260px;
  overflow: hidden;
  border-bottom: 3px solid #fff;
  position: relative;
}
.page-subkultur-poster-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(100%) contrast(120%);
  transition: filter 0.3s ease, transform 0.3s ease;
}
.page-subkultur-poster-card:hover .page-subkultur-poster-img {
  filter: grayscale(0%) contrast(100%);
  transform: scale(1.05);
}
.page-subkultur-poster-badge {
  position: absolute;
  top: 10px;
  left: 10px;
  background: #ef4444;
  color: #fff;
  font-weight: 900;
  font-size: 0.75rem;
  padding: 4px 8px;
  text-transform: uppercase;
  border: 2px solid #000;
}
.page-subkultur-poster-body {
  padding: 15px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.page-subkultur-poster-heading {
  font-size: 1.2rem;
  font-weight: 800;
  line-height: 1.2;
  margin-bottom: 10px;
  text-transform: uppercase;
}
.page-subkultur-poster-heading a {
  color: #fff;
  text-decoration: none;
}
.page-subkultur-poster-heading a:hover {
  color: #facc15;
}
.page-subkultur-poster-text {
  font-size: 0.85rem;
  color: #d1d5db;
  margin-bottom: 15px;
  line-height: 1.4;
}
.page-subkultur-poster-btn {
  margin-top: auto;
  align-self: flex-start;
  background: #facc15;
  color: #000;
  font-weight: 900;
  font-size: 0.8rem;
  padding: 6px 12px;
  text-decoration: none;
  border: 2px solid #000;
  text-transform: uppercase;
}

/* 2. SETLIST & TICKER BANNER */
.page-subkultur-ticker {
  background: #facc15;
  color: #000;
  border: 3px solid #fff;
  padding: 15px 20px;
  margin-bottom: 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  box-shadow: 5px 5px 0px #ef4444;
}
@media (max-width: 768px) {
  .page-subkultur-ticker { flex-direction: column; text-align: center; }
}
.page-subkultur-ticker-title {
  font-weight: 900;
  font-size: 1.1rem;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  gap: 8px;
}
.page-subkultur-ticker-text {
  font-weight: 700;
  font-size: 0.9rem;
}

/* 3. ASYMMETRISCHES BENTO GRID + SIDEBAR */
.page-subkultur-layout {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 30px;
}
@media (max-width: 900px) {
  .page-subkultur-layout { grid-template-columns: 1fr; }
}

.page-subkultur-bento-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
@media (max-width: 600px) {
  .page-subkultur-bento-grid { grid-template-columns: 1fr; }
}

/* Bento Item 1 erstreckt sich für die Asymmetrie über 2 Spalten */
.page-subkultur-bento-card:nth-child(1) {
  grid-column: span 2;
}
@media (max-width: 600px) {
  .page-subkultur-bento-card:nth-child(1) { grid-column: span 1; }
}

.page-subkultur-bento-card {
  background: #18181b;
  border: 2px solid #3f3f46;
  padding: 15px;
  display: flex;
  flex-direction: column;
  transition: border-color 0.2s ease;
}
.page-subkultur-bento-card:hover {
  border-color: #facc15;
}
.page-subkultur-bento-img-link {
  width: 100%;
  height: 180px;
  overflow: hidden;
  margin-bottom: 12px;
  border: 1px solid #3f3f46;
  display: block;
}
.page-subkultur-bento-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(100%);
  transition: filter 0.3s ease;
}
.page-subkultur-bento-card:hover .page-subkultur-bento-img {
  filter: grayscale(0%);
}
.page-subkultur-bento-title {
  font-size: 1.1rem;
  font-weight: 800;
  margin-bottom: 8px;
  text-transform: uppercase;
}
.page-subkultur-bento-title a {
  color: #fff;
  text-decoration: none;
}
.page-subkultur-bento-title a:hover {
  color: #ef4444;
}
.page-subkultur-bento-excerpt {
  font-size: 0.85rem;
  color: #a1a1aa;
  line-height: 1.4;
}

/* 4. SIDEBAR & WIDGETS */
.page-subkultur-sidebar {
  display: flex;
  flex-direction: column;
  gap: 25px;
}
.page-subkultur-widget {
  background: #18181b;
  border: 2px solid #3f3f46;
  padding: 20px;
}
.page-subkultur-widget-title {
  font-size: 1rem;
  font-weight: 900;
  color: #facc15;
  text-transform: uppercase;
  margin-bottom: 12px;
  border-bottom: 2px dashed #3f3f46;
  padding-bottom: 6px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.page-subkultur-widget-text {
  font-size: 0.85rem;
  color: #d1d5db;
  line-height: 1.4;
}
.page-subkultur-setlist-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.page-subkultur-setlist-item {
  padding: 8px 0;
  border-bottom: 1px solid #27272a;
  font-size: 0.85rem;
  display: flex;
  flex-direction: column;
}
.page-subkultur-setlist-item a {
  color: #fff;
  text-decoration: none;
  font-weight: 700;
}
.page-subkultur-setlist-item a:hover {
  color: #facc15;
}
.page-subkultur-setlist-tag {
  font-size: 0.7rem;
  color: #ef4444;
  font-weight: 900;
  text-transform: uppercase;
}

/* YouTube Embed auf 100% Breite des Textbereichs strecken */
.wp-block-embed-youtube {
  width: 100% !important;
  max-width: 100% !important;
}

.wp-block-embed-youtube .wp-block-embed__wrapper {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%; /* 16:9 Seitenverhältnis */
  height: 0;
}

.wp-block-embed-youtube iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}