/**
Theme Name: Twenty Twenty-Five
Theme URI: https://wordpress.org/themes/twentytwentyfive/
Author: the WordPress team
Author URI: https://wordpress.org
Description: Twenty Twenty-Five emphasizes simplicity and adaptability. It offers flexible design options, supported by a variety of patterns for different page types, such as services and landing pages, making it ideal for building personal blogs, professional portfolios, online magazines, or business websites. Its templates cater to various blog styles, from text-focused to image-heavy layouts. Additionally, it supports international typography and diverse color palettes, ensuring accessibility and customization for users worldwide.
Requires at least: 6.7
Tested up to: 6.9
Requires PHP: 7.2
Version: 1.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: twentytwentyfive
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, style-variations, accessibility-ready, blog, portfolio, news
*/

/*
 * IMPORTANT: This file is only served on the frontend when `SCRIPT_DEBUG` is enabled;
 * in most instances, the `style.min.css` file will be served. It is not recommended that you
 * use the Theme File Editor to modify this stylesheet. Instead, add the necessary style
 * overrides via "Additional CSS" in the Site Editor.
 */

/*
 * Link styles
 * https://github.com/WordPress/gutenberg/issues/42319
*/


.cat-total {
    display: none;
}

.elementor-widget-woocommerce-breadcrumb .elementor-widget-container .teapoz-woocommerce-title {
    opacity: 0;
}

/* Define the font-face for Luxia fonts */
@font-face {
    font-family: 'Luxia-Regular';
    src: url('../../../Luxia-Regular.html') format('woff2'),
        url('../../../Luxia-Regular-2.html') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Luxia-Semi-Bold';
    src: url('../../../Luxia-Semi-Bold.html') format('woff2'),
        url('../../../Luxia-Semi-Bold-2.html') format('woff');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'Luxia-Semi-BoldDisplay';
    src: url('../../../Luxia-Semi-BoldDisplay.html') format('woff2'),
        url('../../../Luxia-Semi-BoldDisplay-2.html') format('woff');
    font-weight: 600;
    font-style: normal;
}

/* Apply the fonts to body and headings with !important to enforce */
body {
    font-family: 'Luxia-Regular', sans-serif !important;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Luxia-Regular', sans-serif !important;
    letter-spacing: 1px !important;
}


.wc-block-grid__product-onsale,
.onsale,
.stock-label {
    background: #379e19 !important;
}

strong,
b {
    font-family: 'Luxia-Semi-BoldDisplay', sans-serif !important;
}

p {
    font-family: 'Luxia-Regular', sans-serif !important;
}

/* Additional CSS for any specific elements */
a {
    font-family: 'Luxia-Regular', sans-serif !important;
}


.woocommerce-Tabs-panel--additional_information panel li,
.woocommerce-Tabs-panel--description li {
    margin-bottom: 25px;
}



.woocs_special_price_code {
    display: inline !important;
}

.woocs_special_price_code .tax_label {
    display: none;
}




.menu-item-7001>a {
    background-color: #f5f5f5;
    /* Light background */
    color: #000;
    /* Dark text */
    font-weight: bold;
    border-radius: 5px;
    padding: 6px 12px;
}

/* --- Complete Redesign: Vertical Gallery Left, Main Image Right --- */
.teapoz-product-pagination-wrap {
    display: none !important;
}

/* Main Wrapper */
.content-single-wrapper {
    display: flex !important;
    align-items: flex-start;
    justify-content: space-between;
    gap: 40px;
    margin: 40px auto;
    padding: 30px;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}

/* Gallery Section (Left Side) */
#wpgs-gallery.wcgs-woocommerce-product-gallery {
    width: 45% !important;
    min-width: 45% !important;
    max-width: 45% !important;
    display: flex !important;
    flex-direction: row !important;
    /* Thumbnails left, main right */
    gap: 15px;
    align-items: flex-start;
}

/* Thumbnails Wrapper (Far Left) */
#wpgs-gallery .gallery-navigation-carousel-wrapper {
    width: 80px !important;
    min-width: 80px !important;
    margin: 0 !important;
    height: 500px !important;
    /* Fixed height for vertical scroll/slide */
    position: relative;
    overflow: hidden;
    float: none !important;
}

/* Ensure Thumbnail Swiper is vertical */
#wpgs-gallery .gallery-navigation-carousel .spswiper-wrapper {
    flex-direction: column !important;
    gap: 10px;
}

