/* Targeted native-output corrections. No admin, form or commerce behavior changes.
   !important is limited to conflicts with legacy Additional CSS/block styles. */
body.fanyipins-ui-content .fanyi-about-final-cta {
 background:#166534!important;color:#fff!important;border-radius:20px;
 padding:clamp(24px,3vw,40px)!important;margin-block:28px!important;text-align:center;
}
body.fanyipins-ui-content .fanyi-about-final-cta :is(h2,h3,p){color:#fff!important;max-width:58ch;margin-inline:auto!important;}
body.fanyipins-ui-content .fanyi-about-final-cta h3{font-size:13px!important;line-height:1.5!important;letter-spacing:.1em;margin-block:0 10px!important;}
body.fanyipins-ui-content .fanyi-about-final-cta h2{font-size:clamp(26px,3vw,38px)!important;line-height:1.15!important;margin-block:0 14px!important;}
body.fanyipins-ui-content .fanyi-about-final-cta p{font-size:16px;line-height:1.6;opacity:.9;margin-block:0 20px!important;}
body.fanyipins-ui-content .fanyi-about-final-cta .custom-pins-bottom-cta{margin:0!important;padding:0!important;}
body.fanyipins-ui-content .fanyi-about-final-cta a.wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px!important;background:#fff!important;color:#166534!important;border:1px solid #fff!important;border-radius:8px;text-decoration:none!important;font-size:14px;line-height:1.4;}
body.fanyipins-ui-content .fanyi-about-final-cta a:focus-visible{outline:3px solid #fff;outline-offset:4px;}
/* Keep Astra controls, dropdowns and search form untouched. */
body.fanyipins-ui-footer #masthead :is(.ast-header-search,.ast-header-account,.ast-header-woo-cart){margin-inline:3px!important;padding:0!important;align-self:center;}
body.fanyipins-ui-footer #masthead :is(.astra-search-icon,.ast-header-account-link,.cart-container){display:inline-flex!important;align-items:center;justify-content:center;width:38px;min-width:38px;height:38px;padding:0!important;border:0!important;border-radius:8px;line-height:1;text-decoration:none!important;box-sizing:border-box;}
body.fanyipins-ui-footer #masthead :is(.astra-search-icon,.ast-header-account-link,.cart-container):hover{background:#f1f5f1;}
body.fanyipins-ui-footer #masthead :is(.astra-search-icon,.ast-header-account-link,.cart-container):focus-visible{outline:2px solid #15803d;outline-offset:2px;}
body.fanyipins-ui-footer #masthead :is(.astra-search-icon,.ast-header-account-link,.cart-container) svg{width:20px!important;height:20px!important;}
body.fanyipins-ui-footer #masthead .ast-addon-cart-wrap{display:flex;align-items:center;justify-content:center;padding:0!important;border:0!important;background:transparent!important;}
body.fanyipins-ui-footer #masthead .ast-icon-shopping-cart{position:relative;display:inline-flex;align-items:center;line-height:1;}
body.fanyipins-ui-footer #masthead .ast-icon-shopping-cart::after{top:-8px!important;right:-10px!important;min-width:16px;height:16px;line-height:16px;padding:0 3px;font-size:10px;font-weight:600;border-radius:20px;box-shadow:none;}
/* One sticky owner. Keep the Astra header in normal document flow while pinning it to the viewport. */
@media(min-width:922px){
 body.fanyipins-ui-footer #masthead{position:-webkit-sticky!important;position:sticky!important;top:0!important;z-index:9999!important;width:100%;margin:0!important;padding:0!important;background:#fff;border-bottom:1px solid #e1e7e1;box-shadow:0 2px 8px rgb(23 34 31 / 5%);}
 body.fanyipins-ui-footer #masthead :is(.ast-primary-header-bar,.ast-main-header-wrap){position:relative!important;top:auto!important;}
 body.fanyipins-ui-footer.admin-bar #masthead{top:32px!important;}
}
@media(max-width:921px){
 body.fanyipins-ui-footer #masthead{position:sticky!important;top:0!important;z-index:999!important;width:100%;margin:0!important;padding:0!important;background:#fff;border-bottom:1px solid #e1e7e1;box-shadow:0 2px 8px rgb(23 34 31 / 5%);}
 body.fanyipins-ui-footer #masthead :is(.ast-primary-header-bar,.ast-main-header-wrap,#ast-mobile-header){position:relative!important;top:auto!important;}
 body.fanyipins-ui-footer #ast-mobile-header .ast-primary-header-bar{min-height:68px!important;padding:0 16px!important;border:0!important;}
 body.fanyipins-ui-footer #ast-mobile-header .ast-builder-grid-row{min-height:68px;align-items:center;column-gap:8px;}
 body.fanyipins-ui-footer #ast-mobile-header :is(.site-header-section,.site-branding,.ast-site-identity){align-items:center;padding-block:0!important;margin-block:0!important;}
 body.fanyipins-ui-footer #ast-mobile-header .site-logo-img{padding:0;}
 body.fanyipins-ui-footer #ast-mobile-header .custom-logo-link{display:flex;align-items:center;}
 body.fanyipins-ui-footer #ast-mobile-header .site-header-primary-section-right{gap:2px;}
 body.fanyipins-ui-footer #ast-mobile-header :is(.ast-header-account,.ast-header-woo-cart){margin-inline:0!important;}
 body.fanyipins-ui-footer #ast-mobile-header .menu-toggle{width:38px;min-height:38px;padding:6px!important;}
 body.fanyipins-ui-footer #ast-mobile-header .ast-mobile-header-content{max-height:calc(100dvh - 114px);overflow-y:auto;}
}
@media(min-width:601px) and (max-width:782px){body.fanyipins-ui-footer.admin-bar #masthead{top:46px!important;}}
@media(min-width:783px) and (max-width:921px){body.fanyipins-ui-footer.admin-bar #masthead{top:32px!important;}}
/* Actual production Contact blocks. Match Gutenberg column stacking at 781px; no Forminator descendants. */
@media(max-width:781px){
 body.fanyipins-ui-contact #primary .contact-benefit-row{display:grid!important;grid-template-columns:48px minmax(0,1fr)!important;gap:0 16px!important;align-items:start!important;margin:0 0 24px!important;padding:0!important;min-height:0!important;}
 body.fanyipins-ui-contact #primary .contact-benefit-row > div{position:static!important;float:none!important;width:auto!important;min-width:0;min-height:0!important;margin:0!important;padding:0!important;align-self:start!important;}
 body.fanyipins-ui-contact #primary .contact-benefit-row figure{position:static!important;float:none!important;display:block!important;width:48px!important;height:48px!important;margin:0!important;padding:0!important;}
 body.fanyipins-ui-contact #primary .contact-benefit-row :is(picture,img){display:block;width:48px!important;height:48px!important;max-width:100%;object-fit:contain!important;}
 body.fanyipins-ui-contact #primary .contact-benefit-row :is(h5,p){margin:0!important;padding:0!important;}
 body.fanyipins-ui-contact #primary .contact-benefit-row h5{font-size:17px!important;line-height:1.35!important;margin-bottom:5px!important;}
 body.fanyipins-ui-contact #primary .contact-benefit-row p{font-size:15px;line-height:1.55;}
 body.fanyipins-ui-contact #primary .contact-benefit-row a{overflow-wrap:anywhere;}
 body.fanyipins-ui-contact #primary div:has(> .contact-benefit-row){padding-block:0!important;margin-block:0!important;min-height:0!important;}
 body.fanyipins-ui-contact #primary div:has(> div > .contact-benefit-row){gap:24px!important;margin-block:20px!important;padding-block:0!important;min-height:0!important;}
}
/* Native WooCommerce panels remain responsible for visibility and interaction. */
body.fanyipins-ui-shopping.single-product .woocommerce-tabs .wc-tabs a{text-decoration:none!important;}
body.fanyipins-ui-shopping.single-product .woocommerce-tabs .wc-tabs li.active a{background:var(--fanyi-green,#15803d)!important;color:#fff!important;}
body.fanyipins-ui-shopping.single-product .woocommerce-tabs .shop_attributes :is(.woocommerce-product-attributes-item--weight,.woocommerce-product-attributes-item--dimensions){display:none!important;}
body.fanyipins-ui-shopping.single-product .woocommerce-tabs .shop_attributes :is(th,td){vertical-align:middle;line-height:1.5;}
body.fanyipins-ui-shopping.single-product .woocommerce-tabs .shop_attributes td p{margin:0;padding:0;}
@media(max-width:767px){
 body.fanyipins-ui-shopping.single-product .woocommerce-tabs{margin-block:24px!important;padding-top:0!important;}
 body.fanyipins-ui-shopping.single-product .woocommerce-tabs ul.wc-tabs{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px!important;padding:12px 0!important;margin:0 0 16px!important;overflow:visible;border:0!important;}
 body.fanyipins-ui-shopping.single-product .woocommerce-tabs ul.wc-tabs::before,
 body.fanyipins-ui-shopping.single-product .woocommerce-tabs ul.wc-tabs li::before,
 body.fanyipins-ui-shopping.single-product .woocommerce-tabs ul.wc-tabs li::after{content:none!important;}
 body.fanyipins-ui-shopping.single-product .woocommerce-tabs ul.wc-tabs li{display:block;min-width:0;margin:0!important;padding:0!important;border:0!important;background:transparent!important;}
 body.fanyipins-ui-shopping.single-product .woocommerce-tabs ul.wc-tabs li a{display:flex!important;justify-content:center!important;align-items:center!important;text-align:center!important;min-height:44px;width:100%;padding:8px 3px!important;margin:0!important;font-size:13px!important;font-weight:600;line-height:1.3!important;white-space:nowrap;color:#17221f;background:#f5f6f3;border:1px solid #d7ded8;border-radius:8px;}
 body.fanyipins-ui-shopping.single-product .woocommerce-tabs ul.wc-tabs li.active a{border-color:#15803d;}
 body.fanyipins-ui-shopping.single-product .woocommerce-tabs .woocommerce-Tabs-panel{margin:0!important;padding:0!important;}
 body.fanyipins-ui-shopping.single-product .woocommerce-tabs .shop_attributes th{width:38%;}
 body.fanyipins-ui-shopping.single-product .related.products{margin-top:24px!important;padding-top:0!important;}
 body.fanyipins-ui-shopping.single-product .summary form.cart:not(.variations_form),
 body.fanyipins-ui-shopping.single-product .woocommerce-variation-add-to-cart{display:flex;flex-wrap:wrap;align-items:center;gap:10px;}
 body.fanyipins-ui-shopping.single-product .summary form.cart .quantity{flex:0 0 72px;margin:0!important;}
 body.fanyipins-ui-shopping.single-product .summary form.cart .quantity input{width:72px;max-width:100%;height:48px;}
 body.fanyipins-ui-shopping.single-product .summary form.cart .single_add_to_cart_button{flex:1 1 0;min-width:0;min-height:48px;margin:0!important;padding:12px 10px!important;text-decoration:none!important;}
 body.fanyipins-ui-shopping.single-product .summary form.cart .live-product-total{flex:0 0 100%;width:100%;margin:4px 0 0!important;}
}

/* About capabilities: one grid, independent of legacy nested Gutenberg rows. */
body.fanyipins-ui-content .fanyi-about-capabilities-grid{
 display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
 gap:24px 18px!important;width:100%!important;max-width:100%!important;
 margin-block:24px!important;padding:0!important;min-height:0!important;
}
body.fanyipins-ui-content .fanyi-about-capabilities-grid > .fanyi-about-capability{
 display:grid!important;grid-template-columns:40px minmax(0,1fr)!important;
 align-items:start!important;gap:10px!important;min-width:0!important;width:auto!important;
 max-width:none!important;margin:0!important;padding:0!important;min-height:0!important;
 border:0!important;background:transparent!important;box-shadow:none!important;
}
body.fanyipins-ui-content .fanyi-about-capability > div{
 min-width:0!important;width:auto!important;margin:0!important;padding:0!important;align-self:start!important;
}
body.fanyipins-ui-content .fanyi-about-capability :is(figure,.fanyi-capability-icon){
 width:40px!important;height:40px!important;min-width:0!important;margin:0!important;padding:0!important;float:none!important;
}
body.fanyipins-ui-content .fanyi-about-capability .fanyi-capability-icon svg{
 width:calc(var(--cap-optical-size,40px) * .72)!important;height:calc(var(--cap-optical-size,40px) * .72)!important;max-width:36px;max-height:36px;
}
body.fanyipins-ui-content .fanyi-about-capability h5{
 font-size:15px!important;line-height:1.35!important;letter-spacing:normal!important;margin:0 0 6px!important;
}
body.fanyipins-ui-content .fanyi-about-capability p{font-size:14px!important;line-height:1.55!important;margin:0!important;}
@media(min-width:1024px){
 body.fanyipins-ui-content .fanyi-about-capabilities-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:28px 32px!important;}
 body.fanyipins-ui-content .fanyi-about-capabilities-grid > .fanyi-about-capability{grid-template-columns:48px minmax(0,1fr)!important;gap:14px!important;}
 body.fanyipins-ui-content .fanyi-about-capability :is(figure,.fanyi-capability-icon){width:48px!important;height:48px!important;}
 body.fanyipins-ui-content .fanyi-about-capability .fanyi-capability-icon svg{width:calc(var(--cap-optical-size,40px) * .86)!important;height:calc(var(--cap-optical-size,40px) * .86)!important;max-width:44px;max-height:44px;}
 body.fanyipins-ui-content .fanyi-about-capability h5{font-size:17px!important;}
}
@media(max-width:479px){
 body.fanyipins-ui-content .fanyi-about-capabilities-grid{gap:22px 14px!important;}
 body.fanyipins-ui-content .fanyi-about-capabilities-grid > .fanyi-about-capability{grid-template-columns:32px minmax(0,1fr)!important;gap:8px!important;}
 body.fanyipins-ui-content .fanyi-about-capability :is(figure,.fanyi-capability-icon){width:32px!important;height:32px!important;}
 body.fanyipins-ui-content .fanyi-about-capability .fanyi-capability-icon svg{width:calc(var(--cap-optical-size,40px) * .57)!important;height:calc(var(--cap-optical-size,40px) * .57)!important;max-width:28px;max-height:28px;}
 body.fanyipins-ui-content .fanyi-about-capability h5{font-size:14px!important;}
}
@media(max-width:389px){
 body.fanyipins-ui-content .fanyi-about-capabilities-grid{grid-template-columns:minmax(0,1fr)!important;gap:18px!important;}
 body.fanyipins-ui-content .fanyi-about-capabilities-grid > .fanyi-about-capability{grid-template-columns:40px minmax(0,1fr)!important;gap:12px!important;}
 body.fanyipins-ui-content .fanyi-about-capability :is(figure,.fanyi-capability-icon){width:40px!important;height:40px!important;}
 body.fanyipins-ui-content .fanyi-about-capability .fanyi-capability-icon svg{width:calc(var(--cap-optical-size,40px) * .72)!important;height:calc(var(--cap-optical-size,40px) * .72)!important;max-width:36px;max-height:36px;}
 body.fanyipins-ui-content .fanyi-about-capability h5{font-size:15px!important;}
}

/* Round 2: native category navigation, approved Bulk hero and About introduction. */
body.fanyipins-ui-shopping .shopping-ui .shop-categories.fanyi-category-nav{display:block!important;max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-inline:contain;padding:8px 0 18px!important;margin:0 0 16px;scroll-padding-inline:8px;}
body.fanyipins-ui-shopping .fanyi-category-nav .fanyi-category-list{display:flex;align-items:center;justify-content:center;gap:7px;width:max-content;min-width:100%;margin-inline:auto;}
body.fanyipins-ui-shopping .shopping-ui .fanyi-category-nav a{flex:0 0 auto;justify-content:center;white-space:nowrap;min-height:44px;padding:10px 11px!important;font-size:13px!important;line-height:1.3;text-decoration:none!important;border-radius:8px;}
body.fanyipins-ui-shopping .fanyi-category-nav a:focus-visible{outline:2px solid #166534;outline-offset:-3px;}
body.fanyipins-ui-shopping .shopping-ui .fanyi-category-nav a[aria-current="page"]{background:#15803d!important;color:#fff!important;border-color:#15803d!important;}
body.fanyipins-ui-bulk-orders .bulk-ui .bulk-hero{grid-template-columns:1.12fr 1fr;align-items:center;gap:clamp(32px,5vw,80px);padding:clamp(32px,5vw,72px) 0 40px;}
body.fanyipins-ui-bulk-orders .bulk-hero .fanyi-title{color:#17221f!important;font-size:clamp(44px,5vw,76px)!important;line-height:1.06!important;letter-spacing:-.035em;margin:0!important;}
body.fanyipins-ui-bulk-orders .bulk-hero .fanyi-title span{color:#166534!important;}
body.fanyipins-ui-bulk-orders .bulk-hero .fanyi-lead{font-size:18px;line-height:1.6;margin:20px 0 28px;}
body.fanyipins-ui-bulk-orders .bulk-hero .bulk-brief h2{color:#fff!important;font-size:clamp(32px,3vw,44.8px)!important;line-height:1.15!important;margin:16px 0 24px!important;}
body.fanyipins-ui-bulk-orders .bulk-hero .bulk-brief{color:#fff!important;background:#166534!important;}
body.fanyipins-ui-bulk-orders .bulk-hero .bulk-brief li{font-size:16px;}
body.fanyipins-ui-bulk-orders .bulk-hero .bulk-brief small{font-size:13px;color:#dce9db;}
body.fanyipins-ui-bulk-orders .bulk-hero .fanyi-button{text-decoration:none!important;}
body.fanyipins-ui-content .fanyi-about-who{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:24px;background:var(--fanyi-bg-soft,#f5f6f3);padding:clamp(16px,2.5vw,32px);border-radius:20px;margin:0 0 32px!important;max-width:100%;}
body.fanyipins-ui-content .fanyi-about-who > div{min-width:0;max-width:100%;margin:0!important;}
body.fanyipins-ui-content .fanyi-about-who-copy > h3{font-size:16px!important;line-height:1.4!important;margin:0 0 12px!important;color:#166534!important;}
body.fanyipins-ui-content .fanyi-about-who-copy > h1{font-size:clamp(30px,3.3vw,48px)!important;line-height:1.25!important;margin:0 0 16px!important;color:#17221f!important;}
body.fanyipins-ui-content .fanyi-about-who-copy > p{font-size:16px;line-height:1.7;margin:0 0 20px!important;}
body.fanyipins-ui-content .fanyi-about-who-features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0!important;}
body.fanyipins-ui-content .fanyi-about-who-feature{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:12px;min-width:0;}
body.fanyipins-ui-content .fanyi-about-who-feature figure{width:48px;height:48px;margin:0!important;float:none!important;}
body.fanyipins-ui-content .fanyi-about-who-feature :is(picture,img){display:block;width:48px!important;height:48px!important;object-fit:contain!important;}
body.fanyipins-ui-content .fanyi-about-who-feature h5{font-size:15px!important;line-height:1.4!important;margin:0!important;}
body.fanyipins-ui-content .fanyi-about-who-media figure{margin:0!important;width:100%;}
body.fanyipins-ui-content .fanyi-about-who-media img{display:block;width:100%!important;height:auto!important;object-fit:contain!important;border-radius:14px;}
@media(max-width:767px){
 body.fanyipins-ui-shopping .shopping-ui .shop-categories.fanyi-category-nav{padding-bottom:12px!important;}
 body.fanyipins-ui-shopping .fanyi-category-nav .fanyi-category-list{justify-content:flex-start;gap:6px;}
 body.fanyipins-ui-bulk-orders .bulk-ui .bulk-hero{grid-template-columns:minmax(0,1fr);gap:16px;padding:24px 0;}
 body.fanyipins-ui-bulk-orders .bulk-hero .fanyi-title{font-size:clamp(41.6px,10vw,56px)!important;}
 body.fanyipins-ui-bulk-orders .bulk-hero .fanyi-lead{font-size:16px;margin:16px 0 20px;}
 body.fanyipins-ui-bulk-orders .bulk-hero .bulk-brief h2{font-size:28px!important;margin:12px 0 16px!important;}
 body.fanyipins-ui-bulk-orders .bulk-hero .bulk-brief{padding:20px;}
 body.fanyipins-ui-content .fanyi-about-who{grid-template-columns:minmax(0,1fr);gap:24px;margin-bottom:24px!important;}
 body.fanyipins-ui-content .fanyi-about-who-copy > h1{font-size:30px!important;}
 body.fanyipins-ui-content .fanyi-about-who-features{grid-template-columns:minmax(0,1fr);gap:16px;}
}

/* 1.0.5: button links only, across link/visited/hover/focus/active states.
   Preserve genuine outlined-button borders; suppress decorative underline layers. */
body.fanyipins-ui-footer :is(a.fp-button,a.fanyi-button,a.fanyi-quote-btn),
body.fanyipins-ui-page .fanyipins-ui-scope :is(a.button,a.wp-block-button__link,.fanyi-category-nav a){text-decoration:none!important;text-decoration-line:none!important;box-shadow:none!important;}
body.fanyipins-ui-footer :is(a.fp-button,a.fanyi-button,a.fanyi-quote-btn) :is(span,strong),
body.fanyipins-ui-page .fanyipins-ui-scope :is(a.button,a.wp-block-button__link,.fanyi-category-nav a) :is(span,strong){text-decoration:none!important;text-decoration-line:none!important;border-bottom:0!important;box-shadow:none!important;}
body.fanyipins-ui-footer :is(a.fp-button,a.fanyi-button,a.fanyi-quote-btn)::before,
body.fanyipins-ui-footer :is(a.fp-button,a.fanyi-button,a.fanyi-quote-btn)::after,
body.fanyipins-ui-page .fanyipins-ui-scope :is(a.button,a.wp-block-button__link,.fanyi-category-nav a)::before,
body.fanyipins-ui-page .fanyipins-ui-scope :is(a.button,a.wp-block-button__link,.fanyi-category-nav a)::after{content:none!important;border-bottom:0!important;box-shadow:none!important;}
/* Keep native links, search handlers and cart fragments. */
body.fanyipins-ui-footer #masthead :is(.astra-search-icon,.ast-header-account-link,.cart-container){color:#17221f!important;width:38px!important;height:38px!important;min-width:38px!important;vertical-align:middle;}
body.fanyipins-ui-footer #masthead :is(.astra-search-icon,.ast-header-account-link,.cart-container) svg{width:19px!important;height:19px!important;fill:currentColor;}
body.fanyipins-ui-footer #masthead :is(.astra-search-icon,.ast-header-account-link,.cart-container):is(:hover,:focus-visible){background:#edf4ee!important;color:#166534!important;}
body.fanyipins-ui-footer #masthead .ast-icon-shopping-cart::after{position:absolute!important;top:-6px!important;right:-7px!important;transform:none!important;display:flex!important;align-items:center;justify-content:center;box-sizing:border-box;min-width:16px!important;width:16px!important;height:16px!important;padding:0!important;border:0!important;border-radius:50%!important;font:600 10px/1 sans-serif!important;background:#15803d!important;color:white!important;}
@media(min-width:922px){body.fanyipins-ui-footer #masthead :is(.ast-header-search,.ast-header-account,.ast-header-woo-cart){margin-inline:3px!important;flex:0 0 38px;}}
@media(max-width:921px){body.fanyipins-ui-footer #ast-mobile-header .site-header-primary-section-right{gap:4px;}body.fanyipins-ui-footer #ast-mobile-header .menu-toggle{color:#17221f!important;}}
/* Native authentication presentation is consolidated in pages/my-account.css. */

/* 1.0.6: mobile native product search and Ready-Made card links only. */
body.fanyipins-ui-footer #fanyi-mobile-search-toggle,
body.fanyipins-ui-footer #fanyi-mobile-search-panel{display:none;}
@media(max-width:921px){
 body.fanyipins-ui-footer #ast-mobile-header #fanyi-mobile-search-toggle{display:inline-flex;align-items:center;justify-content:center;flex:0 0 38px;width:38px;min-width:38px;height:38px;padding:0;margin:0;border:0;border-radius:8px;background:transparent;color:#17221f;line-height:1;}
 body.fanyipins-ui-footer #fanyi-mobile-search-toggle:is(:hover,:focus-visible){background:#edf4ee;color:#166534;}
 body.fanyipins-ui-footer #ast-mobile-header #fanyi-mobile-search-panel:not([hidden]){display:block;width:100%;box-sizing:border-box;padding:0 16px 14px;border-top:1px solid #e1e7e1;background:#fff;}
 body.fanyipins-ui-footer #fanyi-mobile-search-panel[hidden]{display:none!important;}
 body.fanyipins-ui-footer #fanyi-mobile-search-panel .fanyi-mobile-search-actions{display:flex;justify-content:flex-end;height:36px;}
 body.fanyipins-ui-footer #fanyi-mobile-search-panel .fanyi-mobile-search-close{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:36px;padding:0 4px;border:0;background:transparent;color:#166534;font-family:inherit;font-size:14px;font-weight:600;line-height:1.4;}
 body.fanyipins-ui-footer #fanyi-mobile-search-panel .woocommerce-product-search{display:flex;align-items:center;gap:8px;margin:0;padding:0;min-width:0;}
 body.fanyipins-ui-footer #fanyi-mobile-search-panel input[type=search]{flex:1 1 0;width:0;min-width:0;max-width:100%;height:46px;min-height:46px;box-sizing:border-box;padding:0 14px;border:1px solid #d7ded8;border-radius:8px;background:#fff;color:#17221f;font-size:16px;line-height:normal;}
 body.fanyipins-ui-footer #fanyi-mobile-search-panel button[type=submit]{flex:0 0 auto;min-width:46px;height:46px;min-height:46px;margin:0;padding:0 14px;border:1px solid #15803d;border-radius:8px;background:#15803d;color:#fff;font-size:14px;line-height:1.3;}
 body.fanyipins-ui-footer :is(#fanyi-mobile-search-toggle,#fanyi-mobile-search-panel button,#fanyi-mobile-search-panel input):focus-visible{outline:2px solid #166534;outline-offset:2px;}
}
body.fanyipins-ui-home .fanyi-homepage a.fp-ready__card,
body.fanyipins-ui-home .fanyi-homepage a.fp-ready__card .fp-ready__name{text-decoration:none!important;text-decoration-line:none!important;box-shadow:none!important;}
body.fanyipins-ui-home .fanyi-homepage a.fp-ready__card .fp-ready__name{border-bottom:0!important;}
body.fanyipins-ui-home .fanyi-homepage a.fp-ready__card::before,
body.fanyipins-ui-home .fanyi-homepage a.fp-ready__card::after,
body.fanyipins-ui-home .fanyi-homepage a.fp-ready__card .fp-ready__name::before,
body.fanyipins-ui-home .fanyi-homepage a.fp-ready__card .fp-ready__name::after{content:none!important;border-bottom:0!important;box-shadow:none!important;}


/* About CTA v0.7 */
.about-cta{
    background:#15803d;
    border-radius:24px;
    padding:70px 40px;
    text-align:center;
    color:#fff;
}
.about-cta .about-cta-label{
    color:rgba(255,255,255,.8);
    font-size:12px;
    letter-spacing:1px;
    font-weight:600;
    margin-bottom:12px;
}
.about-cta h2{
    color:#fff;
    font-size:36px;
    line-height:1.2;
    margin:0 0 16px;
}
.about-cta p:not(.about-cta-label){
    color:rgba(255,255,255,.88);
    max-width:650px;
    margin:0 auto 30px;
    line-height:1.6;
}
.about-cta .fp-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#fff;
    color:#15803d;
    padding:14px 32px;
    border-radius:10px;
    font-weight:700;
    text-decoration:none;
    box-shadow:0 8px 20px rgba(0,0,0,.15);
}
.about-cta .fp-button:hover{
    transform:translateY(-2px);
}


/* FAQ standalone UI */
.fp-faq-page{padding:60px 0;}
.fp-faq-list{max-width:900px;margin:40px auto 0;}
.fp-faq-item{border:1px solid #e5e7eb;border-radius:14px;background:#fff;margin-bottom:14px;overflow:hidden;}
.fp-faq-item button{width:100%;display:flex;justify-content:space-between;align-items:center;padding:22px 24px;background:none;border:0;font-size:18px;font-weight:600;color:#172033;cursor:pointer;text-align:left;}
.fp-faq-item button span{color:#15803d;font-size:24px;}
.fp-faq-answer{padding:0 24px 22px;color:#64748b;line-height:1.7;}


/* FANYIPINS single product purchase + tabs polish v1.0.8 */
body.fanyipins-ui-shopping.single-product .summary form.cart:not(.variations_form),
body.fanyipins-ui-shopping.single-product .summary .woocommerce-variation-add-to-cart{
  align-items:center!important;
  gap:10px!important;
}
body.fanyipins-ui-shopping.single-product .summary form.cart .quantity{
  flex:0 0 72px!important;
  width:72px!important;
}
body.fanyipins-ui-shopping.single-product .summary form.cart .quantity input.qty{
  width:72px!important;
  height:48px!important;
  min-height:48px!important;
  border-radius:9px!important;
}
body.fanyipins-ui-shopping.single-product .summary form.cart .fanyipins-quantity-unit{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  min-height:48px;
  margin-left:-4px;
  color:#667085;
  font-size:13px;
  font-weight:650;
  line-height:1;
}
body.fanyipins-ui-shopping.single-product .summary form.cart .single_add_to_cart_button{
  flex:1 1 180px!important;
  min-height:48px!important;
}
body.fanyipins-ui-shopping.single-product .summary form.cart .fanyipins-live-total{
  flex:0 0 100%;
  width:100%;
  margin:8px 0 0!important;
  padding:14px 16px;
  border:1px solid #dce3de;
  border-radius:12px;
  background:#fff;
  box-shadow:0 6px 18px rgba(23,32,51,.04);
  color:#667085;
}
body.fanyipins-ui-shopping.single-product .fanyipins-live-total__row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  font-size:14px;
}
body.fanyipins-ui-shopping.single-product .fanyipins-live-total__price{
  color:#17221f;
  font-size:20px;
  font-weight:800;
  line-height:1.15;
}
body.fanyipins-ui-shopping.single-product .fanyipins-live-total__price .woocommerce-Price-amount{
  color:inherit;
}
body.fanyipins-ui-shopping.single-product .fanyipins-live-total__detail{
  margin-top:5px;
  font-size:12px;
  line-height:1.4;
  color:#7b8494;
}

body.fanyipins-ui-shopping.single-product .woocommerce-tabs{
  margin-block:34px!important;
  border-top:0!important;
}
body.fanyipins-ui-shopping.single-product .woocommerce-tabs ul.wc-tabs{
  display:inline-flex!important;
  flex-wrap:wrap!important;
  gap:6px!important;
  width:auto!important;
  max-width:100%;
  margin:0 0 20px!important;
  padding:6px!important;
  border:1px solid #dce3de!important;
  border-radius:14px!important;
  background:#f7f9f7!important;
  box-shadow:0 4px 14px rgba(23,32,51,.035);
}
body.fanyipins-ui-shopping.single-product .woocommerce-tabs ul.wc-tabs::before,
body.fanyipins-ui-shopping.single-product .woocommerce-tabs ul.wc-tabs li::before,
body.fanyipins-ui-shopping.single-product .woocommerce-tabs ul.wc-tabs li::after{
  content:none!important;
  display:none!important;
}
body.fanyipins-ui-shopping.single-product .woocommerce-tabs ul.wc-tabs li{
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
body.fanyipins-ui-shopping.single-product .woocommerce-tabs ul.wc-tabs li a{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:42px!important;
  padding:9px 14px!important;
  border:1px solid transparent!important;
  border-radius:9px!important;
  background:transparent!important;
  color:#34423d!important;
  font-size:14px!important;
  font-weight:650!important;
  line-height:1.2!important;
  text-decoration:none!important;
  transition:background-color .16s ease,color .16s ease,border-color .16s ease;
}
body.fanyipins-ui-shopping.single-product .woocommerce-tabs ul.wc-tabs li a:hover{
  background:#fff!important;
  border-color:#dce3de!important;
}
body.fanyipins-ui-shopping.single-product .woocommerce-tabs ul.wc-tabs li.active a{
  background:var(--fanyi-green,#15803d)!important;
  border-color:var(--fanyi-green,#15803d)!important;
  color:#fff!important;
  box-shadow:0 4px 12px rgba(21,128,61,.16);
}
body.fanyipins-ui-shopping.single-product .woocommerce-tabs .woocommerce-Tabs-panel{
  padding:0 0 8px!important;
}
@media(max-width:767px){
  body.fanyipins-ui-shopping.single-product .summary form.cart .fanyipins-quantity-unit{
    min-height:46px;
  }
  body.fanyipins-ui-shopping.single-product .woocommerce-tabs ul.wc-tabs{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    width:100%!important;
    gap:5px!important;
    padding:5px!important;
  }
  body.fanyipins-ui-shopping.single-product .woocommerce-tabs ul.wc-tabs li a{
    min-height:42px!important;
    padding:7px 4px!important;
    font-size:12px!important;
    white-space:normal!important;
    text-align:center!important;
  }
}


/* Account icon flyout — shared by desktop hover/focus and mobile tap. */
body.fanyipins-ui-footer #masthead .fanyi-account-menu-host{position:relative!important;overflow:visible!important;}
body.fanyipins-ui-footer #masthead .fanyi-account-flyout{position:absolute;right:0;top:calc(100% + 10px);z-index:10050;width:250px;padding:8px;border:1px solid #dfe7e0;border-radius:14px;background:#fff;box-shadow:0 18px 48px rgb(18 33 25 / 14%);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .16s ease,transform .16s ease,visibility .16s ease;}
body.fanyipins-ui-footer #masthead .fanyi-account-menu-host.is-open .fanyi-account-flyout,
body.fanyipins-ui-footer #masthead .fanyi-account-menu-host:hover .fanyi-account-flyout,
body.fanyipins-ui-footer #masthead .fanyi-account-menu-host:focus-within .fanyi-account-flyout{opacity:1;visibility:visible;transform:translateY(0);}
body.fanyipins-ui-footer #masthead .fanyi-account-flyout::before{content:"";position:absolute;right:13px;top:-7px;width:12px;height:12px;border-left:1px solid #dfe7e0;border-top:1px solid #dfe7e0;background:#fff;transform:rotate(45deg);}
body.fanyipins-ui-footer #masthead .fanyi-account-flyout-head{display:flex;flex-direction:column;gap:3px;padding:10px 11px 11px;margin-bottom:5px;border-bottom:1px solid #edf1ee;}
body.fanyipins-ui-footer #masthead .fanyi-account-flyout-head strong{font-size:14px;color:#17221f;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
body.fanyipins-ui-footer #masthead .fanyi-account-flyout-head span{font-size:11px;color:#68746e;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
body.fanyipins-ui-footer #masthead .fanyi-account-flyout>a{display:flex!important;align-items:center;min-height:40px;width:100%!important;height:auto!important;padding:9px 11px!important;border-radius:8px!important;color:#26322d!important;background:transparent!important;font-size:13px!important;font-weight:600;text-decoration:none!important;box-sizing:border-box;}
body.fanyipins-ui-footer #masthead .fanyi-account-flyout>a:hover{background:#f1f6f2!important;color:#166534!important;}
body.fanyipins-ui-footer #masthead .fanyi-account-flyout>a.fanyi-account-logout{margin-top:4px;border-top:1px solid #edf1ee;border-radius:0 0 8px 8px!important;color:#8b2d25!important;}
@media(max-width:921px){
 body.fanyipins-ui-footer #masthead .fanyi-account-flyout{position:fixed;right:14px;top:76px;width:min(280px,calc(100vw - 28px));}
 body.admin-bar.fanyipins-ui-footer #masthead .fanyi-account-flyout{top:108px;}
}

/* === 1.0.21 multilingual layout resilience ================================
   Translation length must not change the site skeleton. Header gets its own
   viewport-wide canvas; localized controls may wrap internally, never force
   cards/columns/navigation into a second structural row. */
@media (min-width:922px){
 body.fanyipins-ui-footer #masthead .site-primary-header-wrap{
   width:100%!important;
   max-width:none!important;
   margin-inline:0!important;
   padding-inline:clamp(16px,2vw,32px)!important;
   box-sizing:border-box!important;
 }
 body.fanyipins-ui-footer #masthead :is(.ast-builder-grid-row-container-inner,.ast-builder-grid-row){
   width:100%!important;
   max-width:none!important;
   margin-inline:0!important;
 }
 body.fanyipins-ui-footer #masthead .ast-builder-grid-row{
   grid-template-columns:minmax(0,1fr) max-content!important;
   align-items:center!important;
   column-gap:12px!important;
 }
 body.fanyipins-ui-footer #masthead .site-header-primary-section-left{
   display:flex!important;
   align-items:center!important;
   flex-wrap:nowrap!important;
   flex:1 1 auto!important;
   min-width:0!important;
   gap:clamp(8px,1vw,16px)!important;
 }
 body.fanyipins-ui-footer #masthead .site-header-primary-section-right{
   display:flex!important;
   align-items:center!important;
   justify-content:flex-end!important;
   flex:0 0 auto!important;
   min-width:max-content!important;
   flex-wrap:nowrap!important;
   gap:2px!important;
 }
 body.fanyipins-ui-footer #masthead :is(.site-branding,.ast-site-identity,.site-logo-img,.custom-logo-link){
   flex:0 0 auto!important;
   min-width:0!important;
 }
 body.fanyipins-ui-footer #masthead .main-navigation{
   flex:1 1 auto!important;
   min-width:0!important;
   width:auto!important;
   overflow-x:auto!important;
   overflow-y:visible!important;
   scrollbar-width:none;
   overscroll-behavior-inline:contain;
 }
 body.fanyipins-ui-footer #masthead .main-navigation::-webkit-scrollbar{display:none;}
 body.fanyipins-ui-footer #masthead :is(.main-header-menu,.ast-nav-menu,.main-navigation>ul){
   display:flex!important;
   align-items:center!important;
   flex-wrap:nowrap!important;
   width:max-content!important;
   min-width:max-content!important;
   margin:0!important;
   white-space:nowrap!important;
 }
 body.fanyipins-ui-footer #masthead .main-header-menu>.menu-item{
   flex:0 0 auto!important;
   margin:0!important;
 }
 body.fanyipins-ui-footer #masthead .main-header-menu>.menu-item>.menu-link{
   display:flex!important;
   align-items:center!important;
   min-height:68px!important;
   padding-inline:clamp(5px,.55vw,10px)!important;
   font-size:clamp(13px,.78vw,15px)!important;
   line-height:1.2!important;
   letter-spacing:-.01em!important;
   white-space:nowrap!important;
 }
 body.fanyipins-ui-footer #masthead .site-logo-img img,
 body.fanyipins-ui-footer #masthead img.custom-logo{
   max-width:140px!important;
   height:auto!important;
 }
}

/* French/German labels are materially longer than English. Tighten only the
   horizontal rhythm; do not shrink the whole page or alter content widths. */
@media (min-width:922px){
 html[lang^="fr"] body.fanyipins-ui-footer #masthead .site-header-primary-section-left,
 html[lang^="de"] body.fanyipins-ui-footer #masthead .site-header-primary-section-left{
   gap:7px!important;
 }
 html[lang^="fr"] body.fanyipins-ui-footer #masthead .main-header-menu>.menu-item>.menu-link,
 html[lang^="de"] body.fanyipins-ui-footer #masthead .main-header-menu>.menu-item>.menu-link{
   padding-inline:6px!important;
   font-size:13.5px!important;
   letter-spacing:-.018em!important;
 }
}

/* Laptop desktop range: keep a single structural header row and compress the
   menu progressively. Horizontal scrolling is a last-resort fallback rather
   than allowing Astra to wrap menu items onto a second line. */
@media (min-width:922px) and (max-width:1240px){
 body.fanyipins-ui-footer #masthead .site-primary-header-wrap{padding-inline:12px!important;}
 body.fanyipins-ui-footer #masthead .site-header-primary-section-left{gap:5px!important;}
 body.fanyipins-ui-footer #masthead .ast-builder-grid-row{column-gap:6px!important;}
 body.fanyipins-ui-footer #masthead .main-header-menu>.menu-item>.menu-link{
   padding-inline:4px!important;
   font-size:12.5px!important;
 }
 body.fanyipins-ui-footer #masthead .site-logo-img img,
 body.fanyipins-ui-footer #masthead img.custom-logo{max-width:108px!important;}
 .fanyipins-market{margin-inline:0!important;}
 .fanyipins-market summary{min-width:48px!important;padding-inline:5px!important;}
}

/* Localized content: text may become longer, but cards/grids keep their width.
   Natural wrapping is preferred over clipping, overflow or stretched columns. */
html[lang^="fr"] body.fanyipins-ui-page,
html[lang^="de"] body.fanyipins-ui-page,
html[lang^="it"] body.fanyipins-ui-page,
html[lang^="fr"] body .fanyi-homepage,
html[lang^="de"] body .fanyi-homepage,
html[lang^="it"] body .fanyi-homepage{
  hyphens:auto;
}
body.fanyipins-ui-page :is(.fanyi-ui,.fanyipins-ui-scope) :is(h1,h2,h3,h4,p,li,article,section,div),
.fanyi-homepage :is(.fp-hero__content,.fp-card,.fp-card__body){min-width:0;}
body.fanyipins-ui-page :is(.fanyi-button,.button,.wp-block-button__link),
.fanyi-homepage :is(.fp-button,.wp-element-button){
  max-width:100%!important;
  height:auto!important;
  white-space:normal!important;
  text-align:center;
  text-wrap:balance;
}
html[lang^="fr"] body.fanyipins-ui-page :is(h1,h2,h3,.fanyi-title,.fanyi-heading),
html[lang^="de"] body.fanyipins-ui-page :is(h1,h2,h3,.fanyi-title,.fanyi-heading),
html[lang^="it"] body.fanyipins-ui-page :is(h1,h2,h3,.fanyi-title,.fanyi-heading),
html[lang^="fr"] .fanyi-homepage :is(.fp-hero__title,.fp-heading),
html[lang^="de"] .fanyi-homepage :is(.fp-hero__title,.fp-heading),
html[lang^="it"] .fanyi-homepage :is(.fp-hero__title,.fp-heading){
  overflow-wrap:normal;
  word-break:normal;
  text-wrap:balance;
}

/* Woo tabs and footer are common overflow points once labels are translated. */
@media (max-width:767px){
 body.fanyipins-ui-shopping.single-product .woocommerce-tabs ul.wc-tabs li a{
   white-space:normal!important;
   overflow-wrap:anywhere;
 }
 html[lang^="fr"] .fanyi-homepage .fp-hero__actions,
 html[lang^="de"] .fanyi-homepage .fp-hero__actions,
 html[lang^="it"] .fanyi-homepage .fp-hero__actions{
   grid-template-columns:minmax(0,1fr)!important;
 }
 html[lang^="fr"] .fanyi-homepage .fp-hero__actions .fp-button,
 html[lang^="de"] .fanyi-homepage .fp-hero__actions .fp-button,
 html[lang^="it"] .fanyi-homepage .fp-hero__actions .fp-button{
   width:100%!important;
   padding-inline:.75rem!important;
   font-size:.8125rem!important;
 }
}
html[lang^="fr"] .fanyipins-footer-ui :is(.fanyi-footer-links a,.fanyi-contact-line),
html[lang^="de"] .fanyipins-footer-ui :is(.fanyi-footer-links a,.fanyi-contact-line),
html[lang^="it"] .fanyipins-footer-ui :is(.fanyi-footer-links a,.fanyi-contact-line){
  white-space:normal!important;
  overflow-wrap:anywhere;
}


/* === 1.0.23 desktop header space allocation ===============================
   Astra currently keeps the entire nav+utility cluster at the far right.
   Give the logo only the width it needs, let the right section own the
   remaining row, start navigation immediately after the logo, and reserve
   the far edge for language/search/account/cart. */
@media (min-width:922px){
 body.fanyipins-ui-footer #masthead .ast-builder-grid-row{
   grid-template-columns:auto minmax(0,1fr)!important;
   column-gap:clamp(18px,2.2vw,38px)!important;
 }
 body.fanyipins-ui-footer #masthead .site-header-primary-section-left{
   flex:0 0 auto!important;
   width:auto!important;
   min-width:0!important;
   gap:0!important;
 }
 body.fanyipins-ui-footer #masthead .site-header-primary-section-right{
   display:flex!important;
   flex:1 1 auto!important;
   width:100%!important;
   min-width:0!important;
   max-width:none!important;
   justify-content:flex-start!important;
   align-items:center!important;
   gap:2px!important;
 }
 body.fanyipins-ui-footer #masthead .site-header-primary-section-right .main-navigation{
   flex:0 1 auto!important;
   width:auto!important;
   min-width:0!important;
   margin:0 auto 0 0!important;
   overflow-x:auto!important;
 }
 body.fanyipins-ui-footer #masthead .site-header-primary-section-right > .ast-builder-layout-element:has(.main-navigation){
   flex:0 1 auto!important;
   min-width:0!important;
   margin-right:auto!important;
 }
 body.fanyipins-ui-footer #masthead .site-header-primary-section-left .main-navigation{
   flex:1 1 auto!important;
   min-width:0!important;
   margin-left:clamp(18px,2.2vw,38px)!important;
   margin-right:auto!important;
 }
 body.fanyipins-ui-footer #masthead .fanyipins-market{
   flex:0 0 auto!important;
 }
 body.fanyipins-ui-footer #masthead :is(.ast-header-search,.ast-header-account,.ast-header-woo-cart){
   flex:0 0 38px!important;
 }
}

/* Localized form labels can be longer than English. Keep labels readable
   without stretching the field grid or clipping required markers. */
body.fanyipins-ui-page :is(.woocommerce form,.woocommerce-checkout,.woocommerce-MyAccount-content) .form-row label,
body.fanyipins-ui-page :is(.woocommerce form,.woocommerce-checkout,.woocommerce-MyAccount-content) .wc-block-components-text-input label,
body.fanyipins-ui-page :is(.woocommerce form,.woocommerce-checkout,.woocommerce-MyAccount-content) .wc-block-components-combobox .wc-block-components-combobox-control label{
  white-space:normal!important;
  line-height:1.35!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}

/* === 1.0.24 search ownership ==============================================
   Product search lives inside the Shop archive only. Keep the global header
   focused on navigation, market/language, account and cart. */
body.fanyipins-ui-footer #masthead .ast-header-search{
  display:none!important;
}

/* === 1.0.25 centered desktop navigation ===================================
   Wide desktop uses the available header canvas as three visual zones:
   logo left, primary navigation centered, utilities right. Menu rhythm is
   intentionally more generous than earlier multilingual compression rules. */
@media (min-width:1281px){
 body.fanyipins-ui-footer #masthead .ast-builder-grid-row{
   position:relative!important;
   grid-template-columns:auto minmax(0,1fr)!important;
   column-gap:28px!important;
 }
 body.fanyipins-ui-footer #masthead .site-header-primary-section-right{
   position:relative!important;
   justify-content:flex-end!important;
   gap:8px!important;
 }
 body.fanyipins-ui-footer #masthead .site-header-primary-section-right > .ast-builder-layout-element:has(.main-navigation){
   position:absolute!important;
   left:50%!important;
   top:50%!important;
   transform:translate(-50%,-50%)!important;
   width:max-content!important;
   max-width:calc(100vw - 560px)!important;
   margin:0!important;
   flex:none!important;
   z-index:2;
 }
 body.fanyipins-ui-footer #masthead .site-header-primary-section-right .main-navigation{
   width:max-content!important;
   max-width:100%!important;
   margin:0!important;
   overflow-x:auto!important;
   scrollbar-width:none;
 }
 body.fanyipins-ui-footer #masthead .main-header-menu{
   column-gap:clamp(6px,.6vw,14px)!important;
 }
 body.fanyipins-ui-footer #masthead .main-header-menu>.menu-item>.menu-link{
   padding-inline:clamp(8px,.65vw,14px)!important;
   font-size:clamp(13px,.74vw,15px)!important;
 }
 html[lang^="fr"] body.fanyipins-ui-footer #masthead .main-header-menu,
 html[lang^="de"] body.fanyipins-ui-footer #masthead .main-header-menu,
 html[lang^="it"] body.fanyipins-ui-footer #masthead .main-header-menu{
   column-gap:clamp(4px,.42vw,10px)!important;
 }
 html[lang^="fr"] body.fanyipins-ui-footer #masthead .main-header-menu>.menu-item>.menu-link,
 html[lang^="de"] body.fanyipins-ui-footer #masthead .main-header-menu>.menu-item>.menu-link,
 html[lang^="it"] body.fanyipins-ui-footer #masthead .main-header-menu>.menu-item>.menu-link{
   padding-inline:clamp(7px,.5vw,11px)!important;
   font-size:clamp(12.75px,.7vw,14px)!important;
 }
 body.fanyipins-ui-footer #masthead .fanyipins-market{
   margin-right:6px!important;
 }
 body.fanyipins-ui-footer #masthead :is(.ast-header-account,.ast-header-woo-cart){
   margin-left:2px!important;
 }
}

