
/* ========================================
   WOOCOMMERCE PRODUCT GRID
======================================== */

.entry-content .woocommerce ul.products {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
    margin: 0;
    padding: 0;
    list-style: none;
}

/* ========================================
   PRODUCT CARD
======================================== */

.entry-content .woocommerce ul.products li.product {
    float: none;
    width: 100%;
    margin: 0;
    padding: 12px;
    background: #ffffff;
    border: 1px solid #e8eee8;
    border-radius: 18px;
    box-shadow:
    0 4px 12px rgba(0, 0, 0, 0.08),
    0 12px 30px rgba(0, 0, 0, 0.10);
    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease,
        border-color 0.3s ease;
    overflow: hidden;
}

.entry-content .woocommerce ul.products li.product:hover {
    transform: translateY(-6px);
    border-color: #c7dfc9;
    box-shadow: 0 16px 40px rgba(28, 85, 45, 0.12);
}

/* ========================================
   PRODUCT IMAGE
======================================== */

.entry-content .woocommerce ul.products li.product
.woocommerce-LoopProduct-link {
    display: block;
    text-decoration: none;
    color: inherit;
}

.entry-content .woocommerce ul.products li.product img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    margin: 0 0 16px;
    border-radius: 12px;
    background: #f5f8f3;
    transition: transform 0.35s ease;
}

.entry-content .woocommerce ul.products li.product:hover img {
    transform: scale(1.025);
}

/* ========================================
   PRODUCT TITLE
======================================== */

.entry-content .woocommerce ul.products li.product
.woocommerce-loop-product__title {
    font-size: 17px;
    font-weight: 600;
    line-height: 1.45;
    color: #1e3527;
    margin: 0 4px 10px;
    padding: 0;
    transition: color 0.2s ease;
}

.entry-content .woocommerce ul.products li.product:hover
.woocommerce-loop-product__title {
    color: #27834b;
}

/* ========================================
   PRODUCT PRICE
======================================== */

.entry-content .woocommerce ul.products li.product .price {
    display: block;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.4;
    color: #238449;
    margin: 0 4px 16px;
}

.entry-content .woocommerce ul.products li.product
.price .amount {
    color: inherit;
}

/* ========================================
   ADD TO CART BUTTON
======================================== */

.entry-content .woocommerce ul.products li.product
.button {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    width: 100%;
    min-height: 44px;
    box-sizing: border-box;
    padding: 12px 16px;
    margin: 0;
    background: #258447;
    border: 1px solid #258447;
    border-radius: 10px;
    color: #ffffff;
    font-size: 20px;
    font-weight: 600;
    text-align: center;
    text-decoration: none;
    transition:
        background 0.25s ease,
        transform 0.25s ease;
}

.entry-content .woocommerce ul.products li.product
.button:hover {
    background: #176735;
    border-color: #176735;
    color: #ffffff;
}

/* ========================================
   CLEAR WOOCOMMERCE DEFAULT FLOATS
======================================== */

.entry-content .woocommerce ul.products::before,
.entry-content .woocommerce ul.products::after {
    display: none;
    content: none;
}

/* ========================================
   RESPONSIVE
======================================== */

@media (max-width: 1024px) {
    .entry-content .woocommerce ul.products {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 20px;
    }
}

@media (max-width: 768px) {
    .entry-content .woocommerce ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px;
    }

    .entry-content .woocommerce ul.products li.product {
        padding: 10px;
        border-radius: 20px;
    }

    .entry-content .woocommerce ul.products li.product
    .woocommerce-loop-product__title {
        font-size: 15px;
    }

    .entry-content .woocommerce ul.products li.product .price {
        font-size: 16px;
    }
}

