
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);
}


/* === CARD HOVER / VISUAL 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;
}



.nm-band-carousel-section {
    margin: 18px auto;
    padding: 14px;
    max-width: 1100px;
    border: 1px solid rgba(230,57,70,.25);
    background: rgba(12,12,12,.92);
    border-radius: 14px;
}

.nm-band-carousel-title {
    color: #e63946;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    margin-bottom: 10px;
}

.nm-band-carousel {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    padding-bottom: 6px;
}

.nm-band-card {
    min-width: 150px;
    padding: 14px;
    border-radius: 12px;
    border: 1px solid rgba(255,255,255,.12);
    background: linear-gradient(135deg, #14040a, #0b0b0b);
}

.nm-band-card-name {
    color: #f2f2f2;
    font-weight: 800;
}

.nm-band-card-meta {
    margin-top: 6px;
    color: #9a9a9a;
    font-size: 12px;
}

.nm-carousel-empty {
    color: #777;
    padding: 10px;
}

/* NoiseMap fix: hide duplicated lower event type label on cards */
.nm-event-card .nm-event-type,
.nm-event-card .nm-card-type,
.nm-event-card .nm-event-category,
.nm-event-card .nm-card-category {
  display: none !important;
}


/* Relative day badge */

.nm-relative-badge {

    display: inline-block;

    margin-left: 8px;

    padding: 2px 8px;

    font-size: 11px;

    font-weight: 700;

    letter-spacing: 1px;

    border-radius: 6px;

    color: white;

    background: linear-gradient(
        90deg,
        #ff0033,
        #ff3366
    );

}


/* NoiseMap safe UI fix: hide duplicated lower event type label */
.nm-event-card .nm-event-type,
.nm-event-card .nm-card-type,
.nm-event-card .nm-event-category,
.nm-event-card .nm-card-category {
  display: none !important;
}


/* NOISEMAP hotfix: legacy event-card image */
.event-card > img.event-thumb,
.event-card img.event-thumb {
  display: block !important;
  width: 100% !important;
  height: 220px !important;
  object-fit: cover !important;
  border-radius: 22px !important;
  margin: 0 0 18px 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
  background: #111 !important;
}

.event-card > div.event-card-image {
  display: block !important;
}

/* NOISEMAP thumbnail emergency restore */
.event-card-image,
.nm-event-thumb {
  width: 100% !important;
  min-height: 180px !important;
  max-height: 240px !important;
  overflow: hidden !important;
  border-radius: 18px !important;
  background: #111 !important;
  margin-bottom: 14px !important;
  display: block !important;
}

.event-card-image img,
.event-thumb,
.nm-event-thumb img {
  display: block !important;
  width: 100% !important;
  height: 220px !important;
  object-fit: cover !important;
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
}

/* NOISEMAP stable thumb restore */
.nm-event-thumb {
  display: block !important;
  width: 100% !important;
  height: 220px !important;
  overflow: hidden !important;
  border-radius: 22px !important;
  background: #111 !important;
  position: relative !important;
}

.nm-event-thumb img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  opacity: 1 !important;
  visibility: visible !important;
}

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


/* NM_SAFE_THUMB_FIX */
.nm-event-thumb {
  position: relative;
  display: block;
  width: 100%;
  min-height: 140px;
  overflow: hidden;
}

.nm-event-thumb img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  opacity: 1 !important;
}

.nm-event-thumb-empty {
  background: #111;
}


/* NM_OPTION9_POSTER_THUMB_STANDARD */
.nm-event-thumb.nm-thumb-option9,
.nm-event-thumb {
  position: relative !important;
  aspect-ratio: 4 / 5 !important;
  min-height: 220px !important;
  width: 100% !important;
  overflow: hidden !important;
  border-radius: 18px !important;
  background: #050505 !important;
  isolation: isolate !important;
}

