
body {
  margin: 0;
  background: #080808;
  color: #e2e2e2;
  font-family: monospace;
}

.nm-nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 24px;
  border-bottom: 1px solid #1a1a1a;
}

.nm-logo {
  font-size: 22px;
  font-weight: bold;
}

.nm-logo .red {
  color: #e63946;
}

.nm-tabs {
  display: flex;
  gap: 10px;
}

.nm-tabs button {
  background: #0e0e0e;
  border: 1px solid #1a1a1a;
  color: #ccc;
  padding: 10px 16px;
  cursor: pointer;
}

.nm-tabs button.active {
  background: #e63946;
  color: white;
}

.nm-hero {
  padding: 40px 24px;
}

.nm-hero h1 {
  font-size: 36px;
}

.nm-hero em {
  color: #e63946;
}

.nm-ticker {
  overflow: hidden;
  border-top: 1px solid #1a1a1a;
  border-bottom: 1px solid #1a1a1a;
}

.nm-ticker-inner {
  display: flex;
  gap: 60px;
  padding: 8px 0;
  animation: scroll 28s linear infinite;
}

@keyframes scroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

.nm-main {
  max-width: 900px;
  margin: auto;
  padding: 24px;
}

.nm-card {
  display: grid;
  grid-template-columns: 120px 1fr;
  background: #0e0e0e;
  border-bottom: 1px solid #1a1a1a;
  position: relative;
}

.nm-photo {
  width: 120px;
  height: 120px;
  background: #111;
}

.nm-body {
  padding: 14px;
}

.nm-title {
  font-size: 18px;
  font-weight: bold;
}

.nm-meta {
  font-size: 12px;
  color: #777;
}

.nm-genre {
  position: absolute;
  top: 10px;
  left: 130px;
  background: #e63946;
  color: black;
  padding: 3px 8px;
  font-size: 10px;
}

.nm-heart {
  position: absolute;
  top: 8px;
  right: 12px;
  font-size: 20px;
  cursor: pointer;
}


/* === GENRE COLORS === */

.genre-metal {
  background: #e63946;
  color: #000;
}

.genre-elektronika {
  background: #a78bfa;
  color: #000;
}

.genre-alternatywa {
  background: #f97316;
  color: #000;
}

.genre-punk {
  background: #39e659;
  color: #000;
}

.genre-jazz {
  background: #4aa3ff;
  color: #000;
}

.genre-blues {
  background: #305dff;
  color: #fff;
}

.genre-noise {
  background: #d7ff4a;
  color: #000;
}

.nm-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: contrast(1.1) brightness(.85);
}


/* === PREVIEW: CARD HOVER / RETENTION FX === */

.nm-card {
  overflow: hidden;
  transition:
    transform .22s ease,
    background .22s ease,
    box-shadow .22s ease,
    border-color .22s ease;
}

.nm-card:hover {
  transform: translateY(-2px);
  background: #121212;
  border-color: rgba(230,57,70,.45);
  box-shadow:
    0 0 0 1px rgba(230,57,70,.18),
    0 18px 45px rgba(0,0,0,.55),
    0 0 34px rgba(230,57,70,.12);
}

.nm-photo {
  position: relative;
  overflow: hidden;
}

.nm-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(
      ellipse at center,
      transparent 38%,
      rgba(0,0,0,.62) 100%
    );
  pointer-events: none;
}

.nm-photo img {
  transition:
    transform .5s cubic-bezier(.25,0,0,1),
    filter .35s ease;
}

.nm-card:hover .nm-photo img {
  transform: scale(1.07);
  filter:
    contrast(1.22)
    brightness(.92)
    saturate(1.08);
}

.nm-card:hover .nm-title {
  color: #fff;
  text-shadow: 0 0 16px rgba(230,57,70,.18);
}

.nm-card:hover .nm-genre {
  box-shadow: 0 0 18px rgba(230,57,70,.35);
}

.nm-heart {
  transition:
    transform .18s ease,
    color .18s ease,
    filter .18s ease;
}

.nm-heart:hover {
  transform: scale(1.18);
  color: #ff3f6d;
  filter: drop-shadow(0 0 8px rgba(255,63,109,.7));
}


/* === NEW GENRES === */

.genre-rap {
  background: #ffd000;
  color: #000;
}

.genre-rock {
  background: #ff5a5a;
  color: #000;
}

.genre-shoegaze {
  background: #ff88cc;
  color: #000;
}

/* remove noise visual if exists */

.genre-noise {
  display: none !important;
}


/* ===== LISTA WYDARZEŃ — NOWY LAYOUT ===== */

.nm-card {

  display: grid;
  grid-template-columns: 220px 1fr 140px 60px;

  align-items: center;

  background: #0b0b0b;

  border-bottom: 1px solid #1a1a1a;

  padding: 14px;

  transition: background 0.2s ease;

}

.nm-card:hover {

  background: #101010;

}

/* --- zdjęcie --- */

.nm-photo {

  width: 200px;
  height: 120px;

  overflow: hidden;

  border-radius: 10px;

  border: 1px solid #222;

}

.nm-photo img {

  width: 100%;
  height: 100%;

  object-fit: cover;

  filter: brightness(.85);

}

/* --- środek --- */

.nm-body {

  padding-left: 20px;

}

.nm-title {

  font-size: 22px;

  font-weight: 700;

  color: #fff;

}

.nm-meta {

  font-size: 13px;

  color: #999;

  margin-top: 4px;

}

/* --- badge gatunku --- */

.nm-genre {

  justify-self: center;

  font-size: 12px;

  padding: 6px 14px;

  border-radius: 6px;

  font-weight: 700;

  text-transform: uppercase;

}

/* kolory */

.genre-metal {
  background: #e63946;
}

.genre-elektronika {
  background: #8b5cf6;
}

.genre-alternatywa {
  background: #f59e0b;
}

.genre-rap {
  background: #ffd000;
  color: black;
}

.genre-rock {
  background: #ff5a5a;
}

.genre-shoegaze {
  background: #ff88cc;
}

.genre-punk {
  background: #22c55e;
}

.genre-jazz {
  background: #0ea5e9;
}

.genre-blues {
  background: #2563eb;
}

/* --- serce --- */

.nm-heart {

  font-size: 24px;

  cursor: pointer;

  color: #555;

  transition: all 0.2s ease;

}

.nm-heart:hover {

  color: #e63946;

  transform: scale(1.2);

}


/* ===== MOBILE ===== */

@media (max-width: 768px) {

  .nm-card {

    grid-template-columns: 1fr;

    gap: 12px;

  }

  .nm-photo {

    width: 100%;
    height: 180px;

  }

  .nm-genre {

    justify-self: start;

  }

}


/* ===== CONTAINER LISTY WYDARZEŃ ===== */

#event-list {

  width: 100%;

  max-width: 1200px;

  margin: 0 auto;

  padding: 20px;

  display: flex;

  flex-direction: column;

  gap: 6px;

}

/* ===== WYMIUSZENIE SZEROKOŚCI KART ===== */

.nm-card {

  width: 100%;

  border-radius: 12px;

  box-shadow:

    0 0 0 1px #1a1a1a,

    0 6px 24px rgba(0,0,0,.4);

}

/* ===== LEPSZY HOVER ===== */

.nm-card:hover {

  background: #111;

  transform: translateY(-1px);

}

/* ===== LEPSZE TŁO STRONY ===== */

body {

  background:

    radial-gradient(
      circle at 30% 10%,
      rgba(230,57,70,.08),
      transparent 40%
    ),
    #080808;

}


/* === GENRE FILTERS MULTISELECT === */

.nm-filterbar {
  margin: 0 0 22px 0;
  padding: 0 0 10px 0;
}