@media (max-width: 480px) {
    .entry-content .woocommerce ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .entry-content .woocommerce ul.products li.product {
        padding: 8px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .entry-content .woocommerce ul.products li.product,
    .entry-content .woocommerce ul.products li.product img,
    .entry-content .woocommerce ul.products li.product .button {
        transition: none;
    }
}

/* ========================================
   WOOCOMMERCE PRODUCT SORTING
======================================== */

.entry-content .woocommerce .woocommerce-ordering {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    float: none;
    margin: 0 0 28px;
    width: 100%;
}

/* ========================================
   SORT DROPDOWN
======================================== */

.entry-content .woocommerce .woocommerce-ordering select.orderby {
    appearance: none;
    -webkit-appearance: none;

    width: auto;
    min-width: 230px;
    max-width: 100%;
    height: 48px;

    padding: 0 44px 0 18px;

    background-color: #ffffff;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23238449' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
    background-size: 16px;

    border: 1px solid #dce7de;
    border-radius: 12px;

    box-shadow:
        0 2px 8px rgba(0, 0, 0, 0.05),
        0 4px 16px rgba(0, 0, 0, 0.06);

    color: #1e3527;
    font-family: inherit;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.4;

    cursor: pointer;

    transition:
        border-color 0.25s ease,
        box-shadow 0.25s ease,
        background-color 0.25s ease;
}

/* Hover */
.entry-content .woocommerce .woocommerce-ordering select.orderby:hover {
    border-color: #258447;

    box-shadow:
        0 4px 12px rgba(0, 0, 0, 0.08),
        0 8px 24px rgba(0, 0, 0, 0.08);
}

/* Focus */
.entry-content .woocommerce .woocommerce-ordering select.orderby:focus {
    outline: none;
    border-color: #258447;

    box-shadow:
        0 0 0 3px rgba(37, 132, 71, 0.12),
        0 4px 12px rgba(0, 0, 0, 0.08);
}

/* Dropdown options */
.entry-content .woocommerce .woocommerce-ordering select.orderby option {
    background: #ffffff;
    color: #1e3527;
    font-size: 20px;
    padding: 10px;
}

/* ========================================
   RESPONSIVE
======================================== */

@media (max-width: 768px) {
    .entry-content .woocommerce .woocommerce-ordering {
        margin-bottom: 20px;
    }

    .entry-content .woocommerce .woocommerce-ordering select.orderby {
        width: 100%;
        min-width: 0;
        height: 46px;
        font-size: 20px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .entry-content .woocommerce .woocommerce-ordering select.orderby {
        transition: none;
    }
}



/* ==================================================
   WOOCOMMERCE SINGLE PRODUCT
   MODERN GREEN DESIGN
================================================== */

body.single-product {
    --product-primary: #258447;
    --product-primary-dark: #176735;
    --product-heading: #173b27;
    --product-text: #475569;
    --product-border: #e5ebe6;
    --product-bg: #ffffff;
    --product-radius: 20px;

    --product-shadow:
        0 4px 12px rgba(0, 0, 0, 0.08),
        0 12px 30px rgba(0, 0, 0, 0.10);
}


/* ==================================================
   MAIN PRODUCT GRID
================================================== */

body.single-product .woocommerce div.product {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        minmax(0, 1fr);

    column-gap: 48px;
    row-gap: 48px;
    align-items: start;

    width: 100%;
    margin: 0 auto;
    padding: 32px 0 80px;

    font-size: 20px;
    line-height: 1.7;
    color: var(--product-text);
}


/* ==================================================
   PRODUCT GALLERY
================================================== */

body.single-product .woocommerce div.product
.woocommerce-product-gallery {
    position: relative;
    display: block;
    float: none;

    width: 100%;
    max-width: 100%;
    min-width: 0;

    margin: 0;
    padding: 16px;
    box-sizing: border-box;

    background: var(--product-bg);
    border: 1px solid var(--product-border);
    border-radius: 22px;
    box-shadow: var(--product-shadow);
}

body.single-product .woocommerce div.product
.woocommerce-product-gallery__wrapper {
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
}

body.single-product .woocommerce div.product
.woocommerce-product-gallery__image {
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
    float: none;
}

body.single-product .woocommerce div.product
.woocommerce-product-gallery__image > a {
    display: block;
    width: 100%;
    max-width: 100%;
}

body.single-product .woocommerce div.product
.woocommerce-product-gallery__image img {
    display: block;

    width: 100%;
    max-width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: contain;

    margin: 0;
    background: #f8faf8;
    border-radius: 16px;
}

body.single-product .woocommerce div.product
.woocommerce-product-gallery .flex-viewport {
    width: 100%;
    max-width: 100%;
    border-radius: 16px;
    overflow: hidden;
}


/* ==================================================
   FIX ZOOM ICON - REPLACE WOOCOMMERCE DEFAULT
================================================== */

body.single-product .woocommerce div.product
.woocommerce-product-gallery a.woocommerce-product-gallery__trigger {
    position: absolute;
    top: 28px;
    right: 28px;
    left: auto;
    bottom: auto;
    z-index: 10;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 48px;
    height: 48px;
    min-width: 48px;
    min-height: 48px;

    margin: 0;
    padding: 0;

    box-sizing: border-box;

    background-color: #ffffff;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23258447' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 22px 22px;

    border: none;
    border-radius: 50%;

    color: transparent;
    font-size: 0;
    line-height: 0;
    text-indent: -9999px;
    overflow: hidden;

    box-shadow:
        0 4px 12px rgba(0, 0, 0, 0.12);

    cursor: zoom-in;

    transition:
        background-color 0.25s ease,
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

/* Remove WooCommerce default magnifying glass */

body.single-product .woocommerce div.product
.woocommerce-product-gallery a.woocommerce-product-gallery__trigger::before,
body.single-product .woocommerce div.product
.woocommerce-product-gallery a.woocommerce-product-gallery__trigger::after {
    content: none !important;
    display: none !important;
}

/* Hover */

body.single-product .woocommerce div.product
.woocommerce-product-gallery a.woocommerce-product-gallery__trigger:hover {
    background-color: var(--product-primary);

    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E");

    transform: scale(1.06);

    box-shadow:
        0 6px 18px rgba(37, 132, 71, 0.24);
}

body.single-product .woocommerce div.product
.woocommerce-product-gallery a.woocommerce-product-gallery__trigger:focus-visible {
    outline: 3px solid rgba(37, 132, 71, 0.45);
    outline-offset: 3px;
}


/* ==================================================
   GALLERY THUMBNAILS
================================================== */

body.single-product .woocommerce div.product
.woocommerce-product-gallery .flex-control-thumbs {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;

    margin: 16px 0 0;
    padding: 0;
    list-style: none;
}

body.single-product .woocommerce div.product
.woocommerce-product-gallery .flex-control-thumbs li {
    float: none;
    width: 100%;
    margin: 0;
    padding: 0;
}

body.single-product .woocommerce div.product
.woocommerce-product-gallery .flex-control-thumbs img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;

    object-fit: cover;

    border: 2px solid transparent;
    border-radius: 10px;
    cursor: pointer;

    transition:
        border-color 0.25s ease,
        opacity 0.25s ease;
}

body.single-product .woocommerce div.product
.woocommerce-product-gallery .flex-control-thumbs img:hover,
body.single-product .woocommerce div.product
.woocommerce-product-gallery .flex-control-thumbs img.flex-active {
    border-color: var(--product-primary);
}


/* ==================================================
   PRODUCT SUMMARY
================================================== */

body.single-product .woocommerce div.product
.summary.entry-summary {
    float: none;
    width: 100%;
    max-width: 100%;
    min-width: 0;

    margin: 0;
    padding: 8px 0;
}

body.single-product .woocommerce div.product
.summary .product_title {
    margin: 0 0 20px;

    font-size: clamp(30px, 3vw, 44px);
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: -0.025em;

    color: var(--product-heading);
}


/* ==================================================
   PRICE
================================================== */

body.single-product .woocommerce div.product
.summary > .price {
    display: block;

    margin: 0 0 28px;
    padding: 0 0 24px;

    border-bottom: 1px solid var(--product-border);

    font-size: 32px;
    font-weight: 700;
    line-height: 1.3;
    color: var(--product-primary);
}

body.single-product .woocommerce div.product
.summary > .price .amount {
    font-size: inherit;
    font-weight: inherit;
    color: inherit;
}

body.single-product .woocommerce div.product
.summary > .price del {
    font-size: 22px;
    color: #94a3b8;
    opacity: 1;
}

body.single-product .woocommerce div.product
.summary > .price ins {
    color: var(--product-primary);
    text-decoration: none;
}


/* ==================================================
   SHORT DESCRIPTION
================================================== */

body.single-product .woocommerce div.product
.woocommerce-product-details__short-description {
    margin: 0 0 30px;

    font-size: 20px;
    line-height: 1.8;
    color: var(--product-text);
}

body.single-product .woocommerce div.product
.woocommerce-product-details__short-description p {
    margin: 0 0 16px;
    font-size: 20px;
    line-height: 1.8;
}

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


/* ==================================================
   ADD TO CART
================================================== */

body.single-product .woocommerce div.product
.summary form.cart {
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 16px;

    margin: 0 0 30px;
    padding: 0 0 30px;

    border-bottom: 1px solid var(--product-border);
}


/* ==================================================
   QUANTITY
================================================== */

body.single-product .woocommerce div.product
.summary form.cart .quantity {
    float: none;
    margin: 0;
    padding: 0;
}

body.single-product .woocommerce div.product
.summary form.cart input.qty {
    display: block;

    width: 100px;
    min-height: 58px;
    box-sizing: border-box;

    margin: 0;
    padding: 10px 12px;

    background: #ffffff;
    border: 1px solid #dce7de;
    border-radius: 12px;

    color: var(--product-heading);

    font-family: inherit;
    font-size: 20px;
    font-weight: 600;
    text-align: center;

    box-shadow:
        0 2px 8px rgba(0, 0, 0, 0.04);

    transition:
        border-color 0.25s ease,
        box-shadow 0.25s ease;
}

body.single-product .woocommerce div.product
.summary form.cart input.qty:focus {
    outline: none;
    border-color: var(--product-primary);

    box-shadow:
        0 0 0 4px rgba(37, 132, 71, 0.12);
}


/* ==================================================
   ADD TO CART BUTTON
================================================== */

body.single-product .woocommerce div.product
.summary form.cart .single_add_to_cart_button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    flex: 1 1 200px;
    float: none;

    min-height: 58px;
    box-sizing: border-box;

    margin: 0;
    padding: 14px 28px;

    background: var(--product-primary);
    border: 1px solid var(--product-primary);
    border-radius: 12px;

    color: #ffffff;

    font-family: inherit;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.4;

    text-align: center;
    text-decoration: none;
    cursor: pointer;

    box-shadow:
        0 4px 12px rgba(37, 132, 71, 0.18);

    transition:
        background 0.25s ease,
        box-shadow 0.25s ease,
        transform 0.25s ease;
}

body.single-product .woocommerce div.product
.summary form.cart .single_add_to_cart_button:hover {
    background: var(--product-primary-dark);
    border-color: var(--product-primary-dark);
    color: #ffffff;

    transform: translateY(-2px);

    box-shadow:
        0 8px 24px rgba(37, 132, 71, 0.25);
}

body.single-product .woocommerce div.product
.summary form.cart .single_add_to_cart_button:focus-visible {
    outline: 3px solid rgba(37, 132, 71, 0.45);
    outline-offset: 3px;
}

body.single-product .woocommerce div.product
.summary form.cart .single_add_to_cart_button:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    transform: none;
}