#wpgs-gallery .wcgs-thumb {
    width: 80px !important;
    height: 80px !important;
    margin: 0 !important;
    border: 2px solid #eaeaea !important;
    border-radius: 6px !important;
    overflow: hidden;
    cursor: pointer;
    transition: all 0.3s ease;
    background: #fafafa;
}

#wpgs-gallery .wcgs-thumb.spswiper-slide-thumb-active,
#wpgs-gallery .wcgs-thumb:hover {
    border-color: #379e19 !important;
    box-shadow: 0 4px 10px rgba(55, 158, 25, 0.15);
}

#wpgs-gallery .wcgs-thumb img,
#wpgs-gallery .wcgs-thumb picture img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain;
    mix-blend-mode: multiply;
}

/* Removing the weird border element */
.wcgs-border-bottom {
    display: none !important;
}

/* Main Image Wrapper (Right side of gallery) */
#wpgs-gallery .wcgs-carousel {
    flex: 1 1 auto;
    width: calc(100% - 95px) !important;
    background: #f9f9f9;
    border-radius: 8px;
    border: 1px solid #f1f1f1;
    overflow: hidden;
    position: relative;
    float: none !important;
}

.wcgs-carousel .wcgs-slider-image {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px;
    height: 500px;
}

.wcgs-carousel .wcgs-slider-image-tag {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    mix-blend-mode: multiply;
    transition: transform 0.4s ease;
}

.wcgs-carousel .wcgs-slider-image:hover .wcgs-slider-image-tag {
    transform: scale(1.05);
}

/* Product Info Section (Right Side) */
.summary.entry-summary {
    width: 50% !important;
    flex: 0 0 50%;
    padding-top: 10px;
}

.summary.entry-summary .product_title {
    font-size: 34px;
    font-weight: 700;
    color: #111;
    margin-bottom: 15px;
    line-height: 1.2;
}

.summary.entry-summary .price {
    font-size: 26px;
    color: #379e19 !important;
    font-weight: 700;
    margin-bottom: 25px;
    display: block;
}

.summary.entry-summary .price del {
    color: #999 !important;
    font-size: 18px;
    font-weight: 400;
    margin-right: 12px;
}

/* Add to Cart Form */
.summary.entry-summary form.cart {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 15px;
    margin: 30px 0;
    border-top: 1px solid #efefef;
    border-bottom: 1px solid #efefef;
    padding: 30px 0;
}

.summary.entry-summary form.cart .quantity input.qty {
    width: 65px;
    height: 52px;
    border: 1px solid #ddd;
    border-radius: 6px;
    text-align: center;
    font-size: 18px;
    font-weight: 600;
}

.summary.entry-summary form.cart button.single_add_to_cart_button {
    height: 52px;
    padding: 0 40px;
    background-color: #379e19 !important;
    color: #fff !important;
    font-weight: bold;
    border: none;
    border-radius: 6px;
    font-size: 16px;
    text-transform: uppercase;
    transition: all 0.3s ease;
    cursor: pointer;
}

.summary.entry-summary form.cart button.single_add_to_cart_button:hover {
    background-color: #2b7a13 !important;
    box-shadow: 0 5px 15px rgba(43, 122, 19, 0.3);
}

/* Description & Meta */
.woocommerce-product-details__short-description {
    color: #444;
    line-height: 1.7;
    font-size: 16px;
    margin-bottom: 25px;
}

.woocommerce-product-details__short-description ul {
    padding-left: 20px;
    margin-top: 15px;
}

.woocommerce-product-details__short-description li {
    margin-bottom: 12px;
}

.summary.entry-summary .product_meta {
    margin-top: 25px;
    color: #777;
    font-size: 15px;
}

.summary.entry-summary .product_meta a {
    color: #379e19;
    text-decoration: none;
    font-weight: 600;
}

.summary.entry-summary .product_meta a:hover {
    text-decoration: underline;
}

/* Tabs */
.woocommerce-tabs.wc-tabs-wrapper {
    margin-top: 60px;
    padding: 40px;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
    border: 1px solid #f2f2f2;
    margin-left: auto;
    margin-right: auto;
}

.woocommerce-tabs ul.tabs {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0 0 30px 0;
    border-bottom: 2px solid #eaeaea;
}

.woocommerce-tabs ul.tabs li {
    margin-right: 30px;
}

.woocommerce-tabs ul.tabs li.active a {
    color: #379e19;
    font-weight: bold;
    border-bottom: 3px solid #379e19;
    padding-bottom: 15px;
}

.woocommerce-tabs ul.tabs li a {
    display: block;
    text-decoration: none;
    color: #888;
    font-size: 18px;
    padding-bottom: 15px;
    font-family: "Luxia-Semi-BoldDisplay", sans-serif !important;
}

