/*
Theme Name:   Hello Edible
Theme URI:    https://ediblethcvapestore.com/themes/hello-edible/
Description:  Hello Elementor Child Theme for Edible THC Vape Store
Author:       Edible THC Vape Store
Author URI:   https://ediblethcvapestore.com
Template:     hello-elementor
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:  hello-edible
*/

/* 1. Related Products Swiper Override Styles */
.related.products .related-products-swiper {
    position: relative;
    width: 100%;
}

.related-products-swiper .swiper-slide {
    height: auto;
    display: flex;
    flex-direction: column;
}

/* Ensure WooCommerce product grid elements inside Swiper slides scale correctly */
.related-products-swiper .swiper-slide li.product {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    padding: 15px;
    box-sizing: border-box;
    border: 1px solid #f0f0f0;
    border-radius: 8px;
    background: #fff;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.related-products-swiper .swiper-slide li.product:hover {
    transform: translateY(-4px);
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.08);
    border-color: #e0e0e0;
}

/* Fix Swiper navigation arrow sizing and visual styling */
.related-products-swiper .swiper-button-next::after,
.related-products-swiper .swiper-button-prev::after {
    font-size: 14px !important;
    font-weight: bold;
}

.related-products-swiper .swiper-pagination-bullet-active {
    background: #000 !important;
}

/* Reduce product title size inside related products cards */
.related-products-swiper .swiper-slide li.product .woocommerce-loop-product__title,
.related-products-swiper .swiper-slide li.product .woocommerce-loop-product__title a,
.related-products-swiper .swiper-slide li.product h2,
.related-products-swiper .swiper-slide li.product h2 a,
.related-products-swiper .swiper-slide li.product h3,
.related-products-swiper .swiper-slide li.product h3 a,
.related-products-swiper .swiper-slide li.product .product-title,
.related-products-swiper .swiper-slide li.product a:not(.button) {
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    margin: 8px 0 !important;
    display: block !important;
    text-transform: none !important;
}

/* 2. Remove list dots (bullet points) from related product list items */
.related-products-swiper li,
.related-products-swiper li.product {
    list-style: none !important;
    list-style-type: none !important;
    background-image: none !important; /* prevent any theme bullet backgrounds */
}

.related-products-swiper li::before,
.related-products-swiper li::after,
.related-products-swiper li.product::before,
.related-products-swiper li.product::after {
    content: none !important;
    display: none !important;
}

/* 3. Force uniform image heights for related products */
.related-products-swiper .swiper-slide li.product img {
    height: 200px !important;
    width: 100% !important;
    object-fit: contain !important;
    display: block !important;
    margin: 0 auto !important;
}

/* 4. Global Brand Color Palette Overrides */
:root {
    --primary-color: #0F3D2E;
    --secondary-color: #F4B41A;
    --accent-color: #F46A5A;
    --bg-color: #F9FAFB;
    --card-bg-color: #E5E7EB;
    --text-color: #111827;
}

/* Base Body and Page Backgrounds */
body, 
.site-content, 
.entry-content,
.post-thumbnail,
main.site-main {
    background-color: var(--bg-color) !important;
    color: var(--text-color) !important;
}

/* Text elements & headings high contrast */
h1, h2, h3, h4, h5, h6,
.woocommerce-loop-product__title, 
.woocommerce-loop-product__title a,
.product_title,
.woocommerce-products-header__title {
    color: var(--primary-color) !important;
}

/* Card backgrounds */
.related-products-swiper .swiper-slide li.product,
.product-category,
.card,
.product-card,
li.product.type-product {
    background: var(--card-bg-color) !important;
    border-color: #d1d5db !important;
}

/* Primary Color for Navigation Links and Key Icons */
.main-navigation a, 
.site-header a, 
.elementor-nav-menu a,
a,
.woocommerce-MyAccount-navigation-link a,
.woocommerce-breadcrumb a {
    color: var(--primary-color) !important;
}

.main-navigation a:hover, 
.site-header a:hover, 
.elementor-nav-menu a:hover,
a:hover {
    color: var(--accent-color) !important;
}

/* Primary Color for Main Buttons */
button,
input[type="submit"],
.button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt,
.elementor-button,
.elementor-button-link {
    background-color: var(--primary-color) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 4px !important;
    font-weight: 600 !important;
    transition: all 0.3s ease !important;
}

button:hover,
input[type="submit"]:hover,
.button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce #respond input#submit.alt:hover,
.elementor-button:hover,
.elementor-button-link:hover {
    background-color: var(--accent-color) !important;
    color: #ffffff !important;
}

/* Secondary Color for Sales Flash and Badges */
.woocommerce span.onsale,
.onsale {
    background-color: var(--secondary-color) !important;
    color: #111827 !important;
    font-weight: bold !important;
    border-radius: 4px !important;
    padding: 4px 10px !important;
}

/* Specific high-contrast override for cart & checkout action buttons */
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:link,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:visited,
.woocommerce-checkout .checkout-button,
.woocommerce-checkout #place_order,
.woocommerce-checkout #place_order:link,
.woocommerce-checkout #place_order:visited {
    background-color: var(--primary-color) !important;
    color: #ffffff !important;
    text-decoration: none !important;
    text-shadow: none !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-checkout .checkout-button:hover,
.woocommerce-checkout #place_order:hover {
    background-color: var(--accent-color) !important;
    color: #ffffff !important;
}

/* 5. Sticky Add to Cart Bar */
.sticky-cart-bar {
    position: fixed;
    bottom: -120px;
    left: 0;
    width: 100%;
    background: #ffffff;
    box-shadow: 0 -4px 15px rgba(0,0,0,0.08);
    z-index: 9999;
    padding: 15px 20px;
    box-sizing: border-box;
    transition: bottom 0.4s ease;
    border-top: 1px solid #e5e7eb;
}

.sticky-cart-bar.show {
    bottom: 0;
}

.sticky-cart-container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 15px;
}

.sticky-cart-info {
    display: flex;
    align-items: center;
    gap: 15px;
}

.sticky-cart-thumb {
    width: 45px;
    height: 45px;
    object-fit: contain;
    border-radius: 4px;
    border: 1px solid #e5e7eb;
    background: #f9fafb;
}

.sticky-cart-title {
    margin: 0 0 3px 0;
    font-size: 15px;
    font-weight: 700;
    color: #111827;
}

.sticky-cart-price {
    font-size: 14px;
    color: var(--secondary-color);
    font-weight: bold;
}