.nm-event-thumb.nm-thumb-option9 .nm-thumb-bg {
  position: absolute !important;
  inset: -18px !important;
  width: calc(100% + 36px) !important;
  height: calc(100% + 36px) !important;
  object-fit: cover !important;
  filter: blur(18px) saturate(1.25) brightness(0.55) !important;
  transform: scale(1.08) !important;
  z-index: 0 !important;
}

.nm-event-thumb.nm-thumb-option9 .nm-thumb-main {
  position: relative !important;
  z-index: 2 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  padding: 7px !important;
  box-sizing: border-box !important;
  filter: none !important;
}

.nm-event-thumb.nm-thumb-option9::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background:
    linear-gradient(to bottom, rgba(0,0,0,0.08) 0%, rgba(0,0,0,0.18) 48%, rgba(0,0,0,0.72) 100%),
    radial-gradient(circle at center, rgba(230,57,70,0.12), rgba(0,0,0,0.42) 72%) !important;
  pointer-events: none !important;
}

.nm-event-thumb.nm-thumb-option9 .nm-thumb-overlay,
.nm-event-thumb.nm-thumb-option9 .nm-thumb-genre,
.nm-event-thumb.nm-thumb-option9 .nm-thumb-time {
  z-index: 3 !important;
}

.nm-event-thumb-empty {
  aspect-ratio: 4 / 5 !important;
  min-height: 220px !important;
}

HTTP/1.1 200 OK
Server: nginx/1.18.0 (Ubuntu)
Date: Mon, 04 May 2026 16:10:22 GMT
Content-Type: text/css
Content-Length: 61104
Last-Modified: Mon, 04 May 2026 16:09:10 GMT
Connection: keep-alive
ETag: "69f8c4a6-eeb0"
Cache-Control: no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0
Pragma: no-cache
Expires: 0
Accept-Ranges: bytes


/* === NM OPTION 9 FINAL TUNING === */

.nm-event-thumb.nm-thumb-option9 {
  aspect-ratio: 3 / 4 !important;
  min-height: 260px !important;
}

.nm-event-thumb.nm-thumb-option9 .nm-thumb-main {
  padding: 4px !important;
  transform: scale(1.04);
}

@media (min-width: 768px) {
  .nm-event-thumb.nm-thumb-option9 {
    aspect-ratio: 2 / 3 !important;
    min-height: 320px !important;
  }
}


.event-title,
.event-artist,
.event-venue {
  font-family: 'Barlow Condensed', sans-serif !important;
}


/* === NOISEMAP thumbnail blend refinement === */

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

.event-card img,
.event-thumb img,
.event-image img,
.card-image img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

.event-thumb,
.event-image,
.card-image,
.event-card .thumb,
.event-card .image {
  position: relative;
  overflow: hidden;
  border-radius: 22px;
  background:
    radial-gradient(circle at 50% 42%, rgba(255,255,255,0.05), transparent 36%),
    linear-gradient(135deg, rgba(115,16,42,0.30), rgba(0,0,0,0.92) 72%);
}

.event-thumb::after,
.event-image::after,
.card-image::after,
.event-card .thumb::after,
.event-card .image::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background:
    linear-gradient(90deg,
      rgba(0,0,0,0.62) 0%,
      rgba(70,3,20,0.34) 15%,
      rgba(0,0,0,0.00) 38%,
      rgba(0,0,0,0.00) 62%,
      rgba(70,3,20,0.38) 84%,
      rgba(0,0,0,0.70) 100%
    ),
    linear-gradient(180deg,
      rgba(0,0,0,0.20) 0%,
      rgba(0,0,0,0.00) 35%,
      rgba(0,0,0,0.74) 100%
    ),
    radial-gradient(circle at 50% 48%,
      rgba(0,0,0,0.00) 0%,
      rgba(0,0,0,0.00) 48%,
      rgba(30,0,12,0.42) 78%,
      rgba(0,0,0,0.82) 100%
    );
  mix-blend-mode: multiply;
}

