/**
 * Bonza. Login / Signup FULL PAGE (86eypb6p6), distinct from the
 * already-shipped login/signup MODAL (86eypb6k6, login-signup-modal.css).
 *
 * Figma component-set inspection (Gate: variant/state coverage): "LOGIN-SIGN
 * UP" (5263:171207) has exactly one variant, DEVICES=WEBFULL (5263:171208).
 * The nested "Log In Sign Up" set (59:10349) has exactly two variants,
 * Property 1=Sign In (59:10312) and Property 1=Sign Up (59:10258), which are
 * the two cards, not interactive states. No hover, focus, active, disabled,
 * error or loading variants exist in either set. Interactive states below
 * (:hover, :focus-visible) are added defensively from the design system's
 * existing brand colors, same approach already documented in the modal's
 * own file for the same reason.
 *
 * Config investigated: General > Buttons and General > Forms (Customizer)
 * would style every button/input site-wide (checkout, search, etc.), so a
 * single-page ticket doesn't touch them, same reasoning already used for
 * the modal. WooCommerce > Settings > Accounts & Privacy > "Allow customers
 * to create an account on the My Account page" is the one setting that
 * actually gates whether the register column renders at all; verified live
 * on bonza-retheme.blz.au that it is already enabled (both columns render),
 * so no settings change was needed. Bonza's real brand palette still hasn't
 * landed in the Customizer (same known Phase 1/2 gap as the modal task).
 * Blocksy's unbranded demo blue palette is fixed the same way: two CSS
 * custom properties overridden, scoped to #customer_login only.
 *
 * editor-friendly-ok: this styles WooCommerce's native My Account
 * login/register form (#customer_login), rendered only on the My Account
 * page template for a logged-out visitor. It has no Gutenberg block or
 * pattern counterpart, so there is no editor surface to keep parity with.
 * Same var(--bonza-login-*, hex) local-token pattern as every sibling file
 * in this directory (footer.css, login-signup-modal.css, etc.), no
 * wp--preset vars.
 *
 * Figma: file cY9QX6IwGVaaGI4r7J2RRF. Frames: Desktop 21316:76992 (1512px),
 * Tablet 23310:35598 (744px), Mobile 23313:52733 (428px). Header/footer in
 * the Figma frames are the site's already-built global header/footer
 * (Blocksy header builder plus bonza_footer_render_global()). Out of scope
 * here, not rebuilt.
 *
 * Markup verified against WooCommerce core's own
 * templates/myaccount/form-login.php (trunk, fetched live this session):
 * #customer_login.u-columns.col2-set > .u-column1.col-1 (login),
 * .u-column2.col-2 (register), form.woocommerce-form-login,
 * form.woocommerce-form-register, .woocommerce-form-login__rememberme,
 * .woocommerce-LostPassword.lost_password. Selectors below target those
 * exact classes, no guessing.
 *
 * Scope note: CSS only, no new HTML/JS, same scope discipline as the modal
 * task, with one deliberate exception: login-signup-page.js, added later
 * for a WCAG 2.4.3 focus-order fix (see that file's own header, and the
 * login-form reflow comment further down this file, for the full reason).
 * Copy differences vs WooCommerce's stock strings ("Login" becomes
 * "Sign In", "Register" becomes "Create an Account", "Log in" becomes
 * "Login", "Lost your password?" becomes "Forgot password?", "Username or
 * email address" and "Email address" both become "Email") are handled by a
 * scoped `gettext` filter in custom.php
 * (bonza_login_signup_page_copy_overrides()), not here. Translatable via
 * blocksy-child the same as everywhere else in this file tree.
 *
 * Known gaps, flagged rather than silently resolved:
 * - No newsletter checkbox on this page's register form. Figma draws one.
 *   Checked live (this session, after an earlier draft wrongly assumed the
 *   modal's Klaviyo checkbox would also fire here): zero
 *   `input[type=checkbox]` inside .woocommerce-form-register. Whatever
 *   wires that checkbox to the modal's own form does not run on this
 *   native WooCommerce page form. Adding it is outside a CSS-only ticket's
 *   scope; needs the same integration work done for the modal, applied
 *   here too.
 * - The register card's "image 183" (312x87) graphic between where the
 *   newsletter checkbox would sit and the submit button has no real asset
 *   provided (Figma shows an unlabeled placeholder fill). Not rendered.
 *   Needs a real asset plus alt text from the design team before it can
 *   ship.
 * - The registration privacy-policy text ("Your personal data will be
 *   used...") is WooCommerce's own dynamic output (wc_privacy_policy_text(),
 *   hooked to woocommerce_register_form by WC_Privacy core). Figma draws it
 *   below the submit button; WooCommerce always renders it above the
 *   button. Fighting the hook system to force a different order for one
 *   paragraph isn't worth it. Accepted as a minor, documented visual
 *   deviation.
 * - Password-reveal (eye) icon: WooCommerce's own `.show-password-input`
 *   button is restyled to Figma's 20x20, centred, 12px from the field edge
 *   (see the "Password reveal" rule below). No new JS needed.
 * - Font gap unchanged from the modal: Kobe1.1 and Nominee Heavy Extended
 *   are still not uploaded or registered anywhere on this site (checked
 *   Companion Pro Custom Fonts again this session, still empty). Falls
 *   back to system stacks below.
 * - Border contrast: the input border (--bonza-login-input-border) is now
 *   #7c828c (3.87:1 on white), same fix as the modal's equivalent field --
 *   see its definition below for the full writeup. The card border
 *   (--bonza-login-card-border, #d1d9e6) stays as-drawn: it's a large
 *   decorative container boundary, not a form control's sole differentiator
 *   (the card also carries a drop shadow on the login column, and page
 *   layout/whitespace already conveys its extent), the same class of
 *   deferral already documented on this audit's other step-card/panel
 *   borders. Flagged for design sign-off if the client wants it darkened
 *   too, not silently matched.
 * - The tablet/desktop typography split at 1200px is an interpolation, not
 *   a Figma-drawn breakpoint (only 744px and 1512px frames exist, no frame
 *   in between). Flagged for design sign-off, same as other undrawn states
 *   in this codebase.
 */