/* Medium desktop: keep the same visual balance without absolute centering,
   because translated labels may need more of the available row. */
@media (min-width:922px) and (max-width:1280px){
 body.fanyipins-ui-footer #masthead .site-header-primary-section-right{
   justify-content:flex-end!important;
   gap:5px!important;
 }
 body.fanyipins-ui-footer #masthead .site-header-primary-section-right > .ast-builder-layout-element:has(.main-navigation){
   flex:1 1 auto!important;
   min-width:0!important;
   margin:0 12px!important;
 }
 body.fanyipins-ui-footer #masthead .site-header-primary-section-right .main-navigation{
   display:flex!important;
   justify-content:center!important;
   margin:0!important;
 }
 body.fanyipins-ui-footer #masthead .main-header-menu{
   column-gap:4px!important;
 }
 body.fanyipins-ui-footer #masthead .main-header-menu>.menu-item>.menu-link{
   padding-inline:6px!important;
 }
}

/* === 1.0.27 mobile Shop two-column invariant ===============================
   Astra/WooCommerce may re-apply mobile product widths after the page CSS.
   This final-loaded bridge makes the catalogue layout independent of theme
   column helpers and keeps two cards visible at the normal 100% viewport. */
@media (max-width:767px){
  body.fanyipins-ui-shopping :is(.fanyipins-ui-scope.shopping-ui,.shopping-ui){
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow-x:clip;
  }
  body.fanyipins-ui-shopping :is(.fanyipins-ui-scope.shopping-ui,.shopping-ui) > .fanyi-container{
    width:calc(100% - 24px)!important;
    max-width:none!important;
    min-width:0!important;
    margin-inline:auto!important;
  }
  body.fanyipins-ui-shopping :is(.fanyipins-ui-scope.shopping-ui,.shopping-ui) ul.products,
  body.woocommerce-shop ul.products,
  body.post-type-archive-product ul.products{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    grid-auto-flow:row!important;
    gap:10px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-inline:0!important;
    padding-inline:0!important;
    float:none!important;
    clear:both!important;
  }
  body.fanyipins-ui-shopping :is(.fanyipins-ui-scope.shopping-ui,.shopping-ui) ul.products::before,
  body.fanyipins-ui-shopping :is(.fanyipins-ui-scope.shopping-ui,.shopping-ui) ul.products::after,
  body.woocommerce-shop ul.products::before,
  body.woocommerce-shop ul.products::after{
    content:none!important;
    display:none!important;
  }
  body.fanyipins-ui-shopping :is(.fanyipins-ui-scope.shopping-ui,.shopping-ui) ul.products > li.product,
  body.woocommerce-shop ul.products > li.product,
  body.post-type-archive-product ul.products > li.product{
    display:flex!important;
    flex-direction:column!important;
    grid-column:auto!important;
    grid-row:auto!important;
    float:none!important;
    clear:none!important;
    box-sizing:border-box!important;
    inline-size:100%!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    flex:0 0 auto!important;
    flex-basis:auto!important;
    margin:0!important;
    overflow:hidden!important;
  }
  body.fanyipins-ui-shopping ul.products > li.product :is(.astra-shop-thumbnail-wrap,.astra-shop-summary-wrap,.woocommerce-LoopProduct-link){
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  body.fanyipins-ui-shopping ul.products > li.product img{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    aspect-ratio:1/1!important;
    object-fit:contain!important;
  }
  body.fanyipins-ui-shopping ul.products > li.product .woocommerce-loop-product__title{
    min-height:0!important;
    padding:0!important;
    margin:.5rem .5rem .25rem!important;
    font-size:12.5px!important;
    line-height:1.32!important;
    overflow-wrap:anywhere!important;
  }
  body.fanyipins-ui-shopping ul.products > li.product .ast-woo-product-category{
    padding:.45rem .5rem 0!important;
    font-size:10.5px!important;
    line-height:1.25!important;
  }
  body.fanyipins-ui-shopping ul.products > li.product .price{
    margin:auto .5rem .45rem!important;
    padding:0!important;
    font-size:13px!important;
  }
  body.fanyipins-ui-shopping ul.products > li.product :is(.button,.added_to_cart){
    width:calc(100% - 1rem)!important;
    max-width:calc(100% - 1rem)!important;
    min-width:0!important;
    min-height:38px!important;
    margin:0 .5rem .5rem!important;
    padding:8px 5px!important;
    font-size:11px!important;
    line-height:1.25!important;
    white-space:normal!important;
    text-align:center!important;
  }
}
body.fanyipins-ui-footer #masthead .fanyi-account-flyout-head .fanyi-account-customer-id{color:#166534;font-weight:700;letter-spacing:.01em;}

/* === 1.0.37 mobile cart click safety =======================================
   Keep the mobile cart above neighboring utilities and always tappable.
   Navigation fallback is handled by mobile-cart-fallback.js so Astra's
   optional mini-cart script cannot leave the icon visually present but inert. */
@media (max-width:921px){
 body.fanyipins-ui-footer #ast-mobile-header .ast-header-woo-cart{
   position:relative!important;
   z-index:30!important;
   pointer-events:auto!important;
 }
 body.fanyipins-ui-footer #ast-mobile-header .ast-header-woo-cart :is(a,.cart-container,.ast-addon-cart-wrap){
   pointer-events:auto!important;
   cursor:pointer!important;
   touch-action:manipulation;
 }
}
