:root {
  --gym-bg: #0b0f14;
  --gym-surface: #121922;
  --gym-accent: #e63946;
  --gym-accent-hover: #ff5a66;
  --gym-text: #e8eef5;
  --gym-muted: #9aa8b8;
  --gym-border: rgba(255, 255, 255, 0.08);
}

body {
  font-family: "Segoe UI", system-ui, -apple-system, sans-serif;
  background: var(--gym-bg);
  color: var(--gym-text);
}

.navbar-gym {
  background: rgba(11, 15, 20, 0.92);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--gym-border);
}

.navbar-gym .nav-link {
  color: var(--gym-muted);
  font-weight: 500;
}

.navbar-gym .nav-link:hover,
.navbar-gym .nav-link:focus {
  color: var(--gym-text);
}

.brand-gym {
  font-weight: 800;
  letter-spacing: 0.04em;
  color: var(--gym-text) !important;
}

.brand-gym span {
  color: var(--gym-accent);
}

.hero-gym {
  position: relative;
  min-height: 88vh;
  display: flex;
  align-items: center;
  background: linear-gradient(120deg, rgba(11, 15, 20, 0.92) 0%, rgba(11, 15, 20, 0.65) 45%, rgba(11, 15, 20, 0.35) 100%),
    url("https://images.unsplash.com/photo-1534438327276-14e5300c3a48?auto=format&fit=crop&w=2000&q=80") center/cover no-repeat;
}

.hero-gym h1 {
  font-weight: 800;
  letter-spacing: -0.02em;
}

.btn-accent {
  background: var(--gym-accent);
  border: none;
  color: #fff;
  font-weight: 600;
  padding: 0.65rem 1.4rem;
}

.btn-accent:hover {
  background: var(--gym-accent-hover);
  color: #fff;
}

.btn-outline-gym {
  border: 1px solid var(--gym-border);
  color: var(--gym-text);
}

.btn-outline-gym:hover {
  border-color: var(--gym-accent);
  color: #fff;
  background: rgba(230, 57, 70, 0.12);
}

.section-title {
  font-weight: 800;
  letter-spacing: -0.02em;
}

.card-gym {
  background: var(--gym-surface);
  border: 1px solid var(--gym-border);
  border-radius: 1rem;
  overflow: hidden;
}

.card-gym img {
  height: 220px;
  object-fit: cover;
}

.plan-card {
  background: var(--gym-surface);
  border: 1px solid var(--gym-border);
  border-radius: 1rem;
  padding: 1.75rem;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.plan-card.featured {
  border-color: rgba(230, 57, 70, 0.55);
  box-shadow: 0 0 0 1px rgba(230, 57, 70, 0.2);
}

.plan-price {
  font-size: 2rem;
  font-weight: 800;
  color: var(--gym-accent);
}

.plan-list {
  color: var(--gym-muted);
  font-size: 0.95rem;
}

.plan-list li {
  margin-bottom: 0.45rem;
}

.form-gym {
  background: var(--gym-surface);
  border: 1px solid var(--gym-border);
  border-radius: 1rem;
  padding: 2rem;
}

.form-gym .form-control,
.form-gym .form-select {
  background: #0d1218;
  border: 1px solid var(--gym-border);
  color: var(--gym-text);
}

.form-gym .form-control:focus,
.form-gym .form-select:focus {
  border-color: var(--gym-accent);
  box-shadow: 0 0 0 0.2rem rgba(230, 57, 70, 0.2);
  color: var(--gym-text);
}

.form-gym label {
  color: var(--gym-muted);
  font-size: 0.9rem;
}

footer.footer-gym {
  border-top: 1px solid var(--gym-border);
  color: var(--gym-muted);
  font-size: 0.9rem;
}

.text-muted-gym {
  color: var(--gym-muted) !important;
}