.event-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 50% 18%, rgba(160,30,62,0.12), transparent 38%),
    linear-gradient(90deg, rgba(70,3,20,0.22), transparent 32%, transparent 68%, rgba(70,3,20,0.22));
  z-index: 0;
}

.event-card > * {
  position: relative;
  z-index: 1;
}


/* === event visibility contract === */
#events,
.events,
.event-list,
.event-card {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.event-card {
  min-height: 120px;
}


/* === NOISEMAP STABLE EVENT RENDER CSS V1 === */

#nm-events-root {
  width: min(100%, 760px);
  margin: 24px auto 80px;
  padding: 0 18px;
  box-sizing: border-box;
}

.nm-events-count {
  color: rgba(255,255,255,.45);
  font-family: "Space Mono", monospace;
  font-size: 13px;
  letter-spacing: .12em;
  text-transform: uppercase;
  margin: 0 0 18px;
}

.nm-events-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 26px;
}

.event-card,
.nm-card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(230,57,70,.35);
  background:
    radial-gradient(circle at 18% 20%, rgba(112,27,51,.42), transparent 42%),
    linear-gradient(145deg, #120609, #050505 72%);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.025),
    0 22px 48px rgba(0,0,0,.42);
}

.event-inner {
  position: relative;
  padding: 40px;
}

.event-thumb-wrap {
  position: relative;
  overflow: hidden;
  border-radius: 22px;
  background: #070707;
  margin-bottom: 28px;
}

.event-thumb-wrap::before {
  content: "";
  position: absolute;
  inset: -18%;
  background:
    radial-gradient(circle at 50% 45%, rgba(255,255,255,.06), transparent 26%),
    linear-gradient(180deg, transparent 48%, rgba(5,0,2,.88) 100%),
    linear-gradient(90deg, rgba(112,27,51,.45), transparent 36%, rgba(0,0,0,.35));
  z-index: 2;
  pointer-events: none;
}

.event-thumb {
  width: 100%;
  aspect-ratio: 1.16 / 1;
  object-fit: cover;
  display: block;
  filter: contrast(1.12) brightness(.86) saturate(.92);
  transform: scale(1.015);
}

.nm-genre {
  position: absolute;
  left: 20px;
  bottom: 20px;
  z-index: 3;
  padding: 8px 16px;
  border: 1px solid rgba(255,255,255,.45);
  border-radius: 999px;
  color: rgba(255,255,255,.86);
  background: rgba(0,0,0,.52);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  font-family: "Space Mono", monospace;
  font-size: 12px;
  letter-spacing: .22em;
  text-transform: uppercase;
}

.event-date {
  color: #ff3f6d;
  font-family: "Space Mono", monospace;
  font-size: 16px;
  letter-spacing: .34em;
  text-transform: uppercase;
  margin-bottom: 14px;
}

.event-title {
  color: #fff;
  font-family: "Barlow Condensed", "Arial Narrow", sans-serif;
  font-size: clamp(38px, 9vw, 64px);
  line-height: .92;
  font-weight: 800;
  letter-spacing: -.03em;
  margin: 0 0 22px;
  text-transform: none;
}

.event-venue {
  color: rgba(255,255,255,.58);
  font-family: "Space Mono", monospace;
  font-size: 18px;
  line-height: 1.35;
}

.nm-loading,
.nm-error {
  color: rgba(255,255,255,.7);
  font-family: "Space Mono", monospace;
  padding: 40px 0;
}

@media (max-width: 640px) {
  #nm-events-root {
    padding: 0 12px;
  }

  .event-inner {
    padding: 28px 22px;
  }

  .event-title {
    font-size: clamp(36px, 11vw, 54px);
  }
}


/* === NOISEMAP FIX: GENRE BADGE / IMAGE OVERLAY CLEANUP === */
/* Wyłącza stary rozjechany owalny label CONCERT i ustawia mały tag w rogu miniatury */