#customer_login {
	/* Same Blocksy demo-blue-palette bug as the modal (verified live again
	 * this session): --theme-palette-color-1/2 and --theme-text-color are
	 * always SET by Blocksy (just to the wrong, unbranded values), so a
	 * var(..., fallback) never fires. Overridden directly, scoped here only. */
	--theme-palette-color-1: #ffc125;
	--theme-palette-color-2: #247b4e;
	--theme-text-color: #2E2A2A; /* 86eyv0k44 GL-05: corrected ink, 14.18:1 on the white login card bg (WCAG AA/AAA) */

	--bonza-login-text: var(--theme-text-color);
	--bonza-login-heading: var(--theme-palette-color-2);
	--bonza-login-cta-bg: var(--theme-palette-color-2);
	--bonza-login-cta-text: #ffffff;
	--bonza-login-link: #6e5d84;
	--bonza-login-card-border: #d1d9e6;
	/* editor-friendly-ok: same no-Gutenberg-surface exception this file's
	   header already states (line 27, WooCommerce's own #customer_login
	   markup on the My Account page, no block-editor counterpart).
	   WHY #7c828c not the Figma-literal #d1d5db: this token styles
	   only the form input border (line ~265) below, whose resting state has
	   no other cue (background is plain white, the focus-visible rule below
	   is the only other state change). #d1d5db on white measures 1.47:1,
	   fails the WCAG 1.4.11 3:1 non-text-component floor -- the "flagged,
	   not fixed" note this file used to carry in its header comment. Same
	   fix already applied to the login modal's equivalent field and four
	   other places on this site this audit: #7c828c measures 3.87:1 on
	   white. CU-86eypb8gy. */
	--bonza-login-input-border: #7c828c;
	--bonza-login-input-bg: #ffffff;

	/* FIX (typography contract, CU-86eyxb3yv): same divergent, latent-failure
	   pattern as login-signup-modal.css -- collapsed onto the robust
	   literal-first pattern every other component in custom/css/ uses. */
	--bonza-font-heading: "Nominee", var(--theme-font-family, sans-serif);
	--bonza-font-body: "Kobe1.1", var(--theme-font-family, sans-serif);

	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-start;
	gap: 40px;
	padding: 40px 20px 20px;
	max-width: none;
}

