/** Classic My Account only. Core forms, permissions, data and endpoint routing stay native. */
.oz-account main.site-main { width: min(var(--oz-container-normal),calc(100% - 2 * var(--oz-container-padding))); max-width: none; margin-inline: auto; padding-block: var(--oz-space-xl) var(--oz-section-spacing-compact); }
.oz-account main.site-main .page-header h1 { font-size: clamp(2rem,1.5rem + 2vw,3rem); line-height: 1.1; margin-bottom: var(--oz-space-sm); }
.oz-account .oz-account-intro { color: var(--oz-color-text-muted); margin-bottom: var(--oz-space-xl); }
.oz-account main.site-main .page-content { max-width: none; }
.oz-account main.site-main .woocommerce::after { content: ''; display: table; clear: both; }
.oz-account main.site-main .oz-account-sidebar { float: left; width: 25%; }
.oz-account main.site-main .woocommerce-MyAccount-navigation { float: none; width: 100%; padding: var(--oz-space-xs); border-radius: var(--oz-radius-large); background: var(--oz-color-surface); }
.oz-account main.site-main .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; }
.oz-account main.site-main .woocommerce-MyAccount-navigation li { margin: 0; }
.oz-account main.site-main .woocommerce-MyAccount-navigation a { display: flex; align-items: center; min-height: 48px; padding: .75rem 1rem; border-radius: var(--oz-radius-medium); color: var(--oz-color-ink); text-decoration: none; font-weight: var(--oz-font-weight-semibold); }
.oz-account main.site-main .woocommerce-MyAccount-navigation a:hover { background: var(--oz-color-white); color: var(--oz-color-primary); }
.oz-account main.site-main .woocommerce-MyAccount-navigation a[aria-current=page] { background: var(--oz-color-primary); color: var(--oz-color-on-primary); }
.oz-account main.site-main .woocommerce-MyAccount-navigation-link--customer-logout { border-top: 1px solid var(--oz-color-border); margin-top: var(--oz-space-sm); padding-top: var(--oz-space-sm); }
.oz-account main.site-main .woocommerce-MyAccount-navigation-link--customer-logout a { color: var(--oz-color-text-muted); font-weight: var(--oz-font-weight-regular); }
.oz-account main.site-main .woocommerce-MyAccount-content { float: right; width: 71%; min-width: 0; overflow-wrap: anywhere; }
.oz-account main.site-main h2 { font-size: 1.5rem; line-height: 1.3; margin: 0 0 var(--oz-space-lg); }
.oz-account main.site-main h3 { font-size: 1.125rem; line-height: 1.35; margin: 0 0 var(--oz-space-sm); }
.oz-account main.site-main p { line-height: 1.6; }
.oz-account main.site-main a { text-underline-offset: .2em; }
.oz-account main.site-main :is(a,button,input,select,textarea,[tabindex]):focus-visible { outline: 2px solid var(--oz-color-focus); outline-offset: 3px; box-shadow: var(--oz-focus-ring); }
.oz-account main.site-main [hidden] { display: none; }
.oz-account-links { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--oz-space-md); margin-top: var(--oz-space-lg); }
.oz-account main.site-main .oz-account-card { display: flex; flex-direction: column; align-items: flex-start; padding: var(--oz-space-lg); border-radius: var(--oz-radius-large); background: var(--oz-color-surface); color: var(--oz-color-ink); text-decoration: none; }
.oz-account main.site-main .oz-account-card p { color: var(--oz-color-text-muted); font-size: .875rem; margin-bottom: var(--oz-space-md); }
.oz-account main.site-main .oz-account-card > span { margin-top: auto; color: var(--oz-color-primary); font-size: 1.5rem; }
.oz-account main.site-main .oz-account-card:hover { background: var(--oz-color-surface-strong); }
/* Shared form token; account-only selectors bridge WooCommerce's more specific defaults. */
.oz-account main.site-main .woocommerce form { margin-top: 0; }
.oz-account main.site-main .woocommerce form :is(input.input-text,select,textarea) { min-height: 48px; padding: .75rem 1rem; border: 1px solid var(--oz-color-border); border-radius: var(--oz-form-radius); background: var(--oz-color-white); color: var(--oz-color-text); font: inherit; width: 100%; max-width: 100%; }
.oz-account main.site-main .woocommerce form textarea { min-height: 6rem; }
.oz-account main.site-main .woocommerce form .form-row { margin: 0 0 var(--oz-space-md); padding: 0; }
.oz-account main.site-main .woocommerce form .form-row label { font-weight: var(--oz-font-weight-semibold); line-height: 1.5; margin-bottom: var(--oz-space-xs); }
.oz-account main.site-main .woocommerce form :is(.form-row-first,.form-row-last) { width: 48%; }
.oz-account main.site-main .woocommerce form .woocommerce-form__label-for-checkbox { display: inline-flex; gap: var(--oz-space-xs); align-items: center; min-height: 44px; }
.oz-account main.site-main .woocommerce form input[type=checkbox] { width: 20px; height: 20px; }
.oz-account main.site-main .woocommerce form .woocommerce-invalid :is(input,select) { border-color: var(--oz-color-error); }
.oz-account main.site-main .woocommerce form fieldset { padding: var(--oz-space-lg); margin-block: var(--oz-space-lg); border: 1px solid var(--oz-color-border); border-radius: var(--oz-radius-large); background: var(--oz-color-surface); }
.oz-account main.site-main .woocommerce form legend { padding-inline: var(--oz-space-xs); font-size: 1.125rem; font-weight: var(--oz-font-weight-bold); }
.oz-account main.site-main .woocommerce :is(button.button,a.button,input.button) { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: .75rem 1.25rem; border: 2px solid transparent; border-radius: var(--oz-radius-pill); background: var(--oz-color-primary); color: var(--oz-color-on-primary); font: inherit; font-weight: var(--oz-font-weight-bold); line-height: 1.3; text-decoration: none; white-space: normal; }
.oz-account main.site-main .woocommerce :is(button.button,a.button,input.button):hover { background: var(--oz-color-primary-hover); color: var(--oz-color-on-primary); }
.oz-account main.site-main .woocommerce button.button:disabled { background: var(--oz-color-surface-strong); color: var(--oz-color-text-muted); opacity: 1; }
.oz-account main.site-main .woocommerce .show-password-input { min-width: 44px; min-height: 44px; top: 2px; right: 2px; border: 0; background: transparent; color: var(--oz-color-ink); }
.oz-account main.site-main .woocommerce .password-input input { padding-right: 3.25rem; }
.oz-account main.site-main :is(input,select,textarea):autofill { -webkit-text-fill-color: var(--oz-color-ink); caret-color: var(--oz-color-ink); }
.oz-account main.site-main .select2-container { max-width: 100%; }
.oz-account main.site-main .select2-container .select2-selection--single { height: 48px; border: 1px solid var(--oz-color-border); border-radius: var(--oz-form-radius); }
.oz-account main.site-main .select2-container .select2-selection__rendered { line-height: 46px; padding-inline: 1rem 2rem; color: var(--oz-color-text); }
.oz-account main.site-main .select2-container .select2-selection__arrow { height: 46px; right: .5rem; }
/* Login/register and reset use the native forms and settings. */
.oz-account main.site-main #customer_login { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--oz-space-lg); max-width: 64rem; margin-inline: auto; }
.oz-account main.site-main #customer_login::before,.oz-account main.site-main #customer_login::after { display: none; }
.oz-account main.site-main #customer_login > :is(.col-1,.col-2) { float: none; width: auto; padding: var(--oz-space-lg); border-radius: var(--oz-radius-large); background: var(--oz-color-surface); }
.oz-account main.site-main .woocommerce form:is(.login,.register) { padding: 0; margin: 0; border: 0; }
.oz-account main.site-main .woocommerce-form-login__submit { float: none; margin: 0; }
.oz-account main.site-main .woocommerce form .oz-login-options { display: flex; align-items: center; justify-content: space-between; gap: var(--oz-space-md); width: 100%; }
/* Woo's clearfix pseudo-elements otherwise become extra flex items. */
.oz-account main.site-main .woocommerce form .oz-login-options::before,
.oz-account main.site-main .woocommerce form .oz-login-options::after { display: none; }
.oz-account main.site-main .woocommerce form.login .form-row:has(#password) { margin-bottom: var(--oz-space-xs); }
.oz-account main.site-main .woocommerce form .oz-login-options .woocommerce-form-login__rememberme { flex-shrink: 0; margin: 0; }
.oz-account main.site-main .oz-login-options .lost_password { display: inline-flex; align-items: center; justify-content: flex-end; min-height: 44px; min-width: 0; margin: 0; text-align: right; color: var(--oz-color-primary); }
.oz-account main.site-main .woocommerce form .oz-login-submit { margin-bottom: 0; }
.oz-account main.site-main .woocommerce-privacy-policy-text,.oz-account main.site-main .lost_password { font-size: .875rem; color: var(--oz-color-text-muted); }
.oz-account main.site-main .lost_reset_password { max-width: 40rem; padding: var(--oz-space-lg); border-radius: var(--oz-radius-large); background: var(--oz-color-surface); }
.oz-account main.site-main .lost_reset_password .form-row-first { float: none; width: 100%; }
/* Data remains in the core tables; mobile labels use WooCommerce data-title attributes. */
.oz-account main.site-main .woocommerce table.shop_table { width: 100%; margin: 0 0 var(--oz-space-lg); border: 0; border-collapse: collapse; border-radius: 0; font-size: .9375rem; }
.oz-account main.site-main .woocommerce table.shop_table :is(th,td) { padding: var(--oz-space-md) var(--oz-space-sm); border: 0; border-bottom: 1px solid var(--oz-color-border); background: transparent; vertical-align: middle; overflow-wrap: anywhere; }
.oz-account main.site-main .woocommerce table.shop_table thead th { color: var(--oz-color-text-muted); font-size: .8125rem; font-weight: var(--oz-font-weight-semibold); text-align: left; }
.oz-account main.site-main .woocommerce table.shop_table td .button { margin: .25rem; padding: .5rem .875rem; border-color: var(--oz-color-primary); background: transparent; color: var(--oz-color-primary); }
.oz-account main.site-main .woocommerce table.shop_table td .button:is(:hover,:focus-visible) { background: var(--oz-color-primary); border-color: var(--oz-color-primary); color: var(--oz-color-on-primary,#fff); }
.oz-order-status { display: inline-block; padding: .375rem .625rem; border-radius: var(--oz-radius-medium); background: var(--oz-color-surface); color: var(--oz-color-ink); font-size: .8125rem; font-weight: var(--oz-font-weight-semibold); }
.oz-order-status--completed,.oz-order-status--processing { background: var(--oz-color-success-surface); }
.oz-order-status--cancelled,.oz-order-status--failed { background: var(--oz-color-error-surface); }
.oz-account main.site-main .woocommerce table.woocommerce-table--order-details tfoot tr:last-child :is(th,td) { font-size: 1.125rem; font-weight: var(--oz-font-weight-bold); }
.oz-account main.site-main .woocommerce mark { background: var(--oz-color-surface); color: var(--oz-color-ink); padding: .125rem .375rem; border-radius: var(--oz-radius-small); }
.oz-account main.site-main .woocommerce .woocommerce-Addresses,.oz-account main.site-main .woocommerce .woocommerce-columns--addresses { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--oz-space-md); }
.oz-account main.site-main .woocommerce :is(.woocommerce-Addresses,.woocommerce-columns--addresses)::before,.oz-account main.site-main .woocommerce :is(.woocommerce-Addresses,.woocommerce-columns--addresses)::after { display: none; }
.oz-account main.site-main .woocommerce :is(.woocommerce-Address,.woocommerce-column--billing-address,.woocommerce-column--shipping-address) { float: none; width: auto; min-width: 0; padding: var(--oz-space-lg); background: var(--oz-color-surface); border-radius: var(--oz-radius-large); }
.oz-account main.site-main .woocommerce .woocommerce-Address-title { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--oz-space-sm); margin-bottom: var(--oz-space-md); }
.oz-account main.site-main .woocommerce .woocommerce-Address-title h2 { font-size: 1.125rem; margin: 0; }
.oz-account main.site-main .woocommerce address { padding: 0; border: 0; font-style: normal; line-height: 1.7; overflow-wrap: anywhere; }
.oz-account main.site-main .woocommerce .woocommerce-Address .edit { display: inline-flex; align-items: center; min-height: 44px; }
@media (max-width: 63.999rem) {
 .oz-account main.site-main .oz-account-sidebar,.oz-account main.site-main .woocommerce-MyAccount-content { float: none; width: 100%; }
 .oz-account main.site-main .oz-account-sidebar { margin-bottom: var(--oz-space-lg); }
 .oz-account main.site-main .oz-account-toggle { display: flex; align-items: center; justify-content: space-between; gap: var(--oz-space-sm); width: 100%; min-height: 52px; padding: .75rem 1rem; border: 1px solid var(--oz-color-border); border-radius: var(--oz-radius-medium); background: var(--oz-color-surface); color: var(--oz-color-ink); text-align: left; font: inherit; }
 .oz-account main.site-main .oz-account-toggle[hidden] { display: none; }
 .oz-account main.site-main #oz-account-navigation:not([hidden]) { margin-top: var(--oz-space-xs); }
}
@media (max-width: 47.999rem) {
 .oz-account-links,.oz-account main.site-main #customer_login,.oz-account main.site-main .woocommerce .woocommerce-Addresses,.oz-account main.site-main .woocommerce .woocommerce-columns--addresses { grid-template-columns: 1fr; }
 .oz-account main.site-main .woocommerce form :is(.form-row-first,.form-row-last) { float: none; width: 100%; }
 .oz-account main.site-main .woocommerce form fieldset,.oz-account main.site-main #customer_login > :is(.col-1,.col-2) { padding: var(--oz-space-md); }
 .oz-account main.site-main .woocommerce form button.button { width: 100%; margin-right: 0; }
 .oz-account main.site-main .woocommerce table.shop_table_responsive thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); display: block; }
 .oz-account main.site-main .woocommerce table.shop_table_responsive tbody { display: block; }
 .oz-account main.site-main .woocommerce table.shop_table_responsive tbody tr { display: block; padding: var(--oz-space-sm); margin-bottom: var(--oz-space-md); background: var(--oz-color-surface); border-radius: var(--oz-radius-large); }
 .oz-account main.site-main .woocommerce table.shop_table_responsive tbody :is(th,td) { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: var(--oz-space-xs); width: 100%; padding: var(--oz-space-sm) 0; border: 0; text-align: right; }
 .oz-account main.site-main .woocommerce table.shop_table_responsive tbody :is(th,td)::before { content: attr(data-title); color: var(--oz-color-text-muted); font-weight: var(--oz-font-weight-regular); text-align: left; }
 .oz-account main.site-main .woocommerce table.shop_table_responsive .woocommerce-orders-table__cell-order-actions { justify-content: flex-end; }
 .oz-account main.site-main .woocommerce table.woocommerce-table--order-details :is(th,td) { padding-inline: .25rem; }
}
.oz-account main.site-main :is(h1,h2,h3) { font-weight: var(--oz-font-weight-bold); }
.oz-account main.site-main .woocommerce-MyAccount-content a:not(.button):not(.oz-account-card),
.oz-account main.site-main .woocommerce form a { color: var(--oz-color-link); }
.oz-account main.site-main .woocommerce-MyAccount-content a:not(.button):not(.oz-account-card):hover,
.oz-account main.site-main .woocommerce form a:hover { color: var(--oz-color-link-hover); }
.oz-account main.site-main .woocommerce .show-password-input { transform: none; }
@media (max-width: 47.999rem) {
 .oz-account main.site-main .woocommerce table.shop_table_responsive td.woocommerce-orders-table__cell-order-total { display: block; }
 .oz-account main.site-main .woocommerce table.shop_table_responsive td.woocommerce-orders-table__cell-order-total::before { float: left; margin-right: var(--oz-space-sm); }
}
.oz-account main.site-main .woocommerce-customer-details > address { padding: var(--oz-space-lg); border-radius: var(--oz-radius-large); background: var(--oz-color-surface); }

