/**
Theme Name: ABC Child
Author: TRG Marketing
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: abc-child
Template: astra
*/

/** Custom Font: Aktiv Grotesk **/
/*@import url("https://use.typekit.net/smm3viw.css");

body {
    font-family: aktiv-grotesk, sans-serif;
    font-style: normal;
    font-weight: 200;
}*/

/** Header **/
.ast-site-header-cart i.astra-icon:after {
    padding: 0;
    top: -6px;
    height: 16px;
    min-width: 16px;
}

.site-header .ast-search-menu-icon .search-form {
    border-color: var(--ast-global-color-8);
}
.ast-desktop .ast-mega-menu-enabled .ast-hide-menu-item+.ast-mm-custom-content {
    margin: 0;
    padding: 0;
}

.ast-desktop .ast-mega-menu-enabled .astra-megamenu-li:hover .astra-megamenu {
    padding: 0;
}
header nav .uagb-tabs__wrap .uagb-tabs__body-container {
    padding: 0;
}
header nav .uagb-tabs__body-container a {
    font-weight: 400;
}
header nav .uagb-tabs__body-container ul.subcategories-list {
    column-count: 2;
}
header nav .uagb-tabs__body-container ul.subcategories-list li {
    padding: 3px 7px;
}
header nav .uagb-tabs__body-container ul.subcategories-list li:hover {
    background: var(--ast-global-color-0);
}
header nav .uagb-tabs__body-container ul.subcategories-list li:hover a {
    color: white;
}
header nav .uagb-block-974dbd50.uagb-tabs__wrap ul.uagb-tabs__panel li.uagb-tab a {
    width: 100%;
}
article .entry-header>h1.entry-title {
    margin-top: 20px;
}

/** Archive Layout  **/
.archive div#primary {
    margin-top: 15px;
    padding-left: 30px;
}

.is-subcategory.tax-product_cat #primary {
    background-color: #FFF !important;
}

/* Target the subcategory header specifically */
.subcategory-header {
    background-color: #FFF !important;
}

/* Target main category pages */
.is-main-category.tax-product_cat #primary {
    background-color: #EEE !important;
}

.woocommerce-js ul.products li.product, .woocommerce-page ul.products li.product {
    margin-bottom: 0;
}
.woocommerce .ast-shop-toolbar-container {
    margin-bottom: 0;
}
.ast-archive-description {
    border: none;
}
@media screen and (max-width: 767px) {
    .archive div#primary {
        padding-left: 0;
    }
}


/** Single Product **/
h1.product_title.entry-title {
    font-size: 1.3rem;
    text-transform: none;
}
.price .tiered-pricing-dynamic-price-wrapper {
    font-size: 1.3rem;
}
.woocommerce-js .woocommerce-breadcrumb {
    margin-bottom: .25em;
}
.woocommerce-js div.product div.summary .woocommerce-product-details__short-description :last-child {
    margin-bottom: .5em;
}
p.ast-stock-detail {
    width: 36%;
    float: left;
    margin-left: 4%;
    margin-bottom: .5em;
}
.woocommerce-product-details__short-description {
    width: 100%;
    float: left;
}

/* Product Table: move into plugin settings */
.tpt__tiered-pricing tbody {
    border: solid 1px;
}
.woocommerce-js table.shop_table thead th, .woocommerce-page table.shop_table thead th {
    border-right: solid 1px;
}
.woocommerce-js div.product form.cart table {
    border: solid 1px;
}
.woocommerce-js table.shop_table thead th:last-of-type, 
.woocommerce-page table.shop_table thead th:last-of-type,
.woocommerce-js div.product form.cart table td:last-of-type,
.woocommerce-page div.product form.cart table td:last-of-type {
    border-right: 0;
}
.woocommerce-js table.shop_table td, .woocommerce-js table.shop_table th, .woocommerce-page table.shop_table td, .woocommerce-page table.shop_table th {
    padding: 5px;
}
.tiered-pricing-table tbody td {
    padding-left: 5px !important;
}
/* end product table */

.woocommerce-js div.product .ast-woocommerce-distributed.woocommerce-tabs {
    display: grid;
    grid-template-columns: 1fr 400px;
    gap: 20px;
    margin-bottom: 0;
    padding-top: 20px;
}
.ast-single-tab {
    flex-direction: column;
}
div.product.ast-product-tabs-layout-distributed .ast-distributed-header {
    margin-bottom: 10px;
}
.ast-woocommerce-distributed .ast-distributed-content {
    width: 100%;
}
.woocommerce div.product .woocommerce-tabs .ast-distributed-wrap .shop_attributes th, .woocommerce div.product .woocommerce-tabs .ast-distributed-wrap .shop_attributes td {
    padding-bottom: 5px;
}
table.woocommerce-product-attributes.shop_attributes {
    border-collapse: collapse;
}
.woocommerce div.product .woocommerce-tabs .ast-distributed-wrap .shop_attributes th,
.shop_attributes tbody tr,
.woocommerce div.product .woocommerce-tabs .ast-distributed-wrap .shop_attributes td {
    border: solid 1px #5c5c5c;
    padding: 4px;
}
.ast-single-tab:first-of-type {
    background: #ebebeb;
    padding-left: 15px;
    padding-right: 15px;
}
.ast-single-tab {
    padding-top: 15px;
    padding-bottom: 15px;
}
.woocommerce-js table.shop_attributes,
.woocommerce-js div.product .woocommerce-tabs .panel {
    margin-bottom: 0;
}
.similar-products-container {
    margin-bottom: 30px;
}
.similar-products-container h2 {
    margin-bottom: 30px;
}
ul.similar-products {
    margin: 0;
}
ul.similar-products li {
    list-style: none;
    margin-bottom: 7px;
}
h4.similar-product-title {
    font-size: 1.2rem;
}
@media screen and (min-width: 922px) {
    .woocommerce #content .ast-woocommerce-container div.product div.images, .woocommerce .ast-woocommerce-container div.product div.images, .woocommerce-page #content .ast-woocommerce-container div.product div.images, .woocommerce-page .ast-woocommerce-container div.product div.images {
        width: 43%;
    }
}
@media screen and (max-width: 921px) {
    p.ast-stock-detail {
        width: 100%;
        float: none;
        margin-left: 0;
        margin-bottom: .5em;
    }
    .woocommerce-product-details__short-description {
        width: 100%;
        float: none;
    }
    .woocommerce-js div.product .ast-woocommerce-distributed.woocommerce-tabs {
        grid-template-columns: 1fr;
    }
}

