/* global.css – BrightPitch universal style fix */
html, body {
  max-width: 100%;
  overflow-x: hidden;
  overflow-y: scroll;
  font-family: 'Segoe UI', sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-smooth: always;
  color: #333;
  background-color: #f9f9fc;
  transition: padding-right 0.3s ease;
}

body.nav-open {
  overflow: hidden !important;
  padding-right: 0 !important;
}
.navbar-nav .nav-link:focus,
.navbar-nav .nav-link:active,
.navbar-nav .nav-link.active {
  font-weight: normal !important;
  outline: none !important;
  box-shadow: none !important;
  background: transparent !important;
}
.navbar-nav .nav-link.dropdown-toggle {
  font-weight: 500;
  padding-right: 1rem;
  padding-left: 1rem;
  line-height: 1.5;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.navbar-nav .nav-link.dropdown-toggle.active,
.navbar-nav .nav-link.dropdown-toggle:focus,
.navbar-nav .nav-link.dropdown-toggle:active {
  font-weight: 500 !important;
  outline: none !important;
  box-shadow: none !important;
  background: transparent !important;
}
/* Fix navbar shift caused by scrollbar changes */
html {
  overflow-y: scroll;
}
body.nav-open {
  overflow: hidden !important;
  padding-right: 0 !important;
}
/* --- NAVBAR CONSISTENCY --- */
.navbar .container,
.navbar .container-lg,
.navbar .container-xl,
.navbar .container-xxl {
  max-width: 1320px !important;              /* Bootstrap 5 xxl width */
  padding-left: var(--bs-gutter-x, .75rem) !important;
  padding-right: var(--bs-gutter-x, .75rem) !important;
}

/* --- SCROLLBAR & JITTER GUARD --- */
:root { scrollbar-gutter: stable both-edges; }
html { overflow-y: scroll; }                  /* reserve scrollbar width */
html, body { overflow-x: hidden; }            /* avoid horizontal jiggle */
body { padding-right: 0 !important; }         /* no phantom padding */

/* --- STRIPE EMBED STABILITY --- */
.stripe-wrapper { min-height: 780px; }        /* reserve height before async load */
stripe-pricing-table { display: block; }

/* --- HERO POLISH --- */
.hero h1 { margin-top: 0; }                   /* keep top edge tight under navbar */

/* --- UTILITIES USED ON THE PAGE --- */
.btn-pill { background:#4f46e5; color:#fff; border-radius:30px; padding:.7rem 1.6rem; border:none; }
.card-lite { background:#fff; border:0; border-radius:12px; box-shadow:0 2px 12px rgba(0,0,0,.06); padding:2rem; height:100%; }
.card-lite h3 { font-size:1.25rem; font-weight:700; }
.muted { color:#4b5563; }
.list-check { list-style:none; padding-left:0; }
.list-check li::before { content:"✔"; margin-right:.5rem; color:#16a34a; }