.nm-filter-label {
  margin: 0 0 10px 0;
  color: #777;
  font-size: 11px;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.nm-filter-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.nm-filter {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  border: 1px solid #242424;
  background: #0b0b0b;
  color: #aaa;
  font: 13px monospace;
  text-transform: uppercase;
  cursor: pointer;
}

.nm-filter.active {
  border-color: #e63946;
  color: #fff;
  box-shadow: 0 0 18px rgba(230,57,70,.18);
}

.nm-check {
  width: 16px;
  height: 16px;
  border: 1px solid currentColor;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #e63946;
  font-size: 12px;
}

@media (max-width: 768px) {
  .nm-filter-grid {
    gap: 8px;
  }

  .nm-filter {
    padding: 9px 12px;
    font-size: 12px;
  }
}


/* === GENRE FILTERS MULTISELECT === */

.nm-filterbar {
  margin: 0 0 22px 0;
  padding: 0 0 10px 0;
}

.nm-filter-label {
  margin: 0 0 10px 0;
  color: #777;
  font-size: 11px;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.nm-filter-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.nm-filter {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  border: 1px solid #242424;
  background: #0b0b0b;
  color: #aaa;
  font: 13px monospace;
  text-transform: uppercase;
  cursor: pointer;
}

.nm-filter.active {
  border-color: #e63946;
  color: #fff;
  box-shadow: 0 0 18px rgba(230,57,70,.18);
}

.nm-check {
  width: 16px;
  height: 16px;
  border: 1px solid currentColor;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #e63946;
  font-size: 12px;
}

@media (max-width: 768px) {
  .nm-filter-grid {
    gap: 8px;
  }

  .nm-filter {
    padding: 9px 12px;
    font-size: 12px;
  }
}


/* ===== TYPOGRAFIA — POWRÓT DO POPRZEDNIEGO STYLU ===== */

@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Space+Mono:wght@400;700&family=Barlow+Condensed:wght@300;400;600;700;900&display=swap');

/* główny font */

body {

  font-family: 'Space Mono', monospace;

}

/* tytuły wydarzeń */

.nm-title {

  font-family: 'Barlow Condensed', sans-serif;

  font-weight: 700;

  letter-spacing: .02em;

  font-size: 26px;

}

/* meta */

.nm-meta {

  font-family: 'Space Mono', monospace;

  font-size: 13px;

}

/* badge gatunku */

.nm-genre {

  font-family: 'Barlow Condensed', sans-serif;

  letter-spacing: .08em;

}

/* filtry */

.nm-filter {

  font-family: 'Barlow Condensed', sans-serif;

  letter-spacing: .06em;

}

/* ticker */

.nm-ticker-item {

  font-family: 'Barlow Condensed', sans-serif;

  letter-spacing: .12em;

}


/* ===== PREMIUM POLISH — CARDS / GLOW / DEPTH ===== */

.nm-card {
  background:
    linear-gradient(90deg, rgba(230,57,70,.055), transparent 38%),
    linear-gradient(180deg, #0d0d0d, #080808) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: 4px !important;
  overflow: hidden !important;
}

.nm-card:hover {
  background:
    linear-gradient(90deg, rgba(230,57,70,.105), transparent 42%),
    linear-gradient(180deg, #111, #090909) !important;
  border-color: rgba(230,57,70,.45) !important;
  box-shadow:
    0 0 0 1px rgba(230,57,70,.16),
    0 12px 40px rgba(0,0,0,.55),
    0 0 34px rgba(230,57,70,.14) !important;
}

.nm-photo {
  border-radius: 0 !important;
  border: 0 !important;
  background: #050505 !important;
}

.nm-photo img {
  filter: grayscale(.35) contrast(1.18) brightness(.82) !important;
}

.nm-card:hover .nm-photo img {
  filter: grayscale(0) contrast(1.28) brightness(.92) saturate(1.08) !important;
}

.nm-title {
  text-transform: none !important;
  line-height: 1.02 !important;
}

.nm-date {
  color: #ff394d !important;
  font-family: 'Space Mono', monospace !important;
  font-size: 12px !important;
  letter-spacing: .08em !important;
  margin-bottom: 6px !important;
}

.nm-genre {
  border: 1px solid currentColor !important;
  background: rgba(230,57,70,.12) !important;
  color: #ff4658 !important;
  min-width: 118px !important;
  text-align: center !important;
}

.nm-card[data-genre="elektronika"] .nm-genre { color: #a78bfa !important; background: rgba(167,139,250,.12) !important; }
.nm-card[data-genre="alternatywa"] .nm-genre { color: #f97316 !important; background: rgba(249,115,22,.12) !important; }
.nm-card[data-genre="rap"] .nm-genre { color: #ffd000 !important; background: rgba(255,208,0,.12) !important; }
.nm-card[data-genre="rock"] .nm-genre { color: #ff5a9c !important; background: rgba(255,90,156,.12) !important; }
.nm-card[data-genre="punk"] .nm-genre { color: #39e659 !important; background: rgba(57,230,89,.12) !important; }
.nm-card[data-genre="jazz"] .nm-genre { color: #4aa3ff !important; background: rgba(74,163,255,.12) !important; }
.nm-card[data-genre="blues"] .nm-genre { color: #5878ff !important; background: rgba(88,120,255,.12) !important; }

.nm-heart {
  color: #fff !important;
  font-size: 32px !important;
  text-shadow: 0 0 12px rgba(255,255,255,.18);
}

.nm-heart:hover {
  color: #ff3f6d !important;
  transform: scale(1.18) rotate(-4deg) !important;
}


/* ===== HEART LIKE ANIMATION ===== */

.nm-heart.liked {
  color: #ff3f6d !important;
  transform: scale(1.12);
  filter: drop-shadow(0 0 10px rgba(255,63,109,.75));
}

.nm-heart.locked {
  pointer-events: none;
  opacity: .75;
}

.nm-card.heart-pop .nm-photo img {
  animation: nmPhotoPulse .65s ease;
}

@keyframes nmPhotoPulse {
  0% { transform: scale(1); filter: brightness(.85) contrast(1.1); }
  45% { transform: scale(1.08); filter: brightness(1.05) contrast(1.3) saturate(1.2); }
  100% { transform: scale(1); filter: brightness(.85) contrast(1.1); }
}

.nm-heart-burst {
  position: absolute;
  right: 34px;
  top: 34px;
  z-index: 30;
  pointer-events: none;
  font-size: 18px;
  color: #ff3f6d;
  animation: nmHeartBurst .8s ease forwards;
}

@keyframes nmHeartBurst {
  0% {
    opacity: 1;
    transform: translate(0,0) scale(.6);
  }
  100% {
    opacity: 0;
    transform: translate(var(--x), var(--y)) scale(1.6);
  }
}


/* ===== HEART COOLDOWN ANIMATION ===== */

.nm-heart.locked {

  animation: heartCooldown 3s linear;

  opacity: .6;

}

@keyframes heartCooldown {

  0% {

    transform: scale(1);

  }

  50% {

    transform: scale(1.18);

  }

  100% {

    transform: scale(1);

  }

}


/* ===== CLICKABLE TICKER ===== */

.nm-ticker-click {
  border: 0;
  background: transparent;
  color: #555;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 18px;
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
  white-space: nowrap;
}

.nm-ticker-click strong {
  color: #e63946;
  margin-right: 8px;
}

.nm-ticker-click span {
  color: #777;
  margin-left: 8px;
}

.nm-ticker-click:hover {
  color: #fff;
}

/* ===== RANDOM CONCERT BAR ===== */

.nm-random-bar {
  margin: 0 0 22px 0;
}

.nm-random-btn {
  width: 100%;
  border: 1px solid rgba(230,57,70,.35);
  background:
    linear-gradient(90deg, rgba(230,57,70,.18), rgba(0,0,0,.15)),
    #0b0b0b;
  color: #fff;
  padding: 14px 18px;
  text-align: left;
  cursor: pointer;
}

.nm-random-btn span {
  display: block;
  font-size: 10px;
  letter-spacing: .24em;
  color: #e63946;
  margin-bottom: 4px;
}

.nm-random-btn strong {
  display: block;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 26px;
  line-height: 1;
}

.nm-random-btn em {
  display: block;
  margin-top: 6px;
  color: #888;
  font-style: normal;
  font-size: 12px;
}

/* ===== SCROLL HIGHLIGHT ===== */

.nm-scroll-highlight {
  animation: nmScrollGlow 2.2s ease;
}

@keyframes nmScrollGlow {
  0% {
    box-shadow: 0 0 0 rgba(230,57,70,0);
  }

  25% {
    box-shadow:
      0 0 0 1px rgba(230,57,70,.8),
      0 0 42px rgba(230,57,70,.42);
  }

  100% {
    box-shadow: 0 0 0 rgba(230,57,70,0);
  }
}


/* ===== CLICKABLE CARD UX ===== */

.nm-clickable-card {
  cursor: pointer;
}

.nm-clickable-card:hover .nm-title {
  color: #ffffff !important;
  text-decoration: underline;
  text-decoration-color: rgba(230,57,70,.55);
  text-underline-offset: 4px;
}


/* ===== FOOTER ===== */

.nm-footer {

  margin-top: 60px;

  padding: 40px 20px;

  text-align: center;

  color: #666;

  font-family: 'Space Mono', monospace;

  font-size: 12px;

  letter-spacing: .12em;

  border-top: 1px solid rgba(255,255,255,.06);

  background: linear-gradient(
    to bottom,
    transparent,
    rgba(0,0,0,.6)
  );

}

/* mobile */

@media (max-width: 768px) {

  .nm-footer {

    font-size: 11px;

    padding: 30px 16px;

  }

}


/* ===== STICKY HEADER ===== */

.nm-nav {
  position: sticky !important;
  top: 0 !important;
  z-index: 999 !important;

  background: rgba(8,8,8,.92) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;

  border-bottom: 1px solid rgba(255,255,255,.08) !important;
  box-shadow: 0 10px 30px rgba(0,0,0,.45);
}

.nm-tabs button {
  white-space: nowrap;
}

@media (max-width: 768px) {
  .nm-nav {
    gap: 12px;
    overflow-x: auto;
  }

  .nm-nav::-webkit-scrollbar {
    display: none;
  }

  .nm-logo {
    flex-shrink: 0;
  }

  .nm-tabs {
    flex-shrink: 0;
  }
}


/* ===== STICKY HEADER ===== */

.nm-nav {
  position: sticky !important;
  top: 0 !important;
  z-index: 999 !important;

  background: rgba(8,8,8,.92) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;

  border-bottom: 1px solid rgba(255,255,255,.08) !important;
  box-shadow: 0 10px 30px rgba(0,0,0,.45);
}

.nm-tabs button {
  white-space: nowrap;
}

@media (max-width: 768px) {
  .nm-nav {
    gap: 12px;
    overflow-x: auto;
  }

  .nm-nav::-webkit-scrollbar {
    display: none;
  }

  .nm-logo {
    flex-shrink: 0;
  }

  .nm-tabs {
    flex-shrink: 0;
  }
}


/* ===== SCROLL TO TOP BUTTON ===== */

#nm-scroll-top {
  position: fixed;
  right: 18px;
  bottom: 18px;

  width: 46px;
  height: 46px;

  border-radius: 12px;

  background: rgba(18,18,18,.9);
  border: 1px solid rgba(255,255,255,.12);

  color: #fff;
  font-size: 20px;
  font-weight: 700;

  cursor: pointer;

  opacity: 0;
  transform: translateY(20px);
  pointer-events: none;

  transition: all .25s ease;

  box-shadow:
    0 6px 18px rgba(0,0,0,.45),
    0 0 0 rgba(230,57,70,0);
}

#nm-scroll-top.show {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

#nm-scroll-top:hover {
  border-color: rgba(230,57,70,.5);

  box-shadow:
    0 8px 24px rgba(0,0,0,.6),
    0 0 18px rgba(230,57,70,.25);
}


#nm-scroll-top {
  position: fixed;
  right: 18px;
  bottom: 18px;

  width: 46px;
  height: 46px;

  border-radius: 12px;

  background: rgba(18,18,18,.9);
  border: 1px solid rgba(255,255,255,.12);

  color: #fff;
  font-size: 20px;
  font-weight: 700;

  cursor: pointer;

  opacity: 0;
  transform: translateY(20px);
  pointer-events: none;

  transition: all .25s ease;

  box-shadow:
    0 6px 18px rgba(0,0,0,.45);
}

#nm-scroll-top.show {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}


/* === HERO MOBILE FIX === */

.nm-hero {
  padding: 42px 20px 34px !important;
}

.nm-hero-title {
  max-width: 980px;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 900 !important;
  line-height: .9 !important;
  letter-spacing: -.035em !important;
}

.nm-hero-sub {
  max-width: 680px;
  margin-top: 18px !important;
  color: #ddd !important;
  font-family: 'Space Mono', monospace !important;
  line-height: 1.25 !important;
}

@media (max-width: 768px) {
  .nm-hero {
    padding: 34px 20px 28px !important;
  }

  .nm-hero-title {
    font-size: clamp(34px, 11vw, 54px) !important;
    line-height: .95 !important;
    letter-spacing: -.045em !important;
  }

  .nm-hero-sub {
    font-size: 16px !important;
    line-height: 1.28 !important;
  }
}


/* ===== DZIŚ / JUTRO BADGE ===== */

.nm-day-badge {
  position: absolute;
  top: 12px;
  right: 72px;
  z-index: 20;

  padding: 5px 10px;
  border: 1px solid rgba(230,57,70,.7);
  background: rgba(230,57,70,.15);
  color: #ff4a5d;

  font-family: 'Space Mono', monospace;
  font-size: 11px;
  letter-spacing: .16em;
  font-weight: 700;
}

.nm-hot-date {
  box-shadow:
    0 0 0 1px rgba(230,57,70,.18),
    0 0 28px rgba(230,57,70,.10) !important;
}

@media (max-width: 768px) {
  .nm-day-badge {
    top: 10px;
    right: 64px;
    font-size: 10px;
  }
}


/* ===== SOLD OUT BADGE ===== */

.nm-soldout-badge {
  position: absolute;
  top: 12px;
  right: 150px;
  z-index: 22;

  padding: 5px 10px;

  border: 1px solid rgba(255,255,255,.55);
  background: rgba(255,255,255,.12);
  color: #fff;

  font-family: 'Space Mono', monospace;
  font-size: 11px;
  letter-spacing: .16em;
  font-weight: 700;
}

.nm-soldout-card {
  opacity: .78;
}

.nm-soldout-card .nm-title::after {
  content: "  / wyprzedane";
  color: #777;
  font-size: .72em;
}

@media (max-width: 768px) {
  .nm-soldout-badge {
    top: 42px;
    right: 64px;
    font-size: 10px;
  }
}


/* ===== FEATURED EVENT ===== */

.nm-featured-badge {

  position: absolute;
  top: 12px;
  left: 12px;

  z-index: 25;

  padding: 5px 10px;

  border: 1px solid rgba(255,215,0,.7);
  background: rgba(255,215,0,.12);

  color: #ffd700;

  font-family: 'Space Mono', monospace;
  font-size: 11px;
  letter-spacing: .16em;
  font-weight: 700;

}

.nm-featured-card {

  border: 1px solid rgba(255,215,0,.45);

  box-shadow:
    0 0 0 1px rgba(255,215,0,.12),
    0 0 28px rgba(255,215,0,.08);

}


/* ===== IMAGE FALLBACK / LOADING POLISH ===== */

.nm-photo {
  background:
    linear-gradient(145deg, #14060a, #080808 70%),
    #080808;
  position: relative;
}

.nm-photo::before {
  content: "NOISEMAP";
  position: absolute;
  right: 8px;
  bottom: 4px;
  z-index: 1;
  font-family: 'Bebas Neue', sans-serif;
  font-size: 34px;
  letter-spacing: .08em;
  color: rgba(230,57,70,.12);
  pointer-events: none;
}

.nm-photo:not(:has(img))::after {
  content: "+";
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: rgba(255,255,255,.18);
  font-size: 42px;
  font-weight: 300;
}

.nm-photo img {
  position: relative;
  z-index: 2;
}


/* ===== NOISEMAP TRADEMARK LOCK ===== */

.nm-logo,
.nm-logo *,
.notranslate {
  translate: no;
  user-select: none !important;
  -webkit-user-select: none !important;
  -webkit-touch-callout: none !important;
}

.nm-logo {
  pointer-events: auto;
}


/* ===== UPCOMING PANEL ===== */

.nm-upcoming-panel {

  margin: 18px 0 10px 0;
  padding: 12px 14px;

  border: 1px solid rgba(230,57,70,.35);
  background: rgba(230,57,70,.08);

  display: flex;
  gap: 10px;

  overflow-x: auto;

}

.nm-upcoming-chip {

  padding: 6px 12px;

  border: 1px solid rgba(230,57,70,.5);
  background: rgba(230,57,70,.15);

  color: #ff4a5d;

  font-family: 'Space Mono', monospace;
  font-size: 11px;
  letter-spacing: .14em;

  cursor: pointer;
  white-space: nowrap;

}

.nm-upcoming-chip:hover {

  background: rgba(230,57,70,.3);

}


/* ===== UPCOMING PANEL UPGRADE ===== */

.nm-upcoming-panel button {
  font: inherit;
}

.nm-upcoming-chip.active {
  background: rgba(230,57,70,.34) !important;
  color: #fff !important;
  box-shadow: 0 0 18px rgba(230,57,70,.22);
}

.nm-upcoming-reset {
  border-color: rgba(255,255,255,.24) !important;
  color: #aaa !important;
  background: rgba(255,255,255,.05) !important;
}


/* === FIX: wyrównanie kart wydarzeń do lewej krawędzi === */

.events-container,
.event-list,
.events-list,
.event-card {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* główny wrapper strony */

.main-content,
.container,
.content-wrapper {
    padding-left: 16px;
    padding-right: 16px;
    box-sizing: border-box;
}

/* mobilne dopasowanie */

@media (max-width: 768px) {
    .event-card {
        width: 100%;
        margin-left: 0;
    }
}


/* ===== EVENT BADGE ===== */

.nm-status-badge {

  position: absolute;
  top: 10px;
  left: 10px;

  padding: 4px 8px;

  font-family: 'Space Mono', monospace;
  font-size: 10px;
  letter-spacing: .14em;
  font-weight: 700;

  border-radius: 3px;

  z-index: 30;

  background: rgba(0,0,0,.6);
  color: #fff;

}

.nm-badge-today {

  background: #e63946;

}

.nm-badge-tomorrow {

  background: #ff7b00;

}

.nm-badge-soon {

  background: #555;

}

.nm-badge-soldout {

  background: #000;
  border: 1px solid #e63946;

}


/* ===== STICKY FILTERS ===== */

.nm-filterbar {
  position: sticky;
  top: 74px;
  z-index: 80;

  background: rgba(8,8,8,.92);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);

  padding-top: 10px;
  padding-bottom: 12px;

  border-bottom: 1px solid rgba(255,255,255,.06);
}

@media (max-width: 768px) {
  .nm-filterbar {
    top: 68px;
  }
}


/* ===== FILTER COUNTER + RESET ===== */

.nm-filter-counter {
  margin-top: 10px;
  color: #777;
  font-family: 'Space Mono', monospace;
  font-size: 11px;
  letter-spacing: .16em;
}

.nm-filter-reset {
  margin-top: 10px;
  padding: 8px 12px;

  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.04);
  color: #aaa;

  font-family: 'Space Mono', monospace;
  font-size: 11px;
  letter-spacing: .14em;

  cursor: pointer;
}

.nm-filter-reset:hover {
  color: #fff;
  border-color: rgba(230,57,70,.5);
}


/* ===== HARD COLLAPSE FILTER ===== */

.nm-filterbar.collapsed {

  max-height: 46px !important;
  overflow: hidden !important;

}

.nm-filterbar.expanded {

  max-height: 600px;
  overflow: visible;

}

.nm-filterbar.collapsed .nm-filter-content {

  display: none !important;

}

.nm-filterbar.expanded .nm-filter-content {

  display: block;

}


/* ===== FILTER COLLAPSE FIX — HIDE BUTTONS, KEEP LABEL ===== */

.nm-filterbar.collapsed {
  max-height: none !important;
  overflow: visible !important;
  padding: 10px 0 !important;
}

.nm-filterbar.collapsed .nm-filter,
.nm-filterbar.collapsed .nm-filter-counter,
.nm-filterbar.collapsed .nm-filter-reset {
  display: none !important;
}

.nm-filterbar.collapsed .nm-filter-label::after {
  content: " ▼";
  color: #ff4a5d;
}

.nm-filterbar.expanded .nm-filter-label::after {
  content: " ▲";
  color: #ff4a5d;
}


/* ===== FINAL FILTER COLLAPSE OVERRIDE ===== */

.nm-filterbar.collapsed {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

.nm-filterbar.collapsed .nm-filter-grid,
.nm-filterbar.collapsed .nm-filter,
.nm-filterbar.collapsed .nm-filter-counter,
.nm-filterbar.collapsed .nm-filter-reset,
.nm-filterbar.collapsed .nm-filter-content,
.nm-filterbar.collapsed .nm-filter-close {
  display: none !important;
}

.nm-filterbar.collapsed .nm-filter-label {
  display: block !important;
  padding: 10px 0 !important;
  cursor: pointer !important;
}

.nm-filterbar.expanded .nm-filter-grid {
  display: flex !important;
}


/* ===== FILTER REBUILD FINAL ===== */

.nm-filterbar .nm-filter-label::after,
.nm-filterbar.collapsed .nm-filter-label::after,
.nm-filterbar.expanded .nm-filter-label::after {
  content: "" !important;
}

.nm-filterbar {
  overflow: visible !important;
  max-height: none !important;
}

.nm-filterbar[data-nm-filter-state="closed"] .nm-filter-grid,
.nm-filterbar[data-nm-filter-state="closed"] .nm-filter,
.nm-filterbar[data-nm-filter-state="closed"] .nm-filter-counter,
.nm-filterbar[data-nm-filter-state="closed"] .nm-filter-reset {
  display: none !important;
}

.nm-filterbar[data-nm-filter-state="open"] .nm-filter-grid {
  display: flex !important;
}

.nm-filterbar .nm-filter-label {
  cursor: pointer !important;
  user-select: none !important;
}


/* ===== EVENT LIST LEFT ALIGN RESTORE ===== */

#event-list,
#nm-events,
.nm-events,
.nm-card-list,
.card-list {
  margin-left: 0 !important;
  padding-left: 0 !important;
}

.nm-card {
  margin-left: 0 !important;
  transform: none !important;
}

.nm-card::before,
.nm-card::after {
  left: 0 !important;
}

.nm-main,
main {
  overflow-x: hidden !important;
}



.ticket-button {

    display: block;
    width: 100%;
    margin-top: 10px;

    padding: 10px 14px;

    background: #701b33;
    border: 1px solid #ff2a4f;

    color: #ffffff;
    font-weight: 600;

    cursor: pointer;

}

.ticket-button:hover {

    background: #ff2a4f;
    color: #000;

}


.nm-tab-results {
  margin: 32px 6vw 24px;
}

.nm-tab-header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 14px;
  color: #fff;
}

.nm-tab-title {
  font-size: 24px;
  font-weight: 900;
  letter-spacing: 1px;
}

.nm-tab-count {
  color: #999;
  font-size: 13px;
}

.nm-tab-card {
  border: 1px solid #701b33;
  background: linear-gradient(90deg, rgba(112,27,51,.32), rgba(0,0,0,.9));
  padding: 20px;
  margin-bottom: 14px;
}

.nm-tab-card h2 {
  margin: 6px 0;
  color: #fff;
  font-size: 28px;
  line-height: 1.05;
}

.nm-card-kicker {
  color: #ff4b68;
  text-transform: uppercase;
  letter-spacing: 4px;
  font-size: 12px;
}

.nm-card-venue {
  color: #999;
  font-size: 16px;
}

.nm-ticket-btn {
  display: inline-block;
  margin-top: 14px;
  padding: 10px 14px;
  border: 1px solid #ff2a4f;
  color: #fff;
  text-decoration: none;
  background: #701b33;
}

.nm-loading {
  color: #aaa;
  border: 1px solid #701b33;
  padding: 20px;
}

#nm-events-root {
  margin: 34px 6vw 80px;
}

.nm-events-head {
  margin-bottom: 18px;
  color: #fff;
}

.nm-events-title {
  font-size: 28px;
  font-weight: 900;
  letter-spacing: 1px;
}

.nm-events-count {
  color: #999;
  font-size: 13px;
  margin-top: 4px;
}

.nm-filter-panel {
  margin: 18px 0 22px;
}

.nm-filter-label {
  color: #999;
  letter-spacing: 5px;
  font-size: 12px;
  margin-bottom: 12px;
}

.nm-filter-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.nm-filter-btn {
  background: rgba(0,0,0,.55);
  color: #ddd;
  border: 1px solid #701b33;
  padding: 11px 14px;
  font-size: 14px;
  letter-spacing: 1px;
}

.nm-filter-btn.active {
  border-color: #ff2a4f;
  color: #fff;
  background: rgba(112,27,51,.45);
}

.nm-event-card {
  border: 1px solid #701b33;
  background: linear-gradient(90deg, rgba(112,27,51,.34), rgba(0,0,0,.92));
  padding: 20px;
  margin-bottom: 14px;
}

.nm-event-kicker {
  color: #ff4b68;
  text-transform: uppercase;
  letter-spacing: 4px;
  font-size: 12px;
  margin-bottom: 8px;
}

.nm-event-card h2 {
  color: #fff;
  font-size: 28px;
  line-height: 1.05;
  margin: 0 0 10px;
}

.nm-event-meta {
  color: #999;
  font-size: 16px;
}

.nm-event-type {
  display: inline-block;
  margin-top: 10px;
  color: #ff6d86;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 2px;
}

.nm-ticket-btn {
  display: block;
  width: 100%;
  margin-top: 14px;
  padding: 11px 14px;
  border: 1px solid #ff2a4f;
  background: #701b33;
  color: #fff;
  font-weight: 700;
}

.nm-empty {
  border: 1px solid #701b33;
  padding: 20px;
  color: #aaa;
}

.nm-active-tab {
  border-color: #ff2a4f !important;
  color: #fff !important;
  box-shadow: 0 0 18px rgba(255,42,79,.25);
}

/* RESTORE EVENT THUMBNAILS */
.event-card img,
.event-card-image,
.event-image,
.event-thumb,
.event-thumbnail,
.nm-event-image,
.nm-card-image,
.card-image{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
}

.nm-event-thumb {
  width:100%;
  aspect-ratio:1/1;
  overflow:hidden;
  border-radius:12px;
  margin-bottom:10px;
}

.nm-event-thumb img {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.nm-event-thumb{
  width:100%;
  aspect-ratio:1/1;
  overflow:hidden;
  border-radius:14px;
  margin-bottom:14px;
  border:1px solid rgba(231,53,100,.25);
  background:#080808;
}

.nm-event-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* NOISEMAP CARD LAYOUT RESTORE */

.nm-event-card{
  position:relative;
  overflow:hidden;
}

.nm-event-thumb{
  position:relative;
  width:100%;
  aspect-ratio:16/10;
  overflow:hidden;
  border-radius:16px;
  margin-bottom:16px;
  border:1px solid rgba(231,53,100,.28);
  background:
    radial-gradient(circle at 20% 20%, rgba(231,53,100,.22), transparent 35%),
    #080808;
}

.nm-event-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter:contrast(1.08) saturate(.9) brightness(.78);
  transform:scale(1.02);
}

.nm-event-card:hover .nm-event-thumb img{
  filter:contrast(1.12) saturate(1) brightness(.88);
  transform:scale(1.055);
}

.nm-event-thumb img{
  transition:filter .25s ease, transform .25s ease;
}

.nm-thumb-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(to bottom, rgba(0,0,0,.12), rgba(0,0,0,.62)),
    linear-gradient(to right, rgba(112,27,51,.34), transparent 55%);
  pointer-events:none;
}

.nm-thumb-genre{
  position:absolute;
  left:10px;
  bottom:10px;
  max-width:calc(100% - 20px);
  padding:6px 9px;
  border:1px solid rgba(255,210,220,.38);
  background:rgba(8,8,8,.72);
  color:#ffe3eb;
  font-size:11px;
  line-height:1;
  letter-spacing:.18em;
  text-transform:uppercase;
  border-radius:999px;
  backdrop-filter:blur(6px);
}

.nm-thumb-time{
  position:absolute;
  right:10px;
  top:10px;
  padding:6px 9px;
  border:1px solid rgba(231,53,100,.7);
  background:rgba(102,12,33,.82);
  color:#fff;
  font-size:11px;
  line-height:1;
  letter-spacing:.16em;
  text-transform:uppercase;
  border-radius:999px;
  box-shadow:0 0 16px rgba(231,53,100,.28);
}

.nm-event-thumb-empty{
  min-height:160px;
}

.nm-event-thumb-empty:before{
  content:"NOISEMAP";
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  color:rgba(255,255,255,.12);
  font-size:26px;
  letter-spacing:.18em;
  font-weight:800;
}

@media(max-width:700px){
  .nm-event-thumb{
    aspect-ratio:16/11;
    border-radius:14px;
  }

  .nm-thumb-genre,
  .nm-thumb-time{
    font-size:10px;
  }
}

body[data-active-tab="cinema"] #cinema-calendar{
  display:block !important;
}

body:not([data-active-tab="cinema"]) #cinema-calendar{
  display:none !important;
}


/* NoiseMap geolocation / radius filter */
#nm-geo-panel {
  margin: 12px 0 18px 0;
}

.nm-geo-box {
  border: 1px solid rgba(255, 60, 60, 0.35);
  background: rgba(0, 0, 0, 0.55);
  border-radius: 14px;
  padding: 12px;
}

#nm-use-location,
.nm-radius-buttons button {
  background: #080808;
  color: #e8e8e8;
  border: 1px solid rgba(255, 60, 60, 0.45);
  border-radius: 999px;
  padding: 8px 11px;
  margin: 4px;
  font-weight: 700;
  cursor: pointer;
}

#nm-use-location {
  color: #ff3c3c;
}

.nm-radius-buttons button.active {
  background: #ff3c3c;
  color: #050505;
}

#nm-geo-status {
  margin-top: 8px;
  color: #aaa;
  font-size: 12px;
}

.distance-badge {
  display: inline-block;
  margin-left: 6px;
  padding: 2px 6px;
  border-radius: 999px;
  border: 1px solid rgba(255, 60, 60, 0.55);
  color: #ff3c3c;
  font-size: 11px;
  font-weight: 800;
}


#nm-geo-panel {

  margin: 12px;

}