/* SIQ Filtering */
.siq-filter-header {
    background: var(--ast-global-color-1) !important;
    color: var(--ast-global-color-5) !important;
    padding: 9px 8px !important;
    font-family: 'Roboto' !important;
    border-bottom: none !important;
}
body #siq_search_results .siq-prodfacet-contL div.siq-rp-panel ul {
    max-height: 105px;
    overflow-y: scroll;
    margin-top: 0;
}
body #siq_search_results .siq-prodfacet-contL div.siq-rp-panel ul li.siq-rp-more {
    display: none;
}
body #siq_search_results .siq-prodfacet-contL ul.siq-rp-term-list li.siq-rp-term-item.siq-rp-toggleable {
    display: block !important;
}
.siq-rp-facet-row.siq-rp-facet-post-type {
    display: none !important;
}
body #siq_search_results {
    padding: 0;
}
body #siq_search_results.siq-filter-on .siq-prodfacet-contR {
    width: 77%;
}
body #siq_search_results.siq-filter-on .siq-prodfacet-contL {
    width: 22%;
}
#siq_search_results .search-results-row.siq-single-result {
    border-bottom: solid 2px black;
    border-left: solid 2px black;
    border-right: solid 2px black;
    padding: 5px;
}
#siq_search_results div.siq_search_box {
    border-bottom: solid 2px black;
    margin-bottom: 0;
}
#siq_search_results table.siq_data_table td.contentTd {
    display: grid;
    grid-template-columns: 100px 1fr 100px 120px;
    grid-template-rows: 1fr;
    grid-column-gap: 0px;
    grid-row-gap: 0px;
}
#siq_search_results table.siq_data_table td.contentTd .siq-prod-sku,
#siq_search_results table.siq_data_table td.contentTd .search-results-title,
#siq_search_results table.siq_data_table td.contentTd .srch-res-info {
    display: flex;
    align-self: center;
}
#siq_search_results .siq-prodfacet-contL .siq-rp-facet-row button.siq-rp-accordion {
    color: var(--ast-global-color-0) !important;
    font-family: Roboto !important;
    font-weight: 700 !important;
}
#siq_search_results .siq-prod-sku {
    display: flex;
    align-content: center;
}
body #siq_search_results .search-results-R .sr-R-categories,
body #siq_search_results table.siq_data_table td.imageTd,
body #siq_search_results .siq-prdtls-price {
    display: none;
}
body #siq_search_results .siq-prodfacet-contL div.siq-rp-panel.siq-rp-show{ 
    border-top:0 !important; 
    margin-top: 0 !important;
}
body #siq_search_results .siq-prodfacet-contL .siq-rp-facet-row{
    padding: 5px 7px !important;
    background: var(--ast-global-color-6)!important;
    border: solid 2px var(--ast-global-color-3) !important;
}
body #siq_search_results .siq-prodfacet-contL .siq-rp-facet-row+.siq-rp-facet-row{
    border-top: 0 !important;
}

body #siq_search_results .siq-prodfacet-contL div.siq-rp-panel .siq-rp-ui-widget-header {
    background: linear-gradient(45deg, var(--ast-global-color-4) 0%, var(--ast-global-color-0) 100%) !important;
}

#siq_search_results div.siq-prodfacet-contL .siq-rp-applied-filter, #siq_search_results div.siq-prodfacet-contL .siq-rp-applied-type-filter {
    background-color: var(--ast-global-color-4) !important;
}


#siq_search_results .search-results-R div.search-results-title a {
    font-family: Roboto !important;
}

/* Search results */
#siq_search_results table.siq-prdgrid-cont td.siq-prdrslts-box a.siq-prdbx .siq-prdimg {
    height: auto;
}

#siq_search_results table.siq-prdgrid-cont td.siq-prdrslts-box a.siq-prdbx .siq-prdimg img {
    position: unset;
    top: unset;
    left: unset;
        -webkit-transform: unset;
    transform: unset;

}
.search-results-L.has-image>a>img:hover {
    cursor: pointer !important;
}

#siq_search_results .search-results-L {
    max-width: 100% !important;
    min-height: auto !important;
}
#siq_search_results .search-results-R .sr-R-cont {
    display: none;
}
#siq_search_results .search-results-R div.search-results-title a em {
    background-color: var(--ast-global-color-4);
}

#siq_search_results table.siq-prdgrid-cont td.siq-prdrslts-box a.siq-prdbx .siq-prdimg {
    background: white;
}

#siq_search_results table.siq-prdgrid-cont td.siq-prdrslts-box a.siq-prdbx .siq-prdtls .siq-prdtls-price h4 {
	color: var(--ast-global-color-4);
	font-size: 16px;
}

#siq_search_results table.siq-prdgrid-cont td.siq-prdrslts-box a.siq-prdbx .siq-prdtls h3 {
    font-size: 16px;
}

#siq_search_results table.siq-prdgrid-cont td.siq-prdrslts-box a.siq-prdbx:hover div, 
#siq_search_results table.siq-prdgrid-cont td.siq-prdrslts-box a.siq-prdbx:hover img, 
#siq_search_results table.siq-prdgrid-cont td.siq-prdrslts-box a.siq-prdbx:hover h3, 
#siq_search_results table.siq-prdgrid-cont td.siq-prdrslts-box a.siq-prdbx:hover h4, 
#siq_search_results table.siq-prdgrid-cont td.siq-prdrslts-box a.siq-prdbx:hover span {
    cursor: pointer;
}

#siq_search_results .search-results-R .sr-R-cont {
    overflow: visible;
}

#siq_search_results a.siq-res-btn {
    background: var(--ast-global-color-0) !important;
    color: #ffffff !important;
    padding: 5px !important;
   font-family: Roboto !important;
    align-content: center;
    align-items: center;
    text-align: center !important;
    align-self: center;
}

#siq_search_results a.siq-res-btn:hover {
    background: var(--ast-global-color-2) !important;
}
#siq_search_results a.siq-res-btn:focus {
    box-shadow: none !important;
}

