/* =======================================================
   1. BASE PAGE & ELEMENTOR CONTAINER FIXES
   ======================================================= */

/* Allow full-width Elementor sections (banners, sliders, USP) to stretch 100% */
.elementor-section-stretched,
.elementor-section-full_width,
.elementor-page .site-content,
.elementor-page #content {
    max-width: 100% !important;
    width: 100% !important;
}

.site-logo-img img, 
img.custom-logo {
    filter: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    display: block !important;
}

/* Force overall background to black and main text to white */
body, 
#page, 
.site, 
#content,
.woocommerce-page,
.ast-separate-container {
    background-color: #111111 !important; /* Rich Dark Black */
    color: #ffffff !important; /* Crisp White Text */
}

/* Fix product cards, archive grids, and shop item backgrounds safely */
.woocommerce ul.products li.product, 
.woocommerce-page ul.products li.product,
.ast-archive-description,
.woocommerce ul.products li.product-category,
.woocommerce-page ul.products li.product-category {
    background-color: #000000 !important;
    color: #ffffff !important;
    align-items: center;
}

/* Force headings (Product Titles, Section Titles) to remain white */
.entry-title, 
.woocommerce-loop-product__title, 
.woocommerce div.product .product_title {
    color: #ffffff !important;
}

/* Price tags color set to White */
.woocommerce div.product p.price, 
.woocommerce div.product span.price, 
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .price * {
    color: #ffffff !important; 
}

/* Fix meta texts, categories description, and breadcrumbs */
.woocommerce-breadcrumb, 
.product_meta, 
.woocommerce-product-details__short-description {
    color: #e0e0e0 !important;
}

.woocommerce ul.products li.product, 
.woocommerce-page ul.products li.product, 
.ast-archive-description, 
.product-category {
    background-color: #000000 !important;
    color: #ffffff !important;
    align-items: center;
}

.woocommerce-js ul.products li.product .woocommerce-loop-product__title, 
.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
    text-align: center;
}

.woocommerce div.product p.price, 
.woocommerce div.product span.price, 
.woocommerce ul.products li.product .price {
    text-align: center;
}

.woocommerce ul.products li.product .price, 
.woocommerce div.product p.price, 
.woocommerce div.product span.price, 
.widget_layered_nav_filters ul li.chosen a, 
.woocommerce-page ul.products li.product .ast-woo-product-category, 
.wc-layered-nav-rating a {
    color: #ffffff !important;
    text-align: center;
}

h1, h2, h3, h4, h5, h6, .entry-title, .woocommerce-loop-product__title, .woocommerce div.product .product_title {
    font-size: 25px;
    text-transform: uppercase;
}

.woocommerce ul.products li.product .price, 
.woocommerce div.product p.price, 
.woocommerce div.product span.price, 
.widget_layered_nav_filters ul li.chosen a, 
.woocommerce-page ul.products li.product .ast-woo-product-category, 
.wc-layered-nav-rating a {
    color: #ffffff !important;
    text-align: left;
    font-size: 16px;
    padding-bottom: 10px;
}

.woocommerce-js div.product form.cart .variations label {
    font-weight: 700;
    color: white;
}

.woocommerce-page ul.products li.product .ast-woo-product-category, 
.wc-layered-nav-rating a {
    text-align: center;
}

.woocommerce ul.products li.product .price, 
.woocommerce div.product p.price, 
.woocommerce div.product span.price, 
.widget_layered_nav_filters ul li.chosen a, 
.woocommerce-page ul.products li.product .ast-woo-product-category, 
.wc-layered-nav-rating a {
    text-align: center;
}

.woocommerce-js div.product .woocommerce-tabs ul.tabs li a {
    color: white;
}

#jp-relatedposts {
    display: none !important;
}

.woocommerce-js div.product .woocommerce-tabs .shop_attributes th {
    color: white !important;
}

@media (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: 50% !important;
    }

    .woocommerce div.product div.images img,
    .woocommerce-page div.product div.images img {
        max-height: 400px !important;
        object-fit: cover !important;
        width: 100% !important;
    }
}

.woocommerce-js div.product .product_meta {
    border-top: 1px solid var(--ast-border-color);
    display: none;
}

/* Style the variation dropdown select box */
.woocommerce-js div.product form.cart .variations select,
.woocommerce div.product form.cart .variations select {
    background-color: #000000 !important;
    color: #ffffff !important;
    border: 1px solid #333333 !important;
    padding: 10px 15px !important;
    border-radius: 4px !important;
    font-size: 15px !important;
}

.woocommerce-js div.product form.cart .variations select option,
.woocommerce div.product form.cart .variations select option {
    background-color: #000000 !important;
    color: #ffffff !important;
}

.global-single-desc {
    text-align: left !important;
}