.nm-geo-box {

  background: #000;

  border: 1px solid #ff3c3c;

  padding: 12px;

  border-radius: 10px;

}

#nm-use-location {

  color: #ff3c3c;

  background: #080808;

  border: 1px solid #ff3c3c;

  padding: 8px 12px;

  border-radius: 999px;

  cursor: pointer;

}

.nm-radius-buttons button {

  margin: 4px;

  padding: 6px 10px;

  border-radius: 999px;

  border: 1px solid #ff3c3c;

  background: #080808;

  color: white;

}


.distance-badge {

  position: absolute;

  top: 8px;
  right: 8px;

  background: rgba(0,0,0,0.85);

  color: #ff3c3c;

  font-size: 11px;

  font-weight: bold;

  padding: 4px 6px;

  border-radius: 6px;

  border: 1px solid #ff3c3c;

  z-index: 10;

}



.geo-position {

  font-family:
    monospace;

  font-size:
    11px;

  color:
    #aaa;

  margin-top:
    4px;

  letter-spacing:
    0.5px;

}



.distance-badge {

    position: absolute;
    top: 8px;
    right: 8px;

    background: rgba(0,0,0,0.75);

    color: #fff;

    padding: 4px 8px;

    border-radius: 6px;

    font-size: 12px;

    font-weight: 600;

    border: 1px solid #ff0033;

    z-index: 10;

}

