/* =========================================================
   THE HARTMERE EDIT PRODUCT EXPERIENCE
   Refined forest / ivory / muted-gold editorial palette
   Compact responsive WooCommerce product system.
========================================================= */

.hmepx-slider,
.hmepx-grid-wrap,
.hmepx-archive,
.hmepx-slider *,
.hmepx-grid-wrap *,
.hmepx-archive *{
    box-sizing:border-box;
}

.hmepx-slider,
.hmepx-grid-wrap,
.hmepx-archive{
    --hmepx-forest:#173A2A;
    --hmepx-forest-deep:#102C20;
    --hmepx-forest-soft:#355544;
    --hmepx-gold:#B59157;
    --hmepx-gold-dark:#96713F;
    --hmepx-gold-soft:#D8C49D;
    --hmepx-ivory:#F7F3EB;
    --hmepx-cream:#FCFAF6;
    --hmepx-white:#FFFFFF;
    --hmepx-border:#DDD2C2;
    --hmepx-text:#26382E;
    --hmepx-muted:#74695F;
    --hmepx-title-size:12px;
    --hmepx-radius:11px;
    --hmepx-image-padding:8px;
    --hmepx-image-ratio:1 / 1;

    color:var(--hmepx-text)!important;
    font-family:'Cormorant Garamond',Georgia,serif!important;
}

/* =========================================================
   PERMANENT REMOVALS / SAFETY
   These items are intentionally not part of the final UI.
========================================================= */

.hmepx-rating,
.hmepx-rating--card,
.hmepx-rating--single,
[data-hmepx-rating-ui="1"],
.hmepx-card-action,
.hmepx-view-product,
a.hmepx-view-product,
.hmepx-archive-notes,
.hmepx-archive-count,
.hmepx-archive-eyebrow,
.hmepx-archive-description,
.hmepx-category-card-copy small,
body.woocommerce .star-rating,
body.woocommerce-page .star-rating,
body.single-product .woocommerce-product-rating{
    display:none!important;
    visibility:hidden!important;
}

/* =========================================================
   PRODUCT CARDS
========================================================= */

.hmepx-card{
    position:relative;
    min-width:0;
    height:100%;
    margin:0;
    padding:0;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    background:#FFFFFF!important;
    border:1px solid var(--hmepx-border)!important;
    border-radius:var(--hmepx-radius)!important;
    box-shadow:0 3px 14px rgba(23,58,42,.035)!important;
    isolation:isolate;
    transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease!important;
}

.hmepx-card:hover{
    background:#FFFFFF!important;
    border-color:var(--hmepx-gold-soft)!important;
    box-shadow:0 8px 22px rgba(23,58,42,.06)!important;
    transform:translateY(-2px);
}

.hmepx-card-media{
    position:relative;
    width:100%;
    aspect-ratio:var(--hmepx-image-ratio);
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#FFFFFF!important;
    border-bottom:1px solid var(--hmepx-border)!important;
}

.hmepx-card-image-link{
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0;
    padding:0;
    background:#FFFFFF!important;
    text-decoration:none!important;
}

.hmepx-card-image,
.hmepx-card-media img,
.hmepx-card-image-link img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    max-height:none!important;
    margin:0!important;
    padding:var(--hmepx-image-padding)!important;
    object-fit:contain!important;
    object-position:center!important;
    background:#FFFFFF!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    filter:none!important;
    transition:transform .2s ease!important;
}

.hmepx-card:hover .hmepx-card-image,
.hmepx-card:hover .hmepx-card-media img{
    background:#FFFFFF!important;
    transform:scale(1.025);
}

.hmepx-sale-badge{
    position:absolute;
    top:7px;
    left:7px;
    z-index:12;
    min-width:37px;
    min-height:21px;
    padding:5px 7px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:#FFFFFF!important;
    background:var(--hmepx-forest)!important;
    border:1px solid var(--hmepx-forest)!important;
    border-radius:6px;
    box-shadow:0 4px 12px rgba(23,58,42,.10)!important;
    font:700 8.5px/1 'Cormorant Garamond',Georgia,serif!important;
    letter-spacing:.02em;
}

.hmepx-card-body{
    flex:1 1 auto;
    min-height:0;
    padding:9px 9px 10px;
    display:flex;
    flex-direction:column;
    background:#FFFFFF!important;
}

