/* EShop product grid – styled to match the YOOtheme theme (gold #8D7034, ink #353c57) */
#products-list-container { --es-accent:#8D7034; --es-ink:#353c57; --es-muted:#7a8094; --es-line:#e6e2d8; --es-radius:6px; }

/* sort bar: sorting only, right aligned */
#products-list-container .sortPagiBar { margin:0 0 30px; }
#products-list-container .sortPagiBar form { display:flex; justify-content:flex-end; }
#products-list-container .eshop-product-sorting { display:flex; align-items:center; gap:10px; margin:0; }
#products-list-container .eshop-product-sorting b { font-weight:700; text-transform:uppercase; letter-spacing:1.2px; font-size:12px; color:var(--es-muted); }
#products-list-container .eshop-product-sorting select { height:40px; padding:0 36px 0 14px; border:1px solid var(--es-line); border-radius:var(--es-radius); background-color:#fff; color:var(--es-ink); width:auto; min-width:200px; }
#products-list-container .eshop-product-sorting select:focus { outline:none; border-color:var(--es-accent); }

/* grid */
#products-list-container #products-list { margin:0; min-height:0; }
.eshop-products-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:30px; }
@media (min-width:960px) { .eshop-products-grid { grid-template-columns:repeat(3,1fr); gap:40px; } }
@media (max-width:639px) { .eshop-products-grid { grid-template-columns:1fr; } }

/* card */
.eshop-product-card { display:flex; flex-direction:column; margin:0 !important; width:auto !important; float:none !important; padding:0 !important; overflow:hidden; border-radius:var(--es-radius); transition:transform .25s ease, box-shadow .25s ease; }
.eshop-product-card:hover { transform:translateY(-4px); box-shadow:0 22px 60px 0 rgba(85,95,109,.18); }

.eshop-product-card .eshop-image-block { position:relative; background:#f7f5ef; padding:28px 28px 20px; text-align:center; }
.eshop-product-card .eshop-image-block .image { border:0 !important; padding:0 !important; background:none !important; box-shadow:none !important; margin:0; }
.eshop-product-card .eshop-image-block .image a { display:block; position:relative; }
.eshop-product-card .product-image img { display:block; margin:0 auto; max-width:100%; height:auto; max-height:380px; width:auto; box-shadow:0 12px 28px rgba(53,60,87,.22); transition:transform .3s ease; }
.eshop-product-card:hover .product-image img { transform:scale(1.03); }

.eshop-product-card .eshop-quickview-button { position:absolute; top:12px; right:12px; display:flex; align-items:center; justify-content:center; width:38px; height:38px; padding:0; border:0; border-radius:50%; background:#fff; color:var(--es-ink); box-shadow:0 4px 14px rgba(53,60,87,.18); opacity:0; transform:translateY(-4px); transition:all .2s ease; }
.eshop-product-card .eshop-quickview-button svg { width:18px; height:18px; }
.eshop-product-card:hover .eshop-quickview-button, .eshop-product-card .eshop-quickview-button:focus { opacity:1; transform:none; }
.eshop-product-card .eshop-quickview-button:hover { background:var(--es-accent); color:#fff; }
@media (hover:none) { .eshop-product-card .eshop-quickview-button { opacity:1; transform:none; } }

/* info */
.eshop-product-card .eshop-info-block { flex:1 1 auto; padding:24px 28px 8px; text-align:center; }
.eshop-product-card .eshop-product-title { margin:0 0 10px; font-size:22px; line-height:1.3; }
.eshop-product-card .eshop-product-title a { color:var(--es-ink); text-decoration:none; }
.eshop-product-card .eshop-product-title a:hover { color:var(--es-accent); }
.eshop-product-card .eshop-product-desc { color:var(--es-muted); font-size:15px; line-height:1.6; margin:0 0 14px; display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; }
.eshop-product-card .eshop-product-desc p { margin:0; }
.eshop-product-card .eshop-product-price { margin:0 0 6px; }
.eshop-product-card .product-price, .eshop-product-card .base-price { font-size:24px; font-weight:700; color:var(--es-accent); }
.eshop-product-card .sale-price, .eshop-product-card .product-price .price { color:var(--es-accent); }
.eshop-product-card .product-availability { font-size:13px; color:var(--es-muted); }

/* buttons area */
.eshop-product-card .eshop-buttons { padding:12px 28px 28px; border-top:0; }
.eshop-product-card .eshop-cart-area { display:flex; align-items:stretch; justify-content:center; gap:12px; margin:0; flex-wrap:wrap; }
.eshop-product-card .eshop-cart-area .uk-button { flex:1 1 auto; white-space:nowrap; padding:0 22px; line-height:46px; border-radius:var(--es-radius); cursor:pointer; }
.eshop-product-card .eshop-cart-area .uk-button:hover { background:var(--es-accent); color:#fff; border-color:var(--es-accent); }

/* quantity stepper */
.eshop-quantity-wrap { display:flex; }
.eshop-product-card .eshop-quantity { display:inline-flex; align-items:center; margin:0; height:48px; border:1px solid var(--es-line); border-radius:var(--es-radius); background:#fff; overflow:hidden; transition:border-color .2s; }
.eshop-product-card .eshop-quantity:focus-within, .eshop-product-card .eshop-quantity:hover { border-color:var(--es-accent); }
.eshop-product-card .eshop-quantity-button { display:flex; align-items:center; justify-content:center; width:38px; height:100%; padding:0; margin:0; border:0; border-radius:0; background:transparent; color:var(--es-ink); cursor:pointer; transition:background .15s, color .15s; -webkit-appearance:none; appearance:none; }
.eshop-product-card .eshop-quantity-button:hover { background:var(--es-accent); color:#fff; }
.eshop-product-card .eshop-quantity-button:focus-visible { outline:2px solid var(--es-accent); outline-offset:-2px; }
.eshop-product-card .eshop-quantity-value { width:44px !important; height:100%; padding:0; margin:0; border:0 !important; border-radius:0; box-shadow:none !important; background:transparent; text-align:center; font-size:16px; font-weight:700; color:var(--es-ink); -moz-appearance:textfield; }
.eshop-product-card .eshop-quantity-value:focus { outline:none; }

/* secondary actions (wishlist / compare) */
.eshop-product-card .eshop-buttons .btn-group, .eshop-product-card .eshop-buttons > div:not(.eshop-cart-area) { margin-top:12px; display:flex; justify-content:center; gap:16px; font-size:13px; }
.eshop-product-card .eshop-buttons a:not(.uk-button) { color:var(--es-muted); }
.eshop-product-card .eshop-buttons a:not(.uk-button):hover { color:var(--es-accent); }