/* ==================================================
   PRODUCT META / CATEGORY
================================================== */

body.single-product .woocommerce div.product
.summary .product_meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;

    margin: 0;
    padding: 0;

    font-size: 20px;
    line-height: 1.6;
    color: #64748b;
}

body.single-product .woocommerce div.product
.summary .product_meta .posted_in {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

body.single-product .woocommerce div.product
.summary .product_meta a {
    display: inline-flex;
    align-items: center;

    padding: 8px 16px;

    background: #edf7ef;
    border: 1px solid #d5ead9;
    border-radius: 100px;

    color: var(--product-primary);

    font-size: 20px;
    font-weight: 600;
    line-height: 1.4;
    text-decoration: none;

    transition:
        background 0.25s ease,
        border-color 0.25s ease;
}

body.single-product .woocommerce div.product
.summary .product_meta a:hover {
    background: #dff0e3;
    border-color: #b8dfc0;
}


/* ==================================================
   PRODUCT TABS CONTAINER
================================================== */

body.single-product .woocommerce div.product
.woocommerce-tabs {
    grid-column: 1 / -1;

    clear: both;
    float: none;

    width: 100%;
    max-width: 100%;
    box-sizing: border-box;

    margin: 0;
    padding: 32px;

    background: #ffffff;
    border: 1px solid var(--product-border);
    border-radius: var(--product-radius);

    box-shadow: var(--product-shadow);
}


/* ==================================================
   DESCRIPTION TABS
================================================== */

body.single-product .woocommerce div.product
.woocommerce-tabs ul.tabs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;

    margin: 0 0 28px;
    padding: 0 0 20px;

    background: transparent;

    border: 0;
    border-bottom: 1px solid var(--product-border);
    border-radius: 0;

    list-style: none;
}