body .hmepx-card-title,
.hmepx-card-title{
    min-height:calc(var(--hmepx-title-size) * 2.7);
    margin:0 0 5px!important;
    padding:0!important;
    color:var(--hmepx-text)!important;
    font-family:'Cormorant Garamond',Georgia,serif!important;
    font-size:var(--hmepx-title-size)!important;
    font-weight:600!important;
    line-height:1.35!important;
    letter-spacing:0!important;
    display:-webkit-box!important;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
}

body .hmepx-card-title a,
.hmepx-card-title a{
    color:inherit!important;
    font:inherit!important;
    text-decoration:none!important;
}

.hmepx-card-title a:hover,
.hmepx-card:hover .hmepx-card-title a{
    color:var(--hmepx-gold-dark)!important;
}

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

.hmepx-price-row{
    min-height:23px;
    margin:0;
    display:flex;
    align-items:flex-end;
}

.hmepx-price{
    min-width:0;
    color:var(--hmepx-forest)!important;
    font:700 11.5px/1.18 'Cormorant Garamond',Georgia,serif!important;
}

.hmepx-price .woocommerce-Price-amount,
.hmepx-price .amount,
.hmepx-price ins,
.hmepx-price ins .woocommerce-Price-amount,
.hmepx-price .hmepx-current-only{
    color:var(--hmepx-forest)!important;
    font:inherit!important;
    text-decoration:none!important;
}

.hmepx-price del{
    display:block;
    margin:0 0 2px;
    color:#9A8F82!important;
    opacity:1!important;
    font:500 8.5px/1.05 'Cormorant Garamond',Georgia,serif!important;
}

.hmepx-price del .woocommerce-Price-amount,
.hmepx-price del .amount{
    color:inherit!important;
    font:inherit!important;
}

.hmepx-price ins{
    display:block;
    background:transparent!important;
}

.hmepx-price-missing{
    color:var(--hmepx-muted)!important;
    font:600 9.5px/1.2 'Cormorant Garamond',Georgia,serif!important;
}

/* =========================================================
   WISHLIST
========================================================= */

.hmepx-wishlist{
    position:absolute!important;
    top:6px!important;
    right:6px!important;
    z-index:20!important;
    width:30px!important;
    height:30px!important;
    margin:0!important;
    padding:0!important;
    display:block!important;
    border:0!important;
    border-radius:50%!important;
    overflow:hidden!important;
}

.hmepx-wishlist-ui{
    position:absolute!important;
    inset:0!important;
    z-index:1!important;
    width:30px!important;
    height:30px!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    color:var(--hmepx-forest)!important;
    background:#FFFFFF!important;
    border:1px solid var(--hmepx-border)!important;
    border-radius:50%!important;
    box-shadow:0 3px 10px rgba(23,58,42,.05)!important;
    cursor:pointer!important;
    appearance:none!important;
    -webkit-appearance:none!important;
    transition:color .15s ease,border-color .15s ease,background-color .15s ease!important;
}

.hmepx-wishlist-heart{
    width:13px!important;
    height:13px!important;
    display:block!important;
    fill:transparent!important;
    stroke:currentColor!important;
    stroke-width:1.8!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
}

.hmepx-wishlist-ui:hover{
    color:var(--hmepx-forest-deep)!important;
    border-color:var(--hmepx-forest)!important;
    background:var(--hmepx-cream)!important;
}

.hmepx-wishlist.is-added .hmepx-wishlist-ui{
    color:#FFFFFF!important;
    border-color:var(--hmepx-forest)!important;
    background:var(--hmepx-forest)!important;
}

.hmepx-wishlist.is-added .hmepx-wishlist-heart{
    fill:currentColor!important;
}

.hmepx-wishlist.is-busy .hmepx-wishlist-ui{
    opacity:.7!important;
    cursor:wait!important;
}

.hmepx-wishlist-engine{
    position:absolute!important;
    inset:0!important;
    z-index:2!important;
    width:100%!important;
    height:100%!important;
    overflow:hidden!important;
    opacity:.001!important;
    pointer-events:none!important;
}

.hmepx-wishlist-engine *{
    pointer-events:none!important;
}

/* =========================================================
   HOMEPAGE SLIDER
========================================================= */