.distance-badge {
  position: absolute;
  top: 8px;
  right: 8px;
  background: rgba(0,0,0,0.85);
  color: #ff3c3c;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  border: 1px solid #ff3c3c;
  z-index: 20;
  pointer-events: none;
}


.distance-badge {
  position: absolute;
  top: 8px;
  right: 8px;
  background: rgba(0,0,0,0.85);
  color: #ff3c3c;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  border: 1px solid #ff3c3c;
  z-index: 20;
  pointer-events: none;
}


.distance-badge {
  position: absolute;
  top: 8px;
  right: 8px;
  background: rgba(0,0,0,0.88);
  color: #ff3c3c;
  padding: 5px 9px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
  border: 1px solid #ff3c3c;
  z-index: 20;
  pointer-events: none;
  letter-spacing: 0.04em;
  box-shadow: 0 0 16px rgba(255, 60, 60, 0.28);
}

.radar-dot {
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-right: 6px;
  border-radius: 50%;
  background: #ff3c3c;
  box-shadow: 0 0 10px #ff3c3c;
  animation: nmRadarPulse 1.4s infinite;
}

@keyframes nmRadarPulse {
  0% {
    transform: scale(0.9);
    opacity: 0.5;
  }

  50% {
    transform: scale(1.35);
    opacity: 1;
  }

  100% {
    transform: scale(0.9);
    opacity: 0.5;
  }
}


