body {
  background-color: #121212;
  color: #fff;
  padding-top: 70px;
}

html, body {
  height: 100%;
}
body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
main {
  flex: 1;
}

.news-body p { margin-bottom: .9rem; color:#ddd; }
.news-body h2, .news-body h3 { margin-top:1.2rem; margin-bottom:.6rem; }
.news-body a { color:#ff6b6b; text-decoration: underline; }
.news-body ul { margin-bottom: .9rem; }

.has-fixed-header { padding-top: 70px; }
.navbar { background:#1e1e1e; }
.navbar-brand { color:#ff4444 !important; font-weight:700; }
.nav-link { color:#fff !important; }
.nav-link:hover { color:#ff4444 !important; }
.navbar {
  background: #1e1e1e;
}
.navbar-brand {
  color: #ff4444 !important;
  font-weight: bold;
}
.nav-link {
  color: #fff !important;
}
.nav-link:hover {
  color: #ff4444 !important;
}

/* Каталог */
.game-card {
  position: relative;
  background: #1e1e1e;
  border-radius: 15px;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  display: block;
}
.game-img {
  height: 350px;
  object-fit: cover;
  width: 100%;
  background: #222;
}
.game-info {
  position: absolute;
  bottom: 0;
  width: 100%;
  background: linear-gradient(to top, rgba(0,0,0,.9), rgba(0,0,0,.3), rgba(0,0,0,0));
  padding: 10px;
}
.game-info h5 {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  color: #fff;
  text-shadow: 0 0 5px rgba(0,0,0,.8);
}
.game-info p {
  margin: 0;
  font-size: .9rem;
  color: #ccc;
}

/* Фильтр */
.filter-panel {
  background: #1a1a1a;
  padding: 20px;
  border-radius: 10px;
  margin-bottom: 15px;
}
.filter-panel h5 {
  margin-bottom: 15px;
  color: #ff4444;
}
.btn-toggle {
  background: #2a2a2a;
  border: none;
  margin: 5px;
  color: #fff;
}
.btn-toggle.active {
  background: #ff4444;
  color: #fff;
}
.badge-toggle {
  display: inline-block;
  text-decoration: none;
  padding: 8px 15px;
  margin: 5px;
  border-radius: 20px;
  background: #2a2a2a;
  color: #fff;
  cursor: pointer;
  transition: .2s;
}
.badge-toggle.active {
  background: #ff4444;
  color: #fff;
}

/* Адаптив для фильтра */
@media (max-width: 991.98px) {
  .filter-col { display: none; }
  .filter-btn { display: block; margin-bottom: 15px; }
  .game-img { height: 250px; }
}
@media (min-width: 992px) {
  .filter-btn { display: none; }
}

/* Внутренняя страница */
.container-narrow { max-width: 1000px; }
.card-box {
  background: #1a1a1a;
  border-radius: 16px;
  padding: 20px;
}
.badge-studio {
  background: #2a2a2a;
  color: #fff;
  border-radius: 999px;
  padding: .35rem .75rem;
}
.btn-red {
  background: #ff4444;
  border: none;
}
.btn-red:hover { background: #cc0000; }
.btn-ghost {
  background: #2a2a2a;
  color: #fff;
  border: none;
}
.btn-ghost:hover {
  background: #3a3a3a;
  color: #fff;
}
.section { margin-top: 20px; }
.muted{color:#bdbdbd}
    a.text-muted:hover{color:#fff}
.shots img {
  width: 300px;
  height: 300px;
  object-fit: cover;
  border-radius: 12px;
  box-shadow: 0 6px 18px rgba(0,0,0,.35);
}
@media (max-width:575.98px) {
  .shots img {
    width: 100%;
    height: 260px;
  }
}
.modal-content { background: #1a1a1a; color: #fff; }
.modal-header { border-bottom-color: #2a2a2a; }
.modal-footer { border-top-color: #2a2a2a; }
.code {
  background: #0f0f0f;
  border-radius: 8px;
  padding: 10px 12px;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
}
.captcha-wrap{
  background:#1a1a1a;
  border:1px solid #2a2a2a;
  border-radius:10px;
  padding:12px;
  display:inline-block;   /* вместо 100% */
}

.smart-captcha{
  width:300px;            /* ограничиваем */
  max-width:100%;         /* чтобы не ломалось на мобилке */
}
.smart-captcha iframe{
  width:300px !important; /* iframe такой же ширины */
  max-width:100% !important;
}