/* Remove WooCommerce default pseudo-elements */

body.single-product .woocommerce div.product
.woocommerce-tabs ul.tabs::before,
body.single-product .woocommerce div.product
.woocommerce-tabs ul.tabs::after,
body.single-product .woocommerce div.product
.woocommerce-tabs ul.tabs li::before,
body.single-product .woocommerce div.product
.woocommerce-tabs ul.tabs li::after {
    display: none;
    content: none;
}

/* Reset tab item */

body.single-product .woocommerce div.product
.woocommerce-tabs ul.tabs li {
    position: relative;
    display: block;
    float: none;

    width: auto;
    min-width: 0;

    margin: 0;
    padding: 0;

    background: transparent;
    border: none;
    border-radius: 0;
    box-shadow: none;
}

/* Tab link */

body.single-product .woocommerce div.product
.woocommerce-tabs ul.tabs li a {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: auto;
    min-height: 48px;
    box-sizing: border-box;

    margin: 0;
    padding: 10px 24px;

    background: #f1f7f2;
    border: 1px solid #dce7de;
    border-radius: 12px;

    color: var(--product-primary);

    font-family: inherit;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.4;
    text-decoration: none;

    box-shadow: none;

    transition:
        background 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease;
}

/* Active tab */

body.single-product .woocommerce div.product
.woocommerce-tabs ul.tabs li.active a {
    background: var(--product-primary);
    border-color: var(--product-primary);
    color: #ffffff;
}

