/* SoftPhase — Bootstrap dark-theme overrides */

:root {
  --bs-body-bg: #050816;
  --bs-body-color: #ffffff;
  --bs-border-color: rgba(148, 163, 184, 0.12);
  --bs-primary: #2563EB;
  --bs-link-color: #00E5FF;
  --bs-link-hover-color: #67e8f9;
}

body {
  background-color: var(--bs-body-bg) !important;
  color: var(--bs-body-color) !important;
}

a {
  text-decoration: none;
}

.container,
.container-fluid,
.container-lg,
.container-md,
.container-sm,
.container-xl,
.container-xxl {
  --bs-gutter-x: 0;
}

.row {
  --bs-gutter-x: 1.5rem;
}

.btn:focus-visible,
.form-control-sp:focus-visible,
.filter-btn:focus-visible,
.nav-toggle:focus-visible,
.back-to-top:focus-visible {
  outline: 2px solid #00E5FF;
  outline-offset: 3px;
}

/* Prevent Bootstrap button resets fighting our design */
.btn.btn-primary,
.btn.btn-outline,
.btn.btn-ghost,
.btn.btn-sm,
.btn.btn-lg {
  --bs-btn-border-width: 0;
  border: none;
  line-height: 1.4;
}

.btn.btn-outline {
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.nav-open {
  overflow: hidden;
}

body.nav-open .navbar-sp {
  z-index: 1002;
}

img[loading="lazy"] {
  content-visibility: auto;
}

/* Selection-friendly form placeholders */
::placeholder {
  color: #64748B;
  opacity: 1;
}

/* Swiper inside dark UI */
.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal {
  bottom: 0;
}