.event-thumb-wrap {
  position: relative !important;
  overflow: hidden !important;
  border-radius: 22px !important;
}

.event-thumb-wrap::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background:
    linear-gradient(180deg, rgba(0,0,0,0) 42%, rgba(0,0,0,.68) 100%),
    radial-gradient(circle at 20% 80%, rgba(112,27,51,.42), transparent 44%) !important;
}

/* najważniejsza poprawka — kasuje wielki rozjechany owal */
.nm-genre,
.event-thumb-wrap .nm-genre,
.event-card .nm-genre,
.nm-card .nm-genre {
  position: absolute !important;
  left: 18px !important;
  bottom: 18px !important;
  top: auto !important;
  right: auto !important;
  z-index: 5 !important;

  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: calc(100% - 36px) !important;

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

  padding: 7px 14px !important;
  margin: 0 !important;

  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.42) !important;

  background: rgba(0,0,0,.58) !important;
  color: rgba(255,255,255,.82) !important;

  font-family: "Space Mono", monospace !important;
  font-size: 11px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;

  transform: none !important;
  filter: none !important;
  box-shadow: none !important;

  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
}

/* obraz nie może być przykryty przez stare pseudo-gradienty */
.event-thumb {
  position: relative !important;
  z-index: 1 !important;
  width: 100% !important;
  display: block !important;
  object-fit: cover !important;
  aspect-ratio: 1.16 / 1 !important;
  border-radius: 22px !important;
}

/* czytelniejszy dół zdjęcia bez efektu wycięcia */
.event-thumb-wrap::after {
  content: "" !important;
  position: absolute !important;
  inset: auto 0 0 0 !important;
  height: 38% !important;
  z-index: 3 !important;
  pointer-events: none !important;
  background: linear-gradient(
    180deg,
    rgba(5,5,5,0) 0%,
    rgba(5,5,5,.55) 58%,
    rgba(5,5,5,.86) 100%
  ) !important;
}

/* karta — delikatniejsze tło */
.event-card,
.nm-card {
  background:
    radial-gradient(circle at 12% 12%, rgba(112,27,51,.32), transparent 44%),
    linear-gradient(145deg, #110609, #050505 76%) !important;
}

/* naprawa zbyt mocnych efektów po hover/starych animacjach */
.event-card:hover .nm-genre,
.nm-card:hover .nm-genre {
  transform: none !important;
  filter: none !important;
}


/* === CLEAN CORNER BADGE === */

.nm-card {
  position: relative;
}

.nm-card::after {
  content: attr(data-genre);
  position: absolute;
  top: 10px;
  left: 10px;
  font-size: 10px;
  letter-spacing: 1px;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(0,0,0,0.6);
  color: #fff;
  border: 1px solid rgba(255,255,255,0.2);
  backdrop-filter: blur(6px);
  text-transform: uppercase;
  z-index: 5;
}


/* === FINAL FIX: REMOVE BROKEN OVAL BADGE === */

/* 1. wycinamy wszystkie stare pseudo overlaye które robią owal */
.event-thumb-wrap::before,
.event-thumb-wrap::after {
    display: none !important;
}

/* 2. reset starego nm-genre który robił glitch */
.nm-genre {
    all: unset !important;
    display: inline-block !important;
    position: absolute !important;
    top: 10px !important;
    left: 10px !important;
    padding: 4px 10px !important;
    font-size: 10px !important;
    letter-spacing: 1px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255,255,255,0.25) !important;
    color: #fff !important;
    background: rgba(0,0,0,0.45) !important;
    backdrop-filter: blur(6px) !important;
    z-index: 5 !important;
}

/* 3. obraz ma być czysty */
.event-thumb {
    position: relative !important;
    z-index: 1 !important;
    display: block !important;
    width: 100% !important;
    object-fit: cover !important;
    border-radius: 22px !important;
}