.distance-badge {
  position: absolute;
  top: 8px;
  right: 8px;
  background: rgba(0,0,0,0.88);
  color: #ff3c3c;
  padding: 5px 9px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
  border: 1px solid #ff3c3c;
  z-index: 20;
  letter-spacing: 0.04em;
  box-shadow: 0 0 16px rgba(255, 60, 60, 0.22);
}

.go-there-panel {
  position: absolute;
  top: 42px;
  right: 8px;
  z-index: 30;
}

.go-there-btn {
  background: #ff3c3c;
  color: #050505;
  border: 0;
  border-radius: 999px;
  padding: 7px 12px;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.radar-dot {
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-right: 6px;
  border-radius: 50%;
  background: #ff3c3c;
  box-shadow: 0 0 10px #ff3c3c;
  animation: nmRadarPulse 1.4s infinite;
}

@keyframes nmRadarPulse {
  0% { transform: scale(0.9); opacity: 0.5; }
  50% { transform: scale(1.35); opacity: 1; }
  100% { transform: scale(0.9); opacity: 0.5; }
}


.distance-badge {
  position: absolute;
  top: 8px;
  right: 8px;
  background: rgba(0,0,0,0.88);
  color: #ff3c3c;
  padding: 5px 9px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
  border: 1px solid #ff3c3c;
  z-index: 20;
  letter-spacing: 0.04em;
  box-shadow: 0 0 16px rgba(255, 60, 60, 0.22);
}

.distance-badge-active {
  border-radius: 12px;
  min-width: 118px;
  text-align: left;
}

.distance-main {
  white-space: nowrap;
  margin-bottom: 5px;
}

.distance-progress {
  width: 100%;
  height: 4px;
  background: rgba(255,255,255,0.13);
  border-radius: 999px;
  overflow: hidden;
}

.distance-progress span {
  display: block;
  height: 100%;
  background: #ff3c3c;
  box-shadow: 0 0 10px #ff3c3c;
}

.go-there-panel {
  position: absolute;
  top: 42px;
  right: 8px;
  z-index: 30;
}

.go-there-btn {
  background: #ff3c3c;
  color: #050505;
  border: 0;
  border-radius: 999px;
  padding: 7px 12px;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}


.distance-eta {
  font-size: 9px;
  line-height: 1.25;
  color: #ddd;
  opacity: 0.88;
  margin-bottom: 5px;
  max-width: 220px;
}

.distance-badge-active {
  min-width: 210px;
}


#nm-address-box {
  margin-top: 10px;
}

