:root {
  --color-grupa:  #dc3545;
  --color-poziom: #25bdff;
  --color-tag: #3e4a7c;
  --color-cal-default: #dc3545; 
  --color-cal-academy: #3b82f6;
}

.badge-grupa { background-color: var(--color-grupa) !important; color: white; }
.badge-poziom { background-color: var(--color-poziom) !important; color: white; }
.badge-tag { background-color: var(--color-tag) !important; color: white; }

.btn-filter-grupa { background-color: var(--color-grupa) !important; color: white !important; border-color: var(--color-grupa) !important; }
.btn-filter-poziom { background-color: var(--color-poziom) !important; color: white !important; border-color: var(--color-poziom) !important; }
.btn-filter-tag { background-color: var(--color-tag) !important; color: white !important; border-color: var(--color-tag) !important; }

.fc-event-default {
  background-color: var(--color-cal-default) !important;
  border-color: var(--color-cal-default) !important;
}

.fc-event-academy {
  background-color: var(--color-cal-academy) !important;
  border-color: var(--color-cal-academy) !important;
}

a {
  color: var(--bs-dark-border-subtle);
  text-decoration: none;
  transition: color 0.2s ease;
}

a:hover {
  color: #ff4a57;
}

.container-bg-round-shadow {
  background: 
    url("../../assets/img/SVG/detail-cal-bg-top.svg") top / 210px no-repeat, 
    url("../../assets/img/SVG/detail-cal-bg-bottom.svg") bottom / 200px no-repeat, 
    #23263a;
  border-radius: 48px;
  box-shadow: 0px 0px 20px 8px rgba(0,0,0,0.33);
}

.dark-round-stroke {
  background: #1d2035;
  border-radius: 26px;
  border: 2px solid #2b2d41;
}

.search-container {
  max-width: 300px; 
  width: 100%;
}

.choices * {
  color: #212529 !important;
}
.choices__list--dropdown {
  max-height: 250px;
  overflow-y: auto !important;
  overscroll-behavior: contain;
}

.lista-wydarzen-lista-bg {
  background: #2b2d41;
  border: 2px solid #414042;
  border-radius: 28px;
  transition: border-color 0.2s;
}

.lista-wydarzen-lista-bg:hover {
  border-color: #55576b;
}

.list-event-name {
  position: relative;
  display: inline-block;
}

.list-event-name .event-title {
  color: white;
  text-decoration: none;
  transition: color 0.2s;
}

.list-event-name .event-title:hover {
  color: #ff4a57;
  text-decoration: underline;
}

.godzina-wydarzenia {
  color: rgb(255,74,87);
  font-weight: 500;
  text-wrap: nowrap;
}

.badge {
  font-weight: 500;
  letter-spacing: 0.5px;
}
/* ==== Klasy zastępujące inline style (CSP bez 'unsafe-inline' dla style-src) ==== */
body.page-bg {
  background: url("../img/SVG/bg-checkerboard.svg"), rgba(43, 45, 65, 0.95);
  background-repeat: repeat;
  background-size: 150px;
  background-attachment: fixed;
}
.logo-securitum { max-width: 180px; width: 100%; height: auto; }
.icon-nudge-up { margin-bottom: 4px; }
.cursor-pointer { cursor: pointer; }
.no-select { user-select: none; }
.onion-toggle-img { width: 40px; }
.info-icon { width: 16px; height: 16px; cursor: pointer; outline: none; }
.skeleton-dim { opacity: 0.6; }
.skeleton-box { width: 100px; height: 80px; background-color: #3b3e54; }
.badge-session { font-size: 0.7em; }
.badge-onion { font-size: 0.85em; }
.onion-icon-img { width: 120px; }
.date-box { min-width: 120px; }
.meta-label { min-width: 60px; font-size: 0.9em; }
.btn-register,
.btn-register:hover,
.btn-register:focus,
.btn-register:active { color: #fff !important; }
.btn-register-default,
.btn-register-default:hover,
.btn-register-default:focus,
.btn-register-default:active { background-color: #dc3545; border-color: #dc3545; }
.btn-register-academy,
.btn-register-academy:hover,
.btn-register-academy:focus,
.btn-register-academy:active { background-color: #3b82f6; border-color: #3b82f6; }