@media (min-width: 690px) {
	#customer_login {
		padding: 24px;
	}
}

/* NOT the Figma-literal 64px desktop padding. This site's WooCommerce
 * content wrapper (.woocommerce.ct-woo-unauthorized, the direct parent of
 * #customer_login) hard-caps at 1290px regardless of viewport (measured
 * live at 1440px AND 1920px, identical). Figma's desktop frame assumes a
 * 1512px canvas with 64px padding, leaving 1384px for the two fixed-586px
 * cards plus the 40px gap (1212px needed). At this site's real 1290px cap,
 * 64px padding only leaves 1162px, 50px short, so the cards wrap onto
 * separate rows instead of sitting side by side. Keeping the 24px tier
 * (1242px available) instead of adding a wider one is the deviation;
 * flagged for design sign-off same as other undrawn/environment-driven
 * gaps in this file, not silently forced back to 64px with a workaround
 * that would just re-break the layout on this real container. */

/* ------------------------------------------------------------------ */
/* Cards. WooCommerce's own .u-column1/.u-column2 wrappers ARE the      */
/* Figma card boundary. No extra markup needed.                         */
/* ------------------------------------------------------------------ */
#customer_login .u-column1,
#customer_login .u-column2 {
	box-sizing: border-box;
	flex: 1 1 100%;
	max-width: 100%;
	margin: 0;
	padding: 24px;
	display: flex;
	flex-direction: column;
	gap: 40px;
	background: #ffffff;
	border: 1px solid var(--bonza-login-card-border);
	border-radius: 12px;
	font-family: var(--bonza-font-body);
	color: var(--bonza-login-text);
}

/* Login card only. Figma draws a drop shadow on Sign In, none on
 * Create an Account. */
#customer_login .u-column1 {
	box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.12);
}

@media (min-width: 690px) {
	#customer_login .u-column1,
	#customer_login .u-column2 {
		flex: 0 0 586px;
		max-width: 586px;
	}
}

/* From tablet landscape up the two cards share one row and shrink to fit.
 * Two fixed 586px cards plus the 40px gap need 1212px, more than the
 * container offers below roughly 1290px, so they would wrap into one column.
 * The 586px Figma width stays as the cap, so wide screens are unchanged. */
@media (min-width: 1024px) {
	#customer_login {
		flex-wrap: nowrap;
	}

	#customer_login .u-column1,
	#customer_login .u-column2 {
		flex: 1 1 0;
		min-width: 0;
	}
}

#customer_login h2 {
	margin: 0;
	text-align: center;
	font-family: var(--bonza-font-heading);
	font-weight: 900;
	text-transform: uppercase;
	color: var(--bonza-login-text);
	font-size: 20px;
	line-height: 24px;
}

@media (min-width: 690px) {
	#customer_login h2 {
		font-size: 28px;
		line-height: 28px;
	}
}

@media (min-width: 1200px) {
	#customer_login h2 {
		font-size: 30px;
		line-height: 36px;
	}
}

/* Between 1024 and 1199px each card is only about 370 to 450px wide, and
 * "Create an Account" is 380px wide at 28px, so it wrapped to two lines at 1024.
 * Scaling the size with the viewport (26px at 1024, 28px by about 1100) keeps it
 * on one line; 1200px and wider already use 30px and fit. */