#nm-address-input {
  width: 100%;
  box-sizing: border-box;
  background: #080808;
  color: #eee;
  border: 1px solid rgba(255, 60, 60, 0.55);
  border-radius: 999px;
  padding: 10px 13px;
  font-size: 13px;
  outline: none;
}

#nm-address-input::placeholder {
  color: #777;
}

#nm-address-results {
  margin-top: 8px;
  display: grid;
  gap: 6px;
}

.nm-address-result {
  text-align: left;
  background: rgba(0,0,0,0.78);
  color: #ddd;
  border: 1px solid rgba(255, 60, 60, 0.35);
  border-radius: 10px;
  padding: 8px 10px;
  font-size: 11px;
  line-height: 1.25;
}

.nm-address-hint {
  color: #aaa;
  font-size: 11px;
  padding: 6px 2px;
}

.nm-radius-buttons button.active {
  background: #ff3c3c;
  color: #050505;
}


.nm-tab-unified {
  border: 1px solid rgba(255, 60, 60, 0.75) !important;
  background: rgba(0,0,0,0.65) !important;
  color: #eee !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.nm-tab-unified.nm-tab-active {
  border-color: #ff3c3c !important;
  box-shadow: 0 0 20px rgba(255, 60, 60, 0.28) !important;
  color: #fff !important;
}