/* 4. wrapper bez efektów glitch */
.event-thumb-wrap {
    position: relative !important;
    overflow: hidden !important;
    border-radius: 22px !important;
}

/* 5. WYŁĄCZ wszystkie stare eksperymentalne efekty */
.nm-card::before,
.nm-card::after {
    display: none !important;
}

/* 6. delikatny NOISEMAP look (bez psucia layoutu) */
.nm-card {
    background:
      linear-gradient(145deg, #14060a, #050505 80%) !important;
}


/* === HARD RESET EVENT CARD LAYER === */

/* 1. zabijamy WSZYSTKIE stare pseudo efekty */
.nm-card::before,
.nm-card::after,
.event-card::before,
.event-card::after,
.event-thumb-wrap::before,
.event-thumb-wrap::after {
    display: none !important;
    content: none !important;
}

/* 2. reset genre badge total */
.nm-genre {
    all: unset !important;
}

/* 3. budujemy badge od zera */
.nm-card {
    position: relative !important;
}

.nm-card[data-genre]::after {
    content: attr(data-genre);
    position: absolute;
    top: 10px;
    left: 10px;
    font-size: 10px;
    padding: 4px 8px;
    border-radius: 999px;
    background: rgba(0,0,0,0.6);
    color: #fff;
    border: 1px solid rgba(255,255,255,0.2);
    letter-spacing: 1px;
    text-transform: uppercase;
    z-index: 10;
}

/* 4. obraz – pełna kontrola */
.event-thumb,
.nm-card img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    object-fit: cover !important;
    border-radius: 22px !important;
    z-index: 1 !important;
}

/* 5. wrapper czysty */
.event-thumb-wrap {
    position: relative !important;
    overflow: hidden !important;
    border-radius: 22px !important;
}

/* 6. WYŁĄCZ stare efekty hover które psują layout */
.nm-card:hover,
.event-card:hover {
    transform: none !important;
    filter: none !important;
}