/* Grid view */
#siq_search_results .siq-prodfacet-contR table.siq-prdgrid-cont td.siq-prdrslts-box a.siq-prdbx .siq-prdimg {
    height: auto;
    background: none;
}
#siq_search_results .siq-prodfacet-contR table.siq-prdgrid-cont td.siq-prdrslts-box a.siq-prdbx .siq-prdimg img {
    position: static;
    transform: initial;
    margin: 0 auto;
}
#siq_search_results .siq-prodfacet-contR table.siq-prdgrid-cont td.siq-prdrslts-box {
    border: 0;
    text-align: center;
}
#siq_search_results .siq-prodfacet-contR table.siq-prdgrid-cont td.siq-prdrslts-box:hover {
    border: none;
    cursor: pointer !important;
}
#siq_search_results .siq-prodfacet-contR table.siq-prdgrid-cont td.siq-prdrslts-box a.siq-prdbx .siq-prdtls h3 {
    font-size: 1em;
}
#siq_search_results .siq-prodfacet-contR table.siq-prdgrid-cont td.siq-prdrslts-box a.siq-prdbx .siq-prdtls {
    margin-bottom: 10px;
}
#siq_search_results .siq-prodfacet-contR  table.siq-prdgrid-cont td.siq-prdrslts-box a.siq-prdbx:hover>.siq-prdtls h3 {
    color: var(--ast-global-color-2);
}
/*#siq_search_results .siq-prodfacet-contR  table.siq-prdgrid-cont td.siq-prdrslts-box a.siq-prdbx .siq-prdtls::after,*/
#siq_search_results .siq-prodfacet-contR  table.siq-prdgrid-cont td.siq-prdrslts-box a.siq-prdbx .siq-res-btn {
    display: block;
    padding-top: 14px !important;
    padding-right: 28px !important;
    padding-bottom: 14px !important;
    padding-left: 28px !important;
    font-weight: 600;
}
#siq_search_results .siq-prodfacet-contR table.siq-prdgrid-cont a.siq-prdbx:focus  {
    box-shadow: none;
    outline: thin dotted;
}
#siq_search_results .siq-prodfacet-contR table.siq-prdgrid-cont td.siq-prdrslts-box a.siq-prdbx .siq-prdtls:hover::after,
#siq_search_results .siq-prodfacet-contR table.siq-prdgrid-cont a.siq-prdbx:focus .siq-prdtls::after,
#siq_search_results .siq-prodfacet-contR  table.siq-prdgrid-cont td.siq-prdrslts-box a.siq-prdbx .siq-res-btn:hover {
    color: var(--ast-global-color-2);
    background: var(--ast-global-color-5);
}
@media only screen and (max-width: 767px) {
    body #siq_search_results.siq-filter-on .siq-prodfacet-contR {
        width: 100%;
    }
    #siq_search_results .siq-prodfacet-contR  table.siq-prdgrid-cont td.siq-prdrslts-box a.siq-prdbx .siq-prdtls::after {
        left: 0;
        width: 100%;
    }
}
@media only screen and (max-width: 500px) {
    #siq_search_results table.siq_data_table td.contentTd {
        grid-template-columns: 1fr;
    }

    .search-results-title {
        text-align: center;
        width: 100%;
    }

    #siq_search_results table.siq_data_table td.contentTd .siq-prod-sku, 
    #siq_search_results table.siq_data_table td.contentTd .search-results-title, 
    #siq_search_results table.siq_data_table td.contentTd .srch-res-info {
        justify-content: center;
        padding: 0 7px;
    }

    #siq_search_results table.siq_data_table td.contentTd .search-results-title {
        order: 1;
        grid-column: span 2;
        text-align: center;
    }

    #siq_search_results table.siq_data_table td.contentTd .siq-prod-sku {
        order: 2;
        text-align: left;
        justify-content: left;
    }
    #siq_search_results table.siq_data_table td.contentTd .srch-res-info {
        order: 3;
        text-align: right;
        justify-content: right;
    }

    #siq_search_results table.siq_data_table td.contentTd .siq-res-btn{
        order: 4;
        grid-column: span 2;
    }

    #siq_search_results .contentTd .srch-det-arrow {
        display: none;
    }
}


/** Homepage **/
.abc-home-slider .swiper-content {
    height: 100%;
}
.abc-home-slider .uagb-slider-container .swiper-wrapper {
    align-items: stretch;
}
.abc-home-slider .swiper-wrapper .swiper-slide-active,
.abc-home-slider .swiper-wrapper .swiper-slide-duplicate,
.abc-home-slider .swiper-wrapper .swiper-slide-next,
.abc-home-slider .swiper-wrapper .swiper-slide-prev {
    height: unset;
}
.swiper-content .uagb-ifb-title,
.swiper-content .uagb-ifb-desc {
    text-shadow: 0px 0px 10px #f9f9f9;
}


/* Category */

/* Override WP Customizer blue background on first 4 category items */
.woocommerce ul.products li.product.product-category,
.woocommerce ul.products li.product.product-category:nth-child(-n + 4) {
    background: #ffffff !important;
    border: 2px solid #365486;
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.woocommerce ul.products li.product.product-category:hover,
.woocommerce ul.products li.product.product-category:nth-child(-n + 4):hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2), inset 0 0 0 3px #365486 !important;
}

/* Override white text on first 4 items - keep text dark/blue for all */
.woocommerce-js ul.products li.product.product-category:nth-child(-n+4) > a .woocommerce-loop-category__title,
.woocommerce-page ul.products li.product.product-category:nth-child(-n+4) > a .woocommerce-loop-category__title,
.woocommerce-js ul.products li.product.product-category:nth-child(-n+4) > a:hover .woocommerce-loop-category__title,
.woocommerce-page ul.products li.product.product-category:nth-child(-n+4) > a:hover .woocommerce-loop-category__title {
    color: #316195 !important;
}

.woocommerce-page ul.products li.product.product-category:nth-child(-n+4) .woocommerce-loop-category__title mark {
    color: #316195 !important;
}

.woocommerce-js ul.products li.product.product-category a img {
    height: auto;
    margin-bottom: 0;
}
.woocommerce ul.products, .woocommerce-page ul.products {
    column-gap: 20px;
    row-gap: 20px;
}
.woocommerce-js ul.products li.product .woocommerce-loop-category__title, 
.woocommerce-page ul.products li.product .woocommerce-loop-category__title {
    bottom: 0;
    right: 0;
    left: 0;
    position: relative;
    text-transform: initial;
    font-size: 1em;
    font-weight: 400;
    color: #316195 !important;
}