/* NOISEMAP nav cleanup: unified top tabs */
.nm-main-tabs,
.main-tabs,
.top-tabs,
.nav-tabs {
  display: flex;
  flex-wrap: nowrap;
  gap: 12px;
  align-items: center;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.nm-main-tabs a,
.nm-main-tabs button,
.main-tabs a,
.main-tabs button,
.top-tabs a,
.top-tabs button,
.nav-tabs a,
.nav-tabs button,


.nm-main-tabs a.active,
.nm-main-tabs button.active,
.main-tabs a.active,
.main-tabs button.active,
.top-tabs a.active,
.top-tabs button.active,
.nav-tabs a.active,
.nav-tabs button.active,
.nm-main-tab.active {
  background: rgba(95, 9, 28, .55);
  border-color: rgba(255, 58, 96, .9);
}

[class*="kino"],
[class*="cinema"] {
  box-shadow: none;
}

/* Hide youth top-nav tab if any stale JS recreates it */
.nm-main-tabs a[href*="mlodziez"],
.nm-main-tabs button[data-tab*="mlodziez"],
.main-tabs a[href*="mlodziez"],
.main-tabs button[data-tab*="mlodziez"],
.top-tabs a[href*="mlodziez"],
.top-tabs button[data-tab*="mlodziez"] {
  display: none !important;
}

/* ===== NOISEMAP TOP NAV — UNIFIED STYLE ===== */

.main-tabs,
.nm-main-tabs,
.top-tabs,
.nav-tabs {

  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: nowrap;

}

.main-tabs a,
.main-tabs button,


/* active tab */

.main-tabs a.active,
.main-tabs button.active,
.nm-main-tab.active {

  background: rgba(95, 9, 28, 0.55);

  border-color: rgba(255, 58, 96, 0.9);

}

/* Kino ma wyglądać tak samo */

.kino,
.cinema,
.kino-tab {

  all: unset;

}

/* Youth tab NIE w top-nav */

.main-tabs a[href*="mlodziez"],
.main-tabs button[data-tab*="mlodziez"] {

  display: none !important;

}


.calendar-grid {

    display: grid;

    grid-template-columns: repeat(7, 1fr);

    gap: 8px;

    margin-top: 20px;

}

.calendar-day {

    position: relative;

    padding: 14px;

    text-align: center;

    border: 1px solid rgba(255,40,80,0.4);

    background: rgba(0,0,0,0.6);

    font-size: 18px;

}

.calendar-day .dot {

    position: absolute;

    bottom: 6px;

    left: 50%;

    transform: translateX(-50%);

    width: 8px;

    height: 8px;

    border-radius: 50%;

    background: red;

}


/* ===============================
   FORCE HIDE: Dla młodzieży w top-nav
   =============================== */

.main-tabs a,
.main-tabs button,
.top-tabs a,
.top-tabs button,
.nav-tabs a,
.nav-tabs button {

}

/* Ukryj każdy element z tekstem "Dla młodzieży" w górnej nawigacji */
.main-tabs a[href*="mlodziez"],
.main-tabs button[data-tab*="mlodziez"],
.top-tabs a[href*="mlodziez"],
.top-tabs button[data-tab*="mlodziez"],
.nav-tabs a[href*="mlodziez"],
.nav-tabs button[data-tab*="mlodziez"] {

    display: none !important;

}

/* Fallback — jeśli tekst renderowany bez href/data-tab */
.main-tabs a:has(span),
.main-tabs button:has(span) {

}

/* ===============================
   LOCATION PANEL — COMPACT MODE
   =============================== */

.location-panel,
.distance-panel,
.radius-panel {

    padding: 12px 14px;
    border-radius: 14px;

    max-width: 100%;
    margin-bottom: 14px;

}

/* przycisk lokalizacji */

.location-panel .use-location,
.distance-panel .use-location,
.radius-panel .use-location {

    font-size: 16px;
    padding: 10px 16px;

    margin-bottom: 10px;

}

/* przyciski dystansu */

.location-panel button,
.distance-panel button,
.radius-panel button {

    font-size: 15px;

    padding: 8px 14px;

    margin: 4px;

    border-radius: 18px;

}

/* zmniejszenie odstępów */

.location-panel,
.distance-panel,
.radius-panel {

    gap: 6px;

}

/* mniejsze odstępy między ikonami */

.location-panel button,
.distance-panel button {

    min-height: auto;

}

/* lekko mniejszy cień / wizualna kompaktowość */

.location-panel,
.distance-panel {

    box-shadow: 0 0 6px rgba(255,0,60,0.25);

}


/* === MAIN TABS UNIFIED SIZE === */
.nm-main-tab,
.nm-tab-unified,
.main-tab,
.tab,
a[href*="kino"],
button {
  box-sizing: border-box;
}

.nm-main-tab,
.nm-tab-unified {
  min-width: 132px !important;
  height: 52px !important;
  padding: 0 18px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
  font-size: 18px !important;
  line-height: 1 !important;
  text-align: center !important;
  border-radius: 0 !important;
}

/* Kino niezależne ma mieć ten sam rozmiar przycisku, nie wielką kapsułę */
a:has-text("Kino niezależne"),
button:has-text("Kino niezależne") {
  min-width: 132px !important;
  height: 52px !important;
}

/* ===============================
   TOP NAV — IDENTICAL TYPOGRAPHY
   =============================== */

.main-tabs a,
.main-tabs button,
.top-tabs a,
.top-tabs button,
.nav-tabs a,
.nav-tabs button {

    font-family: inherit !important;

    font-size: clamp(18px, 4.8vw, 28px) !important;

    line-height: 1.05;

    letter-spacing: 0.02em;

    padding: 12px 22px !important;

    border-radius: 0;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    white-space: nowrap;

    height: auto !important;

}

/* Ramka dopasowana do tekstu */

.main-tabs a,
.main-tabs button {

    min-width: unset !important;

    width: auto !important;

    box-sizing: border-box;

}

/* Kino NIE może mieć własnego stylu */

[class*="kino"],
[class*="cinema"] {

    font-family: inherit !important;

    font-size: inherit !important;

    padding: inherit !important;

    border-radius: inherit !important;

    height: auto !important;

    width: auto !important;

}

/* Zapobiega nadmuchanej ramce */

.main-tabs a,
.main-tabs button {

    max-width: fit-content;

}


/* =========================================
   FINAL TOP NAV NORMALIZATION
   ========================================= */

.main-tabs,
.top-tabs,
.nav-tabs {

    display: flex;
    align-items: center;
    gap: 12px;

}

/* wszystkie przyciski identyczne */

.main-tabs a,
.main-tabs button,
.top-tabs a,
.top-tabs button,
.nav-tabs a,
.nav-tabs button {

    display: inline-flex !important;

    align-items: center;
    justify-content: center;

    font-family: inherit !important;
    font-size: clamp(18px, 4.8vw, 28px) !important;

    padding: 10px 20px !important;

    border: 1px solid rgba(255, 40, 80, 0.75);

    line-height: 1.05;

    white-space: nowrap;

    height: auto !important;
    width: auto !important;

    min-width: 0 !important;

    box-sizing: border-box;

}

/* usuń wszystkie specjalne style kina */





/* i przywróć standard */







/* =========================================
   NOISEMAP TOP NAV — CLEAN UNIFIED STYLE
   ========================================= */

.main-tabs,
.top-tabs,
.nav-tabs {
    display: flex;
    align-items: center;
    gap: 10px;
}

.main-tabs a,
.main-tabs button,
.top-tabs a,
.top-tabs button,
.nav-tabs a,
.nav-tabs button {

    display: inline-flex !important;

    align-items: center;
    justify-content: center;

    font-family: inherit !important;
    font-size: clamp(18px, 4.8vw, 28px) !important;

    padding: 10px 20px !important;

    border: 1px solid rgba(255,40,80,0.75);

    white-space: nowrap;

    height: auto !important;
    width: auto !important;

    box-sizing: border-box;
}


/* ======================================
   LOCATION PANEL — COMPACT VERSION
   ====================================== */

.location-panel,
.distance-panel {

    padding: 14px 16px !important;

    margin: 12px auto !important;

    border-radius: 10px;

}

.location-panel button,
.distance-panel button {

    padding: 6px 12px !important;

    font-size: 14px !important;

    border-radius: 16px;

}

.location-panel .distance-buttons,
.distance-panel .distance-buttons {

    gap: 8px !important;

}

.location-panel h3,
.distance-panel h3 {

    font-size: 16px !important;

    margin-bottom: 8px !important;

}


/* === MAIN TABS UNIFIED SIZE (NO SPECIAL KINO STYLE) === */

.nm-main-tab,
.main-tabs a,
.main-tabs button {

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  height: 52px !important;
  padding: 0 18px !important;

  min-width: 132px !important;

  font-size: 18px !important;
  line-height: 1 !important;

  white-space: nowrap !important;

}

/* usuwamy specjalne powiększanie kina */






/* === MAIN TABS UNIFIED SIZE (NO SPECIAL KINO STYLE) === */

.nm-main-tab,
.main-tabs a,
.main-tabs button {

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  height: 52px !important;
  padding: 0 18px !important;

  min-width: 132px !important;

  font-size: 18px !important;
  line-height: 1 !important;

  white-space: nowrap !important;

}

/* usuwamy specjalne powiększanie kina */









.nm-main-tab,
.main-tabs a,
.main-tabs button {

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    height: 52px !important;
    padding: 0 18px !important;

    min-width: 132px !important;

    font-size: 18px !important;
    line-height: 1 !important;

    white-space: nowrap !important;

}



/* === NM_UNIFIED_TABS_STYLE — PUNCHY COMPACT === */

.nm-main-tab,
.main-tabs a,
.main-tabs button {

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    height: 43px !important;
    padding: 0 14px !important;

    min-width: 120px !important;

    font-size: 17px !important;
    font-weight: 700 !important;

    color: #ffffff !important;

    border: 1px solid #ff3c3c !important;
    border-radius: 12px !important;

    background:
        linear-gradient(
            180deg,
            rgba(255,60,60,0.18),
            rgba(0,0,0,0.90)
        ) !important;

    box-shadow: 0 0 10px rgba(255,60,60,0.35) !important;

    transition: all 0.18s ease !important;

    white-space: nowrap !important;
}

/* hover */

.nm-main-tab:hover {

    box-shadow:
        0 0 16px rgba(255,60,60,0.55) !important;

    transform: translateY(-1px);
}


/* === MAIN TABS POLISH: ACTIVE / SPACING / STICKY === */

.nm-main-tab-wrapper,
.main-tabs {
  gap: 10px !important;
  padding: 10px 12px !important;
}

.nm-main-tab.active,
.nm-main-tab.is-active,
.main-tabs button.active,
.main-tabs a.active {
  border-color: #ff3c3c !important;
  background:
    linear-gradient(
      180deg,
      rgba(255,60,60,0.28),
      rgba(0,0,0,0.88)
    ) !important;
  box-shadow:
    0 0 18px rgba(255,60,60,0.62),
    inset 0 0 16px rgba(255,60,60,0.12) !important;
  color: #fff !important;
}

.nm-main-tab-wrapper,
.main-tabs {
  position: sticky !important;
  top: 0 !important;
  z-index: 999 !important;
  background:
    linear-gradient(
      180deg,
      rgba(8,8,8,0.98),
      rgba(8,8,8,0.88)
    ) !important;
  backdrop-filter: blur(8px);
}

@media (max-width: 520px) {
  .nm-main-tab,
  .main-tabs a,
  .main-tabs button {
    height: 42px !important;
    font-size: 15px !important;
    padding: 0 10px !important;
  }

  .nm-main-tab-wrapper,
  .main-tabs {
    gap: 8px !important;
    padding: 8px 10px !important;
  }
}


/* === EMERGENCY CONTENT UNHIDE 20260429 === */
#nm-events-root,
.nm-events-root,
.nm-events-list,
.nm-event-card,
.nm-tab-results,
.nm-tab-card {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}


/* ===== NOISEMAP GENRE / CATEGORY TAGS ===== */

.event-card .tag,
.event-card .genre-tag,
.event-card .category-tag,
.nm-tag,
.genre-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 9px;
  margin: 2px 4px 2px 0;
  border-radius: 3px;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .08em;
  text-transform: uppercase;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.08);
  color: #f2f2f2;
}