.hmepx-slider{
    position:relative;
    width:100%;
    margin:0;
    padding:0 3px;
    --hmepx-slider-arrow-top:50%;
}

.hmepx-slider-track{
    width:100%;
    display:grid;
    grid-auto-flow:column;
    grid-auto-columns:calc((100% - (var(--hmepx-slider-desktop,6) - 1) * 10px) / var(--hmepx-slider-desktop,6));
    gap:10px;
    overflow-x:auto;
    overflow-y:hidden;
    scrollbar-width:none;
    scroll-snap-type:x proximity;
    -webkit-overflow-scrolling:touch;
    touch-action:pan-y;
}

.hmepx-slider-track::-webkit-scrollbar{
    display:none;
}

.hmepx-slider-track > .hmepx-card{
    scroll-snap-align:start;
}

.hmepx-slider-arrow{
    position:absolute!important;
    top:var(--hmepx-slider-arrow-top)!important;
    z-index:30!important;
    width:31px!important;
    height:42px!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    color:var(--hmepx-forest)!important;
    background:#FFFFFF!important;
    border:1px solid var(--hmepx-gold-soft)!important;
    border-radius:8px!important;
    box-shadow:0 4px 14px rgba(23,58,42,.07)!important;
    transform:translateY(-50%)!important;
    cursor:pointer!important;
}

.hmepx-slider-prev{left:5px!important}
.hmepx-slider-next{right:5px!important}

.hmepx-slider-arrow svg{
    width:15px!important;
    height:15px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.8!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
}

.hmepx-slider-arrow:hover:not(:disabled){
    color:#FFFFFF!important;
    background:var(--hmepx-forest)!important;
    border-color:var(--hmepx-forest)!important;
}

.hmepx-slider-arrow:disabled{
    opacity:.28!important;
    cursor:default!important;
}

/* =========================================================
   HOMEPAGE GRID / COMMON GRID
========================================================= */

.hmepx-grid-wrap{
    width:100%;
    margin:0;
}

.hmepx-grid{
    width:100%;
    display:grid;
    grid-template-columns:repeat(var(--hmepx-grid-desktop,6),minmax(0,1fr));
    gap:10px;
}

.hmepx-load-more-wrap{
    margin-top:14px;
    display:flex;
    justify-content:center;
}

.hmepx-load-more{
    min-width:142px;
    min-height:38px;
    margin:0!important;
    padding:9px 17px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    color:#FFFFFF!important;
    background:var(--hmepx-forest)!important;
    border:1px solid var(--hmepx-forest)!important;
    border-radius:4px!important;
    box-shadow:0 7px 18px rgba(23,58,42,.10)!important;
    font:700 9px/1 'Cormorant Garamond',Georgia,serif!important;
    letter-spacing:.04em!important;
    text-transform:uppercase!important;
    cursor:pointer!important;
}

.hmepx-load-more:hover,
.hmepx-load-more:focus{
    color:#FFFFFF!important;
    background:var(--hmepx-forest-deep)!important;
    border-color:var(--hmepx-forest-deep)!important;
}

.hmepx-load-more:disabled{
    opacity:.65!important;
    cursor:wait!important;
}

.hmepx-empty{
    padding:18px;
    color:var(--hmepx-muted)!important;
    background:var(--hmepx-ivory)!important;
    border:1px solid var(--hmepx-border)!important;
    border-radius:12px!important;
    font:500 12px/1.55 'Cormorant Garamond',Georgia,serif!important;
}

/* =========================================================
   CATEGORY ARCHIVE — CLEAN / SIMPLIFIED
========================================================= */

.hmepx-archive{
    width:100%;
    max-width:none!important;
    margin:0!important;
    padding:13px 0 30px!important;
    background:#FCFAF6!important;
    color:var(--hmepx-text)!important;
}

.hmepx-archive-inner{
    width:min(1600px,94vw);
    max-width:none!important;
    margin:0 auto!important;
    padding:0!important;
}

.hmepx-breadcrumbs{
    min-width:0;
    margin:0 0 8px!important;
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:5px;
    color:var(--hmepx-muted)!important;
    font:600 8.5px/1.35 'Cormorant Garamond',Georgia,serif!important;
}

.hmepx-breadcrumbs a{
    color:var(--hmepx-forest-soft)!important;
    text-decoration:none!important;
}

.hmepx-breadcrumbs a:hover{
    color:var(--hmepx-forest)!important;
}