/* Ensure mark elements inside titles also use blue text */
.woocommerce-page ul.products li.product .woocommerce-loop-category__title mark,
.woocommerce-js ul.products li.product .woocommerce-loop-category__title mark {
    color: #316195 !important;
}
.woocommerce ul.products li.product .ast-woo-shop-product-description p:last-child, 
.woocommerce ul.products li.product>.ast-loop-product__link:last-child .woocommerce-loop-product__title, 
.woocommerce ul.products li.product>.button:last-child, 
.woocommerce ul.products li.product>:last-child, 
.woocommerce-page ul.products li.product .ast-woo-shop-product-description p:last-child, 
.woocommerce-page ul.products li.product>.ast-loop-product__link:last-child .woocommerce-loop-product__title, 
.woocommerce-page ul.products li.product>.button:last-child, .woocommerce-page ul.products li.product>:last-child {
    margin-top: auto;
    text-align: center;
}
.woocommerce ul.products li.product .astra-shop-summary-wrap, 
.woocommerce-page ul.products li.product .astra-shop-summary-wrap, 
.woocommerce.ast-woocommerce-shop-page-list-style ul.products li.product .astra-shop-summary-wrap, 
.woocommerce-page.ast-woocommerce-shop-page-list-style ul.products li.product .astra-shop-summary-wrap {
    padding: 0;
}
.woocommerce-js ul.products li.product .woocommerce-loop-product__title, 
.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
    text-align: center;
}

/* Subcategory Layout Styling */
.subcategory-header, .ast-shop-toolbar-container, .woocommerce-pagination, .breadcrumb.breadcrumbs.woo-breadcrumbs {
    max-width: 1200px;
    margin: 0 auto;
}

/* WooCommerce Breadcrumb Styling */
nav.woocommerce-breadcrumb,
.woocommerce-breadcrumb,
.woocommerce-js .woocommerce-breadcrumb,
.woocommerce-page .woocommerce-breadcrumb {
    max-width: 1200px !important;
    margin: 0 auto !important;
    display: block;
    width: 100%;
    box-sizing: border-box;
}

.subcategory-header h1.woocommerce-products-header__title {
    font-size: 2.5rem;
    font-weight: bold;
    color: #000;
    margin-bottom: 1.5rem;
    text-align: center;
}

.subcategory-grid {
    margin-top: 2rem;
}

.subcategory-grid h2 {
    font-size: 1.8rem;
    font-weight: bold;
    color: #000;
    margin-bottom: 1.5rem;
    text-align: center;
}

.subcategory-buttons {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 1rem;
    margin-bottom: 2rem;
}

.subcategory-button {
    display: block;
    background: #ffffff;
    color: #316195;
    text-decoration: none;
    padding: 1rem 1.5rem;
    border-radius: 6px;
    text-align: center;
    font-weight: 600;
    font-size: 1.1rem;
    transition: box-shadow 0.2s ease, transform 0.2s ease;
    border: 2px solid #365486;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.subcategory-button:hover {
    background: #ffffff;
    color: #316195;
    text-decoration: none;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2), inset 0 0 0 3px #365486;
}

/* Main category styling */
.main-category-header {
    max-width: 1200px;
    margin: 0 auto;
    padding: 2rem 1rem;
}

.main-category-message {
    background: #e9ecef;
    padding: 1rem;
    border-radius: 6px;
    margin-bottom: 2rem;
    text-align: center;
}

.main-category-message p {
    font-size: 1rem;
    color: #666;
    margin: 0;
}

/* Mobile responsiveness */
@media (max-width: 768px) {
    .subcategory-header h1.woocommerce-products-header__title {
        font-size: 2rem;
    }
    
    .subcategory-buttons {
        grid-template-columns: 1fr;
        gap: 0.75rem;
    }
    
    .subcategory-button {
        padding: 0.875rem 1rem;
        font-size: 1rem;
    }
    
    .subcategory-special-message {
        padding: 1rem;
    }
    
    .subcategory-special-message p {
        font-size: 1rem;
    }
}

/* Variable Product Grid Styling */
.variable-product-grid {
    margin-bottom: 1rem;
    height: auto;
}

/* Custom Variations Table Styling */
.custom-variations-table-wrapper {
    max-width: 1200px;
    margin: 0 auto;
    padding: 2rem 1rem;
}

/* Product Header with Image and Title */
.product-header {
    display: flex;
    align-items: flex-start;
    gap: 2rem;
    margin-bottom: 1.5rem;
}

.product-image {
    flex-shrink: 0;
}

