/* EDC frontend styles */
.edc-product-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 16px; }
.edc-item { border: 1px solid #eee; padding: 12px; border-radius: 8px; }
.edc-images { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.edc-images .edc-image img { display: block; height: auto; }
.edc-variant-attrs { margin: 0; padding: 0; list-style: none; }
.edc-variant-attr { margin-bottom: 8px; }
.edc-variant-attr-values { display: flex; flex-wrap: wrap; gap: 8px; }
.edc-variant-attr-value { border: 1px dashed #ccc; padding: 6px 8px; border-radius: 6px; cursor: pointer; transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease; }
.edc-variant-attr-value:hover { border-color: #999; background: #f7f7f7; }
.edc-variant-attr-value.selected,
.edc-variant-attr-value[aria-pressed="true"] {  box-shadow: 0 0 0 2px rgba(0,115,170,0.2) inset; }
.edc-variant-attr.locked .edc-variant-attr-value { opacity: 0.5; cursor: not-allowed; }
.edc-variant-attr.locked .edc-variant-attr-value.selected { opacity: 1; cursor: default; }
/* Hide elements marked as not-to-expose */
.edc-variant-attr.edc-hidden { display: none !important; }
@keyframes edc-shake { 0%{transform:translateX(0);} 25%{transform:translateX(-2px);} 50%{transform:translateX(2px);} 75%{transform:translateX(-2px);} 100%{transform:translateX(0);} }
.edc-variant-attr-value.shake { animation: edc-shake .3s ease; }
.edc-category-filter select { min-width: 200px; padding: 6px 8px; }
.edc-qty { max-width: 100px;}
.edc-add-to-cart-wrap.edc-add-to-cart-disabled {
    opacity: 0.3;
    pointer-events: none;
}

.edc-add-to-cart-wrap.edc-add-to-cart-disabled .edc-add-to-cart,
.edc-add-to-cart-wrap.edc-add-to-cart-disabled .edc-qty {
    cursor: not-allowed;
}