.sticky-cart-actions button {
    margin: 0 !important;
    padding: 10px 24px !important;
    font-size: 13px !important;
}

/* 6. Slide-out Side Cart Drawer */
.side-cart-drawer {
    position: fixed;
    top: 0;
    right: -100%;
    width: 100%;
    height: 100%;
    z-index: 100000;
    transition: right 0.4s ease;
}

.side-cart-drawer.open {
    right: 0;
}

.side-cart-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(17, 24, 39, 0.4);
    opacity: 0;
    transition: opacity 0.4s ease;
}

.side-cart-drawer.open .side-cart-overlay {
    opacity: 1;
}

.side-cart-content {
    position: absolute;
    top: 0;
    right: -420px;
    width: 420px;
    max-width: 100%;
    height: 100%;
    background: #ffffff;
    box-shadow: -4px 0 15px rgba(0,0,0,0.08);
    display: flex;
    flex-direction: column;
    transition: right 0.4s ease;
    box-sizing: border-box;
    z-index: 2;
}

.side-cart-drawer.open .side-cart-content {
    right: 0;
}

.side-cart-header {
    padding: 20px;
    border-bottom: 1px solid #e5e7eb;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.side-cart-header h3 {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    color: var(--primary-color) !important;
}

.side-cart-close {
    font-size: 28px;
    cursor: pointer;
    color: #6b7280;
    line-height: 1;
    transition: color 0.3s;
}

.side-cart-close:hover {
    color: var(--accent-color);
}

.side-cart-content .widget_shopping_cart_content {
    padding: 20px;
    flex: 1;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
}

