/*
Theme Name:   Shoptimizer Child
Description:  Shoptimizer Child Theme
Author:       STR8MINDS
Author URI:   https://www.str8minds.com/
Template:     shoptimizer
Version:      1.5.5
License:      GPL v2 or later
License URI:  https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  shoptimizer-child
*/

/* Variables for colors */
:root {
    --bitprice-white: #ffffff;
    --bitprice-black: #000000;
    /* TO REMOVE - used from Elementor Global Colors
    --e-global-color-primary: #224F6E;
    --e-global-color-secondary: #222222;
    --e-global-color-text: #444444;
    --e-global-color-accent: #DC9814;
    --e-global-color-dc38166: #F8F8F8;
    --e-global-color-35b495d: #EEEEEE;
    --e-global-color-61e9856: #E2E2E2;
    --e-global-color-2cb7221: #E21E1D;
    --e-global-color-b8dce5a: #3BB54A;
    --e-global-color-bc335c7: #FFFFFFB8;
    --e-global-color-638afaf: #323232;
    */
}

body:not(#main-theme) .site-content {
    overflow: hidden;
}

/* Navigation */
body:not(#main-theme) .main-nav-element {
    margin-right: 8px;
    cursor: auto;
}

body:not(#main-theme) .main-nav-element a {
    line-height: 1.6;
    padding-right: 0;
    cursor: pointer;
}

