/* =========================================================
   FINAL CLEAN CSS — ASTRA + MAX MEGA MENU + WOOCOMMERCE
   Use: Delete all old Additional CSS, then paste this full code.
   Header Builder layout:
   Above row  : HTML 1 notice
   Primary row: Logo left + HTML 2 center + Account/Cart right
   Below row  : Primary Menu + Search
========================================================= */


/* =========================================================
   1. GLOBAL
========================================================= */

html,
body {
    overflow-x: hidden !important;
}

body {
    background: #ffffff !important;
}

a {
    text-decoration: none !important;
}

.custom-logo,
.site-logo-img img,
.ast-site-title-wrap img {
    width: auto !important;
    height: auto !important;
    max-height: 88px !important;
    filter: none !important;
}


/* =========================================================
   2. PAGE WIDTH / TITLE RESET
========================================================= */

body.home .site-content,
body.front-page .site-content,
body.page .site-content,
body.home #content,
body.front-page #content,
body.page #content,
body.home .content-area,
body.front-page .content-area,
body.page .content-area,
body.home .site-main,
body.front-page .site-main,
body.page .site-main,
body.home article,
body.front-page article,
body.page article,
body.home .entry-content,
body.front-page .entry-content,
body.page .entry-content {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 10 !important;
}

body.page .entry-header,
body.page .entry-title,
body.home .entry-header,
body.home .entry-title,
body.front-page .entry-header,
body.front-page .entry-title {
    display: none !important;
}


/* =========================================================
   3. ASTRA HEADER BUILDER BASE
========================================================= */

#masthead,
.site-header,
.ast-primary-header-bar,
.ast-main-header-wrap,
.site-primary-header-wrap,
.main-header-bar {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    background: #ffffff !important;
    background-color: #ffffff !important;
    background-image: none !important;
    border: 0 !important;
    box-shadow: none !important;
    z-index: 9999 !important;
}

/* Force same header on product/cart/checkout/order pages */
body.single-product #masthead,
body.single-product .site-header,
body.single-product .ast-primary-header-bar,
body.single-product .ast-main-header-wrap,
body.single-product .site-primary-header-wrap,
body.woocommerce-cart #masthead,
body.woocommerce-checkout #masthead,
body.woocommerce-order-received #masthead {
    position: relative !important;
    background: #ffffff !important;
    background-color: #ffffff !important;
    background-image: none !important;
}


/* =========================================================
   4. TOP NOTICE BAR
========================================================= */

.ast-above-header-bar,
.ast-above-header-wrap,
.site-above-header-wrap,
.ast-above-header-bar .ast-container,
.ast-above-header-bar .ast-builder-grid-row {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    visibility: visible !important;
    opacity: 1 !important;
    background: #e6f8ff !important;
    background-color: #e6f8ff !important;
    min-height: 38px !important;
    border-bottom: 1px solid #d8edf5 !important;
}

.ast-above-header-bar .ast-builder-html-element,
.ast-above-header-wrap .ast-builder-html-element {
    width: 100% !important;
    text-align: center !important;
    color: #111827 !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1.4 !important;
}

.ast-above-header-bar .ast-builder-html-element a,
.ast-above-header-wrap .ast-builder-html-element a {
    color: #0073e6 !important;
    font-weight: 900 !important;
    text-decoration: none !important;
}


/* =========================================================
   5. PRIMARY LOGO / TRUST / ACCOUNT / CART ROW
========================================================= */

.ast-primary-header-bar,
.ast-primary-header-bar .ast-container,
.ast-primary-header-bar .ast-builder-grid-row,
.ast-main-header-wrap,
.site-primary-header-wrap {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    background: #ffffff !important;
    background-color: #ffffff !important;
    min-height: 96px !important;
    border-bottom: 1px solid #eeeeee !important;
}

.site-branding,
.ast-site-identity {
    background: transparent !important;
}

.ast-primary-header-bar .ast-builder-html-element,
.site-primary-header-wrap .ast-builder-html-element {
    color: #111827 !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    line-height: 1.5 !important;
    text-align: center !important;
}

/* Primary row right icons wrapper */
.ast-primary-header-bar .site-header-primary-section-right,
.site-primary-header-wrap .site-header-primary-section-right {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 16px !important;
}

/* Account icon */
.ast-primary-header-bar .ast-header-account,
.ast-primary-header-bar .ast-header-account-wrap,
.ast-primary-header-bar .ast-header-account-link {
    width: 54px !important;
    height: 54px !important;
    min-width: 54px !important;
    border-radius: 50% !important;
    background: #f2f8ff !important;
    border: 2px solid #66bfff !important;
    color: #112b55 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    opacity: 1 !important;
}

.ast-primary-header-bar .ast-header-account svg,
.ast-primary-header-bar .ast-header-account-wrap svg,
.ast-primary-header-bar .ast-header-account-link svg,
.ast-primary-header-bar .ast-header-account svg path,
.ast-primary-header-bar .ast-header-account-wrap svg path,
.ast-primary-header-bar .ast-header-account-link svg path {
    width: 28px !important;
    height: 28px !important;
    fill: #112b55 !important;
    color: #112b55 !important;
    opacity: 1 !important;
}

/* Cart icon */
.ast-primary-header-bar .ast-site-header-cart,
.ast-primary-header-bar .ast-header-woo-cart {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.ast-primary-header-bar .ast-site-header-cart .ast-cart-menu-wrap,
.ast-primary-header-bar .ast-header-woo-cart .ast-cart-menu-wrap {
    width: 58px !important;
    height: 54px !important;
    min-width: 58px !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    border: 2px solid #112b55 !important;
    color: #112b55 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    overflow: visible !important;
}

.ast-primary-header-bar .ast-site-header-cart svg,
.ast-primary-header-bar .ast-header-woo-cart svg,
.ast-primary-header-bar .ast-cart-menu-wrap svg,
.ast-primary-header-bar .ast-site-header-cart svg path,
.ast-primary-header-bar .ast-header-woo-cart svg path,
.ast-primary-header-bar .ast-cart-menu-wrap svg path {
    width: 30px !important;
    height: 30px !important;
    fill: #112b55 !important;
    color: #112b55 !important;
    opacity: 1 !important;
}

/* Cart count badge */
.ast-primary-header-bar .ast-site-header-cart .count,
.ast-primary-header-bar .ast-cart-menu-wrap .count {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #ff4b4b !important;
    color: #ffffff !important;
    border-radius: 50% !important;
    min-width: 22px !important;
    height: 22px !important;
    line-height: 22px !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    position: absolute !important;
    top: -9px !important;
    right: -9px !important;
    text-align: center !important;
    z-index: 10 !important;
}

.ast-primary-header-bar .ast-site-header-cart .count:empty::before,
.ast-primary-header-bar .ast-cart-menu-wrap .count:empty::before {
    content: "0" !important;
}


/* =========================================================
   6. BELOW HEADER BLUE MENU + SEARCH ROW
========================================================= */

.ast-below-header-bar,
.ast-below-header-wrap,
.site-below-header-wrap,
.ast-below-header-bar .ast-container,
.ast-below-header-bar .ast-builder-grid-row {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    background: #3fb0dc !important;
    background-color: #3fb0dc !important;
    min-height: 55px !important;
    border: 0 !important;
}

.ast-below-header-bar .ast-builder-grid-row {
    width: 100% !important;
    max-width: 1280px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: nowrap !important;
    gap: 32px !important;
}

.ast-below-header-bar .site-header-section,
.ast-below-header-bar .site-header-below-section-left,
.ast-below-header-bar .site-header-below-section-center,
.ast-below-header-bar .site-header-below-section-right {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    display: flex !important;
    align-items: center !important;
}

.ast-below-header-bar .site-header-below-section-center {
    justify-content: center !important;
}

.ast-below-header-bar .site-header-below-section-right {
    justify-content: center !important;
    width: 350px !important;
    max-width: 350px !important;
}

/* Mega Menu top level */
@media (min-width: 922px) {
    .ast-below-header-bar #mega-menu-wrap-primary,
    .ast-below-header-bar #mega-menu-wrap-primary #mega-menu-primary {
        width: auto !important;
        max-width: none !important;
        white-space: nowrap !important;
        background: #3fb0dc !important;
        background-color: #3fb0dc !important;
        position: relative !important;
        z-index: 99999 !important;
    }

    .ast-below-header-bar #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item {
        display: inline-block !important;
        float: none !important;
    }

    .ast-below-header-bar #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link {
        height: 55px !important;
        line-height: 55px !important;
        padding: 0 16px !important;
        color: #ffffff !important;
        background: #3fb0dc !important;
        background-color: #3fb0dc !important;
        font-size: 15px !important;
        font-weight: 900 !important;
        text-transform: none !important;
        border-radius: 0 !important;
        opacity: 1 !important;
        text-shadow: none !important;
    }

    .ast-below-header-bar #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link:hover,
    .ast-below-header-bar #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-toggle-on > a.mega-menu-link,
    .ast-below-header-bar #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-current-menu-item > a.mega-menu-link {
        background: #112b55 !important;
        background-color: #112b55 !important;
        color: #ffffff !important;
    }

    .ast-below-header-bar #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu > ul.mega-sub-menu,
    .ast-below-header-bar #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-flyout ul.mega-sub-menu {
        width: 900px !important;
        max-width: 92vw !important;
        background: #ffffff !important;
        background-color: #ffffff !important;
        color: #222222 !important;
        padding: 24px 32px !important;
        border-radius: 0 0 4px 4px !important;
        border: 1px solid #eeeeee !important;
        box-shadow: 0 14px 35px rgba(0,0,0,0.22) !important;
        z-index: 999999 !important;
        opacity: 1 !important;
    }

    .ast-below-header-bar #mega-menu-wrap-primary #mega-menu-primary li.mega-menu-row,
    .ast-below-header-bar #mega-menu-wrap-primary #mega-menu-primary li.mega-menu-column,
    .ast-below-header-bar #mega-menu-wrap-primary #mega-menu-primary li.mega-menu-column > ul.mega-sub-menu {
        background: transparent !important;
        background-color: transparent !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .ast-below-header-bar #mega-menu-wrap-primary #mega-menu-primary li.mega-menu-column > ul.mega-sub-menu {
        padding: 0 18px !important;
    }

    .ast-below-header-bar #mega-menu-wrap-primary #mega-menu-primary li.mega-menu-megamenu ul.mega-sub-menu li.mega-menu-item,
    .ast-below-header-bar #mega-menu-wrap-primary #mega-menu-primary li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item {
        margin: 0 0 12px 0 !important;
        padding: 0 !important;
        height: auto !important;
        min-height: 0 !important;
        background: transparent !important;
    }

    .ast-below-header-bar #mega-menu-wrap-primary #mega-menu-primary li.mega-menu-megamenu ul.mega-sub-menu li.mega-menu-item > a.mega-menu-link,
    .ast-below-header-bar #mega-menu-wrap-primary #mega-menu-primary li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item > a.mega-menu-link {
        color: #222222 !important;
        background: transparent !important;
        background-color: transparent !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        line-height: 1.3 !important;
        height: auto !important;
        min-height: 0 !important;
        padding: 6px 8px !important;
        display: inline-block !important;
        white-space: nowrap !important;
        text-transform: none !important;
        border-radius: 4px !important;
        width: auto !important;
        opacity: 1 !important;
        text-shadow: none !important;
    }

    .ast-below-header-bar #mega-menu-wrap-primary #mega-menu-primary li.mega-menu-megamenu ul.mega-sub-menu li.mega-menu-item > a.mega-menu-link:hover,
    .ast-below-header-bar #mega-menu-wrap-primary #mega-menu-primary li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item > a.mega-menu-link:hover {
        color: #0073e6 !important;
        background: #f2f8ff !important;
        background-color: #f2f8ff !important;
    }
}

/* Normal Astra menu fallback */
@media (min-width: 922px) {
    .ast-below-header-bar .main-header-menu > .menu-item > .menu-link,
    .ast-below-header-bar .ast-builder-menu-1 .menu-item > .menu-link {
        color: #ffffff !important;
        background: #3fb0dc !important;
        font-weight: 900 !important;
        line-height: 55px !important;
        height: 55px !important;
        padding: 0 16px !important;
    }

    .ast-below-header-bar .main-header-menu > .menu-item > .menu-link:hover,
    .ast-below-header-bar .ast-builder-menu-1 .menu-item > .menu-link:hover,
    .ast-below-header-bar .main-header-menu .current-menu-item > .menu-link {
        color: #ffffff !important;
        background: #112b55 !important;
    }

    .ast-below-header-bar .main-header-menu .sub-menu,
    .ast-below-header-bar .ast-builder-menu-1 .sub-menu {
        background: #ffffff !important;
        border-radius: 4px !important;
        border: 1px solid #eeeeee !important;
        box-shadow: 0 12px 30px rgba(0,0,0,0.18) !important;
    }

    .ast-below-header-bar .main-header-menu .sub-menu .menu-link,
    .ast-below-header-bar .ast-builder-menu-1 .sub-menu .menu-link {
        color: #222222 !important;
        background: #ffffff !important;
        font-weight: 700 !important;
    }

    .ast-below-header-bar .main-header-menu .sub-menu .menu-link:hover,
    .ast-below-header-bar .ast-builder-menu-1 .sub-menu .menu-link:hover {
        color: #0073e6 !important;
        background: #f2f8ff !important;
    }
}