/* Hover */

body.single-product .woocommerce div.product
.woocommerce-tabs ul.tabs li a:hover {
    background: var(--product-primary-dark);
    border-color: var(--product-primary-dark);
    color: #ffffff;
}

body.single-product .woocommerce div.product
.woocommerce-tabs ul.tabs li a:focus-visible {
    outline: 3px solid rgba(37, 132, 71, 0.35);
    outline-offset: 3px;
}


/* ==================================================
   DESCRIPTION CONTENT
================================================== */

body.single-product .woocommerce div.product
.woocommerce-Tabs-panel {
    margin: 0;
    padding: 0;

    font-size: 20px;
    line-height: 1.8;
    color: var(--product-text);
}

body.single-product .woocommerce div.product
.woocommerce-Tabs-panel h2 {
    margin: 0 0 20px;

    font-size: 28px;
    font-weight: 700;
    line-height: 1.3;
    color: var(--product-heading);
}

body.single-product .woocommerce div.product
.woocommerce-Tabs-panel h3 {
    font-size: 24px;
    font-weight: 700;
    color: var(--product-heading);
}

body.single-product .woocommerce div.product
.woocommerce-Tabs-panel p,
body.single-product .woocommerce div.product
.woocommerce-Tabs-panel li {
    font-size: 20px;
    line-height: 1.8;
}

body.single-product .woocommerce div.product
.woocommerce-Tabs-panel p:last-child {
    margin-bottom: 0;
}


/* ==================================================
   RELATED PRODUCTS
   DO NOT MODIFY EXISTING PRODUCT CARD CSS
================================================== */