.product-image img {
    max-width: 96px;
    max-height: 96px;
    width: auto;
    height: auto;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.custom-variations-table-wrapper .product-title {
    font-size: 2.5rem;
    font-weight: bold;
    color: #000;
    margin: 0;
    text-align: left;
    line-height: 1;
}

.custom-variations-table-wrapper .product-title-container {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.custom-variations-table-wrapper .product-description {
    font-size: 1.1rem;
    line-height: 1.6;
    color: #333;
    margin-bottom: 2rem;
    text-align: left;
    clear: both;
    width: 100%;
}

.custom-variations-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 2rem;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    content-visibility: auto;
    contain-intrinsic-size: auto 500px;
}

.mobile-variation-cards {
    display: none;
}

.custom-variations-table th {
    background: #f8f9fa;
    padding: 1rem 0.75rem;
    text-align: center;
    font-weight: bold;
    color: #333;
    border-bottom: 2px solid #dee2e6;
    font-size: 0.9rem;
}

.custom-variations-table td {
    padding: 8px;
    text-align: center;
    border-bottom: 1px solid #e0e0e0;
    vertical-align: top;
}

.custom-variations-table tr:hover {
    background: #f8f9fa;
}

.custom-variations-table a {
    color: #007cba;
    text-decoration: underline;
    font-weight: 500;
}

.custom-variations-table a:hover {
    color: #005a8b;
}

.custom-variations-table .qty {
    width: 80px;
    padding: 0.5rem;
    border: 1px solid #ccc;
    border-radius: 4px;
    text-align: center;
    font-size: 0.9rem;
}

.custom-variations-table .single_add_to_cart_button {
    background: #007cba;
    color: white;
    border: none;
    padding: 0.5rem 1rem;
    border-radius: 4px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.3s ease;
}

.custom-variations-table .single_add_to_cart_button:hover {
    background: #005a8b;
}

/* Fix variations table text wrapping and alignment */
.custom-variations-table th:first-child,
.custom-variations-table td:first-child {
    white-space: nowrap;
    min-width: 80px;
    text-align: center;
}

.custom-variations-table th:nth-child(2),
.custom-variations-table td:nth-child(2) {
    text-align: left;
    min-width: 200px;
}

.custom-variations-table .single_add_to_cart_button {
    white-space: nowrap;
    min-width: 100px;
}

/* Fix WooCommerce notices wrapper positioning */
.woocommerce-notices-wrapper {
    position: fixed !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 100 !important;
}

/* Replace cart icon with custom SVG */
.ast-site-header-cart i.astra-icon,
.ast-site-header-cart .ast-icon,
.ast-site-header-cart svg,
.ast-site-header-cart::before {
    background-image: url("data:image/svg+xml,YOUR_SVG_CODE_HERE") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
}

/* Custom Cart Icon - CSS Solution */
.ast-icon-shopping-bag .ast-icon svg,
.ast-icon-shopping-bag .ast-icon .icon-bag svg {
    display: none !important;
}

.ast-icon-shopping-bag .ast-icon::before {
    content: '';
    display: inline-block;
    width: 33px;
    height: 31px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='33' height='31' viewBox='0 0 576 512'%3E%3Cpath fill='black' d='M0 24C0 10.7 10.7 0 24 0L69.5 0c22 0 41.5 12.8 50.6 32l411 0c26.3 0 45.5 25 38.6 50.4l-41 152.3c-8.5 31.4-37 53.3-69.5 53.3l-288.5 0 5.4 28.5c2.8 14.9 15.9 25.5 31.2 25.5L520 342c13.3 0 24 10.7 24 24s-10.7 24-24 24l-317.7 0c-45.9 0-85.2-31.7-95.5-76.3L64.9 57.5c-2-10.6-11.4-18.2-22.2-18.2L24 39.4C10.7 39.4 0 28.6 0 15.4L0 24zM128 464a48 48 0 1 1 96 0 48 48 0 1 1-96 0zm336-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    vertical-align: middle;
}

/* Mobile responsiveness for variations table */
@media (max-width: 768px) {
    .custom-variations-table-wrapper {
        padding: 1rem;
    }

    .custom-variations-table {
        display: none;
    }

    .mobile-variation-cards {
        display: block;
        content-visibility: auto;
        contain-intrinsic-size: auto 800px;
    }
    
    .product-header {
        flex-direction: column;
        gap: 1rem;
        text-align: left;
    }
    
    .product-image img {
        max-width: 96px;
        max-height: 96px;
    }
    
    .custom-variations-table-wrapper .product-title {
        font-size: 2rem;
        text-align: left;
    }
    
    .custom-variations-table th,
    .custom-variations-table td {
        padding: 8px;
    }
    
    .custom-variations-table .qty {
        width: 60px;
        font-size: 0.8rem;
    }
}

.parent-product-button {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    background: #ffffff;
    color: #316195;
    text-decoration: none;
    padding: 1.5rem;
    border-radius: 8px;
    text-align: center;
    font-weight: 600;
    font-size: 1.1rem;
    transition: box-shadow 0.2s ease, transform 0.2s ease;
    border: 2px solid #365486;
    padding: 1.5rem;
    min-height: 200px;
    height: 100%;
    justify-content: flex-start;
    align-items: center;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    box-sizing: border-box;
}

.parent-product-button:hover {
    background: #ffffff;
    color: #316195;
    text-decoration: none;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2), inset 0 0 0 3px #365486;
}

.parent-product-button:hover a,
.parent-product-button:hover a:hover,
.parent-product-button:hover a:active,
.parent-product-button:active a:active {
    color: #316195 !important;
}

.parent-product-name {
    display: block;
    font-weight: bold;
    font-size: 1rem;
    margin-bottom: 0.5rem;
    flex: 1 1 auto;
    line-height: 1.2;
    min-height: 3.6em;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-wrap: break-word;
    overflow-wrap: break-word;
    -webkit-hyphens: auto;
    hyphens: auto;
}

.parent-product-description {
    display: block;
    font-size: 0.9rem;
    opacity: 0.9;
    line-height: 1.4;
    flex: 1 1 auto;
    word-wrap: break-word;
    overflow-wrap: break-word;
    -webkit-hyphens: auto;
    hyphens: auto;
}

.parent-product-image {
    font-size: 0.8rem;
    flex: 0 0 auto;
    margin-bottom: 1rem;
    width: 200px;
    height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.parent-product-image img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
}

/* Override default WooCommerce product styling for variable products */
.woocommerce ul.products li.product.product-type-variable {
    width: auto !important;
    max-width: none !important;
    margin: 0 0 0rem 0 !important;
    float: none !important;
    display: flex;
    height: 100%;
}

.woocommerce ul.products li.product.product-type-variable .woocommerce-loop-product__title,
.woocommerce ul.products li.product.product-type-variable .price,
.woocommerce ul.products li.product.product-type-variable .button,
.woocommerce ul.products li.product.product-type-variable .woocommerce-loop-product__link {
    display: none !important;
}

/* Mobile responsiveness for variable product grid */
@media (max-width: 768px) {
    .parent-product-button {
        padding: 1rem;
        font-size: 1rem;
        min-height: 160px;
        height: auto;
    }
    
    .parent-product-name {
        font-size: 1.1rem;
    }
    
    .parent-product-image {
        width: 140px;
        height: 140px;
        margin-bottom: 0.75rem;
    }
}

@media (max-width: 480px) {
    .parent-product-button {
        min-height: 160px;
        height: auto !important;
        padding: 0.5rem;
    }
    
    .parent-product-image {
        width: 120px;
        height: 120px;
    }
}

/* Variation Detail Page Styles */
.woocommerce-variation-detail {
    max-width: 1200px;
    margin: 0 auto;
    padding: 2rem 0;
}

.variation-navigation {
    margin-bottom: 2rem;
    padding: 1rem 0;
    border-bottom: 1px solid #eee;
}

