/*
 | ForCaptcha custom theme stylesheet.
 | Aligned with forcaptcha.com design, colors, and typography.
 */
body.theme-forcaptcha {
  --cms-bg: #ffffff;
  --cms-bg-page: #ffffff;
  --cms-surface: #ffffff;
  --cms-primary: #002147;
  --cms-primary-dark: #001b39;
  --cms-secondary: #ffc107;
  --cms-ink: #002147;
  --cms-slate-200: #dee2e6;
  --cms-text-muted: #6c757d;
  --cms-gradient: none;
  --cms-radius: 0.25rem;
  --cms-font: "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --cms-hero-text: #ffffff;
  --cms-hero-muted: #e0e6ed;
  --cms-hero-eyebrow: #ffc107;
  --cms-on-primary: #ffffff;
  --cms-btn-radius: 0.25rem;
  --color-primary: #002147;
  background: #ffffff;
  color: #002147;
  font-family: var(--cms-font);
}

body.theme-forcaptcha .cms-main {
  padding-bottom: 0;
}

body.theme-forcaptcha .cms-main > .cms-block:last-child {
  margin-bottom: 0;
}

body.theme-forcaptcha .cms-header {
  background: #ffffff;
  border-bottom: 1px solid #e9ecef;
}

body.theme-forcaptcha .cms-brand,
body.theme-forcaptcha .cms-nav-link {
  color: #002147;
  font-weight: 600;
}

body.theme-forcaptcha .cms-nav-link:hover,
body.theme-forcaptcha .cms-nav-link[aria-current="page"] {
  color: #002147;
}

/* Primary Navy Blue Buttons */
body.theme-forcaptcha .cms-btn-primary,
body.theme-forcaptcha .btn-primary {
  background-color: #002147 !important;
  border-color: #002147 !important;
  color: #ffffff !important;
}

body.theme-forcaptcha .cms-btn-primary:hover,
body.theme-forcaptcha .btn-primary:hover {
  background-color: #001b39 !important;
  border-color: #001936 !important;
}

/* Warning / Gold Accent Buttons */
body.theme-forcaptcha .btn-warning,
body.theme-forcaptcha .btn-outline-warning {
  background-color: #ffc107 !important;
  border-color: #ffc107 !important;
  color: #002147 !important;
  font-weight: 700;
}

body.theme-forcaptcha .btn-outline-warning {
  background-color: transparent !important;
  color: #ffffff !important;
  border-color: #ffc107 !important;
}

body.theme-forcaptcha .btn-outline-warning:hover {
  background-color: #ffc107 !important;
  color: #002147 !important;
}

/* Dark Navy Sections (.bg-primary) */
body.theme-forcaptcha .bg-primary,
body.theme-forcaptcha section.bg-primary {
  background-color: #002147 !important;
  color: #ffffff !important;
}

body.theme-forcaptcha .bg-primary h1,
body.theme-forcaptcha .bg-primary h2,
body.theme-forcaptcha .bg-primary h3,
body.theme-forcaptcha .bg-primary h4,
body.theme-forcaptcha .bg-primary h5,
body.theme-forcaptcha .bg-primary h6,
body.theme-forcaptcha .bg-primary p {
  color: #ffffff !important;
}

body.theme-forcaptcha .bg-primary .text-warning {
  color: #ffc107 !important;
}

body.theme-forcaptcha .bg-primary .text-aqua {
  color: #17a2b8 !important;
}

/* Text primary utility */
body.theme-forcaptcha .text-primary {
  color: #002147 !important;
}

/* Hero section styling */
body.theme-forcaptcha .cms-hero {
  background: #002147;
  color: #ffffff;
}

body.theme-forcaptcha .cms-hero h1,
body.theme-forcaptcha .cms-hero p {
  color: #ffffff !important;
}

/* FAQ accordion styling for forcaptcha */
body.theme-forcaptcha #faq .card {
  border: 1px solid rgba(255, 255, 255, 0.15);
  background-color: #ffffff;
  border-radius: 0.35rem;
  margin-bottom: 1rem;
}

body.theme-forcaptcha #faq .card-header a {
  color: #002147 !important;
  font-weight: 600;
  padding: 1rem 1.25rem;
  display: block;
}

body.theme-forcaptcha #faq .card-header a.active,
body.theme-forcaptcha #faq .card-header a:hover {
  background-color: #002147 !important;
  color: #ffffff !important;
  border-radius: 0.35rem;
}

body.theme-forcaptcha .py-6 { padding-top: 4rem; padding-bottom: 4rem; }
body.theme-forcaptcha .f-150 { font-size: 1.5rem; }