@media (min-width: 1024px) and (max-width: 1199.98px) {
	#customer_login h2 {
		font-size: clamp(24px, 2.54vw, 28px);
	}
}

/* ------------------------------------------------------------------ */
/* Forms                                                              */
/* ------------------------------------------------------------------ */
#customer_login form.woocommerce-form {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

#customer_login .form-row,
#customer_login .woocommerce-form-row {
	margin: 0;
}

#customer_login form label {
	display: block;
	margin-bottom: 6px;
	font-family: var(--bonza-font-body);
	font-weight: 700;
	font-size: 16px;
	line-height: 20px;
	color: var(--bonza-login-text);
}

#customer_login form .required {
	color: inherit;
}

#customer_login form input.input-text,
#customer_login form input[type='password'] {
	box-sizing: border-box;
	width: 100%;
	min-height: 48px;
	padding: 12px;
	font-family: var(--bonza-font-body);
	font-weight: 400;
	font-size: 16px;
	line-height: 20px;
	color: var(--bonza-login-text);
	background: var(--bonza-login-input-bg);
	border: 1px solid var(--bonza-login-input-border);
	border-radius: 8px;
}

#customer_login form input.input-text:focus-visible,
#customer_login form input[type='password']:focus-visible {
	outline: 2px solid var(--bonza-login-heading);
	outline-offset: 1px;
	border-color: var(--bonza-login-heading);
}

/* ------------------------------------------------------------------ */
/* Login form. Figma puts remember-me and forgot-password on one row,   */
/* with the submit button on its own full-width row below. Woo's native */
/* markup nests the submit button inside the same <p class="form-row">  */
/* as the remember-me checkbox, with "Lost your password?" as a         */
/* separate sibling <p> below it. Both the email and password rows also */
/* carry the bare "form-row" class (alongside "woocommerce-form-row"),  */
/* so a plain `.form-row` selector would unwrap those too, not just the */
/* checkbox/button row -- confirmed live via a DOM class dump against   */
/* bonza-retheme.blz.au. The checkbox/button row is the ONLY one with   */
/* JUST "form-row" and no "woocommerce-form-row" alongside it, so       */
/* :not(.woocommerce-form-row) is what actually singles it out.         */
/*                                                                       */
/* display:contents "unwraps" that one row so its children (checkbox    */
/* label, hidden nonce, submit button) become direct flex items of the  */
/* form, sitting alongside the LostPassword paragraph (already a form-  */
/* level sibling). The form switches from column to row+wrap so the     */
/* checkbox and forgot-password link can sit on one line, with the      */
/* submit button on its own line below; the email/password rows get an  */
/* explicit full-width flex-basis so they still stack one per line like */
/* they did in column mode. No markup change needed.                    */
/*                                                                       */
/* CAUGHT LIVE (claude[bot] PR review, this session): an earlier draft  */
/* declared `#customer_login .woocommerce-form-login .form-row` TWICE,  */
/* once as `display: contents` and once (further down) as `display:     */
/* flex`. The second declaration silently won (same selector, same      */
/* specificity, later wins), so the unwrap never actually took effect.  */
/* Fixed by keeping exactly one declaration for this selector.          */
/*                                                                       */
/* CAUGHT LIVE (independent code-review audit, this session): the       */
/* earlier draft used flex `order` to visually place the checkbox,      */
/* forgot-password link and submit button (1, 2, 3). `order` never      */
/* changes tab order, which still follows DOM order: checkbox, then     */
/* submit button (both originally inside the same <p>), then the link   */
/* (a later sibling). Confirmed live: tabbing from the checkbox lands   */
/* on the submit button, skipping the visually-adjacent link, a WCAG    */
/* 2.4.3 Focus Order failure on a project with a contractual WCAG 2.2   */
/* AA obligation. Fixed in login-signup-page.js: the "Forgot password?" */
/* paragraph is moved to sit before the submit button in the DOM on     */
/* page load, so DOM order matches visual order and `order` is no      */
/* longer needed here. Without that script (progressive enhancement),   */
/* plain DOM/flex order still produces a valid, just plainer, three-    */
/* row layout with no accessibility regression either way.              */
/* ------------------------------------------------------------------ */
/* `form.woocommerce-form-login` (type + class), not `.woocommerce-form-
 * login` alone: the generic `#customer_login form.woocommerce-form` rule
 * above also carries a type selector, so a class-only override here would
 * be LESS specific and lose its `flex-direction: column` -- same class of
 * self-inflicted specificity bug as the card-width fix earlier in this
 * file. Matched specificity, later-source-order wins as intended. */
