.spacer-product-listing-wrapper{
    list-style:none;
}

body.spacer-theme .shop-section--products ul.products{
    display:grid;
    grid-template-columns:minmax(0, 1fr);
    gap:var(--cluster-gap-md);
    margin:0;
}

body.spacer-theme .shop-section--products ul.products li.product.spacer-product-listing-wrapper{
    float:none;
    width:100%;
    margin:0 !important;
}

.spacer-product-listing{
    box-sizing:border-box;
    display:grid;
    grid-template-columns:var(--size-84) minmax(0, 1fr) minmax(var(--max-width-col-md), var(--max-width-col-lg));
    align-items:center;
    gap:var(--cluster-gap-panel);
    width:100%;
    padding:var(--space-12) var(--space-16);
    border:var(--border-subtle);
    border-radius:var(--radius-lg);
    background:#fff;
}

body.spacer-theme .front-page-products-section .spacer-product-listing,
body.spacer-theme .shop-archive__products .spacer-product-listing{
    min-height:calc(var(--size-84) + (var(--space-12) * 2));
}

.spacer-product-listing__media{
    box-sizing:border-box;
    display:block;
    width:var(--size-84);
    height:auto;
    aspect-ratio:4 / 3;
    overflow:hidden;
    border:var(--border-subtle);
    border-radius:var(--radius-md);
    background:#fff;
    padding:var(--space-6);
}

.spacer-product-listing__media img{
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
}

.spacer-product-listing__main{
    display:grid;
    gap:var(--space-8);
    min-width:0;
    max-width:var(--max-width-copy);
}

body.spacer-theme .spacer-product-listing__title{
    margin:0;
    padding:0 !important;
    font-family:var(--spacer-font-heading);
    font-size:var(--fs-17);
    line-height:var(--lh-heading-loose);
    font-weight:800;
}

body.spacer-theme .spacer-product-listing__title a{
    color:inherit;
    text-decoration:none;
}

.spacer-product-listing__meta{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:var(--space-8) var(--space-14);
    color:var(--spacer-muted);
    font-size:var(--fs-14);
    line-height:var(--lh-ui);
}

.spacer-product-listing__stock{
    position:relative;
    padding-left:var(--space-12);
}

.spacer-product-listing__stock::before{
    content:"";
    position:absolute;
    left:0;
    top:50%;
    width:6px;
    height:6px;
    margin-top:-3px;
    background:currentColor;
}

.spacer-product-listing__stock.is-in-stock{
    color:#166534;
}

.spacer-product-listing__stock.is-backorder{
    color:#92400e;
}

.spacer-product-listing__description{
    margin:0;
    color:var(--spacer-muted);
    font-size:var(--fs-13);
    line-height:var(--lh-meta);
}

.spacer-product-listing__aside{
    display:grid;
    justify-items:end;
    align-content:center;
    gap:var(--space-8);
    width:100%;
    min-width:var(--max-width-col-md);
    max-width:var(--max-width-col-lg);
}

.spacer-product-listing__price,
.spacer-product-listing__price .price{
    color:var(--spacer-accent-dark);
    font-size:var(--fs-18);
    line-height:var(--lh-section);
    font-weight:800;
    text-align:right;
}

.spacer-product-listing__options-prompt{
    display:inline-grid;
    gap:var(--space-2);
    justify-self:start;
    justify-items:start;
    color:var(--brand-primary);
    font-size:var(--fs-12);
    line-height:var(--lh-ui);
    font-weight:700;
    text-align:left;
    text-decoration:none;
}

.spacer-product-listing__options-prompt span{
    color:var(--spacer-muted);
    font-weight:800;
    letter-spacing:var(--type-kicker-tracking);
    text-transform:uppercase;
}

.spacer-product-listing__options-prompt strong{
    color:inherit;
    font-size:var(--fs-13);
    font-weight:800;
    text-decoration:underline;
    text-underline-offset:3px;
}

.spacer-product-listing__options-prompt:hover strong,
.spacer-product-listing__options-prompt:focus-visible strong{
    text-decoration-thickness:2px;
}

.spacer-product-listing__actions,
.spacer-product-listing__actions form.cart{
    display:grid;
    grid-auto-flow:column;
    grid-auto-columns:max-content;
    align-items:center;
    justify-content:flex-end;
    gap:var(--space-8);
}

.spacer-product-listing__purchase,
.spacer-product-listing__purchase form.cart{
    display:grid;
    grid-template-columns:var(--size-96) minmax(var(--size-150), var(--size-180));
    align-items:center;
    justify-content:end;
    gap:var(--space-12);
}