/* MOBILE RESPONSIVE FIXES */
@media (max-width: 991px) {
    .content-single-wrapper {
        flex-direction: column !important;
        padding: 20px;
    }

    #wpgs-gallery.wcgs-woocommerce-product-gallery {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 100% !important;
    }

    .summary.entry-summary {
        width: 100% !important;
        max-width: 100% !important;
    }
}

@media (max-width: 768px) {

    /* Mobile: Thumbnails at bottom, horizontal */
    #wpgs-gallery.wcgs-woocommerce-product-gallery {
        flex-direction: column-reverse !important;
        /* Thumbs below main image */
    }

    #wpgs-gallery .gallery-navigation-carousel-wrapper {
        width: 100% !important;
        height: auto !important;
        min-height: auto !important;
        margin-top: 15px !important;
    }

    #wpgs-gallery .gallery-navigation-carousel .spswiper-wrapper {
        flex-direction: row !important;
        justify-content: center;
        gap: 15px;
    }

    #wpgs-gallery .wcgs-thumb {
        width: 65px !important;
        height: 65px !important;
    }

    #wpgs-gallery .wcgs-carousel {
        width: 100% !important;
        margin-left: 0 !important;
    }

    .wcgs-carousel .wcgs-slider-image {
        height: 350px;
    }

    .summary.entry-summary .product_title {
        font-size: 26px;
    }
}


/* --- Final Gallery Layout Fix: Use Floats to Preserve Swiper Variables --- */
.teapoz-product-pagination-wrap { display: none !important; }

/* Main Wrapper */
.content-single-wrapper {
    display: flex !important;
    align-items: flex-start;
    justify-content: space-between;
    gap: 40px;
    margin: 40px auto;
    padding: 30px;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
}

/* Gallery Section (Left Side) - Normal Block with clear fix */
#wpgs-gallery.wcgs-woocommerce-product-gallery {
    width: 45% !important;
    min-width: 45% !important;
    max-width: 45% !important;
    position: relative;
    box-sizing: border-box;
    display: block !important;
}
#wpgs-gallery.wcgs-woocommerce-product-gallery::after {
    content: ""; display: table; clear: both;
}

/* Thumbnails Wrapper (Far Left column) */
#wpgs-gallery .gallery-navigation-carousel-wrapper {
    float: left !important;
    width: 90px !important;
    margin: 0 15px 0 0 !important;
    height: 500px !important; 
    position: relative;
    overflow: hidden;
}

/* Thumbnail Swiper is vertical */
#wpgs-gallery .gallery-navigation-carousel .spswiper-wrapper {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px;
}
#wpgs-gallery .wcgs-thumb {
    width: 80px !important;
    height: 80px !important;
    margin: 0 !important;
    border: 2px solid #eaeaea !important;
    border-radius: 6px !important;
    overflow: hidden;
    cursor: pointer;
    transition: all 0.3s ease;
    background: #fafafa;
}
#wpgs-gallery .wcgs-thumb.spswiper-slide-thumb-active,
#wpgs-gallery .wcgs-thumb:hover {
    border-color: #379e19 !important;
    box-shadow: 0 4px 10px rgba(55,158,25,0.15);
}
#wpgs-gallery .wcgs-thumb img, #wpgs-gallery .wcgs-thumb picture img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain;
    mix-blend-mode: multiply;
}

#wpgs-gallery .wcgs-border-bottom { display: none !important; }

/* Main Image Wrapper (Right side of gallery column) */
#wpgs-gallery .wcgs-carousel {
    float: left !important;
    width: calc(100% - 110px) !important;
    background: #f9f9f9;
    border-radius: 8px;
    border: 1px solid #f1f1f1;
    overflow: hidden !important;
    position: relative;
    height: 500px !important; /* Constrain height so all slide images don't display at once */
    display: flex;
    align-items: center;
}

/* Ensure wrapper fills the height so child slides work correctly */
#wpgs-gallery .wcgs-carousel .spswiper-wrapper {
    height: 100% !important;
}

.wcgs-carousel .wcgs-slider-image {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px;
    height: 100%;
}
.wcgs-carousel .wcgs-slider-image-tag {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    mix-blend-mode: multiply;
    transition: transform 0.4s ease;
}
.wcgs-carousel .wcgs-slider-image:hover .wcgs-slider-image-tag {
    transform: scale(1.05);
}

