/* reg-enterprise.css — trust/enterprise polish for registration pages.
   Uses the page's own --primary-color / --secondary-color / --accent-color so the
   same file works on every site (green on AAL, blue on ATB). Loaded after the
   inline template styles so it wins on specificity ties. */

body { background: #f4f6fa !important; }

.enterprise-container { padding: 56px 16px 72px !important; }

.enterprise-card {
  max-width: 720px !important;
  margin: 0 auto !important;
  border-radius: 22px !important;
  border: 1px solid rgba(15, 23, 42, 0.08) !important;
  background: #fff !important;
  box-shadow:
    0 1px 2px rgba(15, 23, 42, 0.04),
    0 12px 28px -8px rgba(15, 23, 42, 0.14),
    0 40px 80px -24px rgba(15, 23, 42, 0.18) !important;
  overflow: hidden !important;
  position: relative;
}
.enterprise-card::before {            /* hairline top highlight */
  content: ""; position: absolute; inset: 0 0 auto 0; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.7), transparent); z-index: 2;
}

.card-header-enterprise {
  position: relative !important;
  padding: 44px 40px 38px !important;
  background:
    radial-gradient(120% 140% at 0% 0%, rgba(255,255,255,.18), transparent 55%),
    radial-gradient(90% 120% at 100% 100%, rgba(0,0,0,.18), transparent 60%),
    linear-gradient(128deg, var(--primary-color) 0%, var(--secondary-color) 62%, var(--accent-color) 100%) !important;
  color: #fff !important;
}
.card-header-enterprise::after {      /* subtle grid texture */
  content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .18;
  background-image: linear-gradient(rgba(255,255,255,.35) 1px, transparent 1px),
                    linear-gradient(90deg, rgba(255,255,255,.35) 1px, transparent 1px);
  background-size: 28px 28px;
  -webkit-mask-image: radial-gradient(80% 80% at 50% 40%, #000 30%, transparent 100%);
          mask-image: radial-gradient(80% 80% at 50% 40%, #000 30%, transparent 100%);
}
.card-header-enterprise > * { position: relative; z-index: 1; }

.plan-badge {
  display: inline-flex !important; align-items: center; gap: 8px;
  padding: 7px 16px !important; border-radius: 999px !important;
  background: rgba(255,255,255,.16) !important;
  border: 1px solid rgba(255,255,255,.38) !important;
  backdrop-filter: blur(6px);
  font-size: .74rem !important; font-weight: 700 !important; letter-spacing: .12em !important;
  text-transform: uppercase; color: #fff !important; margin-bottom: 18px !important;
}
.plan-badge::before { content: "\2713"; font-size: .85rem; }

.card-header-enterprise h1 {
  font-size: clamp(2.1rem, 3.6vw, 2.7rem) !important; font-weight: 800 !important;
  letter-spacing: -0.02em !important; line-height: 1.12 !important; margin: 0 0 14px !important;
  text-shadow: 0 1px 2px rgba(0,0,0,.18);
}
.card-subtitle {
  font-size: 1.22rem !important; line-height: 1.5 !important; max-width: 40ch;
  margin: 0 auto !important; color: rgba(255,255,255,.92) !important; font-weight: 400 !important;
}

.card-content-enterprise { padding: 30px 36px 24px !important; }
@media (max-width: 640px) { .card-content-enterprise { padding: 28px 22px 22px !important; } }

.form h2 {
  font-size: 1.45rem !important; font-weight: 800 !important; letter-spacing: -0.01em;
  color: #0f172a !important; text-align: center; margin: 0 0 4px !important;
}
.form h2 + form::before, #form-register form::before {
  content: "Takes about a minute. Your API key is active the moment payment completes.";
  display: block; text-align: center; color: #64748b; font-size: .9rem; margin: 0 0 16px;
}

.form-control {
  height: 44px !important; padding: 0 14px !important;
  font-size: .97rem !important; color: #0f172a !important;
  background: #fff !important;
  border: 1.5px solid #cbd5e1 !important; border-radius: 10px !important;
  box-shadow: inset 0 1px 2px rgba(15,23,42,.04) !important;
  transition: border-color .15s, box-shadow .15s !important;
  margin-bottom: 10px !important;
}
.form-control::placeholder { color: #64748b !important; opacity: 1; }
.form-control:focus {
  border-color: var(--primary-color) !important; outline: none !important;
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--primary-color) 18%, transparent), inset 0 1px 2px rgba(15,23,42,.04) !important;
}
.help-block { color: #b91c1c !important; font-size: .86rem !important; margin: -8px 0 12px 4px !important; font-weight: 500; }

.cf-turnstile, .g-recaptcha { margin: 4px 0 14px !important; }

.btn.btn-primary, .button.button-cta, .btn-primary {
  display: block !important; width: 100% !important; height: 48px !important;
  border: 0 !important; border-radius: 10px !important;
  font-size: 1.02rem !important; font-weight: 700 !important; letter-spacing: .01em; color: #fff !important;
  background: linear-gradient(135deg, var(--primary-color), var(--secondary-color)) !important;
  box-shadow: 0 10px 22px -8px color-mix(in srgb, var(--primary-color) 60%, transparent), 0 1px 2px rgba(15,23,42,.1) !important;
  transition: transform .15s, box-shadow .15s !important;
}
.btn.btn-primary:hover, .button.button-cta:hover, .btn-primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 16px 30px -10px color-mix(in srgb, var(--primary-color) 65%, transparent) !important;
}