/* Business signup shares the account form presentation. */
.oz-business-signup main.site-main { max-width:52rem; }
.oz-business-signup main.site-main .woocommerce form .form-row { margin:0; }
.oz-business-signup main.site-main .woocommerce form .oz-button--primary { color:var(--oz-color-on-primary); }

.oz-business-signup main.site-main .ozb2b-signup > p a { color:var(--oz-color-link); }

.woocommerce-form-login, .woocommerce-form-register { scroll-margin-top:calc(var(--oz-header-height,6rem) + 1rem); }

/* Native selects share the account field geometry, including Safari. */
.oz-account main.site-main .woocommerce form.ozp-list-filters select,
.oz-account main.site-main .woocommerce form select:not([multiple]) {
 -webkit-appearance:none;
 appearance:none;
 display:block;
 box-sizing:border-box;
 min-height:48px;
 padding:.75rem 2.75rem .75rem 1rem;
 border:1px solid var(--oz-color-border);
 border-radius:var(--oz-form-radius);
 background-color:var(--oz-color-white);
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23272833' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
 background-repeat:no-repeat;
 background-position:right 1rem center;
 color:var(--oz-color-text);
 font:inherit;
 width:100%;
 max-width:100%;
}
.oz-account main.site-main .woocommerce form.ozp-list-filters {
 align-items:flex-end;
}
.oz-account main.site-main .woocommerce form.ozp-list-filters > label {
 margin:0;
 line-height:1.5;
}
.oz-account main.site-main .woocommerce form.ozp-list-filters :is(input:not([type=hidden]),select,button.button) {
 box-sizing:border-box;
 height:48px;
 min-height:48px;
 margin:0;
}
.oz-account main.site-main .woocommerce form.ozp-list-filters select {padding-right:2.75rem;}
.oz-account main.site-main .woocommerce form.ozp-list-filters > label {flex:1 1 120px;}
.oz-account main.site-main .woocommerce form.ozp-list-filters :is(input:not([type=hidden]),select) {min-width:0;}
.oz-account main.site-main .woocommerce form.ozp-list-filters > button {flex:0 0 auto;}

