.chl-products {
    --chl-green: #183921;
    --chl-text: #333;
    width: 100%;
    color: var(--chl-text);
    font-family: "Raleway", sans-serif;
}
.chl-archive-products { --chl-columns:4; --chl-tablet-columns:2; --chl-mobile-columns:2; }
.chl-archive-products__toolbar { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-start; gap:12px 24px; margin-bottom:24px; }
.chl-products .chl-sort { position:relative; width:200px; max-width:100%; font:400 14px/1.5 "Raleway",sans-serif; color:#333; }
.chl-products .chl-sort__trigger { box-sizing:border-box; display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; height:40px; padding:0 10px; border:1px solid #d5d5d5; border-radius:3px; background:#fff; color:#333; cursor:pointer; list-style:none; }
.chl-sort__trigger::-webkit-details-marker { display:none; }
.chl-sort__trigger::marker { content:""; }
.chl-sort__icon { flex:none; }
.chl-products .chl-sort__options { box-sizing:border-box; position:absolute; z-index:30; top:calc(100% + 6px); left:0; width:290px; max-width:calc(100vw - 32px); margin:0; padding:6px; list-style:none; background:#fff; border:1px solid #d5d5d5; border-radius:3px; box-shadow:0 6px 20px rgb(0 0 0 / 8%); }
.chl-products .chl-sort__options li { margin:0; padding:0; list-style:none; }
.chl-products .chl-sort__options a { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px; color:#333; text-decoration:none; background:transparent; }
.chl-products .chl-sort__options a:hover,
.chl-products .chl-sort__options a[aria-current="true"] { color:#183921; background:#f2f5f2; }
.chl-sort__trigger:focus-visible,.chl-sort__options a:focus-visible { outline:2px solid #183921; outline-offset:2px; }
.chl-archive-products .woocommerce ul.products { clear:both; }
.chl-archive-products .woocommerce nav.woocommerce-pagination { clear:both; margin-top:40px; }
.chl-archive-products .woocommerce nav.woocommerce-pagination ul { border:0; }
.chl-archive-products .woocommerce nav.woocommerce-pagination ul li { border:0; }
.chl-archive-products .woocommerce nav.woocommerce-pagination a,
.chl-archive-products .woocommerce nav.woocommerce-pagination span { min-width:40px; padding:12px; color:#183921; }
.chl-archive-products .woocommerce nav.woocommerce-pagination .current { background:#183921; color:#fff; }
.chl-products .woocommerce ul.products {
    display: grid;
    grid-template-columns: repeat(var(--chl-columns, 4), minmax(0, 1fr));
    gap: 36px 12px;
    padding: 0;
    margin: 0;
    list-style: none;
}
.chl-products .woocommerce ul.products::before,
.chl-products .woocommerce ul.products::after { display: none; }
.chl-products .woocommerce ul.products li.product {
    float: none;
    width: auto;
    min-width: 0;
    margin: 0;
    padding: 0;
    text-align: left;
}
.chl-product__media { position: relative; }
.chl-product__image { display: block; overflow: hidden; aspect-ratio: 4 / 5; background: #fff; }
.chl-products .woocommerce ul.products li.product .chl-product__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    margin: 0;
    border-radius: 0;
}
.chl-product__action { position: absolute; inset: auto 0 0; opacity: 0; transition: opacity .18s ease; }
.chl-product:hover .chl-product__action,
.chl-product:focus-within .chl-product__action { opacity: 1; }
.chl-products .woocommerce ul.products li.product .chl-product__action a.button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 44px;
    padding: 12px 30px;
    margin: 0;
    border: 0;
    border-radius: 0;
    background: var(--chl-green);
    color: #fff;
    font: 400 12px/1.4 "Raleway", sans-serif;
    text-transform: uppercase;
    text-decoration: none;
    box-sizing: border-box;
}
.chl-products .chl-product__action a.button:hover { background: #244d30 !important; color: #fff !important; }
/* Keep ::after available for WooCommerce's loading/success indicator. */
.chl-products .chl-product__action a.button.product_type_simple.add_to_cart_button::before {
    content: "";
    display: block;
    order: 1;
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    margin-left: 8px;
    background: url("../icons/cart-white.svg") center / contain no-repeat;
}
/* The Elementor side cart replaces the extra WooCommerce "View cart" link. */
.chl-products .chl-product__action a.added_to_cart { display: none !important; }
.chl-products .chl-product__stock { display: flex; align-items: center; gap: 6px; margin: 10px 0 8px; font-size: 11px; line-height: 1.5; color: #707070; }
.chl-product__stock::before { content: ""; width: 6px; height: 6px; flex: 0 0 6px; border-radius: 50%; background: #368246; }
.chl-product__stock--outofstock::before { background: #8f8f8f; }
.chl-product__stock--onbackorder::before { background: #ab791d; }
.chl-products .chl-product__title { margin: 0 0 8px; padding: 0; font: 400 20px/1.4 "Playfair Display", serif; }
.chl-products .chl-product__title a { color: var(--chl-text); text-decoration: none; }
.chl-products .chl-product__title a:hover { color: var(--chl-green); }
.chl-products .chl-product__price { font: 400 14px/1.6 "Raleway", sans-serif; }
.chl-product__price del { color: #707070; margin-right: 6px; }
.chl-product__price ins { background: transparent; text-decoration: none; }
.chl-product__wishlist { position: absolute; top: 10px; right: 10px; z-index: 2; }
.chl-product__wishlist .tinv-wraper { margin: 0 !important; }
.chl-product__wishlist .tinvwl_add_to_wishlist_button {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    padding: 0 !important;
    margin: 0 !important;
    border: 0;
    border-radius: 50%;
    background: #fff;
    color: #707070;
    box-sizing: border-box;
}
.chl-product__wishlist .tinvwl_add_to_wishlist_button::before { margin: 0 !important; }
.chl-product__wishlist .tinvwl_add_to_wishlist-text,
.chl-product__wishlist .tinvwl_remove_from_wishlist-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}
.chl-product__wishlist .tinvwl-product-in-list { color: #5d0609; }
.chl-products a:focus-visible { outline: 2px solid var(--chl-green); outline-offset: 3px; }
@media (max-width: 1024px) {
    .chl-products .woocommerce ul.products { grid-template-columns: repeat(var(--chl-tablet-columns, 2), minmax(0, 1fr)); }
    .chl-product__action { position: static; opacity: 1; }
}
@media (max-width: 767px) {
    .chl-products .woocommerce ul.products { grid-template-columns: repeat(var(--chl-mobile-columns, 2), minmax(0, 1fr)); gap: 24px 12px; }
    .chl-products .chl-product__title { font-size: 17px; }
    .chl-products .chl-product__price { font-size: 13px; }
    .chl-products .woocommerce ul.products li.product .chl-product__action a.button { padding: 10px 8px; font-size: 10px; }
    .chl-product__wishlist { top: 6px; right: 6px; }
}
@media (hover: none) {
    .chl-product__action { position: static; opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
    .chl-product__action { transition: none; }
}
