/*!
 * Glozin × B2BKing Bridge — frontend.css
 * v2.0.0
 *
 * SECTIONS
 *   1. Shared design tokens (consumed from :root inline-injected by PHP)
 *   2. Form control base — DRY base for inputs/labels/buttons used by
 *      Registration / MyAccount / B2B_Login_Page modules
 *   3. Login prompt (pill / inline) — UX 1
 *   4. Single product CTA card — UX 2
 *   5. Registration form — module: Registration
 *   6. My-Account two-column layout + B2B value-prop card — module: MyAccount
 *   7. B2B-only login page ([b2bking_login_only]) — module: B2B_Login_Page
 *   8. Purchasability fallback — body.gbb-not-purchasable hides rogue ATC HTML
 *   9. Glozin popup-mode overrides
 *  10. Mobile / responsive
 *
 * Notes
 *   - Tokens come from --gbb-* vars (bridge-scoped) AND --gz-color-* vars
 *     (Glozin theme — not always present), with hard-coded fallbacks last.
 *   - We never use @import (cache plugins choke on it).
 *   - All selectors are tightly scoped — no global selectors.
 *   - No vendor prefixes that aren't necessary in evergreen browsers.
 *   - Animation/transition durations stay short to respect motion-prefs;
 *     prefers-reduced-motion override is at the bottom.
 */

/* =========================================================================
   2. FORM CONTROL BASE — used by Registration, MyAccount, B2B_Login_Page
   ========================================================================= */