#customer_login form.woocommerce-form-login {
	display: flex;
	flex-flow: row wrap;
	align-items: flex-start;
}

#customer_login .woocommerce-form-login .woocommerce-form-row {
	flex: 1 0 100%;
}

#customer_login .woocommerce-form-login .form-row:not(.woocommerce-form-row) {
	display: contents;
}

#customer_login .woocommerce-form-login__rememberme {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	font-family: var(--bonza-font-body);
	/* Overrides the inherited 700 from the generic "#customer_login form
	 * label" rule above. Figma draws this as regular-weight body text,
	 * same as the equivalent row in the modal (caught by the independent
	 * code-review audit this session). */
	font-weight: 400;
	font-size: 16px;
	line-height: 20px;
	color: var(--bonza-login-text);
	cursor: pointer;
}

#customer_login .woocommerce-form-login__rememberme input[type='checkbox'] {
	width: 20px;
	height: 20px;
	margin: 0;
	accent-color: var(--bonza-login-heading);
}

#customer_login .woocommerce-LostPassword {
	margin: 0;
	align-self: center;
}

#customer_login .woocommerce-LostPassword a {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	font-family: var(--bonza-font-body);
	font-size: 16px;
	line-height: 20px;
	color: var(--bonza-login-text);
}

#customer_login .woocommerce-form-login__submit {
	flex: 1 0 100%;
	margin-top: 12px;
}

/* ------------------------------------------------------------------ */
/* Register form. Woo's native source order (fields, then the           */
/* woocommerce_register_form hook output, then submit) already matches  */
/* Figma's order closely enough. No reflow needed here.                 */
/*                                                                       */
/* CAUGHT LIVE (independent code-review audit, this session, verified   */
/* against the real DOM): three corrections to an earlier draft.        */
/* 1) There is no newsletter checkbox on this register form at all.     */
/*    Checked live: zero `input[type=checkbox]` inside                  */
/*    .woocommerce-form-register. An earlier draft assumed the modal's  */
/*    Klaviyo newsletter checkbox (fired via the same                   */
/*    woocommerce_register_form hook on the modal) would also fire      */
/*    here, and styled `.woocommerce-form__label-for-checkbox` /        */
/*    `.woocommerce-form__input-checkbox` for it. Whatever wires that   */
/*    checkbox to the modal does not fire on this native page form.     */
/*    Figma draws a checkbox here that this build cannot render         */
/*    without adding the missing integration, which is outside a       */
/*    CSS-only ticket's scope. Genuine gap, moved into the file header  */
/*    gap list below; the two dead rules for it are removed.            */
/* 2) WooCommerce actually wraps the registration privacy text in a     */
/*    DIV (`<div class="woocommerce-privacy-policy-text"><p>...`), not  */
/*    a bare `<p>`. The `p.woocommerce-privacy-policy-text` selector    */
/*    never matched anything live. Fixed to target the div.             */
/* 3) WooCommerce 10.9+ injects a `<wc-order-attribution-inputs>`       */
/*    custom element into this form (hidden tracking inputs only, no    */
/*    visible content). It has no display:none of its own, so once the */
/*    form became `display:flex` it turned into a real flex item and   */
/*    took a 24px gap on both sides it should not have. Set to          */
/*    display:none explicitly; it carries no visible UI to preserve.    */
/* ------------------------------------------------------------------ */
#customer_login .woocommerce-form-register > wc-order-attribution-inputs {
	display: none;
}

