/* /incl/css/auth.css — /signup, /login and aMember checkout/password pages (hdr.inc.php: page_type signup|login) */

/* Signup (/signup, seo.signup.php): radio cards show a check icon when selected (not colour alone),
   field borders darkened to >=3:1 on white, 44px Terms row with a larger checkbox */
.signup-pick .signup-pick-on,
.btn-check:checked + .signup-pick .signup-pick-off { display: none; }
.btn-check:checked + .signup-pick .signup-pick-on { display: inline-block; }
#signup-form { --bs-border-color: var(--bs-gray-600); }
#signup-form .signup-terms { min-height: 44px; }
#signup-form .signup-terms .form-check-input { width: 1.25em; height: 1.25em; }
/* radio groups sit in columns, so the feedback isn't a sibling of the input: show it via :has */
.was-validated fieldset:has(.btn-check:invalid) > .invalid-feedback { display: block; }
.signup-aside { top: 1rem; }
.signup-mascot { max-height: 220px; width: auto; }

/* aMember logged-in checkout (/acnt/signup/<plan>, site.php sets page_type 'signup'; site.js adds .ftb-co):
   drop the banner, account tabs and "logged in as" box; hide until site.js has rebuilt the form */
body[data-page-type="signup"] { background-color: var(--bs-tertiary-bg); }
body[data-page-type="signup"] section[aria-labelledby="page-headline"],
.ftb-co .am-body-content-top,
.ftb-co .am-login-text,
.ftb-co .am-element-title,
.ftb-co #row-buttons a { display: none; }
body[data-page-type="signup"] .am-signup:not(.ftb-co-ready) { visibility: hidden; }
.ftb-co .am-row { display: block; padding: 0; margin: 0; border: 0; background: none; }
.ftb-co .am-row .am-element { margin: 0; padding: 0; float: none; width: auto; }
.ftb-co .am-product-title,
.ftb-co .am-product-terms,
.ftb-co .am-product-desc { display: block; }
.ftb-co .am-paysystem-desc { display: block; font-weight: normal; }
.ftb-co .am-form { border: 0; background: none; box-shadow: none; }
.ftb-co .am-form:not([class*="col-"]) { padding: 0; margin: 0; } /* on the Stripe page .am-form is a grid column */
.ftb-co .am-form form { max-width: none; }
.ftb-co span.am-error { display: block; margin-top: .25rem; font-size: .875em; color: var(--bs-form-invalid-color); }
.signup-pick.active .signup-pick-off { display: none; }
.signup-pick.active .signup-pick-on { display: inline-block; }
.ftb-co .signup-pick:has(:focus-visible) { box-shadow: var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color); }
/* aMember's amember.css/reset.css leak in: list numbers, italics, centred rows, white panels, fixed button width */
.ftb-co .am-body-content ol,
.ftb-co .am-body-content ol li { list-style: none; padding-left: 0; }
.ftb-co .am-signup,
.ftb-co .am-body-content,
.ftb-co .am-body-content-content { background: none; border: 0; box-shadow: none; padding: 0; }
.ftb-co .am-product-desc,
.ftb-co .am-paysystem-desc,
.ftb-co .am-form-coupon-toggle,
.ftb-co .am-product-terms { font-style: normal; text-align: start; }
.ftb-co .am-row-wide .am-element { text-align: start; }
.ftb-co #row-buttons input[type="submit"] { width: 100% !important; } /* beats acnt site.css width:auto !important */
.ftb-co .am-body-content :is(ol, li, p, div, span) { font-style: normal; }
.ftb-co .am-signup-form { background: none; border: 0; }
.ftb-co #row-qfauto-1 .am-element { padding: 0; }
.ftb-co .signup-pick #am-paysystem-paypal-desc, .ftb-co .signup-pick .am-paysystem-desc { font-style: normal; } /* acnt site.css styles these by id */
.ftb-co .am-common,
.ftb-co .am-layout,
.ftb-co .am-body,
.ftb-co .am-main { background: none; }
/* Stripe card page (/acnt/payment/stripe/cc): aMember's button width rule, row spacing */
.ftb-co .am-form input.am-cta-pay { width: 100% !important; }
.ftb-co #cc .am-row + .am-row { margin-top: 1rem; }
.ftb-co #stripe-card-element.StripeElement,
.ftb-co #stripe-card-element.StripeElement--focus { border: 0; padding: 0; background: none !important; } /* plugin's inline box around the Payment Element */
/* Step indicator on the aMember checkout pages: aMember's list margins indent it; give it room below the header */
.ftb-co .am-body-content ol[aria-label="Signup steps"] { margin: 1rem 0 .75rem; padding: 0; }

/* Password reset pages (/acnt/sendpass, site.php sets page_type 'login'; site.js adds .ftb-lp): /login's look */
body[data-page-type="login"] { background-color: var(--bs-tertiary-bg); }
body[data-page-type="login"] section[aria-labelledby="page-headline"],
.ftb-lp .am-body-content-top,
.ftb-lp .am-layout > img { display: none; }
body[data-page-type="login"] .am-layout:not(.ftb-lp-ready) { visibility: hidden; }
.ftb-lp .am-common,
.ftb-lp .am-layout,
.ftb-lp .am-body,
.ftb-lp .am-main,
.ftb-lp .am-body-content,
.ftb-lp .am-body-content-content,
.ftb-lp .am-form,
.ftb-lp .am-form form { background: none; border: 0; box-shadow: none; padding: 0; margin: 0; max-width: none; }
.ftb-lp .am-row { display: block; padding: 0; margin: 0 0 1rem; border: 0; background: none; }
.ftb-lp .am-row:last-child { margin-bottom: 0; }
.ftb-lp .am-row .am-element,
.ftb-lp .am-row .am-element-title { float: none; width: auto; margin: 0; padding: 0; text-align: start; font-style: normal; }
.ftb-lp input[type="submit"] { width: 100% !important; } /* beats acnt site.css width:auto !important */
.ftb-lp span.am-error { display: block; margin-top: .25rem; font-size: .875em; color: var(--bs-form-invalid-color); }
