/* Local demo commerce UI. */
.zonemory-test-banner{background:#303b4c;color:#f6f5ee;padding:12px 18px;margin:0 0 20px;font-size:14px;line-height:1.5}
.zonemory-test-banner strong{color:#fff}
.zonemory-muted{font-size:12px;color:#787c76}
.zonemory-field-error{display:block;color:#a54637;font-size:13px;margin-top:4px}

/* Expandable italic notes in parentheses. */
.zonemory-note{display:inline-block;font-size:12px;line-height:1.5;color:#5d625f;max-width:100%}
.zonemory-note em{font-style:italic}
.zonemory-note-toggle{display:inline;background:none!important;border:0!important;padding:0 2px!important;margin:0!important;min-height:0!important;min-width:0!important;font:inherit!important;font-style:italic!important;color:#303b4c!important;text-decoration:underline;cursor:pointer;line-height:inherit!important;text-transform:none!important;letter-spacing:0!important;vertical-align:baseline!important}
.zonemory-note-full{outline:none}
.zonemory-note-full:focus-visible{outline:2px solid #658481;outline-offset:2px}

/* Shipping methods and the confirmed destination (REQ-V2-0106). Plain text: no italic note. */
.zonemory-ship-desc{font-size:13px;color:#4f5a52;font-style:normal}
tr.zonemory-ship-dest td{font-weight:400}
.zonemory-fx-notice{margin:0 0 18px}

/* Shipping Protection subitem and TAX & OTHER FEES. */
tr.zonemory-protection th small.zonemory-subitem{display:block;font-size:11px;font-weight:400;color:#787c76;text-transform:none;letter-spacing:0}
tr.zonemory-protection th{padding-left:18px!important;border-left:2px solid #c9d3c0}
.zonemory-protection-choice{display:inline-flex!important;align-items:center;gap:8px;font-weight:400!important;margin:0!important;font-size:14px!important}
.zonemory-protection-choice input{margin:0!important;width:18px;height:18px}
tr.zonemory-tax-fees th{letter-spacing:.04em}
tr.zonemory-tax-fees small{font-size:11px;color:#787c76}
.woocommerce-shipping-methods li{margin-bottom:10px}
.woocommerce-shipping-methods li label{display:inline!important}

/* Tip. */
.zonemory-tip{border:1px solid #e1e3df!important;padding:14px 16px!important;margin:0 0 18px!important}
.zonemory-tip legend{font-size:15px!important;text-transform:none!important;margin:0 0 8px!important;border:0!important;padding:0!important;font-weight:500}
.zonemory-tip-options{display:flex;flex-wrap:wrap;gap:10px 18px}
.zonemory-tip-options label{display:inline-flex!important;align-items:center;gap:6px;font-weight:400!important;margin:0!important;font-size:14px!important}
.zonemory-tip-options input{margin:0!important}
.zonemory-tip-custom{display:block;margin-top:10px!important;font-size:13px!important;font-weight:400!important}
.zonemory-tip-custom[hidden]{display:none!important}
.zonemory-tip-custom input{max-width:160px;margin:4px 0 0!important}

/* Create an account: password in the same area as the checkbox. */
.woocommerce-account-fields{display:flex;flex-wrap:wrap;align-items:flex-start;gap:6px 24px}
.woocommerce-account-fields .create-account:not(.form-row){flex:1 1 260px}
.woocommerce-account-fields .create-account .form-row{margin-bottom:0}
#account_password[aria-invalid=true]{border-color:#a54637}

/* Create an account right under Email for guests (REQ-V2-0157); the WELCOMEBACK10 note sits atop My Orders (REQ-HEROACCOUNT-1026). */
.zonemory-account-create{clear:both;width:100%;max-width:100%;box-sizing:border-box;margin:0 0 18px}
.zonemory-account-create [hidden]{display:none!important}
.zonemory-account-check{margin:0 0 8px}
.zonemory-check-label{display:inline-flex!important;align-items:center;gap:8px;font-weight:400!important;margin:0!important;font-size:14px!important;cursor:pointer}
.zonemory-check-label input{margin:0!important;width:18px;height:18px;flex:none}
.zonemory-account-pass{margin:0 0 10px;max-width:440px}
.zonemory-account-pass>label{display:block;font-size:14px;font-weight:500;margin:0 0 4px}
.zonemory-account-pass .required{text-decoration:none;border:0;color:#a54637}
.zonemory-pass-wrap{display:flex;align-items:stretch;gap:8px;max-width:100%}
.zonemory-pass-wrap input{flex:1 1 auto;min-width:0;margin:0!important}
.zonemory-pass-toggle{flex:none;margin:0!important;padding:0 14px!important;min-height:0!important;font-size:13px!important;line-height:1!important;text-transform:none!important;letter-spacing:0!important;background:#fff!important;color:#303b4c!important;border:1px solid #c9ccc6!important}
.zonemory-pass-toggle:focus-visible{outline:2px solid #658481;outline-offset:2px}
.zonemory-account-pass .zonemory-muted{display:block;margin-top:4px;line-height:1.5}
.zonemory-account-links{margin:0 0 10px;line-height:1.5}
.zonemory-welcome-back{margin:0 0 18px;max-width:100%;box-sizing:border-box;padding:10px 14px;background:#f5f3ed;border-left:3px solid #658481;font-size:14px;line-height:1.5;color:#303b4c;overflow-wrap:anywhere}

/* My Account: My Orders and a compact Log out only; no avatar or user id (REQ-V2-0157). */
.woocommerce-account .account-user,.woocommerce-account .user-id{display:none!important}
.woocommerce-MyAccount-navigation-link--customer-logout a{font-size:13px;opacity:.85}
.woocommerce-account .woocommerce-orders-table{max-width:100%}

/* Log out confirmation popup (REQ-LOGOUTPOPUP-1027). */
html.zonemory-modal-open,html.zonemory-modal-open body{overflow:hidden}
.zonemory-logout-modal{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:20px;box-sizing:border-box}
.zonemory-logout-modal[hidden]{display:none!important}
.zonemory-logout-backdrop{position:absolute;inset:0;background:rgba(48,59,76,.55)}
.zonemory-logout-dialog{position:relative;width:100%;max-width:420px;max-height:calc(100vh - 40px);overflow:auto;box-sizing:border-box;background:#f6f5ee;color:#303b4c;padding:28px 26px 24px;border-top:3px solid #658481;box-shadow:0 18px 48px rgba(31,38,49,.28);text-align:center}
.zonemory-logout-dialog:focus{outline:none}
.zonemory-logout-title{font-size:22px!important;line-height:1.3!important;margin:0 0 10px!important;color:#303b4c;text-transform:none!important;letter-spacing:0!important}
.zonemory-logout-desc{font-size:14px;line-height:1.5;color:#5d625f;margin:0 0 22px}
.zonemory-logout-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.zonemory-logout-actions .button{flex:1 1 150px;margin:0!important;min-height:44px;display:inline-flex!important;align-items:center;justify-content:center;text-align:center;text-decoration:none;box-sizing:border-box}
.zonemory-logout-cancel{background:#fff!important;color:#303b4c!important;border:1px solid #c9ccc6!important}
.zonemory-logout-confirm{background:#303b4c!important;color:#fff!important;border:1px solid #303b4c!important}
.zonemory-logout-confirm[aria-disabled=true]{opacity:.7;pointer-events:none}
.zonemory-logout-actions .button:focus-visible{outline:2px solid #658481;outline-offset:2px}
@media (max-width:480px){.zonemory-logout-modal{padding:14px}.zonemory-logout-dialog{padding:24px 18px 18px}.zonemory-logout-title{font-size:19px!important}.zonemory-logout-actions{flex-direction:column}.zonemory-logout-actions .button{flex:none;width:100%}}
/* Stacked buttons keep Cancel first: with Confirm on top it sat at the backdrop's centre, so a backdrop click logged out (REQ-LOGOUTPOPUPFIX-1027). */

/* Payment preview. */
.zonemory-pay-test p{margin:0 0 8px;font-size:14px}
.zonemory-pay-logos{list-style:none!important;display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:0!important;margin:6px 0 8px!important}
.zonemory-pay-logos li{margin:0!important;display:flex;align-items:center;justify-content:center;height:34px;min-width:52px;border:1px solid #e1e3df;background:#fff;padding:2px 6px}
.zonemory-pay-logos img{height:26px;width:auto;max-width:70px}
.zonemory-pay-text{font-size:12px;font-weight:600;color:#303b4c}

/* Empty checkout. */
.zonemory-empty-checkout{max-width:560px;margin:60px auto;text-align:center;padding:44px 28px;background:#f5f3ed}
.zonemory-empty-checkout h1{font-size:34px;margin-bottom:12px}
.zonemory-countdown{font-size:15px}
.zonemory-empty-checkout .button{margin:6px 0 0}