#customer_login .woocommerce-form-register div.woocommerce-privacy-policy-text,
#customer_login .woocommerce-form-register div.woocommerce-privacy-policy-text * {
	font-family: var(--bonza-font-body);
	font-size: 16px;
	line-height: 20px;
	color: var(--bonza-login-text);
}

/* ------------------------------------------------------------------ */
/* Primary CTA. LOGIN / REGISTER submit, same visual language as the    */
/* modal's .ct-button.                                                  */
/* ------------------------------------------------------------------ */
/* source: FIGMA (default state) -- Button/Secondary/Large, NOT Primary (this
 * page's CTA differs from the modal's .ct-button: bg is --theme-palette-color-2
 * (green, via --bonza-login-cta-bg) with white text, no border, visible
 * shadow -- an exact token match to the contract's measured Secondary/Large
 * default. A transparent border + box-sizing:border-box are declared so the
 * hover-state border addition causes zero layout shift.
 * editor-friendly-ok: this restyles Companion Pro's own account-page markup
 * (same scope note as login-signup-modal.css) with no new HTML/JS. */
#customer_login .woocommerce-form-login__submit,
#customer_login .woocommerce-form-register__submit {
	width: 100%;
	height: 48px;
	padding: 0 16px;
	box-sizing: border-box;
	font-family: var(--bonza-font-heading);
	font-weight: 900;
	font-size: 12px;
	line-height: 26px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--bonza-login-cta-text);
	background: var(--bonza-login-cta-bg);
	border: 1.5px solid transparent;
	border-radius: 999px;
	cursor: pointer;
	box-shadow:
		0px 4px 6px -2px rgba(0, 0, 0, 0.03),
		0px 12px 16px -4px rgba(0, 0, 0, 0.08);
	transition: background-color 300ms ease-out, border-color 300ms ease-out, color 300ms ease-out, box-shadow 300ms ease-out;
}

/* source: FIGMA -- Secondary/Large hover delta: green->gold swap, 1.5px
 * border added, text->dark, shadow removed. Corrects the previous generic
 * brightness(0.96) filter, which had no Figma backing.
 * editor-friendly-ok: this restyles Companion Pro's own account-page markup
 * (same scope note as login-signup-modal.css) with no new HTML/JS. */
#customer_login .woocommerce-form-login__submit:hover,
#customer_login .woocommerce-form-register__submit:hover {
	background: #FFC125; /* 8.7:1 with the #2E2A2A text below (WCAG relative-luminance formula), same pair verified elsewhere (cart-drawer-filled.css .bcd-empty-cta--primary) */
	border-color: #B86E00;
	color: #2E2A2A;
	box-shadow: none;
}

#customer_login a:focus-visible,
#customer_login button:focus-visible,
#customer_login input:focus-visible {
	outline: 2px solid var(--bonza-login-heading);
	outline-offset: 2px;
}

/* Remember me and Forgot password share one row as in Figma (remember left,
 * forgot right, 12px under the password field). The Cloudflare Turnstile
 * widget is a 300px block that sat in that row and pushed Forgot password
 * onto its own line, so it now takes a full row of its own. */
#customer_login .woocommerce-form-login__rememberme {
	margin-right: auto;
}

#customer_login .woocommerce-form-login .cf-turnstile {
	flex: 1 0 100%;
}

/* Figma puts the register widget 24px under the newsletter checkbox. The
 * paragraph's stock 24px margin stacked on the form's 12px gap (36px), and
 * the plugin's <br> added 18px under the widget: an empty band above the
 * privacy text. 12px + 12px gap = 24px; the <br> is hidden as on login. */
