/* FANYIPINS customer account: intentionally keeps WooCommerce forms, endpoints,
   nonces and actions native; only navigation/content presentation is changed. */
.account-ui{padding:clamp(1.25rem,3vw,2.5rem) 0 var(--fanyi-section-space);}
.account-ui .entry-title{font-size:clamp(2rem,3.6vw,3rem);letter-spacing:var(--fanyi-tracking);line-height:1.08;margin:0 0 1.5rem;color:var(--fanyi-text);}
.account-ui .woocommerce{min-width:0;}
.account-ui :is(.woocommerce-error,.woocommerce-message,.woocommerce-info){margin:0 0 1.25rem;padding:1rem 1.1rem;border:1px solid var(--fanyi-border);border-left:3px solid var(--fanyi-green);border-radius:12px;background:#f8faf8;color:var(--fanyi-text);box-shadow:none;}
.account-ui .woocommerce-error{border-left-color:#b42318;background:#fff8f7;}

/* Authentication layout. WooCommerce clearfix pseudo-elements must not become
   grid items: otherwise Login starts in column 2 and Register moves to row 2. */
.account-ui #customer_login{display:grid!important;grid-template-columns:minmax(0,1fr);gap:24px;align-items:start;width:100%;max-width:1040px;margin:0 auto!important;}
.account-ui #customer_login::before,.account-ui #customer_login::after{content:none!important;display:none!important;}
.account-ui #customer_login>div{float:none!important;clear:none!important;width:100%!important;max-width:100%;min-width:0;margin:0!important;padding:32px;border:1px solid #dfe7e2;border-radius:20px;background:#fff;box-shadow:0 12px 32px rgb(24 39 31 / 4%);}
.account-ui #customer_login>.u-column1{border-top:4px solid #15803d;}
.account-ui #customer_login>.u-column2{border-top:4px solid #c4dace;}
.account-ui h2{font-size:clamp(1.45rem,2.2vw,1.9rem);line-height:1.2;margin:0 0 1.1rem;color:var(--fanyi-text);}
.account-ui h3{font-size:1.1rem;line-height:1.3;margin:0 0 1rem;color:var(--fanyi-text);}
.account-ui form{margin:0;min-width:0;}
.account-ui form p{margin:0 0 1rem;}
.account-ui .form-row{float:none!important;width:100%!important;padding:0!important;min-width:0;}
.account-ui label{display:block;margin:0 0 .45rem;font-size:.875rem;font-weight:650;color:var(--fanyi-text);}
.account-ui :is(input.input-text,select,textarea,.select2-selection){box-sizing:border-box;width:100%;min-width:0;min-height:48px;padding:.72rem .9rem;border:1px solid #d9e1da;border-radius:10px;background:#fff;color:var(--fanyi-text);font:inherit;box-shadow:none;}
.account-ui textarea{min-height:118px;resize:vertical;}
.account-ui .select2-container{max-width:100%;}
.account-ui .required{color:#15803d;text-decoration:none;}
.account-ui input[type=checkbox]{accent-color:#15803d;width:17px;height:17px;}
.account-ui .woocommerce-form-login__rememberme{display:flex;align-items:center;gap:.55rem;min-height:36px;font-weight:400;}
.account-ui .button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.72rem 1rem;border:1px solid #d7dfd8;border-radius:9px;background:#fff;color:#17221f;font:650 .9rem/1.25 var(--fanyi-font);text-decoration:none!important;box-shadow:none!important;cursor:pointer;}
.account-ui .button:hover{border-color:#15803d;color:#166534;}
.account-ui :is(button[name=login],button[name=save_account_details],button[name=save_address],.woocommerce-ResetPassword button){min-height:50px;background:#15803d!important;border-color:#15803d!important;color:#fff!important;}
.account-ui :is(button[name=login],button[name=save_account_details],button[name=save_address]):hover{background:#166534!important;border-color:#166534!important;}
.account-ui .lost_password a{color:#166534;font-size:.875rem;}
.account-ui :is(input,select,textarea,button,a):focus-visible{outline:3px solid rgb(21 128 61 / 22%);outline-offset:2px;}

/* signed-in shell */
.account-ui .woocommerce:has(> .fanyi-account-sidebar){display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;align-items:start;}
.account-ui .woocommerce:has(> .fanyi-account-sidebar)>.woocommerce-notices-wrapper{grid-column:1/-1;}
.account-ui .woocommerce-notices-wrapper:empty{display:none;}
.account-ui .woocommerce-MyAccount-navigation{width:100%;float:none;margin:0;min-width:0;}
.account-ui .fanyi-account-profile{display:flex;align-items:center;gap:.8rem;padding:1rem;margin:0 0 .75rem;border:1px solid var(--fanyi-border);border-radius:14px;background:#f7faf7;}
.account-ui .fanyi-account-avatar{flex:0 0 44px;width:44px;height:44px;border-radius:50%;overflow:hidden;background:#e9f3eb;}
.account-ui .fanyi-account-avatar img{display:block;width:100%;height:100%;object-fit:cover;}
.account-ui .fanyi-account-profile-copy{display:flex;flex-direction:column;min-width:0;line-height:1.25;}
.account-ui .fanyi-account-profile-copy strong{font-size:.9rem;color:var(--fanyi-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.account-ui .fanyi-account-profile-copy small{margin-top:.2rem;font-size:.72rem;color:var(--fanyi-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.account-ui .woocommerce-MyAccount-navigation ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;list-style:none;margin:0;padding:0;}
.account-ui .woocommerce-MyAccount-navigation li{min-width:0;margin:0;}
.account-ui .woocommerce-MyAccount-navigation a{display:flex;align-items:center;min-height:46px;padding:.68rem .8rem;border:1px solid var(--fanyi-border);border-radius:10px;background:#fff;color:#26322d;text-decoration:none!important;font-size:.875rem;font-weight:600;}
.account-ui .woocommerce-MyAccount-navigation a:hover{border-color:#b8cfbe;background:#f7faf7;color:#166534;}
.account-ui .woocommerce-MyAccount-navigation .is-active a{background:#15803d;border-color:#15803d;color:#fff;}
.account-ui .woocommerce-MyAccount-navigation-link--customer-logout a{color:#8b2d25;}
.account-ui .woocommerce-MyAccount-content{width:auto;float:none;min-width:0;padding:clamp(1rem,2.6vw,1.75rem);border:1px solid var(--fanyi-border);border-radius:18px;background:#fff;box-shadow:0 18px 44px rgb(23 34 31 / 5%);overflow-wrap:anywhere;}
.account-ui .woocommerce-MyAccount-content>p:first-child{margin-top:0;}
.account-ui .woocommerce-MyAccount-content>p{color:#53605a;line-height:1.65;}

/* Orders + view order */
.account-ui .woocommerce-orders-table,.account-ui .woocommerce-table--order-details,.account-ui .shop_table{width:100%;border:1px solid var(--fanyi-border)!important;border-radius:12px;border-collapse:separate!important;border-spacing:0;overflow:hidden;background:#fff;font-size:.875rem;}
.account-ui .shop_table :is(th,td){padding:.85rem .8rem!important;text-align:left;border:0!important;border-bottom:1px solid #e7ece8!important;vertical-align:middle;overflow-wrap:anywhere;background:#fff;}
.account-ui .shop_table thead th{background:#f5f8f5!important;color:#26322d;font-size:.75rem;text-transform:uppercase;letter-spacing:.045em;font-weight:700;}
.account-ui .shop_table tr:last-child :is(th,td){border-bottom:0!important;}
.account-ui .shop_table .button{min-height:36px;padding:.48rem .7rem;font-size:.78rem;background:#15803d;color:#fff;border-color:#15803d;}
.account-ui .woocommerce-orders-table__cell-order-number a{font-weight:750;color:#166534;}
.account-ui mark{padding:.2rem .45rem;border-radius:999px;background:#eef7ef;color:#166534;font-weight:650;}
.account-ui .woocommerce-order-details,.account-ui .woocommerce-customer-details{margin-top:1.5rem;}
.account-ui .woocommerce-order-details__title,.account-ui .woocommerce-column__title{font-size:1.15rem;margin:0 0 .85rem;}

/* Addresses */
.account-ui .woocommerce-Addresses{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;margin-top:.5rem;}
.account-ui .woocommerce-Address{width:auto;float:none;min-width:0;padding:1.1rem;border:1px solid var(--fanyi-border);border-radius:14px;background:#fafcfb;}
.account-ui .woocommerce-Address-title{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.7rem;}
.account-ui .woocommerce-Address-title h3{margin:0;font-size:1rem;}
.account-ui .woocommerce-Address-title .edit{font-size:.8rem;font-weight:650;color:#166534;text-decoration:none;}
.account-ui .woocommerce-Address address{font-style:normal;color:#53605a;line-height:1.65;}

/* Account details / address forms */
.account-ui fieldset{min-width:0;margin:1.25rem 0;padding:1rem;border:1px solid var(--fanyi-border);border-radius:12px;background:#fafcfb;}
.account-ui legend{padding:0 .4rem;font-weight:700;color:#26322d;}
.account-ui .woocommerce-EditAccountForm,.account-ui .woocommerce-address-fields{max-width:760px;}
.account-ui .woocommerce-EditAccountForm .clear,.account-ui .woocommerce-address-fields .clear{display:none;}
.account-ui .woocommerce-pagination{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.1rem;}

@media(min-width:48rem){
 .account-ui #customer_login{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;}
 .account-ui .woocommerce-Addresses{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(min-width:64rem){
 .account-ui .woocommerce:has(> .fanyi-account-sidebar){grid-template-columns:272px minmax(0,1fr);gap:24px;}
 .account-ui .fanyi-account-sidebar{position:sticky;top:94px;}
 .account-ui .woocommerce-MyAccount-navigation ul{grid-template-columns:minmax(0,1fr);}
}
@media(max-width:47.999rem){
 .account-ui{padding-top:.8rem;}
 .account-ui .entry-title{font-size:2rem;margin-bottom:1rem;}
 .account-ui .woocommerce-MyAccount-navigation ul{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
 .account-ui .woocommerce-MyAccount-content{padding:1rem;border-radius:14px;}
 .account-ui .shop_table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;}
 .account-ui .shop_table :is(th,td){min-width:110px;padding:.7rem .55rem!important;font-size:.8rem;}
 .account-ui .woocommerce-MyAccount-content button[type=submit]{width:100%;}
}

/* 1.0.33: account entry page, scoped away from checkout and account endpoints. */
body.fanyipins-ui-account .account-ui:has(#customer_login){background:#f5f8f6;padding:48px 0 64px;}
body.fanyipins-ui-account .account-ui:has(#customer_login) > .fanyi-container{width:calc(100% - 48px);max-width:1040px;}
body.fanyipins-ui-account .account-ui:has(#customer_login) .ast-article-single{padding:0;background:transparent;}
body.fanyipins-ui-account .account-ui:has(#customer_login) .entry-header{margin-bottom:24px;text-align:center;}
body.fanyipins-ui-account .account-ui:has(#customer_login) .entry-title{font-size:36px;margin:0;}
body.fanyipins-ui-account .account-ui .fanyipins-account-intro{max-width:620px;padding:0;margin:0 auto 32px;border:0;border-radius:0;background:transparent;text-align:center;}
body.fanyipins-ui-account .account-ui .fanyipins-account-intro strong{font-size:clamp(25px,3vw,34px);line-height:1.2;letter-spacing:-.03em;margin-bottom:12px;}
body.fanyipins-ui-account .account-ui .fanyipins-account-intro span{display:block;font-size:15px;line-height:1.7;color:#607067;}
body.fanyipins-ui-account .account-ui:has(.fanyipins-account-intro):has(#customer_login) .entry-header{display:none;}
body.fanyipins-ui-account .account-ui #customer_login h2{font-size:26px;line-height:1.2;letter-spacing:-.025em;margin:0 0 12px;}
body.fanyipins-ui-account .account-ui :is(form.login,form.register){margin:0!important;padding:0!important;border:0!important;background:transparent;box-shadow:none;min-width:0;}
body.fanyipins-ui-account .account-ui .fanyi-auth-description{color:#607067;font-size:14px;line-height:1.6;margin:0 0 24px;}
body.fanyipins-ui-account .account-ui :is(form.login,form.register) p.form-row{margin:0 0 18px!important;}
body.fanyipins-ui-account .account-ui :is(form.login,form.register) label{font-size:14px;line-height:1.5;font-weight:600;margin:0 0 7px;}
body.fanyipins-ui-account .account-ui :is(form.login,form.register) input.input-text{width:100%!important;max-width:100%;min-width:0;height:50px;padding:0 14px!important;font-size:16px!important;line-height:normal;border:1px solid #d5dfd8;border-radius:10px;background:#fff;box-shadow:0 1px 2px rgb(23 34 31 / 2%);}
body.fanyipins-ui-account .account-ui :is(form.login,form.register) input.input-text:focus{border-color:#15803d;outline:3px solid #e3f0e7;outline-offset:1px;}
body.fanyipins-ui-account .account-ui :is(form.login,form.register) .password-input{position:relative;display:block;width:100%;min-width:0;}
body.fanyipins-ui-account .account-ui :is(form.login,form.register) .password-input input.input-text{padding-right:50px!important;}
body.fanyipins-ui-account .account-ui :is(form.login,form.register) .show-password-input{position:absolute!important;inset:3px 3px auto auto!important;transform:none!important;display:flex!important;align-items:center;justify-content:center;width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important;margin:0!important;padding:0!important;border:0!important;border-radius:8px;background:transparent!important;color:#53605a!important;box-shadow:none!important;line-height:1;cursor:pointer;}
body.fanyipins-ui-account .account-ui :is(form.login,form.register) .show-password-input::after{margin:0!important;line-height:1;}
body.fanyipins-ui-account .account-ui form.login .woocommerce-form-login__rememberme{display:flex!important;align-items:center;gap:8px;float:none!important;min-height:36px;margin:0 0 14px;font-weight:400;}
body.fanyipins-ui-account .account-ui form.login #rememberme{width:18px!important;height:18px!important;min-width:18px;margin:0!important;flex:0 0 18px;}
body.fanyipins-ui-account .account-ui :is(form.login,form.register) button[type=submit]{display:flex;align-items:center;justify-content:center;float:none!important;width:100%!important;min-height:50px;margin:0!important;padding:12px 18px!important;border:1px solid #15803d!important;border-radius:10px!important;background:#15803d!important;color:#fff!important;font-size:16px;line-height:1.4;font-weight:650;white-space:normal;}
body.fanyipins-ui-account .account-ui :is(form.login,form.register) button[type=submit]:hover{background:#166534!important;border-color:#166534!important;}
body.fanyipins-ui-account .account-ui :is(form.login,form.register) button[type=submit]:disabled{opacity:.55;cursor:not-allowed;}
body.fanyipins-ui-account .account-ui form.login .lost_password{margin:0;text-align:center;}
body.fanyipins-ui-account .account-ui form.login .lost_password a{display:inline-block;padding:10px 0;font-size:14px;}
body.fanyipins-ui-account .account-ui .woocommerce-privacy-policy-text{font-size:13px;line-height:1.65;color:#607067;margin:20px 0;}
body.fanyipins-ui-account .account-ui .woocommerce-privacy-policy-text a{color:#166534;text-decoration:underline;}
body.fanyipins-ui-account .account-ui .fanyipins-password-help{font-size:12px;line-height:1.6;color:#607067;}
@media(min-width:48rem){
 .account-ui #customer_login{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:47.999rem){
 body.fanyipins-ui-account .account-ui:has(#customer_login){padding:28px 0 40px;}
 body.fanyipins-ui-account .account-ui:has(#customer_login) > .fanyi-container{width:calc(100% - 32px);}
 body.fanyipins-ui-account .account-ui #customer_login{gap:20px;}
 body.fanyipins-ui-account .account-ui #customer_login > div{padding:24px 20px;border-radius:16px;overflow:visible;}
 body.fanyipins-ui-account .account-ui .fanyipins-account-intro{margin-bottom:24px;}
 body.fanyipins-ui-account .account-ui #customer_login h2{font-size:24px;}
}

/* 1.0.34: one native authentication form per screen. Real links also work
   without JavaScript; failed POSTs retain the submitted form server-side. */
body.fanyipins-ui-account:is(.fanyi-auth-login,.fanyi-auth-register) .account-ui #customer_login{
 grid-template-columns:minmax(0,1fr)!important;max-width:520px;
}
body.fanyi-auth-login .account-ui #customer_login > .u-column2,
body.fanyi-auth-register .account-ui #customer_login > .u-column1{display:none!important;}
body.fanyi-auth-register .account-ui #customer_login > .u-column2{border-top-color:#15803d;}
body.fanyipins-ui-account .account-ui :is(form.login,form.register) .fanyi-auth-switch{
 margin:24px 0 0;padding:22px 0 0;border-top:1px solid #e5ebe7;
 text-align:center;font-size:14px;line-height:1.7;color:#607067;
}
body.fanyipins-ui-account .account-ui .fanyi-auth-switch a{
 display:inline-block;padding:6px 2px;color:#166534;font-weight:650;
 text-decoration:underline;text-underline-offset:3px;
}
body.fanyipins-ui-account .account-ui .fanyi-auth-switch a:hover{color:#124b28;}

/* 1.0.35: signed-in account shell. Profile/ID/navigation share a real wrapper,
   so hook output and WooCommerce clearfixes cannot occupy stray grid cells. */
body.fanyipins-ui-account .account-ui .woocommerce:has(> .fanyi-account-sidebar)::before,
body.fanyipins-ui-account .account-ui .woocommerce:has(> .fanyi-account-sidebar)::after{content:none!important;display:none!important;}
body.fanyipins-ui-account .account-ui .fanyi-account-sidebar{
 min-width:0;width:100%;padding:16px;border:1px solid #dfe7e2;border-radius:18px;
 background:#fff;box-shadow:0 8px 24px rgb(24 39 31 / 4%);
}
body.fanyipins-ui-account .account-ui .fanyi-account-sidebar .fanyi-account-profile{
 margin:0 0 16px;padding:4px 0 18px;border:0;border-bottom:1px solid #e5ebe7;
 border-radius:0;background:transparent;
}
body.fanyipins-ui-account .account-ui .fanyi-account-profile-copy :is(strong,small){
 white-space:normal;overflow-wrap:anywhere;
}
body.fanyipins-ui-account .account-ui .fanyi-account-sidebar .fanyipins-customer-id-card{
 margin:0 0 16px;padding:0 0 18px;border:0;border-bottom:1px solid #e5ebe7;
 border-radius:0;background:transparent;gap:12px;
}
body.fanyipins-ui-account .account-ui .fanyi-account-sidebar .fanyipins-customer-id-card > div{
 display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px;
}
body.fanyipins-ui-account .account-ui .fanyi-account-sidebar .fanyipins-customer-id-card a{
 width:100%;min-height:44px;padding:10px 12px;text-align:center;white-space:normal;
}
body.fanyipins-ui-account .account-ui .woocommerce-MyAccount-navigation{
 position:static!important;float:none!important;clear:none!important;width:100%!important;
 max-width:100%;margin:0!important;padding:0!important;border:0!important;box-shadow:none;background:transparent;
}
body.fanyipins-ui-account .account-ui .woocommerce-MyAccount-navigation ul{
 margin:0!important;padding:0!important;border:0;list-style:none;
}
body.fanyipins-ui-account .account-ui .woocommerce-MyAccount-navigation li{
 margin:0!important;padding:0!important;border:0!important;list-style:none;
}
body.fanyipins-ui-account .account-ui .woocommerce-MyAccount-navigation li::before{content:none!important;}
body.fanyipins-ui-account .account-ui .woocommerce-MyAccount-navigation a{
 border-color:transparent;padding:12px;min-height:46px;overflow-wrap:anywhere;
}
body.fanyipins-ui-account .account-ui .woocommerce-MyAccount-content{
 float:none!important;clear:none!important;width:100%!important;max-width:100%;min-width:0;margin:0!important;
}
/* Native notices retain their text, links and live-region attributes.
   Suppress the absolutely positioned Woo icon that overlaid the first letter. */
body.fanyipins-ui-account .account-ui :is(.woocommerce-info,.woocommerce-message,.woocommerce-error)::before,
body.fanyipins-ui-account .account-ui :is(.woocommerce-info,.woocommerce-message,.woocommerce-error)::after{
 content:none!important;display:none!important;
}
body.fanyipins-ui-account .account-ui :is(.woocommerce-info,.woocommerce-message){
 display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;
 padding:18px!important;font-size:14px;line-height:1.65;overflow-wrap:anywhere;
}
body.fanyipins-ui-account .account-ui :is(.woocommerce-info,.woocommerce-message) .button{
 order:1;float:none!important;display:inline-flex;align-items:center;justify-content:center;
 flex:0 1 auto;width:auto;max-width:100%;min-height:44px;height:auto;
 padding:10px 16px!important;margin:0!important;border:1px solid #15803d!important;
 border-radius:9px;background:#15803d;color:#fff;font-size:14px!important;
 line-height:1.4!important;text-align:center;white-space:normal;
}
body.fanyipins-ui-account .account-ui :is(.woocommerce-info,.woocommerce-message) .button:hover{background:#166534;border-color:#166534!important;}
body.fanyipins-ui-account .account-ui .woocommerce-MyAccount-content > :last-child{margin-bottom:0;}
/* Address columns use the same WooCommerce clearfix mechanism as the login form. */
body.fanyipins-ui-account .account-ui .woocommerce-Addresses::before,
body.fanyipins-ui-account .account-ui .woocommerce-Addresses::after{content:none!important;display:none!important;}
body.fanyipins-ui-account .account-ui .woocommerce-Addresses > .woocommerce-Address{
 float:none!important;width:100%!important;min-width:0;margin:0!important;
}
@media(max-width:63.999rem){
 body.fanyipins-ui-account .account-ui .fanyi-account-sidebar{position:static;}
 body.fanyipins-ui-account .account-ui .woocommerce-MyAccount-navigation ul{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:47.999rem){
 body.fanyipins-ui-account .account-ui .woocommerce-MyAccount-content{padding:16px;}
 body.fanyipins-ui-account .account-ui :is(.woocommerce-info,.woocommerce-message){padding:14px!important;gap:12px;}
 body.fanyipins-ui-account .account-ui :is(.woocommerce-info,.woocommerce-message) .button{flex-basis:100%;width:100%;}
}
