
/* Source shared .btn / promotion tokens; native templates remain the business owner. */
body.sf-commerce{--sf-commerce-ink:#1e1e1d;--sf-commerce-paper:#fffbf1;--sf-commerce-white:#fff;--sf-commerce-promo:#d9ff6e;--sf-commerce-line:#d4cfc7;--sf-commerce-font:"Helvetica Neue",system-ui,"Arial Narrow",Arial,sans-serif}
body.sf-commerce #main{background:var(--sf-commerce-paper);color:var(--sf-commerce-ink);font-family:var(--sf-commerce-font);font-weight:300}
body.sf-commerce #main :where(h1,h2,h3,h4,p,a,button,select,input,textarea){font-family:var(--sf-commerce-font)}
body.sf-commerce #main :where(h1,h2,h3,h4){color:var(--sf-commerce-ink);font-weight:300;letter-spacing:0;text-transform:none}
body.sf-commerce #main :where(.price,.amount,.price bdi){color:var(--sf-commerce-ink);font-weight:300}
body.sf-commerce #main .price ins{background:none;text-decoration:none;font-weight:400}
body.sf-commerce #main .price del{opacity:.55}
/* Explicitly reset the old image-relative badge offsets and fixed square dimensions. */
body.sf-commerce #main .badge-container,body.sf-commerce .product-lightbox .badge-container{top:12px;left:12px;margin:0;transform:none}
body.sf-commerce #main .badge,body.sf-commerce .product-lightbox .badge{display:block;width:auto;height:auto;min-width:0;min-height:0;margin:0;font-size:14px;font-weight:500;line-height:20px}
body.sf-commerce #main .badge .badge-inner,body.sf-commerce .product-lightbox .badge .badge-inner{display:block;width:auto;height:auto;min-width:0;min-height:0;padding:4px 8px;background:var(--sf-commerce-promo);color:var(--sf-commerce-ink);border:0;border-radius:2px;box-shadow:none;line-height:20px;text-shadow:none}
body.sf-commerce #main .badge .onsale,body.sf-commerce .product-lightbox .badge .onsale{font-size:14px;font-weight:500;color:inherit;line-height:20px}
/* Source's 14px, medium, pill button treatment; preserve native disabled/loading states. */
body.sf-commerce #main :where(.button,button[type="submit"]),body.sf-commerce .product-lightbox :where(.button,button[type="submit"]){font-family:var(--sf-commerce-font);font-size:14px;font-weight:500;line-height:20px;letter-spacing:0;text-transform:uppercase;border:1px solid var(--sf-commerce-ink);border-radius:999px;min-height:44px;padding:11px 24px;box-shadow:none;text-shadow:none;transition:opacity .2s,background-color .2s,color .2s}
body.sf-commerce #main :where(.button,button[type="submit"]):not(.is-outline):not(.ux-buy-now-button),body.sf-commerce .product-lightbox :where(.button,button[type="submit"]):not(.is-outline):not(.ux-buy-now-button){background:var(--sf-commerce-ink);color:var(--sf-commerce-white)}
body.sf-commerce #main .button.is-outline,body.sf-commerce #main .ux-buy-now-button,body.sf-commerce .product-lightbox .ux-buy-now-button{background:var(--sf-commerce-white);color:var(--sf-commerce-ink);border-color:var(--sf-commerce-ink)}
body.sf-commerce #main :where(.button,button[type="submit"]):hover,body.sf-commerce .product-lightbox :where(.button,button[type="submit"]):hover{opacity:.8;box-shadow:none}
body.sf-commerce #main :where(button,.button,a,select,input):focus-visible,body.sf-commerce .product-lightbox :where(button,.button,select,input):focus-visible{outline:2px solid var(--sf-commerce-ink);outline-offset:3px}
body.sf-commerce #main :where(button,.button):is(:disabled,.disabled),body.sf-commerce .product-lightbox :where(button,.button):is(:disabled,.disabled){opacity:.5;cursor:not-allowed}
body.sf-commerce #main .button.loading,body.sf-commerce .product-lightbox .button.loading{opacity:.65}
/* Archive controls and image actions keep their existing URLs, native queries and modal triggers. */
body.sf-commerce-archive #main .quick-view,body.sf-commerce-product #main .related .quick-view{background:var(--sf-commerce-white);color:var(--sf-commerce-ink);border:1px solid var(--sf-commerce-ink);border-radius:999px;font-size:14px;line-height:20px;font-weight:500;padding:11px 20px;letter-spacing:0;margin:0 12px 12px;min-height:44px;box-shadow:none}
body.sf-commerce #main .product-small>.col-inner{box-shadow:none;border:0;background:transparent}
body.sf-commerce #main .product-small .box-image{border-radius:8px;overflow:hidden}
body.sf-commerce #main .product-small .box-text{padding:12px 0;text-align:left}
body.sf-commerce #main .product-small .product-title{font-size:16px;line-height:24px;font-weight:300}
body.sf-commerce #main .product-small .price{font-size:16px;line-height:24px}
body.sf-commerce-archive #main .woocommerce-ordering select{border:1px solid var(--sf-commerce-ink);border-radius:24px;background-color:var(--sf-commerce-white);color:var(--sf-commerce-ink);min-height:44px;box-shadow:none;padding-left:20px;font-size:14px}
body.sf-commerce-archive #main .filter-button{font-size:14px;font-weight:500;letter-spacing:0;color:var(--sf-commerce-ink)}
body.sf-commerce-archive #main .widget_price_filter .ui-slider-range,body.sf-commerce-archive #main .widget_price_filter .ui-slider-handle{background:var(--sf-commerce-ink)}
body.sf-commerce-archive #main .page-numbers{border-color:var(--sf-commerce-ink);color:var(--sf-commerce-ink);font-weight:400;box-shadow:none}
body.sf-commerce-archive #main .page-numbers.current,body.sf-commerce-archive #main .page-numbers:hover{background:var(--sf-commerce-ink);color:var(--sf-commerce-white)}
body.sf-commerce-archive #main h1{font-size:36px;line-height:1.15}
/* Native product gallery, purchase form, tabs, reviews and related products. */
body.sf-commerce-product #main .product-main{padding:32px 0 40px}
body.sf-commerce-product #main .product-main>.row,body.sf-commerce-product #main .product-footer>.container{max-width:1440px;padding-left:24px;padding-right:24px;margin:auto}
body.sf-commerce-product #main .product-main>.row>.product-gallery{flex-basis:56%;max-width:56%;padding:0 24px 0 0}
body.sf-commerce-product #main .product-main>.row>.product-info{padding:0 0 0 24px;min-width:0}
body.sf-commerce-product #main .product-info .breadcrumb{font-size:12px;font-weight:400;line-height:20px;margin-bottom:20px;color:var(--sf-commerce-ink)}
body.sf-commerce-product #main .product-info h1{font-size:36px;line-height:1.15;font-weight:300;margin:0 0 16px}
body.sf-commerce-product #main .product-page-price{font-size:24px;line-height:32px;margin:0 0 24px}
body.sf-commerce-product #main .product-short-description{font-size:16px;line-height:1.5;margin-bottom:24px}
body.sf-commerce-product #main .product-short-description p:last-child{margin-bottom:0}
body.sf-commerce-product #main .product-images,body.sf-commerce-product #main .product-gallery .woocommerce-product-gallery__image{border-radius:8px;overflow:hidden}
body.sf-commerce-product #main .product-thumbnails a{border-radius:6px;overflow:hidden}
body.sf-commerce-product #main .variations{margin:24px 0 16px}
body.sf-commerce-product #main .variations td,body.sf-commerce-product #main .variations th{padding:0 0 12px;border:0}
body.sf-commerce-product #main .variations label{font-size:14px;font-weight:500;color:var(--sf-commerce-ink)}
body.sf-commerce-product #main .variations select,body.sf-commerce .product-lightbox .variations select{border:1px solid var(--sf-commerce-ink);border-radius:6px;min-height:48px;background-color:var(--sf-commerce-white);color:var(--sf-commerce-ink);font-size:16px;padding-left:16px;box-shadow:none}
body.sf-commerce-product #main .single_variation_wrap .woocommerce-variation-add-to-cart,body.sf-commerce-product #main form.cart:not(.variations_form):not(.grouped_form){display:flex;flex-wrap:wrap;align-items:center;gap:12px}
body.sf-commerce-product #main .quantity{margin:0;display:inline-flex;height:48px}
body.sf-commerce-product #main .quantity .button,body.sf-commerce-product #main .quantity input{height:48px;min-height:48px;border:1px solid var(--sf-commerce-line);border-radius:0;background:var(--sf-commerce-white);color:var(--sf-commerce-ink);font-size:16px;padding:0 12px;line-height:46px;box-shadow:none}
body.sf-commerce-product #main .quantity .minus{border-radius:24px 0 0 24px}
body.sf-commerce-product #main .quantity .plus{border-radius:0 24px 24px 0}
body.sf-commerce-product #main .quantity .qty{width:42px;min-width:0;padding:0;border-left:0;border-right:0}
body.sf-commerce-product #main .single_add_to_cart_button,body.sf-commerce-product #main .ux-buy-now-button{min-height:48px;margin:0;padding:13px 24px;flex:1 1 160px;white-space:normal}
body.sf-commerce-product #main .ux-buy-now-button.ml-half{margin-left:0}
body.sf-commerce-product #main .sf-commerce-benefit{padding:12px 0;margin:8px 0 0;border-top:1px solid var(--sf-commerce-line);font-size:14px;line-height:22px}
body.sf-commerce-product #main .product_meta{border-top:1px solid var(--sf-commerce-line);padding-top:16px;font-size:13px;line-height:22px}
body.sf-commerce-product #main .product-footer{padding:24px 0 56px}
body.sf-commerce-product #main .woocommerce-tabs .tabs{border-bottom:1px solid var(--sf-commerce-line);gap:24px;margin-bottom:24px}
body.sf-commerce-product #main .woocommerce-tabs .tabs>li>a{font-size:16px;line-height:24px;font-weight:400;text-transform:none;letter-spacing:0;padding:12px 0;color:var(--sf-commerce-ink)}
body.sf-commerce-product #main .woocommerce-tabs .tabs>li.active>a:before{background:var(--sf-commerce-ink)}
body.sf-commerce-product #main .woocommerce-Tabs-panel{font-size:16px;line-height:1.6}
body.sf-commerce-product #main .related>h3{font-size:32px;font-weight:300;text-align:center;margin:40px 0 24px}
body.sf-commerce .product-lightbox{font-family:var(--sf-commerce-font);background:var(--sf-commerce-paper);color:var(--sf-commerce-ink)}
body.sf-commerce .product-lightbox .product-title{font-family:inherit;font-size:28px;font-weight:300;line-height:1.2}
@media(max-width:849px){
 body.sf-commerce-product #main .product-main{padding:16px 0 24px}
 body.sf-commerce-product #main .product-main>.row,body.sf-commerce-product #main .product-footer>.container{padding-left:16px;padding-right:16px}
 body.sf-commerce-product #main .product-main>.row>.product-gallery{flex-basis:100%;max-width:100%;padding:0 0 24px}
 body.sf-commerce-product #main .product-main>.row>.product-info{flex-basis:100%;max-width:100%;padding:0}
 body.sf-commerce-product #main .product-info h1{font-size:28px;line-height:1.2}
 body.sf-commerce-product #main .product-page-price{font-size:22px;line-height:30px;margin-bottom:16px}
 body.sf-commerce-product #main .woocommerce-tabs .tabs{gap:16px;flex-wrap:wrap}
 body.sf-commerce-product #main .woocommerce-tabs .tabs>li>a{font-size:14px}
 body.sf-commerce-product #main .single_add_to_cart_button{flex:1 1 calc(100% - 150px)}
 body.sf-commerce-product #main .ux-buy-now-button{flex:1 1 100%}
 body.sf-commerce #main .badge-container,body.sf-commerce .product-lightbox .badge-container{top:8px;left:8px}
 body.sf-commerce #main .badge .badge-inner{padding:4px 8px}
 body.sf-commerce-archive #main h1{font-size:28px}
 body.sf-commerce #main .product-small .box-text{padding:10px 0}
}
@media(prefers-reduced-motion:reduce){body.sf-commerce #main :where(.button,button[type="submit"]){transition:none}}

/* The installed theme's generated CSS marks these old colors !important. Override only those properties on the requested surfaces. */
body.sf-commerce #main .badge-container .badge .badge-inner,body.sf-commerce .product-lightbox .badge-container .badge .badge-inner{background-color:var(--sf-commerce-promo)!important;color:var(--sf-commerce-ink)!important;border-radius:2px!important;font-size:14px!important;font-weight:500!important}
body.sf-commerce #main .single_add_to_cart_button.button,body.sf-commerce .product-lightbox .single_add_to_cart_button.button{background-color:var(--sf-commerce-ink)!important;color:var(--sf-commerce-white)!important}
/* Flatsome moves its existing shop sidebar into the mobile filter modal. */
body.sf-commerce .mfp-content #shop-sidebar{font-family:var(--sf-commerce-font);color:var(--sf-commerce-ink);background:var(--sf-commerce-paper)}
body.sf-commerce .mfp-content #shop-sidebar .button{background:var(--sf-commerce-ink);color:var(--sf-commerce-white);border:1px solid var(--sf-commerce-ink);border-radius:999px;font-size:14px;line-height:20px;font-weight:500;padding:11px 24px;min-height:44px;box-shadow:none}

/* The legacy generated grid-tools rule also uses !important. */
body.sf-commerce #main .grid-tools a.quick-view{background-color:var(--sf-commerce-white)!important;border-radius:999px!important;padding:11px 20px!important;font-size:14px!important;font-weight:500!important;letter-spacing:0!important;color:var(--sf-commerce-ink)}
body.sf-commerce #main .grid-tools a.quick-view:hover{opacity:.8}

/* The existing importer archive has a small-12 sidebar column. Hide that column on mobile; the native drawer still moves the same sidebar outside #main. */
@media(max-width:849px){body.sf-commerce-archive #main .col:has(>.col-inner>#shop-sidebar){display:none}}
@media(min-width:850px){body.sf-commerce-archive #main #shop-sidebar.mfp-hide{display:block!important}}

/* Native taxonomy controls are in Flatsome's shop-page-title, outside #main. */
body.sf-commerce-archive .shop-page-title{background:var(--sf-commerce-paper);color:var(--sf-commerce-ink);font-family:var(--sf-commerce-font)}
body.sf-commerce-archive .shop-page-title .woocommerce-ordering select{border:1px solid var(--sf-commerce-ink);border-radius:24px;background-color:var(--sf-commerce-white);color:var(--sf-commerce-ink);min-height:44px;box-shadow:none;padding-left:20px;font-size:14px;font-family:var(--sf-commerce-font)}
body.sf-commerce-archive .shop-page-title .filter-button{color:var(--sf-commerce-ink);font-size:14px;font-weight:500;letter-spacing:0}
body.sf-commerce-archive .shop-page-title .woocommerce-result-count{font-size:14px;font-weight:300}
