/* Import Outfit Google Font */
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap');

/* Apply Outfit globally to WooCommerce search elements */
.fibosearch-wrapper,
.dgwt-wcas-search-wrapp,
.dgwt-wcas-suggestions,
.dgwt-wcas-suggestion,
.dgwt-wcas-suggestion-title,
.dgwt-wcas-suggestion-price,
.dgwt-wcas-suggestion-description,
.dgwt-wcas-search-input,
.dgwt-wcas-search-submit,
.dgwt-wcas-preloader,
.dgwt-wcas-close {
    font-family: 'Outfit', sans-serif !important;
}

/* Style search input field */
.dgwt-wcas-search-input {
    font-family: 'Outfit', sans-serif !important;
    font-size: 16px;
    padding: 12px 15px;
    border-radius: 30px;
    border: 1px solid #ddd;
    background: #fff;
}

/* Search button */
.dgwt-wcas-search-submit {
    font-family: 'Outfit', sans-serif !important;
    font-weight: 500;
    border-radius: 30px;
    padding: 10px 18px;
    background: #333;
    color: #fff;
    transition: 0.3s;
}

.dgwt-wcas-search-submit:hover {
    background: #000;
}

/* Dropdown results box */
.dgwt-wcas-suggestions-wrapp {
    font-family: 'Outfit', sans-serif !important;
    border-radius: 15px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    overflow: hidden;
}

/* Product title inside results */
.dgwt-wcas-suggestion-title {
    font-family: 'Outfit', sans-serif !important;
    font-size: 15px;
    font-weight: 500;
    color: #222;
}

/* Product price inside results */
.dgwt-wcas-suggestion-price {
    font-family: 'Outfit', sans-serif !important;
    font-size: 14px;
    font-weight: 600;
    color: #e63946;
}

/* Product description/excerpt */
.dgwt-wcas-suggestion-description {
    font-family: 'Outfit', sans-serif !important;
    font-size: 13px;
    color: #666;
}

/* Highlight hovered result */
.dgwt-wcas-suggestion:hover {
    background: #f9f9f9;
}

.e-con.e-grid>.e-con-inner {
    display: flex !important;
    align-items: var(--align-items);
    justify-items: var(--justify-items);
}

.elementor-widget-icon-box .elementor-icon-box-wrapper {
    display: flex;
    flex-direction: column;
    text-align: left;
}

.menu-toggle,
button,
.ast-button,
.ast-custom-button,
.button,
input#submit,
input[type="button"],
input[type="submit"],
input[type="reset"],
#comments .submit,
.search .search-submit,
form[CLASS*="wp-block-search__"].wp-block-search .wp-block-search__inside-wrapper .wp-block-search__button,
body .wp-block-file .wp-block-file__button,
.woocommerce-js a.button,
.woocommerce button.button,
.woocommerce .woocommerce-message a.button,
.woocommerce #respond input#submit.alt,
.woocommerce input.button.alt,
.woocommerce input.button,
.woocommerce input.button:disabled,
.woocommerce input.button:disabled[disabled],
.woocommerce input.button:disabled:hover,
.woocommerce input.button:disabled[disabled]:hover,
.woocommerce #respond input#submit,
.woocommerce button.button.alt.disabled,
.wc-block-grid__products .wc-block-grid__product .wp-block-button__link,
.wc-block-grid__product-onsale,
[CLASS*="wc-block"] button,
.woocommerce-js .astra-cart-drawer .astra-cart-drawer-content .woocommerce-mini-cart__buttons .button:not(.checkout):not(.ast-continue-shopping),
.woocommerce-js .astra-cart-drawer .astra-cart-drawer-content .woocommerce-mini-cart__buttons a.checkout,
.woocommerce button.button.alt.disabled.wc-variation-selection-needed,
[CLASS*="wc-block"] .wc-block-components-button {
    border-style: solid;
    border-top-width: 0;
    border-right-width: 0;
    border-radius: 0px;
    border-left-width: 0;
    border-bottom-width: 0;
    color: #ffffff;
    border-color: var(--ast-global-color-0);
    background-color: var(--ast-global-color-0);
    padding-top: 12px;
    padding-right: 20px;
    padding-bottom: 12px;
    padding-left: 20px;
    font-family: 'Outfit', sans-serif !important;
    font-weight: 500;
    font-size: 16px;
    line-height: 1em;
}