.main-nav-element:before {
    content: '';
    display: inline-block;
    background-image: url(images/dehaze.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    width: 12px;
    height: 9px;
    margin-right: 4px;
}

/* Product cards */
body:not(#main-theme) .shoptimizer-plp-image-wrapper {
    background-color: var(--bitprice-white, #fff);
}

body:not(#main-theme) .product-out-of-stock {
    top: 10px;
    left: 10px;
    bottom: initial;
    color: var(--bitprice-white, #fff);
    font-size: 11px;
    border-radius: 3px;
    padding: 3px 6px;
    line-height: 14px;
    background-color: var(--e-global-color-2cb7221, #E21E1D);
    width: auto;
    height: auto;
}

body:not(#main-theme) .product-out-of-stock+.product-label.type-bubble,
li.product .product-out-of-stoc+.onsale {
    left: 94px;
}

/* Custom Button Styles for Shoptimizer */
body:not(#main-theme) ul.products li.product .added_to_cart,
body:not(#main-theme) ul.products li.product .button {
    font-size: 12px;
    line-height: 16px;
    border-radius: 8px;
    border: 1px solid var(--e-global-color-61e9856, #E2E2E2);
    padding: 7px 12px;
    background-color: var(--bitprice-white, #fff);
    color: var(--e-global-color-secondary, #222222);
    width: auto;
    height: auto;
}

body:not(#main-theme) ul.products li.product .added_to_cart:before,
body:not(#main-theme) ul.products li.product .button:before {
    content: '+';
    display: inline-block;
    margin-right: 4px;
}

body:not(#main-theme) ul.products li.product .added_to_cart:hover,
body:not(#main-theme) ul.products li.product .button:hover {
    background-color: var(--e-global-color-dc38166, #F8F8F8);
    border-color: var(--e-global-color-61e9856, #E2E2E2);
}

body:not(#main-theme) table.cart td.actions button {
    border-radius: 8px;
}

body:not(#main-theme) .woocommerce-cart p.return-to-shop a,
body:not(#main-theme) .wc-proceed-to-checkout .button.checkout-button,
body:not(#main-theme) #payment .place-order .button {
    border-radius: 12px;
}

body:not(#main-theme) .woocommerce-form-login-toggle .woocommerce-info {
    background: none;
    border: 0;
    text-align: center;
    font-weight: 600;
    font-size: 24px;
    line-height: 30px;
    letter-spacing: -0.5px;
    color: var(--e-global-color-secondary, #222222);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
}

body:not(#main-theme) .showlogin {
    color: var(--bitprice-white, #fff);
    line-height: 1;
    font-size: clamp(0.8125rem, 0.749rem + 0.2033vw, 0.875rem);
    font-weight: 600;
    border-radius: 12px;
    padding: 17px 24px;
    display: inline-block;
    background: var(--e-global-color-accent, #DC9814);
}

body:not(#main-theme) .woocommerce-info .showlogin:hover,
body:not(#main-theme) .woocommerce-info .showlogin:focus {
    background: var(--e-global-color-dc38166, #F8F8F8);
    color: var(--e-global-color-secondary, #222222);
}

/* Custom Button Styles */
.custom-button-wrapper {
    display: inline-block;
    margin: 10px 0;
}

body:not(#main-theme) .main-nav-element,
body:not(#main-theme) .custom-button {
    display: inline-flex;
    align-items: center;
    padding: 8px 12px;
    background: rgba(255, 255, 255, 0.08);
    border-radius: 8px;
    text-decoration: none;
    color: var(--bitprice-white, #fff);
    font-weight: 600;
    font-size: 16px;
    line-height: 1.4;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(74, 85, 104, 0.3);
    border: none;
    cursor: pointer;
}

body:not(#main-theme) .custom-button:hover {
    background: rgba(255, 255, 255, 0.15);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(74, 85, 104, 0.4);
    color: var(--bitprice-white, #fff);
    text-decoration: none;
}

.custom-button:focus {
    outline: 2px solid #4299e1;
    outline-offset: 2px;
    color: var(--bitprice-white, #fff);
    text-decoration: none;
}

.custom-button-icon {
    margin-right: 8px;
    font-size: 18px;
    display: flex;
    align-items: center;
}

.custom-button-text {
    white-space: nowrap;
    letter-spacing: -0.1px;
    text-decoration: none;
}

/* Mini Cart Styles */
body:not(#main-theme) .shoptimizer-mini-cart-wrap .widget_shopping_cart li:last-child {
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

/* Footer Styles */
body:not(#main-theme) .site-footer .col-full {
    justify-content: space-between;
}

body:not(#main-theme) .site-footer .widget:nth-child(1) {
    flex: 1 0 350px;
    max-width: 350px;
}

body:not(#main-theme) .site-footer .widget:nth-child(2),
body:not(#main-theme) .site-footer .widget:nth-child(3) {
    flex: 0 0 310px;
    max-width: 310px;
}

.site-footer .bitprice-social-footer-widget {
    flex: 0;
}

footer.copyright {
    border-top: 1px solid rgba(255, 255, 255, 0.24);
}

.bit-footer-logo img {
    width: 180px;
}

body:not(#main-theme) .site-footer .widget_nav_menu a {
    display: block;
}

body:not(#main-theme) .site-footer .widget li {
    margin-bottom: 12px;
    line-height: 1.1;
}

/* Widget Text Link Hover Effects */
.site-footer .textwidget a:not(.custom-button):not(.bit-footer-logo),
.site-footer .textwidget ul li a:not(.custom-button):not(.bit-footer-logo) {
    display: flex;
    align-items: center;
    width: 100%;
    text-decoration: none;
    transition: all 0.3s ease;
}

.site-footer .textwidget a:not(.custom-button):not(.bit-footer-logo):hover,
.site-footer .textwidget ul li a:not(.custom-button):not(.bit-footer-logo):hover {
    opacity: 0.9;
    transform: translateX(3px);
}

/* Social Footer Widget Theme Integration */
.site-footer .bitprice-social-footer-text {
    color: var(--e-global-color-bc335c7, #FFFFFFB8);
}

.site-footer .bitprice-social-footer-link:hover .bitprice-social-footer-text,
.site-footer .textwidget a:not(.custom-button):hover {
    color: var(--bitprice-white, #fff);
}

/* Hide the first two .form-row elements in the coupon form by default (for custom toggle JS) */
.woocommerce-form-coupon-toggle+.form-row:nth-of-type(1),
.woocommerce-form-coupon-toggle+.form-row:nth-of-type(1)+.form-row:nth-of-type(2) {
    display: none;
}

/* Hide checkout page title as a fallback */
body:not(#main-theme).woocommerce-checkout h1.entry-title,
body:not(#main-theme).woocommerce-checkout .woocommerce-title,
body:not(#main-theme).woocommerce-checkout .page-title {
    display: none;
}

body:not(#main-theme).search .woocommerce-info,
body:not(#main-theme).woocommerce-account .woocommerce-info,
body:not(#main-theme).woocommerce-account .woocommerce-noreviews,
body:not(#main-theme).woocommerce-account p.no-comments {
    background-color: var(--e-global-color-primary, #224F6E);
}

body:not(#main-theme) .mobile-extra .custom-button-wrapper {
    margin: 0;
}

body:not(#main-theme) .mobile-extra .custom-button-wrapper a {
    color: #000;
    background-color: rgba(0, 0, 0, 0.08);
    height: 40px;
    padding: 12px;
    box-shadow: none;
    font-size: 14px;
    margin-bottom: 32px;
}

body:not(#main-theme) .mobile-extra .bitprice-social-footer-icon {
    width: 20px;
    height: 20px;
}

.bitprice-social-footer-link {
    display: block;
}

/* .bitprice-social-footer-link::before {
    content: '';
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-right: 8px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}
.bitprice-social-footer-link.fb::before {
    background-image: url(images/mobile-fb.svg);
}
.bitprice-social-footer-link.ig:before {
    background-image: url(images/mobile-ig.svg);
} */
body:not(#main-theme) .mobile-extra h4 {
    font-size: 13px;
    line-height: 1.4;
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 0.3px;
    color: rgba(0, 0, 0, 1);
    margin-bottom: 16px;
    opacity: 1;
    padding-top: 0;
}

.bitprice-company-info {
    margin-bottom: 16px;
}

.bitprice-company-info p {
    font-size: 15px;
    margin-bottom: 12px;
    opacity: 0.72;
}

.bitprice-company-info p a {
    text-decoration: underline;
    color: #333;
}

#menu-help-navigation a,
.mobile-extra .bitprice-social-footer-link {
    color: #222;
}

#menu-help-navigation a:hover,
.mobile-extra .bitprice-social-footer-link:hover {
    text-decoration: underline;
}

body:not(#main-theme) .mobile-extra .menu-help-navigation-container {
    margin-bottom: 20px;
}

body:not(#main-theme) ul.products li.product img {
    aspect-ratio: 1 / 1;
    object-fit: contain;
}

/* Single Product Page */
.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).button-variable-item.selected:not(.no-stock) {
    background-color: var(--e-global-color-primary, #224f6e);
    color: var(--bitprice-white, #fff);
    box-shadow: 0 0 0 1px rgba(34, 79, 110, 0.5);
}

.single-product .bitprice-elementor-product-template {
    margin-top: 0;
}

.single-product .site-content .archive-header .col-full {
    max-width: 1170px;
    margin: 0 auto;
}

.single-product .product table.variations {
    margin-top: 50px;
    margin-bottom: 30px;
}

.single-product .product table.variations tbody {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

.single-product .product-type-variable.product p.price,
.single-product .reset_variations {
    display: none;
}

.single-product div.product p.price del,
.single-product .woocommerce-variation-price .price del,
.single-product .woocommerce-variation-price .price del .amount {
    color: #727272;
    font-weight: 300;
    font-size: clamp(0.75rem, 0.425rem + 1.175vw, 1.5rem);
    line-height: 1;
}

.single-product div.product p.price,
.single-product .woocommerce-variation-price .price .amount {
    color: var(--e-global-color-accent, #DC9814);
    font-weight: 500;
    font-size: clamp(1rem, 0.5rem + 1.5vw, 2rem);
}

.single-product #shoptimizer-modals-wrapper {
    justify-content: center;
}

.single-product .cart .single_add_to_cart_button {
    border-radius: 12px;

}

.single-product .cart .single_add_to_cart_button,
.single-product .product .cart .quantity .input-text {
    height: 48px;
    line-height: 48px;
}

.single-product table.woocommerce-product-attributes tr:nth-child(odd) {
    background-color: var(--e-global-color-dc38166, #F8F8F8);
}

.single-product table.woocommerce-product-attributes tr:first-child td,
.single-product table.woocommerce-product-attributes tr:first-child th {
    padding-top: 0.75rem;
}

.single-product table.woocommerce-product-attributes tr td,
.single-product table.woocommerce-product-attributes tr th {
    text-align: left;
    padding: 0.75rem;
}

body:not(#main-theme) .site-search input[type="search"] {
    font-size: 15px;
    color: #555;
}

body:not(#main-theme) .elementor-shortcode .woocommerce-loop-category__title {
    text-align: center;
    font-weight: 600;
    font-size: 20px;
    letter-spacing: -0.3px;
}

body:not(#main-theme) .elementor-shortcode ul.products {
    width: calc(100% + 16px);
    margin-left: -8px;
}

body:not(#main-theme) .elementor-shortcode ul.products li.product {
    padding-left: 8px;
    padding-right: 8px;
}

body:not(#main-theme).woocommerce-cart,
body:not(#main-theme).woocommerce-checkout {
    background-color: #fff;
}

body:not(#main-theme) li.menu-item-product p.product__categories,
body:not(#main-theme) .elementor-shortcode .woocommerce-loop-category__title,
body:not(#main-theme) .bitprice-categories-mega-menu .main-category-link,
body:not(#main-theme).top-level-category .content-area h2,
body:not(#main-theme) .content-area .sub-subcategory-name,
body:not(#main-theme) .bitprice-categories-accordion .accordion-button,
body:not(#main-theme) .bitprice-categories-accordion .subcategory-title,
body:not(#main-theme) .widget_product_categories ul li.cat-item a,
body:not(#main-theme) .widget .wc-block-product-categories-list.wc-block-product-categories-list--depth-1 li,
body:not(#main-theme) .widget_product_categories ul ul.children li,
body:not(#main-theme) .bitprice-categories-accordion .sub-subcategory-link,
body:not(#main-theme) .woocommerce-breadcrumb,
body:not(#main-theme) .bitprice-category-title,
body:not(#main-theme) .main-navigation ul li.menu-item>a,
body:not(#main-theme) .bitprice-categories-mega-menu .sub-subcategory-link {
    text-transform: capitalize;
}

body:not(#main-theme) .cg-main-swiper .swiper-slide img,
body:not(#main-theme) .cg-thumb-swiper .swiper-slide img {
    aspect-ratio: 1 / 1;
    object-fit: contain;
    height: auto !important;
}

.woocommerce-message {
    background-color: var(--e-global-color-accent, #DC9814);
    color: #fff;
    padding: 12px 24px;
    border-radius: 6px;
}

body:not(#main-theme) .call-back-feature button:hover {
    color: var(--e-global-color-accent) !important;
}

body:not(#main-theme) footer .mc4wp-form input[type="email"] {
    width: 100%;
    padding: 0 90px 0 15px;
}

body:not(#main-theme) footer .mc4wp-form input[type="submit"] {
    top: 5px;
    right: 5px;
    border-radius: 6px;
    height: 35px;
}

body:not(#main-theme) .content-area .summary .onsale {
    color: var(--bitprice-white, #fff);
    background-color: var(--e-global-color-6c668b8, #4FA147);
    padding: 6px 10px;
    border-radius: 5px;
    margin-bottom: 6px;
    display: inline-block;
}

.sale .entry-summary .price {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.sale .entry-summary .price ins {
    flex: 0 0 100%;
    max-width: 100%;
    order: 1;
}

.sale .entry-summary .price del {
    order: 2;
}

.sale .entry-summary .price .bitprice-sale-badge-inline {
    color: var(--e-global-color-6c668b8, #4FA147);
    font-size: clamp(0.75rem, 0.425rem + 1.175vw, 1.5rem);
    order: 3;
}

.sale .entry-summary .price ins .amount {
    color: var(--e-global-color-6c668b8, #4FA147);
    font-weight: 700;
    font-size: clamp(1rem, 0.75rem + 2vw, 2.5rem);
}

body:not(#main-theme) div.product .summary form.cart {
    margin-top: 0;
}

body:not(#main-theme) .ppcp-messages {
    display: none !important;
}

body:not(#main-theme) #tab-title-reviews span {
    top: 8px;
    right: 0;
}

body.error404:not(#main-theme) h1 {
    margin: 50px 0;
    text-align: center;
}

body.error404:not(#main-theme) div.site-main>p {
    text-align: center;
    margin-bottom: 50px;
}

body.error404:not(#main-theme) .woocommerce {
    margin-bottom: 50px;
}

body:not(#main-theme) ul.products li.product.product-category .cat-image-wrapper {
    background-color: #fff;
}

/* Responsive design */
@media (min-width: 993px) {
    body:not(#main-theme) .woocommerce-breadcrumb {
        margin: 0 0 0 35px;
        font-weight: 400;
        font-size: 13.5px;
        line-height: 20.25px;
    }

    body:not(#main-theme) .site-header .site-search {
        margin-left: 24px;
    }

    body:not(#main-theme).home .col-full-nav {
        border: none;
        background-color: transparent;
    }

    body:not(#main-theme) ul.products li.product:not(.product-category) {
        padding-bottom: 30px;
    }

    .after-navigation-widgets {
        margin-left: auto;
    }

    .header-5:not(#main-theme) .shoptimizer-cart a.cart-contents {
        border: none;
        border-left: 1px solid #eee;
        border-radius: 0;
        box-shadow: none;
    }

    .header-5:not(#main-theme) .shoptimizer-primary-navigation {
        align-items: center;
    }

    .single-product .product .images,
    .product .woocommerce-product-gallery {
        width: 48%;
    }

    .single-product .product .summary {
        width: 48%;
    }

    body:not(#main-theme) .secondary-navigation ul li a {
        padding: 35px 16px 0;
    }

    .header-5:not(#main-theme) .site-header .site-header-cart {
        margin-left: 16px;
    }

    html:not(#main-theme) body:not(.header-4).sticky-d .col-full-nav,
    html:not(#main-theme) body:not(.header-4).sticky-d .col-full-nav.is_stuck {
        z-index: 1001;
    }

    html:not(#main-theme) .shoptimizer-mini-cart-wrap {
        z-index: 1005;
    }

    html:not(#main-theme) .widget_shopping_cart .buttons .checkout:before {
        display: none;
    }
}

@media (max-width: 992px) {
    body:not(#main-theme) .site-branding {
        flex-direction: row;
        justify-content: flex-start;
        height: 50px;
    }

    body:not(#main-theme) .site-branding button.menu-toggle {
        position: relative;
        display: inline-block;
        margin: 0 5px 0 0;
        left: inherit;
        width: 26px;
        height: 26px;
    }

    body:not(#main-theme) .menu-toggle .bar {
        background-color: rgba(34, 79, 110, 1);
        width: 20px;
    }

    body:not(#main-theme) .site-header .custom-logo-link img {
        width: 110px;
        height: auto;
        object-fit: cover;
        object-position: center -10px;
        max-height: 25px;
    }

    body:not(#main-theme) .mobile-search-toggle {
        display: none;
    }

    body:not(#main-theme) .site-search {
        display: block;
        width: 100%;
    }

    body:not(#main-theme) .main-header .site-header-cart {
        top: 12px;
    }

    body:not(#main-theme) .site-search form:before {
        background-color: rgba(204, 204, 204, 1);
        left: 12px;
        margin-top: -8px;
    }

    body:not(#main-theme) .site-search input[type="search"] {
        height: 36px;
        padding: 10px 12px 10px 36px;
        background-color: rgba(248, 248, 248, 1);
        border-color: rgba(217, 217, 217, 1);
        border-radius: 4.8px;
        box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.05);
        font-size: 14px;
        color: rgba(85, 85, 85, 1);
    }

    body:not(#main-theme) .site-search input[type="search"]::placeholder {
        color: rgba(85, 85, 85, 1);
        opacity: 1;
    }

    body:not(#main-theme) .site-search input[type="search"]::-webkit-input-placeholder {
        color: rgba(85, 85, 85, 1);
        opacity: 1;
    }

    body:not(#main-theme) .site-search input[type="search"]::-moz-placeholder {
        color: rgba(85, 85, 85, 1);
        opacity: 1;
    }

    body:not(#main-theme) .site-search input[type="search"]:-ms-input-placeholder {
        color: rgba(85, 85, 85, 1);
        opacity: 1;
    }

    body:not(.mobile-toggled).sticky-m.admin.bar .site-header {
        top: 32px;
    }

    body:not(#main-theme) .mobile-menu.close-drawer {
        display: none;
    }

    body:not(#main-theme) .cross-sells ul.products,
    body:not(#main-theme) .m-grid-2 .cross-sells ul.products,
    body:not(#main-theme) .mobile-scroll ul.products,
    body:not(#main-theme) .related.products ul.products,
    body:not(#main-theme) .upsells.products ul.products {
        gap: 0;
    }

    body:not(#main-theme) .cross-sells ul.products li.product,
    body:not(#main-theme) .mobile-scroll ul.products li.product,
    body:not(#main-theme) .related.products ul.products li.product,
    body:not(#main-theme) .upsells.products ul.products li.product,
    body:not(#main-theme) .elementor-shortcode ul.products li.product {
        max-width: 166px;
        min-width: 166px;
        padding: 0 8px;
    }

    body:not(#main-theme) .elementor-shortcode ul.products {
        display: flex;
        overflow-x: scroll;
        flex-wrap: nowrap;
        -webkit-overflow-scrolling: touch;
        padding-top: 5px;
        padding-bottom: 20px;
        scroll-snap-type: x mandatory;
        overscroll-behavior-x: contain;
        gap: 0;
    }

    body:not(#main-theme) .elementor-shortcode .woocommerce-loop-category__title {
        font-size: 13px;
    }

}

@media (max-width: 767px) {
    .custom-button {
        padding: 10px 16px;
        font-size: 14px;
    }

    .custom-button-icon {
        margin-right: 6px;
        font-size: 16px;
    }

    .bit-footer-logo img {
        margin: 0 auto;
    }

    body:not(#main-theme) .site-footer .widget:nth-child(1) {
        max-width: 100%;
        text-align: center;
    }

    .single-product .ckit-mobile-pdp-gallery-active .swiper-container.cg-thumb-swiper {
        margin-top: -30px;
    }
}