.back-to-product {
    display: inline-flex;
    align-items: center;
    color: #0073aa;
    text-decoration: none;
    font-weight: 500;
    padding: 8px 16px;
    border: 1px solid #0073aa;
    border-radius: 4px;
    transition: all 0.3s;
}

.back-to-product:hover {
    background-color: #0073aa;
    color: white;
    text-decoration: none;
}

/* Ensure the variation detail page uses standard WooCommerce styling */
.woocommerce-variation-detail .woocommerce {
    margin: 0;
}

/* Force proper layout for variation detail pages */
.product.type-product {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 2rem !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
}

.product.type-product .woocommerce-product-gallery {
    /* Width constraints removed to allow gallery to fill parent container */
}

.product.type-product .summary {
    flex: 0 0 45% !important;
    max-width: 45% !important;
    width: 45% !important;
}

/* Ensure images are properly constrained */
.product.type-product .woocommerce-product-gallery .woocommerce-product-gallery__image {
    width: 100% !important;
    max-width: 100% !important;
}

.product.type-product .woocommerce-product-gallery .woocommerce-product-gallery__image img {
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
}

/* Mobile responsiveness for variation detail pages */
@media (max-width: 768px) {
    .product.type-product {
        flex-direction: column !important;
        gap: 1rem !important;
    }
    
    .product.type-product .woocommerce-product-gallery,
    .product.type-product .summary {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        width: 100% !important;
    }
}

/* Ensure proper spacing and layout */
.product.type-product .summary .product_title {
    font-size: 1.5rem !important;
}

.product.type-product .summary .price {
    font-size: 1.25rem !important;
    margin-bottom: 1rem !important;
}

/* Variation Attributes Grid Styling */
.variation-attributes-grid {
    padding: 1.5rem;
    background-color: #ffffff;
    border-radius: 8px;
}

.variation-attributes-grid h3 {
    margin: 0 0 1rem 0;
    font-size: 1.25rem;
    font-weight: 600;
    color: #000;
}

.variation-attributes-table {
    width: 100%;
    border-collapse: collapse;
    margin: 0;
    border: 1px solid #000000;
}

.variation-attributes-table th,
.variation-attributes-table td {
    padding: 0.75rem;
    text-align: left;
    border: 1px solid #000000;
    vertical-align: top;
}

.variation-attributes-table th {
    font-weight: 600;
    color: #495057;
    background-color: #ffffff;
    width: 40%;
    min-width: 150px;
}

.variation-attributes-table td {
    color: #212529;
    font-weight: 500;
}

.variation-attributes-table tr:hover {
    background-color: #f8f9fa;
}

.variation-attributes-table tr:last-child th,
.variation-attributes-table tr:last-child td {
    border-bottom: none;
}

/* Make attributes clickable if they're links */
.variation-attributes-table td a {
    color: #0073aa;
    text-decoration: none;
    transition: color 0.2s ease;
}

.variation-attributes-table td a:hover {
    color: #005a87;
    text-decoration: underline;
}

/* Responsive design for mobile */
@media (max-width: 768px) {
    .variation-attributes-grid {
        padding: 1rem;
        margin: 1rem 0;
    }
    
    .variation-attributes-table th,
    .variation-attributes-table td {
        padding: 0.5rem;
        font-size: 0.9rem;
    }
    
    .variation-attributes-table th {
        width: 35%;
        min-width: 120px;
    }
}

/* Custom Product Details Layout - Two Column */
.custom-product-details-layout {
    display: grid;
    grid-template-columns: 66% 34%;
    gap: 2rem;
    margin: 2rem 0;
    padding: 0;
    width: 100%;
}

.product-description-column {
    background-color: #EBEBEB;
    padding: 1rem;
}

.product-description-column h3 {
    margin: 0 0 1rem 0;
    font-size: 1.25rem;
    font-weight: 600;
    color: #000;
}

.product-description-content {
    color: #212529;
    line-height: 1.6;
}

.product-description-content p {
    margin-bottom: 1rem;
}

/* Responsive design for mobile */
@media (max-width: 768px) {
    .custom-product-details-layout {
        grid-template-columns: 1fr;
        gap: 1rem;
        margin: 1rem 0;
    }
    
    .product-description-column {
        padding: 1rem;
    }
}

/* Product description alignment */
.custom-variations-table-wrapper .product-description {
    text-align: left;
}