body.single-product .woocommerce div.product
> .related.products {
    grid-column: 1 / -1;

    clear: both;
    float: none;

    width: 100%;
    max-width: 100%;

    margin: 12px 0 0;
}

body.single-product .woocommerce div.product
> .related.products > h2 {
    margin: 0 0 30px;

    font-size: 32px;
    font-weight: 700;
    line-height: 1.3;
    color: var(--product-heading);
}


/* ==================================================
   TABLET
================================================== */

@media (max-width: 1024px) {

    body.single-product .woocommerce div.product {
        column-gap: 28px;
        row-gap: 36px;
    }

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

    body.single-product .woocommerce div.product
    .summary .product_title {
        font-size: 34px;
    }

    body.single-product .woocommerce div.product
    .summary > .price {
        font-size: 28px;
    }

    body.single-product .woocommerce div.product
    .woocommerce-tabs {
        padding: 28px;
    }
}


/* ==================================================
   MOBILE
================================================== */

@media (max-width: 767px) {

    body.single-product .woocommerce div.product {
        grid-template-columns: minmax(0, 1fr);

        column-gap: 0;
        row-gap: 28px;

        padding: 24px 0 50px;
    }

    body.single-product .woocommerce div.product
    .woocommerce-product-gallery {
        width: 100%;
        padding: 10px;
        border-radius: 16px;
    }

    body.single-product .woocommerce div.product
    .woocommerce-product-gallery__trigger {
        top: 20px;
        right: 20px;
    }

    body.single-product .woocommerce div.product
    .summary.entry-summary {
        width: 100%;
        padding: 0;
    }

    body.single-product .woocommerce div.product
    .summary .product_title {
        font-size: 30px;
    }

    body.single-product .woocommerce div.product
    .summary > .price {
        margin-bottom: 20px;
        padding-bottom: 20px;
        font-size: 28px;
    }

    body.single-product .woocommerce div.product
    .summary form.cart {
        gap: 12px;
        margin-bottom: 24px;
        padding-bottom: 24px;
    }

    body.single-product .woocommerce div.product
    .summary form.cart .quantity {
        flex: 0 0 90px;
    }

    body.single-product .woocommerce div.product
    .summary form.cart input.qty {
        width: 90px;
    }

    body.single-product .woocommerce div.product
    .summary form.cart .single_add_to_cart_button {
        flex: 1 1 150px;
        padding: 12px 16px;
    }

    body.single-product .woocommerce div.product
    .woocommerce-tabs {
        grid-column: 1;
        padding: 20px;
        border-radius: 16px;
    }

    body.single-product .woocommerce div.product
    .woocommerce-tabs ul.tabs li a {
        padding: 10px 16px;
    }

    body.single-product .woocommerce div.product
    .woocommerce-Tabs-panel h2 {
        font-size: 26px;
    }

    body.single-product .woocommerce div.product
    > .related.products {
        grid-column: 1;
    }

    body.single-product .woocommerce div.product
    > .related.products > h2 {
        font-size: 28px;
    }
}


/* ==================================================
   SMALL MOBILE
================================================== */

@media (max-width: 400px) {

    body.single-product .woocommerce div.product
    .summary form.cart .quantity {
        flex-basis: 100%;
    }

    body.single-product .woocommerce div.product
    .summary form.cart input.qty {
        width: 100%;
    }

    body.single-product .woocommerce div.product
    .summary form.cart .single_add_to_cart_button {
        flex-basis: 100%;
    }

    body.single-product .woocommerce div.product
    .woocommerce-tabs {
        padding: 16px;
    }
}


/* ==================================================
   ACCESSIBILITY
================================================== */

@media (prefers-reduced-motion: reduce) {

    body.single-product .woocommerce div.product
    .woocommerce-product-gallery__trigger,

    body.single-product .woocommerce div.product
    .summary form.cart .single_add_to_cart_button,

    body.single-product .woocommerce div.product
    .woocommerce-tabs ul.tabs li a,

    body.single-product .woocommerce div.product
    .woocommerce-product-gallery .flex-control-thumbs img {
        transition: none;
    }
}