.tag-metal,
.genre-metal,
[data-genre*="metal"] .genre-tag {
  background: rgba(130, 0, 24, .86);
  border-color: rgba(255, 44, 72, .78);
  color: #fff;
}

.tag-punk,
.genre-punk,
[data-genre*="punk"] .genre-tag {
  background: rgba(170, 32, 32, .78);
  border-color: rgba(255, 82, 82, .75);
  color: #fff;
}

.tag-noise,
.genre-noise,
[data-genre*="noise"] .genre-tag {
  background: rgba(35, 35, 35, .95);
  border-color: rgba(255, 255, 255, .34);
  color: #fff;
  box-shadow: inset 0 0 0 1px rgba(255,0,60,.25);
}

.tag-elektronika,
.tag-electronic,
.genre-elektronika,
.genre-electronic,
[data-genre*="elektronika"] .genre-tag {
  background: rgba(68, 24, 110, .82);
  border-color: rgba(166, 105, 255, .65);
  color: #fff;
}

.tag-alternatywa,
.tag-alternative,
.genre-alternatywa,
.genre-alternative,
[data-genre*="alternatywa"] .genre-tag {
  background: rgba(112, 27, 51, .82);
  border-color: rgba(255, 74, 118, .65);
  color: #fff;
}

.tag-jazz,
.genre-jazz,
[data-genre*="jazz"] .genre-tag {
  background: rgba(126, 78, 24, .82);
  border-color: rgba(255, 178, 76, .65);
  color: #fff;
}

.tag-blues,
.genre-blues,
[data-genre*="blues"] .genre-tag {
  background: rgba(24, 58, 112, .82);
  border-color: rgba(80, 145, 255, .65);
  color: #fff;
}

.tag-rap,
.genre-rap,
[data-genre*="rap"] .genre-tag,
[data-genre*="hip-hop"] .genre-tag {
  background: rgba(70, 70, 70, .88);
  border-color: rgba(220, 220, 220, .5);
  color: #fff;
}

.tag-rock,
.tag-shoegaze,
.genre-rock,
.genre-shoegaze,
[data-genre*="rock"] .genre-tag,
[data-genre*="shoegaze"] .genre-tag {
  background: rgba(95, 38, 20, .86);
  border-color: rgba(230, 103, 54, .64);
  color: #fff;
}

.tag-festiwal,
.tag-festival,
.genre-festiwal,
.genre-festival,
[data-genre*="festiwal"] .genre-tag,
[data-category*="festival"] .genre-tag {
  background: rgba(24, 105, 60, .82);
  border-color: rgba(86, 230, 145, .62);
  color: #fff;
}

.tag-kino,
.genre-kino,
[data-category*="cinema"] .genre-tag {
  background: rgba(28, 64, 100, .82);
  border-color: rgba(105, 180, 255, .58);
  color: #fff;
}

.tag-standup,
.genre-standup,
[data-category*="stand"] .genre-tag {
  background: rgba(112, 68, 20, .82);
  border-color: rgba(255, 172, 76, .6);
  color: #fff;
}


/* ===== NOISEMAP GENRE / CATEGORY TAGS ===== */

.event-card .tag,
.event-card .genre-tag,
.event-card .category-tag,
.nm-tag,
.genre-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 9px;
  margin: 2px 4px 2px 0;
  border-radius: 3px;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .08em;
  text-transform: uppercase;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.08);
  color: #f2f2f2;
}

.tag-metal,
.genre-metal,
[data-genre*="metal"] .genre-tag {
  background: rgba(130, 0, 24, .86);
  border-color: rgba(255, 44, 72, .78);
  color: #fff;
}

.tag-punk,
.genre-punk,
[data-genre*="punk"] .genre-tag {
  background: rgba(170, 32, 32, .78);
  border-color: rgba(255, 82, 82, .75);
  color: #fff;
}

.tag-noise,
.genre-noise,
[data-genre*="noise"] .genre-tag {
  background: rgba(35, 35, 35, .95);
  border-color: rgba(255, 255, 255, .34);
  color: #fff;
  box-shadow: inset 0 0 0 1px rgba(255,0,60,.25);
}

.tag-elektronika,
.tag-electronic,
.genre-elektronika,
.genre-electronic,
[data-genre*="elektronika"] .genre-tag {
  background: rgba(68, 24, 110, .82);
  border-color: rgba(166, 105, 255, .65);
  color: #fff;
}

.tag-alternatywa,
.tag-alternative,
.genre-alternatywa,
.genre-alternative,
[data-genre*="alternatywa"] .genre-tag {
  background: rgba(112, 27, 51, .82);
  border-color: rgba(255, 74, 118, .65);
  color: #fff;
}

.tag-jazz,
.genre-jazz,
[data-genre*="jazz"] .genre-tag {
  background: rgba(126, 78, 24, .82);
  border-color: rgba(255, 178, 76, .65);
  color: #fff;
}

.tag-blues,
.genre-blues,
[data-genre*="blues"] .genre-tag {
  background: rgba(24, 58, 112, .82);
  border-color: rgba(80, 145, 255, .65);
  color: #fff;
}

.tag-rap,
.genre-rap,
[data-genre*="rap"] .genre-tag,
[data-genre*="hip-hop"] .genre-tag {
  background: rgba(70, 70, 70, .88);
  border-color: rgba(220, 220, 220, .5);
  color: #fff;
}

.tag-rock,
.tag-shoegaze,
.genre-rock,
.genre-shoegaze,
[data-genre*="rock"] .genre-tag,
[data-genre*="shoegaze"] .genre-tag {
  background: rgba(95, 38, 20, .86);
  border-color: rgba(230, 103, 54, .64);
  color: #fff;
}

.tag-festiwal,
.tag-festival,
.genre-festiwal,
.genre-festival,
[data-genre*="festiwal"] .genre-tag,
[data-category*="festival"] .genre-tag {
  background: rgba(24, 105, 60, .82);
  border-color: rgba(86, 230, 145, .62);
  color: #fff;
}

.tag-kino,
.genre-kino,
[data-category*="cinema"] .genre-tag {
  background: rgba(28, 64, 100, .82);
  border-color: rgba(105, 180, 255, .58);
  color: #fff;
}

.tag-standup,
.genre-standup,
[data-category*="stand"] .genre-tag {
  background: rgba(112, 68, 20, .82);
  border-color: rgba(255, 172, 76, .6);
  color: #fff;
}

