/* WooCommerce General Styles - Externalized from inline CSS */

/* Product listing and ordering */
.woocommerce .woocommerce-result-count, 
.woocommerce-page .woocommerce-result-count { 
    float: left; 
} 

.woocommerce .woocommerce-ordering { 
    float: right; 
    margin-bottom: 2.5em; 
}

/* Checkout page styles */
#customer_details h3:not(.elementor-widget-woocommerce-checkout-page h3) {
    padding: 20px 0 14px;
    margin: 0 0 20px;
    border-bottom: 1px solid var(--ast-border-color);
}

form #order_review_heading:not(.elementor-widget-woocommerce-checkout-page #order_review_heading) {
    border-width: 2px 2px 0 2px;
    border-style: solid;
    margin: 0;
    padding: 1.5em 1.5em 1em;
    border-color: var(--ast-border-color);
}

.woocommerce-Address h3, 
.cart-collaterals h2 {
    padding: .7em 1em;
}

form #order_review:not(.elementor-widget-woocommerce-checkout-page #order_review) {
    padding: 0 2em;
    border-width: 0 2px 2px;
    border-style: solid;
    border-color: var(--ast-border-color);
}

ul#shipping_method li:not(.elementor-widget-woocommerce-cart #shipping_method li) {
    margin: 0;
    padding: 0.25em 0 0.25em 22px;
    text-indent: -22px;
    list-style: none outside;
}

/* Sale badges and messages */
.woocommerce span.onsale, 
.wc-block-grid__product .wc-block-grid__product-onsale {
    background-color: var(--ast-global-color-0);
    color: #ffffff;
}

.woocommerce-message, 
.woocommerce-info {
    border-top-color: var(--ast-global-color-0);
}

.woocommerce-message::before,
.woocommerce-info::before {
    color: var(--ast-global-color-0);
}

/* Product prices and colors */
.woocommerce ul.products li.product .price, 
.woocommerce div.product p.price, 
.woocommerce div.product span.price, 
.widget_layered_nav_filters ul li.chosen a, 
.woocommerce-page ul.products li.product .ast-woo-product-category, 
.wc-layered-nav-rating a {
    color: var(--ast-global-color-3);
}

/* Pagination */
.woocommerce nav.woocommerce-pagination ul,
.woocommerce nav.woocommerce-pagination ul li {
    border-color: var(--ast-global-color-0);
}

.woocommerce nav.woocommerce-pagination ul li a:focus, 
.woocommerce nav.woocommerce-pagination ul li a:hover, 
.woocommerce nav.woocommerce-pagination ul li span.current {
    background: var(--ast-global-color-0);
    color: #ffffff;
}

/* My Account */
.woocommerce-MyAccount-navigation-link.is-active a {
    color: var(--ast-global-color-1);
}

/* Price filter widget */
.woocommerce .widget_price_filter .ui-slider .ui-slider-range, 
.woocommerce .widget_price_filter .ui-slider .ui-slider-handle {
    background-color: var(--ast-global-color-0);
}