/* 7. przywrócenie clean wyglądu */
.nm-card {
    background:
      linear-gradient(145deg, #14060a, #050505 80%) !important;
}


/* === NOISEMAP FINAL LAYOUT V2 === */

.nm-card {
  margin-bottom: 18px;
}

.nm-card-inner {
  display: flex;
  gap: 14px;
  background: linear-gradient(145deg, #0b0b0b, #050505);
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.06);
}

/* LEWA MINIATURA */
.nm-thumb {
  width: 110px;
  min-width: 110px;
  height: 110px;
  overflow: hidden;
}

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

/* PRAWA TREŚĆ */
.nm-content {
  padding: 12px 12px 12px 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* DATA */
.nm-date {
  font-size: 11px;
  letter-spacing: 2px;
  color: #ff4d6d;
  margin-bottom: 4px;
}

/* TYTUŁ */
.nm-title {
  font-size: 18px;
  font-weight: 700;
  color: #fff;
  margin: 0;
}

/* META */
.nm-meta {
  font-size: 12px;
  color: rgba(255,255,255,0.6);
  margin-top: 4px;
}

/* BADGE */
.nm-card::after {
  content: attr(data-genre);
  position: absolute;
  top: 6px;
  left: 6px;
  font-size: 9px;
  padding: 3px 6px;
  border-radius: 999px;
  background: rgba(0,0,0,0.6);
  color: #fff;
  border: 1px solid rgba(255,255,255,0.2);
  text-transform: uppercase;
}

/* MOBILE OPT */
@media (max-width: 480px) {
  .nm-thumb {
    width: 90px;
    min-width: 90px;
    height: 90px;
  }

  .nm-title {
    font-size: 16px;
  }
}


/* === NOISEMAP THUMBNAILS V2: CONTAIN + BLUR BACKGROUND === */
.nm-thumb-v2{
  position:relative!important;
  overflow:hidden!important;
  border-radius:22px!important;
  background:#050505!important;
  aspect-ratio:1/1!important;
  isolation:isolate!important;
}
.nm-thumb-v2:before{
  content:""!important;
  position:absolute!important;
  inset:-28px!important;
  background-image:var(--nm-img)!important;
  background-size:cover!important;
  background-position:center!important;
  filter:blur(24px) brightness(.46) saturate(1.12) contrast(1.18)!important;
  transform:scale(1.2)!important;
  opacity:.92!important;
  z-index:0!important;
}
.nm-thumb-v2 img{
  position:relative!important;
  z-index:2!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  padding:8px!important;
  box-sizing:border-box!important;
  border-radius:18px!important;
  background:transparent!important;
}
.nm-thumb-v2:after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:3!important;
  pointer-events:none!important;
  background:
    radial-gradient(circle at center,transparent 42%,rgba(0,0,0,.45) 100%),
    repeating-linear-gradient(180deg,rgba(255,255,255,.035) 0 1px,transparent 1px 5px)!important;
  opacity:.42!important;
}

/* === THUMB V2 CLEAN === */
.nm-thumb-v2{position:relative;overflow:hidden;border-radius:22px;aspect-ratio:1/1;background:#050505}
.nm-thumb-v2:before{
content:"";position:absolute;inset:-20px;
background:var(--nm-img) center/cover no-repeat;
filter:blur(22px) brightness(.5);
transform:scale(1.2);z-index:0
}
.nm-thumb-v2 img{
position:relative;z-index:2;width:100%;height:100%;
object-fit:contain;padding:8px;border-radius:18px
}

/* === THUMB V2 CLEAN === */
.nm-thumb-v2{position:relative;overflow:hidden;border-radius:22px;aspect-ratio:1/1;background:#050505}
.nm-thumb-v2:before{
content:"";position:absolute;inset:-20px;
background:var(--nm-img) center/cover no-repeat;
filter:blur(22px) brightness(.5);
transform:scale(1.2);z-index:0
}
.nm-thumb-v2 img{
position:relative;z-index:2;width:100%;height:100%;
object-fit:contain;padding:8px;border-radius:18px
}

/* === SAFE: HIDE ONLY LEGACY TAB CONTAINERS === */
.tabs,
.tab-buttons,
.old-tabs,
.legacy-tabs {
  display: none !important;
}

/* upewnij się że nowy system zawsze widoczny */
.nm-main-tabs,
.nm-main-tab {
  display: flex !important;
}



/* === NOISEMAP CANONICAL MAIN TABS === */
#nm-main-tabs {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 14px !important;
  overflow-x: auto !important;
  align-items: center !important;
  padding: 14px 18px !important;
  background: #050505 !important;
  border-top: 1px solid rgba(255, 54, 91, .18) !important;
  border-bottom: 1px solid rgba(255, 54, 91, .18) !important;
  scrollbar-width: none !important;
}

#nm-main-tabs::-webkit-scrollbar {
  display: none !important;
}

#nm-main-tabs .nm-main-tab {
  appearance: none !important;
  -webkit-appearance: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 54px !important;
  padding: 0 28px !important;
  border: 1px solid rgba(255, 54, 91, .9) !important;
  border-radius: 18px !important;
  background: linear-gradient(180deg, #21070d 0%, #080808 100%) !important;
  color: #f5f1f1 !important;
  font-weight: 900 !important;
  font-size: 18px !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: 0 0 18px rgba(255, 54, 91, .25) !important;
  white-space: nowrap !important;
}

#nm-main-tabs .nm-main-tab.active {
  background: linear-gradient(180deg, #701b33 0%, #170307 100%) !important;
  color: #fff !important;
  box-shadow: 0 0 24px rgba(255, 54, 91, .55) !important;
}

#nm-youth-link,
a[href*="youth-workshops"],
a[href*="mlodziez"],
button[data-tab*="mlodziez"],
button[data-tab*="młodzież"],
[data-tab="mlodziez"],
[data-tab="młodzież"] {
  display: none !important;
}
/* === END NOISEMAP CANONICAL MAIN TABS === */


/* === NOISEMAP CANONICAL 3-TAB NAV === */
.tab-buttons,
.old-tabs,
.legacy-tabs,
.top-tabs,
.nav-tabs,
.nm-tab-unified,
#nm-youth-link,
a[href*="youth-workshops"],
a[href*="mlodziez"],
button[data-tab*="mlodziez"],
button[data-tab*="młodzież"],
[data-tab="mlodziez"],
[data-tab="młodzież"] {
  display: none !important;
}

#nm-main-tabs {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 14px !important;
  align-items: center !important;
  justify-content: center !important;
  overflow-x: auto !important;
  padding: 18px 18px 20px !important;
  margin: 0 auto !important;
  background: #050505 !important;
  border-bottom: 1px solid rgba(255, 45, 85, .22) !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 80 !important;
  scrollbar-width: none !important;
}