/* EPI Commerce 1.2: scoped catalog, product, pagination and breadcrumb. */
.epi-breadcrumbs { margin-top: 146px; padding: 22px 0; background: #ffffff; border-bottom: 1px solid #eee; }
.epi-breadcrumbs-inner { display: flex; align-items: center; flex-wrap: wrap; gap: 16px; font-size: 20px; line-height: 1.5; color: #303030; }
.epi-breadcrumbs a { color: #303030; text-decoration: none; }
.epi-breadcrumbs a:hover { color: #92246f; }
.epi-breadcrumbs [aria-current="page"] { font-weight: 600; }
.epi-breadcrumb-arrow { font-size: 29px; color: #a32a80; font-weight: 400; line-height: 1; }
span.epi-breadcrumb-arrow{padding-bottom: 5px}
.epi-shop-page, .epi-single-product, .epi-news-listing { padding-block: 52px 80px; min-height: 60vh; }
.epi-shop-page .woocommerce .woocommerce-result-count { float: none; margin: 0; font-size: 18px; }
.epi-shop-page .epi-shop-tools { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; margin: 24px 0; gap: 16px; }
.epi-shop-page .epi-shop-tools .woocommerce-ordering { float: none; margin: 0 0 0 auto; width: auto; }
.epi-shop-page .woocommerce ul.products { clear: both; }
.epi-shop-page .woocommerce .woocommerce-pagination, .epi-news-listing .woocommerce-pagination { float: none; clear: both; margin: 48px auto 0; text-align: center; }
.epi-shop-page .woocommerce-pagination ul.page-numbers, .epi-news-listing .woocommerce-pagination ul.page-numbers { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 9px; border: 0; margin: 0; padding: 0; list-style: none; }
.epi-shop-page .woocommerce-pagination ul.page-numbers li, .epi-news-listing .woocommerce-pagination ul.page-numbers li { float: none; border: 0; margin: 0; padding: 0; }
.epi-shop-page .woocommerce-pagination .page-numbers a, .epi-shop-page .woocommerce-pagination .page-numbers span, .epi-news-listing .woocommerce-pagination .page-numbers a, .epi-news-listing .woocommerce-pagination .page-numbers span { display: flex; align-items: center; justify-content: center; min-width: 45px; min-height: 45px; padding: 8px 12px; border: 1px solid #d7e5da; border-radius: 9px; font-size: 18px; color: #255638; background: #fff; text-decoration: none; }
.epi-shop-page .woocommerce-pagination .page-numbers .current, .epi-shop-page .woocommerce-pagination .page-numbers a:hover, .epi-news-listing .woocommerce-pagination .page-numbers .current, .epi-news-listing .woocommerce-pagination .page-numbers a:hover { color: #fff; border-color: #008e4e; background: #008e4e; }
.epi-product-quantity { display: inline-flex; gap: 8px; align-items: center; font-size: 18px; font-weight: 500; color: #254c34; margin: 12px 4px; }
.epi-product-quantity strong { font-weight: 700; }
body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image:nth-child(n+2) {margin-top: 16px; margin-right: 16px;}
.epi-news-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 35px; }
.epi-news-card { padding: 16px; border: 1px solid #e7ede7; border-radius: 16px; }
.epi-news-card img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 10px; }
.epi-news-card h2 { font-size: 23px; font-weight: 700; color: #19472b; margin-top: 18px; }
.epi-news-card time { color: #777; font-size: 14px; }
.epi-news-card p { line-height: 1.6; }
.epi-news-card .epi-read-more { color: #008e4e; font-weight: 600; }
@media (max-width: 767px) {
 .epi-breadcrumbs { margin-top: 90px; padding: 14px 0; }
 .epi-breadcrumbs-inner { font-size: 15px; gap: 9px; }
 .epi-breadcrumb-arrow { font-size: 22px; }
 .epi-shop-page, .epi-single-product, .epi-news-listing { padding-block: 28px 55px; }
 .epi-news-grid { grid-template-columns: 1fr; }
 .epi-shop-page .epi-shop-tools .woocommerce-ordering { margin: 0; width: 100%; }
}