/* Product Info Section (Right Side) */
.summary.entry-summary {
    width: 50% !important;
    flex: 0 0 50%;
    padding-top: 10px;
}
.summary.entry-summary .product_title {
    font-size: 34px;
    font-weight: 700;
    color: #111;
    margin-bottom: 15px;
    line-height: 1.2;
}
.summary.entry-summary .price {
    font-size: 26px;
    color: #379e19 !important;
    font-weight: 700;
    margin-bottom: 25px;
    display: block;
}
.summary.entry-summary .price del {
    color: #999 !important;
    font-size: 18px;
    font-weight: 400;
    margin-right: 12px;
}

/* Add to Cart Form */
.summary.entry-summary form.cart {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 15px;
    margin: 30px 0;
    border-top: 1px solid #efefef;
    border-bottom: 1px solid #efefef;
    padding: 30px 0;
}
.summary.entry-summary form.cart .quantity input.qty {
    width: 65px;
    height: 52px;
    border: 1px solid #ddd;
    border-radius: 6px;
    text-align: center;
    font-size: 18px;
    font-weight: 600;
}
.summary.entry-summary form.cart button.single_add_to_cart_button {
    height: 52px;
    padding: 0 40px;
    background-color: #379e19 !important;
    color: #fff !important;
    font-weight: bold;
    border: none;
    border-radius: 6px;
    font-size: 16px;
    text-transform: uppercase;
    transition: all 0.3s ease;
    cursor: pointer;
}
.summary.entry-summary form.cart button.single_add_to_cart_button:hover {
    background-color: #2b7a13 !important;
    box-shadow: 0 5px 15px rgba(43,122,19,0.3);
}

/* Description & Meta */
.woocommerce-product-details__short-description {
    color: #444;
    line-height: 1.7;
    font-size: 16px;
    margin-bottom: 25px;
}
.woocommerce-product-details__short-description ul {
    padding-left: 20px;
    margin-top: 15px;
}
.woocommerce-product-details__short-description li {
    margin-bottom: 12px;
}
.summary.entry-summary .product_meta {
    margin-top: 25px;
    color: #777;
    font-size: 15px;
}
.summary.entry-summary .product_meta a {
    color: #379e19;
    text-decoration: none;
    font-weight: 600;
}
.summary.entry-summary .product_meta a:hover { text-decoration: underline; }

/* Tabs */
.woocommerce-tabs.wc-tabs-wrapper {
    margin-top: 60px;
    padding: 40px;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.03);
    border: 1px solid #f2f2f2;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}
.woocommerce-tabs ul.tabs {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0 0 30px 0;
    border-bottom: 2px solid #eaeaea;
}
.woocommerce-tabs ul.tabs li {
    margin-right: 30px;
}
.woocommerce-tabs ul.tabs li.active a {
    color: #379e19;
    font-weight: bold;
    border-bottom: 3px solid #379e19;
    padding-bottom: 15px;
}
.woocommerce-tabs ul.tabs li a {
    display: block;
    text-decoration: none;
    color: #888;
    font-size: 18px;
    padding-bottom: 15px;
    font-family: 'Luxia-Semi-BoldDisplay', sans-serif !important;
}

/* MOBILE RESPONSIVE FIXES */
@media (max-width: 991px) {
    .content-single-wrapper {
        flex-direction: column !important;
        padding: 20px;
    }
    #wpgs-gallery.wcgs-woocommerce-product-gallery {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 100% !important;
    }
    .summary.entry-summary {
        width: 100% !important;
        max-width: 100% !important;
    }
}
@media (max-width: 768px) {
    /* Mobile: Main image above, Thumbnails horizontal below */
    #wpgs-gallery .wcgs-carousel {
        float: none !important;
        width: 100% !important;
        margin-bottom: 15px !important;
        height: 350px !important;
    }
    #wpgs-gallery .gallery-navigation-carousel-wrapper {
        float: none !important;
        width: 100% !important;
        height: auto !important;
        min-height: auto !important;
        margin: 0 !important;
    }
    #wpgs-gallery .gallery-navigation-carousel .spswiper-wrapper {
        flex-direction: row !important;
        justify-content: center;
        gap: 15px;
    }
    #wpgs-gallery .wcgs-thumb {
        width: 65px !important;
        height: 65px !important;
    }
    .wcgs-carousel .wcgs-slider-image {
        height: 100%;
    }
    .summary.entry-summary .product_title {
        font-size: 26px;
    }
    .woocommerce-tabs ul.tabs {
        display: flex !important;
        flex-wrap: wrap;
        gap: 15px;
    }
    .woocommerce-tabs ul.tabs li {
        margin-right: 0;
        width: 100%;
        text-align: center;
    }
}
