/* BODY + GLOBAL THEME (look type app de rencontre) */
.bf-body {
  min-height: 100vh;
  padding-top: 76px;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: radial-gradient(circle at top left, #4f46e5 0, #020617 45%, #020617 100%);
  color: #e5e7eb;
}

/* Navbar */
.bf-navbar {
  background: rgba(15,23,42,0.96);
  backdrop-filter: blur(20px);
  border-bottom: 1px solid rgba(148,163,184,0.35);
}
.navbar-brand span {
  color: #f9fafb;
}
.navbar .nav-link {
  color: #9ca3af;
}
.navbar .nav-link:hover {
  color: #ffffff;
}

/* Top ad strip */
.app-ad-top {
  margin-top: 56px;
  padding: 4px 0;
  border-bottom: 1px solid rgba(148,163,184,0.25);
  background: linear-gradient(to right, rgba(15,23,42,0.98), rgba(236,72,153,0.65));
  color: #e5e7eb;
}

/* Layout */
.bf-main {
  padding-top: 18px;
  padding-bottom: 32px;
}

/* Cards */
.card {
  border-radius: 18px;
  border: 1px solid rgba(148,163,184,0.35);
  background: radial-gradient(circle at top left, rgba(79,70,229,0.30), rgba(15,23,42,0.98));
  box-shadow: 0 24px 60px rgba(15,23,42,0.9);
  color: #e5e7eb;
}
.card .form-control,
.card .form-select {
  background-color: rgba(15,23,42,0.9);
  border-color: rgba(148,163,184,0.7);
  color: #e5e7eb;
}
.card .form-control::placeholder {
  color: #6b7280;
}
.card .form-control:focus,
.card .form-select:focus {
  box-shadow: 0 0 0 1px #6366f1;
}

/* Buttons */
.btn {
  border-radius: .7rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  transition: all 0.16s ease-out;
}
.btn-primary {
  background: linear-gradient(135deg, #6366f1, #ec4899);
  border: none;
}
.btn-primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 32px rgba(129,140,248,0.7);
}
.btn-success {
  background: linear-gradient(135deg, #22c55e, #14b8a6);
  border: none;
}
.btn-success:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 32px rgba(34,197,94,0.6);
}
.btn-outline-light,
.btn-outline-secondary,
.btn-outline-primary {
  border-color: rgba(148,163,184,0.7);
  color: #e5e7eb;
}
.btn-outline-light:hover,
.btn-outline-secondary:hover,
.btn-outline-primary:hover {
  background-color: rgba(148,163,184,0.16);
}

/* Input group icons */
.input-group-text {
  cursor: pointer;
  background-color: rgba(15,23,42,0.9);
  border-color: rgba(148,163,184,0.7);
  color: #9ca3af;
}

/* Hero */
.bf-hero-tag {
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: .7rem;
  color: #a5b4fc;
}
.bf-hero-title {
  color: #f9fafb;
}
.bf-hero-sub {
  color: #e5e7eb;
}
.bf-hero-photo img {
  object-fit: cover;
  border-radius: 22px;
  box-shadow: 0 24px 60px rgba(15,23,42,0.9);
}

/* Auth card */
.bf-auth-card {
  max-width: 480px;
  margin-left: auto;
  margin-right: auto;
}

/* Nav-pills login/register : onglets plats, modernes */
.bf-auth-tabs .nav-link {
  border-radius: 0;
  color: #e5e7eb;
  background-color: transparent;
  border-bottom: 2px solid transparent;
}
.bf-auth-tabs .nav-link.active {
  background-color: transparent;
  border-bottom-color: #ec4899;
  color: #f9fafb;
  font-weight: 600;
}

/* Sections feature/pricing */
#features .card,
#pricing .card {
  background: radial-gradient(circle at top left, rgba(79,70,229,0.45), rgba(15,23,42,0.98));
}

/* Text / links sur fond sombre */
.text-muted {
  color: #9ca3af !important;
}
.link-light {
  color: #e5e7eb;
}
.link-light:hover {
  color: #ffffff;
}

/* Responsive */
@media (max-width: 767.98px) {
  .bf-auth-card {
    max-width: 100%;
  }
}