/* Star ratings */
.woocommerce .star-rating, 
.woocommerce .comment-form-rating .stars a, 
.woocommerce .star-rating::before {
    color: #FDA256;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active:before,  
.woocommerce div.ast-product-tabs-layout-vertical .woocommerce-tabs ul.tabs li:hover::before {
    background: var(--ast-global-color-0);
}

.woocommerce .star-rating {
    width: calc(5.4em + 5px);
    letter-spacing: 2px;
}

/* Entry content messages */
.entry-content .woocommerce-message, 
.entry-content .woocommerce-error, 
.entry-content .woocommerce-info {
    padding-top: 1em;
    padding-bottom: 1em;
    padding-left: 3.5em;
    padding-right: 2em;
}

/* Product layout */
.woocommerce[class*="rel-up-columns-"] .site-main div.product .related.products ul.products li.product, 
.woocommerce-page .site-main ul.products li.product {
    width: 100%;
}

/* Product categories */
.woocommerce ul.product-categories > li ul li {
    position: relative;
}

.woocommerce ul.product-categories > li ul li:before {
    content: "";
    border-width: 1px 1px 0 0;
    border-style: solid;
    display: inline-block;
    width: 6px;
    height: 6px;
    position: absolute;
    top: 50%;
    margin-top: -2px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.woocommerce ul.product-categories > li ul li a {
    margin-left: 15px;
}

/* Cart icons */
.ast-icon-shopping-cart svg {
    height: .82em;
}

.ast-icon-shopping-bag svg {
    height: 1em;
    width: 1em;
}

.ast-icon-shopping-basket svg {
    height: 1.15em;
    width: 1.2em;
}

/* Header cart */
.ast-site-header-cart.ast-menu-cart-outline .ast-addon-cart-wrap, 
.ast-site-header-cart.ast-menu-cart-fill .ast-addon-cart-wrap {
    line-height: 1;
}

.ast-site-header-cart.ast-menu-cart-fill i.astra-icon {
    font-size: 1.1em;
}

li.woocommerce-custom-menu-item .ast-site-header-cart i.astra-icon:after {
    padding-left: 2px;
}

.ast-hfb-header .ast-addon-cart-wrap {
    padding: 0.4em;
}

.ast-header-break-point.ast-header-custom-item-outside .ast-woo-header-cart-info-wrap {
    display: none;
}

.ast-site-header-cart i.astra-icon:after {
    background: var(--ast-global-color-0);
}

/* Container */
.ast-separate-container .ast-woocommerce-container {
    padding: 3em;
}

/* Responsive styles */
@media (min-width: 545px) and (max-width: 921px) {
    .woocommerce.tablet-columns-3 ul.products li.product, 
    .woocommerce-page.tablet-columns-3 ul.products:not(.elementor-grid) {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (min-width: 922px) {
    .woocommerce form.checkout_coupon {
        width: 50%;
    }
}

@media (max-width: 921px) {
    .ast-header-break-point.ast-woocommerce-cart-menu .header-main-layout-1.ast-mobile-header-stack.ast-no-menu-items .ast-site-header-cart, 
    .ast-header-break-point.ast-woocommerce-cart-menu .header-main-layout-3.ast-mobile-header-stack.ast-no-menu-items .ast-site-header-cart {
        padding-right: 0;
        padding-left: 0;
    }
    
    .ast-header-break-point.ast-woocommerce-cart-menu .header-main-layout-1.ast-mobile-header-stack .main-header-bar {
        text-align: center;
    }
    
    .ast-header-break-point.ast-woocommerce-cart-menu .header-main-layout-1.ast-mobile-header-stack .ast-site-header-cart, 
    .ast-header-break-point.ast-woocommerce-cart-menu .header-main-layout-1.ast-mobile-header-stack .ast-mobile-menu-buttons {
        display: inline-block;
    }
    
    .ast-header-break-point.ast-woocommerce-cart-menu .header-main-layout-2.ast-mobile-header-inline .site-branding {
        flex: auto;
    }
    
    .ast-header-break-point.ast-woocommerce-cart-menu .header-main-layout-3.ast-mobile-header-stack .site-branding {
        flex: 0 0 100%;
    }
    
    .ast-header-break-point.ast-woocommerce-cart-menu .header-main-layout-3.ast-mobile-header-stack .main-header-container {
        display: flex;
        justify-content: center;
    }
    
    .woocommerce-cart .woocommerce-shipping-calculator .button {
        width: 100%;
    }
    
    .woocommerce div.product div.images, 
    .woocommerce div.product div.summary, 
    .woocommerce #content div.product div.images, 
    .woocommerce #content div.product div.summary, 
    .woocommerce-page div.product div.images, 
    .woocommerce-page div.product div.summary, 
    .woocommerce-page #content div.product div.images, 
    .woocommerce-page #content div.product div.summary {
        float: none;
        width: 100%;
    }
}