/* Out-of-portal auth pages — aligned with live onebulletin.com index + signup.html */

.public-portal {
  background: #f0f2f3;
  color: #333;
  font-family: 'Montserrat', sans-serif;
  scroll-behavior: auto;
}

/* Tailwind v4 defines `.collapse { visibility: collapse }`, which hides Bootstrap nav links. */
.public-portal .navbar-collapse.collapse,
.public-portal .navbar-collapse.collapse .navbar-nav,
.public-portal .navbar-collapse.collapse .nav-link {
  visibility: visible !important;
}

@media (min-width: 768px) {
  .public-portal .navbar-expand-md .navbar-collapse.collapse {
    display: flex !important;
    flex-basis: auto;
    height: auto !important;
  }
}

@media (max-width: 767.98px) {
  .public-portal .navbar-expand-md .navbar-collapse.collapse:not(.show) {
    display: none !important;
  }
}

body.public-portal {
  background: #f0f2f3;
  color: #333;
  font-family: 'Montserrat', sans-serif;
  scroll-behavior: auto;
}

/* signup.html inline: tighter hero padding on auth pages (backgrounds from style2.css) */
.public-portal .home-section.signup-hero,
.public-portal .pricing-section.signup-hero {
  padding: 120px 0 80px;
  color: #fff;
  text-align: center;
}

.public-portal .signup-card {
  max-width: 560px;
  margin: 0 auto;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
  border: none;
  transform: translateY(-80px);
}

.public-portal .btn-brand {
  background: #3ad58b;
  border-color: #3ad58b;
  color: #0c3f29;
  font-weight: 700;
}

.public-portal .btn-brand:hover,
.public-portal .btn-brand:focus {
  background: #2dc07a;
  border-color: #2dc07a;
  color: #0c3f29;
}

.public-portal .form-label {
  font-weight: 600;
}

.public-portal .portal-muted-link {
  color: #2f915f;
  font-weight: 600;
  text-decoration: none;
}

.public-portal .portal-muted-link:hover {
  color: #3ab074;
  text-decoration: underline;
}

.public-portal .navbar-custom .nav-link.active {
  font-weight: 700;
}

.public-portal .portal-signout-page {
  background: #213246;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 120px 1rem 3rem;
  color: #fff;
  text-align: center;
}

.public-portal .brand-accent {
  background: #1895d5;
  color: #fff;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  border-bottom: none;
}

.public-portal .bottom-txt {
  line-height: 1.5;
}

/* index.html inline — login modal */
.public-portal .modal-login .modal-content {
  border: none;
  border-radius: 14px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
}

.public-portal .modal-login .modal-header {
  border-bottom: none;
  background: #1895d5;
  color: #fff;
  border-top-left-radius: 14px;
  border-top-right-radius: 14px;
  padding: 16px 20px;
}

.public-portal .modal-login .modal-title {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  text-transform: none;
  letter-spacing: 0;
}

.public-portal .modal-login .btn-close {
  filter: invert(1);
}

.public-portal .modal-login .modal-body {
  padding: 22px 24px 10px;
}

.public-portal .modal-login label {
  font-weight: 600;
  text-transform: none;
}

.public-portal .modal-login input.form-control {
  border-radius: 10px;
  padding: 10px 12px;
  text-transform: none !important;
}

.public-portal .modal-login .btn-primary {
  background: #3ad58b;
  border-color: #3ad58b;
  color: #0c3f29;
  border-radius: 10px;
  font-weight: 700;
}

.public-portal .modal-login .btn-primary:hover,
.public-portal .modal-login .btn-primary:focus {
  background: #2dc07a;
  border-color: #2dc07a;
  color: #0c3f29;
}

.public-portal .modal-login .btn-link,
.public-portal .modal-login #forgotPasswordLink,
.public-portal .modal-login #backToLoginLink {
  color: #2f915f !important;
  font-weight: 600;
  font-size: 12px;
  text-decoration: none;
  text-transform: none;
}

.public-portal .modal-login .btn-link:hover,
.public-portal .modal-login #forgotPasswordLink:hover,
.public-portal .modal-login #backToLoginLink:hover {
  color: #3ab074 !important;
  text-decoration: underline;
}