/* =========================================================
   7. SEARCH BOX
========================================================= */

.ast-below-header-bar .ast-header-search,
.ast-below-header-bar .ast-search-menu-icon {
    width: 350px !important;
    max-width: 350px !important;
    height: 46px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    position: relative !important;
    overflow: hidden !important;
}

/* Hide extra standalone Astra trigger icon */
.ast-below-header-bar .ast-search-menu-icon > .ast-icon,
.ast-below-header-bar .ast-search-menu-icon > .ast-search-icon,
.ast-below-header-bar .ast-search-menu-icon > a,
.ast-below-header-bar .ast-search-menu-icon > .search-field,
.ast-below-header-bar .ast-search-menu-icon::before,
.ast-below-header-bar .ast-search-menu-icon::after {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

.ast-below-header-bar .ast-header-search .search-form,
.ast-below-header-bar .ast-search-menu-icon .search-form,
.ast-below-header-bar form.search-form {
    width: 350px !important;
    max-width: 350px !important;
    height: 46px !important;
    display: block !important;
    position: relative !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
    right: auto !important;
    left: auto !important;
    top: auto !important;
    bottom: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #ffffff !important;
    border: 0 !important;
    box-shadow: none !important;
    overflow: hidden !important;
}

.ast-below-header-bar .search-form label {
    display: block !important;
    width: 100% !important;
    height: 46px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.ast-below-header-bar .search-form input.search-field {
    display: block !important;
    width: 100% !important;
    height: 46px !important;
    min-height: 46px !important;
    margin: 0 !important;
    padding: 0 70px 0 16px !important;
    border: 0 !important;
    border-radius: 0 !important;
    outline: none !important;
    box-shadow: none !important;
    background: #ffffff !important;
    color: #111827 !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 46px !important;
}

.ast-below-header-bar .search-form input.search-field::placeholder {
    color: #8a8f98 !important;
    opacity: 1 !important;
}

.ast-below-header-bar .search-form .search-submit,
.ast-below-header-bar .search-form button.search-submit,
.ast-below-header-bar .ast-search-menu-icon .search-submit {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    left: auto !important;
    bottom: auto !important;
    width: 56px !important;
    height: 46px !important;
    min-height: 46px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #14a83b !important;
    background-color: #14a83b !important;
    color: #ffffff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 46px !important;
    font-size: 18px !important;
    box-shadow: none !important;
    transform: none !important;
    cursor: pointer !important;
    z-index: 5 !important;
}

.ast-below-header-bar .search-submit svg,
.ast-below-header-bar .search-submit .ast-search-icon,
.ast-below-header-bar .search-submit .astra-search-icon,
.ast-below-header-bar .search-submit .ast-icon {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    fill: #ffffff !important;
    color: #ffffff !important;
}


/* =========================================================
   8. HOME HERO
========================================================= */

body.home .wp-block-cover:first-of-type,
body.front-page .wp-block-cover:first-of-type {
    margin-top: 0 !important;
    padding-top: 0 !important;
    min-height: 640px !important;
    height: auto !important;
    padding-bottom: 0 !important;
    background-size: cover !important;
    background-position: center top !important;
}

body.home .wp-block-cover:first-of-type .wp-block-cover__inner-container,
body.front-page .wp-block-cover:first-of-type .wp-block-cover__inner-container {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    gap: 18px !important;
    padding: 75px 40px !important;
    width: 100% !important;
    max-width: 1250px !important;
    min-height: 640px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

body.home .wp-block-cover:first-of-type h1,
body.home .wp-block-cover:first-of-type h2,
body.home .wp-block-cover:first-of-type .wp-block-heading,
body.front-page .wp-block-cover:first-of-type h1,
body.front-page .wp-block-cover:first-of-type h2,
body.front-page .wp-block-cover:first-of-type .wp-block-heading {
    width: 100% !important;
    max-width: 1100px !important;
    margin: 0 auto 8px auto !important;
    text-align: center !important;
    color: #ffffff !important;
    font-size: 46px !important;
    line-height: 1.15 !important;
    font-weight: 900 !important;
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    text-shadow: 0 2px 8px rgba(0,0,0,0.35) !important;
}

body.home .wp-block-cover:first-of-type p,
body.front-page .wp-block-cover:first-of-type p {
    width: 100% !important;
    max-width: 880px !important;
    margin: 0 auto 12px auto !important;
    text-align: center !important;
    color: #ffffff !important;
    font-size: 22px !important;
    line-height: 1.55 !important;
    font-weight: 800 !important;
    text-shadow: 0 2px 8px rgba(0,0,0,0.35) !important;
}

body.home .wp-block-cover:first-of-type .wp-block-buttons,
body.front-page .wp-block-cover:first-of-type .wp-block-buttons {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 25px !important;
    width: auto !important;
    margin: 8px auto 0 auto !important;
}

body.home .wp-block-cover:first-of-type .wp-block-button__link,
body.front-page .wp-block-cover:first-of-type .wp-block-button__link {
    width: auto !important;
    min-width: 250px !important;
    padding: 16px 34px !important;
    text-align: center !important;
    border-radius: 4px !important;
    font-weight: 800 !important;
    font-size: 18px !important;
    background: #0b66ff !important;
    color: #ffffff !important;
}

body.home .wp-block-cover:first-of-type .wp-block-button__link:hover,
body.front-page .wp-block-cover:first-of-type .wp-block-button__link:hover {
    background: #004bd1 !important;
    color: #ffffff !important;
}


/* =========================================================
   9. CONTENT HEADINGS
========================================================= */

body.page .wp-block-cover h1,
body.page .wp-block-cover h2,
body.page .wp-block-cover h3,
body.page .wp-block-cover .wp-block-heading {
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

body.page .entry-content > h1.wp-block-heading,
body.page .entry-content > h2.wp-block-heading,
body.page .entry-content > h3.wp-block-heading {
    background: #0073e6 !important;
    color: #ffffff !important;
    padding: 14px 24px !important;
    border-radius: 4px !important;
    text-align: center !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    margin: 35px auto 20px auto !important;
    max-width: 100% !important;
    box-shadow: 0 4px 12px rgba(0,115,230,0.20) !important;
}


/* =========================================================
   10. PRODUCT CARD / PRODUCT PAGE
========================================================= */

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    text-align: left !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title,
ul.products li.product h2,
ul.products li.product h3,
.wc-block-grid__product-title,
.wc-block-components-product-name,
.product .woocommerce-loop-product__title {
    background: transparent !important;
    color: #111111 !important;
    padding: 0 !important;
    margin: 8px 0 6px 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    text-align: left !important;
    line-height: 1.35 !important;
    font-size: 16px !important;
    font-weight: 800 !important;
}

.woocommerce ul.products li.product .ast-woo-product-category,
.woocommerce-page ul.products li.product .ast-woo-product-category {
    text-align: left !important;
    color: #8993a4 !important;
    font-size: 14px !important;
    margin: 0 0 8px 0 !important;
}

.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price {
    display: block !important;
    text-align: left !important;
    margin: 0 0 10px 0 !important;
}

body.single-product div.product {
    margin-top: 55px !important;
}

body.single-product div.product .product_title {
    color: #111827 !important;
    font-size: 28px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    margin-bottom: 16px !important;
}

body.single-product div.product p.price,
body.single-product div.product span.price {
    color: #111827 !important;
    font-size: 30px !important;
    font-weight: 800 !important;
}

body.single-product div.product .single_add_to_cart_button {
    background: #0b66ff !important;
    color: #ffffff !important;
    border-radius: 6px !important;
    font-weight: 800 !important;
    min-height: 48px !important;
    padding: 0 28px !important;
    border: none !important;
}

body.single-product div.product .single_add_to_cart_button:hover {
    background: #004bd1 !important;
    color: #ffffff !important;
}


/* =========================================================
   11. PRODUCT LOOP BUTTON VISUAL
========================================================= */

.woocommerce ul.products li.product > a.button.add_to_cart_button,
.woocommerce ul.products li.product > a.button.product_type_simple,
.woocommerce ul.products li.product > a.button.product_type_variable,
.woocommerce-page ul.products li.product > a.button.add_to_cart_button,
.woocommerce-page ul.products li.product > a.button.product_type_simple,
.woocommerce-page ul.products li.product > a.button.product_type_variable {
    display: none !important;
}

.woocommerce ul.products li.product .product-action-wrap,
.woocommerce-page ul.products li.product .product-action-wrap,
.woocommerce ul.products li.product .ds-product-actions,
.woocommerce-page ul.products li.product .ds-product-actions,
.ds-product-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    width: 100% !important;
    margin-top: 12px !important;
}

.woocommerce ul.products li.product .product-order-now,
.woocommerce-page ul.products li.product .product-order-now,
.woocommerce ul.products li.product .ds-order-btn,
.woocommerce-page ul.products li.product .ds-order-btn,
.ds-order-btn {
    flex: 1 1 auto !important;
    min-height: 46px !important;
    height: 46px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #0b66ff !important;
    color: #ffffff !important;
    border-radius: 6px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    padding: 0 16px !important;
    text-align: center !important;
    text-decoration: none !important;
    border: none !important;
    box-shadow: none !important;
}

.woocommerce ul.products li.product .product-order-now:hover,
.woocommerce-page ul.products li.product .product-order-now:hover,
.woocommerce ul.products li.product .ds-order-btn:hover,
.woocommerce-page ul.products li.product .ds-order-btn:hover,
.ds-order-btn:hover {
    background: #004bd1 !important;
    color: #ffffff !important;
}

.woocommerce ul.products li.product .product-cart-icon,
.woocommerce-page ul.products li.product .product-cart-icon,
.woocommerce ul.products li.product .ds-cart-icon,
.woocommerce-page ul.products li.product .ds-cart-icon,
.ds-cart-icon {
    flex: 0 0 46px !important;
    width: 46px !important;
    height: 46px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #ffffff !important;
    color: #0b66ff !important;
    border: 1px solid #0b66ff !important;
    border-radius: 6px !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    padding: 0 !important;
    box-shadow: none !important;
}

.woocommerce ul.products li.product .product-cart-icon:hover,
.woocommerce-page ul.products li.product .product-cart-icon:hover,
.woocommerce ul.products li.product .ds-cart-icon:hover,
.woocommerce-page ul.products li.product .ds-cart-icon:hover,
.ds-cart-icon:hover {
    background: #eef5ff !important;
    color: #004bd1 !important;
}


/* =========================================================
   12. MINI CART DRAWER VISUAL
========================================================= */

#ds-mini-cart {
    position: fixed !important;
    top: 0 !important;
    right: -390px !important;
    width: 360px !important;
    max-width: 92vw !important;
    height: 100vh !important;
    background: #ffffff !important;
    box-shadow: -8px 0 28px rgba(0,0,0,0.18) !important;
    z-index: 999999 !important;
    padding: 28px 20px 20px !important;
    overflow-y: auto !important;
    transition: right 0.28s ease !important;
}

#ds-mini-cart.active {
    right: 0 !important;
}

.ds-mini-cart-close {
    position: absolute !important;
    top: 12px !important;
    right: 14px !important;
    width: 30px !important;
    height: 30px !important;
    border: none !important;
    border-radius: 50% !important;
    background: #f2f2f2 !important;
    color: #111111 !important;
    font-size: 22px !important;
    line-height: 30px !important;
    cursor: pointer !important;
    z-index: 2 !important;
}

#ds-mini-cart .woocommerce-mini-cart__buttons,
.woocommerce-mini-cart__buttons {
    display: flex !important;
    gap: 10px !important;
    margin-top: 16px !important;
}

#ds-mini-cart .woocommerce-mini-cart__buttons::before,
#ds-mini-cart .woocommerce-mini-cart__buttons::after,
.woocommerce-mini-cart__buttons::before,
.woocommerce-mini-cart__buttons::after {
    display: none !important;
}

#ds-mini-cart .woocommerce-mini-cart__buttons a,
.woocommerce-mini-cart__buttons a {
    flex: 1 !important;
    text-align: center !important;
    padding: 12px 10px !important;
    border-radius: 6px !important;
    font-weight: 800 !important;
}

#ds-mini-cart .woocommerce-mini-cart__buttons .button.wc-forward,
.woocommerce-mini-cart__buttons .button.wc-forward {
    background: #f2f2f2 !important;
    color: #333333 !important;
    border: 1px solid #dddddd !important;
}

#ds-mini-cart .woocommerce-mini-cart__buttons .checkout,
.woocommerce-mini-cart__buttons .checkout {
    background: #0b66ff !important;
    color: #ffffff !important;
}


/* =========================================================
   13. CART PAGE
========================================================= */

body.woocommerce-cart #content,
body.woocommerce-cart .site-content {
    background: #ffffff !important;
    padding: 45px 20px 70px !important;
}

body.woocommerce-cart .ast-container {
    max-width: 1280px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
}

body.woocommerce-cart .woocommerce,
body.woocommerce-cart .cart-collaterals {
    position: relative !important;
    z-index: 1 !important;
}

body.woocommerce-cart .cart_totals .checkout-button {
    width: 100% !important;
    background: #0b66ff !important;
    color: #ffffff !important;
    border-radius: 0 !important;
    font-weight: 800 !important;
    min-height: 54px !important;
}

body.woocommerce-cart .cart_totals .checkout-button:hover {
    background: #004bd1 !important;
    color: #ffffff !important;
}


/* =========================================================
   14. CLASSIC CHECKOUT
========================================================= */

body.woocommerce-checkout #content,
body.woocommerce-checkout .site-content {
    background: #f7f9fc !important;
    padding: 55px 20px 70px !important;
}

body.woocommerce-checkout .ast-container,
body.woocommerce-checkout .site-content .ast-container {
    max-width: 1220px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
}

body.woocommerce-checkout .woocommerce {
    max-width: 1180px !important;
    width: 100% !important;
    margin: 0 auto !important;
    position: relative !important;
    z-index: 1 !important;
}

body.woocommerce-checkout .woocommerce-form-coupon-toggle,
body.woocommerce-checkout .woocommerce-message {
    display: none !important;
}

body.woocommerce-checkout form.checkout {
    display: grid !important;
    grid-template-columns: minmax(0, 1.45fr) minmax(360px, 0.75fr) !important;
    gap: 34px !important;
    align-items: start !important;
    width: 100% !important;
    max-width: 1180px !important;
    margin: 0 auto !important;
}

body.woocommerce-checkout #customer_details {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
    width: 100% !important;
    background: #ffffff !important;
    border: 1px solid #e6eaf0 !important;
    border-radius: 14px !important;
    padding: 34px !important;
    box-shadow: 0 14px 35px rgba(15,23,42,0.06) !important;
}

