/* Product archive only. Sidebar, header and footer deliberately keep their own styles. */
.elementor-1616{background:#faf8f5;}
.elementor-1616 .cy-shop-intro .elementor-heading-title{margin:0;}
.cy-shop-tags{display:flex;flex-wrap:wrap;gap:10px;}
.cy-shop-tags a{display:inline-flex;align-items:center;gap:10px;border:1px solid #eee8e4;border-radius:30px;background:#fff;padding:7px 14px;font-size:12px;line-height:1.4;color:#29242a;}
.cy-shop-tags a span{color:#9a40a2;font-size:11px;}
.cy-shop-tags a:hover,.cy-shop-tags a:focus-visible{border-color:#7b1f66;color:#7b1f66;}
.elementor-1616 .cy-shop-main{min-width:0;}
.elementor-1616 .cy-shop-main .elementor-widget-search{max-width:370px;align-self:flex-end;width:100%;}
.elementor-1616 .cy-shop-main .e-search-input{min-height:40px;font-size:13px;}
.elementor-1616 .cy-shop-sort{margin-bottom:-52px;align-self:flex-end;position:relative;z-index:2;width:auto;max-width:55%;}
.cy-shop-sort .woocommerce-ordering{float:none;margin:0;}
.cy-shop-sort select{height:34px;min-height:34px;border:1px solid #e9e4e8;border-radius:30px;background-color:#fff;font-size:12px;padding:5px 30px 5px 12px;max-width:100%;}
.elementor-1616 .cy-shop-grid .woo-listing-top{min-height:38px;margin-bottom:20px;display:flex;align-items:center;padding-right:48%;}
.elementor-1616 .cy-shop-grid .woocommerce-result-count{display:block;font-size:12px;color:#787078;margin:0;}
.elementor-1616 .cy-shop-grid ul.products{display:grid;gap:24px 20px;margin:0;}
.elementor-1616 .cy-shop-grid ul.products:before,.elementor-1616 .cy-shop-grid ul.products:after{display:none;}
.elementor-1616 .cy-shop-grid ul.products li.product{width:100%;margin:0;padding:0 0 13px;display:flex;flex-direction:column;gap:0;background:#fff;border:1px solid #eee9ed;border-radius:10px;overflow:hidden;box-shadow:none;transition:box-shadow .2s,transform .2s;}
.elementor-1616 .cy-shop-grid ul.products li.product:hover{transform:translateY(-3px);box-shadow:0 8px 22px #40213f0d;}
.elementor-1616 .cy-shop-grid li.product figure{order:0;margin:0 0 12px;width:100%;}
.elementor-1616 .cy-shop-grid li.product figure a{aspect-ratio:1.2;display:block;background:#e9e1f5;}
.elementor-1616 .cy-shop-grid li.product figure img{width:100%;height:100%;object-fit:contain;aspect-ratio:1.2!important;}
.elementor-1616 .cy-shop-grid li.product .entry-meta{order:1;margin:0 12px 4px;font-size:9px;line-height:1.4;letter-spacing:1px;text-transform:uppercase;color:#9a40a2;}
.elementor-1616 .cy-shop-grid li.product .entry-meta a{color:inherit;}
.elementor-1616 .cy-shop-grid li.product .woocommerce-loop-product__title{order:2;margin:0 12px;font-size:14px;line-height:1.4;font-weight:650;overflow-wrap:anywhere;}
.elementor-1616 .cy-shop-grid li.product .woocommerce-loop-product__title a{color:#29242a;}
.elementor-1616 .cy-shop-grid .cy-shop-spec{order:3;font-size:11px;color:#817881;line-height:1.5;margin:5px 12px 0;}
.elementor-1616 .cy-shop-grid .woocommerce-pagination{margin-top:45px;text-align:center;}
.elementor-1616 .cy-shop-grid .page-numbers{border:0;}
.elementor-1616 .cy-shop-grid ul.page-numbers{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;}
.elementor-1616 .cy-shop-grid ul.page-numbers li{border:0;}
.elementor-1616 .cy-shop-grid ul.page-numbers a,.elementor-1616 .cy-shop-grid ul.page-numbers span{min-width:34px;height:36px;padding:8px 11px;border:1px solid #eee8ed;border-radius:7px;background:#fff;font-size:12px;color:#29242a;}
.elementor-1616 .cy-shop-grid ul.page-numbers .current{background:#9a40a2;color:#fff;border-color:#9a40a2;}
@media(max-width:1024px){.elementor-1616 .cy-shop-main{width:100%;}.elementor-1616 .cy-shop-grid ul.products{gap:18px;}}
@media(max-width:767px){.elementor-1616 .cy-shop-grid ul.products{gap:16px 12px;}.cy-shop-tags{gap:7px;}.cy-shop-tags a{font-size:11px;padding:7px 10px;}.elementor-1616 .cy-shop-grid li.product .woocommerce-loop-product__title{font-size:13px;}.elementor-1616 .cy-shop-sort{margin-bottom:0;max-width:100%;}.elementor-1616 .cy-shop-grid .woo-listing-top{padding-right:0;margin-bottom:12px;}}
@media(prefers-reduced-motion:reduce){.elementor-1616 .cy-shop-grid ul.products li.product{transition:none;}.elementor-1616 .cy-shop-grid ul.products li.product:hover{transform:none;}}
/* Compact reference card: override the older global catalogue spacing. */
body .elementor-1616 .cy-shop-grid ul.products li.product{
 padding:0 0 10px;min-height:0;height:auto;display:flex;flex-direction:column;
 justify-content:flex-start;align-items:stretch;gap:0;text-align:left;
 --horizontal-alignment:flex-start;--text-horizontal-alignment:left;
 border-radius:7px;
}
body .elementor-1616 .cy-shop-grid ul.products li.product>figure{
 order:0!important;display:block;min-height:0;height:auto;margin:0 0 10px;padding:0;
 width:100%;border-radius:0;align-self:stretch;
}
body .elementor-1616 .cy-shop-grid ul.products li.product>figure>a{
 display:block;width:100%;aspect-ratio:1.2;min-height:0;border-radius:0;overflow:hidden;
}
body .elementor-1616 .cy-shop-grid ul.products li.product>figure img{
 display:block;position:absolute;inset:0;width:100%;height:100%;max-height:none;
 object-fit:contain;aspect-ratio:auto!important;transform:none!important;border-radius:0;
}
body .elementor-1616 .cy-shop-grid ul.products li.product>figure>a{position:relative;}
body .elementor-1616 .cy-shop-grid ul.products li.product>.entry-meta{
 order:1!important;display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:flex-start;
 width:auto;margin:0 10px 4px;padding:0;text-align:left;font-size:9px;line-height:1.35;
 letter-spacing:.7px;color:#9a40a2;
}
body .elementor-1616 .cy-shop-grid ul.products li.product>.woocommerce-loop-product__title{
 order:2!important;min-height:0;width:auto;margin:0 10px;padding:0;text-align:left;
 font-size:13px;line-height:1.35;font-weight:650;
}
body .elementor-1616 .cy-shop-grid ul.products li.product>.cy-shop-spec{
 order:3!important;width:auto;min-height:0;margin:4px 10px 0;padding:0;text-align:left;
 font-size:10px;line-height:1.4;overflow-wrap:anywhere;
}

/* Previous image height = (83.333333% of column - 2px border) / 1.2.
   Make the square photo frame that same size; restore the 2px border outside it. */
body .elementor-1616 .cy-shop-grid ul.products li.product{width:calc(69.444444% + .333333px);}
/* A square frame preserves the previous photo height at the narrower width. */
body .elementor-1616 .cy-shop-grid ul.products li.product>figure>a{
 background:transparent;aspect-ratio:1;height:auto;
}
body .elementor-1616 .cy-shop-grid ul.products li.product>figure img{
 position:absolute;inset:0;width:100%;height:100%;object-fit:contain;
}