/* Account order details share the receipt card and outline action geometry. */
.oz-account.woocommerce-view-order main.site-main .ozb2b-order-commercial {
 padding:var(--oz-space-lg);margin-bottom:var(--oz-space-lg);border:1px solid var(--oz-color-border);
 border-radius:var(--oz-radius-large);background:var(--oz-color-surface);
}
.oz-account.woocommerce-view-order main.site-main .ozb2b-order-commercial dl {
 display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:10px 24px;margin:0;
}
.oz-account.woocommerce-view-order main.site-main .ozb2b-order-commercial dt {font-weight:600;}
.oz-account.woocommerce-view-order main.site-main .ozb2b-order-commercial dd {margin:0;overflow-wrap:anywhere;}
.oz-account.woocommerce-view-order main.site-main .woocommerce :is(a.button.invoice,button.button.ozp-secondary,.order-again a.button) {
 display:inline-flex;align-items:center;justify-content:center;width:auto;min-height:48px;
 margin:0;padding:.75rem 1.25rem;border:2px solid var(--oz-color-primary);border-radius:var(--oz-radius-pill);
 background:transparent;color:var(--oz-color-primary);font:inherit;font-size:1rem;font-weight:600;line-height:1.3;text-decoration:none;
}
.oz-account.woocommerce-view-order main.site-main .woocommerce :is(a.button.invoice,button.button.ozp-secondary,.order-again a.button):is(:hover,:focus-visible) {
 background:var(--oz-color-primary);border-color:var(--oz-color-primary);color:var(--oz-color-on-primary,#fff);
}
@media(max-width:47.999rem){
 .oz-account.woocommerce-view-order main.site-main .ozb2b-order-commercial {padding:var(--oz-space-md);}
 .oz-account.woocommerce-view-order main.site-main .ozb2b-order-commercial dl {grid-template-columns:1fr;gap:4px;}
 .oz-account.woocommerce-view-order main.site-main .ozb2b-order-commercial dd {margin-bottom:12px;}
}
