/*
 * Reusable FBS components.
 * Keep page-specific layout out of this file. Scope all new FBS pages with
 * .fbs-page (the existing page can continue using .fbs-home-v3).
 */

.fbs-page,
.fbs-home-v3 {
  --fbs-navy: #061a30;
  --fbs-navy-2: #123a61;
  --fbs-gold: #efb33d;
  --fbs-gold-dark: #a66a00;
  --fbs-paper: #f3f6f8;
  --fbs-line: #d9e1e8;
  --fbs-muted: #566678;
}

.fbs-page .fbs-button,
.fbs-home-v3 .fbs-button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 20px;
  border: 1px solid transparent;
  border-radius: 4px;
  font: inherit;
  font-size: var(--fbs-scale-15);
  font-weight: 800;
  letter-spacing: .02em;
  line-height: 1.2;
  text-decoration: none;
  text-transform: uppercase;
  transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}

.fbs-page .fbs-button:hover,
.fbs-home-v3 .fbs-button:hover { transform: translateY(-1px); }
.fbs-page .fbs-button--gold,
.fbs-home-v3 .fbs-button--gold { background: var(--fbs-gold); border-color: var(--fbs-gold); color: var(--fbs-navy); }
.fbs-page .fbs-button--navy,
.fbs-home-v3 .fbs-button--navy { background: var(--fbs-navy); border-color: var(--fbs-navy); color: #fff; }
.fbs-page .fbs-button--outline,
.fbs-home-v3 .fbs-button--outline { background: transparent; border-color: currentColor; color: currentColor; }

.fbs-page .fbs-card,
.fbs-home-v3 .fbs-card {
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--fbs-line);
  border-radius: 10px;
  box-shadow: 0 10px 26px rgba(6, 26, 48, .07);
}

.fbs-page .fbs-tabs [role="tab"],
.fbs-home-v3 .fbs-tabs [role="tab"] { cursor: pointer; }
.fbs-page .fbs-tabs [role="tab"]:focus-visible,
.fbs-home-v3 .fbs-tabs [role="tab"]:focus-visible,
.fbs-page .fbs-button:focus-visible,
.fbs-home-v3 .fbs-button:focus-visible { outline: 3px solid rgba(239, 179, 61, .55); outline-offset: 3px; }

.fbs-page .fbs-form-shell,
.fbs-home-v3 .fbs-form-shell { background: #fff; border-radius: 12px; box-shadow: 0 15px 38px rgba(6, 26, 48, .12); }

@media (max-width: 767px) {
  .fbs-page .fbs-button,
  .fbs-home-v3 .fbs-button { width: 100%; min-height: 44px; font-size: var(--fbs-scale-13); }
}