/* Hide SearchIQ mobile elements */
#siq_mobile,
.siq_canvas {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

/* Prevent SearchIQ from hiding the page */
#page.siq_global_disnone {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.siq_global_disnone {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Mobile styles for custom search dropdown */
@media (max-width: 768px) {
    .custom-search-dropdown {
        margin: 0 !important;
        padding: 0.5rem !important;
    }
    
    #custom-search-dropdown {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        height: 100vh !important;
        z-index: 999999 !important;
        background: #fff !important;
        overflow-y: auto !important;
        padding: 1rem 0 !important;
        box-sizing: border-box !important;
        /* Remove forced display/visibility - let JavaScript control */
    }
    
    #custom-search-dropdown.hidden {
        display: none !important;
    }
    
    #custom-search-dropdown .recently-viewed-products,
    #custom-search-dropdown .recently-viewed-categories {
        margin-bottom: 0;
        padding: 0;
    }
    
    .recently-viewed-products {
        margin-bottom: 0;
    }
    
    #custom-search-dropdown .product-item,
    #custom-search-dropdown .category-btn {
        padding: 15px !important;
        margin-bottom: 10px !important;
        font-size: 16px !important;
    }
    
    #custom-search-dropdown .product-card {
        width: 48% !important;
        max-width: 48% !important;
        vertical-align: top !important;
        margin-right: 2% !important;
        margin-bottom: 10px !important;
    }
    
    #custom-search-dropdown .product-card:nth-child(even) {
        margin-right: 0 !important;
    }
    
    #custom-search-dropdown .view-all-products-btn {
        width: 100% !important;
        padding: 15px !important;
        font-size: 16px !important;
        margin-top: 20px !important;
    }
    
    /* Desktop dropdown positioning */
    .ast-header-search #custom-search-dropdown {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        width: 100%;
        background: #fff;
        border: 1px solid #ddd;
        border-radius: 8px;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
        z-index: 999999;
        overflow-y: auto;
    }
    
    /* Mobile dropdown positioning - full screen overlay */
    body #custom-search-dropdown {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        width: 100%;
        height: 100vh;
        background: #fff;
        z-index: 999999;
        overflow-y: scroll;
        -webkit-overflow-scrolling: touch;
    }
    
    /* Mobile header dropdown with top padding */
    #ast-mobile-header #custom-search-dropdown {
        padding-top: 30px;
    }
    
    /* Dropdown header with close button */
    #custom-search-dropdown .dropdown-header {
        position: relative;
        padding: 15px 20px;
        background: #fff;
        border-bottom: 1px solid #e0e0e0;
    }
    
    #custom-search-dropdown .dropdown-close-btn {
        position: absolute;
        top: 50%;
        right: 20px;
        transform: translateY(-50%);
        background: none;
        border: none;
        font-size: 32px;
        font-weight: bold;
        color: #666;
        cursor: pointer;
        padding: 10px 15px;
        line-height: 1;
        transition: color 0.3s ease;
        min-width: 44px;
        min-height: 44px;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    
    #custom-search-dropdown .dropdown-close-btn:hover {
        color: #333;
    }
    
    #custom-search-dropdown .dropdown-close-btn:active {
        color: #000;
    }
    
    /* Dropdown search field styling */
    #custom-search-dropdown .dropdown-search-field {
        padding: 20px;
        border-bottom: 1px solid #e0e0e0;
        background: #fff;
    }
    
    #custom-search-dropdown .dropdown-search-input {
        width: 100%;
        padding: 12px 16px;
        border: 2px solid #ddd;
        border-radius: 8px;
        font-size: 16px;
        outline: none;
        transition: border-color 0.3s ease;
    }
    
    #custom-search-dropdown .dropdown-search-input:focus {
        border-color: #007cba;
        box-shadow: 0 0 0 3px rgba(0, 124, 186, 0.1);
    }
    
    /* Ensure dropdown can be shown when needed */
    #custom-search-dropdown {
        position: relative;
        z-index: 999999;
    }
    
    /* Force dropdown to be visible when needed - override any conflicting styles */
    #custom-search-dropdown.show {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
    
    /* Override hidden class when show class is present */
    #custom-search-dropdown.show.hidden {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
    
    /* Most aggressive override - force visibility when show class is present */
    #custom-search-dropdown.show,
    #custom-search-dropdown.show.hidden,
    #custom-search-dropdown[style*="display: block"].show {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }
    
    /* Maximum specificity override - this should override ANY other CSS */
    body #ast-mobile-header #custom-search-dropdown.show,
    body #ast-mobile-header #custom-search-dropdown.show.hidden,
    body #ast-mobile-header #custom-search-dropdown[style*="display: block"].show,
    html body #ast-mobile-header #custom-search-dropdown.show,
    html body #ast-mobile-header #custom-search-dropdown.show.hidden,
    html body #ast-mobile-header #custom-search-dropdown[style*="display: block"].show {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        height: 100vh !important;
        z-index: 999999 !important;
        background: #fff !important;
    }
    
    /* Ensure dropdown works in mobile header */
    #ast-mobile-header {
        position: relative !important;
    }
    
    #ast-mobile-header #custom-search-dropdown {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        height: 100vh !important;
        z-index: 999999 !important;
    }
}

/* Hide dropdown header and search field on desktop */
@media (min-width: 769px) {
    .dropdown-header,
    .dropdown-search-field {
        display: none !important;
    }
}

/* ===== SEARCH NO RESULTS STYLING ===== */
.no-results {
    padding: 40px 20px;
    text-align: center;
    background: #f9f9f9;
    border-radius: 8px;
    margin: 20px 0;
}

.no-results-content h2 {
    color: #333;
    font-size: 24px;
    margin-bottom: 20px;
}

.no-results-help h3 {
    color: #555;
    font-size: 18px;
    margin-bottom: 15px;
}

.help-options {
    list-style: none;
    padding: 0;
    max-width: 600px;
    margin: 0 auto;
}

.help-options li {
    padding: 15px 20px;
    text-align: left;
    font-size: 16px;
    line-height: 1.5;
}

.help-options a {
    color: #0073aa;
    text-decoration: none;
    font-weight: bold;
}

.help-options a:hover {
    color: #005a87;
    text-decoration: underline;
}
/* Bug #18623: Hide videos on single product pages (per ticket example: /product/wire-ties/) */
.single-product video,
.single-product iframe[src*="youtube"],
.single-product iframe[src*="vimeo"],
.single-product .wp-block-video,
.single-product .wp-block-embed,
.single-product .wp-block-embed__wrapper iframe {
    display: none !important;
}

.astra-megamenu .uagb-tabs__panel.uagb-tabs__align-left {
    max-height: calc(90vh - 190px);
    overflow: auto;
    flex-wrap: nowrap !important;
}

.ast-mobile-popup-drawer .ast-mobile-popup-content {
    overflow-y: auto;
}

.woocommerce ul.products li.product, .woocommerce-page ul.products li.product {
    box-shadow: none !important;
    padding-bottom: 0px !important;
}

/* ===== GALLERY LIGHTBOX OVERLAY ===== */
#gallery-lightbox-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 999999;
}

#gallery-lightbox-overlay.active {
    display: flex;
    align-items: center;
    justify-content: center;
}

#gallery-lightbox-overlay .lightbox-backdrop {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.9);
    cursor: pointer;
}

#gallery-lightbox-overlay .lightbox-content {
    position: relative;
    max-width: 90vw;
    max-height: 90vh;
    z-index: 1;
}

#gallery-lightbox-overlay .lightbox-image {
    max-width: 90vw;
    max-height: 90vh;
    object-fit: contain;
    display: block;
    border-radius: 4px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
}

#gallery-lightbox-overlay .lightbox-close {
    position: fixed;
    top: 20px;
    right: 20px;
    width: 50px;
    height: 50px;
    background: rgba(255, 255, 255, 0.9);
    border: none;
    border-radius: 50%;
    font-size: 32px;
    line-height: 1;
    cursor: pointer;
    color: #333;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    z-index: 2;
}

#gallery-lightbox-overlay .lightbox-close:hover {
    background: #fff;
    transform: scale(1.1);
}

