/*---------- [ =WooCommerce ]----------*/
[id*="product-"].kadence-woo-template-wrap,
.entry-content > .woocommerce,
.woocommerce-shop .ast-woocommerce-container {max-width: var(--w-content);  margin: 0 auto !important; padding: var(--s-lg) 0; }
.woocommerce-shop #primary { margin: 0; }
.woocommerce-shop #main { max-width: var(--w-content); margin-left: auto; margin-right: auto; padding: var(--s-content); }
.woocommerce-shop .woocommerce-breadcrumb { display: none; }

body:is(.woocommerce-cart,.woocommerce-checkout,.woocommerce-shop) .entry-content > .woocommerce { margin-top: var(--s-md) !important;}

.woocommerce-js div.product form.cart .variations label { text-transform: uppercase; letter-spacing: .15em; }
.woocommerce-js div.product p.price, .type-product .kwt-description-wrap.kwt-description-single.wp-block-kadence-wootemplate-blocks-description { margin-bottom: var(--s-base) !important; }
.type-product .kwt-description-wrap.kwt-description-single.wp-block-kadence-wootemplate-blocks-description { border-bottom: 1px solid var(--c-primary-100);}
.woocommerce-js div.product form.cart .variations { border-bottom: none; }
.type-product .kwt-description-wrap.kwt-description-single.wp-block-kadence-wootemplate-blocks-description ul:only-child { margin-bottom: 0; }

.woocommerce-js .quantity :is(.minus,.plus) { border: none; }

.woocommerce h1.woocommerce-products-header__title.page-title { margin-bottom: var(--s-sm);}



/*Container*/
body:is(.woocommerce) #primary { padding: var(--s-lg) 0;}
.woocommerce .ast-container { padding-left: var(--s-lg); padding-right: var(--s-lg); }
.ast-woo-shop-archive #content.site-content > .ast-container { max-width: calc(var(--w-content) + calc(var(--s-lg) * 2)); column-gap: var(--s-lg); }
body:is(.woocommerce.ast-woo-shop-archive) #primary { padding: 0;}
.woocommerce-shop #main { padding: 0; }

/* Remove borders from notices */
.wc-block-components-notice-banner { border: none !important; } 

/* =Shop Page */
.woocommerce-shop.woocommerce-js ul.products li.product .price { color: var(--c-primary); font-weight: var(--fw-n); font-size: var(--fs-xs);}
.woocommerce-shop a.add_to_cart_button { margin-top: var(--s-md) !important; }
:is(.woocommerce-shop,.woocommerce-page,.woocommerce-js) select.orderby { border: 1px solid var(--c-base-200); border-radius: var(--radius-sm); background-position: 94% 50%; padding: .5em; }

/* =Shop & =Catalog Pages */
.woocommerce-js ul.products li.product a img, .woocommerce-page ul.products li.product a img { border-radius: var(--radius-sm); }
.woocommerce-js ul.products li.product .ast-shop-product-out-of-stock, .woocommerce-page ul.products li.product .ast-shop-product-out-of-stock { padding: 0.7em 0 .5em; line-height: 1; border-radius: var(--radius-xs); color: var(--c-warning-dark); background: var(--c-warning-container); }
.woocommerce-js ul.products li.product .woocommerce-loop-product__title, .woocommerce-page ul.products li.product .woocommerce-loop-product__title { color: var(--c-primary-700); font-size: var(--fs-lg); } 
.woocommerce-js ul.products li.product .price { color: var(--c-primary-550); font-weight: var(--fw-sb); }
.woocommerce-js ul.products li.product .onsale { color: var(--c-lightest); background-color: var(--c-accent); }