/* trust strip under the register form */
#form-register form::after {
  content: "Secure checkout  \00B7  PayPal or credit card  \00B7  Cancel anytime  \00B7  Trusted by 300+ organizations";
  display: block; text-align: center; color: #64748b; font-size: .82rem; letter-spacing: .01em;
  margin: 14px 0 0; padding-top: 12px; border-top: 1px solid #e2e8f0;
}

/* "By creating an account you agree…" + toggles */
.form p, .card-content-enterprise p { color: #475569 !important; font-size: .92rem !important; line-height: 1.6 !important; }
.form a { color: var(--primary-color) !important; font-weight: 600; }
.toggle { color: var(--primary-color) !important; font-weight: 600 !important; }

/* payment step (after registration) */
.login h1 { color: #0f172a !important; font-weight: 800 !important; letter-spacing: -0.01em; }
[id^="paypal-button-container"] { margin-top: 8px !important; }

/* registration pages open on the register form; the login toggle is noise there */
#link-register-login, #link-login-register { display: none !important; }

/* inline links inside form copy should match surrounding text, not blow up */
.form p a, .card-content-enterprise p a { font-size: inherit !important; }

/* ===== unified type scale (overrides everything above): nothing under 14px ===== */
.enterprise-card, .enterprise-card * { font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important; }
.card-header-enterprise h1 { font-size: 2.5rem !important; }             /* 40px */
.card-subtitle { font-size: 1.2rem !important; line-height: 1.5 !important; } /* 19px */
.plan-badge { font-size: .8rem !important; }                              /* 13px caps, decorative */
.form h2, .login h1 { font-size: 1.6rem !important; }                     /* 26px */
.form h2 + form::before, #form-register form::before { font-size: 1rem !important; color: #475569 !important; margin-bottom: 18px !important; }
.form-control { height: 48px !important; font-size: 1.05rem !important; }  /* 17px input text */
.form-control::placeholder { font-size: 1.05rem !important; color: #64748b !important; }
.help-block { font-size: .95rem !important; }                              /* 15px */
.form p, .card-content-enterprise p, .card-content-enterprise label, .form label { font-size: 1rem !important; line-height: 1.6 !important; color: #334155 !important; }
.form p a, .card-content-enterprise p a, .form a { font-size: 1rem !important; font-weight: 600 !important; }
.btn.btn-primary, .button.button-cta, .btn-primary { font-size: 1.1rem !important; height: 52px !important; }
#form-register form::after { font-size: .95rem !important; color: #475569 !important; }
.login p, .login li, .login span { font-size: 1rem !important; }

/* ===== v6: pixel-locked type scale (site rem base is < 16px) + tighter vertical rhythm ===== */
html, body { font-size: 16px !important; }
.enterprise-container { padding: 22px 16px 36px !important; margin-top: 0 !important; }
.enterprise-card { margin-top: 0 !important; }
.card-header-enterprise { padding: 34px 36px 30px !important; }
.card-header-enterprise h1 { font-size: 38px !important; }
.card-subtitle { font-size: 18px !important; line-height: 1.5 !important; }
.plan-badge { font-size: 12px !important; margin-bottom: 14px !important; }
.card-content-enterprise { padding: 26px 36px 22px !important; }
.form h2, .login h1 { font-size: 26px !important; margin-bottom: 4px !important; }
.form h2 + form::before, #form-register form::before { font-size: 15px !important; margin-bottom: 16px !important; }
.form-control { height: 50px !important; font-size: 17px !important; padding: 0 16px !important; margin-bottom: 12px !important; }
.form-control::placeholder { font-size: 17px !important; }
.help-block { font-size: 15px !important; }
.form p, .card-content-enterprise p, .card-content-enterprise label, .form label,
.form p a, .card-content-enterprise p a, .form a, .login p, .login li, .login span { font-size: 16px !important; }
.btn.btn-primary, .button.button-cta, .btn-primary { font-size: 17px !important; height: 52px !important; margin-top: 4px !important; }
#form-register form::after { font-size: 14px !important; margin: 14px 0 0 !important; padding-top: 12px !important; }
.form { margin-bottom: 0 !important; padding-bottom: 0 !important; }
.form-module { margin: 0 !important; padding: 0 !important; }