body.woocommerce-checkout #order_review_heading {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 100% !important;
    margin: 0 !important;
    background: #ffffff !important;
    border: 1px solid #e6eaf0 !important;
    border-bottom: 0 !important;
    border-radius: 14px 14px 0 0 !important;
    padding: 26px 26px 10px !important;
    font-size: 24px !important;
    line-height: 1.2 !important;
    color: #111827 !important;
    font-weight: 800 !important;
}

body.woocommerce-checkout #order_review {
    grid-column: 2 !important;
    grid-row: 2 !important;
    width: 100% !important;
    margin: 0 !important;
    background: #ffffff !important;
    border: 1px solid #e6eaf0 !important;
    border-top: 0 !important;
    border-radius: 0 0 14px 14px !important;
    padding: 10px 26px 26px !important;
    box-shadow: 0 14px 35px rgba(15,23,42,0.06) !important;
}

body.woocommerce-checkout #customer_details .col-1,
body.woocommerce-checkout #customer_details .col-2 {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
}

body.woocommerce-checkout .woocommerce-shipping-fields,
body.woocommerce-checkout .woocommerce-additional-fields,
body.woocommerce-checkout .woocommerce-account-fields {
    display: block !important;
    margin-top: 22px !important;
}

body.woocommerce-checkout .woocommerce-billing-fields h3,
body.woocommerce-checkout .woocommerce-shipping-fields h3,
body.woocommerce-checkout .woocommerce-additional-fields h3 {
    font-size: 26px !important;
    font-weight: 800 !important;
    color: #111827 !important;
    margin: 0 0 24px !important;
    padding-bottom: 16px !important;
    border-bottom: 1px solid #e5e7eb !important;
}

body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    column-gap: 18px !important;
    row-gap: 18px !important;
}

body.woocommerce-checkout .form-row,
body.woocommerce-checkout .form-row-first,
body.woocommerce-checkout .form-row-last,
body.woocommerce-checkout .form-row-wide {
    float: none !important;
    clear: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.woocommerce-checkout #billing_first_name_field { grid-column: 1 !important; grid-row: 1 !important; }
body.woocommerce-checkout #billing_last_name_field { grid-column: 2 !important; grid-row: 1 !important; }
body.woocommerce-checkout #billing_email_field { grid-column: 1 / -1 !important; grid-row: 2 !important; }
body.woocommerce-checkout #billing_country_field { grid-column: 1 / -1 !important; grid-row: 3 !important; }
body.woocommerce-checkout #billing_address_1_field { grid-column: 1 / -1 !important; grid-row: 4 !important; }
body.woocommerce-checkout #billing_address_2_field { grid-column: 1 / -1 !important; grid-row: 5 !important; }
body.woocommerce-checkout #billing_city_field { grid-column: 1 !important; grid-row: 6 !important; }
body.woocommerce-checkout #billing_state_field { grid-column: 2 !important; grid-row: 6 !important; }
body.woocommerce-checkout #billing_postcode_field { grid-column: 1 !important; grid-row: 7 !important; }
body.woocommerce-checkout #billing_phone_field { grid-column: 2 !important; grid-row: 7 !important; }

body.woocommerce-checkout #billing_phone_field .optional {
    display: none !important;
}

body.woocommerce-checkout #billing_phone_field label::after {
    content: " *";
    color: #ef4444;
    font-weight: 800;
}

body.woocommerce-checkout label {
    display: block !important;
    margin-bottom: 7px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #111827 !important;
}

body.woocommerce-checkout .required {
    color: #ef4444 !important;
    font-weight: 800 !important;
}

body.woocommerce-checkout input.input-text,
body.woocommerce-checkout select,
body.woocommerce-checkout textarea,
body.woocommerce-checkout .select2-selection {
    width: 100% !important;
    min-height: 52px !important;
    border: 1px solid #d7dce3 !important;
    border-radius: 9px !important;
    background: #ffffff !important;
    color: #111827 !important;
    padding: 13px 15px !important;
    font-size: 15px !important;
    line-height: 1.3 !important;
    box-shadow: none !important;
}

body.woocommerce-checkout input.input-text:focus,
body.woocommerce-checkout select:focus,
body.woocommerce-checkout textarea:focus,
body.woocommerce-checkout .select2-container--open .select2-selection {
    border-color: #0b66ff !important;
    box-shadow: 0 0 0 4px rgba(11,102,255,0.12) !important;
    outline: none !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table {
    width: 100% !important;
    border: 0 !important;
    border-collapse: collapse !important;
    margin: 0 0 22px !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table td {
    padding: 15px 0 !important;
    border: 0 !important;
    border-bottom: 1px solid #e5e7eb !important;
    font-size: 15px !important;
    color: #111827 !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td {
    font-size: 21px !important;
    font-weight: 900 !important;
}

body.woocommerce-checkout #payment {
    background: #f8fafc !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 12px !important;
    padding: 20px !important;
}

body.woocommerce-checkout #place_order {
    width: 100% !important;
    min-height: 54px !important;
    background: #0b66ff !important;
    color: #ffffff !important;
    border: 0 !important;
    border-radius: 9px !important;
    font-size: 17px !important;
    font-weight: 900 !important;
    text-align: center !important;
    margin-top: 18px !important;
    transition: 0.25s ease !important;
}

body.woocommerce-checkout #place_order:hover {
    background: #004bd1 !important;
}


/* =========================================================
   15. THANK YOU / ORDER RECEIVED PAGE
========================================================= */

body.woocommerce-order-received #content,
body.woocommerce-order-received .site-content {
    background: #f7f9fc !important;
    padding: 55px 20px 70px !important;
}

body.woocommerce-order-received .ast-container {
    max-width: 1180px !important;
    margin: 0 auto !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
}

body.woocommerce-order-received .woocommerce-order {
    background: #ffffff !important;
    border: 1px solid #e6eaf0 !important;
    border-radius: 14px !important;
    padding: 32px !important;
    box-shadow: 0 14px 35px rgba(15,23,42,0.06) !important;
}

body.woocommerce-order-received .woocommerce-thankyou-order-received {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #166534 !important;
    margin-bottom: 24px !important;
}

body.woocommerce-order-received .woocommerce-order-overview {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 14px !important;
    margin: 0 0 28px !important;
    padding: 0 !important;
}

body.woocommerce-order-received .woocommerce-order-overview li {
    background: #f8fafc !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 8px !important;
    padding: 12px 16px !important;
    margin: 0 !important;
}

body.woocommerce-order-received .woocommerce-order-details,
body.woocommerce-order-received .woocommerce-customer-details {
    margin-top: 28px !important;
}

body.woocommerce-order-received .woocommerce-columns--addresses {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 24px !important;
}

body.woocommerce-order-received .woocommerce-column--billing-address,
body.woocommerce-order-received .woocommerce-column--shipping-address {
    width: 100% !important;
    max-width: 100% !important;
    background: #ffffff !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 10px !important;
    padding: 22px !important;
}

body.woocommerce-order-received .woocommerce-column__title {
    font-size: 22px !important;
    font-weight: 800 !important;
    color: #111827 !important;
    margin-bottom: 14px !important;
}


/* =========================================================
   16. MOBILE RESPONSIVE
========================================================= */