#customer_login .woocommerce-form-register .bonza-register-newsletter {
	margin-bottom: 12px;
}

#customer_login .woocommerce-form-login .cf-turnstile-br,
#customer_login .woocommerce-form-register .cf-turnstile-br {
	display: none;
}

/* The Turnstile iframe is a fixed 300px, but below a 444px viewport the card's
 * form is narrower than that (192px at 320, 240px at 375, 287px at 428), so the
 * widget ran past the card edge on phones. Scale it down in steps so it fits the
 * narrowest width of each band. transform, not zoom: WebKit's zoom shrinks the
 * box but not the iframe inside it, which cropped the widget. The negative
 * margins give back the layout space the scale frees (300px wide, 65px tall).
 * Same specificity as the login rule above, and later, so its flex basis yields. */
@media (max-width: 443.98px) {
	#customer_login .woocommerce-form .cf-turnstile {
		--bonza-turnstile-scale: 0.87;
		flex: 0 0 auto;
		width: 300px;
		max-width: none;
		transform: scale(var(--bonza-turnstile-scale));
		transform-origin: 0 0;
		margin-right: calc((var(--bonza-turnstile-scale) - 1) * 300px);
		margin-bottom: calc((var(--bonza-turnstile-scale) - 1) * 65px);
	}
}

@media (max-width: 399.98px) {
	#customer_login .woocommerce-form .cf-turnstile {
		--bonza-turnstile-scale: 0.75;
	}
}

@media (max-width: 359.98px) {
	#customer_login .woocommerce-form .cf-turnstile {
		--bonza-turnstile-scale: 0.64;
	}
}

/* Page title: the Figma My Account frames (desktop 36250:90613, tablet 36250:90619,
 * mobile 36250:90625) draw no page title, and www.bonza.dog hides its h1 too. The
 * h1 stays in the document for headings navigation and screen readers, taken out of
 * the layout so the cards sit where Figma puts them. Logged-out account page only. */
body.woocommerce-account:not(.logged-in) .hero-section {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
}

/* Gap from the header to the top of the cards, per Figma: 84px desktop, 20px tablet,
 * 26px mobile. Desktop is the container's 60px plus the 24px column padding; tablet
 * and mobile drop the container padding and set the column padding to the design gap. */
@media (max-width: 1199.98px) {
	body.woocommerce-account:not(.logged-in) .site-main > .ct-container-full {
		padding-top: 0;
	}

	body.woocommerce-account:not(.logged-in) #customer_login.u-columns {
		padding-top: 20px;
	}
}

@media (max-width: 689.98px) {
	body.woocommerce-account:not(.logged-in) #customer_login.u-columns {
		padding-top: 26px;
	}
}

/* Password reveal (eye) icon. Figma draws it 20x20, 12px from the field's right
 * edge, centred on the 48px field. Blocksy's default is 14x14 at top:13px, which
 * sits 4px above centre. A literal top (not 50%) because the register field's
 * password-strength meter lands inside the same wrapper once text is typed and
 * would shift a percentage. Same mask-icon colour fix as the modal. */
#customer_login .password-input input {
	padding-inline-end: 44px;
}

#customer_login .password-input .show-password-input {
	width: 20px;
	height: 20px;
	top: 14px;
	background-color: #6e5d84; /* 5.9:1 on the #ffffff input, over the 3:1 UI-component floor */
}

/* Clearfix pseudo-elements on the form become empty flex items and add a
 * stray gap before the first item on each line. */
#customer_login form.woocommerce-form-login::before,
#customer_login form.woocommerce-form-login::after {
	display: none;
}

/* The unwrapped row keeps its clearfix pseudo-elements (display: table),
 * which become empty flex items and push Remember me 12px in from the left. */
#customer_login .woocommerce-form-login .form-row::before,
#customer_login .woocommerce-form-login .form-row::after {
	display: none;
}