.hmepx-breadcrumbs__current{
    color:var(--hmepx-text)!important;
}

.hmepx-archive-hero{
    position:relative;
    overflow:hidden;
    padding:22px 26px;
    background:var(--hmepx-ivory)!important;
    border:1px solid var(--hmepx-border)!important;
    border-radius:14px!important;
    box-shadow:0 7px 24px rgba(23,58,42,.04)!important;
}

.hmepx-archive-hero:after{
    content:"";
    position:absolute;
    right:-44px;
    top:-48px;
    width:108px;
    height:108px;
    border-radius:50%;
    background:rgba(181,145,87,.10)!important;
    border:1px solid rgba(181,145,87,.18)!important;
    pointer-events:none;
}

.hmepx-archive-hero h1{
    position:relative;
    z-index:1;
    margin:0!important;
    padding:0!important;
    color:var(--hmepx-forest)!important;
    font-family:'Cormorant Garamond',Georgia,serif!important;
    font-size:clamp(34px,4vw,48px)!important;
    line-height:1!important;
    font-weight:500!important;
    letter-spacing:-.01em!important;
}

/* =========================================================
   CHILD CATEGORIES
========================================================= */

.hmepx-category-section,
.hmepx-products-section{
    margin-top:10px;
    padding:15px;
    background:#FFFFFF!important;
    border:1px solid var(--hmepx-border)!important;
    border-radius:14px!important;
}

.hmepx-section-heading{
    min-width:0;
    margin:0 0 10px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
}

.hmepx-section-heading h2{
    margin:0!important;
    padding:0!important;
    color:var(--hmepx-forest)!important;
    font-family:'Cormorant Garamond',Georgia,serif!important;
    font-size:27px!important;
    line-height:1.05!important;
    font-weight:600!important;
}

.hmepx-category-nav{
    display:flex;
    align-items:center;
    gap:5px;
}

.hmepx-category-nav button{
    width:31px!important;
    height:31px!important;
    min-width:31px!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    color:var(--hmepx-forest)!important;
    background:#FFFFFF!important;
    border:1px solid var(--hmepx-gold-soft)!important;
    border-radius:7px!important;
    cursor:pointer!important;
}

.hmepx-category-nav button:hover:not(:disabled){
    color:#FFFFFF!important;
    background:var(--hmepx-forest)!important;
    border-color:var(--hmepx-forest)!important;
}

.hmepx-category-nav button:disabled{
    opacity:.3!important;
    cursor:default!important;
}