@media (max-width: 921px) {
    .ast-above-header-bar,
    .ast-above-header-wrap {
        min-height: 36px !important;
    }

    .ast-above-header-bar .ast-builder-html-element,
    .ast-above-header-wrap .ast-builder-html-element {
        font-size: 13px !important;
        padding: 6px 10px !important;
    }

    .ast-primary-header-bar,
    .ast-primary-header-bar .ast-container,
    .ast-primary-header-bar .ast-builder-grid-row,
    .ast-main-header-wrap,
    .site-primary-header-wrap {
        min-height: 82px !important;
    }

    .custom-logo,
    .site-logo-img img,
    .ast-site-title-wrap img {
        max-height: 70px !important;
    }

    .ast-primary-header-bar .ast-builder-html-element,
    .site-primary-header-wrap .ast-builder-html-element {
        font-size: 13px !important;
        line-height: 1.4 !important;
    }

    .ast-primary-header-bar .ast-header-account,
    .ast-primary-header-bar .ast-header-account-wrap,
    .ast-primary-header-bar .ast-header-account-link {
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
    }

    .ast-primary-header-bar .ast-site-header-cart .ast-cart-menu-wrap,
    .ast-primary-header-bar .ast-header-woo-cart .ast-cart-menu-wrap {
        width: 48px !important;
        height: 44px !important;
        min-width: 48px !important;
    }

    .ast-below-header-bar .ast-builder-grid-row {
        display: block !important;
        max-width: 100% !important;
        padding: 0 14px !important;
    }

    .ast-below-header-bar .site-header-below-section-left,
    .ast-below-header-bar .site-header-below-section-center,
    .ast-below-header-bar .site-header-below-section-right,
    .ast-below-header-bar .ast-header-search,
    .ast-below-header-bar .ast-search-menu-icon,
    .ast-below-header-bar .ast-header-search .search-form,
    .ast-below-header-bar .ast-search-menu-icon .search-form,
    .ast-below-header-bar form.search-form {
        width: 100% !important;
        max-width: 100% !important;
        margin-top: 8px !important;
    }

    #mega-menu-wrap-primary,
    #mega-menu-wrap-primary #mega-menu-primary {
        background: #3fb0dc !important;
    }

    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link {
        color: #ffffff !important;
        background: #3fb0dc !important;
        font-size: 15px !important;
        font-weight: 800 !important;
        padding: 13px 18px !important;
        height: auto !important;
        line-height: 1.4 !important;
        border-bottom: 1px solid rgba(255,255,255,0.12) !important;
    }

    body.home .wp-block-cover:first-of-type,
    body.front-page .wp-block-cover:first-of-type {
        min-height: 560px !important;
        height: auto !important;
        background-position: center center !important;
    }

    body.home .wp-block-cover:first-of-type .wp-block-cover__inner-container,
    body.front-page .wp-block-cover:first-of-type .wp-block-cover__inner-container {
        padding: 55px 22px !important;
        min-height: 520px !important;
        max-width: 100% !important;
    }

    body.home .wp-block-cover:first-of-type h1,
    body.home .wp-block-cover:first-of-type h2,
    body.home .wp-block-cover:first-of-type .wp-block-heading,
    body.front-page .wp-block-cover:first-of-type h1,
    body.front-page .wp-block-cover:first-of-type h2,
    body.front-page .wp-block-cover:first-of-type .wp-block-heading {
        font-size: 34px !important;
        line-height: 1.15 !important;
        max-width: 100% !important;
    }

    body.home .wp-block-cover:first-of-type p,
    body.front-page .wp-block-cover:first-of-type p {
        font-size: 17px !important;
        line-height: 1.5 !important;
        max-width: 340px !important;
    }

    body.home .wp-block-cover:first-of-type .wp-block-buttons,
    body.front-page .wp-block-cover:first-of-type .wp-block-buttons {
        flex-direction: column !important;
        gap: 14px !important;
        width: 100% !important;
    }

    body.home .wp-block-cover:first-of-type .wp-block-button,
    body.front-page .wp-block-cover:first-of-type .wp-block-button {
        width: 100% !important;
        max-width: 300px !important;
        margin: 0 auto !important;
    }

    body.home .wp-block-cover:first-of-type .wp-block-button__link,
    body.front-page .wp-block-cover:first-of-type .wp-block-button__link {
        width: 100% !important;
        min-width: unset !important;
        padding: 14px 18px !important;
        font-size: 15px !important;
    }

    body.woocommerce-checkout form.checkout {
        display: block !important;
        max-width: 100% !important;
    }

    body.woocommerce-checkout #customer_details,
    body.woocommerce-checkout #order_review_heading,
    body.woocommerce-checkout #order_review {
        width: 100% !important;
        margin-bottom: 22px !important;
    }

    body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper {
        grid-template-columns: 1fr !important;
    }

    body.woocommerce-checkout #billing_first_name_field,
    body.woocommerce-checkout #billing_last_name_field,
    body.woocommerce-checkout #billing_email_field,
    body.woocommerce-checkout #billing_country_field,
    body.woocommerce-checkout #billing_address_1_field,
    body.woocommerce-checkout #billing_address_2_field,
    body.woocommerce-checkout #billing_city_field,
    body.woocommerce-checkout #billing_state_field,
    body.woocommerce-checkout #billing_postcode_field,
    body.woocommerce-checkout #billing_phone_field {
        grid-column: 1 / -1 !important;
        grid-row: auto !important;
    }

    body.woocommerce-order-received .woocommerce-columns--addresses {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 480px) {
    body.page .entry-content > h1.wp-block-heading,
    body.page .entry-content > h2.wp-block-heading,
    body.page .entry-content > h3.wp-block-heading {
        font-size: 20px !important;
        padding: 10px 14px !important;
    }

    .woocommerce ul.products li.product .product-order-now,
    .woocommerce-page ul.products li.product .product-order-now,
    .woocommerce ul.products li.product .ds-order-btn,
    .woocommerce-page ul.products li.product .ds-order-btn,
    .ds-order-btn {
        height: 40px !important;
        min-height: 40px !important;
        font-size: 13px !important;
    }

    .woocommerce ul.products li.product .product-cart-icon,
    .woocommerce-page ul.products li.product .product-cart-icon,
    .woocommerce ul.products li.product .ds-cart-icon,
    .woocommerce-page ul.products li.product .ds-cart-icon,
    .ds-cart-icon {
        width: 40px !important;
        height: 40px !important;
        flex-basis: 40px !important;
    }
}



/* =========================================================
   ASTRA LIVE SEARCH DROPDOWN FIX
   Product suggestion dropdown show korar jonno
========================================================= */

/* Search dropdown hide/cut howa bondho */
.ast-below-header-bar,
.ast-below-header-wrap,
.site-below-header-wrap,
.ast-below-header-bar .ast-container,
.ast-below-header-bar .ast-builder-grid-row,
.ast-below-header-bar .site-header-section,
.ast-below-header-bar .site-header-below-section-right,
.ast-below-header-bar .ast-header-search,
.ast-below-header-bar .ast-search-menu-icon,
.ast-below-header-bar .search-form {
    overflow: visible !important;
}

/* Search box relative thakbe */
.ast-below-header-bar .ast-header-search,
.ast-below-header-bar .ast-search-menu-icon,
.ast-below-header-bar form.search-form {
    position: relative !important;
    z-index: 999999 !important;
}

/* Astra live search result dropdown */
.ast-live-search-results,
.ast-search-results-wrapper,
.ast-search-results,
.ast-search-wrapper,
.ast-header-search .ast-live-search-results,
.ast-search-menu-icon .ast-live-search-results,
.ast-header-search .ast-search-results-wrapper,
.ast-search-menu-icon .ast-search-results-wrapper {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: absolute !important;
    top: 48px !important;
    right: 0 !important;
    left: auto !important;
    width: 350px !important;
    max-width: 350px !important;
    background: #ffffff !important;
    border: 1px solid #e5e7eb !important;
    box-shadow: 0 12px 30px rgba(0,0,0,0.18) !important;
    z-index: 9999999 !important;
    border-radius: 0 0 6px 6px !important;
}

/* Result item design */
.ast-live-search-results a,
.ast-search-results-wrapper a,
.ast-search-results a,
.ast-search-wrapper a {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 10px 12px !important;
    color: #111827 !important;
    background: #ffffff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    border-bottom: 1px solid #f1f1f1 !important;
    text-decoration: none !important;
}

.ast-live-search-results a:hover,
.ast-search-results-wrapper a:hover,
.ast-search-results a:hover,
.ast-search-wrapper a:hover {
    background: #f2f8ff !important;
    color: #0073e6 !important;
}

/* Product image thumbnail */
.ast-live-search-results img,
.ast-search-results-wrapper img,
.ast-search-results img,
.ast-search-wrapper img {
    width: 42px !important;
    height: 42px !important;
    object-fit: cover !important;
    border-radius: 4px !important;
}

/* =========================================================
   LIVE SEARCH SUGGESTION DROPDOWN FINAL FIX
========================================================= */

/* Search dropdown cut/hide howa bondho */
.ast-below-header-bar,
.ast-below-header-wrap,
.site-below-header-wrap,
.ast-below-header-bar .ast-container,
.ast-below-header-bar .ast-builder-grid-row,
.ast-below-header-bar .site-header-section,
.ast-below-header-bar .site-header-below-section-right,
.ast-below-header-bar .ast-header-search,
.ast-below-header-bar .ast-search-menu-icon,
.ast-below-header-bar .ast-header-search .search-form,
.ast-below-header-bar .ast-search-menu-icon .search-form,
.ast-below-header-bar form.search-form {
    overflow: visible !important;
}

/* Search area dropdown-er upor thakbe */
.ast-below-header-bar,
.ast-below-header-bar .ast-header-search,
.ast-below-header-bar .ast-search-menu-icon,
.ast-below-header-bar form.search-form {
    position: relative !important;
    z-index: 999999 !important;
}

/* Astra live search result wrapper */
.ast-live-search-results,
.ast-search-results,
.ast-search-results-wrapper,
.astra-search-results,
.astra-search-results-wrapper,
.ast-header-search .ast-live-search-results,
.ast-search-menu-icon .ast-live-search-results,
.ast-header-search .ast-search-results,
.ast-search-menu-icon .ast-search-results,
.ast-header-search .ast-search-results-wrapper,
.ast-search-menu-icon .ast-search-results-wrapper {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: absolute !important;
    top: 48px !important;
    right: 0 !important;
    left: auto !important;
    width: 350px !important;
    max-width: 350px !important;
    background: #ffffff !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 0 0 6px 6px !important;
    box-shadow: 0 12px 30px rgba(0,0,0,0.18) !important;
    z-index: 9999999 !important;
}

/* Result item design */
.ast-live-search-results a,
.ast-search-results a,
.ast-search-results-wrapper a,
.astra-search-results a,
.astra-search-results-wrapper a {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 10px 12px !important;
    color: #111827 !important;
    background: #ffffff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    border-bottom: 1px solid #f1f1f1 !important;
    text-decoration: none !important;
}

/* Hover */
.ast-live-search-results a:hover,
.ast-search-results a:hover,
.ast-search-results-wrapper a:hover,
.astra-search-results a:hover,
.astra-search-results-wrapper a:hover {
    background: #f2f8ff !important;
    color: #0073e6 !important;
}

/* Product image thumbnail */
.ast-live-search-results img,
.ast-search-results img,
.ast-search-results-wrapper img,
.astra-search-results img,
.astra-search-results-wrapper img {
    width: 42px !important;
    height: 42px !important;
    object-fit: cover !important;
    border-radius: 4px !important;
}

/* =========================================================
   BLUE MENU ROW RIGHT SHIFT FIX
   Menu + search group একটু right side-এ নেওয়ার জন্য
========================================================= */

@media (min-width: 922px) {

    /* Whole bottom row content একটু ডান দিকে যাবে */
    .ast-below-header-bar .ast-builder-grid-row {
        transform: translateX(120px) !important;
    }

    /* Search box যেন বেশি ডান দিকে না যায় */
    .ast-below-header-bar .site-header-below-section-right {
        width: 350px !important;
        max-width: 350px !important;
    }
}

/* =========================================================
   FINAL HEADER CONTAINER ALIGNMENT FIX
   White row + Blue row same container alignment
========================================================= */

@media (min-width: 922px) {

    /* Primary white row content width */
    .ast-primary-header-bar .ast-container,
    .ast-primary-header-bar .ast-builder-grid-row {
        max-width: 1320px !important;
        width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 35px !important;
        padding-right: 35px !important;
        box-sizing: border-box !important;
    }

    /* White row: logo left, trust center, icons right */
    .ast-primary-header-bar .ast-builder-grid-row {
        display: grid !important;
        grid-template-columns: 240px 1fr 180px !important;
        align-items: center !important;
        column-gap: 40px !important;
    }

    .ast-primary-header-bar .site-header-primary-section-left {
        justify-content: flex-start !important;
    }

    .ast-primary-header-bar .site-header-primary-section-center {
        justify-content: center !important;
        text-align: center !important;
    }

    .ast-primary-header-bar .site-header-primary-section-right {
        justify-content: flex-end !important;
    }

    /* Blue row content width */
    .ast-below-header-bar .ast-container,
    .ast-below-header-bar .ast-builder-grid-row {
        max-width: 1320px !important;
        width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 35px !important;
        padding-right: 35px !important;
        box-sizing: border-box !important;
    }

    /* Blue row: menu + search balanced */
    .ast-below-header-bar .ast-builder-grid-row {
        display: grid !important;
        grid-template-columns: 1fr 350px !important;
        align-items: center !important;
        column-gap: 45px !important;
    }

    .ast-below-header-bar .site-header-below-section-left,
    .ast-below-header-bar .site-header-below-section-center {
        justify-content: flex-end !important;
        width: 100% !important;
    }

    .ast-below-header-bar .site-header-below-section-right {
        justify-content: flex-start !important;
        width: 350px !important;
        max-width: 350px !important;
    }

    /* Menu spacing clean */
    .ast-below-header-bar #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
}

/* =========================================================
   SEARCH RESULT PAGE FINAL FIX
   Product image normal ratio + clean card layout
========================================================= */

/* Reset previous broken grid */
body.search .site-main {
    display: block !important;
}

/* Search title area */
body.search .ast-archive-description {
    max-width: 1200px !important;
    margin: 70px auto 35px auto !important;
    padding: 0 20px 35px !important;
    text-align: center !important;
    border-bottom: 1px solid #e5e7eb !important;
}

/* Product result grid */
body.search .ast-row {
    max-width: 1280px !important;
    margin: 0 auto 70px auto !important;
    padding: 0 20px !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 28px !important;
}

body.search .ast-row::before,
body.search .ast-row::after {
    display: none !important;
}

/* Card */
body.search .ast-article-post,
body.search article {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    clear: none !important;
    background: #ffffff !important;
    border: 1px solid #eeeeee !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06) !important;
}