#gallery-lightbox-overlay .lightbox-prev,
#gallery-lightbox-overlay .lightbox-next {
    position: fixed;
    top: 50%;
    transform: translateY(-50%);
    width: 50px;
    height: 50px;
    background: rgba(255, 255, 255, 0.9);
    border: none;
    border-radius: 50%;
    font-size: 28px;
    cursor: pointer;
    color: #333;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    z-index: 2;
}

#gallery-lightbox-overlay .lightbox-prev {
    left: 20px;
}

#gallery-lightbox-overlay .lightbox-next {
    right: 20px;
}

#gallery-lightbox-overlay .lightbox-prev:hover,
#gallery-lightbox-overlay .lightbox-next:hover {
    background: #fff;
    transform: translateY(-50%) scale(1.1);
}

/* Mobile responsiveness for lightbox */
@media (max-width: 768px) {
    #gallery-lightbox-overlay .lightbox-close {
        top: 10px;
        right: 10px;
        width: 40px;
        height: 40px;
        font-size: 24px;
    }
    
    #gallery-lightbox-overlay .lightbox-prev,
    #gallery-lightbox-overlay .lightbox-next {
        width: 40px;
        height: 40px;
        font-size: 22px;
    }
    
    #gallery-lightbox-overlay .lightbox-prev {
        left: 10px;
    }
    
    #gallery-lightbox-overlay .lightbox-next {
        right: 10px;
    }
}

/* Make gallery images show pointer cursor */
.woocommerce-product-gallery__wrapper a {
    cursor: zoom-in !important;
}

.woocommerce-product-gallery__wrapper a img {
    cursor: zoom-in !important;
}

/* ============================================================
   PAGINATED VARIATIONS — Toolbar, Filters, Pagination
   ============================================================ */

/* Toolbar (search + filters + summary) */
/* ── Paginated variations: toolbar (reuses search page .search-filters classes) ── */
.abc-variations-toolbar-wrap .abc-variations-search-wrap {
    flex: 1 1 220px;
    min-width: 180px;
}

.abc-variations-toolbar-wrap .abc-variations-search-input {
    width: 100%;
    padding: 1rem 1.5rem;
    border: 1px solid #316195;
    border-radius: 4px;
    font-family: 'Roboto', sans-serif;
    font-size: 1.125rem;
    font-weight: 700;
    color: #333;
}

.abc-variations-toolbar-wrap .abc-variations-search-input:focus {
    outline: none;
    border-color: #316195;
    box-shadow: 0 0 0 1px rgba(49, 97, 149, 0.1);
}

.abc-variations-toolbar-wrap .abc-variations-filter {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: #fff;
    border: 1px solid #316195;
    border-radius: 4px;
    padding: 1rem 1.5rem;
    font-family: 'Roboto', sans-serif;
    font-size: 1.125rem;
    font-weight: 700;
    color: #333;
    cursor: pointer;
    min-width: 120px;
    width: fit-content;
}

.abc-variations-toolbar-wrap .abc-variations-filter:hover {
    border-color: #316195;
}

.abc-variations-toolbar-wrap .abc-variations-filter:focus {
    outline: none;
    border-color: #316195;
    box-shadow: 0 0 0 1px rgba(49, 97, 149, 0.1);
}

.abc-variations-toolbar-wrap .filter-dropdown {
    position: relative;
}

.abc-variations-toolbar-wrap .filter-dropdown:not(.abc-variations-search-wrap)::after {
    content: "\25BC";
    position: absolute;
    right: 0.5rem;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    color: #666;
    font-size: 0.7rem;
}

/* ── Paginated variations: pagination (reuses search page classes) ── */
.abc-variations-pagination-wrap .groups-per-page select {
    padding: 4px 8px;
    border: 1px solid #ddd;
    border-radius: 3px;
    background: #fff;
    appearance: auto;
}

.abc-variations-pagination-wrap .page-navigation a.nav-link {
    cursor: pointer;
}

/* Content area */
.abc-variations-content {
    position: relative;
    transition: opacity 150ms ease;
}

.abc-variations-error {
    padding: 20px;
    text-align: center;
    color: #dc3545;
}

/* Loading overlay */
.abc-variations-loading {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
}

.abc-variations-loading-spinner {
    width: 36px;
    height: 36px;
    border: 3px solid #e0e0e0;
    border-top-color: #0073aa;
    border-radius: 50%;
    animation: abc-spin 0.7s linear infinite;
}

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

/* ── Responsive: stack toolbar vertically on mobile ── */
@media (max-width: 768px) {
    .abc-variations-toolbar-wrap .filter-row {
        flex-direction: column;
        align-items: stretch;
    }

    .abc-variations-toolbar-wrap .abc-variations-search-wrap {
        flex: none;
    }

    .abc-variations-toolbar-wrap .filter-dropdown select {
        width: 100%;
    }

    .abc-variations-pagination-wrap .pagination-controls {
        flex-direction: column;
        align-items: center;
        gap: 15px;
        text-align: center;
    }

    .abc-variations-pagination-wrap .pagination-groups {
        flex-direction: column;
        align-items: center;
        gap: 10px;
    }

    .abc-variations-pagination-wrap .page-navigation {
        align-self: center;
    }
}

/* ============================
   Custom 404 Page Styling
   ============================ */

.custom-404-message {
    text-align: center;
    margin: 60px auto;
    max-width: 700px;
}

.custom-404-message h4 {
    font-size: 2.3rem; /* adjust as needed */
    margin-bottom: 20px;
}

.custom-404-message p {
    font-size: 1.2rem; /* adjust as needed */
    line-height: 1.6;
}

/* ============================
   Customization & Design Page (ID 3300)
   Disable pointer cursor on infoboxes without links
   ============================ */

.page-id-3300 .uagb-block-b5d083c0 .uagb-infobox-link-wrap,
.page-id-3300 .uagb-block-7eadb95d .uagb-infobox-link-wrap,
.page-id-3300 .uagb-block-aafb6298 .uagb-infobox-link-wrap,
.page-id-3300 .uagb-block-43b0ab7a .uagb-infobox-link-wrap,
.page-id-3300 .uagb-block-754934a0 .uagb-infobox-link-wrap,
.page-id-3300 .uagb-block-964f0389 .uagb-infobox-link-wrap {
    cursor: default !important;
    pointer-events: none;
}