.woocommerce-mini-cart {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.woocommerce-mini-cart-item {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 15px 0;
    border-bottom: 1px solid #e5e7eb;
    position: relative;
    box-sizing: border-box;
}

.woocommerce-mini-cart-item img {
    width: 55px !important;
    height: 55px !important;
    object-fit: contain !important;
    border-radius: 4px;
    border: 1px solid #e5e7eb;
    background: #f9fafb;
}

.woocommerce-mini-cart-item a:not(.remove) {
    color: #111827 !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    text-decoration: none !important;
}

.woocommerce-mini-cart-item a:not(.remove):hover {
    color: var(--primary-color) !important;
}

.woocommerce-mini-cart-item a.remove {
    position: absolute !important;
    top: 15px !important;
    right: 0 !important;
    color: var(--accent-color) !important;
    font-size: 20px !important;
    background: transparent !important;
}

.woocommerce-mini-cart-item a.remove:hover {
    color: #111827 !important;
}

.woocommerce-mini-cart__total {
    padding: 20px 0;
    border-top: 1px solid #e5e7eb;
    display: flex;
    justify-content: space-between;
    font-weight: bold;
    font-size: 16px;
    color: #111827;
    margin-top: auto;
}

.woocommerce-mini-cart__buttons {
    display: flex;
    gap: 12px;
    margin-top: 10px;
}

.woocommerce-mini-cart__buttons a {
    flex: 1;
    text-align: center;
    padding: 12px !important;
    font-size: 13px !important;
    border-radius: 4px !important;
    font-weight: 600 !important;
}

.cart-count-badge {
    background-color: var(--accent-color);
    color: #ffffff;
    font-size: 10px;
    font-weight: bold;
    border-radius: 10px;
    padding: 2px 6px;
    line-height: 1;
    margin-left: 5px;
    display: inline-block;
    vertical-align: middle;
}

/* 7. Pagination Styling to Stand Out */
.woocommerce-pagination {
    text-align: center !important;
    margin: 50px 0 20px 0 !important;
    display: block !important;
    clear: both !important;
}

.woocommerce-pagination ul.page-numbers {
    display: inline-flex !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    gap: 8px !important;
}

.woocommerce-pagination ul.page-numbers li {
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.woocommerce-pagination ul.page-numbers li::before,
.woocommerce-pagination ul.page-numbers li::after {
    content: none !important;
    display: none !important;
}

.woocommerce-pagination ul.page-numbers .page-numbers {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    border: 1px solid #d1d5db !important;
    background-color: #ffffff !important;
    color: #111827 !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    text-decoration: none !important;
    border-radius: 4px !important;
    transition: all 0.3s ease !important;
    box-sizing: border-box !important;
}

.woocommerce-pagination ul.page-numbers .page-numbers.current {
    background-color: var(--primary-color) !important;
    color: #ffffff !important;
    border-color: var(--primary-color) !important;
}

.woocommerce-pagination ul.page-numbers a.page-numbers:hover {
    background-color: var(--secondary-color) !important;
    color: #111827 !important;
    border-color: var(--secondary-color) !important;
}

/* 8. Make Footer 100% Full Width */
html, body {
    overflow-x: hidden !important;
}

.site-footer:not(.dynamic-footer),
#site-footer,
.site-footer {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
}

/* 9. Footer Link High Contrast Colors */
.site-footer a,
.site-footer a:link,
.site-footer a:visited {
    color: #E5E7EB !important;
    text-decoration: none !important;
    transition: color 0.3s ease !important;
}

.site-footer a:hover,
.site-footer a:active,
.site-footer a:focus {
    color: #F4B41A !important;
    text-decoration: none !important;
}

/* 10. WooCommerce Loop Product Title Sizing & Centering overrides */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title a,
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product h2 a,
.woocommerce ul.products li.product h3,
.woocommerce ul.products li.product h3 a,
.elementor-widget-wc-archive-products ul.products li.product h2,
.elementor-widget-wc-archive-products ul.products li.product h2 a,
.elementor-widget-woocommerce-products ul.products li.product h2,
.elementor-widget-woocommerce-products ul.products li.product h2 a,
.elementor-grid li.product h2,
.elementor-grid li.product h2 a,
.elementor-grid li.product h3,
.elementor-grid li.product h3 a,
.products li.product h2,
.products li.product h3,
.products li.product .woocommerce-loop-product__title {
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    margin: 12px auto 8px auto !important;
    height: 44px !important;
    overflow: hidden !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    text-align: center !important;
    text-transform: none !important;
}

/* Force Center Price */
.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price,
.elementor-widget-wc-archive-products ul.products li.product .price,
.elementor-widget-woocommerce-products ul.products li.product .price,
li.product .price {
    display: block !important;
    text-align: center !important;
    margin: 8px auto !important;
    width: 100% !important;
    font-size: 15px !important;
    font-weight: bold !important;
}

/* Force Center Add to Cart Button */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button,
.woocommerce-page ul.products li.product .button,
.woocommerce-page ul.products li.product a.button,
.elementor-widget-wc-archive-products ul.products li.product .button,
.elementor-widget-woocommerce-products ul.products li.product .button,
li.product .button,
li.product a.button,
li.product .added_to_cart {
    display: table !important;
    margin: 15px auto 5px auto !important;
    text-align: center !important;
    float: none !important;
}

/* Force Center Star Ratings */
.woocommerce ul.products li.product .star-rating,
li.product .star-rating {
    margin: 5px auto !important;
    float: none !important;
}

/* 11. Force Uniform Product Image Heights in Loops */
.woocommerce ul.products li.product .woocommerce-loop-product__link img,
.woocommerce ul.products li.product a img,
li.product img,
.products li.product img,
.elementor-widget-wc-archive-products ul.products li.product img,
.elementor-widget-woocommerce-products ul.products li.product img {
    height: 220px !important;
    max-height: 220px !important;
    width: 100% !important;
    object-fit: contain !important;
    background-color: #ffffff !important;
    padding: 10px !important;
    box-sizing: border-box !important;
}

/* 12. Tighter responsive column spacing for WooCommerce loops */
.woocommerce ul.products,
.woocommerce-page ul.products,
.elementor-widget-wc-archive-products ul.products,
.elementor-widget-woocommerce-products ul.products {
    margin: 0 -8px !important;
    display: flex !important;
    flex-wrap: wrap !important;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.elementor-widget-wc-archive-products ul.products li.product,
.elementor-widget-woocommerce-products ul.products li.product,
.elementor-grid li.product,
.products li.product {
    margin: 0 8px 24px 8px !important;
    width: calc(25% - 16px) !important;
    box-sizing: border-box !important;
}

@media (max-width: 991px) {
    .woocommerce ul.products li.product,
    .woocommerce-page ul.products li.product,
    .elementor-grid li.product,
    .products li.product {
        width: calc(33.333% - 16px) !important;
    }
}

@media (max-width: 767px) {
    .woocommerce ul.products li.product,
    .woocommerce-page ul.products li.product,
    .elementor-grid li.product,
    .products li.product {
        width: calc(50% - 16px) !important;
        margin-bottom: 16px !important;
    }
}

/* 13. Homepage Product Loop Sizing Reductions */
body.home .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.home .woocommerce ul.products li.product .woocommerce-loop-product__title a,
body.home .woocommerce ul.products li.product h2,
body.home .woocommerce ul.products li.product h2 a,
body.home .woocommerce ul.products li.product h3,
body.home .woocommerce ul.products li.product h3 a,
body.home .elementor-widget-woocommerce-products ul.products li.product h2,
body.home .elementor-widget-woocommerce-products ul.products li.product h2 a,
body.home .elementor-widget-woocommerce-products ul.products li.product h3,
body.home .elementor-widget-woocommerce-products ul.products li.product h3 a,
body.home .products li.product h2,
body.home .products li.product h3 {
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    height: 42px !important;
    margin: 10px auto 6px auto !important;
}

body.home .woocommerce ul.products li.product .price,
body.home .woocommerce ul.products li.product .price .amount,
body.home li.product .price {
    font-size: 14px !important;
    margin: 6px auto !important;
}

body.home .woocommerce ul.products li.product .button,
body.home .woocommerce ul.products li.product a.button,
body.home li.product .button,
body.home li.product a.button {
    font-size: 11px !important;
    padding: 8px 16px !important;
    margin-top: 10px !important;
    font-weight: bold !important;
}

/* 14. Top Bar Styles */
.site-top-bar {
    background-color: var(--primary-color);
    color: #ffffff;
    padding: 8px 20px;
    font-family: sans-serif;
    font-size: 13px;
    border-bottom: 1px solid #144d3b;
    z-index: 99999;
    position: relative;
    text-align: left;
}

.top-bar-container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

.top-bar-left {
    font-weight: 500;
}

.top-bar-right a {
    color: #ffffff !important;
    text-decoration: none !important;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    transition: color 0.3s ease;
}

.top-bar-right a:hover {
    color: var(--secondary-color) !important;
}

/* 15. Mobile Cart Page Clipping Fixes */
@media (max-width: 767px) {
    .site-top-bar {
        padding: 8px 15px !important;
    }
    .top-bar-container {
        justify-content: center !important;
        text-align: center !important;
    }
    .top-bar-right {
        width: 100% !important;
        justify-content: center !important;
        display: flex !important;
    }
    
    /* Prevent cart elements from getting cut off at screen edges */
    .woocommerce-cart .entry-content,
    .woocommerce-checkout .entry-content,
    .woocommerce-cart #post-7,
    .woocommerce-cart .woocommerce,
    .woocommerce-checkout .woocommerce,
    .elementor-widget-woocommerce-cart,
    .elementor-widget-woocommerce-checkout {
        padding-left: 12px !important;
        padding-right: 12px !important;
        box-sizing: border-box !important;
    }
    
    .woocommerce table.shop_table_responsive tr td {
        padding-left: 10px !important;
        padding-right: 10px !important;
        box-sizing: border-box !important;
    }
}

/* 16. Specific Checkout Button Visibility and Contrast Overrides */
html body .elementor-widget-woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
html body .elementor-widget-woocommerce-cart .wc-proceed-to-checkout a.checkout-button *,
html body .elementor-widget-woocommerce-cart .checkout-button,
html body .elementor-widget-woocommerce-cart .checkout-button *,
html body .woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
html body .woocommerce-cart .wc-proceed-to-checkout a.checkout-button *,
html body .woocommerce-cart .checkout-button,
html body .woocommerce-cart .checkout-button *,
html body .elementor-widget-woocommerce-checkout #place_order,
html body .elementor-widget-woocommerce-checkout #place_order *,
html body .woocommerce-checkout #place_order,
html body .woocommerce-checkout #place_order *,
html body .woocommerce-checkout .checkout-button,
html body .woocommerce-checkout .checkout-button *,
html body .wp-block-woocommerce-cart .wc-block-cart__submit-button,
html body .wp-block-woocommerce-cart .wc-block-cart__submit-button *,
html body .wc-block-cart__submit-button,
html body .wc-block-cart__submit-button *,
html body .wc-block-components-button.wc-block-cart__submit-button,
html body .wc-block-components-button.wc-block-cart__submit-button * {
    background-color: var(--primary-color) !important;
    color: #ffffff !important;
    text-decoration: none !important;
    text-shadow: none !important;
    font-weight: bold !important;
}

html body .elementor-widget-woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
html body .elementor-widget-woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover *,
html body .elementor-widget-woocommerce-checkout #place_order:hover,
html body .elementor-widget-woocommerce-checkout #place_order:hover *,
html body .woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
html body .woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover *,
html body .woocommerce-checkout #place_order:hover,
html body .woocommerce-checkout #place_order:hover *,
html body .wp-block-woocommerce-cart .wc-block-cart__submit-button:hover,
html body .wp-block-woocommerce-cart .wc-block-cart__submit-button:hover *,
html body .wc-block-cart__submit-button:hover,
html body .wc-block-cart__submit-button:hover * {
    background-color: var(--accent-color) !important;
    color: #ffffff !important;
    text-decoration: none !important;
}

/* 17. Homepage Product Cards Shop Alignment */
body.home .woocommerce ul.products li.product,
body.home .elementor-widget-woocommerce-products ul.products li.product,
body.home li.product {
    background: var(--card-bg-color) !important;
    border: 1px solid #d1d5db !important;
    border-radius: 4px !important;
    padding: 0 0 15px 0 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05) !important;
}

body.home .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.home .woocommerce ul.products li.product h2,
body.home .woocommerce ul.products li.product h3,
body.home li.product h2,
body.home li.product h3 {
    padding: 0 12px !important;
    text-transform: none !important; /* Force mixed-case sentences/titles on homepage */
}

body.home .woocommerce ul.products li.product .price,
body.home li.product .price {
    padding: 0 12px !important;
}

/* Hide WooCommerce categories/metadata inside loop cards on all pages */
.woocommerce ul.products li.product .posted_in,
.woocommerce ul.products li.product .product-categories,
.woocommerce ul.products li.product .category,
.woocommerce ul.products li.product .woocommerce-loop-product__category,
body.home .woocommerce ul.products li.product .woocommerce-loop-product__category,
body.home li.product .woocommerce-loop-product__category,
body.home li.product .posted_in {
    display: none !important;
}

/* 18. Homepage Manually Built Featured Products Cards Alignment */
body.home section[data-id="01e8963"] .elementor-column-wrap,
body.home section[data-id="01e8963"] .elementor-widget-wrap,
body.home section[data-id="0e390da"] .elementor-column-wrap,
body.home section[data-id="0e390da"] .elementor-widget-wrap,
body.home section[data-id="d369f57"] .elementor-column-wrap,
body.home section[data-id="d369f57"] .elementor-widget-wrap {
    background: var(--card-bg-color) !important;
    border: 1px solid #d1d5db !important;
    border-radius: 4px !important;
    padding: 0 0 15px 0 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05) !important;
    box-sizing: border-box !important;
}

/* Format Image block inside manual cards */
body.home section[data-id="01e8963"] .elementor-column .elementor-widget-image,
body.home section[data-id="0e390da"] .elementor-column .elementor-widget-image,
body.home section[data-id="d369f57"] .elementor-column .elementor-widget-image {
    background-color: #ffffff !important;
    padding: 10px !important;
    box-sizing: border-box !important;
    height: 220px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
}

body.home section[data-id="01e8963"] .elementor-column .elementor-widget-image img,
body.home section[data-id="0e390da"] .elementor-column .elementor-widget-image img,
body.home section[data-id="d369f57"] .elementor-column .elementor-widget-image img {
    height: 200px !important;
    max-height: 200px !important;
    width: auto !important;
    object-fit: contain !important;
}

/* Format Heading Title inside manual cards */
body.home section[data-id="01e8963"] .elementor-column .elementor-widget-heading,
body.home section[data-id="0e390da"] .elementor-column .elementor-widget-heading,
body.home section[data-id="d369f57"] .elementor-column .elementor-widget-heading {
    margin: 12px auto 8px auto !important;
    padding: 0 12px !important;
    text-align: center !important;
    text-transform: none !important;
}

body.home section[data-id="01e8963"] .elementor-column .elementor-widget-heading h2,
body.home section[data-id="01e8963"] .elementor-column .elementor-widget-heading h3,
body.home section[data-id="0e390da"] .elementor-column .elementor-widget-heading h2,
body.home section[data-id="0e390da"] .elementor-column .elementor-widget-heading h3,
body.home section[data-id="d369f57"] .elementor-column .elementor-widget-heading h2,
body.home section[data-id="d369f57"] .elementor-column .elementor-widget-heading h3 {
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    height: 32px !important;
    overflow: hidden !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    color: var(--primary-color) !important;
    text-align: center !important;
    margin: 0 !important;
}


/* Hide the Category Text Block (Widget 3) inside manual cards */
body.home section[data-id="01e8963"] .elementor-column .elementor-widget-text-editor:nth-of-type(1),
body.home section[data-id="0e390da"] .elementor-column .elementor-widget-text-editor:nth-of-type(1),
body.home section[data-id="d369f57"] .elementor-column .elementor-widget-text-editor:nth-of-type(1) {
    display: none !important;
}

/* Format Price Text Block (Widget 4) inside manual cards */
body.home section[data-id="01e8963"] .elementor-column .elementor-widget-text-editor:nth-of-type(2),
body.home section[data-id="0e390da"] .elementor-column .elementor-widget-text-editor:nth-of-type(2),
body.home section[data-id="d369f57"] .elementor-column .elementor-widget-text-editor:nth-of-type(2) {
    margin: 8px auto !important;
    padding: 0 12px !important;
    text-align: center !important;
    display: block !important;
}

body.home section[data-id="01e8963"] .elementor-column .elementor-widget-text-editor:nth-of-type(2) p,
body.home section[data-id="01e8963"] .elementor-column .elementor-widget-text-editor:nth-of-type(2) span,
body.home section[data-id="0e390da"] .elementor-column .elementor-widget-text-editor:nth-of-type(2) p,
body.home section[data-id="0e390da"] .elementor-column .elementor-widget-text-editor:nth-of-type(2) span,
body.home section[data-id="d369f57"] .elementor-column .elementor-widget-text-editor:nth-of-type(2) p,
body.home section[data-id="d369f57"] .elementor-column .elementor-widget-text-editor:nth-of-type(2) span {
    font-size: 14px !important;
    font-weight: bold !important;
    color: var(--secondary-color) !important;
    margin: 0 !important;
}

/* Format Add to Cart button (Widget 5) inside manual cards */
body.home section[data-id="01e8963"] .elementor-column .elementor-widget-button,
body.home section[data-id="0e390da"] .elementor-column .elementor-widget-button,
body.home section[data-id="d369f57"] .elementor-column .elementor-widget-button {
    margin: 15px auto 5px auto !important;
    text-align: center !important;
    width: auto !important;
    display: table !important;
}

body.home section[data-id="01e8963"] .elementor-column .elementor-widget-button .elementor-button,
body.home section[data-id="0e390da"] .elementor-column .elementor-widget-button .elementor-button,
body.home section[data-id="d369f57"] .elementor-column .elementor-widget-button .elementor-button {
    font-size: 11px !important;
    padding: 8px 16px !important;
    font-weight: bold !important;
    text-transform: none !important;
}















/* 19. Mega Menu 3-Column Dropdown Styles */
li.mega-menu-3col,
.elementor-nav-menu li.mega-menu-3col {
    position: relative !important;
}

/* Format the dropdown ul to a 3-column grid container (hidden by default) */
li.mega-menu-3col > ul.sub-menu,
.elementor-nav-menu li.mega-menu-3col > ul.sub-menu {
    display: none !important;
    width: 680px !important;
    max-width: 95vw !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 8px 16px !important;
    padding: 24px !important;
    background-color: #ffffff !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 6px !important;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.05) !important;
    position: absolute !important;
    top: 100% !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    box-sizing: border-box !important;
    z-index: 999999 !important;
}

/* Display as grid only on hover or active states */
li.mega-menu-3col:hover > ul.sub-menu,
li.mega-menu-3col:focus-within > ul.sub-menu,
.elementor-nav-menu li.mega-menu-3col:hover > ul.sub-menu,
.elementor-nav-menu li.mega-menu-3col.elementor-active-item > ul.sub-menu {
    display: grid !important;
}


/* Override standard list items inside the mega menu grid */
li.mega-menu-3col > ul.sub-menu li,
.elementor-nav-menu li.mega-menu-3col > ul.sub-menu li {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    display: block !important;
}

/* Styling of sub-item links */
li.mega-menu-3col > ul.sub-menu li a,
.elementor-nav-menu li.mega-menu-3col > ul.sub-menu li a {
    font-size: 13px !important;
    font-weight: 500 !important;
    color: var(--primary-color) !important;
    padding: 8px 10px !important;
    display: block !important;
    border-radius: 4px !important;
    transition: all 0.2s ease !important;
    text-align: left !important;
    border: none !important;
    background: transparent !important;
}

li.mega-menu-3col > ul.sub-menu li a:hover,
.elementor-nav-menu li.mega-menu-3col > ul.sub-menu li a:hover {
    background-color: #f3f4f6 !important;
    color: var(--accent-color) !important;
    padding-left: 14px !important; /* Subtle slide micro-animation on hover */
}

/* Ensure responsiveness on small screens */
@media (max-width: 991px) {
    li.mega-menu-3col > ul.sub-menu,
    .elementor-nav-menu li.mega-menu-3col > ul.sub-menu {
        width: 100% !important;
        position: static !important;
        transform: none !important;
        display: block !important; /* Stack vertically on tablet/mobile menu */
        box-shadow: none !important;
        border: none !important;
        padding: 10px 15px !important;
        background: transparent !important;
    }
    
    li.mega-menu-3col > ul.sub-menu li a,
    .elementor-nav-menu li.mega-menu-3col > ul.sub-menu li a {
        padding-left: 15px !important;
    }
}

/* 20. WooCommerce Product Single Page Tabs Styling */
.woocommerce div.product .woocommerce-tabs ul.tabs {
    border-bottom: 2px solid var(--primary-color) !important;
    padding-left: 0 !important;
    margin: 0 0 30px 0 !important;
    background: transparent !important;
    display: flex !important;
    gap: 5px !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::after {
    content: none !important;
    display: none !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
    background-color: #f3f4f6 !important;
    border: 1px solid #d1d5db !important;
    border-bottom: none !important;
    border-radius: 4px 4px 0 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    transition: all 0.3s ease !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    color: var(--text-color) !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    padding: 12px 24px !important;
    display: block !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li:hover {
    background-color: #e5e7eb !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li:hover a {
    color: var(--primary-color) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
    background-color: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    color: #ffffff !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active:hover {
    background-color: var(--primary-color) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active:hover a {
    color: #ffffff !important;
}

.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel {
    padding: 25px !important;
    background-color: #ffffff !important;
    border: 1px solid #e5e7eb !important;
    border-top: none !important;
    border-radius: 0 0 6px 6px !important;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02), 0 2px 4px -1px rgba(0,0,0,0.01) !important;
}

body.home section[data-id="0e390da"] .elementor-column .elementor-widget-text-editor:nth-of-type(2) span,
body.home section[data-id="d369f57"] .elementor-column .elementor-widget-text-editor:nth-of-type(2) p,
body.home section[data-id="d369f57"] .elementor-column .elementor-widget-text-editor:nth-of-type(2) span {
    font-size: 14px !important;
    font-weight: bold !important;
    color: var(--secondary-color) !important;
    margin: 0 !important;
}

/* Format Add to Cart button (Widget 5) inside manual cards */
body.home section[data-id="01e8963"] .elementor-column .elementor-widget-button,
body.home section[data-id="0e390da"] .elementor-column .elementor-widget-button,
body.home section[data-id="d369f57"] .elementor-column .elementor-widget-button {
    margin: 15px auto 5px auto !important;
    text-align: center !important;
    width: auto !important;
    display: table !important;
}

body.home section[data-id="01e8963"] .elementor-column .elementor-widget-button .elementor-button,
body.home section[data-id="0e390da"] .elementor-column .elementor-widget-button .elementor-button,
body.home section[data-id="d369f57"] .elementor-column .elementor-widget-button .elementor-button {
    font-size: 11px !important;
    padding: 8px 16px !important;
    font-weight: bold !important;
    text-transform: none !important;
}















/* 19. Mega Menu 3-Column Dropdown Styles */
li.mega-menu-3col,
.elementor-nav-menu li.mega-menu-3col {
    position: relative !important;
}

/* Format the dropdown ul to a 3-column grid container (hidden by default) */
li.mega-menu-3col > ul.sub-menu,
.elementor-nav-menu li.mega-menu-3col > ul.sub-menu {
    display: none !important;
    width: 680px !important;
    max-width: 95vw !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 8px 16px !important;
    padding: 24px !important;
    background-color: #ffffff !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 6px !important;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.05) !important;
    position: absolute !important;
    top: 100% !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    box-sizing: border-box !important;
    z-index: 999999 !important;
}

/* Display as grid only on hover or active states */
li.mega-menu-3col:hover > ul.sub-menu,
li.mega-menu-3col:focus-within > ul.sub-menu,
.elementor-nav-menu li.mega-menu-3col:hover > ul.sub-menu,
.elementor-nav-menu li.mega-menu-3col.elementor-active-item > ul.sub-menu {
    display: grid !important;
}


/* Override standard list items inside the mega menu grid */
li.mega-menu-3col > ul.sub-menu li,
.elementor-nav-menu li.mega-menu-3col > ul.sub-menu li {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    display: block !important;
}

/* Styling of sub-item links */
li.mega-menu-3col > ul.sub-menu li a,
.elementor-nav-menu li.mega-menu-3col > ul.sub-menu li a {
    font-size: 13px !important;
    font-weight: 500 !important;
    color: var(--primary-color) !important;
    padding: 8px 10px !important;
    display: block !important;
    border-radius: 4px !important;
    transition: all 0.2s ease !important;
    text-align: left !important;
    border: none !important;
    background: transparent !important;
}

li.mega-menu-3col > ul.sub-menu li a:hover,
.elementor-nav-menu li.mega-menu-3col > ul.sub-menu li a:hover {
    background-color: #f3f4f6 !important;
    color: var(--accent-color) !important;
    padding-left: 14px !important; /* Subtle slide micro-animation on hover */
}

/* Ensure responsiveness on small screens */
@media (max-width: 991px) {
    li.mega-menu-3col > ul.sub-menu,
    .elementor-nav-menu li.mega-menu-3col > ul.sub-menu {
        width: 100% !important;
        position: static !important;
        transform: none !important;
        display: block !important; /* Stack vertically on tablet/mobile menu */
        box-shadow: none !important;
        border: none !important;
        padding: 10px 15px !important;
        background: transparent !important;
    }
    
    li.mega-menu-3col > ul.sub-menu li a,
    .elementor-nav-menu li.mega-menu-3col > ul.sub-menu li a {
        padding-left: 15px !important;
    }
}

/* 20. WooCommerce Product Single Page Tabs Styling */
.woocommerce div.product .woocommerce-tabs ul.tabs {
    border-bottom: 2px solid var(--primary-color) !important;
    padding-left: 0 !important;
    margin: 0 0 30px 0 !important;
    background: transparent !important;
    display: flex !important;
    gap: 5px !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::after {
    content: none !important;
    display: none !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
    background-color: #f3f4f6 !important;
    border: 1px solid #d1d5db !important;
    border-bottom: none !important;
    border-radius: 4px 4px 0 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    transition: all 0.3s ease !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    color: var(--text-color) !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    padding: 12px 24px !important;
    display: block !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li:hover {
    background-color: #e5e7eb !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li:hover a {
    color: var(--primary-color) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
    background-color: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    color: #ffffff !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active:hover {
    background-color: var(--primary-color) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active:hover a {
    color: #ffffff !important;
}

.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel {
    padding: 25px !important;
    background-color: #ffffff !important;
    border: 1px solid #e5e7eb !important;
    border-top: none !important;
    border-radius: 0 0 6px 6px !important;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02), 0 2px 4px -1px rgba(0,0,0,0.01) !important;
}

/* 21. Mobile Cart Page Columns Clipping Resets */
@media (max-width: 767px) {
    /* Reset WordPress wide-alignment negative margin hack on mobile */
    html body .wp-block-woocommerce-cart.alignwide,
    html body .alignwide {
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    /* Clear parent side gutters to let internal blocks control margin/padding safely */
    html body .wp-block-woocommerce-cart,
    html body .wc-block-cart,
    .woocommerce-cart .woocommerce {
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    /* Force all inner wrappers to full width and clear any native side offsets */
    .woocommerce-cart .woocommerce-cart-form,
    .woocommerce-cart .cart-collaterals,
    .woocommerce-cart .cart-collaterals .cart_totals,
    .woocommerce-cart .cart_totals,
    .woocommerce-cart table.shop_table,
    .woocommerce-cart .shop_table_responsive,
    .elementor-widget-woocommerce-cart .woocommerce-cart-form,
    .elementor-widget-woocommerce-cart .cart-collaterals,
    .elementor-widget-woocommerce-cart .cart_totals,
    html body .wp-block-woocommerce-cart .wc-block-components-sidebar-layout,
    html body .wp-block-woocommerce-cart .wc-block-components-sidebar,
    html body .wp-block-woocommerce-cart .wc-block-cart__sidebar,
    html body .wp-block-woocommerce-cart .wc-block-cart__items-block,
    html body .wc-block-components-sidebar-layout,
    html body .wc-block-components-sidebar,
    html body .wc-block-cart__sidebar,
    html body .wc-block-cart__items-block {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        float: none !important;
        box-sizing: border-box !important;
    }
    
    /* Force high-priority block layout and side padding on the items and sidebar columns */
    html body .wc-block-cart__items-block {
        padding-left: 20px !important;
        padding-right: 20px !important;
        box-sizing: border-box !important;
    }

    html body .wc-block-components-sidebar-layout .wc-block-components-sidebar,
    html body .wp-block-woocommerce-cart .wc-block-components-sidebar,
    html body .wc-block-components-sidebar,
    html body .wc-block-cart__sidebar {
        display: block !important; /* Overrides any display: contents container query styles */
        padding-left: 20px !important;
        padding-right: 20px !important;
        box-sizing: border-box !important;
    }

    /* Reset child paddings/margins inside sidebar to align cleanly with the 20px sidebar gutter */
    html body .wc-block-components-sidebar > *,
    html body .wc-block-cart__sidebar > *,
    html body .wp-block-woocommerce-cart-totals-block > *,
    html body .wc-block-components-totals-coupon,
    html body .wc-block-components-totals-item,
    html body .wp-block-woocommerce-cart-order-summary-block,
    html body .wc-block-cart__payment-options,
    html body .wc-block-cart__submit {
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }
    
    /* Layout stacking */
    html body .wc-block-components-sidebar-layout {
        display: flex !important;
        flex-direction: column !important;
        gap: 24px !important;
        padding: 0 !important;
    }
    
    /* Ensure checkout button and totals elements scale inside the box */
    .woocommerce-cart .cart_totals table,
    .woocommerce-cart .cart_totals table tbody,
    .woocommerce-cart .cart_totals table tr,
    .woocommerce-cart .cart_totals table td,
    .woocommerce-cart .wc-proceed-to-checkout,
    background: transparent !important;
}

li.mega-menu-3col > ul.sub-menu li a:hover,
.elementor-nav-menu li.mega-menu-3col > ul.sub-menu li a:hover {
    background-color: #f3f4f6 !important;
    color: var(--accent-color) !important;
    padding-left: 14px !important; /* Subtle slide micro-animation on hover */
}

/* Ensure responsiveness on small screens */
@media (max-width: 991px) {
    li.mega-menu-3col > ul.sub-menu,
    .elementor-nav-menu li.mega-menu-3col > ul.sub-menu {
        width: 100% !important;
        position: static !important;
        transform: none !important;
        display: block !important; /* Stack vertically on tablet/mobile menu */
        box-shadow: none !important;
        border: none !important;
        padding: 10px 15px !important;
        background: transparent !important;
    }
    
    li.mega-menu-3col > ul.sub-menu li a,
    .elementor-nav-menu li.mega-menu-3col > ul.sub-menu li a {
        padding-left: 15px !important;
    }
}

/* 20. WooCommerce Product Single Page Tabs Styling */
.woocommerce div.product .woocommerce-tabs ul.tabs {
    border-bottom: 2px solid var(--primary-color) !important;
    padding-left: 0 !important;
    margin: 0 0 30px 0 !important;
    background: transparent !important;
    display: flex !important;
    gap: 5px !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::after {
    content: none !important;
    display: none !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
    background-color: #f3f4f6 !important;
    border: 1px solid #d1d5db !important;
    border-bottom: none !important;
    border-radius: 4px 4px 0 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    transition: all 0.3s ease !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    color: var(--text-color) !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    padding: 12px 24px !important;
    display: block !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li:hover {
    background-color: #e5e7eb !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li:hover a {
    color: var(--primary-color) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
    background-color: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    color: #ffffff !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active:hover {
    background-color: var(--primary-color) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active:hover a {
    color: #ffffff !important;
}

.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel {
    padding: 25px !important;
    background-color: #ffffff !important;
    border: 1px solid #e5e7eb !important;
    border-top: none !important;
    border-radius: 0 0 6px 6px !important;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02), 0 2px 4px -1px rgba(0,0,0,0.01) !important;
}

/* 21. Mobile Cart Page Columns Clipping Resets */
@media (max-width: 767px) {
    /* Reset WordPress wide-alignment negative margin hack on mobile */
    html body .wp-block-woocommerce-cart.alignwide,
    html body .alignwide {
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    /* Clear parent side gutters to let internal blocks control margin/padding safely */
    html body .wp-block-woocommerce-cart,
    html body .wc-block-cart,
    .woocommerce-cart .woocommerce {
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    /* Force all inner wrappers to full width and clear any native side offsets */
    .woocommerce-cart .woocommerce-cart-form,
    .woocommerce-cart .cart-collaterals,
    .woocommerce-cart .cart-collaterals .cart_totals,
    .woocommerce-cart .cart_totals,
    .woocommerce-cart table.shop_table,
    .woocommerce-cart .shop_table_responsive,
    .elementor-widget-woocommerce-cart .woocommerce-cart-form,
    .elementor-widget-woocommerce-cart .cart-collaterals,
    .elementor-widget-woocommerce-cart .cart_totals,
    html body .wp-block-woocommerce-cart .wc-block-components-sidebar-layout,
    html body .wp-block-woocommerce-cart .wc-block-components-sidebar,
    html body .wp-block-woocommerce-cart .wc-block-cart__sidebar,
    html body .wp-block-woocommerce-cart .wc-block-cart__items-block,
    html body .wc-block-components-sidebar-layout,
    html body .wc-block-components-sidebar,
    html body .wc-block-cart__sidebar,
    html body .wc-block-cart__items-block {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        float: none !important;
        box-sizing: border-box !important;
    }
    
    /* Force high-priority block layout and side padding on the items and sidebar columns */
    html body .wc-block-cart__items-block {
        padding-left: 20px !important;
        padding-right: 20px !important;
        box-sizing: border-box !important;
    }

    html body .wc-block-components-sidebar-layout .wc-block-components-sidebar,
    html body .wp-block-woocommerce-cart .wc-block-components-sidebar,
    html body .wc-block-components-sidebar,
    html body .wc-block-cart__sidebar {
        display: block !important; /* Overrides any display: contents container query styles */
        padding-left: 20px !important;
        padding-right: 20px !important;
        box-sizing: border-box !important;
    }

    /* Reset child paddings/margins inside sidebar to align cleanly with the 20px sidebar gutter */
    html body .wc-block-components-sidebar > *,
    html body .wc-block-cart__sidebar > *,
    html body .wp-block-woocommerce-cart-totals-block > *,
    html body .wc-block-components-totals-coupon,
    html body .wc-block-components-totals-item,
    html body .wp-block-woocommerce-cart-order-summary-block,
    html body .wc-block-cart__payment-options,
    html body .wc-block-cart__submit {
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }
    
    /* Layout stacking */
    html body .wc-block-components-sidebar-layout {
        display: flex !important;
        flex-direction: column !important;
        gap: 24px !important;
        padding: 0 !important;
    }
    
    /* Ensure checkout button and totals elements scale inside the box */
    .woocommerce-cart .cart_totals table,
    .woocommerce-cart .cart_totals table tbody,
    .woocommerce-cart .cart_totals table tr,
    .woocommerce-cart .cart_totals table td,
    .woocommerce-cart .wc-proceed-to-checkout,
    .woocommerce-cart a.checkout-button,
    .elementor-widget-woocommerce-cart .wc-proceed-to-checkout,
    .elementor-widget-woocommerce-cart a.checkout-button,
    html body .wc-block-cart__submit-container,
    html body .wc-block-cart__submit-button {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }
}

/* 22. Site Custom Logo Dimensions Optimization */
.custom-logo-link img,
.site-header .custom-logo-link img,
.site-logo img,
a.custom-logo-link img,
.elementor-widget-theme-site-logo img {
    max-height: 48px !important;
    height: 48px !important;
    width: auto !important;
    transition: all 0.3s ease !important;
}

@media (max-width: 767px) {
        padding-left: 15px !important;
    }
}

/* 20. WooCommerce Product Single Page Tabs Styling */
.woocommerce div.product .woocommerce-tabs ul.tabs {
    border-bottom: 2px solid var(--primary-color) !important;
    padding-left: 0 !important;
    margin: 0 0 30px 0 !important;
    background: transparent !important;
    display: flex !important;
    gap: 5px !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::after {
    content: none !important;
    display: none !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
    background-color: #f3f4f6 !important;
    border: 1px solid #d1d5db !important;
    border-bottom: none !important;
    border-radius: 4px 4px 0 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    transition: all 0.3s ease !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    color: var(--text-color) !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    padding: 12px 24px !important;
    display: block !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li:hover {
    background-color: #e5e7eb !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li:hover a {
    color: var(--primary-color) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
    background-color: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    color: #ffffff !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active:hover {
    background-color: var(--primary-color) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active:hover a {
    color: #ffffff !important;
}

.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel {
    padding: 25px !important;
    background-color: #ffffff !important;
    border: 1px solid #e5e7eb !important;
    border-top: none !important;
    border-radius: 0 0 6px 6px !important;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02), 0 2px 4px -1px rgba(0,0,0,0.01) !important;
}

/* 21. Mobile Cart Page Columns Clipping Resets */
@media (max-width: 767px) {
    /* Reset WordPress wide-alignment negative margin hack on mobile */
    html body .wp-block-woocommerce-cart.alignwide,
    html body .alignwide {
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    /* Clear parent side gutters to let internal blocks control margin/padding safely */
    html body .wp-block-woocommerce-cart,
    html body .wc-block-cart,
    .woocommerce-cart .woocommerce {
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    /* Force all inner wrappers to full width and clear any native side offsets */
    .woocommerce-cart .woocommerce-cart-form,
    .woocommerce-cart .cart-collaterals,
    .woocommerce-cart .cart-collaterals .cart_totals,
    .woocommerce-cart .cart_totals,
    .woocommerce-cart table.shop_table,
    .woocommerce-cart .shop_table_responsive,
    .elementor-widget-woocommerce-cart .woocommerce-cart-form,
    .elementor-widget-woocommerce-cart .cart-collaterals,
    .elementor-widget-woocommerce-cart .cart_totals,
    html body .wp-block-woocommerce-cart .wc-block-components-sidebar-layout,
    html body .wp-block-woocommerce-cart .wc-block-components-sidebar,
    html body .wp-block-woocommerce-cart .wc-block-cart__sidebar,
    html body .wp-block-woocommerce-cart .wc-block-cart__items-block,
    html body .wc-block-components-sidebar-layout,
    html body .wc-block-components-sidebar,
    html body .wc-block-cart__sidebar,
    html body .wc-block-cart__items-block {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        float: none !important;
        box-sizing: border-box !important;
    }
    
    /* Force high-priority block layout and side padding on the items and sidebar columns */
    html body .wc-block-cart__items-block {
        padding-left: 20px !important;
        padding-right: 20px !important;
        box-sizing: border-box !important;
    }

    html body .wc-block-components-sidebar-layout .wc-block-components-sidebar,
    html body .wp-block-woocommerce-cart .wc-block-components-sidebar,
    html body .wc-block-components-sidebar,
    html body .wc-block-cart__sidebar {
        display: block !important; /* Overrides any display: contents container query styles */
        padding-left: 20px !important;
        padding-right: 20px !important;
        box-sizing: border-box !important;
    }

    /* Reset child paddings/margins inside sidebar to align cleanly with the 20px sidebar gutter */
    html body .wc-block-components-sidebar > *,
    html body .wc-block-cart__sidebar > *,
    html body .wp-block-woocommerce-cart-totals-block > *,
    html body .wc-block-components-totals-coupon,
    html body .wc-block-components-totals-item,
    html body .wp-block-woocommerce-cart-order-summary-block,
    html body .wc-block-cart__payment-options,
    html body .wc-block-cart__submit {
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }
    
    /* Layout stacking */
    html body .wc-block-components-sidebar-layout {
        display: flex !important;
        flex-direction: column !important;
        gap: 24px !important;
        padding: 0 !important;
    }
    
    /* Ensure checkout button and totals elements scale inside the box */
    .woocommerce-cart .cart_totals table,
    .woocommerce-cart .cart_totals table tbody,
    .woocommerce-cart .cart_totals table tr,
    .woocommerce-cart .cart_totals table td,
    .woocommerce-cart .wc-proceed-to-checkout,
    .woocommerce-cart a.checkout-button,
    .elementor-widget-woocommerce-cart .wc-proceed-to-checkout,
    .elementor-widget-woocommerce-cart a.checkout-button,
    html body .wc-block-cart__submit-container,
    html body .wc-block-cart__submit-button {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }
}

/* 22. Site Custom Logo Dimensions Optimization */
.custom-logo-link img,
.site-header .custom-logo-link img,
.site-logo img,
a.custom-logo-link img,
.elementor-widget-theme-site-logo img {
    max-height: 48px !important;
    height: 48px !important;
    width: auto !important;
    transition: all 0.3s ease !important;
}

@media (max-width: 767px) {
    .custom-logo-link img,
    .site-header .custom-logo-link img,
    .site-logo img,
    a.custom-logo-link img,
    .elementor-widget-theme-site-logo img {
        max-height: 38px !important;
        height: 38px !important;
    }
}

/* 23. Bold Navigation Menu Items */
.site-header nav a,
.site-header .elementor-nav-menu a,
.elementor-nav-menu--main a.elementor-item,
.elementor-nav-menu--main .elementor-item,
.elementor-widget-nav-menu a.elementor-item {
    font-weight: 700 !important;
}

/* 24. Classic WooCommerce Checkout Page Custom Styling */
.woocommerce-checkout #payment #place_order,
.woocommerce-checkout input[type="submit"]#place_order {
    background-color: var(--primary-color) !important;
    color: #ffffff !important;
    border-radius: 4px !important;
    font-weight: 700 !important;
    padding: 12px 24px !important;
    font-size: 16px !important;
    border: none !important;
    text-transform: uppercase !important;
    transition: all 0.3s ease !important;
    cursor: pointer !important;
}

.woocommerce-checkout #payment #place_order:hover,
.woocommerce-checkout input[type="submit"]#place_order:hover {
    background-color: var(--accent-color) !important;
    color: #ffffff !important;
}

.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout #order_review_heading {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: var(--primary-color) !important;
    border-bottom: 2px solid var(--primary-color) !important;
    padding-bottom: 8px !important;
    margin-bottom: 20px !important;
}