/* Reorder the single product summary contents using Flexbox */
.woocommerce div.product .summary.entry-summary {
    display: flex !important;
    flex-direction: column !important;
}

.woocommerce div.product .summary .product_title,
.woocommerce div.product .summary h1.product_title {
    order: 1 !important;
}

.woocommerce div.product .summary > .price,
.woocommerce div.product .summary .price {
    order: 2 !important;
    text-align: left !important;
}

.woocommerce div.product .summary .kappa-simple-description-block,
.kappa-simple-description-block {
    order: 3 !important;
}

.woocommerce div.product .summary form.cart {
    order: 4 !important;
}

.woocommerce div.product .summary .variations_form {
    order: 3 !important;
    display: flex !important;
    flex-direction: column !important;
}

.woocommerce div.product .summary .variations_form .single_variation_wrap {
    order: 1 !important;
}

.woocommerce-js h2 {
    margin-bottom: .7em;
    color: white;
    font-size: 30px;
}

.woocommerce #content div.product .woocommerce-tabs, 
.woocommerce div.product .woocommerce-tabs, 
.woocommerce-page #content div.product .woocommerce-tabs, 
.woocommerce-page div.product .woocommerce-tabs {
    clear: both;
    display: none;
}

.elementor-kit-7 h1 {
    font-size: 40px;
    font-weight: 700;
    color: white;
    text-transform: uppercase;
}

.woocommerce-js .variations select, 
.woocommerce-js .woocommerce-ordering select {
    display: none;
}

/* Strip aggressive WordPress paragraph padding inside the footer */
.site-footer p.has-background,
.site-footer :root :where(p.has-background) {
    padding: 0 !important;
    margin-bottom: 10px !important;
}

.site-footer, 
.site-footer *,
elementor-location-footer,
.elementor-location-footer .elementor-widget-container {
    background-color: black !important;
    align-items: unset !important;
}

h1:where(.wp-block-heading).has-background, 
h2:where(.wp-block-heading).has-background, 
h3:where(.wp-block-heading).has-background, 
h4:where(.wp-block-heading).has-background, 
h5:where(.wp-block-heading).has-background, 
h6:where(.wp-block-heading).has-background {
    padding: 0 !important;
}

/* ==========================================
   MOBILE OPTIMIZATIONS
   ========================================== */