#nm-main-tabs::-webkit-scrollbar {
  display: none !important;
}

#nm-main-tabs .nm-main-tab {
  appearance: none !important;
  -webkit-appearance: none !important;
  border: 1px solid rgba(255, 45, 85, .88) !important;
  border-radius: 22px !important;
  background: linear-gradient(180deg, rgba(95, 8, 30, .72), rgba(12, 0, 5, .94)) !important;
  color: #fff !important;
  box-shadow: 0 0 18px rgba(255, 45, 85, .28) !important;
  font: 800 18px/1.1 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  letter-spacing: .01em !important;
  min-width: 138px !important;
  min-height: 54px !important;
  padding: 15px 24px !important;
  text-align: center !important;
  white-space: nowrap !important;
  text-decoration: none !important;
}

#nm-main-tabs .nm-main-tab.active {
  background: linear-gradient(180deg, rgba(130, 14, 45, .95), rgba(35, 0, 12, .98)) !important;
  border-color: rgba(255, 80, 115, 1) !important;
  box-shadow: 0 0 24px rgba(255, 45, 85, .52) !important;
}

@media (max-width: 640px) {
  #nm-main-tabs {
    justify-content: flex-start !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  #nm-main-tabs .nm-main-tab {
    min-width: 132px !important;
    min-height: 50px !important;
    font-size: 16px !important;
    padding: 14px 20px !important;
  }
}


/* NM_CANONICAL_FRONT_TABS_FINAL */
.tab-buttons,
.old-tabs,
.legacy-tabs,
.top-tabs,
.nav-tabs,
.nm-tab-unified,
#nm-youth-link,
a[href*="youth-workshops"],
a[href*="mlodziez"],
button[data-tab*="mlodziez"],
button[data-tab*="młodzież"],
[data-tab="mlodziez"],
[data-tab="młodzież"] {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

#nm-main-tabs {
  width: 100% !important;
  max-width: 1120px !important;
  margin: 18px auto 26px auto !important;
  padding: 0 16px !important;
  display: flex !important;
  justify-content: center !important;
  align-items: stretch !important;
  gap: 14px !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  box-sizing: border-box !important;
  scrollbar-width: none !important;
}

#nm-main-tabs::-webkit-scrollbar {
  display: none !important;
}

#nm-main-tabs .nm-main-tab {
  appearance: none !important;
  border: 1px solid rgba(255, 58, 82, .72) !important;
  background:
    radial-gradient(circle at top, rgba(255, 58, 82, .18), transparent 55%),
    linear-gradient(180deg, rgba(95, 10, 28, .72), rgba(8, 0, 3, .96)) !important;
  color: #f4eef0 !important;
  min-width: 168px !important;
  height: 58px !important;
  padding: 0 24px !important;
  border-radius: 20px !important;
  font: 800 22px/1.05 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  letter-spacing: .01em !important;
  text-align: center !important;
  text-decoration: none !important;
  box-shadow:
    0 0 22px rgba(255, 36, 70, .22),
    inset 0 0 18px rgba(255, 255, 255, .035) !important;
  white-space: nowrap !important;
  cursor: pointer !important;
}