.spacer-product-listing__actions{
    width:max-content;
    max-width:100%;
    margin-left:auto;
}

.spacer-product-listing__actions form.cart,
.spacer-product-listing__purchase,
.spacer-product-listing__purchase form.cart{
    width:max-content;
}

.spacer-product-listing__actions .button,
.spacer-product-listing__actions button,
.spacer-product-listing__actions input[type="submit"],
.spacer-product-listing__actions .quantity .qty,
.spacer-product-listing__actions form.cart{
    margin:0;
}

.spacer-product-listing__actions form.cart{
    padding:0;
    border:0;
    background:transparent;
    box-shadow:none !important;
}

body.spacer-theme .spacer-product-listing__actions .quantity{
    display:flex;
    align-items:center;
    align-self:center;
    width:var(--size-96);
    min-width:var(--size-96);
    max-width:var(--size-96);
}

body.spacer-theme .spacer-product-listing__actions .spacer-quantity-control{
    display:inline-grid;
}

body.spacer-theme .spacer-product-listing__actions .quantity .qty,
body.spacer-theme .spacer-product-listing__actions input.qty{
    box-sizing:border-box;
    width:var(--size-56);
    min-width:var(--size-56);
    height:var(--control-height-compact);
    min-height:var(--control-height-compact);
    padding:var(--space-2) var(--space-8);
    border:1px solid rgba(31,26,23,0.1);
    border-radius:var(--control-radius-compact) !important;
    background:#fff;
    font-size:var(--fs-14);
    line-height:var(--lh-solid);
    text-align:center;
}

body.spacer-theme .spacer-product-listing__actions .quantity .spacer-quantity-control__input,
body.spacer-theme .spacer-product-listing__actions input.qty.spacer-quantity-control__input{
    width:var(--size-36);
    min-width:var(--size-36);
    height:var(--size-28);
    min-height:var(--size-28) !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    font-size:var(--fs-13);
}

.spacer-product-listing__actions .button,
.shop-section--products .spacer-product-listing__actions .button,
.shop-section--products ul.products li.product .spacer-product-listing__actions .button,
.shop-section--products .woocommerce ul.products li.product .spacer-product-listing__actions .button,
.shop-section--products .woocommerce-page ul.products li.product .spacer-product-listing__actions .button{
    box-sizing:border-box;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    align-self:center;
    margin-top:0 !important;
    height:var(--control-height-compact);
    min-height:var(--control-height-compact);
    padding:0 var(--space-14);
    border-radius:var(--button-radius) !important;
    font-size:var(--fs-13);
    font-weight:700;
    line-height:var(--lh-ui);
    white-space:normal;
    overflow-wrap:normal;
    word-break:normal;
    hyphens:none;
    text-align:center;
}

.spacer-product-listing__favorite{
    display:grid;
    place-items:center;
    box-sizing:border-box;
    align-self:center;
    justify-self:start;
    width:var(--control-height-compact);
    min-width:var(--control-height-compact);
    height:var(--control-height-compact);
    border:var(--border-strong);
    background:#fff;
    color:#5b6470;
    text-decoration:none;
}

.spacer-product-listing__favorite svg{
    width:var(--space-18);
    height:var(--space-18);
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
}

.spacer-product-listing__favorite:hover{
    color:var(--brand-primary);
    border-color:rgba(222,0,8,0.24);
}

.spacer-product-listing__favorite.is-active{
    color:var(--brand-primary);
    border-color:rgba(222,0,8,0.28);
    background:rgba(222,0,8,0.08);
}

.spacer-product-listing__favorite.is-active svg{
    fill:currentColor;
}

.spacer-product-listing__favorite.is-loading{
    pointer-events:none;
    opacity:0.68;
}

.spacer-favorite-toast{
    position:fixed;
    right:24px;
    bottom:24px;
    z-index:var(--z-toast-high);
    max-width:min(320px, calc(100vw - 32px));
    padding:var(--space-12) var(--space-16);
    border-radius:var(--radius-12);
    background:#1f1a17;
    color:#fff;
    box-shadow:var(--shadow-toast);
    font-size:var(--fs-15);
    font-weight:700;
    line-height:var(--lh-meta);
    opacity:0;
    transform:translateY(12px);
    pointer-events:none;
    transition:opacity var(--motion-base) var(--ease-standard), transform var(--motion-base) var(--ease-standard);
}

.spacer-favorite-toast.is-visible{
    opacity:1;
    transform:translateY(0);
}

.spacer-favorite-toast.is-success{
    background:#1f1a17;
}

.spacer-favorite-toast.is-error{
    background:#b42318;
}