@media (max-width: 768px) {

    .e-con.e-grid>.e-con-inner {
        display: flex !important;
        flex-direction: column !important;
        align-items: var(--align-items);
        justify-items: var(--justify-items);
    }

    .wc-stripe-product-checkout-container.bottom {
        margin-left: 1em !important;
        margin-top: 0px !important;
        margin-bottom: 15px !important;
    }

    body.search-results ul.products,
    body.search ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

.stripe_cart_gateway_active .checkout-button,
.woocommerce-cart .stripe_cart_gateway_active .wc-proceed-to-checkout .checkout-button {
    margin-bottom: 20px !important;
}

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

.woocommerce-js div.product form.cart .button.single_add_to_cart_button {
    padding: 10px 20px;
    width: 240px !important;
}

.wc-stripe-product-checkout-container.bottom {
    margin-left: 1em !important;
    margin-top: 5px !important;
}

/* Center product gallery thumbnails */
.woocommerce-js div.product div.images .flex-control-thumbs {
    display: flex !important;
    justify-content: space-between;
}

/* Hide WooCommerce zoom image */
.zoomImg {
    display: none !important;
}

/* Search results layout */
body.search-results .site-content,
body.search .site-content {
    max-width: 1200px;
    margin: 0 auto;
    padding: 30px 20px;
}

body.search-results .ast-container,
body.search .ast-container {
    max-width: 1200px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
}

body.search-results ul.products,
body.search ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 24px !important;
}

body.search-results ul.products li.product,
body.search ul.products li.product {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
}

/* Equal product title heights */
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    min-height: 72px;
    display: flex;
    align-items: flex-start;
}

/* Consistent product card layout */
.woocommerce ul.products li.product {
    display: flex;
    flex-direction: column;
}

/* Push buttons evenly */
.woocommerce ul.products li.product .button {
    margin-top: auto;
}

/* WooCommerce Product Tabs - Sitewide */

.single-product .woocommerce-tabs p,
.single-product .woocommerce-tabs li {
    font-size: 13px !important;
    line-height: 1.4em !important;
}

/* Hide default tab headings */

.single-product .woocommerce-Tabs-panel h2 {
    display: none !important;
}

/* Active tab styling */

.single-product .woocommerce-tabs ul.tabs li.active,
.single-product .woocommerce-tabs ul.tabs li.active a {
    background: #000 !important;
    color: #fff !important;
}

.single-product .woocommerce-tabs ul.tabs li.active a {
    border-radius: 3px 3px 0 0;
}

/* Remove default WooCommerce tab shapes */

.single-product .woocommerce-tabs ul.tabs li.active::before,
.single-product .woocommerce-tabs ul.tabs li.active::after {
    display: none !important;
}

/* Clean tab divider */

.single-product .woocommerce-tabs ul.tabs::before {
    border-bottom: 1px solid #dcdcdc !important;
}
@media (min-width: 768px) {
    .mobile-only {
        display: none !important;
    }
}
/* Smaller Upsell Products On Single Product Pages */

.single-product .up-sells.products {
    margin-top: 25px !important;
}

.single-product .up-sells.products h2 {
    font-size: 20px !important;
    margin-bottom: 20px !important;
}

.single-product .up-sells.products ul.products {
    gap: 18px !important;
}

.single-product .up-sells.products ul.products li.product img {
    max-height: 190px !important;
    width: auto !important;
    object-fit: contain !important;
    margin: 0 auto 10px auto !important;
}

.single-product .up-sells.products ul.products li.product .woocommerce-loop-product__title {
    font-size: 13px !important;
    line-height: 1.3em !important;
    min-height: 42px !important;
}

.single-product .up-sells.products ul.products li.product .price {
    font-size: 13px !important;
}

.single-product .up-sells.products ul.products li.product .button {
    font-size: 12px !important;
    padding: 8px 14px !important;
}