.hmepx-category-nav svg{
    width:13px;
    height:13px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.hmepx-category-grid{
    width:100%;
    display:flex;
    gap:8px;
    overflow-x:auto;
    overflow-y:hidden;
    padding:1px 1px 3px;
    scrollbar-width:none;
    scroll-snap-type:x proximity;
    -webkit-overflow-scrolling:touch;
    touch-action:pan-y;
}

.hmepx-category-grid::-webkit-scrollbar{
    display:none;
}

.hmepx-category-card{
    width:calc((100% - 24px)/4);
    min-width:calc((100% - 24px)/4);
    max-width:calc((100% - 24px)/4);
    flex:0 0 calc((100% - 24px)/4);
    min-height:73px;
    padding:7px;
    display:grid;
    grid-template-columns:57px minmax(0,1fr) 24px;
    align-items:center;
    gap:8px;
    color:var(--hmepx-text)!important;
    background:#FFFFFF!important;
    border:1px solid var(--hmepx-border)!important;
    border-radius:10px!important;
    box-shadow:0 3px 12px rgba(23,58,42,.025)!important;
    text-decoration:none!important;
    scroll-snap-align:start;
    transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease!important;
}

.hmepx-category-card:hover{
    color:var(--hmepx-text)!important;
    background:#FAF7F1!important;
    border-color:var(--hmepx-gold-soft)!important;
    box-shadow:0 6px 18px rgba(23,58,42,.05)!important;
    transform:translateY(-1px);
}

.hmepx-category-card-media{
    width:57px;
    height:57px;
    min-width:57px;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    background:#FFFFFF!important;
    border:1px solid var(--hmepx-border)!important;
    border-radius:8px!important;
}

.hmepx-category-image,
.hmepx-category-card-media img{
    width:100%!important;
    height:100%!important;
    display:block!important;
    padding:4px!important;
    object-fit:contain!important;
    background:#FFFFFF!important;
    filter:none!important;
}

.hmepx-category-fallback{
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:var(--hmepx-cream)!important;
    color:var(--hmepx-forest)!important;
}

.hmepx-category-fallback svg{
    width:29px;
    height:29px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.hmepx-category-card-copy{
    min-width:0;
    display:block;
}

.hmepx-category-card-copy strong{
    display:block;
    overflow:hidden;
    color:var(--hmepx-forest)!important;
    font:600 16px/1.05 'Cormorant Garamond',Georgia,serif!important;
    white-space:nowrap;
    text-overflow:ellipsis;
}

.hmepx-category-card-arrow{
    width:24px;
    height:24px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:var(--hmepx-cream)!important;
    border:1px solid var(--hmepx-border)!important;
    border-radius:50%;
    color:var(--hmepx-forest)!important;
    font:700 10px/1 'Cormorant Garamond',Georgia,serif!important;
    transition:background-color .16s ease,color .16s ease,transform .16s ease!important;
}

.hmepx-category-card:hover .hmepx-category-card-arrow{
    background:var(--hmepx-forest)!important;
    border-color:var(--hmepx-forest)!important;
    color:#FFFFFF!important;
    transform:translateX(2px);
}

/* =========================================================
   ARCHIVE SEARCH / SORT
========================================================= */

.hmepx-products-section{
    padding-top:13px;
}

.hmepx-archive-tools{
    width:100%;
    margin:0 0 11px!important;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:6px;
    flex-wrap:wrap;
}

.hmepx-search-field{
    width:min(260px,40vw);
    min-height:37px;
    padding:0 10px;
    display:flex;
    align-items:center;
    gap:7px;
    background:#FFFFFF!important;
    border:1px solid var(--hmepx-border)!important;
    border-radius:8px!important;
}

.hmepx-search-field:hover,
.hmepx-search-field:focus-within{
    border-color:var(--hmepx-forest)!important;
}

.hmepx-search-field svg{
    width:14px;
    height:14px;
    flex:0 0 14px;
    fill:none;
    stroke:var(--hmepx-forest-soft)!important;
    stroke-width:1.7;
    stroke-linecap:round;
}

.hmepx-search-field input{
    width:100%;
    height:35px;
    margin:0!important;
    padding:0!important;
    color:var(--hmepx-text)!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    outline:0!important;
    font:500 10px/1 'Cormorant Garamond',Georgia,serif!important;
}

.hmepx-search-field input::placeholder{
    color:#9A8F82!important;
}

.hmepx-sort-field{
    min-height:37px;
    padding:0 8px;
    display:flex;
    align-items:center;
    gap:6px;
    background:#FFFFFF!important;
    border:1px solid var(--hmepx-border)!important;
    border-radius:8px!important;
}

.hmepx-sort-field:hover,
.hmepx-sort-field:focus-within{
    border-color:var(--hmepx-forest)!important;
}

.hmepx-sort-field > span{
    color:var(--hmepx-forest-soft)!important;
    font:700 7.5px/1 'Cormorant Garamond',Georgia,serif!important;
    text-transform:uppercase;
}

.hmepx-sort-field select{
    height:33px!important;
    margin:0!important;
    padding:0 22px 0 2px!important;
    color:var(--hmepx-text)!important;
    background:#FFFFFF!important;
    border:0!important;
    box-shadow:none!important;
    outline:0!important;
    font:600 9.5px/1 'Cormorant Garamond',Georgia,serif!important;
}

.hmepx-filter-apply,
.hmepx-filter-clear{
    min-height:37px;
    padding:8px 12px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:8px!important;
    font:700 8.5px/1 'Cormorant Garamond',Georgia,serif!important;
    letter-spacing:.02em!important;
    text-decoration:none!important;
    cursor:pointer!important;
}

.hmepx-filter-apply{
    color:#FFFFFF!important;
    background:var(--hmepx-forest)!important;
    border:1px solid var(--hmepx-forest)!important;
    box-shadow:0 5px 14px rgba(23,58,42,.09)!important;
}

.hmepx-filter-apply:hover,
.hmepx-filter-apply:focus{
    color:#FFFFFF!important;
    background:var(--hmepx-forest-deep)!important;
    border-color:var(--hmepx-forest-deep)!important;
}

.hmepx-filter-clear{
    color:var(--hmepx-forest-soft)!important;
    background:#FFFFFF!important;
    border:1px solid var(--hmepx-gold-soft)!important;
}

.hmepx-filter-clear:hover,
.hmepx-filter-clear:focus{
    color:var(--hmepx-forest)!important;
    background:var(--hmepx-cream)!important;
    border-color:var(--hmepx-forest)!important;
}

.hmepx-archive-grid{
    grid-template-columns:repeat(var(--hmepx-archive-desktop,6),minmax(0,1fr));
}

/* Prevent the desktop-only 16th initial card from flashing before JS trims it. */
@media(min-width:768px){
    .hmepx-archive-grid.hmepx-before-normalize[data-hmepx-archive-responsive="1"] > .hmepx-card:nth-child(n+16){
        display:none!important;
    }
}

/* =========================================================
   PAGINATION / EMPTY STATE
========================================================= */

.hmepx-pagination{
    margin-top:16px;
}

.hmepx-pagination ul{
    display:flex;
    gap:5px;
    justify-content:center;
    list-style:none;
    margin:0;
    padding:0;
}

.hmepx-pagination a,
.hmepx-pagination span{
    min-width:33px;
    height:33px;
    padding:0 8px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#FFFFFF!important;
    border:1px solid var(--hmepx-border)!important;
    border-radius:7px!important;
    color:var(--hmepx-forest-soft)!important;
    font:700 9px/1 'Cormorant Garamond',Georgia,serif!important;
    text-decoration:none!important;
}

.hmepx-pagination .current,
.hmepx-pagination a:hover{
    background:var(--hmepx-forest)!important;
    border-color:var(--hmepx-forest)!important;
    color:#FFFFFF!important;
}

.hmepx-archive-empty h2{
    margin:0 0 4px!important;
    color:var(--hmepx-forest)!important;
    font:600 25px/1 'Cormorant Garamond',Georgia,serif!important;
}

.hmepx-archive-empty p{
    margin:0!important;
    color:var(--hmepx-muted)!important;
    font:400 12px/1.5 'Cormorant Garamond',Georgia,serif!important;
}

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

.hmepx-slider a:focus-visible,
.hmepx-slider button:focus-visible,
.hmepx-grid-wrap a:focus-visible,
.hmepx-grid-wrap button:focus-visible,
.hmepx-archive a:focus-visible,
.hmepx-archive button:focus-visible,
.hmepx-archive input:focus-visible,
.hmepx-archive select:focus-visible{
    outline:2px solid var(--hmepx-gold)!important;
    outline-offset:3px!important;
}

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

@media(min-width:1450px){
    .hmepx-category-card{
        width:calc((100% - 32px)/5);
        min-width:calc((100% - 32px)/5);
        max-width:calc((100% - 32px)/5);
        flex-basis:calc((100% - 32px)/5);
    }
}

@media(min-width:768px) and (max-width:1100px){
    .hmepx-slider-track{
        grid-auto-columns:calc((100% - 20px)/3);
        gap:10px;
    }

    .hmepx-grid,
    .hmepx-archive-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:10px;
    }

    .hmepx-category-card{
        width:calc((100% - 16px)/3);
        min-width:calc((100% - 16px)/3);
        max-width:calc((100% - 16px)/3);
        flex-basis:calc((100% - 16px)/3);
    }

    .hmepx-archive-tools{
        justify-content:flex-start;
    }

    .hmepx-search-field{
        width:min(320px,55vw);
    }
}

@media(max-width:767px){
    .hmepx-slider{
        padding:0!important;
    }

    .hmepx-slider-track{
        grid-auto-columns:calc((100% - (var(--hmepx-slider-mobile,2) - 1) * 8px) / var(--hmepx-slider-mobile,2));
        gap:8px;
        padding-left:0!important;
        padding-right:0!important;
    }

    .hmepx-slider-arrow{
        width:30px!important;
        height:39px!important;
        border-radius:7px!important;
    }

    .hmepx-slider-prev{left:4px!important}
    .hmepx-slider-next{right:4px!important}

    .hmepx-grid{
        grid-template-columns:repeat(var(--hmepx-grid-mobile,2),minmax(0,1fr));
        gap:8px;
    }

    .hmepx-card-body{
        padding:7px 7px 8px;
    }

    body .hmepx-card-title,
    .hmepx-card-title{
        min-height:28px;
        margin-bottom:4px!important;
        font-size:12.5px!important;
        line-height:1.24!important;
    }

    .hmepx-card-image,
    .hmepx-card-media img{
        padding:min(var(--hmepx-image-padding),5px)!important;
    }

    .hmepx-price-row{
        min-height:21px;
    }

    .hmepx-price{
        font-size:12px!important;
    }

    .hmepx-price del{
        font-size:8.5px!important;
    }

    .hmepx-sale-badge{
        top:5px;
        left:5px;
        min-width:33px;
        min-height:18px;
        padding:4px 5px;
        font-size:7px!important;
    }

    .hmepx-wishlist{
        top:5px!important;
        right:5px!important;
        width:27px!important;
        height:27px!important;
    }

    .hmepx-wishlist-ui{
        width:27px!important;
        height:27px!important;
    }

    .hmepx-wishlist-heart{
        width:12px!important;
        height:12px!important;
    }

    .hmepx-archive{
        padding:9px 0 22px!important;
    }

    .hmepx-archive-inner{
        width:94vw;
    }

    .hmepx-breadcrumbs{
        margin-bottom:6px!important;
        font-size:8px!important;
    }

    .hmepx-archive-hero{
        padding:18px 15px;
        border-radius:14px!important;
    }

    .hmepx-archive-hero:after{
        width:84px;
        height:84px;
        right:-38px;
        top:-39px;
    }

    .hmepx-archive-hero h1{
        font-size:36px!important;
    }

    .hmepx-category-section,
    .hmepx-products-section{
        margin-top:8px;
        padding:12px;
        border-radius:12px!important;
    }

    .hmepx-section-heading{
        margin-bottom:8px;
    }

    .hmepx-section-heading h2{
        font-size:25px!important;
    }

    .hmepx-category-nav button{
        width:29px!important;
        height:29px!important;
        min-width:29px!important;
        border-radius:6px!important;
    }

    .hmepx-category-grid{
        gap:7px;
        padding:1px 8px 3px 0;
    }

    .hmepx-category-card{
        width:80%;
        min-width:80%;
        max-width:80%;
        flex:0 0 80%;
        min-height:69px;
        grid-template-columns:51px minmax(0,1fr) 22px;
        padding:6px;
        gap:7px;
    }

    .hmepx-category-card-media{
        width:51px;
        height:51px;
        min-width:51px;
    }

    .hmepx-category-card-copy strong{
        font-size:15px!important;
    }

    .hmepx-category-card-arrow{
        width:22px;
        height:22px;
    }

    .hmepx-category-card:hover{
        transform:none;
    }

    .hmepx-archive-tools{
        width:100%;
        margin-bottom:9px!important;
        gap:5px;
        justify-content:flex-start;
    }

    .hmepx-search-field{
        width:100%;
    }

    .hmepx-sort-field{
        flex:1 1 auto;
    }

    .hmepx-sort-field select{
        width:100%;
    }

    .hmepx-filter-apply,
    .hmepx-filter-clear{
        min-height:35px;
    }

    .hmepx-archive-grid{
        grid-template-columns:repeat(var(--hmepx-archive-mobile,2),minmax(0,1fr));
        gap:8px;
    }

    .hmepx-load-more{
        width:100%;
        min-height:36px;
    }
}

@media(max-width:420px){
    .hmepx-category-card{
        width:86%;
        min-width:86%;
        max-width:86%;
        flex-basis:86%;
    }
}

@media(max-width:380px){
    .hmepx-slider-track{gap:7px}
    .hmepx-slider-arrow{width:28px!important;height:37px!important}
    .hmepx-grid{gap:7px}
    body .hmepx-card-title,
    .hmepx-card-title{font-size:12px!important}
}

@media(prefers-reduced-motion:reduce){
    .hmepx-card,
    .hmepx-card-image,
    .hmepx-slider-arrow,
    .hmepx-category-card,
    .hmepx-category-card-arrow,
    .hmepx-load-more{
        transition:none!important;
    }

    .hmepx-card:hover,
    .hmepx-card:hover .hmepx-card-image,
    .hmepx-category-card:hover{
        transform:none!important;
    }
}