.gbb-form-card {
	background: var(--gbb-card-bg, #fff);
	border: 1px solid var(--gbb-card-border, #e5e7eb);
	border-radius: 12px;
	box-shadow: var(--gbb-card-shadow, 0 1px 3px rgba(0,0,0,.04));
	box-sizing: border-box;
}

/* Shared input look — applied to inputs inside our scoped form classes */
.gbb-input,
.gbb-myaccount-active form.woocommerce-form-login input[type="text"],
.gbb-myaccount-active form.woocommerce-form-login input[type="email"],
.gbb-myaccount-active form.woocommerce-form-login input[type="password"],
body.gbb-b2b-login-page form.woocommerce-form-login input[type="text"],
body.gbb-b2b-login-page form.woocommerce-form-login input[type="email"],
body.gbb-b2b-login-page form.woocommerce-form-login input[type="password"],
.gbb-registration-active form.woocommerce-form-register input[type="text"],
.gbb-registration-active form.woocommerce-form-register input[type="email"],
.gbb-registration-active form.woocommerce-form-register input[type="password"],
.gbb-registration-active form.woocommerce-form-register input[type="tel"],
.gbb-registration-active form.woocommerce-form-register input[type="number"],
.gbb-registration-active form.woocommerce-form-register input[type="url"],
.gbb-registration-active form.woocommerce-form-register select,
.gbb-registration-active form.woocommerce-form-register textarea,
.gbb-registration-active form.woocommerce-form-register .b2bking_custom_registration_field,
.gbb-registration-active form.woocommerce-form-register #b2bking_vat_number_registration_field {
	width: 100%;
	height: 42px;
	padding: 0 12px;
	font-size: 14px;
	color: var(--gbb-input-text, #111827);
	background: var(--gbb-card-bg, #fff);
	border: 1px solid var(--gbb-input-border, #d1d5db);
	border-radius: 8px;
	box-shadow: none;
	box-sizing: border-box;
	line-height: 1.5;
	font-family: inherit;
	transition: border-color .15s ease, box-shadow .15s ease;
}

.gbb-registration-active form.woocommerce-form-register textarea {
	height: auto;
	min-height: 90px;
	padding: 12px 14px;
	resize: vertical;
}

.gbb-input:focus,
.gbb-myaccount-active form.woocommerce-form-login input:focus,
body.gbb-b2b-login-page form.woocommerce-form-login input:focus,
.gbb-registration-active form.woocommerce-form-register input:focus,
.gbb-registration-active form.woocommerce-form-register select:focus,
.gbb-registration-active form.woocommerce-form-register textarea:focus,
.gbb-registration-active form.woocommerce-form-register .b2bking_custom_registration_field:focus,
.gbb-registration-active form.woocommerce-form-register #b2bking_vat_number_registration_field:focus {
	outline: none;
	border-color: var(--gbb-brand, #7c3aed);
	box-shadow: 0 0 0 3px var(--gbb-brand-ring, rgba(124,58,237,.15));
}

.gbb-input::placeholder,
.gbb-myaccount-active form.woocommerce-form-login input::placeholder,
body.gbb-b2b-login-page form.woocommerce-form-login input::placeholder,
.gbb-registration-active form.woocommerce-form-register input::placeholder,
.gbb-registration-active form.woocommerce-form-register .b2bking_custom_registration_field::placeholder {
	color: var(--gbb-input-placeholder, #9ca3af);
}

/* Shared label look */
.gbb-myaccount-active form.woocommerce-form-login label,
body.gbb-b2b-login-page form.woocommerce-form-login label,
.gbb-registration-active form.woocommerce-form-register label,
.gbb-registration-active form.woocommerce-form-register .b2bking_custom_registration_container label {
	display: block;
	font-size: 13px;
	font-weight: 500;
	color: #374151;
	margin-bottom: 6px;
	line-height: 1.4;
}

.gbb-myaccount-active form.woocommerce-form-login .required,
body.gbb-b2b-login-page form.woocommerce-form-login .required,
.gbb-registration-active form.woocommerce-form-register .required {
	color: var(--gbb-required, #dc2626);
	text-decoration: none;
	margin-left: 2px;
}

/* Shared form-row spacing */
.gbb-myaccount-active form.woocommerce-form-login p.form-row,
body.gbb-b2b-login-page form.woocommerce-form-login p.form-row,
.gbb-registration-active form.woocommerce-form-register .form-row,
.gbb-registration-active form.woocommerce-form-register p.form-row,
.gbb-registration-active form.woocommerce-form-register .b2bking_custom_registration_container {
	margin: 0 0 14px;
	padding: 0;
	width: 100%;
	display: block;
	box-sizing: border-box;
}

/* =========================================================================
   3. LOGIN PROMPT — pill + inline (UX 1)
   ========================================================================= */

.gbb-login-prompt {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 14px;
	border: 1px solid rgba(0,0,0,.08);
	border-radius: 999px;
	background: rgba(0,0,0,.03);
	color: var(--gz-color-dark, #111);
	font-size: 13px;
	font-weight: 500;
	line-height: 1.4;
	text-decoration: none;
	letter-spacing: .01em;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .15s ease;
	white-space: nowrap;
}

.gbb-login-prompt:hover,
.gbb-login-prompt:focus-visible {
	background: var(--gz-color-primary, #111);
	border-color: var(--gz-color-primary, #111);
	color: var(--gz-color-light, #fff);
	text-decoration: none;
	transform: translateY(-1px);
}

.gbb-login-prompt:focus-visible {
	outline: 2px solid var(--gz-color-primary, #111);
	outline-offset: 2px;
}

.gbb-login-prompt__icon {
	flex: 0 0 auto;
	width: 13px;
	height: 13px;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect width='18' height='11' x='3' y='11' rx='2' ry='2'/><path d='M7 11V7a5 5 0 0 1 10 0v4'/></svg>") no-repeat center / contain;
	        mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect width='18' height='11' x='3' y='11' rx='2' ry='2'/><path d='M7 11V7a5 5 0 0 1 10 0v4'/></svg>") no-repeat center / contain;
}

/* Inline variant for the single product page */
.gbb-login-prompt--inline {
	background: transparent;
	border: 0;
	padding: 0;
	color: var(--gz-color-grey, #777);
	font-size: 14px;
	font-weight: 400;
	font-style: italic;
}

.gbb-login-prompt--inline:hover,
.gbb-login-prompt--inline:focus-visible {
	background: transparent;
	border: 0;
	color: var(--gz-color-primary, #111);
	transform: none;
}

.gbb-login-prompt--inline .gbb-login-prompt__icon {
	width: 12px;
	height: 12px;
}

/* =========================================================================
   4. SINGLE PRODUCT CTA CARD (UX 2)
   ========================================================================= */

.gbb-cta {
	display: flex;
	gap: 14px;
	padding: 20px 22px;
	margin: 18px 0;
	background: rgba(0,0,0,.025);
	border: 1px solid rgba(0,0,0,.06);
	border-radius: 10px;
	box-sizing: border-box;
	max-width: 520px;
}

.gbb-cta * { box-sizing: border-box; }

.gbb-cta__icon {
	flex: 0 0 40px;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: rgba(0,0,0,.06);
	color: var(--gz-color-primary, #111);
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.gbb-cta__icon svg { display: block; }

.gbb-cta__body { flex: 1; min-width: 0; }

.gbb-cta__title {
	margin: 0 0 4px;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--gz-color-dark, #111);
}

.gbb-cta__desc {
	margin: 0 0 14px;
	font-size: 13.5px;
	line-height: 1.5;
	color: var(--gz-color-grey, #666);
}

.gbb-cta__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 10px;
}

.gbb-cta__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 11px 18px;
	border-radius: 6px;
	font-size: 13.5px;
	font-weight: 500;
	line-height: 1;
	text-decoration: none;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .15s ease;
	white-space: nowrap;
	border: 1px solid transparent;
	cursor: pointer;
	min-height: 42px;
}

.gbb-cta__btn:focus-visible {
	outline: 2px solid var(--gz-color-primary, #111);
	outline-offset: 2px;
}

.gbb-cta__btn--primary {
	flex: 1 1 auto;
	background: var(--gz-color-dark, #111);
	color: var(--gz-color-light, #fff);
	border-color: var(--gz-color-dark, #111);
}

.gbb-cta__btn--primary:hover,
.gbb-cta__btn--primary:focus-visible {
	background: var(--gz-color-primary, #111);
	border-color: var(--gz-color-primary, #111);
	color: #fff;
	text-decoration: none;
	transform: translateY(-1px);
}

.gbb-cta__btn--secondary {
	flex: 0 0 auto;
	background: transparent;
	color: var(--gz-color-dark, #111);
	border-color: rgba(0,0,0,.18);
}

.gbb-cta__btn--secondary:hover,
.gbb-cta__btn--secondary:focus-visible {
	background: rgba(0,0,0,.04);
	border-color: rgba(0,0,0,.4);
	color: var(--gz-color-dark, #111);
	text-decoration: none;
}

.gbb-cta__btn-arrow {
	transition: transform .2s ease;
	display: inline-block;
	font-size: 14px;
	line-height: 1;
}

.gbb-cta__btn--primary:hover .gbb-cta__btn-arrow,
.gbb-cta__btn--primary:focus-visible .gbb-cta__btn-arrow {
	transform: translateX(3px);
}

.gbb-cta__note {
	margin: 6px 0 0;
	font-size: 12.5px;
	color: var(--gz-color-grey, #888);
	display: inline-flex;
	align-items: center;
	gap: 5px;
}

.gbb-cta__note-icon {
	color: var(--gz-color-primary, #111);
	line-height: 1;
}

/* If a perf plugin removes our scoped padding, this nudges spacing back */
.single-product .summary .gbb-cta,
.single-product .product-summary .gbb-cta,
.single-product .entry-summary .gbb-cta {
	margin-top: 14px;
}

/* =========================================================================
   5. REGISTRATION FORM
   ========================================================================= */

.gbb-registration-active form.woocommerce-form-register,
.gbb-registration-active form.register {
	max-width: 640px;
	margin: 40px auto;
	background: var(--gbb-card-bg, #fff);
	border: 1px solid var(--gbb-card-border, #e5e7eb);
	border-radius: 12px;
	padding: 36px 36px 28px;
	box-shadow: var(--gbb-card-shadow, 0 1px 3px rgba(0,0,0,.04));
	box-sizing: border-box;
}

/* User type dropdown */
.gbb-registration-active form.woocommerce-form-register .b2bking_registration_roles_dropdown_section {
	margin-bottom: 18px;
}

.gbb-registration-active form.woocommerce-form-register #b2bking_registration_roles_dropdown {
	height: 56px;
	background-color: #f9fafb;
	border: 1px solid var(--gbb-input-border, #d1d5db);
	border-radius: 10px;
	padding: 0 16px;
	font-size: 14px;
	font-weight: 500;
	color: var(--gbb-text, #111827);
	cursor: pointer;
	-webkit-appearance: none;
	        appearance: none;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 20 20' fill='%236b7280'%3e%3cpath d='M5.5 7.5l4.5 4.5 4.5-4.5'/%3e%3c/svg%3e");
	background-repeat: no-repeat;
	background-position: right 16px center;
	background-size: 14px;
}

.gbb-registration-active form.woocommerce-form-register #b2bking_registration_roles_dropdown:hover {
	background-color: var(--gbb-card-bg, #fff);
	border-color: var(--gbb-brand, #7c3aed);
}

/* VAT / VIES block */
.gbb-registration-active form.woocommerce-form-register .b2bking_vat_number_registration_field_container {
	background: #eff6ff;
	border: 1px solid #bfdbfe;
	border-radius: 10px;
	padding: 14px;
	margin: 4px 0 14px;
}

.gbb-registration-active form.woocommerce-form-register .b2bking_vat_number_registration_field_container label {
	color: #1e40af;
	font-size: 12px;
}

.gbb-registration-active form.woocommerce-form-register #b2bking_vat_number_registration_field {
	background: var(--gbb-card-bg, #fff);
	border-color: #bfdbfe;
}

.gbb-registration-active form.woocommerce-form-register #b2bking_validate_vat_button {
	height: 38px;
	padding: 0 14px;
	background: #2563eb;
	color: #fff;
	border: none;
	border-radius: 8px;
	font-size: 13px;
	font-weight: 500;
	margin-top: 8px;
	cursor: pointer;
}

/* Country (Select2) */
.gbb-registration-active form.woocommerce-form-register .select2-container--default .select2-selection--single {
	height: 42px;
	border: 1px solid var(--gbb-input-border, #d1d5db);
	border-radius: 8px;
	padding: 0 8px;
}

.gbb-registration-active form.woocommerce-form-register .select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: 40px;
	padding-left: 6px;
}

.gbb-registration-active form.woocommerce-form-register .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 40px;
}

/* Submit button */
.gbb-registration-active form.woocommerce-form-register button[type="submit"],
.gbb-registration-active form.woocommerce-form-register button[name="register"] {
	width: 100%;
	height: 48px;
	background: var(--gbb-text, #111827);
	color: #fff;
	border: none;
	border-radius: 8px;
	font-size: 15px;
	font-weight: 500;
	cursor: pointer;
	margin-top: 12px;
	transition: background .15s ease, transform .05s ease;
}

.gbb-registration-active form.woocommerce-form-register button[type="submit"]:hover,
.gbb-registration-active form.woocommerce-form-register button[name="register"]:hover {
	background: #1f2937;
}

.gbb-registration-active form.woocommerce-form-register button[type="submit"]:active,
.gbb-registration-active form.woocommerce-form-register button[name="register"]:active {
	transform: scale(.99);
}

/* Privacy / notices */
.gbb-registration-active form.woocommerce-form-register .woocommerce-privacy-policy-text {
	font-size: 12px;
	color: var(--gbb-text-muted, #6b7280);
	margin: 14px 0;
	line-height: 1.6;
	text-align: center;
}

.gbb-registration-active form.woocommerce-form-register .woocommerce-privacy-policy-text a {
	color: var(--gbb-brand, #7c3aed);
	text-decoration: none;
}

.gbb-registration-active form.woocommerce-form-register .woocommerce-error,
.gbb-registration-active form.woocommerce-form-register .woocommerce-message {
	border-radius: 8px;
	padding: 12px 16px;
	font-size: 14px;
	margin-bottom: 20px;
}

/* Sign-in row (PHP-injected) */
.gbb-registration-active form.woocommerce-form-register .gbb-signin-row {
	text-align: center;
	font-size: 14px;
	color: var(--gbb-text-muted, #6b7280);
	margin: 18px 0 0;
	grid-column: 1 / -1;
}

.gbb-registration-active form.woocommerce-form-register .gbb-signin-row a {
	color: var(--gbb-brand, #7c3aed);
	text-decoration: none;
	font-weight: 500;
}

.gbb-registration-active form.woocommerce-form-register .gbb-signin-row a:hover {
	text-decoration: underline;
}

/* Desktop two-column grid (≥768px) */
@media (min-width: 768px) {
	.gbb-registration-active form.woocommerce-form-register {
		display: grid;
		grid-template-columns: 1fr 1fr;
		column-gap: 16px;
		row-gap: 0;
	}
	.gbb-registration-active form.woocommerce-form-register > * {
		grid-column: 1 / -1;
	}
	.gbb-registration-active form.woocommerce-form-register .gbb-col-half {
		grid-column: span 1;
	}
	.gbb-registration-active form.woocommerce-form-register button[name="register"],
	.gbb-registration-active form.woocommerce-form-register .woocommerce-privacy-policy-text,
	.gbb-registration-active form.woocommerce-form-register .gbb-signin-row,
	.gbb-registration-active form.woocommerce-form-register .b2bking_registration_roles_dropdown_section,
	.gbb-registration-active form.woocommerce-form-register .b2bking_vat_number_registration_field_container {
		grid-column: 1 / -1;
	}
}

/* =========================================================================
   6. /MY-ACCOUNT/ TWO-COLUMN LAYOUT (built by JS)
   ========================================================================= */

.gbb-myaccount-layout {
	max-width: 960px;
	margin: 40px auto;
	padding: 0 20px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
	box-sizing: border-box;
}

.gbb-myaccount-layout .gbb-myaccount-left,
.gbb-myaccount-layout .gbb-myaccount-right {
	min-width: 0;
}

.gbb-evacuated {
	display: none !important;
}

/* Left column — login form */
.gbb-myaccount-layout form.woocommerce-form-login {
	background: var(--gbb-card-bg, #fff);
	border: 1px solid var(--gbb-card-border, #e5e7eb);
	border-radius: 12px;
	padding: 32px;
	box-shadow: var(--gbb-card-shadow, 0 1px 3px rgba(0,0,0,.04));
	margin: 0;
	display: flex;
	flex-direction: column;
}

.gbb-myaccount-layout .gbb-login-heading {
	font-size: 22px;
	font-weight: 500;
	margin: 0 0 4px;
	color: var(--gbb-text, #111827);
	line-height: 1.3;
}

.gbb-myaccount-layout .gbb-login-sub {
	font-size: 13px;
	color: var(--gbb-text-muted, #6b7280);
	margin: 0 0 22px;
}

.gbb-myaccount-layout form.woocommerce-form-login .lost_password {
	margin: 0;
	float: right;
}

.gbb-myaccount-layout form.woocommerce-form-login .lost_password a {
	font-size: 13px;
	color: var(--gbb-brand, #7c3aed);
	text-decoration: none;
}

.gbb-myaccount-layout form.woocommerce-form-login .lost_password a:hover {
	text-decoration: underline;
}

.gbb-myaccount-layout form.woocommerce-form-login .woocommerce-form-login__rememberme,
.gbb-myaccount-layout form.woocommerce-form-login .woocommerce-form__label-for-checkbox {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	color: var(--gbb-text-muted, #6b7280);
	margin: 0;
}

.gbb-myaccount-layout form.woocommerce-form-login button[name="login"],
.gbb-myaccount-layout form.woocommerce-form-login .woocommerce-button.button {
	width: 100%;
	height: 44px;
	background: var(--gbb-brand, #7c3aed);
	color: #fff;
	border: none;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 500;
	cursor: pointer;
	margin-top: 8px;
	transition: opacity .15s ease, transform .05s ease;
	letter-spacing: 0;
	text-transform: none;
}

.gbb-myaccount-layout form.woocommerce-form-login button[name="login"]:hover {
	opacity: .92;
}

.gbb-myaccount-layout form.woocommerce-form-login button[name="login"]:active {
	transform: scale(.99);
}

/* Right column — B2B value-prop card */
.gbb-b2b-register-card {
	background: var(--gbb-card-bg, #fff);
	border: 1px solid var(--gbb-card-border, #e5e7eb);
	border-radius: 12px;
	padding: 32px;
	box-shadow: var(--gbb-card-shadow, 0 1px 3px rgba(0,0,0,.04));
	position: relative;
	box-sizing: border-box;
}

.gbb-b2b-register-card .gbb-b2b-badge {
	position: absolute;
	top: 16px;
	right: 16px;
	background: #ede9fe;
	color: #5b21b6;
	font-size: 11px;
	font-weight: 500;
	padding: 4px 10px;
	border-radius: 100px;
	letter-spacing: .02em;
}

.gbb-b2b-register-card h2,
.gbb-b2b-register-card .gbb-b2b-heading {
	font-size: 22px;
	font-weight: 500;
	margin: 0 0 4px;
	color: var(--gbb-text, #111827);
	line-height: 1.3;
}

.gbb-b2b-register-card .gbb-b2b-intro {
	font-size: 13px;
	color: var(--gbb-text-muted, #6b7280);
	margin: 0 0 18px;
}

.gbb-b2b-register-card .gbb-b2b-benefits {
	list-style: none;
	padding: 0;
	margin: 0 0 22px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.gbb-b2b-register-card .gbb-b2b-benefits li {
	font-size: 13px;
	line-height: 1.5;
	color: #374151;
	padding-left: 26px;
	position: relative;
}

.gbb-b2b-register-card .gbb-b2b-benefits li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 2px;
	width: 18px;
	height: 18px;
	background-color: var(--gbb-brand, #7c3aed);
	-webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor'%3e%3cpath fill-rule='evenodd' d='M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z' clip-rule='evenodd' /%3e%3c/svg%3e");
	        mask-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='currentColor'%3e%3cpath fill-rule='evenodd' d='M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z' clip-rule='evenodd' /%3e%3c/svg%3e");
	-webkit-mask-repeat: no-repeat;
	        mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	        mask-size: contain;
}

.gbb-b2b-register-card .gbb-b2b-benefits li strong {
	font-weight: 500;
	color: var(--gbb-text, #111827);
}

.gbb-b2b-register-card .gbb-b2b-cta {
	display: block;
	width: 100%;
	height: 44px;
	line-height: 44px;
	text-align: center;
	background: var(--gbb-brand, #7c3aed);
	color: #fff !important;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 500;
	text-decoration: none;
	box-sizing: border-box;
	transition: opacity .15s ease, transform .05s ease;
}

.gbb-b2b-register-card .gbb-b2b-cta:hover {
	opacity: .92;
	color: #fff !important;
	text-decoration: none;
}

.gbb-b2b-register-card .gbb-b2b-cta:active {
	transform: scale(.99);
}

.gbb-b2b-register-card .gbb-b2b-note {
	font-size: 12px;
	color: var(--gbb-text-muted, #6b7280);
	text-align: center;
	margin: 12px 0 0;
}

/* =========================================================================
   7. B2B-ONLY LOGIN PAGE — body.gbb-b2b-login-page scope
   ========================================================================= */

body.gbb-b2b-login-page .gbb-b2b-login-header {
	max-width: 480px;
	margin: 40px auto 16px;
	text-align: center;
}

body.gbb-b2b-login-page .gbb-b2b-login-heading {
	font-size: 22px;
	font-weight: 500;
	margin: 0 0 4px;
	color: var(--gbb-text, #111827);
	line-height: 1.3;
}

body.gbb-b2b-login-page .gbb-b2b-login-sub {
	font-size: 13px;
	color: var(--gbb-text-muted, #6b7280);
	margin: 0;
}

body.gbb-b2b-login-page form.woocommerce-form-login {
	max-width: 480px;
	margin: 0 auto;
	background: var(--gbb-card-bg, #fff);
	border: 1px solid var(--gbb-card-border, #e5e7eb);
	border-radius: 12px;
	padding: 36px;
	box-shadow: var(--gbb-card-shadow, 0 1px 3px rgba(0,0,0,.04));
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
}

body.gbb-b2b-login-page form.woocommerce-form-login p.form-row {
	margin: 0 0 14px;
	padding: 0;
}

body.gbb-b2b-login-page form.woocommerce-form-login .lost_password {
	margin: 0;
	float: right;
}

body.gbb-b2b-login-page form.woocommerce-form-login .lost_password a {
	font-size: 13px;
	color: var(--gbb-brand, #7c3aed);
	text-decoration: none;
}

body.gbb-b2b-login-page form.woocommerce-form-login .lost_password a:hover {
	text-decoration: underline;
}

body.gbb-b2b-login-page form.woocommerce-form-login .woocommerce-form-login__rememberme,
body.gbb-b2b-login-page form.woocommerce-form-login .woocommerce-form__label-for-checkbox {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	color: var(--gbb-text-muted, #6b7280);
	margin: 0;
}

body.gbb-b2b-login-page form.woocommerce-form-login button[name="login"],
body.gbb-b2b-login-page form.woocommerce-form-login .woocommerce-button.button {
	width: 100%;
	height: 44px;
	background: var(--gbb-brand, #7c3aed);
	color: #fff;
	border: none;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 500;
	cursor: pointer;
	margin-top: 8px;
	transition: opacity .15s ease, transform .05s ease;
	letter-spacing: 0;
	text-transform: none;
}

body.gbb-b2b-login-page form.woocommerce-form-login button[name="login"]:hover {
	opacity: .92;
}

body.gbb-b2b-login-page form.woocommerce-form-login button[name="login"]:active {
	transform: scale(.99);
}

body.gbb-b2b-login-page .woocommerce > .woocommerce-notices-wrapper,
body.gbb-b2b-login-page .woocommerce > .woocommerce-error,
body.gbb-b2b-login-page .woocommerce > .woocommerce-message,
body.gbb-b2b-login-page .woocommerce > .woocommerce-info {
	max-width: 480px;
	margin: 0 auto 12px;
	border-radius: 8px;
	font-size: 14px;
}

body.gbb-b2b-login-page .gbb-b2b-login-signup {
	max-width: 480px;
	margin: 16px auto 40px;
	text-align: center;
	font-size: 14px;
	color: var(--gbb-text-muted, #6b7280);
}

body.gbb-b2b-login-page .gbb-b2b-login-signup a {
	color: var(--gbb-brand, #7c3aed);
	text-decoration: none;
	font-weight: 500;
}

body.gbb-b2b-login-page .gbb-b2b-login-signup a:hover {
	text-decoration: underline;
}

/* =========================================================================
   8. PURCHASABILITY FALLBACK
   ========================================================================= */

/* Body-class flag set by Purchasability::add_not_purchasable_body_class().
   This is the belt-and-suspenders for any rogue ATC HTML that escaped
   the filter pipeline (e.g. when Glozin Addons' filters don't exist). */
body.gbb-not-purchasable .single-product .glozin-buy-now,
body.gbb-not-purchasable .single-product .glozin-sticky-atc-bar,
body.gbb-not-purchasable .single-product .product-loop-button-atc {
	display: none !important;
}

/* Loop / product card fallback (uses WC's own .purchasable class).
   WC adds the `purchasable` class to the .product wrapper when the
   product can be added to cart; absence of the class means it can't. */
body.gbb-guest .product:not(.purchasable) .glozin-button.product-loop-button-atc {
	display: none !important;
}

/* =========================================================================
   9. GLOZIN POPUP-MODE OVERRIDES
   When the register form lives inside the #login-modal, drop our card
   styling and 2-col grid: the modal is already a constrained card and
   2 columns won't fit in its ~50% column width.
   ========================================================================= */

#login-modal form.woocommerce-form-register,
.login-modal form.woocommerce-form-register {
	max-width: none;
	margin: 0;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	padding: 0;
	display: block;
}

#login-modal form.woocommerce-form-register > *,
.login-modal form.woocommerce-form-register > *,
#login-modal form.woocommerce-form-register .gbb-col-half,
.login-modal form.woocommerce-form-register .gbb-col-half,
#login-modal form.woocommerce-form-register .gbb-signin-row,
.login-modal form.woocommerce-form-register .gbb-signin-row {
	grid-column: auto;
}

/* =========================================================================
   10. RESPONSIVE
   ========================================================================= */

@media (max-width: 575.98px) {
	.gbb-cta {
		flex-direction: column;
		gap: 10px;
		padding: 18px;
		margin-left: 0;
		margin-right: 0;
	}
	.gbb-cta__icon { margin-bottom: 2px; }
	.gbb-cta__actions { flex-direction: column; }
	.gbb-cta__btn { flex: 1 1 auto; width: 100%; }
}

@media (max-width: 767px) {
	.gbb-myaccount-layout {
		grid-template-columns: 1fr;
		margin: 20px auto;
		padding: 0 12px;
	}
	.gbb-myaccount-layout form.woocommerce-form-login,
	.gbb-b2b-register-card {
		padding: 24px;
	}
}

@media (max-width: 540px) {
	body.gbb-b2b-login-page .gbb-b2b-login-header {
		margin: 20px auto 12px;
	}
	body.gbb-b2b-login-page form.woocommerce-form-login {
		padding: 24px;
	}
	body.gbb-b2b-login-page .gbb-b2b-login-signup {
		margin: 12px auto 24px;
	}
}

/* =========================================================================
   PREFERS-REDUCED-MOTION
   Respect the user's OS-level motion preference. Avoids causing
   vestibular distress from our subtle button/transform animations.
   ========================================================================= */

@media (prefers-reduced-motion: reduce) {
	.gbb-login-prompt,
	.gbb-cta__btn,
	.gbb-cta__btn-arrow,
	.gbb-myaccount-layout form.woocommerce-form-login button[name="login"],
	body.gbb-b2b-login-page form.woocommerce-form-login button[name="login"],
	.gbb-registration-active form.woocommerce-form-register button[type="submit"],
	.gbb-registration-active form.woocommerce-form-register button[name="register"],
	.gbb-b2b-register-card .gbb-b2b-cta {
		transition: none !important;
	}
	.gbb-login-prompt:hover,
	.gbb-cta__btn--primary:hover,
	.gbb-myaccount-layout form.woocommerce-form-login button[name="login"]:active,
	body.gbb-b2b-login-page form.woocommerce-form-login button[name="login"]:active {
		transform: none !important;
	}
}