@media (max-width: 767px) {
    .woocommerce-products-header__title,
    .ast-archive-description .page-title,
    .elementor-kit-7 h2,
    h1.page-title {
        font-size: 22px !important;
        text-transform: uppercase !important;
    }

    .woocommerce-js ul.products li.product .woocommerce-loop-product__title, 
    .woocommerce-page ul.products li.product .woocommerce-loop-product__title,
    .woocommerce ul.products li.product .woocommerce-loop-product__title {
        font-size: 16px !important;
    }

    .woocommerce ul.products li.product .price, 
    .woocommerce div.product p.price, 
    .woocommerce div.product span.price,
    .woocommerce-page ul.products li.product .price,
    .woocommerce ul.products li.product .price * {
        font-size: 13px !important;
        font-family: 'Monda', sans-serif !important;
        color: #ffffff !important;
    }

    .woocommerce-page ul.products li.product .ast-woo-product-category,
    .woocommerce ul.products li.product .ast-woo-product-category,
    .product-category h2.woocommerce-loop-category__title {
        font-size: 16px !important;
        text-transform: uppercase !important;
    }

    .woocommerce ul.products li.product, 
    .woocommerce-page ul.products li.product {
        padding-top: 5px !important;
        padding-bottom: 5px !important;
    }

    .woocommerce-page ul.products li.product .ast-woo-product-category,
    .woocommerce ul.products li.product .ast-woo-product-category {
        margin-top: 2px !important;
        margin-bottom: 2px !important;
        padding-bottom: 0 !important;
        line-height: 1.2 !important;
    }

    .woocommerce-js ul.products li.product .woocommerce-loop-product__title, 
    .woocommerce-page ul.products li.product .woocommerce-loop-product__title,
    .woocommerce ul.products li.product .woocommerce-loop-product__title {
        margin-top: 2px !important;
        margin-bottom: 2px !important;
        padding-bottom: 0 !important;
        line-height: 1.2 !important;
    }

    .woocommerce ul.products li.product .price,
    .woocommerce-page ul.products li.product .price {
        margin-top: 2px !important;
        margin-bottom: 5px !important;
        padding-bottom: 0 !important;
        line-height: 1.2 !important;
    }

    .woocommerce ul.products,
    .woocommerce-page ul.products,
    .woocommerce-page[class*="woocommerce"] ul.products {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 10px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding: 0 !important;
    }

    .woocommerce ul.products li.product,
    .woocommerce-page ul.products li.product,
    .woocommerce-page[class*="woocommerce"] ul.products li.product {
        width: calc(50% - (10px / 2)) !important;
        margin: 0 !important;
        float: none !important;
        box-sizing: border-box !important;
    }

    .woocommerce-product-details__short-description,
    .woocommerce-product-details__short-description p {
        font-size: 13px !important;
        line-height: 1.4 !important;
    }

    .eael-product-grid-column-mobile-2 .eael-product-grid .woocommerce ul.products {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 10px !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .eael-product-grid-column-mobile-2 .eael-product-grid .woocommerce ul.products li.product {
        background-color: #111111 !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 10px !important;
        box-sizing: border-box !important;
    }

    .eael-product-grid-column-mobile-2 .eael-product-grid .woocommerce ul.products li.product .woocommerce-loop-product__title,
    .eael-product-grid-column-mobile-2 .eael-product-grid .woocommerce ul.products li.product .price {
        padding-top: 10px;
        font-size: 16px !important;
        line-height: 1.3 !important;
        color: #ffffff !important;
    }

    .elementor-1 .elementor-element.elementor-element-5d4a086 h1.elementor-heading-title,
    .elementor-1 .elementor-element.elementor-element-5d4a086 h2.elementor-heading-title,
    .elementor-1 .elementor-element.elementor-element-5d4a086 .elementor-heading-title,
    .elementor-1 .elementor-element.elementor-element-ea09751 h1.elementor-heading-title,
    .elementor-1 .elementor-element.elementor-element-fc1595d h2.elementor-heading-title,
    .elementor-1 .elementor-element.elementor-element-ea09751 .elementor-heading-title {
        font-size: 30px !important;
        line-height: 0.9em !important;
    }

    .elementor-1 .elementor-element.elementor-element-e4afbc5 {
        display: block !important;
        width: 100% !important;
        max-width: 83% !important;
        padding: 0 !important;
        margin: 0 !important;
    }
}

/* EAEL Grid Item Styling */
div.eael-product-grid ul.products li.product .eael-product-wrap, 
div.eael-post-grid ul.products li.product .eael-product-wrap {
    position: relative !important;
    overflow: hidden !important;
    background: #111111 !important;
    background-color: #111111 !important;
    border: 1px solid #1f1f1f !important;
    border-radius: 10px !important;
    isolation: isolate !important; 
    box-shadow: none !important; 
}

div.eael-product-grid ul.products li.product .eael-product-wrap *, 
div.eael-post-grid ul.products li.product .eael-product-wrap * {
    border-color: transparent !important;
    box-shadow: none !important;
}

/* =======================================================
   2. STRICT 1450PX TARGETING (ONLY NON-FULLWIDTH SECTIONS)
   ======================================================= */

/* Standard Theme Containers, Header, Footer & Category Archives */
.site-header .ast-container,
.main-header-bar .ast-container,
.site-footer .ast-container,
.site-footer .ast-footer-overlay,
.elementor-location-footer .elementor-container,
.elementor-section-boxed > .elementor-container,
.tax-product_cat .site-content .ast-container,
.tax-product_cat #content .ast-container,
.tax-product_cat .site-main,
.woocommerce-archive .site-content .ast-container,
.woocommerce-archive #content .ast-container,
.woocommerce-archive .site-main,
.archive.woocommerce .ast-container {
    max-width: 1450px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
}

.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
.woocommerce-archive ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page.archive ul.products li.product .woocommerce-loop-product__title {
    font-size: 16px !important;
}

.tax-product_cat ul.products li.product .price,
.tax-product_cat ul.products li.product .price *,
.woocommerce-archive ul.products li.product .price,
.woocommerce-archive ul.products li.product .price * {
    color: #ffffff !important;
}
/* =======================================================
   HOMEPAGE ONLY: STRETCH EVERYTHING FULL EDGE-TO-EDGE
   ======================================================= */

/* 1. Unlock Astra Containers on Homepage */
body.home .ast-container, 
body.home .ast-container-fluid,
body.home .site-content .ast-container,
body.home #content .ast-container {
    max-width: 100% !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* 2. Clear Outer Page & Content Wrappers on Homepage */
body.home .site-content,
body.home #content,
body.home .ast-plain-container,
body.home .ast-page-builder-template .site-content {
    max-width: 100% !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* 3. Force Elementor Inner Wrappers Full Width on Homepage */
body.home .elementor-section,
body.home .elementor-section-wrap,
body.home .elementor-section-full_width,
body.home .elementor-section-stretched {
    width: 100% !important;
    max-width: 100% !important;
    left: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* =======================================================
   HOMEPAGE HEADER FIX: RESTRICT ONLY HEADER TO 1450PX
   ======================================================= */

body.home .site-header .ast-container,
body.home .main-header-bar .ast-container,
body.home header .ast-container,
body.home .site-header .elementor-container,
body.home header .elementor-container {
    max-width: 1450px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
}