/* ===== Theme overrides (Bootstrap 5) ===== */
:root {
  --brand-ribbon: #1fd12e;
  --brand-yellow: #ffbe01;
  --brand-green: #239304;
}

body {
  background-color: #000;
  font-family: "Raleway", var(--bs-body-font-family);
}

/* Navbar theme */
.navbar.navbar-dark {
  background-color: rgba(0, 0, 0, 1) !important;
  border-bottom: 2px solid var(--brand-yellow);
}

.navbar-text-logo {
  color: #fff !important;
  font-size: 1.25rem;
  font-weight: 700;
  text-decoration: none;
}

@media (min-width: 992px) {
  .navbar-text-logo {
    font-size: 1.5rem;
  }
}

.navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* Age verification modal — свои классы, без Bootstrap = одна рамка и центрирование */
#age-modal.age-modal-custom {
  position: fixed !important;
  inset: 0 !important;
  z-index: 10050 !important;
  overflow-x: hidden;
  overflow-y: auto;
  background: rgba(0, 0, 0, 0.82) !important;
}

#age-modal .age-modal-backdrop {
  position: fixed !important;
  inset: 0 !important;
  background: rgba(0, 0, 0, 0.82) !important;
  pointer-events: none;
}

#age-modal .age-modal-dialog {
  position: relative;
  z-index: 10051;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}

#age-modal .age-modal-content {
  background-color: #111;
  color: #fff;
  border: 2px solid var(--brand-yellow);
  border-radius: 0.5rem;
  min-width: 320px;
  max-width: 440px;
  box-shadow: none;
  outline: none;
}

#age-modal .age-modal-body {
  padding: 1.5rem 1.5rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

#age-modal .age-modal-icon {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: #e60000;
  color: #fff;
  font-weight: 800;
  font-size: 1.125rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1rem;
}

#age-modal .age-modal-title {
  color: #fff;
  font-size: 1.25rem;
  font-weight: 700;
  text-transform: uppercase;
  margin: 0 0 0.5rem;
}

#age-modal .age-modal-text {
  color: #fff;
  margin: 0 0 1.5rem;
  line-height: 1.5;
}

#age-modal .age-modal-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: center;
}

#age-modal .age-modal-content .btn-success {
  background: linear-gradient(to right, #23e21f 0%, var(--brand-green) 100%);
  border: none;
}

#age-modal .age-modal-content .btn-outline-secondary {
  color: #ccc;
  border-color: #666;
}

#age-modal .age-modal-content .btn-outline-secondary:hover {
  background-color: #333;
  color: #fff;
}

/* Cookie bar: ensure visible when shown, below age modal */
.cookie-bar {
  display: block;
  z-index: 9999;
}

/* Content sections: links on dark background */
.section-inner__content.content a,
.content a {
  color: var(--brand-yellow);
  text-decoration: underline;
}

.section-inner__content.content a:hover,
.content a:hover {
  color: #fff;
}

.section-inner__content.content a:visited,
.content a:visited {
  color: #ffd700;
}

/* Footer logo text */
.footer-text-logo {
  color: #fff !important;
  font-size: 1.125rem;
  font-weight: 700;
}

@media (min-width: 992px) {
  .footer-text-logo {
    font-size: 1.25rem;
  }
}

/* Cookie bar border (Bootstrap handles layout) */
.cookie-bar {
  border-top: 2px solid var(--brand-yellow) !important;
}

/* Hero image on mobile */
@media (max-width: 768px) {
  .hero-bg-image {
    object-position: center right;
  }
}

/* Custom disclosure modals (Advertiser / 18+ T&Cs) - not Bootstrap */
.modal.modal--disc {
  position: fixed;
  z-index: 10000;
  display: none;
}

.modal.modal--disc .modal-bg {
  display: none;
}

.modal.modal--disc .modal-body {
  position: relative;
  z-index: 10001;
  background-color: #fff;
  color: #000;
  max-width: 500px;
  width: 20vw;
  max-height: 70vh;
  overflow-y: auto;
  padding: 1.25rem;
  border-radius: 0.5rem;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}

.modal.modal--disc .modal-body .svg-cross {
  fill: #000;
  transition: fill 0.2s ease;
}

.modal.modal--disc .modal-body .svg-cross:hover {
  fill: #666;
}

@media (max-width: 768px) {
  .modal.modal--disc .modal-body {
    width: calc(100vw - 40px);
    max-width: calc(100vw - 40px);
  }
}

/* Bundle compatibility: ribbons, table score, etc. */
.brand-ribbon,
.topslotsinuk-brand-ribbon {
  background: var(--brand-ribbon);
  color: #fff;
}

.table-cell--score .score {
  color: #000;
}

/* GambleAware logo: white on dark footer (official SVG is orange) */
.gambleaware-logo-footer {
  height: 48px;
  width: auto;
  max-width: 156px;
  object-fit: contain;
  filter: brightness(0) invert(1);
}

/* Hide third-party cookie notices */
.cookie-notice-container,
#cookie-notice {
  display: none !important;
}
