/*
Theme Name: Storefront Merchant
Description: Native Storefront presentation with Dark default and optional Light appearance.
Version: 1.3.10
Template: storefront
Text Domain: storefront-merchant
Requires at least: 7.1
Requires PHP: 8.2
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/
@font-face { font-family: Geist; src: url("fonts/geist.woff2") format("woff2"); font-style: normal; font-weight: 100 900; font-display: swap; }
@font-face { font-family: "Geist Mono"; src: url("fonts/geist-mono.woff2") format("woff2"); font-style: normal; font-weight: 100 900; font-display: swap; }
:root {
    color-scheme: light;
    --merchant-font: Geist, system-ui, -apple-system, "Segoe UI", sans-serif;
    --merchant-mono: "Geist Mono", ui-monospace, monospace;
    --merchant-leading: 1.55; --merchant-label-weight: 500;
    --merchant-space-1: .25rem; --merchant-space-2: .5rem; --merchant-space-3: .75rem;
    --merchant-space-4: 1rem; --merchant-space-5: 1.25rem; --merchant-space-6: 1.5rem;
    --merchant-space-8: 2rem; --merchant-space-10: 2.5rem; --merchant-space-12: 3rem;
    /* Shared component values. Insets for decorative icons remain local geometry. */
    --merchant-control-pad-block: .625rem;
    --merchant-control-pad-inline: var(--merchant-space-4);
    --merchant-field-pad-inline: var(--merchant-space-3);
    --merchant-panel-padding: var(--merchant-space-6);
    --merchant-panel-fluid-padding: clamp(var(--merchant-space-4), 2.5vw, var(--merchant-space-8));
    --merchant-radius-card: 1rem; --merchant-radius-panel: 1.25rem;
    --merchant-control-icon: 2.75rem;
    --merchant-control-min: 3rem; --merchant-radius: .625rem; --merchant-radius-pill: 999rem;
    --merchant-background: #f4f4f8;
    --merchant-text: #2c2f40;
    --merchant-heading: #11121c;
    --merchant-accent: #4a2fd6;
    --merchant-header: #f4f4f8;
    --merchant-header-text: #2c2f40;
    --merchant-navigation: #2c2f40;
    --merchant-surface: #ffffff;
    --merchant-on-surface: #2c2f40;
    --merchant-button: #5236e0;
    --merchant-on-button: #ffffff;
    --merchant-button-alt: #5236e0;
    --merchant-on-button-alt: #ffffff;
    --merchant-button-hover: #4528d0;
    --merchant-border: #787c93;
    --merchant-input: #ffffff;
    --merchant-focus: #4a2fd6;
    --merchant-success: var(--merchant-text);
    --merchant-success-border: var(--merchant-border);
    --merchant-notice-fill: var(--merchant-text);
    --merchant-notice-ink: var(--merchant-background);
    --merchant-error: #b3261e;
    --merchant-info: var(--merchant-text);
    --merchant-muted: #525670;
    --merchant-line: #dedfea;
    --merchant-raised: #ececf3;
    --merchant-selected: #efecff;
    --merchant-success-tint: var(--merchant-raised);
    --merchant-error-tint: #fdecea;
    --merchant-info-tint: var(--merchant-raised);
}
:root:not([data-color-mode="light"]) {
    color-scheme: dark;
    --merchant-background: #050507;
    --merchant-text: #c9cad3;
    --merchant-heading: #f2f2f7;
    --merchant-accent: #a89bff;
    --merchant-header: #050507;
    --merchant-header-text: #c9cad3;
    --merchant-navigation: #c9cad3;
    --merchant-surface: #0c0d12;
    --merchant-on-surface: #c9cad3;
    --merchant-button: #6246ea;
    --merchant-on-button: #ffffff;
    --merchant-button-alt: #6246ea;
    --merchant-on-button-alt: #ffffff;
    --merchant-button-hover: #6a4cec;
    --merchant-border: #747787;
    --merchant-input: #0c0d12;
    --merchant-focus: #a89bff;
    --merchant-error: #ff8f8f;
    --merchant-info: var(--merchant-text);
    --merchant-muted: #a3a5b3;
    --merchant-line: #1f2129;
    --merchant-raised: #14151c;
    --merchant-selected: #141226;
    --merchant-error-tint: #24121a;
    --merchant-info-tint: var(--merchant-raised);
}
body, .site { background-color: var(--merchant-background); color: var(--merchant-text); }
body, body.store-private-entry { font: 400 1rem/var(--merchant-leading) var(--merchant-font); }
button, input, select, textarea { font-family: var(--merchant-font); font-size: 1rem; line-height: var(--merchant-leading); }
h1, h2, h3, h4, h5, h6 { color: var(--merchant-heading); font-weight: 600; line-height: 1.25; letter-spacing: -.025rem; }
h1 { font-size: clamp(2rem, 4vw, 2.75rem); }
h2 { font-size: clamp(1.5rem, 3vw, 1.75rem); }
h3, h4, h5, h6 { font-size: 1.25rem; }
p { margin-bottom: var(--merchant-space-4); }
a, .woocommerce-breadcrumb a, .woocommerce-breadcrumb a:first-of-type::before,
.product_meta a, .woocommerce-tabs ul.tabs li.active a { color: var(--merchant-accent); }
a:hover { color: var(--merchant-accent); text-decoration: underline; }
.site-title, h1, h2, .woocommerce-loop-product__title { overflow-wrap: anywhere; }
.site-header, .woocommerce-active .site-header { background: var(--merchant-header); color: var(--merchant-header-text); margin-bottom: 0; }
.site-header .site-branding { max-width: 100%; }
.site-header .site-title a, .site-header ul.menu li a, .site-header ul.nav-menu li a,
.site-header .main-navigation ul li:hover > a { color: var(--merchant-navigation); }
.main-navigation ul.menu > li.current-menu-item > a { text-decoration: underline; font-weight: 700; }
.main-navigation ul ul, .secondary-navigation ul ul { background: var(--merchant-surface); }
button.menu-toggle { color: var(--merchant-navigation); border-color: var(--merchant-border); }
button.menu-toggle::before, button.menu-toggle::after, button.menu-toggle span::before { background: var(--merchant-navigation); }
select, input[type="text"], input[type="email"], input[type="number"], input[type="search"], input[type="tel"], input[type="url"], input[type="password"], textarea, .input-text {
    background: var(--merchant-input); color: var(--merchant-text); border: 1px solid var(--merchant-border); border-radius: var(--merchant-radius);
    box-sizing: border-box; min-height: var(--merchant-control-min); max-width: 100%; padding: var(--merchant-control-pad-block) var(--merchant-field-pad-inline); box-shadow: none;
}
/* Keep the native select/picker; only its closed arrow is painted here. */
select:not([multiple]):not([size]):not(.select2-hidden-accessible) {
    appearance: none; padding-inline-end: 2.25rem;
    background-image: linear-gradient(45deg, transparent 50%, var(--merchant-text) 50%), linear-gradient(135deg, var(--merchant-text) 50%, transparent 50%);
    background-position: right 1rem center, right .75rem center;
    background-size: .25rem .25rem; background-repeat: no-repeat;
}
/* Native picker chrome/selection highlights remain browser-owned. */
select option, select optgroup { background: var(--merchant-input); color: var(--merchant-text); }
@media (forced-colors: active) {
    select:not([multiple]):not([size]):not(.select2-hidden-accessible) { appearance: auto; background-image: none; }
}
textarea, textarea.input-text { min-height: 8rem; resize: vertical; }
input::placeholder, textarea::placeholder { color: var(--merchant-text); opacity: 1; }
input:focus, textarea:focus, .input-text:focus,
input[type="text"]:focus, input[type="email"]:focus, input[type="number"]:focus,
input[type="search"]:focus, input[type="tel"]:focus, input[type="url"]:focus,
input[type="password"]:focus { background: var(--merchant-input); color: var(--merchant-text); }
/* Native selector adapters share one action geometry; vendor classes stay native. */
button, input[type="button"], input[type="reset"], input[type="submit"], .button, a.button, .wp-block-button__link,
.woocommerce .woocommerce-orders-table .button, .woocommerce-info .button,
body:is(.store-private-entry, .woocommerce-account) :is(#wfls-management-embedded, #wfls-passkey-management-embedded) .wfls-btn,
body.login .button, body.login .button-primary, body.login #wp-submit {
    background: var(--merchant-button); color: var(--merchant-on-button); border: 1px solid var(--merchant-border); border-radius: var(--merchant-radius-pill); white-space: normal;
    display: inline-flex; align-items: center; justify-content: center; gap: var(--merchant-space-2); text-align: center; text-decoration: none;
    box-sizing: border-box; min-height: var(--merchant-control-min); padding: var(--merchant-control-pad-block) var(--merchant-control-pad-inline);
    font: var(--merchant-label-weight) 1rem/var(--merchant-leading) var(--merchant-font); text-shadow: none;
}
button:hover, input[type="submit"]:hover, .button:hover, a.button:hover, .wp-block-button__link:hover, .woocommerce .woocommerce-orders-table .button:hover, .woocommerce-info .button:hover, body.login .button-primary:hover, body.login #wp-submit:hover { text-decoration: none; background: var(--merchant-button-hover); color: var(--merchant-on-button); }
button.alt, .button.alt, a.button.alt { background: var(--merchant-button-alt); color: var(--merchant-on-button-alt); border-color: var(--merchant-button-alt); }
button.alt:hover, .button.alt:hover { filter: brightness(.92); }
button.menu-toggle, button.menu-toggle:hover { background: transparent; color: var(--merchant-navigation); }
.merchant-appearance { display: flex; justify-content: flex-end; }
button.merchant-appearance-toggle, body.store-private-entry button.merchant-appearance-toggle { display: inline-flex; align-items: center; justify-content: center; min-width: 2.75rem; min-height: var(--merchant-control-icon); padding: var(--merchant-space-2); background: var(--merchant-surface); color: var(--merchant-on-surface); line-height: 1; }
button.merchant-appearance-toggle[hidden], body.store-private-entry button.merchant-appearance-toggle[hidden] { display: none; }
button.merchant-appearance-toggle:hover, body.store-private-entry button.merchant-appearance-toggle:hover { background: var(--merchant-selected); color: var(--merchant-accent); }
.merchant-mode-icon::before { font: 900 1.125rem/1 "Font Awesome 5 Free"; content: "\f186"; }
[data-next-mode="light"] .merchant-mode-icon::before { content: "\f185"; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible, .screen-reader-text:focus-visible,
.button.alt:focus-visible, .button.added_to_cart:focus-visible, .button.wc-forward:focus-visible,
input[type="button"]:focus-visible, input[type="reset"]:focus-visible, input[type="submit"]:focus-visible,
input[type="text"]:focus-visible, input[type="email"]:focus-visible, input[type="tel"]:focus-visible, input[type="url"]:focus-visible,
input[type="password"]:focus-visible, input[type="search"]:focus-visible, input[type="number"]:focus-visible {
    outline: 3px solid var(--merchant-focus); outline-offset: 3px;
}
/* Pointer focus on the skip-link target is not a focusable control. */
#content[tabindex]:focus:not(:focus-visible) { outline: none; }
button[hidden], .button[hidden], .wp-block-button__link[hidden] { display: none; }
.screen-reader-text:focus { background: var(--merchant-background); color: var(--merchant-text); }
/* Storefront owns Footer controls in Light; preserve the settled Dark palette. */
:root:not([data-color-mode="light"]) .site-footer { background-color: var(--merchant-background); color: var(--merchant-on-surface); }
:root:not([data-color-mode="light"]) .site-footer a:not(.button):not(.components-button), :root:not([data-color-mode="light"]) .site-footer .widget .widget-title, :root:not([data-color-mode="light"]) .site-footer .widget .widgettitle { color: var(--merchant-accent); }
:root:not([data-color-mode="light"]) .site-footer :is(h1, h2, h3, h4, h5, h6) { color: var(--merchant-heading); }
:root:not([data-color-mode="light"]) .site-footer > .col-full > .site-info, :root:not([data-color-mode="light"]) .site-footer > .col-full > p { color: var(--merchant-muted); }
.site-footer p { margin: 0; }
.merchant-wide .site-content .content-area { width: 100%; float: none; margin-right: 0; }
.storefront-breadcrumb { padding: var(--merchant-space-5) 0 0; margin: 0; }
.woocommerce-breadcrumb, .product_meta, .woocommerce-result-count, .woocommerce-product-details__short-description, .price { color: var(--merchant-text); }
.woocommerce-breadcrumb { margin-bottom: 0; }
.site-main { margin-bottom: var(--merchant-space-8); }
.home .entry-content { max-width: none; }
.home .entry-content > h2 { margin-top: var(--merchant-space-10); }
.home .entry-content > p:first-child { font-size: 1.25rem; }
table:not(.has-background) th, table:not(.has-background) tbody td, table:not(.has-background) tbody tr:nth-child(2n) td,
table:not(.has-background) tfoot td, table.cart td.actions { background: transparent; color: var(--merchant-on-surface); }
.woocommerce-tabs ul.tabs li, .woocommerce-tabs ul.tabs, table.cart td, .widget-area .widget { border-color: var(--merchant-border); }
/* A native store notice must not cover customer fields or their focus ring. */
.woocommerce-store-notice.demo_store { position: static; margin: 0; padding: var(--merchant-space-4); background: var(--merchant-info); color: #fff; box-shadow: none; }
.woocommerce-store-notice.demo_store a { background: transparent; color: #fff; opacity: 1; }
.woocommerce-store-notice.demo_store .woocommerce-store-notice__dismiss-link { display: inline-block; float: none; min-height: var(--merchant-control-min); margin: 0; padding: var(--merchant-control-pad-block) var(--merchant-field-pad-inline); }
@media (max-width: 767px) {
    .site-branding .site-title { font-size: 1.35rem; }
    h1 { font-size: clamp(2rem, 4vw, 2.75rem); }
    .wp-block-button { max-width: 100%; }
}
/* Override parent Customizer selectors as well as its static stylesheet. */
.site-header .site-description { color: var(--merchant-header-text); }
.main-navigation ul li.current-menu-item > a, .main-navigation ul li.current-menu-ancestor > a,
.main-navigation ul.menu > li.current-menu-item > a,
.main-navigation ul.nav-menu > li.current-menu-item > a { color: var(--merchant-navigation); }
ul.products li.product .price { color: var(--merchant-text); }
.wp-block-button:not(.is-style-outline) .wp-block-button__link { background-color: var(--merchant-button); color: var(--merchant-on-button); }
.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover { background-color: var(--merchant-button-hover); color: var(--merchant-on-button); }
table.cart tr { border-color: var(--merchant-background); }
table.cart td.actions, table.cart td.product-remove { border-color: var(--merchant-background); }
.merchant-categories ul { display: flex; flex-wrap: wrap; gap: var(--merchant-space-2); margin: 0; list-style: none; }
.merchant-categories a { display: flex; align-items: center; min-height: var(--merchant-control-min); padding: var(--merchant-control-pad-block) var(--merchant-field-pad-inline); border: 1px solid var(--merchant-border); border-radius: var(--merchant-radius-pill); font-size: .8125rem; text-decoration: none; overflow-wrap: anywhere; }
.merchant-categories [aria-current="page"] { font-weight: 700; text-decoration: underline; }
.merchant-shopping-links { display: flex; flex-wrap: wrap; gap: var(--merchant-space-3); }
.stock.in-stock, .stock.out-of-stock { color: var(--merchant-text); }
.variations .reset_variations { display: inline-block; min-height: var(--merchant-control-icon); padding: var(--merchant-control-pad-block); }
#payment, #payment .place-order, #payment .payment_methods > li:not(.woocommerce-notice),
#payment .payment_methods > li:not(.woocommerce-notice):hover { background: var(--merchant-surface); color: var(--merchant-on-surface); }
/* Native form rhythm; the late private-shell fallback needs this body scope. */
.form-row, body.store-private-entry form p { margin-bottom: var(--merchant-space-4); }
.form-row label, body.store-private-entry label { font-weight: var(--merchant-label-weight); margin-bottom: var(--merchant-space-2); }
.form-row input.input-text, .form-row textarea { width: 100%; }
body.store-private-entry input, body.store-private-entry button { font-family: var(--merchant-font); font-size: 1rem; line-height: var(--merchant-leading); }
body.store-private-entry input:is([type="email"], [type="text"], [type="password"]),
body.store-private-entry button, body.store-private-entry .button { padding: var(--merchant-control-pad-block) var(--merchant-field-pad-inline); }
body.store-private-entry button, body.store-private-entry .button { padding-inline: var(--merchant-space-4); font-weight: var(--merchant-label-weight); }
body.store-private-entry #customer_login::before, body.store-private-entry #customer_login::after { display: none; }
body.store-private-entry #customer_login > .u-column1,
body.store-private-entry #customer_login > .u-column2 { float: none; width: auto; min-width: 0; margin: 0; }
/* Reset Storefront's negative legend offset and Wordfence's global 21px/100% legend. */
fieldset, body.store-private-entry fieldset { min-width: 0; margin: var(--merchant-space-6) 0; padding: var(--merchant-space-4); border: 1px solid var(--merchant-border); border-radius: var(--merchant-radius); background: var(--merchant-surface); }
fieldset legend, body.store-private-entry fieldset legend { float: none; width: auto; max-width: 100%; margin: 0; padding: 0 var(--merchant-space-1); border: 0; background: var(--merchant-surface); color: var(--merchant-heading); font: var(--merchant-label-weight) 1rem/var(--merchant-leading) var(--merchant-font); white-space: normal; }
fieldset p:last-of-type { margin-bottom: 0; }
input[type="checkbox"], input[type="radio"], .form-row input[type="checkbox"], .form-row input[type="radio"] { width: 1.125rem; height: 1.125rem; min-height: 0; margin: 0 var(--merchant-space-2) 0 0; vertical-align: middle; accent-color: var(--merchant-accent); }
.form-row label:has(input[type="checkbox"]):not(.woocommerce-form-login__rememberme), .form-row label:has(input[type="radio"]),
.woocommerce-form__label-for-checkbox:not(.woocommerce-form-login__rememberme),
body.store-private-entry fieldset label { display: block; min-height: var(--merchant-control-min); padding-block: var(--merchant-control-pad-block); margin: 0; font-weight: 400; }
/* One rectangular link target prevents wrapped-link gaps from clicking the consent label. */
.woocommerce-checkout .woocommerce-terms-and-conditions-link { display: inline-block; max-width: 100%; }
body.store-private-entry fieldset p { margin-bottom: var(--merchant-space-1); }
body.store-private-entry fieldset p:last-of-type { margin-bottom: 0; }
.woocommerce-privacy-policy-text, .woocommerce-password-hint { font-size: .875rem; }
.woocommerce-form__label .required, .form-row .required { color: var(--merchant-text); }

/* Native Woo reveal button retains its icon/name toggle. Reserve room in both input states. */
.password-input { position: relative; display: block; }
.password-input input:is([type="password"], [type="text"]),
body.store-private-entry .password-input input:is([type="password"], [type="text"]) { padding-right: 3.75rem; }
.password-input .show-password-input, body.store-private-entry .password-input .show-password-input {
    position: absolute; inset: 0 0 auto auto; width: 3rem; min-height: var(--merchant-control-min); height: 100%; padding: var(--merchant-control-pad-block) var(--merchant-space-2); margin: 0;
    background: transparent; color: var(--merchant-accent); border: 1px solid transparent; border-left-color: var(--merchant-border); border-radius: 0 var(--merchant-radius) var(--merchant-radius) 0; line-height: var(--merchant-leading);
}
.password-input .show-password-input:hover { background: var(--merchant-surface); }
.password-input .show-password-input.display-password::after { color: var(--merchant-accent); }
.single-product div.product form.cart .quantity { margin-right: var(--merchant-space-3); }
.quantity .qty { width: 5rem; }
#payment .place-order .button { font-size: 1rem; padding: var(--merchant-control-pad-block) var(--merchant-space-4); }

/* SelectWoo owns interaction. Its body-attached popup remains scoped to customer forms. */
:is(.woocommerce-checkout, .woocommerce-account) .select2-container .select2-selection--single {
    box-sizing: border-box; height: auto; min-height: var(--merchant-control-min); margin: 0; padding: var(--merchant-control-pad-block) var(--merchant-field-pad-inline);
    background: var(--merchant-input); border: 1px solid var(--merchant-border); border-radius: var(--merchant-radius);
}
:is(.woocommerce-checkout, .woocommerce-account) .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--merchant-text); line-height: var(--merchant-leading); padding: 0 var(--merchant-space-6) 0 0; white-space: normal; overflow-wrap: anywhere;
}
:is(.woocommerce-checkout, .woocommerce-account) .select2-container--default .select2-selection--single .select2-selection__arrow { height: 100%; top: 0; right: var(--merchant-space-2); }
:is(.woocommerce-checkout, .woocommerce-account) .select2-container--default .select2-selection--single .select2-selection__arrow b { border-top-color: var(--merchant-text); }
:is(.woocommerce-checkout, .woocommerce-account) .select2-container--open .select2-selection--single .select2-selection__arrow b { border-bottom-color: var(--merchant-text); }
:is(.woocommerce-checkout, .woocommerce-account) .select2-dropdown { background: var(--merchant-input); color: var(--merchant-text); border-color: var(--merchant-border); }
:is(.woocommerce-checkout, .woocommerce-account) .select2-search--dropdown .select2-search__field { padding: var(--merchant-control-pad-block) var(--merchant-field-pad-inline); border-color: var(--merchant-border); }
:is(.woocommerce-checkout, .woocommerce-account) .select2-results__option { min-height: var(--merchant-control-min); padding: var(--merchant-control-pad-block) var(--merchant-field-pad-inline); }
:is(.woocommerce-checkout, .woocommerce-account) .select2-results__option:is([aria-selected="true"], [data-selected="true"]) { background: var(--merchant-surface); color: var(--merchant-on-surface); }
:is(.woocommerce-checkout, .woocommerce-account) .select2-results__option--highlighted:is([aria-selected], [data-selected]) { background: var(--merchant-button-alt); color: var(--merchant-on-button-alt); }
:is(.woocommerce-checkout, .woocommerce-account) .select2-results__option[aria-disabled="true"] { color: var(--merchant-text); }

/* Customer-facing native Wordfence prompt; no change to hidden/busy/disabled behavior. */
body.store-private-entry #wfls-prompt-overlay { align-items: flex-start; padding: 0; background: var(--merchant-background); }
body.store-private-entry #wfls-prompt-wrapper { padding: var(--merchant-space-6); border: 1px solid var(--merchant-border); border-radius: var(--merchant-radius-card); background: var(--merchant-surface); }
body.store-private-entry #wfls-prompt-wrapper label { font: var(--merchant-label-weight) 1rem/var(--merchant-leading) var(--merchant-font); }
body.store-private-entry #wfls-token { width: 100%; margin-bottom: var(--merchant-space-4); }
body.store-private-entry .wfls-login-message { border-color: var(--merchant-border); font: 400 1rem/var(--merchant-leading) var(--merchant-font); }
body:is(.store-private-entry, .woocommerce-account) :is(#wfls-management-embedded, #wfls-passkey-management-embedded) { font: 400 1rem/var(--merchant-leading) var(--merchant-font); }
body:is(.store-private-entry, .woocommerce-account) :is(#wfls-management-embedded, #wfls-passkey-management-embedded) .wfls-block { background: var(--merchant-background); border-color: var(--merchant-border); border-radius: var(--merchant-radius); box-shadow: none; }
body:is(.store-private-entry, .woocommerce-account) :is(#wfls-management-embedded, #wfls-passkey-management-embedded) .wfls-block-footer { background: var(--merchant-surface); border-color: var(--merchant-border); }
body:is(.store-private-entry, .woocommerce-account) :is(#wfls-management-embedded, #wfls-passkey-management-embedded) .wfls-two-factor-card-title-icon { color: var(--merchant-accent); }
body:is(.store-private-entry, .woocommerce-account) :is(#wfls-management-embedded, #wfls-passkey-management-embedded) .wfls-block-title { color: var(--merchant-heading); transition: none; }
body:is(.store-private-entry, .woocommerce-account) :is(#wfls-management-embedded, #wfls-passkey-management-embedded) .wfls-btn {
    max-width: 100%; text-transform: none;
    background: var(--merchant-background); color: var(--merchant-accent); border-color: var(--merchant-border);
}
body:is(.store-private-entry, .woocommerce-account) :is(#wfls-management-embedded, #wfls-passkey-management-embedded) .wfls-btn-primary { background: var(--merchant-button); color: var(--merchant-on-button); }
body:is(.store-private-entry, .woocommerce-account) :is(#wfls-management-embedded, #wfls-passkey-management-embedded) .wfls-btn:not(.wfls-disabled):not([disabled]):hover { background: var(--merchant-surface); color: var(--merchant-accent); }
body:is(.store-private-entry, .woocommerce-account) :is(#wfls-management-embedded, #wfls-passkey-management-embedded) .wfls-btn:is(.wfls-disabled, [disabled]) { background: var(--merchant-surface); color: var(--merchant-text); cursor: not-allowed; opacity: .65; }
body:is(.store-private-entry, .woocommerce-account) :is(#wfls-management-embedded, #wfls-passkey-management-embedded) .wfls-btn:focus-visible { outline: 3px solid var(--merchant-focus); outline-offset: 3px; }
body:is(.store-private-entry, .woocommerce-account) :is(#wfls-management-embedded, #wfls-passkey-management-embedded) input[type="text"] { max-width: 100%; font-size: 1rem; line-height: var(--merchant-leading); }
body:is(.store-private-entry, .woocommerce-account) :is(#wfls-management-embedded, #wfls-passkey-management-embedded) .wfls-help-block { color: var(--merchant-text); font: 400 .875rem/var(--merchant-leading) var(--merchant-font); }

/* The native passkey endpoint shares the Wordfence panels, plus an information card. */
body.woocommerce-account #wfls-passkey-management-embedded .wfls-block-header-border-bottom { border-color: var(--merchant-border); }
body.woocommerce-account #wfls-passkey-management-embedded .wfls-passkey-information { border-color: var(--merchant-border); background: var(--merchant-surface); color: var(--merchant-text); border-radius: var(--merchant-radius); font-size: 1rem; }
body.woocommerce-account #wfls-passkey-management-embedded :is(.wfls-passkey-information-title, .wfls-passkey-information-list, .wfls-passkey-information-learn-more) { font-size: 1rem; line-height: var(--merchant-leading); }
body.woocommerce-account #wfls-passkey-management-embedded .wfls-passkey-information-title { color: var(--merchant-heading); }
body.woocommerce-account #wfls-passkey-management-embedded .wfls-passkey-information-learn-more { color: var(--merchant-accent); }
body.woocommerce-account #wfls-passkey-management-embedded .wfls-passkey-information-list-icon { color: var(--merchant-accent); }
body.woocommerce-account #wfls-passkey-management-embedded .wfls-passkey-add-button { flex-basis: var(--merchant-control-min); min-width: var(--merchant-control-min); width: auto; height: auto; padding: var(--merchant-space-2); }

/* Native strength classes/visibility stay owned by WooCommerce and WordPress. */
.woocommerce-password-strength, body.login #pass-strength-result {
    box-sizing: border-box; width: 100%; margin: var(--merchant-space-2) 0 var(--merchant-space-3); padding: var(--merchant-control-pad-block) var(--merchant-field-pad-inline);
    border: 1px solid var(--merchant-border); border-radius: var(--merchant-radius);
    background: var(--merchant-raised); color: var(--merchant-text);
    font: var(--merchant-label-weight) .875rem/1.5 var(--merchant-font); text-align: center;
}
.woocommerce-password-strength.strong, body.login #pass-strength-result.strong {
    background: var(--merchant-success-tint); color: var(--merchant-success); border-color: var(--merchant-success-border);
}
.woocommerce-password-strength.good, body.login #pass-strength-result.good {
    background: var(--merchant-info-tint); color: var(--merchant-info); border-color: var(--merchant-border);
}
.woocommerce-password-strength:is(.short, .bad), body.login #pass-strength-result:is(.short, .bad) {
    background: var(--merchant-error-tint); color: var(--merchant-error); border-color: var(--merchant-error);
}
.woocommerce-password-strength::after, .woocommerce-password-strength:is(.short, .bad, .good, .strong)::after { content: none; }
