/*
Theme Name: Mediax
Theme URI: https://wordpress.themeholy.com/mediax
Author: Themeholy
Author URI: https://themeforest.net/user/themeholy 
Description: Mediax - Health & Medical WordPress Theme  
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: mediax
Tags: one-column, flexible-header, accessibility-ready, custom-colors, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, rtl-language-support, sticky-post, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.

*/


/* Header sub-menu icon */
.hide-icon.main-menu ul.sub-menu li a:before {
    display: none;
}
.hide-icon.main-menu ul.sub-menu li a:hover {
    padding-left: 0;
}

/* Product details: clean storefront layout without the page breadcrumb banner. */
body.single-product .breadcumb-wrapper,
body.single-product .woocommerce-breadcrumb {
    display: none !important;
}

body.post-type-archive-product .breadcumb-wrapper,
body.post-type-archive-product .woocommerce-breadcrumb,
body.tax-product_cat .breadcumb-wrapper,
body.tax-product_cat .woocommerce-breadcrumb {
    display: none !important;
}

body.single-product .th-product-wrapper.product-details {
    padding-top: clamp(48px, 6vw, 90px);
}

body.single-product .product-about {
    max-width: 590px;
}

body.single-product .product-about .product-title {
    color: var(--title-color, #1f2b2d);
    font-size: clamp(34px, 4vw, 56px);
    font-weight: 700;
    letter-spacing: -0.035em;
    line-height: 1.08;
    margin: 0 0 18px;
}

body.single-product .product-about > .price {
    color: var(--theme-color, #0f9f8f);
    font-family: inherit;
    font-size: clamp(25px, 2.5vw, 32px);
    font-weight: 700;
    line-height: 1.25;
    margin: 0 0 24px;
}

body.single-product .product-about > .price del {
    color: #8a9495;
    font-size: 0.7em;
    font-weight: 500;
    margin-inline: 0 10px;
}

body.single-product .product-about > .price ins {
    text-decoration: none;
}

body.single-product .product-about > p,
body.single-product .product-about .woocommerce-product-details__short-description {
    color: #667274;
    font-size: 17px;
    line-height: 1.75;
    margin-bottom: 28px;
}

body.single-product .product-about form.cart {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin: 28px 0;
}

body.single-product .product-about form.cart .quantity {
    flex: 0 0 112px;
    margin: 0;
}

body.single-product .product-about form.cart .th-btn,
body.single-product .product-about form.cart .single_add_to_cart_button {
    align-items: center;
    border: 0;
    border-radius: 999px;
    box-shadow: 0 10px 24px rgba(15, 159, 143, 0.2);
    display: inline-flex;
    justify-content: center;
    min-height: 56px;
    padding: 15px 34px;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

body.single-product .product-about form.cart .th-btn:hover,
body.single-product .product-about form.cart .single_add_to_cart_button:hover {
    box-shadow: 0 14px 30px rgba(15, 159, 143, 0.3);
    transform: translateY(-2px);
}

body.single-product .product-about .product_meta {
    border-top: 1px solid #e6ecec;
    margin-top: 28px;
    padding-top: 22px;
}

@media (max-width: 991px) {
    body.single-product .product-about {
        margin-top: 38px;
        max-width: none;
    }
}

@media (max-width: 575px) {
    body.single-product .product-about form.cart .th-btn,
    body.single-product .product-about form.cart .single_add_to_cart_button {
        flex: 1 1 190px;
    }
}

/* Rich product story, inspired by the reference product card. */
body.single-product .product-about {
    background: #fff;
    border: 1px solid #edf0ed;
    border-radius: 20px;
    box-shadow: 0 18px 50px rgba(35, 55, 48, 0.09);
    padding: clamp(24px, 3vw, 38px);
}

body.single-product .product-about > p:first-of-type {
    color: #34423f;
    font-size: 15px;
    line-height: 1.65;
}

body.single-product .product-about > p:first-of-type::first-line {
    font-weight: 600;
}

body.single-product .butterfly-quick-benefits {
    list-style: none;
    margin: -10px 0 25px;
    padding: 0;
}

body.single-product .butterfly-quick-benefits li {
    color: #4f5e58;
    font-size: 14px;
    margin: 8px 0;
    padding-left: 27px;
    position: relative;
}

body.single-product .butterfly-quick-benefits li::before {
    align-items: center;
    background: #e8f5e8;
    border-radius: 50%;
    color: #3d9b59;
    content: "\2713";
    display: flex;
    font-size: 11px;
    font-weight: 700;
    height: 18px;
    justify-content: center;
    left: 0;
    position: absolute;
    top: 2px;
    width: 18px;
}

body.single-product .product-about .woocommerce-tabs {
    border-top: 1px solid #e9eeea;
    margin-top: 30px;
    padding-top: 28px;
}

body.single-product .product-about .woocommerce-tabs > ul.tabs,
body.single-product .product-about .woocommerce-tabs .panel > h2:first-child {
    display: none !important;
}

body.single-product .product-about .woocommerce-tabs .panel {
    display: block !important;
    margin: 0;
}

.butterfly-product-story {
    color: #38433f;
    font-size: 14px;
    line-height: 1.65;
}

.butterfly-product-story * {
    box-sizing: border-box;
}

.butterfly-product-story h2,
.butterfly-product-story h3,
.butterfly-product-story p {
    margin-top: 0;
}

.butterfly-story-hero,
.butterfly-story-panel,
.butterfly-story-notice,
.butterfly-story-cta {
    border-radius: 15px;
    margin-bottom: 18px;
    padding: 22px;
}

.butterfly-story-hero {
    background: linear-gradient(135deg, #f4f8ee, #fff);
    border: 1px solid #dfe9d5;
}

.butterfly-story-kicker {
    background: #6c8642;
    border-radius: 999px;
    color: #fff;
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.04em;
    margin-bottom: 12px;
    padding: 5px 11px;
    text-transform: uppercase;
}

.butterfly-story-hero h2 {
    color: #25322d;
    font-size: 21px;
    line-height: 1.3;
    margin-bottom: 8px;
}

.butterfly-story-benefits {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(3, 1fr);
    margin: 18px 0;
}

.butterfly-story-benefit {
    background: #f7f9f4;
    border: 1px solid #e1e8da;
    border-radius: 12px;
    padding: 16px 10px;
    text-align: center;
}

.butterfly-story-icon {
    align-items: center;
    background: #eaf3df;
    border-radius: 50%;
    color: #6a8b3f;
    display: inline-flex;
    font-size: 18px;
    height: 34px;
    justify-content: center;
    margin-bottom: 8px;
    width: 34px;
}

.butterfly-story-benefit strong {
    color: #344239;
    display: block;
    font-size: 12px;
    line-height: 1.35;
}

.butterfly-story-panel {
    background: #f8faf7;
    border: 1px solid #e4e9e1;
}

.butterfly-story-panel h3 {
    color: #26342e;
    font-size: 18px;
    margin-bottom: 14px;
}

.butterfly-feature-list {
    display: grid;
    gap: 10px;
}

.butterfly-feature {
    align-items: center;
    background: #fff;
    border: 1px solid #e7ebe6;
    border-radius: 11px;
    display: flex;
    gap: 13px;
    padding: 13px;
}

.butterfly-feature .butterfly-story-icon {
    flex: 0 0 34px;
    margin: 0;
}

.butterfly-feature strong,
.butterfly-feature small {
    display: block;
}

.butterfly-feature small {
    color: #738078;
    margin-top: 2px;
}

.butterfly-usage-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(2, 1fr);
}

.butterfly-usage-grid div {
    background: #fff;
    border: 1px solid #e7ebe6;
    border-radius: 11px;
    padding: 15px;
    text-align: center;
}

.butterfly-story-notice {
    background: #fff9e9;
    border: 1px solid #f0d998;
    color: #745d22;
    font-size: 12px;
}

.butterfly-story-cta {
    align-items: center;
    background: linear-gradient(135deg, #124f37, #14834c);
    color: #fff;
    display: flex;
    justify-content: space-between;
    margin-bottom: 0;
}

.butterfly-story-cta strong {
    display: block;
    font-size: 20px;
    line-height: 1.2;
}

.butterfly-story-cta a {
    background: #fff;
    border-radius: 8px;
    color: #174d38;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.04em;
    padding: 12px 17px;
    text-transform: uppercase;
}

@media (max-width: 575px) {
    .butterfly-story-benefits {
        grid-template-columns: 1fr;
    }

    .butterfly-story-cta {
        align-items: flex-start;
        flex-direction: column;
        gap: 16px;
    }
}

body.single-product .product-about form.cart .butterfly-buy-now {
    background: #67ad00;
    box-shadow: 0 10px 24px rgba(103, 173, 0, 0.2);
}

body.single-product .product-about form.cart .butterfly-buy-now:hover {
    background: #518a00;
}

.butterfly-default-benefits {
    color: #405049;
    margin: 4px 0 22px;
    text-align: right;
}

.butterfly-default-benefits p {
    color: #2f3d37;
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 9px;
}

.butterfly-default-benefits ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.butterfly-default-benefits li {
    margin: 7px 0;
    padding-right: 27px;
    position: relative;
}

.butterfly-default-benefits li::before {
    align-items: center;
    background: #e8f5e8;
    border-radius: 50%;
    color: #3d9b59;
    content: "\2713";
    display: flex;
    font-size: 11px;
    font-weight: 700;
    height: 18px;
    justify-content: center;
    position: absolute;
    right: 0;
    top: 2px;
    width: 18px;
}

.butterfly-purchase-reassurance {
    border-bottom: 1px solid #e7ece9;
    border-top: 1px solid #e7ece9;
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(3, 1fr);
    margin: 0 0 28px;
    padding: 18px 0;
}

.butterfly-purchase-reassurance span {
    align-items: center;
    color: #52605b;
    display: flex;
    font-size: 12px;
    font-weight: 600;
    gap: 7px;
}

.butterfly-purchase-reassurance i {
    align-items: center;
    background: #edf7ed;
    border-radius: 50%;
    color: #46975b;
    display: inline-flex;
    flex: 0 0 25px;
    height: 25px;
    justify-content: center;
    width: 25px;
}

@media (max-width: 575px) {
    .butterfly-purchase-reassurance {
        grid-template-columns: 1fr;
    }
}

/* Reference composition: compact heading, benefits, one-line purchase bar. */
body.single-product .product-details > .container {
    max-width: 1280px;
}

body.single-product .product-details .gx-60 {
    --bs-gutter-x: 54px;
    align-items: flex-start;
}

body.single-product .product-big-img,
body.single-product .product-big-img .img,
body.single-product .product-big-img img {
    border-radius: 90px;
    overflow: hidden;
}

body.single-product .product-big-img {
    background: #f5f6f8;
}

/* Keep the product visual in view while the long summary is being read.
   The containing product row naturally stops it at the summary's end. */
@media (min-width: 992px) {
    body.single-product .product-details .gx-60 > .col-lg-6.position-relative {
        align-self: flex-start;
        position: sticky !important;
        top: 96px;
        z-index: 1;
    }
}

body.single-product .product-about {
    max-width: none;
    padding: 34px 36px;
}

.butterfly-product-eyebrow {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 14px;
}

.butterfly-product-category,
.butterfly-product-category a {
    color: #56636a;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.butterfly-new-badge {
    background: #e8f6ed;
    border-radius: 999px;
    color: #237b47;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.03em;
    padding: 5px 12px;
    text-transform: uppercase;
}

body.single-product .product-about .product-title {
    font-size: clamp(34px, 3vw, 43px);
    font-weight: 600;
    letter-spacing: -0.025em;
    line-height: 1.12;
    margin-bottom: 22px;
}

body.single-product .product-about .product-rating {
    display: none;
}

body.single-product .product-about > .product-price.price {
    color: #28302f;
    font-size: 29px;
    font-weight: 600;
    margin: 0 0 22px;
}

body.single-product .product-about > .product-price.price del {
    display: none;
}

body.single-product .product-about > .product-price.price ins {
    color: inherit;
    text-decoration: none;
}

.butterfly-default-benefits {
    margin: 0 0 22px;
    max-width: max-content;
}

.butterfly-default-benefits p,
.butterfly-default-benefits li {
    font-size: 13px;
}

body.single-product .product-about form.cart {
    display: block;
    margin: 0 0 22px;
}

body.single-product .product-about form.cart .actions {
    display: grid;
    gap: 10px;
    grid-template-columns: 76px minmax(175px, 1fr) minmax(215px, 1.35fr);
    margin: 0;
    width: 100%;
}

body.single-product .product-about form.cart .actions .quantity {
    height: 50px;
    min-width: 0;
    width: 76px;
}

body.single-product .product-about form.cart .actions .quantity .qty-input {
    border-radius: 7px;
    height: 50px;
    padding: 0 31px 0 12px;
    width: 76px;
}

body.single-product .product-about form.cart .actions .quantity::after {
    left: 47px;
}

body.single-product .product-about form.cart .actions .quantity .qty-btn {
    right: 10px;
}

body.single-product .product-about form.cart .actions > .th-btn {
    border-radius: 8px;
    box-shadow: none;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.06em;
    min-height: 50px;
    padding: 12px 15px;
    white-space: nowrap;
}

body.single-product .product-about form.cart .actions > button.th-btn {
    background: #29adb4;
}

body.single-product .product-about form.cart .actions > button.th-btn:hover {
    background: #208f95;
}

body.single-product .product-about form.cart .actions > .butterfly-buy-now {
    background: #67ad00;
}

.butterfly-purchase-reassurance {
    margin-bottom: 28px;
    padding: 18px 0;
}

@media (max-width: 1199px) {
    body.single-product .product-about form.cart .actions {
        grid-template-columns: 76px 1fr;
    }

    body.single-product .product-about form.cart .actions > .butterfly-buy-now {
        grid-column: 1 / -1;
    }
}

@media (max-width: 991px) {
    body.single-product .product-big-img,
    body.single-product .product-big-img .img,
    body.single-product .product-big-img img {
        border-radius: 55px;
    }
}

@media (max-width: 575px) {
    body.single-product .product-about {
        padding: 25px 20px;
    }

    body.single-product .product-about form.cart .actions {
        grid-template-columns: 72px 1fr;
    }
}

/* Checkout page based on the supplied two-column reference. */
.butterfly-checkout-steps {
    border-bottom: 1px solid #e6e8e9;
    border-top: 1px solid #e6e8e9;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin: 0 0 28px;
    padding: 22px 0;
}

.butterfly-checkout-step {
    align-items: center;
    color: #c9cdcf;
    display: flex;
    gap: 12px;
}

.butterfly-checkout-step strong {
    font-size: 42px;
    font-weight: 500;
    line-height: 1;
}

.butterfly-checkout-step span,
.butterfly-checkout-step b,
.butterfly-checkout-step small {
    display: block;
}

.butterfly-checkout-step b {
    font-size: 15px;
    font-weight: 700;
    text-transform: uppercase;
}

.butterfly-checkout-step small {
    font-size: 11px;
    margin-top: 3px;
}

.butterfly-checkout-step.is-complete,
.butterfly-checkout-step.is-current {
    color: #263038;
}

.woocommerce form.checkout.mt-40 {
    margin-top: 20px !important;
}

.butterfly-checkout-layout {
    --bs-gutter-x: 22px;
    align-items: flex-start;
}

.butterfly-checkout-panel {
    background: #fafafa;
    border: 6px solid #f4f4f4;
    padding: 20px;
}

.butterfly-checkout-panel h2,
.butterfly-checkout-panel #order_review_heading {
    border-bottom: 1px solid #dfe2e3;
    font-size: 17px;
    font-weight: 700;
    margin: 0 0 18px;
    padding-bottom: 14px;
    text-transform: uppercase;
}

.butterfly-checkout-panel .form-row {
    margin-bottom: 10px;
}

.butterfly-checkout-panel .form-control,
.butterfly-checkout-panel .input-text,
.butterfly-checkout-panel select,
.butterfly-checkout-panel .select2-selection {
    background: #fff !important;
    border: 1px solid #d8dcde !important;
    border-radius: 4px !important;
    box-shadow: none !important;
    font-size: 13px !important;
    min-height: 44px;
    padding: 10px 12px !important;
}

.butterfly-checkout-panel textarea.input-text {
    min-height: 100px;
}

.butterfly-order-panel {
    border-width: 0;
    position: sticky;
    top: 25px;
}

.butterfly-order-panel .cart_table {
    background: #fff;
    border: 0;
    margin-bottom: 18px !important;
}

.butterfly-order-panel .cart_table th,
.butterfly-order-panel .cart_table td {
    font-size: 12px;
    padding: 12px 8px;
}

.butterfly-order-panel .cart-productimage img {
    border-radius: 12px;
    height: 58px;
    object-fit: cover;
    width: 58px;
}

.butterfly-order-panel .order-total .amount,
.butterfly-order-panel .cart-subtotal .amount {
    color: #22aab3;
}

.butterfly-order-panel .woocommerce-checkout-payment {
    background: transparent;
}

.butterfly-order-panel #place_order {
    background: #2babb2;
    border-radius: 3px;
    display: block;
    font-size: 12px;
    letter-spacing: 0.08em;
    padding: 15px 20px;
    width: 100%;
}

.butterfly-order-panel #place_order:hover {
    background: #208e94;
}

@media (max-width: 991px) {
    .butterfly-checkout-steps {
        gap: 15px;
    }

    .butterfly-checkout-step strong {
        font-size: 32px;
    }

    .butterfly-order-panel {
        margin-top: 24px;
        position: static;
    }
}

@media (max-width: 575px) {
    .butterfly-checkout-steps {
        grid-template-columns: 1fr;
    }

    .butterfly-checkout-step {
        display: none;
    }

    .butterfly-checkout-step.is-current {
        display: flex;
    }

    .butterfly-checkout-panel {
        padding: 15px;
    }
}

/* Simplified, higher-contrast checkout. */
body.woocommerce-checkout .breadcumb-wrapper,
body.woocommerce-checkout .woocommerce-breadcrumb {
    display: none !important;
}

body.woocommerce-checkout .th-product-wrapper,
body.woocommerce-checkout .th-checkout-wrapper {
    background: linear-gradient(180deg, #f7faf9 0, #fff 420px);
}

body.woocommerce-checkout .butterfly-checkout-steps {
    background: #fff;
    border: 1px solid #e5ece9;
    border-radius: 16px;
    box-shadow: 0 12px 35px rgba(34, 58, 50, 0.06);
    overflow: hidden;
    padding: 0;
}

body.woocommerce-checkout .butterfly-checkout-step {
    min-height: 100px;
    padding: 22px 28px;
    position: relative;
}

body.woocommerce-checkout .butterfly-checkout-step.is-current {
    background: linear-gradient(135deg, #edf9f7, #f7fcfb);
    color: #168e91;
}

body.woocommerce-checkout .butterfly-checkout-step.is-current::after {
    background: #29adb4;
    bottom: 0;
    content: "";
    height: 4px;
    left: 0;
    position: absolute;
    width: 100%;
}

body.woocommerce-checkout .butterfly-checkout-panel {
    background: #fff;
    border: 1px solid #e3ebe8;
    border-radius: 16px;
    box-shadow: 0 16px 45px rgba(31, 57, 48, 0.07);
    padding: 28px;
}

body.woocommerce-checkout .butterfly-customer-panel {
    border-top: 5px solid #29adb4;
}

body.woocommerce-checkout .butterfly-order-panel {
    border-top: 5px solid #67ad00;
}

body.woocommerce-checkout .butterfly-checkout-panel h2,
body.woocommerce-checkout .butterfly-checkout-panel #order_review_heading {
    color: #202d2a;
    font-size: 19px;
    letter-spacing: 0.01em;
}

body.woocommerce-checkout .butterfly-checkout-panel .form-row {
    position: relative;
}

body.woocommerce-checkout .butterfly-checkout-panel .form-control,
body.woocommerce-checkout .butterfly-checkout-panel .input-text,
body.woocommerce-checkout .butterfly-checkout-panel select,
body.woocommerce-checkout .butterfly-checkout-panel .select2-selection {
    border-color: #d9e3df !important;
    min-height: 50px;
    transition: border-color .2s ease, box-shadow .2s ease;
}

body.woocommerce-checkout .butterfly-customer-panel input,
body.woocommerce-checkout .butterfly-customer-panel select,
body.woocommerce-checkout .butterfly-customer-panel .select2-selection__rendered {
    direction: rtl;
    text-align: right;
}

body.woocommerce-checkout .butterfly-checkout-panel .form-control:focus,
body.woocommerce-checkout .butterfly-checkout-panel .input-text:focus,
body.woocommerce-checkout .butterfly-checkout-panel select:focus {
    border-color: #29adb4 !important;
    box-shadow: 0 0 0 3px rgba(41, 173, 180, 0.1) !important;
}

body.woocommerce-checkout .butterfly-checkout-panel .validate-required .input-text,
body.woocommerce-checkout .butterfly-checkout-panel .validate-required .select2-selection {
    background-color: #fbfefd !important;
    border-left: 3px solid #29adb4 !important;
}

body.woocommerce-checkout .woocommerce-additional-fields {
    display: none !important;
}

body.woocommerce-checkout .butterfly-order-panel #place_order {
    border-radius: 8px;
    box-shadow: 0 10px 24px rgba(43, 171, 178, 0.22);
    min-height: 52px;
}

@media (max-width: 575px) {
    body.woocommerce-checkout .butterfly-checkout-panel {
        border-radius: 12px;
        padding: 20px 15px;
    }
}

/* Modern, compact shop catalogue. */
body.post-type-archive-product .th-product-wrapper,
body.tax-product_cat .th-product-wrapper {
    background: #fbfcfa;
}

body.post-type-archive-product .th-sort-bar,
body.tax-product_cat .th-sort-bar {
    background: #f3f6f4;
    border: 1px solid #e7ece8;
    border-radius: 16px;
    margin-bottom: 28px;
    padding: 14px 18px;
}

body.post-type-archive-product .products,
body.tax-product_cat .products {
    --bs-gutter-x: 22px;
    --bs-gutter-y: 22px;
}

body.post-type-archive-product .th-product-box,
body.tax-product_cat .th-product-box {
    background: #fff;
    border: 1px solid #e7ece8;
    border-radius: 18px;
    box-shadow: 0 8px 28px rgba(25, 54, 37, 0.055);
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    padding: 10px 10px 16px;
}

body.post-type-archive-product .th-product-box:hover,
body.tax-product_cat .th-product-box:hover {
    border-color: #cbdccc;
    box-shadow: 0 16px 38px rgba(25, 54, 37, 0.11);
    transform: translateY(-4px);
}

body.post-type-archive-product .th-product-box .product-img,
body.tax-product_cat .th-product-box .product-img {
    aspect-ratio: 1 / 1;
    background: #f7f9f7;
    border-radius: 13px;
    margin: 0 0 14px;
}

body.post-type-archive-product .th-product-box .product-img img,
body.tax-product_cat .th-product-box .product-img img {
    height: 100%;
    object-fit: contain;
    width: 100%;
}

body.post-type-archive-product .th-product-box .product-content,
body.tax-product_cat .th-product-box .product-content {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 0 8px;
}

body.post-type-archive-product .th-product-box .product-category,
body.tax-product_cat .th-product-box .product-category {
    color: #748078;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .06em;
    overflow: hidden;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

body.post-type-archive-product .th-product-box .product-title,
body.tax-product_cat .th-product-box .product-title {
    font-size: 17px;
    font-weight: 700;
    line-height: 1.3;
    margin: 6px 0 7px;
}

.butterfly-product-highlight {
    color: #617068;
    display: -webkit-box;
    font-size: 13px;
    line-height: 1.55;
    margin: 0 0 12px;
    min-height: 40px;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

body.post-type-archive-product .th-product-box .price,
body.tax-product_cat .th-product-box .price {
    color: #1b5e20;
    font-size: 17px;
    margin-top: auto;
    padding-top: 2px;
}

body.post-type-archive-product .th-product-box .product-tag,
body.tax-product_cat .th-product-box .product-tag {
    background: #1b5e20;
    font-size: 11px;
    left: 14px;
    top: 14px;
}

@media (max-width: 575px) {
    body.post-type-archive-product .products,
    body.tax-product_cat .products {
        --bs-gutter-x: 14px;
        --bs-gutter-y: 18px;
    }

    body.post-type-archive-product .th-product-box .product-title,
    body.tax-product_cat .th-product-box .product-title {
        font-size: 15px;
    }
}