#nm-main-tabs .nm-main-tab.active {
  border-color: rgba(255, 75, 98, 1) !important;
  color: #ffffff !important;
  background:
    radial-gradient(circle at top, rgba(255, 58, 82, .34), transparent 60%),
    linear-gradient(180deg, rgba(122, 12, 35, .92), rgba(14, 0, 5, .98)) !important;
  box-shadow:
    0 0 30px rgba(255, 45, 76, .42),
    inset 0 0 22px rgba(255, 255, 255, .055) !important;
}

@media (max-width: 760px) {
  #nm-main-tabs {
    justify-content: flex-start !important;
    gap: 10px !important;
    padding: 0 12px !important;
    margin-top: 14px !important;
  }

  #nm-main-tabs .nm-main-tab {
    min-width: 142px !important;
    height: 54px !important;
    padding: 0 18px !important;
    font-size: 19px !important;
    border-radius: 18px !important;
  }
}


/* NM_EVENT_DETAIL_PAGE_STYLE */
.nm-event-page {
  min-height: 100vh;
  background: #050505;
  color: #f4eef0;
  padding: 28px 18px;
}

.nm-back-link {
  color: #ff3a52;
  text-decoration: none;
  display: inline-block;
  margin-bottom: 24px;
}

.nm-event-detail {
  max-width: 920px;
  margin: 0 auto;
  border: 1px solid rgba(255,58,82,.35);
  border-radius: 24px;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(70,3,20,.45), rgba(5,5,5,.96));
}

.nm-event-detail-img {
  width: 100%;
  max-height: 420px;
  object-fit: cover;
  display: block;
}

.nm-event-detail-body {
  padding: 24px;
}

.nm-event-detail-body h1 {
  font-size: clamp(34px, 8vw, 72px);
  line-height: .95;
  margin: 8px 0 18px;
}

.nm-event-detail-date,
.nm-event-detail-tab {
  color: #ff3a52;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.nm-event-detail a {
  display: inline-block;
  margin: 12px 12px 0 0;
  color: #fff;
  border: 1px solid rgba(255,58,82,.7);
  border-radius: 999px;
  padding: 10px 16px;
  text-decoration: none;
}

/* NoiseMap: Kino niezależne link styled as main tab button */
#nm-events-root a.nm-kino-link,
a.nm-kino-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 26px;
  border-radius: 999px;
  border: 1px solid rgba(230, 57, 70, .78);
  background: rgba(8, 8, 8, .88);
  color: #f1f1f1 !important;
  text-decoration: none !important;
  font-family: "Space Mono", monospace;
  font-size: 18px;
  line-height: 1;
  box-shadow: 0 0 18px rgba(230, 57, 70, .10);
}

#nm-events-root a.nm-kino-link:hover,
a.nm-kino-link:hover {
  border-color: rgba(230, 57, 70, 1);
  color: #fff !important;
  box-shadow: 0 0 26px rgba(230, 57, 70, .18);
}

/* NoiseMap: Kino niezależne link styled as main tab button */
#nm-events-root a.nm-kino-link,
a.nm-kino-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 26px;
  border-radius: 999px;
  border: 1px solid rgba(230, 57, 70, .78);
  background: rgba(8, 8, 8, .88);
  color: #f1f1f1 !important;
  text-decoration: none !important;
  font-family: "Space Mono", monospace;
  font-size: 18px;
  line-height: 1;
  box-shadow: 0 0 18px rgba(230, 57, 70, .10);
}

#nm-events-root a.nm-kino-link:hover,
a.nm-kino-link:hover {
  border-color: rgba(230, 57, 70, 1);
  color: #fff !important;
  box-shadow: 0 0 26px rgba(230, 57, 70, .18);
}