/* Image area */
body.search .ast-article-post .post-thumb,
body.search .ast-article-post .post-thumb-img-content,
body.search article .post-thumb,
body.search article .post-thumb-img-content {
    width: 100% !important;
    background: #ffffff !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

/* Image normal ratio, not stretched */
body.search .ast-article-post img,
body.search article img,
body.search .post-thumb img,
body.search .wp-post-image {
    width: 100% !important;
    height: 300px !important;
    object-fit: contain !important;
    object-position: center center !important;
    background: #ffffff !important;
    padding: 18px !important;
    display: block !important;
}

/* Title */
body.search .ast-article-post .entry-title,
body.search article .entry-title {
    font-size: 22px !important;
    line-height: 1.3 !important;
    font-weight: 800 !important;
    color: #111827 !important;
    padding: 18px 20px 8px !important;
    margin: 0 !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
}

body.search .ast-article-post .entry-title a,
body.search article .entry-title a {
    color: #111827 !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
}

/* Meta */
body.search .ast-article-post .entry-meta,
body.search article .entry-meta {
    padding: 0 20px 18px !important;
    font-size: 14px !important;
    color: #0073e6 !important;
}

/* Excerpt/content */
body.search .ast-article-post .entry-content,
body.search article .entry-content {
    padding: 0 20px 22px !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
    color: #374151 !important;
}

/* Mobile */
@media (max-width: 921px) {
    body.search .ast-row {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 20px !important;
    }

    body.search .ast-article-post img,
    body.search article img,
    body.search .post-thumb img,
    body.search .wp-post-image {
        height: 240px !important;
    }
}

@media (max-width: 600px) {
    body.search .ast-row {
        grid-template-columns: 1fr !important;
    }

    body.search .ast-article-post img,
    body.search article img,
    body.search .post-thumb img,
    body.search .wp-post-image {
        height: 260px !important;
    }
}

/* =========================================================
   HEADER CART COUNT BADGE FINAL FIX
   Cart icon-er upor product count clearly show korar jonno
========================================================= */

/* Cart wrapper position */
.ast-primary-header-bar .ast-site-header-cart,
.ast-primary-header-bar .ast-header-woo-cart,
.ast-primary-header-bar .ast-cart-menu-wrap,
.ast-primary-header-bar .ast-addon-cart-wrap {
    position: relative !important;
    overflow: visible !important;
}

/* Astra cart count pseudo badge */
.ast-primary-header-bar .ast-site-header-cart .ast-addon-cart-wrap i.astra-icon:after,
.ast-primary-header-bar .ast-header-woo-cart .ast-addon-cart-wrap i.astra-icon:after,
.ast-primary-header-bar .ast-site-header-cart .ast-cart-menu-wrap .count,
.ast-primary-header-bar .ast-cart-menu-wrap .count,
.ast-primary-header-bar .ast-addon-cart-wrap .count {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    visibility: visible !important;
    opacity: 1 !important;

    background: #ff3b3b !important;
    color: #ffffff !important;

    min-width: 22px !important;
    width: auto !important;
    height: 22px !important;
    line-height: 22px !important;

    border-radius: 50% !important;
    border: 2px solid #ffffff !important;

    font-size: 12px !important;
    font-weight: 900 !important;
    text-align: center !important;

    position: absolute !important;
    top: -10px !important;
    right: -12px !important;
    z-index: 99999 !important;
}

/* If Astra uses data-cart-total */
.ast-primary-header-bar .ast-site-header-cart .ast-addon-cart-wrap i.astra-icon:after,
.ast-primary-header-bar .ast-header-woo-cart .ast-addon-cart-wrap i.astra-icon:after {
    content: attr(data-cart-total) !important;
}

/* If badge empty, show 0 */
.ast-primary-header-bar .ast-site-header-cart .ast-cart-menu-wrap .count:empty::before,
.ast-primary-header-bar .ast-cart-menu-wrap .count:empty::before,
.ast-primary-header-bar .ast-addon-cart-wrap .count:empty::before {
    content: "0" !important;
}

/* Cart icon color */
.ast-primary-header-bar .ast-site-header-cart svg,
.ast-primary-header-bar .ast-header-woo-cart svg,
.ast-primary-header-bar .ast-cart-menu-wrap svg,
.ast-primary-header-bar .ast-addon-cart-wrap svg,
.ast-primary-header-bar .ast-site-header-cart svg path,
.ast-primary-header-bar .ast-header-woo-cart svg path {
    fill: #112b55 !important;
    color: #112b55 !important;
    opacity: 1 !important;
}

/* Cart icon box clean */
.ast-primary-header-bar .ast-site-header-cart .ast-cart-menu-wrap,
.ast-primary-header-bar .ast-header-woo-cart .ast-cart-menu-wrap {
    background: #ffffff !important;
    border: 2px solid #112b55 !important;
    border-radius: 8px !important;
}

/* =========================================================
   PREMIUM FOOTER DESIGN FINAL
========================================================= */

/* Main footer dark section */
.site-primary-footer-wrap,
.ast-primary-footer-bar,
.ast-footer-overlay {
    background: #0b1220 !important;
    background-color: #0b1220 !important;
    padding-top: 55px !important;
    padding-bottom: 50px !important;
}

/* Footer container */
.site-primary-footer-wrap .ast-builder-grid-row,
.ast-primary-footer-bar .ast-builder-grid-row {
    max-width: 1180px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    column-gap: 55px !important;
    align-items: flex-start !important;
}

/* Footer widget text */
.site-primary-footer-wrap,
.site-primary-footer-wrap p,
.site-primary-footer-wrap li,
.site-primary-footer-wrap span,
.site-primary-footer-wrap .widget {
    color: #cbd5e1 !important;
    font-size: 15px !important;
    line-height: 1.8 !important;
    font-weight: 500 !important;
}

/* Footer headings */
.site-primary-footer-wrap h1,
.site-primary-footer-wrap h2,
.site-primary-footer-wrap h3,
.site-primary-footer-wrap h4,
.site-primary-footer-wrap .widget-title {
    color: #ffffff !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    margin-bottom: 16px !important;
    line-height: 1.3 !important;
}

/* Footer links */
.site-primary-footer-wrap a,
.site-primary-footer-wrap .menu a,
.site-primary-footer-wrap li a {
    color: #dbeafe !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.9 !important;
    text-decoration: none !important;
    transition: 0.25s ease !important;
}

/* Footer link hover */
.site-primary-footer-wrap a:hover,
.site-primary-footer-wrap .menu a:hover,
.site-primary-footer-wrap li a:hover {
    color: #38bdf8 !important;
    padding-left: 4px !important;
}

/* Footer lists clean */
.site-primary-footer-wrap ul,
.site-primary-footer-wrap ol {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.site-primary-footer-wrap li {
    margin-bottom: 7px !important;
}

/* Footer logo */
.site-primary-footer-wrap img,
.site-primary-footer-wrap .custom-logo {
    max-height: 85px !important;
    width: auto !important;
    margin-bottom: 18px !important;
    filter: none !important;
}

/* Brand text width */
.site-primary-footer-wrap .footer-widget-area:first-child p,
.site-primary-footer-wrap .site-footer-section:first-child p {
    max-width: 300px !important;
}

/* Bottom copyright bar */
.site-below-footer-wrap,
.ast-footer-copyright,
.ast-below-footer-bar {
    background: #050505 !important;
    background-color: #050505 !important;
    min-height: 48px !important;
}

/* Copyright text */
.site-below-footer-wrap,
.site-below-footer-wrap p,
.ast-footer-copyright,
.ast-footer-copyright p {
    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    text-align: center !important;
}

/* Remove extra margin */
.ast-footer-copyright p,
.site-below-footer-wrap p {
    margin: 0 !important;
}

/* Mobile footer */
@media (max-width: 921px) {
    .site-primary-footer-wrap,
    .ast-primary-footer-bar {
        padding-top: 40px !important;
        padding-bottom: 35px !important;
        text-align: center !important;
    }

    .site-primary-footer-wrap .ast-builder-grid-row,
    .ast-primary-footer-bar .ast-builder-grid-row {
        row-gap: 30px !important;
    }

    .site-primary-footer-wrap .footer-widget-area:first-child p,
    .site-primary-footer-wrap .site-footer-section:first-child p {
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .site-primary-footer-wrap img,
    .site-primary-footer-wrap .custom-logo {
        margin-left: auto !important;
        margin-right: auto !important;
    }
}


/* =========================================================
   FOOTER PAYMENT METHODS - FINAL
========================================================= */

.site-below-footer-wrap .ast-builder-grid-row,
.ast-below-footer-bar .ast-builder-grid-row {
    max-width: 1180px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 25px !important;
}

/* Payment wrapper */
.gb-payment-methods {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 14px !important;
    color: #ffffff !important;
}

/* Payment title */
.gb-payment-title {
    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
}

/* Payment icon box */
.gb-payment-icons {
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    background: #ffffff !important;
    padding: 8px 12px !important;
    border-radius: 8px !important;
}

/* Badge base */
.gb-pay-badge {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 52px !important;
    height: 28px !important;
    padding: 0 10px !important;
    border-radius: 5px !important;
    background: #f8fafc !important;
    border: 1px solid #dbe3ef !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

/* Brand colors */
.gb-pay-badge.visa {
    color: #1a4fb4 !important;
}

.gb-pay-badge.mastercard {
    color: #eb001b !important;
}

.gb-pay-badge.paypal {
    color: #003087 !important;
}

.gb-pay-badge.ach {
    color: #047857 !important;
}

.gb-pay-badge.bank {
    color: #111827 !important;
    min-width: 96px !important;
}

.gb-pay-badge.crypto {
    color: #f59e0b !important;
}

/* Mobile responsive */
@media (max-width: 768px) {
    .site-below-footer-wrap .ast-builder-grid-row,
    .ast-below-footer-bar .ast-builder-grid-row {
        flex-direction: column !important;
        justify-content: center !important;
        text-align: center !important;
        gap: 12px !important;
        padding: 14px 10px !important;
    }

    .gb-payment-methods {
        justify-content: center !important;
        flex-wrap: wrap !important;
    }

    .gb-payment-icons {
        flex-wrap: wrap !important;
        justify-content: center !important;
    }
}

/* =========================================================
   PRODUCT CARD BUTTON MARKUP — CHILD THEME 1.1
   Supports classic WooCommerce loops and Product Collection blocks.
========================================================= */

.wp-block-woocommerce-product-button.gainbuilt-product-button-block {
    width: 100% !important;
    margin-block-start: auto !important;
    margin-block-end: 0 !important;
}

.wp-block-woocommerce-product-button.gainbuilt-product-button-block .ds-product-actions,
.wc-block-product .gainbuilt-product-button-block .ds-product-actions {
    width: 100% !important;
    margin-top: 12px !important;
}

.ds-cart-icon svg,
.product-cart-icon svg {
    width: 20px !important;
    height: 20px !important;
    display: block !important;
    pointer-events: none !important;
}

/* Keep Gutenberg Product Collection cards aligned, with actions at the bottom. */
.wp-block-woocommerce-product-template > .wc-block-product {
    display: flex !important;
    flex-direction: column !important;
}

/* WooCommerce can inject an "added" confirmation link beside AJAX buttons. */
.ds-product-actions + .added_to_cart,
.gainbuilt-product-button-block .added_to_cart {
    display: none !important;
}

@media (max-width: 480px) {
    .ds-cart-icon svg,
    .product-cart-icon svg {
        width: 18px !important;
        height: 18px !important;
    }
}

/* =========================================================
   PRODUCT CARD BUTTON CLEANUP — CHILD THEME 1.2
   Removes WooCommerce's old standalone Add to cart button when
   the custom Order Now + cart-icon row is present.
========================================================= */

.gb-has-custom-actions > .wp-block-woocommerce-product-button:not(.gainbuilt-product-button-block),
.gb-has-custom-actions .wp-block-button.wc-block-components-product-button,
.gb-has-custom-actions > a.button.add_to_cart_button:not(.ds-cart-icon),
.gb-has-custom-actions > a.button.product_type_simple:not(.ds-cart-icon),
.gb-has-custom-actions > a.button.product_type_variable:not(.ds-cart-icon) {
    display: none !important;
}

/* Modern-browser fallback before the cleanup script runs. */
.wc-block-product:has(.ds-product-actions) > .wp-block-woocommerce-product-button:not(.gainbuilt-product-button-block),
.wc-block-product:has(.ds-product-actions) .wp-block-button.wc-block-components-product-button,
li.product:has(.ds-product-actions) > a.button.add_to_cart_button:not(.ds-cart-icon),
li.product:has(.ds-product-actions) > a.button.product_type_simple:not(.ds-cart-icon),
li.product:has(.ds-product-actions) > a.button.product_type_variable:not(.ds-cart-icon) {
    display: none !important;
}

/* Keep one clean action row directly under the product information. */
.woocommerce ul.products li.product .ds-product-actions,
.woocommerce-page ul.products li.product .ds-product-actions,
.wc-block-product .ds-product-actions {
    margin-top: 14px !important;
    margin-bottom: 0 !important;
}

/* =========================================================
   SINGLE PRODUCT PAGE — CHILD THEME 1.3
   Keeps the existing site colours and Astra product structure.
   Only layout/spacing is refined; no second product form is added.
========================================================= */

body.single-product .site-content > .ast-container,
body.single-product .site-content .ast-container {
    max-width: 1280px !important;
    padding-top: 24px !important;
    padding-bottom: 48px !important;
}

body.single-product div.product {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    gap: 22px !important;
    margin-top: 18px !important;
}

body.single-product div.product .woocommerce-product-gallery,
body.single-product div.product .summary.entry-summary {
    float: none !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    background: var(--ast-global-color-5, #ffffff) !important;
    border: 1px solid var(--ast-border-color, #e5e7eb) !important;
    border-radius: 12px !important;
    box-shadow: 0 8px 24px rgba(17, 24, 39, 0.05) !important;
}

body.single-product div.product .woocommerce-product-gallery {
    flex: 1 1 55% !important;
    width: calc(55% - 11px) !important;
    padding: 18px 18px 18px 96px !important;
    position: relative !important;
    min-width: 0 !important;
}

body.single-product div.product .summary.entry-summary {
    flex: 1 1 40% !important;
    width: calc(45% - 11px) !important;
    padding: 22px !important;
    min-width: 360px !important;
}

body.single-product div.product .woocommerce-tabs,
body.single-product div.product .related,
body.single-product div.product .upsells,
body.single-product div.product > section,
body.single-product div.product > .product-after-summary {
    flex: 0 0 100% !important;
    width: 100% !important;
}

body.single-product .woocommerce-product-gallery__wrapper {
    border: 1px solid var(--ast-border-color, #e5e7eb) !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    background: var(--ast-global-color-5, #ffffff) !important;
}

body.single-product .woocommerce-product-gallery__image,
body.single-product .woocommerce-product-gallery__image a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

body.single-product .woocommerce-product-gallery__image img {
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
}

body.single-product .woocommerce-product-gallery .flex-control-thumbs {
    position: absolute !important;
    top: 18px !important;
    left: 18px !important;
    width: 62px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    list-style: none !important;
}

body.single-product .woocommerce-product-gallery .flex-control-thumbs li {
    width: 62px !important;
    margin: 0 !important;
    float: none !important;
}

body.single-product .woocommerce-product-gallery .flex-control-thumbs img {
    width: 62px !important;
    height: 62px !important;
    object-fit: cover !important;
    border: 1px solid var(--ast-border-color, #e5e7eb) !important;
    border-radius: 7px !important;
    padding: 3px !important;
    background: var(--ast-global-color-5, #ffffff) !important;
    opacity: 1 !important;
    cursor: pointer !important;
}

body.single-product .woocommerce-product-gallery .flex-control-thumbs img.flex-active,
body.single-product .woocommerce-product-gallery .flex-control-thumbs img:hover {
    border-color: var(--ast-global-color-0, #0b66ff) !important;
    box-shadow: 0 0 0 1px var(--ast-global-color-0, #0b66ff) !important;
}

body.single-product div.product .product_title {
    margin: 0 0 12px !important;
    padding: 12px 14px !important;
    border: 1px solid var(--ast-border-color, #e5e7eb) !important;
    border-left: 3px solid var(--ast-global-color-0, #0b66ff) !important;
    border-radius: 6px !important;
    background: transparent !important;
    font-size: clamp(22px, 2vw, 29px) !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
}

body.single-product div.product p.price,
body.single-product div.product span.price {
    display: inline-flex !important;
    align-items: baseline !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin: 0 8px 12px 0 !important;
}

body.single-product .gb-single-discount {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 25px !important;
    margin: 0 0 12px !important;
    padding: 3px 8px !important;
    border: 1px solid currentColor !important;
    border-radius: 4px !important;
    background: transparent !important;
    color: var(--ast-global-color-0, #0b66ff) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    vertical-align: middle !important;
}

body.single-product form.cart,
body.single-product .woocommerce-variation-add-to-cart {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 10px !important;
    align-items: stretch !important;
    margin-top: 8px !important;
}

body.single-product form.variations_form {
    display: block !important;
}

body.single-product form.variations_form .variations,
body.single-product form.variations_form .single_variation_wrap {
    width: 100% !important;
}

body.single-product .gb-quantity-label {
    grid-column: 1 / -1 !important;
    display: block !important;
    margin: 0 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}

body.single-product form.cart .quantity,
body.single-product .woocommerce-variation-add-to-cart .quantity {
    grid-column: 1 / -1 !important;
    display: inline-grid !important;
    grid-template-columns: 32px 48px 32px !important;
    width: max-content !important;
    margin: 0 0 2px !important;
    border: 1px solid var(--ast-border-color, #e5e7eb) !important;
    border-radius: 5px !important;
    overflow: hidden !important;
    background: var(--ast-global-color-5, #ffffff) !important;
}

body.single-product .quantity .gb-qty-control,
body.single-product .quantity input.qty {
    width: 100% !important;
    height: 38px !important;
    min-height: 38px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: var(--ast-global-color-5, #ffffff) !important;
    color: inherit !important;
    box-shadow: none !important;
    text-align: center !important;
    font-size: 14px !important;
    font-weight: 800 !important;
}

body.single-product .quantity .gb-qty-control {
    cursor: pointer !important;
    font-size: 18px !important;
}

body.single-product .quantity .gb-qty-control:hover {
    background: rgba(127, 127, 127, 0.08) !important;
}

body.single-product .quantity input.qty {
    border-left: 1px solid var(--ast-border-color, #e5e7eb) !important;
    border-right: 1px solid var(--ast-border-color, #e5e7eb) !important;
    -moz-appearance: textfield !important;
}

body.single-product .quantity input.qty::-webkit-outer-spin-button,
body.single-product .quantity input.qty::-webkit-inner-spin-button {
    margin: 0 !important;
    -webkit-appearance: none !important;
}

body.single-product div.product .single_add_to_cart_button,
body.single-product div.product .gb-buy-now-button {
    width: 100% !important;
    min-height: 46px !important;
    height: 46px !important;
    margin: 0 !important;
    padding: 0 18px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 6px !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    box-shadow: none !important;
}

body.single-product div.product .single_add_to_cart_button {
    grid-column: 1 !important;
}

body.single-product div.product .gb-buy-now-button {
    grid-column: 2 !important;
    background: transparent !important;
    border: 1px solid var(--ast-global-color-0, #0b66ff) !important;
    color: var(--ast-global-color-0, #0b66ff) !important;
}

body.single-product div.product .gb-buy-now-button:hover {
    background: var(--ast-global-color-0, #0b66ff) !important;
    color: #ffffff !important;
}

body.single-product .woocommerce-product-rating {
    margin: 0 !important;
    padding: 2px 0 12px !important;
    font-size: 12px !important;
}

body.single-product .woocommerce-product-details__short-description {
    margin-top: 0 !important;
    padding-top: 12px !important;
    border-top: 1px solid var(--ast-border-color, #e5e7eb) !important;
    font-size: 14px !important;
    line-height: 1.65 !important;
}

body.single-product .woocommerce-product-details__short-description p:last-child {
    margin-bottom: 0 !important;
}

body.single-product table.variations {
    margin: 0 0 12px !important;
    border: 0 !important;
}

body.single-product table.variations th,
body.single-product table.variations td {
    padding: 5px 0 !important;
    border: 0 !important;
    background: transparent !important;
}

body.single-product table.variations select {
    min-height: 42px !important;
    border: 1px solid var(--ast-border-color, #e5e7eb) !important;
    border-radius: 5px !important;
    background: var(--ast-global-color-5, #ffffff) !important;
}

body.single-product .woocommerce-tabs,
body.single-product .related.products,
body.single-product .upsells.products {
    border: 1px solid var(--ast-border-color, #e5e7eb) !important;
    border-radius: 10px !important;
    padding: 18px !important;
    background: var(--ast-global-color-5, #ffffff) !important;
}

@media (max-width: 921px) {
    body.single-product div.product {
        display: block !important;
    }

    body.single-product div.product .woocommerce-product-gallery,
    body.single-product div.product .summary.entry-summary {
        width: 100% !important;
        min-width: 0 !important;
        margin-bottom: 18px !important;
    }
}

@media (max-width: 767px) {
    body.single-product .site-content > .ast-container,
    body.single-product .site-content .ast-container {
        padding-top: 12px !important;
        padding-bottom: 30px !important;
    }

    body.single-product div.product .woocommerce-product-gallery {
        padding: 12px !important;
    }

    body.single-product div.product .summary.entry-summary {
        padding: 16px !important;
    }

    body.single-product .woocommerce-product-gallery .flex-control-thumbs {
        position: static !important;
        width: 100% !important;
        margin-top: 10px !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
    }

    body.single-product .woocommerce-product-gallery .flex-control-thumbs li,
    body.single-product .woocommerce-product-gallery .flex-control-thumbs img {
        width: 56px !important;
        height: 56px !important;
    }

    body.single-product div.product .single_add_to_cart_button,
    body.single-product div.product .gb-buy-now-button {
        min-height: 44px !important;
        height: 44px !important;
        padding: 0 10px !important;
        font-size: 13px !important;
    }
}

/* =========================================================
   HEADER CART DROPDOWN + SEARCH ALIGNMENT — CHILD THEME 1.3
========================================================= */

/* Keep the mini-cart above the blue menu row instead of behind it. */
#masthead,
.site-header,
.ast-main-header-wrap,
.ast-primary-header-bar,
.ast-primary-header-bar .ast-container,
.ast-primary-header-bar .ast-builder-grid-row,
.ast-primary-header-bar .site-header-section {
    overflow: visible !important;
}

.ast-primary-header-bar {
    position: relative !important;
    z-index: 10020 !important;
}

.ast-primary-header-bar .ast-site-header-cart,
.ast-primary-header-bar .ast-header-woo-cart,
.ast-primary-header-bar .ast-site-header-cart-li {
    position: relative !important;
    z-index: 10040 !important;
    overflow: visible !important;
}

.ast-site-header-cart .widget_shopping_cart,
.woocommerce .ast-site-header-cart .widget_shopping_cart,
.ast-site-header-cart .ast-site-header-cart-data {
    z-index: 1000000 !important;
}

/* The blue row stays below cart dropdowns, while search suggestions remain on top. */
.ast-below-header-bar,
.ast-below-header-wrap,
.site-below-header-wrap {
    position: relative !important;
    z-index: 100 !important;
}

@media (min-width: 922px) {
    .ast-below-header-bar .ast-builder-grid-row {
        transform: none !important;
    }
}

.ast-below-header-bar .ast-header-search,
.ast-below-header-bar .ast-search-menu-icon,
.ast-below-header-bar form.search-form {
    position: relative !important;
    z-index: 300 !important;
    overflow: visible !important;
}

/* Stable input + button alignment. */
.ast-below-header-bar .ast-header-search .search-form,
.ast-below-header-bar .ast-search-menu-icon .search-form,
.ast-below-header-bar form.search-form {
    display: flex !important;
    align-items: stretch !important;
    width: 350px !important;
    max-width: 100% !important;
    height: 46px !important;
    background: transparent !important;
}

.ast-below-header-bar .search-form label {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    height: 46px !important;
    overflow: hidden !important;
}

.ast-below-header-bar .search-form input.search-field {
    width: 100% !important;
    height: 46px !important;
    padding: 0 16px !important;
}

.ast-below-header-bar .search-form .search-submit,
.ast-below-header-bar .search-form button.search-submit,
.ast-below-header-bar .ast-search-menu-icon .search-submit {
    position: static !important;
    flex: 0 0 56px !important;
    width: 56px !important;
    height: 46px !important;
    min-height: 46px !important;
}

.ast-live-search-results,
.ast-search-results,
.ast-search-results-wrapper,
.astra-search-results,
.astra-search-results-wrapper,
.ast-header-search .ast-live-search-results,
.ast-search-menu-icon .ast-live-search-results,
.ast-header-search .ast-search-results-wrapper,
.ast-search-menu-icon .ast-search-results-wrapper {
    top: calc(100% + 2px) !important;
    right: 0 !important;
    left: auto !important;
    width: 350px !important;
    max-width: min(350px, 92vw) !important;
    z-index: 1000100 !important;
}

@media (max-width: 921px) {
    .ast-below-header-bar .ast-header-search .search-form,
    .ast-below-header-bar .ast-search-menu-icon .search-form,
    .ast-below-header-bar form.search-form {
        width: 100% !important;
    }
}

/* =========================================================
   DESKTOP CENTER HEADER SEARCH — CHILD THEME 1.4
   Moves the existing search module into the middle of Astra's
   primary header without changing the site's background colours.
========================================================= */

.gb-header-search-hidden-original,
.gb-search-origin-empty {
    display: none !important;
}

@media (min-width: 922px) {
    body.gb-header-search-ready .ast-primary-header-bar .ast-builder-grid-row {
        grid-template-columns: minmax(190px, .8fr) minmax(420px, 1.8fr) minmax(190px, .8fr) !important;
        align-items: center !important;
        column-gap: clamp(18px, 2.2vw, 38px) !important;
    }

    body.gb-header-search-ready .ast-primary-header-bar .gb-header-search-target {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        min-width: 0 !important;
        overflow: visible !important;
    }

    body.gb-header-search-ready .gb-header-search-relocated {
        display: block !important;
        position: relative !important;
        width: min(100%, 720px) !important;
        max-width: 720px !important;
        min-width: 0 !important;
        margin: 0 auto !important;
        padding: 0 !important;
        z-index: 100050 !important;
        overflow: visible !important;
    }

    body.gb-header-search-ready .gb-header-search-relocated form.search-form {
        display: flex !important;
        align-items: stretch !important;
        width: 100% !important;
        max-width: none !important;
        height: 54px !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        border: 1px solid var(--ast-border-color, #d7dde7) !important;
        border-radius: 7px !important;
        background: #ffffff !important;
        box-shadow: 0 3px 14px rgba(15, 23, 42, .08) !important;
    }

    body.gb-header-search-ready .gb-header-search-relocated form.search-form:focus-within {
        border-color: var(--ast-global-color-0, #0b66ff) !important;
        box-shadow: 0 0 0 3px rgba(11, 102, 255, .12) !important;
    }

    body.gb-header-search-ready .gb-header-search-relocated form.search-form label {
        display: flex !important;
        align-items: stretch !important;
        flex: 1 1 auto !important;
        width: auto !important;
        min-width: 0 !important;
        height: 52px !important;
        margin: 0 !important;
        overflow: visible !important;
    }

    body.gb-header-search-ready .gb-header-search-relocated input.search-field,
    body.gb-header-search-ready .gb-header-search-relocated input[type="search"] {
        display: block !important;
        flex: 1 1 auto !important;
        width: 100% !important;
        min-width: 0 !important;
        height: 52px !important;
        margin: 0 !important;
        padding: 0 18px 0 20px !important;
        border: 0 !important;
        outline: 0 !important;
        border-radius: 0 !important;
        background: #ffffff !important;
        color: #111827 !important;
        -webkit-text-fill-color: #111827 !important;
        font-size: 15px !important;
        font-weight: 500 !important;
        line-height: 52px !important;
        box-shadow: none !important;
        opacity: 1 !important;
    }

    body.gb-header-search-ready .gb-header-search-relocated input.search-field::placeholder,
    body.gb-header-search-ready .gb-header-search-relocated input[type="search"]::placeholder {
        color: #687386 !important;
        -webkit-text-fill-color: #687386 !important;
        opacity: 1 !important;
    }

    body.gb-header-search-ready .gb-header-search-relocated .search-submit,
    body.gb-header-search-ready .gb-header-search-relocated button.search-submit,
    body.gb-header-search-ready .gb-header-search-relocated .gb-search-submit-icon {
        position: static !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex: 0 0 58px !important;
        width: 58px !important;
        min-width: 58px !important;
        height: 52px !important;
        min-height: 52px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-left: 1px solid #edf0f5 !important;
        border-radius: 0 !important;
        background: #ffffff !important;
        color: var(--ast-global-color-0, #0b66ff) !important;
        font-size: 0 !important;
        line-height: 1 !important;
        box-shadow: none !important;
        cursor: pointer !important;
    }

    body.gb-header-search-ready .gb-header-search-relocated .search-submit:hover,
    body.gb-header-search-ready .gb-header-search-relocated .search-submit:focus-visible {
        background: #f5f8ff !important;
        color: var(--ast-global-color-0, #0b66ff) !important;
    }

    body.gb-header-search-ready .gb-header-search-relocated .search-submit svg {
        display: block !important;
        width: 23px !important;
        height: 23px !important;
        fill: none !important;
        stroke: currentColor !important;
        pointer-events: none !important;
    }

    /* Once search leaves the blue row, let the navigation use its full width. */
    body.gb-header-search-ready .ast-below-header-bar .ast-builder-grid-row {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    body.gb-header-search-ready .ast-below-header-bar .site-header-section-left,
    body.gb-header-search-ready .ast-below-header-bar .site-header-section-center {
        grid-column: 1 / -1 !important;
        width: 100% !important;
        justify-content: center !important;
    }

    body.gb-header-search-ready .gb-header-search-relocated .ast-live-search-results,
    body.gb-header-search-ready .gb-header-search-relocated .ast-search-results,
    body.gb-header-search-ready .gb-header-search-relocated .ast-search-results-wrapper,
    body.gb-header-search-ready .gb-header-search-relocated .astra-search-results,
    body.gb-header-search-ready .gb-header-search-relocated .astra-search-results-wrapper {
        top: calc(100% + 5px) !important;
        left: 0 !important;
        right: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        z-index: 100060 !important;
    }
}

@media (max-width: 1180px) and (min-width: 922px) {
    body.gb-header-search-ready .ast-primary-header-bar .ast-builder-grid-row {
        grid-template-columns: minmax(150px, .72fr) minmax(360px, 1.55fr) minmax(150px, .72fr) !important;
        column-gap: 16px !important;
    }

    body.gb-header-search-ready .gb-header-search-relocated form.search-form {
        height: 50px !important;
    }

    body.gb-header-search-ready .gb-header-search-relocated form.search-form label,
    body.gb-header-search-ready .gb-header-search-relocated input.search-field,
    body.gb-header-search-ready .gb-header-search-relocated input[type="search"],
    body.gb-header-search-ready .gb-header-search-relocated .search-submit,
    body.gb-header-search-ready .gb-header-search-relocated button.search-submit {
        height: 48px !important;
        min-height: 48px !important;
    }
}

/* =========================================================
   PERMANENT DESKTOP SEARCH + COMPACT MENU ROW — CHILD 1.5
   Keeps the centered search visibly open without a click and
   restores the blue navigation row to its original compact height.
========================================================= */
@media (min-width: 922px) {
    /* Astra's "slide search" is hidden by default until its icon is clicked.
       The relocated desktop search must always be visible. */
    body.gb-header-search-ready .gb-header-search-relocated,
    body.gb-header-search-ready .gb-header-search-relocated.ast-search-menu-icon,
    body.gb-header-search-ready .gb-header-search-relocated .ast-search-menu-icon {
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        width: min(100%, 720px) !important;
        max-width: 720px !important;
        height: auto !important;
    }

    /* Hide Astra's old standalone trigger icon. The submit icon remains
       inside the right side of the full search field. */
    body.gb-header-search-ready .gb-header-search-relocated > .astra-search-icon,
    body.gb-header-search-ready .gb-header-search-relocated > a.astra-search-icon,
    body.gb-header-search-ready .gb-header-search-relocated .ast-search-icon > .astra-search-icon {
        display: none !important;
    }

    body.gb-header-search-ready .gb-header-search-relocated form.search-form,
    body.gb-header-search-ready .gb-header-search-relocated.ast-search-menu-icon.slide-search form.search-form,
    body.gb-header-search-ready .gb-header-search-relocated .ast-search-menu-icon.slide-search form.search-form {
        display: flex !important;
        position: relative !important;
        inset: auto !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        transform: none !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        height: 54px !important;
        min-height: 54px !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        border: 2px solid #c8d1df !important;
        border-radius: 8px !important;
        background: #ffffff !important;
        box-shadow: 0 2px 8px rgba(15, 23, 42, .06) !important;
        transition: border-color .2s ease, box-shadow .2s ease !important;
    }

    body.gb-header-search-ready .gb-header-search-relocated form.search-form:hover {
        border-color: #9fb0c7 !important;
    }

    body.gb-header-search-ready .gb-header-search-relocated form.search-form:focus-within {
        border-color: var(--ast-global-color-0, #0b66ff) !important;
        box-shadow: 0 0 0 3px rgba(11, 102, 255, .12) !important;
    }

    body.gb-header-search-ready .gb-header-search-relocated form.search-form label {
        display: flex !important;
        align-items: center !important;
        flex: 1 1 auto !important;
        width: auto !important;
        min-width: 0 !important;
        height: 50px !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    body.gb-header-search-ready .gb-header-search-relocated input.search-field,
    body.gb-header-search-ready .gb-header-search-relocated input[type="search"],
    body.gb-header-search-ready .gb-header-search-relocated.ast-search-menu-icon.ast-dropdown-active input.search-field {
        display: block !important;
        position: static !important;
        visibility: visible !important;
        opacity: 1 !important;
        flex: 1 1 auto !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        height: 50px !important;
        margin: 0 !important;
        padding: 0 20px !important;
        border: 0 !important;
        outline: 0 !important;
        border-radius: 0 !important;
        background: #ffffff !important;
        color: #172033 !important;
        -webkit-text-fill-color: #172033 !important;
        font-size: 16px !important;
        font-weight: 500 !important;
        line-height: 50px !important;
        box-shadow: none !important;
        transform: none !important;
    }

    body.gb-header-search-ready .gb-header-search-relocated input.search-field::placeholder,
    body.gb-header-search-ready .gb-header-search-relocated input[type="search"]::placeholder {
        color: #667085 !important;
        -webkit-text-fill-color: #667085 !important;
        opacity: 1 !important;
    }

    body.gb-header-search-ready .gb-header-search-relocated .search-submit,
    body.gb-header-search-ready .gb-header-search-relocated button.search-submit,
    body.gb-header-search-ready .gb-header-search-relocated .gb-search-submit-icon {
        display: inline-flex !important;
        position: static !important;
        align-items: center !important;
        justify-content: center !important;
        visibility: visible !important;
        opacity: 1 !important;
        flex: 0 0 60px !important;
        width: 60px !important;
        min-width: 60px !important;
        height: 50px !important;
        min-height: 50px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-left: 1px solid #e5eaf1 !important;
        border-radius: 0 !important;
        background: #ffffff !important;
        color: var(--ast-global-color-0, #0b66ff) !important;
        box-shadow: none !important;
        cursor: pointer !important;
    }

    /* Restore the blue navigation row to the earlier compact size. */
    body.gb-header-search-ready .ast-below-header-bar,
    body.gb-header-search-ready .ast-below-header-wrap,
    body.gb-header-search-ready .site-below-header-wrap,
    body.gb-header-search-ready .ast-below-header-bar .ast-container,
    body.gb-header-search-ready .ast-below-header-bar .ast-builder-grid-row {
        height: 58px !important;
        min-height: 58px !important;
        max-height: 58px !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        overflow: visible !important;
    }

    body.gb-header-search-ready .ast-below-header-bar .ast-builder-grid-row {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        grid-template-columns: none !important;
        transform: none !important;
    }

    body.gb-header-search-ready .ast-below-header-bar .site-header-section,
    body.gb-header-search-ready .ast-below-header-bar .site-header-below-section-left,
    body.gb-header-search-ready .ast-below-header-bar .site-header-below-section-center,
    body.gb-header-search-ready .ast-below-header-bar .site-header-below-section-right {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: auto !important;
        min-width: 0 !important;
        height: 58px !important;
        min-height: 58px !important;
        max-height: 58px !important;
        margin: 0 !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    body.gb-header-search-ready .ast-below-header-bar .gb-search-origin-empty,
    body.gb-header-search-ready .ast-below-header-bar .site-header-below-section-right:empty {
        display: none !important;
    }

    body.gb-header-search-ready #mega-menu-wrap-primary,
    body.gb-header-search-ready #mega-menu-wrap-primary #mega-menu-primary {
        height: 58px !important;
        min-height: 58px !important;
        max-height: 58px !important;
        margin: 0 !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    body.gb-header-search-ready #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item,
    body.gb-header-search-ready #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link {
        height: 58px !important;
        min-height: 58px !important;
        max-height: 58px !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        line-height: 58px !important;
    }
}


/* =========================================================
   MINI-CART REMOVE BUTTON ALIGNMENT — CHILD 1.6
   Creates a stronger circular control and draws the cross from
   two centered CSS lines so it cannot sit off-centre on any font.
========================================================= */
.ast-site-header-cart .widget_shopping_cart .mini_cart_item,
.woocommerce .ast-site-header-cart .widget_shopping_cart .mini_cart_item,
.astra-cart-drawer .widget_shopping_cart .mini_cart_item,
#ds-mini-cart .mini_cart_item {
    position: relative !important;
    padding-right: 54px !important;
}

.ast-site-header-cart .widget_shopping_cart .mini_cart_item > a.remove,
.ast-site-header-cart .widget_shopping_cart .mini_cart_item > a.remove_from_cart_button,
.woocommerce .ast-site-header-cart .widget_shopping_cart .mini_cart_item > a.remove,
.woocommerce .ast-site-header-cart .widget_shopping_cart .mini_cart_item > a.remove_from_cart_button,
.astra-cart-drawer .widget_shopping_cart .mini_cart_item > a.remove,
.astra-cart-drawer .widget_shopping_cart .mini_cart_item > a.remove_from_cart_button,
#ds-mini-cart .mini_cart_item > a.remove,
#ds-mini-cart .mini_cart_item > a.remove_from_cart_button {
    position: absolute !important;
    top: 50% !important;
    right: 12px !important;
    left: auto !important;
    transform: translateY(-50%) !important;
    display: block !important;
    width: 30px !important;
    min-width: 30px !important;
    height: 30px !important;
    min-height: 30px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    border: 2px solid #91a2b7 !important;
    border-radius: 50% !important;
    background: #f8fafc !important;
    color: #60748b !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-align: center !important;
    text-indent: 0 !important;
    text-decoration: none !important;
    box-shadow: 0 1px 4px rgba(15, 23, 42, .12) !important;
    opacity: 1 !important;
    cursor: pointer !important;
    transition: border-color .18s ease, background-color .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease !important;
}

.ast-site-header-cart .widget_shopping_cart .mini_cart_item > a.remove::before,
.ast-site-header-cart .widget_shopping_cart .mini_cart_item > a.remove::after,
.ast-site-header-cart .widget_shopping_cart .mini_cart_item > a.remove_from_cart_button::before,
.ast-site-header-cart .widget_shopping_cart .mini_cart_item > a.remove_from_cart_button::after,
.woocommerce .ast-site-header-cart .widget_shopping_cart .mini_cart_item > a.remove::before,
.woocommerce .ast-site-header-cart .widget_shopping_cart .mini_cart_item > a.remove::after,
.astra-cart-drawer .widget_shopping_cart .mini_cart_item > a.remove::before,
.astra-cart-drawer .widget_shopping_cart .mini_cart_item > a.remove::after,
#ds-mini-cart .mini_cart_item > a.remove::before,
#ds-mini-cart .mini_cart_item > a.remove::after {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    display: block !important;
    width: 12px !important;
    height: 2px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: currentColor !important;
    transform-origin: center !important;
    pointer-events: none !important;
}

.ast-site-header-cart .widget_shopping_cart .mini_cart_item > a.remove::before,
.ast-site-header-cart .widget_shopping_cart .mini_cart_item > a.remove_from_cart_button::before,
.woocommerce .ast-site-header-cart .widget_shopping_cart .mini_cart_item > a.remove::before,
.astra-cart-drawer .widget_shopping_cart .mini_cart_item > a.remove::before,
#ds-mini-cart .mini_cart_item > a.remove::before {
    transform: translate(-50%, -50%) rotate(45deg) !important;
}

.ast-site-header-cart .widget_shopping_cart .mini_cart_item > a.remove::after,
.ast-site-header-cart .widget_shopping_cart .mini_cart_item > a.remove_from_cart_button::after,
.woocommerce .ast-site-header-cart .widget_shopping_cart .mini_cart_item > a.remove::after,
.astra-cart-drawer .widget_shopping_cart .mini_cart_item > a.remove::after,
#ds-mini-cart .mini_cart_item > a.remove::after {
    transform: translate(-50%, -50%) rotate(-45deg) !important;
}

.ast-site-header-cart .widget_shopping_cart .mini_cart_item > a.remove:hover,
.ast-site-header-cart .widget_shopping_cart .mini_cart_item:hover > a.remove,
.ast-site-header-cart .widget_shopping_cart .mini_cart_item > a.remove_from_cart_button:hover,
.woocommerce .ast-site-header-cart .widget_shopping_cart .mini_cart_item > a.remove:hover,
.astra-cart-drawer .widget_shopping_cart .mini_cart_item > a.remove:hover,
#ds-mini-cart .mini_cart_item > a.remove:hover {
    border-color: var(--ast-global-color-0, #0b66ff) !important;
    background: #eef5ff !important;
    color: var(--ast-global-color-0, #0b66ff) !important;
    box-shadow: 0 0 0 3px rgba(11, 102, 255, .13), 0 2px 6px rgba(15, 23, 42, .12) !important;
    transform: translateY(-50%) scale(1.04) !important;
}

.ast-site-header-cart .widget_shopping_cart .mini_cart_item > a.remove:focus-visible,
.ast-site-header-cart .widget_shopping_cart .mini_cart_item > a.remove_from_cart_button:focus-visible,
.woocommerce .ast-site-header-cart .widget_shopping_cart .mini_cart_item > a.remove:focus-visible,
.astra-cart-drawer .widget_shopping_cart .mini_cart_item > a.remove:focus-visible,
#ds-mini-cart .mini_cart_item > a.remove:focus-visible {
    outline: 3px solid rgba(11, 102, 255, .24) !important;
    outline-offset: 2px !important;
    border-color: var(--ast-global-color-0, #0b66ff) !important;
    color: var(--ast-global-color-0, #0b66ff) !important;
}


/* =========================================================
   CLEAN MINI-CART REMOVE ICON + PRODUCT AUTOCOMPLETE — CHILD 1.7
========================================================= */
.ast-site-header-cart .widget_shopping_cart .mini_cart_item > a.remove,
.ast-site-header-cart .widget_shopping_cart .mini_cart_item > a.remove_from_cart_button,
.woocommerce .ast-site-header-cart .widget_shopping_cart .mini_cart_item > a.remove,
.woocommerce .ast-site-header-cart .widget_shopping_cart .mini_cart_item > a.remove_from_cart_button,
.astra-cart-drawer .widget_shopping_cart .mini_cart_item > a.remove,
.astra-cart-drawer .widget_shopping_cart .mini_cart_item > a.remove_from_cart_button,
#ds-mini-cart .mini_cart_item > a.remove,
#ds-mini-cart .mini_cart_item > a.remove_from_cart_button {
    background-color: #f8fafc !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 7l10 10M17 7L7 17' fill='none' stroke='%23162f52' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E") !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: 15px 15px !important;
    color: transparent !important;
    text-shadow: none !important;
    -webkit-text-stroke: 0 transparent !important;
}

.ast-site-header-cart .widget_shopping_cart .mini_cart_item > a.remove:hover,
.ast-site-header-cart .widget_shopping_cart .mini_cart_item > a.remove_from_cart_button:hover,
.woocommerce .ast-site-header-cart .widget_shopping_cart .mini_cart_item > a.remove:hover,
.woocommerce .ast-site-header-cart .widget_shopping_cart .mini_cart_item > a.remove_from_cart_button:hover,
.astra-cart-drawer .widget_shopping_cart .mini_cart_item > a.remove:hover,
.astra-cart-drawer .widget_shopping_cart .mini_cart_item > a.remove_from_cart_button:hover,
#ds-mini-cart .mini_cart_item > a.remove:hover,
#ds-mini-cart .mini_cart_item > a.remove_from_cart_button:hover {
    background-color: #eef5ff !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 7l10 10M17 7L7 17' fill='none' stroke='%230b66ff' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E") !important;
}

.ast-site-header-cart .widget_shopping_cart .mini_cart_item > a.remove::before,
.ast-site-header-cart .widget_shopping_cart .mini_cart_item > a.remove::after,
.ast-site-header-cart .widget_shopping_cart .mini_cart_item > a.remove_from_cart_button::before,
.ast-site-header-cart .widget_shopping_cart .mini_cart_item > a.remove_from_cart_button::after,
.woocommerce .ast-site-header-cart .widget_shopping_cart .mini_cart_item > a.remove::before,
.woocommerce .ast-site-header-cart .widget_shopping_cart .mini_cart_item > a.remove::after,
.woocommerce .ast-site-header-cart .widget_shopping_cart .mini_cart_item > a.remove_from_cart_button::before,
.woocommerce .ast-site-header-cart .widget_shopping_cart .mini_cart_item > a.remove_from_cart_button::after,
.astra-cart-drawer .widget_shopping_cart .mini_cart_item > a.remove::before,
.astra-cart-drawer .widget_shopping_cart .mini_cart_item > a.remove::after,
.astra-cart-drawer .widget_shopping_cart .mini_cart_item > a.remove_from_cart_button::before,
.astra-cart-drawer .widget_shopping_cart .mini_cart_item > a.remove_from_cart_button::after,
#ds-mini-cart .mini_cart_item > a.remove::before,
#ds-mini-cart .mini_cart_item > a.remove::after,
#ds-mini-cart .mini_cart_item > a.remove_from_cart_button::before,
#ds-mini-cart .mini_cart_item > a.remove_from_cart_button::after {
    content: none !important;
    display: none !important;
}

.ast-site-header-cart .widget_shopping_cart .mini_cart_item > a.remove > *,
.ast-site-header-cart .widget_shopping_cart .mini_cart_item > a.remove_from_cart_button > *,
.astra-cart-drawer .widget_shopping_cart .mini_cart_item > a.remove > *,
.astra-cart-drawer .widget_shopping_cart .mini_cart_item > a.remove_from_cart_button > *,
#ds-mini-cart .mini_cart_item > a.remove > *,
#ds-mini-cart .mini_cart_item > a.remove_from_cart_button > * {
    display: none !important;
}

.gb-product-search-enabled {
    position: relative !important;
    overflow: visible !important;
}

.gb-product-search-results {
    position: absolute !important;
    top: calc(100% + 8px) !important;
    right: 0 !important;
    left: 0 !important;
    display: none !important;
    width: 100% !important;
    max-height: min(430px, 65vh) !important;
    margin: 0 !important;
    padding: 7px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    box-sizing: border-box !important;
    border: 1px solid #d7dee9 !important;
    border-radius: 9px !important;
    background: #ffffff !important;
    box-shadow: 0 16px 38px rgba(15, 23, 42, .16) !important;
    z-index: 100090 !important;
}

.gb-product-search-results.is-open {
    display: block !important;
}

.gb-product-search-item {
    display: grid !important;
    grid-template-columns: 52px minmax(0, 1fr) 18px !important;
    gap: 12px !important;
    align-items: center !important;
    min-height: 64px !important;
    margin: 0 !important;
    padding: 8px 10px !important;
    border: 0 !important;
    border-radius: 7px !important;
    background: transparent !important;
    color: #152033 !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

.gb-product-search-item + .gb-product-search-item {
    border-top: 1px solid #edf0f4 !important;
    border-radius: 0 !important;
}

.gb-product-search-item:hover,
.gb-product-search-item:focus,
.gb-product-search-item.is-active {
    outline: 0 !important;
    background: #f3f7ff !important;
    color: #0b66ff !important;
}

.gb-product-search-thumb,
.gb-product-search-thumb img,
.gb-product-search-image-placeholder {
    display: block !important;
    width: 52px !important;
    height: 52px !important;
    border-radius: 6px !important;
}

.gb-product-search-thumb {
    overflow: hidden !important;
    border: 1px solid #edf0f4 !important;
    background: #f7f8fa !important;
}

.gb-product-search-thumb img {
    object-fit: contain !important;
    background: #ffffff !important;
}

.gb-product-search-image-placeholder {
    background: #f1f4f8 !important;
}

.gb-product-search-copy {
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;
    gap: 3px !important;
}

.gb-product-search-name {
    overflow: hidden !important;
    color: #152033 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.gb-product-search-price,
.gb-product-search-price .amount {
    color: #536176 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
}

.gb-product-search-price del {
    margin-right: 5px !important;
    opacity: .65 !important;
}

.gb-product-search-arrow {
    color: #8b98aa !important;
    font-size: 24px !important;
    line-height: 1 !important;
    text-align: center !important;
}

.gb-product-search-status {
    padding: 16px 14px !important;
    color: #5d697b !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    text-align: center !important;
}

.gb-product-search-status.is-loading::before {
    content: "" !important;
    display: inline-block !important;
    width: 14px !important;
    height: 14px !important;
    margin: 0 8px -2px 0 !important;
    border: 2px solid #d8e2f0 !important;
    border-top-color: #0b66ff !important;
    border-radius: 50% !important;
    animation: gb-search-spin .75s linear infinite !important;
}

@keyframes gb-search-spin {
    to { transform: rotate(360deg); }
}

@media (max-width: 921px) {
    .gb-product-search-results {
        right: 0 !important;
        left: 0 !important;
        width: min(92vw, 680px) !important;
        max-width: 92vw !important;
    }
}