/* =Product Page */
.single-product .kadence-product-gallery-thumbnails.splide.splide--nav > .splide__slider > .splide__track > .splide__list > .splide__slide { padding: 3px; }
.single-product .kadence-product-gallery-thumbnails.splide.splide--nav > .splide__slider > .splide__track > .splide__list > .splide__slide.is-active { outline: 1px solid #9B8BFF;	border-radius: var(--radius-xxs); }
.single-product .kadence-product-gallery-thumbnails.splide :is(.splide__arrow--prev,.splide__arrow--next) { color: var(--c-primary); opacity: 1; border: 1.5px solid var(--c-primary); border-radius: var(--radius-pill);	padding: .5rem;	height: 2em; width: 2em; }
.single-product .kadence-product-gallery-thumbnails.splide .splide__arrow--prev { left: -2rem; }
.single-product .kadence-product-gallery-thumbnails.splide .splide__arrow--next { right: -2rem; }
.woocommerce-js table.shop_attributes { border: 0; }
.single-product .wcpay-express-checkout-wrapper {display: none; }
.single-product .product h4 { font-size: var(--fs-md); margin-bottom: var(--s-xs); }
.single-product .product h1.product_title { margin-bottom: var(--s-sm); }
.woocommerce.single-product .product p.kwt-price-wrap { font-size: var(--fs-md); font-weight: var(--fw-sb); }
.single-product .product .kwt-description-wrap p { font-size: var(--fs-lg); line-height: 1.5; margin-bottom: var(--s-sm) !important; }
.woocommerce.single-product .product .kwt-add-to-cart-wrap { border: 1.5px solid var(--c-primary-550); border-radius: var(--radius-sm); padding: var(--s-sm); background-color: var(--c-primary-25); }
.woovr-variations .woovr-variation:hover { background-color: var(--c-lightest); border-radius: var(--radius-sm-inset); }
.woocommerce-js .quantity .minus, .woocommerce-js .quantity .plus { color: var(--c-primary-550); font-size: var(--fs-xl); }
.woocommerce-js div.product p.price, .woocommerce-js div.product span.price { color: var(--c-link); }
.woocommerce-js div.product p.ast-stock-detail .ast-stock-avail, .woocommerce-js div.product p.stock .ast-stock-avail { display: none; /* <-- hides the "Availability" text before "in-stock," etc. */}
.woocommerce-js div.product .stock { color: var(--c-success); font-weight: var(--fw-sb); }
.woocommerce-js div.product .out-of-stock { color: var(--c-lightest); background-color: var(--c-danger); padding: .25em .5em .1em; border-radius: .25em; }
.woocommerce-js div.product div.images img { border-radius: var(--radius-sm); }
.woocommerce-js table.shop_attributes :is(th,td) { border-right: none; padding: .25em; font-size: var(--fs-sm); }
.woocommerce-js table.shop_attributes th { width: 16ch; }
.woocommerce-js table.shop_attributes td p { padding: 2px 0;}
.woocommerce.single-product .kwt-related-wrap .related.products ul.products { grid-template-columns: repeat(auto-fit,minmax(min(10rem,100%),1fr)); }

@media (min-width:544px) {
.single-product .kadence-product-gallery-thumbnails.splide .splide__arrow--prev { left: -4rem; }
.single-product .kadence-product-gallery-thumbnails.splide .splide__arrow--next { right: -4rem; }
}
.single-product .woocommerce-product-gallery .thumb-wrapper { max-width: 18.75rem !important; }
@media (max-width: 1024px) {
.single-product .kwt-add-to-cart-single .cart.variations_form .woocommerce-variation-add-to-cart { justify-content: flex-start !important; }
}

.single-product .kwt-description-wrap a:where(:not(.wp-element-button)) { text-decoration: underline; }

/* Product Page - Accordions */
.kwt-tabs-style-accordion .kwt-accordion-title.active a { color: var(--c-primary-500) !important; }

/*
.type-product .kwt-tabs-desk-style-accordion .kwt-accordion-title a { border: 1px solid var(--c-primary); border-radius: var(--radius-base);	margin-bottom: var(--s-sm); padding: 1em 1em 1em 3.5em; }
.type-product .kwt-tabs-desk-style-accordion .kwt-accordion-title.active a { border-bottom: none; border-radius: var(--radius-base) var(--radius-base) 0 0;	margin-bottom: 0; }
.woocommerce div.product.type-product .kwt-tabs-desk-style-accordion .woocommerce-tabs .woocommerce-Tabs-panel.panel { border: 1px solid var(--c-primary); margin-bottom: var(--s-sm); border-top: 0; border-radius: 0 0 var(--radius-base) var(--radius-base); }
.type-product .kwt-tabs-style-accordion .kwt-accordion-title .kwt-accordion-trigger { --icon-size: 21px; border: 2px solid var(--c-primary); border-radius: 2rem; width: var(--icon-size); min-width: var(--icon-size); height: var(--icon-size); right: auto; left: 1em; }
.type-product .kwt-tabs-style-accordion .kwt-accordion-title .kwt-accordion-trigger::after,
.type-product .kwt-tabs-style-accordion .kwt-accordion-title .kwt-accordion-trigger::before { height: 2px; width: 14px; background-color: var(--c-primary); left: .219rem; top: .594rem; transform: rotate(0deg); } 
.type-product .kwt-tabs-style-accordion .kwt-accordion-title .kwt-accordion-trigger::after { transform: rotate(90deg); }
.type-product .kwt-tabs-style-accordion .kwt-accordion-title.active .kwt-accordion-trigger::before,
.type-product .kwt-tabs-style-accordion .kwt-accordion-title.active .kwt-accordion-trigger::after {	transform: rotate(0deg); }
*/
@media (max-width: 1025px) { /* where product columns wrap to a single column */
.product__details-column .kt-inside-inner-col { display: flex; }
.product__details-column p.price { order: 1; }
.product__details-column .kwt-add-to-cart-wrap { order: 2; border-bottom: 1px solid #afc0fd; margin-bottom: var(--s-lg) !important; padding-bottom: var(--s-lg) !important; }
.product__details-column .kwt-add-to-cart-wrap + p { order: 3; }
.product__details-column .kwt-description-wrap { order: 4; }
.product__details-column .kwt-tabs-wrap { order: 5; }
.type-product .kwt-description-wrap.kwt-description-single.wp-block-kadence-wootemplate-blocks-description { border-bottom: none; padding-bottom: 0; margin-bottom: 0 !important; }

}

@media (min-width: 1367px) {
	.type-product :is(.title_narrow, .desc_narrow, .categories_narrow) { display: none; }
	}
@media (max-width: 1366px) {
.type-product :is(.title_wide, .desc_wide, .categories_wide)  { display: none; }
}


.type-product .kwt-tabs-desk-style-accordion .kwt-accordion-title a { border: none; border-bottom: 1px solid var(--c-primary); margin-bottom: var(--s-sm); padding: 1em 1em 1em 0;	font-weight: 700 !important;
	color: var(--c-primary); text-transform: uppercase !important; letter-spacing: .15em; font-size: var(--fs-base); }
.woocommerce div.product .kwt-tabs-tablet-style-accordion .woocommerce-tabs .woocommerce-Tabs-panel.panel { border: none !important; padding-left: 0 !important; }
/*.kwt-tabs-style-accordion .kwt-accordion-title .kwt-accordion-trigger { display: none !important; }*/
.kwt-tabs-style-accordion .kwt-accordion-title a:hover { background-color: transparent !important; }

/* Kadence Fix */
@media (max-width: 660px) {
.wp-block-kadence-column.kb-section-dir-horizontal > .kt-inside-inner-col > .wp-block-kadence-column { flex: auto; }
}
.single-product.woocommerce-js div.product form.cart div.quantity { margin-bottom: 0; /*Removes margin from quantity field to align with custom button */ /*  margin-left: -1rem; Moves UI left to align with left-aligned text content*/ }


/* Product Page - Digital Wallet Options */
.single-product #wc-square-digital-wallet { display: none !important; /* Hides Digital Wallet Options from Product Page */ }

.single-product .kwt-gallery-wrap { margin-bottom: var(--s-xl); }
@media (max-width: 782px) { /*mobile breakpoint*/
.single-product .kwt-gallery-wrap { margin-bottom: 0;}
}

/* Header =Cart */
.ast-site-header-cart .widget_shopping_cart::before, .woocommerce .ast-site-header-cart .widget_shopping_cart::before,
.ast-site-header-cart .widget_shopping_cart::after, .woocommerce .ast-site-header-cart .widget_shopping_cart::after { right: 12px; }
/* also set in core CSS for sitewide cart icon */

/* Continue Shopping btn in mini cart .ast-mini-cart-empty .woocommerce-mini-cart__buttons { display: none; } */

/* =Cart Page */
.woocommerce-cart .coupon, .woocommerce-cart .tax-total small { display: none !important; /*<-- hides coupon UI & tax note on Cart page*/ }
.woocommerce-js table.shop_table thead, .woocommerce-page table.shop_table thead { background-color: transparent; }
.woocommerce-cart #wc-square-digital-wallet { margin-top: var(--s-lg); } /*<-- spacing above Apply Pay button */
.woocommerce-cart .kt-woo-cart-notice {display: flex; line-height: 1.4; gap: 1rem; flex-direction: column;}
.woocommerce-cart .kt-woo-cart-notice .button { line-height: 1.4;}

.woocommerce-js a.remove .ahfb-svg-iconset .ast-close-svg { fill: var(--c-danger); }

.woocommerce-cart :is(#customer_details,.woocommerce table.shop_table, .cart-collaterals .cart_totals, .cart-collaterals .cross-sells) { background-color: var(--c-lightest); }

@media (min-width: 660px) {
.woocommerce-cart .kt-woo-cart-notice {align-items: center;	justify-content: space-between;flex-direction: row; }
.woocommerce-cart .kt-woo-cart-notice .kt-woo-cart-notice-message { flex-grow: 1; }
}

@media (max-width: 1095px) { /* <-- where cart layout changes to a single column */
 .woocommerce-cart .cart-collaterals .cart_totals { padding-left:0; padding-right: 0; }
 .woocommerce-cart .wc-proceed-to-checkout { padding: 1em; }
 .woocommerce-cart.woocommerce-js .quantity .plus { margin-right: -15px; }
}
/* Cart Headings */
.woocommerce-cart .cart-collaterals .cart_totals > h2, .woocommerce-cart .cart-collaterals .cross-sells > h2,
.woocommerce-cart .cart-collaterals .cart_totals table .cart-subtotal { display: none; }

/* Header Nav Cart styles also in Navigations section */
.woocommerce.widget_shopping_cart .woocommerce-mini-cart__buttons.buttons :is(a.button.wc-forward):not(:last-of-type) { margin-bottom: 1rem; }
.woocommerce.widget_shopping_cart .wc-forward.checkout { color: var(--c-lightest); background-color: var(--c-link); }
body.ast-theme-transparent-header .ast-site-header-cart .ast-woo-header-cart-info-wrap { display: none; /* <-- removes "Cart" text from header cart icon area */ }

body.ast-theme-transparent-header .ast-site-header-cart .ast-addon-cart-wrap i.astra-icon::after { background-color: var(--c-base-200);	color: var(--c-lightest); top: .5em; right: 0.1em; box-shadow: none;	padding: .025em .025em 0 0; }
@media (min-width: 1096px) {
.ast-cart-desktop-position-right .ast-woo-header-cart-info-wrap { margin-left: 2em; }
}

/* =Checkout */
.page-checkout.woocommerce-js .entry-content > .woocommerce { max-width: calc(var(--w-content) + calc(var(--s-lg) * 2)); padding: var(--s-lg); }
.woocommerce-checkout h1.entry-title { color: var(--c-lightest);	line-height: 1.3; font-weight: var(--fw-l);	letter-spacing: var(--ls-s); }
@media (max-width: 540px) {
.woocommerce-checkout .ast-container { padding: 0; }
.woocommerce-checkout .entry-content > .woocommerce { box-shadow: none;	padding: var(--s-lg) var(--s-md); border-radius: var(--radius-base); }
form #order_review:not(.elementor-widget-woocommerce-checkout-page #order_review) { padding: 0 var(--s-sm); }
form #order_review_heading:not(.elementor-widget-woocommerce-checkout-page #order_review_heading) { padding: var(--s-md) var(--s-sm); }
.woocommerce-checkout .payment_box.payment_method_square_credit_card fieldset { border: none; padding: 0; }
}
#additional_iphone_field.woocommerce-invalid.woocommerce-invalid-required-field { color: var(--c-danger); }

/* Coupon/Promo Code Field & Button*/
.woocommerce-checkout .add_gift_card_form #wc_gc_cart_redeem_form input[type="text"], .woocommerce-checkout .add_gift_card_form #wc_gc_cart_redeem_form button { max-width: 48%; display: inline-block;}

.woocommerce-js form .form-row label { font-weight: var(--fw-n); line-height: 1.5; margin-bottom: .25em; margin-top: .5em; }

@media (min-width: 923px) {
    .woocommerce.woocommerce-checkout form #customer_details.col2-set, .woocommerce-page.woocommerce-checkout form #customer_details.col2-set { width: 45%; }
.woocommerce.woocommerce-checkout form #order_review, .woocommerce.woocommerce-checkout form #order_review_heading, .woocommerce-page.woocommerce-checkout form #order_review, .woocommerce-page.woocommerce-checkout form #order_review_heading { width: 50% }
}
/* Modified UI handling for Coupon/Promo codes */
.woocommerce-checkout .woocommerce-form-coupon-toggle { display: none; }
.woocommerce-checkout .woocommerce-form-coupon-toggle + p { font-weight: 700;}
.woocommerce-checkout .woocommerce-form-coupon-toggle + p + .form-row + .form-row.form-row-last button { border: 1px solid var(--c-primary); padding: .75em 1em !important;	min-height: 2.75em; }

.woocommerce-checkout div.coupon-form { margin-bottom: var(--s-md) !important; display: flex; flex-wrap: wrap; align-items: center; /*flex to vert align field & button */}

.woocommerce-checkout #payment.woocommerce-checkout-payment { margin-top: var(--s-lg); }

/* Remove from Checkout notices:
=Returning customer toggle 
=Continue Shopping button within 'product added' notice
 */
.woocommerce-checkout .wc-block-components-notice-banner.is-success .button.wc-forward,
.woocommerce-checkout .woocommerce-form-login-toggle { display: none; }

/* Order Details */
.woocommerce-page.woocommerce-checkout .woocommerce-order h2.woocommerce-column__title, .woocommerce-page.woocommerce-checkout .woocommerce-order h2.woocommerce-order-details__title, .woocommerce.woocommerce-checkout .woocommerce-order h2.woocommerce-column__title, .woocommerce.woocommerce-checkout .woocommerce-order h2.woocommerce-order-details__title { border: 1px solid var(--c-primary); border-radius: var(--radius-base) var(--radius-base) 0 0; border-bottom: none; }
.woocommerce-js .woocommerce-order-details table.woocommerce-table.woocommerce-table--order-details { border-radius: 0 0 var(--radius-base) var(--radius-base); border-top: none; }

/* Buttons */
.woocommerce :is(a.button, button.button, button.button.alt):not(.woocommerce-button):not(.woocommerce-Button),
.woocommerce form.login :is(button.woocommerce-button,button.woocommerce-Button) { background-color: var(--c-link); color: var(--c-lightest); padding: .75em 1.5em !important; font-weight: var(--fw-n); transition: var(--t-btn); margin: 0; border: none;  } 
.woocommerce-account :is(button.woocommerce-button,button.woocommerce-Button),
.woocommerce :is(button.woocommerce-button,button.woocommerce-Button),
.woocommerce .wc-proceed-to-checkout :is(a.button, button.button, button.button.alt):not(.woocommerce-button):not(.woocommerce-Button),
.woocommerce-page.woocommerce-checkout #payment #place_order { background-color: var(--c-link); color: var(--c-lightest);  padding: .75em 1.5em !important; font-weight: var(--fw-n); transition: var(--t-btn); margin: 0;  } 
.woocommerce-js a.button, .woocommerce button.button, .woocommerce .woocommerce-message a.button, .woocommerce #respond input#submit.alt, .woocommerce-js a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt, .woocommerce input.button, .woocommerce-cart table.cart td.actions .button, .woocommerce form.checkout_coupon .button, .woocommerce #respond input#submit, .wc-block-grid__products .wc-block-grid__product .wp-block-button__link,
a.button.wc-forward.ast-continue-shopping { border-radius: var(--radius-pill) !important; font-weight: var(--fw-n);  background-color: var(--c-link); color: var(--c-lightest); }
.woocommerce :is(a.button, button.button, button.button.alt):not(:disabled):hover,
.woocommerce form.login :is(button.woocommerce-button,button.woocommerce-Button):not(:disabled):hover, a.button.wc-forward.ast-continue-shopping:hover { background-color: var(--c-link-hover); color: var(--c-lightest); }

.woocommerce-js a.button, .woocommerce button.button.alt, .woocommerce-page table.cart td.actions .button, .woocommerce-page #content table.cart td.actions .button, .woocommerce-js a.button.alt, .woocommerce .woocommerce-message a.button, .ast-site-header-cart .widget_shopping_cart .buttons .button.checkout, .woocommerce button.button.alt.disabled, .wc-block-grid__products .wc-block-grid__product .wp-block-button__link, .woocommerce .woocommerce-mini-cart__buttons.buttons a:is(.button.wc-forward) { border: var(--w-border-base) solid var(--c-primary) }

.woocommerce :is(a.button.checkout-button):not(:disabled), .woocommerce-js table:is(.shop_table) a.button:not(:disabled) { background: var(--c-primary); color: var(--c-lightest); }

/* Fix of missing button gradient border */
.woocommerce-shop .ast-woocommerce-container { position: relative; z-index: 0; }

/* Buttons: Disabled */
.woocommerce .woocommerce-cart-form button[name="update_cart"]:disabled { background-color: var(--c-lightest); border: var(--w-border-base) solid var(--c-primary) !important; color: var(--c-primary); }
.woocommerce-js #respond input#submit.disabled:hover, .woocommerce-js #respond input#submit:disabled:hover, .woocommerce-js #respond input#submit:disabled[disabled]:hover, .woocommerce-js a.button.disabled:hover, .woocommerce-js a.button:disabled:hover, .woocommerce-js a.button:disabled[disabled]:hover, .woocommerce-js button.button.disabled:hover, .woocommerce-js button.button:disabled:hover, .woocommerce-js button.button:disabled[disabled]:hover, .woocommerce-js input.button.disabled:hover, .woocommerce-js input.button:disabled:hover, .woocommerce-js input.button:disabled[disabled]:hover { background-color: var(--c-lightest); color: var(--c-primary) !important; }

[id*="product-"] .variations .kad_radio_variations label { border-color: transparent; }
[id*="product-"] .variations .kad_radio_variations input[type="radio"]:focus + label, [id*="product-"] .variations .kad_radio_variations label:hover, [id*="product-"] .variations .kad_radio_variations.kt-image-color-sw input[type="radio"]:focus + label, [id*="product-"] .variations .kad_radio_variations.kt-image-color-sw label:hover, 
[id*="product-"] .variations .kad_radio_variations input[type="radio"]:checked + label, [id*="product-"] .variations .kad_radio_variations label.selectedValue:not(.used-for-specificity):not(.used-forspecificity):not(.usedfor-specificity) { border-color: var(--c-primary-900); }
[id*="product-"] .variations .kad_radio_variations label, .variations .kad_radio_variations label span { border-radius: 5rem; }

body.single-product:not(.hide-focus-outline) .kad_radio_variations input[type="radio"]:focus + label {	outline: 2px solid var(--c-primary-900); }

/* =WooCommerce =Forms */
.woocommerce-js form .form-row textarea, .woocommerce-js input[type="email"], .woocommerce-js input[type="number"], .woocommerce-js input[type="password"], .woocommerce-js input[type="reset"], .woocommerce-js input[type="search"], .woocommerce-js input[type="tel"], .woocommerce-js input[type="text"], .woocommerce-js input[type="url"], .woocommerce-js textarea, .woocommerce-page form .form-row textarea, .woocommerce-page input[type="email"], .woocommerce-page input[type="number"], .woocommerce-page input[type="password"], .woocommerce-page input[type="reset"], .woocommerce-page input[type="search"], .woocommerce-page input[type="tel"], .woocommerce-page input[type="text"], .woocommerce-page input[type="url"], .woocommerce-page textarea { border: 1px solid var(--c-base-200) !important;	background: var(--c-lightest); border-radius: var(--radius-sm);	transition: var(--t-extra-fast);}

.woocommerce-js .select2-container .select2-selection--single, .woocommerce-js select, .woocommerce-page .select2-container .select2-selection--single, .woocommerce-page select { border: 1px solid var(--c-base-200); border-radius: var(--radius-sm); }

.woocommerce-js #customer_details, .woocommerce-js .woocommerce table.shop_table, .woocommerce-cart .cart-collaterals .cart_totals, .woocommerce-cart .cart-collaterals .cross-sells { border: 1px solid var(--c-primary);	border-radius: var(--radius-base); }

.woocommerce-js input[type="text"]:focus, .woocommerce-js input[type="email"]:focus, .woocommerce-js textarea:focus, input[type="number"]:focus, .comments-area textarea#comment:focus, .comments-area textarea#comment:active, .comments-area .ast-comment-formwrap input[type="text"]:focus, .comments-area .ast-comment-formwrap input[type="text"]:active { border-color: var(--c-base-600) !important;}

.page-checkout.woocommerce-js #customer_details { border: none; }

form #order_review_heading:not(.elementor-widget-woocommerce-checkout-page #order_review_heading) { border-color: var(--c-primary); border-radius: var(--radius-base) var(--radius-base) 0 0; }
form #order_review:not(.elementor-widget-woocommerce-checkout-page #order_review) { border-color: var(--c-primary); border-radius: 0 0 var(--radius-base) var(--radius-base); }

#add_payment_method .cart-collaterals .cart_totals tr td, #add_payment_method .cart-collaterals .cart_totals tr th, .woocommerce-cart .cart-collaterals .cart_totals tr td, .woocommerce-cart .cart-collaterals .cart_totals tr th, .woocommerce-checkout .cart-collaterals .cart_totals tr td, .woocommerce-checkout .cart-collaterals .cart_totals tr th {  border-top: 1px solid var(--c-primary); }

.woocommerce-cart .cart-collaterals .cart_totals tr.woocommerce-shipping-totals :is(th,td) { border-top: none; }

#customer_details h3:not(.elementor-widget-woocommerce-checkout-page h3) { border-bottom: 1px solid var(--c-primary); }

/* Fix Checkout Payment Arrow: Square */
#add_payment_method #payment div.payment_box::before, .woocommerce-cart #payment div.payment_box::before, .woocommerce-checkout #payment div.payment_box::before { top: -.9em; }

/* Required */
.woocommerce-js.woocommerce-checkout  form .form-row .required { color: var(--c-danger); font-weight: var(--fw-sb); }
.woocommerce-js.woocommerce-checkout  form .required::after { content: " Required"; }

/* =Substitutions */
.woocommerce form #wc_checkout_add_ons .form-row.validate-required::before { content: "Substitutions"; font-weight: 700;}
.woocommerce-js.woocommerce-checkout form #wc_checkout_add_ons .form-row.validate-required { padding: var(--s-sm); border-radius: var(--radius-xs);border: 3px solid var(--c-primary);background: var(--c-primary-0); }
.woocommerce-js.woocommerce-checkout form .coupon_inner_checkout { padding: var(--s-sm); border-radius: var(--radius-xs);border: 1.5px solid var(--c-primary);background: var(--c-primary-0); }

/* WooCommerce Account Areas */
nav.woocommerce-MyAccount-navigation { margin-bottom: var(--s-lg); }
nav.woocommerce-MyAccount-navigation ul { border: 1px solid var(--c-primary); border-radius: var(--radius-base); padding-left: 0 !important;}
body .woocommerce-MyAccount-navigation-link { border: none;}
body .woocommerce-MyAccount-navigation-link:not(:last-child) { border-bottom: 1px solid var(--c-primary);}
body .woocommerce-MyAccount-navigation-link:is(:first-child), body .woocommerce-MyAccount-navigation-link:is(:first-child) a { border-radius: var(--radius-base) var(--radius-base) 0 0; }
body .woocommerce-MyAccount-navigation-link:is(:last-child), body .woocommerce-MyAccount-navigation-link:is(:last-child) a { border-radius: 0 0 var(--radius-base) var(--radius-base); }
body .woocommerce-MyAccount-navigation-link a { padding: .75em 1em .5em; }
body .woocommerce-MyAccount-navigation-link.is-active a,
body .woocommerce-MyAccount-navigation-link:hover a { background-color: var(--c-lightest); }
.woocommerce .woocommerce-Addresses .woocommerce-Address-title, .woocommerce .woocommerce-Addresses .woocommerce-column__title, .woocommerce .woocommerce-MyAccount-content .woocommerce-Address-title, .woocommerce .woocommerce-MyAccount-content .woocommerce-column__title, .woocommerce .woocommerce-customer-details .woocommerce-Address-title, .woocommerce .woocommerce-customer-details .woocommerce-column__title, .woocommerce-account .woocommerce-Addresses .woocommerce-Address-title, .woocommerce-account .woocommerce-Addresses .woocommerce-column__title, .woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title, .woocommerce-account .woocommerce-MyAccount-content .woocommerce-column__title, .woocommerce-account .woocommerce-customer-details .woocommerce-Address-title, .woocommerce-account .woocommerce-customer-details .woocommerce-column__title { border: 1px solid var(--c-primary); border-radius: var(--radius-base) var(--radius-base) 0 0; border-bottom: none; background-color: var(--c-lightest);}
.woocommerce .woocommerce-Addresses address, .woocommerce .woocommerce-MyAccount-content address, .woocommerce .woocommerce-customer-details address, .woocommerce-account .woocommerce-Addresses address, .woocommerce-account .woocommerce-MyAccount-content address, .woocommerce-account .woocommerce-customer-details address, .woocommerce-page.woocommerce-checkout .woocommerce-customer-details address, .woocommerce.woocommerce-checkout .woocommerce-customer-details address { border: 1px solid var(--c-primary);	border-radius: 0 0 var(--radius-base) var(--radius-base); border-top: none; background-color: var(--c-lightest); }
header.woocommerce-Address-title h3 { font-size: var(--fs-md); }

header.woocommerce-Address-title.title h2 { margin-bottom: var(--s-xs); }
.woocommerce .addresses .title .edit, .woocommerce-account .addresses .title .edit { float: none; font-weight: var(--fw-n); border: 1px solid var(--c-link); border-radius: var(--radius-pill); font-size: var(--fs-sm); padding: .75em 1em .6em; transition: var(--t-extra-fast); }
.woocommerce .addresses .title .edit:hover, .woocommerce-account .addresses .title .edit:hover { border-color: var(--c-link-hover); background-color: var(--c-link-hover); color: var(--c-lightest); }

.page-template-page-my-account .entry-content h2 { font-size: var(--fs-2xl); line-height: var(--lh-2xl);}
.page-template-page-my-account .entry-content h3 { font-size: var(--fs-xl); line-height: var(--lh-xl);}
.page-template-page-my-account .entry-content h4 { font-size: var(--fs-lg); line-height: var(--lh-lg);}
.page-template-page-my-account .entry-content .woocommerce-Giftcards.woocommerce-MyAccount-Giftcards-form { margin-bottom: var(--s-md); }

.woocommerce-account .entry-header { padding: var(--s-base);}
.woocommerce-account h1.entry-title { font-family: var(--ff-headings); font-size: var(--fs-3xl); font-weight: var(--fw-b); color: var(--c-lightest); letter-spacing: .025em; line-height: 1.5;}
.woocommerce-account .entry-content { padding: 0 var(--s-lg);}
.woocommerce-account .entry-content > .woocommerce { padding-top: var(--s-md);}

/* WooCommece Notifications */
.woocommerce-error, .woocommerce-info, .woocommerce-message { background-color: var(--c-lightest); }
.woocommerce-message { border-top-color: var(--c-success); }
.woocommerce-message::before { color: var(--c-success); }
.woocommerce-info { border-top-color: var(--c-info); }
.woocommerce-info::before { color: var(--c-info); }
.woocommerce-error { border-top-color: var(--c-danger); }
.woocommerce-error::before { color: var(--c-danger); }


/* =Shop Sidebar */

#secondary .ast-filter-wrap .ast-woo-sidebar-widget.widget { margin-bottom: 0;}

.woocommerce #secondary #block-4 /* active filters*/ { margin-bottom: var(--s-md); }
.woocommerce #secondary #block-5 /*filter by characteristics */ { margin-top: var(--s-md); }
.woocommerce .widget-area.secondary .sidebar-main { padding: var(--s-base); border-radius: var(--radius-base); border: 1px solid var(--c-base-100); }
.woocommerce .widget-area.secondary .sidebar-main h3 { font-size: var(--fs-lg); margin-bottom: var(--s-xs); border-top: 1px solid var(--c-base-100); padding-top: var(--s-xs); }
.woocommerce .widget-area.secondary .sidebar-main .widget:first-child h3 { border-top: none; }
.woocommerce ul.wc-block-product-categories-list > li  { line-height: 1.5; }
.woocommerce ul.wc-block-product-categories-list li.wc-block-product-categories-list-item  { line-height: 2; }
.woocommerce ul.wc-block-product-categories-list li.wc-block-product-categories-list-item .category-header ~ .wc-block-product-categories-list-item-count { display: none; }
.woocommerce ul.wc-block-product-categories-list > li ul.wc-block-product-categories-list--depth-1 { border-left: 1px solid var(--c-primary-200); margin-left: .75em; padding-left: .75em; }
.woocommerce ul.wc-block-product-categories-list > li ul li { font-size: var(--fs-sm); }
.woocommerce ul.wc-block-product-categories-list > li ul li::before { display: none; }
.woocommerce ul.wc-block-product-categories-list > li a:focus-visible { outline-offset: 5px;  }

.woocommerce #secondary .wc-block-attribute-filter-list { display: grid; grid-template-columns: repeat(2,1fr); }
.woocommerce #secondary .wc-block-attribute-filter-list input { font-size: .7rem; }
.woocommerce #secondary .wc-block-attribute-filter__actions { justify-content: flex-start; }
.woocommerce #secondary .wc-blocks-filter-wrapper button:not(.wc-block-components-filter-reset-button,.wc-block-active-filters__list-item-remove,.wc-block-active-filters__clear-all) { padding: .5em 1em; font-size: var(--fs-sm); line-height: 1.3; background-color: var(--c-link); }
.woocommerce #secondary .wc-block-attribute-filter__actions .wc-block-components-filter-submit-button:not(:disabled):hover  { background-color: var(--c-link-hover); }
.woocommerce #secondary .wc-block-components-checkbox .wc-block-components-checkbox__mark { margin-top: 0; margin-left: .06em;}

@media (min-width: 923px) {
    .woocommerce.ast-left-sidebar #secondary { border: none; padding: 0; }
    .woocommerce.ast-left-sidebar #primary { border: none; }
    .woocommerce #secondary .wc-block-components-checkbox { margin-top: .5em; }
}

.woocommerce-message.kwsb-snackbar-notice { padding: 1rem 4rem 1rem 3.25rem !important; }
.woocommerce-message.kwsb-snackbar-notice a.button.wc-forward { margin-left: 1rem !important; }
.woocommerce-message.kwsb-snackbar-notice::before { top: 1.5em; }

/* Woo Accordion (works with woo-accordion.js) */
/* Style the category header wrapper */
.category-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

/* Ensure the category link takes up available space */
.category-header > a {
    flex: 1;
    padding-right: 10px;
}

/* Style the toggle button */
.category-toggle-button {
    background: none;
    border: 1px solid var(--c-link);
    padding: 8px;
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    cursor: pointer;
    position: relative;
}
.category-toggle-button[aria-expanded="true"] { background-color: var(--c-link); }
.category-toggle-button[aria-expanded="true"]::before { top: 58%; }

/* Add chevron arrow indicator */
.category-toggle-button::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    width: 8px;
    height: 8px;
    border-style: solid;
    border-width: 0 1.5px 1.5px 0;
    transform: translate(-50%, -50%) rotate(-135deg);
    transition: transform 0.3s ease;
    border-color: var(--c-lightest);
}

/* Rotate arrow when collapsed */
.category-toggle-button[aria-expanded="false"]::before {
    transform: translate(-50%, -75%) rotate(45deg);
    border-color: var(--c-link);
}

.category-toggle-button[aria-expanded="false"]:focus::before,
.category-toggle-button[aria-expanded="false"]:focus-within::before { border-color: var(--c-lightest); }

/* Style the children container */
.wc-block-product-categories-list--depth-1 {
    overflow: hidden;
    transition: max-height 0.3s ease, opacity 0.3s ease, visibility 0.3s ease;
    max-height: 1000px; /* Adjust based on your content */
    opacity: 1;
    visibility: visible;
}

/* Focus styles for accessibility */
.category-toggle-button:focus {
    outline: 2px solid var(--c-link);
    outline-offset: 2px;
}

/* Optional: Add hover effect */
.category-toggle-button:hover { color: var(--c-link); }
.category-toggle-button:hover::before { border-color: var(--c-lightest); }

/* Maintain padding for child items */
.wc-block-product-categories-list--depth-1 {
    padding-left: 1em;
}

/* Make sure the button doesn't interfere with link hover states */
.category-header:hover > a {
    color: var(--c-link); 
}