/* Global product card baseline
   Align all WooCommerce product cards with the Template 1 visual language.
   This applies to inbuilt loops and Elementor Pro WooCommerce product widgets,
   because they all consume woocommerce/content-product.php.
*/

.zuri-card-li{ list-style:none; }

/* Let the outer Woo item behave like a real grid cell in any loop */
.woocommerce ul.products li.product.zuri-card-li,
.woocommerce-page ul.products li.product.zuri-card-li,
.elementor-widget-woocommerce-products ul.products li.product.zuri-card-li,
.elementor-widget-wc-products ul.products li.product.zuri-card-li,
.elementor-widget-theme-product-related ul.products li.product.zuri-card-li,
.elementor-widget-theme-product-upsell ul.products li.product.zuri-card-li{
  float:none !important;
  width:auto !important;
  max-width:none !important;
  min-width:0 !important;
  margin:0 !important;
  box-sizing:border-box;
  text-align:center;
}

.woocommerce ul.products li.product.zuri-card-li .zuri-product-card,
.woocommerce-page ul.products li.product.zuri-card-li .zuri-product-card,
.elementor-widget-woocommerce-products ul.products li.product.zuri-card-li .zuri-product-card,
.elementor-widget-wc-products ul.products li.product.zuri-card-li .zuri-product-card,
.elementor-widget-theme-product-related ul.products li.product.zuri-card-li .zuri-product-card,
.elementor-widget-theme-product-upsell ul.products li.product.zuri-card-li .zuri-product-card{
  display:block;
  width:100%;
}

/* Template-1-shaped card */
.zuri-product-card.zuri-card--t4{
  background:#fff;
  border:0;
  border-radius:0;
  padding:0;
  text-align:center;
  box-shadow:none;
  font-family:inherit;
  font-weight:400;
}

.zuri-product-card.zuri-card--t4,
.zuri-product-card.zuri-card--t4 *{
  font-family:inherit;
  font-style:normal;
}

.zuri-card-media{
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:auto;
  margin:0 0 14px;
}

.zuri-card-link{
  display:block;
  width:100%;
  text-decoration:none;
}

.zuri-card-img{
  width:100%;
  height:240px;
  max-width:100%;
  max-height:none;
  object-fit:contain;
  display:block;
  margin:0 auto 14px;
}

.zuri-card-img--hover{
  position:absolute;
  inset:0;
  opacity:0;
  transition:opacity .25s ease;
  pointer-events:none;
}

.zuri-product-card:hover .zuri-card-img--hover{ opacity:1; }

.zuri-card-body{ padding:0; }

/* Template 1 does not use a vendor pill in product loops */
.zuri-vendor-pill{ display:none; }

.zuri-card-title{
  margin:0 0 8px;
  font-size:16px;
  font-weight:500;
  line-height:1.35;
}

.zuri-card-title a{
  color:inherit;
  text-decoration:none;
}

.zuri-card-rating{
  margin:0 0 8px;
}

.zuri-card-rating .star-rating{
  float:none;
  display:inline-block;
  margin:0 auto;
  line-height:1;
}

.zuri-card-rating .star-rating::before,
.zuri-card-rating .star-rating span::before{
  color:#A259FF;
}

.zuri-card-price{
  margin:0;
  font-size:15px;
  font-weight:400;
  color:inherit;
}

.zuri-card-price del{
  opacity:.45;
  margin-right:10px;
}

.zuri-card-price ins{
  text-decoration:none;
}

/* Keep badges, but make them read like the lighter Template 1 stock text */
.zuri-badges{
  position:absolute;
  top:8px;
  right:8px;
  display:flex;
  flex-direction:column;
  gap:6px;
  align-items:flex-end;
}

.zuri-badge{
  background:transparent;
  color:#64748b;
  font-size:12px;
  line-height:1;
  padding:0;
  border:0;
  border-radius:0;
}

/* Shared action row for homepage, shop, related, and Elementor product widgets */
.zuri-card-actions{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:0 !important;
  width:100%;
  border:1px solid #e7e3d8;
  border-radius:6px;
  overflow:hidden;
  margin-top:12px;
}

.zuri-card-actions > a,
.zuri-card-actions > button,
.zuri-card-actions a.zuri-icon-btn,
.zuri-card-actions button.zuri-icon-btn{
  width:100% !important;
  height:60px !important;
  min-width:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:#fff !important;
  box-shadow:none !important;
  box-sizing:border-box !important;
  text-decoration:none !important;
  line-height:1;
  color:var(--secondary-color, #A259FF);
  cursor:pointer;
}

.zuri-card-actions > * + *{
  border-left:1px solid #e7e3d8 !important;
}

.zuri-card-actions .zuri-addcart-btn::before{
  display:none !important;
  content:none !important;
}

.zuri-card-actions .zuri-icon-btn:hover{
  background:#faf8f2 !important;
}

.zuri-card-actions a.button{
  font-size:0;
  line-height:1;
}

.zuri-ico{
  width:20px;
  height:20px;
  fill:currentColor;
  display:block;
}

/* Shop list view keeps a denser action row */
body.zuri-shop-view-list .zuri-card-actions{
  display:inline-grid !important;
  width:auto;
}

body.zuri-shop-view-list .zuri-card-actions > a,
body.zuri-shop-view-list .zuri-card-actions > button{
  min-width:52px !important;
  width:52px !important;
  height:52px !important;
}

@media (max-width: 991px){
  .zuri-card-img{
    height:220px;
  }

  .zuri-card-actions > a,
  .zuri-card-actions > button,
  .zuri-card-actions a.zuri-icon-btn,
  .zuri-card-actions button.zuri-icon-btn{
    height:54px !important;
  }
}

@media (max-width: 767px){
  .zuri-card-img{
    height:200px;
  }

  .zuri-card-title{
    font-size:15px;
  }

  .zuri-card-actions > a,
  .zuri-card-actions > button,
  .zuri-card-actions a.zuri-icon-btn,
  .zuri-card-actions button.zuri-icon-btn{
    height:44px !important;
  }
}


/* =========================================================
   2026 refinement: premium shop-card styling aligned to the
   provided reference screenshots.
   Scoped to the custom zuri product markup so homepage and
   Woo/Elementor loops stay visually consistent without broad
   side effects.
========================================================= */
:root{
  --zuri-card-border:#e7e3d8;
  --zuri-card-soft:#f6f8f1;
  --zuri-card-text:#26311f;
  --zuri-card-muted:#8c948f;
  --zuri-card-price:#b07a00;
  --zuri-card-star:#f5b301;
  --zuri-card-badge:#edf7ee;
  --zuri-card-badge-text:#47b36b;
  --zuri-card-pill:#f4f2ec;
  --zuri-card-action:#8fa09a;
  --zuri-card-action-hover:#faf8f2;
}

.woocommerce ul.products li.product.zuri-card-li,
.woocommerce-page ul.products li.product.zuri-card-li,
.elementor-widget-woocommerce-products ul.products li.product.zuri-card-li,
.elementor-widget-wc-products ul.products li.product.zuri-card-li,
.elementor-widget-theme-product-related ul.products li.product.zuri-card-li,
.elementor-widget-theme-product-upsell ul.products li.product.zuri-card-li{
  text-align:left;
}

.zuri-product-card.zuri-card--t4{
  border:1px solid var(--zuri-card-border);
  border-radius:4px;
  padding:16px 16px 18px;
  color:var(--zuri-card-text);
  transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.zuri-product-card.zuri-card--t4:hover,
body.zuri-shop-view-list .zuri-product-row:hover{
  border-color:#ddd7c6;
  box-shadow:0 10px 24px rgba(37,49,31,.05);
}

.zuri-card-media{
  margin:0 0 8px;
  min-height:250px;
}

.zuri-card-img{
  height:250px;
  margin:0 auto;
}

.zuri-card-img--hover{
  background:#fff;
}

.zuri-card-body{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}

.zuri-vendor-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:8px 18px;
  margin:6px 0 16px;
  background:var(--zuri-card-pill);
  border-radius:999px;
  color:var(--zuri-card-text);
  font-size:13px;
  line-height:1;
  text-transform:none;
}

.zuri-card-title{
  margin:0 0 10px;
  font-size:17px;
  font-weight:500;
  line-height:1.35;
  color:var(--zuri-card-text);
}

.zuri-card-title a{
  color:var(--zuri-card-text);
}

.zuri-card-rating{
  margin:0 0 14px;
}

.zuri-card-rating .star-rating,
.zuri-row-mid .zuri-card-rating .star-rating{
  width:5.8em;
  font-size:16px;
}

.zuri-card-rating .star-rating::before,
.zuri-card-rating .star-rating span::before,
.zuri-row-mid .zuri-card-rating .star-rating::before,
.zuri-row-mid .zuri-card-rating .star-rating span::before{
  color:var(--zuri-card-star) !important;
}

.zuri-card-price{
  display:flex;
  align-items:baseline;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
  margin:0;
  color:var(--zuri-card-price);
  font-size:18px;
  font-weight:500;
  line-height:1.2;
}

.zuri-card-price del{
  margin-right:0;
  color:#b5bab2;
  opacity:1;
  font-weight:400;
}

.zuri-card-price ins,
.zuri-card-price .amount,
.zuri-row-right .zuri-card-price,
.zuri-row-right .zuri-card-price .amount{
  color:var(--zuri-card-price);
  text-decoration:none;
}

.zuri-badges{
  top:2px;
  right:-2px;
  gap:6px;
  z-index:2;
}

.zuri-badge{
  min-width:70px;
  padding:11px 12px;
  background:var(--zuri-card-badge);
  border-radius:4px;
  color:var(--zuri-card-badge-text);
  font-size:12px;
  font-weight:500;
  line-height:1;
  text-align:center;
  box-shadow:none;
}

.zuri-card-actions{
  margin-top:16px;
  border-color:var(--zuri-card-border);
  border-radius:4px;
}

.zuri-card-actions > a,
.zuri-card-actions > button,
.zuri-card-actions a.zuri-icon-btn,
.zuri-card-actions button.zuri-icon-btn{
  height:52px !important;
  color:var(--zuri-card-action);
}

.zuri-card-actions > * + *{
  border-left-color:var(--zuri-card-border) !important;
}

.zuri-card-actions .zuri-icon-btn:hover,
.zuri-card-actions > a:hover,
.zuri-card-actions > button:hover{
  color:var(--zuri-card-text);
  background:var(--zuri-card-action-hover) !important;
}

.zuri-ico{
  width:22px;
  height:22px;
}

body.zuri-shop-view-list .zuri-product-row{
  border:1px solid var(--zuri-card-border);
  border-radius:4px;
  padding:18px 22px;
  background:#fff;
}

body.zuri-shop-view-list .zuri-product-row .zuri-row-media{
  display:flex;
  align-items:center;
  justify-content:flex-start;
}

body.zuri-shop-view-list .zuri-product-row .zuri-row-media img{
  width:100%;
  max-width:220px;
  object-fit:contain;
}

body.zuri-shop-view-list .zuri-product-row .zuri-row-mid{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}

body.zuri-shop-view-list .zuri-product-row .zuri-vendor-pill{
  margin:0 0 14px;
}

body.zuri-shop-view-list .zuri-product-row .zuri-card-title,
body.zuri-shop-view-list .zuri-product-row .zuri-card-rating,
body.zuri-shop-view-list .zuri-product-row .zuri-row-excerpt{
  text-align:left;
}

body.zuri-shop-view-list .zuri-product-row .zuri-card-title{
  margin:0 0 10px;
  font-size:18px;
}

body.zuri-shop-view-list .zuri-product-row .zuri-row-excerpt{
  margin-top:12px;
  max-width:34ch;
  color:var(--zuri-card-muted);
  font-size:15px;
  line-height:1.65;
}

body.zuri-shop-view-list .zuri-row-right{
  gap:18px;
}

body.zuri-shop-view-list .zuri-row-right .zuri-badges{
  gap:8px;
}

body.zuri-shop-view-list .zuri-row-right .zuri-card-price{
  justify-content:flex-end;
  font-size:18px;
}

body.zuri-shop-view-list .zuri-card-actions{
  width:auto;
}

body.zuri-shop-view-list .zuri-card-actions > a,
body.zuri-shop-view-list .zuri-card-actions > button{
  width:54px !important;
  min-width:54px !important;
  height:50px !important;
}

@media (max-width: 991px){
  .zuri-card-media{
    min-height:auto;
    margin:0 0 2px;
  }

  .zuri-card-img{
    height:200px;
  }

  .zuri-vendor-pill{
    margin:2px 0 10px;
  }

  .zuri-card-title{
    margin:0 0 8px;
  }

  body.zuri-shop-view-list .zuri-product-row .zuri-row-excerpt{
    max-width:none;
  }
}

@media (max-width: 767px){
  .zuri-product-card.zuri-card--t4{
    padding:14px 14px 16px;
  }

  .zuri-card-media{
    min-height:auto;
    margin:0 0 0;
  }

  .zuri-card-img{
    height:170px;
  }

  .zuri-card-title{
    font-size:16px;
    margin:0 0 6px;
  }

  .zuri-vendor-pill{
    min-height:34px;
    padding:7px 14px;
    margin:0 0 8px;
  }

  .zuri-card-actions > a,
  .zuri-card-actions > button,
  .zuri-card-actions a.zuri-icon-btn,
  .zuri-card-actions button.zuri-icon-btn{
    height:46px !important;
  }

  body.zuri-shop-view-list .zuri-product-row{
    padding:16px;
  }
}

/* Tighten image-to-title spacing on tablet + mobile */
@media (max-width: 1024px) {
  .zuri-card-media {
    margin-bottom: 2px !important;
  }

  .zuri-vendor-pill {
    margin: 2px 0 10px !important;
  }

  .zuri-card-title {
    margin: 0 0 8px !important;
    line-height: 1.3;
  }
}

/* Slightly tighter on phones */
@media (max-width: 767px) {
  .zuri-card-media {
    min-height: auto !important;
    margin-bottom: 0 !important;
  }

  .zuri-card-img {
    height: 170px !important;
  }

  .zuri-vendor-pill {
    margin: 0 0 8px !important;
  }

  .zuri-card-title {
    margin-bottom: 6px !important;
  }
}

/* =========================================
   SHOP LAYOUT FIX — tablet/mobile
   ========================================= */
@media (max-width: 767px) {
  .woocommerce-page .content-area,
  .woocommerce-page .site-main,
  .woocommerce-page .zuri-shop-layout,
  .woocommerce-page .zuri-shop-wrap,
  .woocommerce-page .woocommerce-shop-top,
  .woocommerce-page .shop-container,
  .woocommerce-page .archive-products-wrap {
    display: block !important;
  }

  .woocommerce-page .widget-area,
  .woocommerce-page .sidebar,
  .woocommerce-page .shop-sidebar,
  .woocommerce-page .zuri-shop-sidebar,
  .woocommerce-page .left-sidebar-wrap {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    margin: 0 0 24px 0 !important;
    order: 2;
    float: none !important;
    clear: both !important;
  }

  .woocommerce-page .products,
  .woocommerce-page ul.products,
  .woocommerce-page .shop-products-wrap,
  .woocommerce-page .zuri-shop-products,
  .woocommerce-page .right-products-wrap {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    margin: 0 !important;
    order: 1;
    float: none !important;
    clear: both !important;
  }
}

/* =========================================
   ROW VIEW IMAGE SIZE FIX
   ========================================= */
@media (max-width: 991px) {
  body.zuri-shop-view-list .zuri-product-row,
  .woocommerce-page ul.products.list-view li.product,
  .woocommerce-page ul.products li.product.product-list-item {
    display: grid !important;
    grid-template-columns: 140px 1fr auto !important;
    gap: 16px !important;
    align-items: start !important;
  }

  body.zuri-shop-view-list .zuri-product-row .zuri-card-media,
  .woocommerce-page ul.products.list-view li.product .zuri-card-media,
  .woocommerce-page ul.products li.product.product-list-item .zuri-card-media {
    width: 140px !important;
    min-width: 140px !important;
    max-width: 140px !important;
    min-height: auto !important;
    margin: 0 !important;
  }

  body.zuri-shop-view-list .zuri-product-row .zuri-card-img,
  .woocommerce-page ul.products.list-view li.product .zuri-card-img,
  .woocommerce-page ul.products li.product.product-list-item .zuri-card-img {
    width: 140px !important;
    height: 140px !important;
    object-fit: contain !important;
  }
}

@media (max-width: 767px) {
  body.zuri-shop-view-list .zuri-product-row,
  .woocommerce-page ul.products.list-view li.product,
  .woocommerce-page ul.products li.product.product-list-item {
    grid-template-columns: 110px 1fr !important;
  }

  body.zuri-shop-view-list .zuri-product-row .zuri-card-media,
  .woocommerce-page ul.products.list-view li.product .zuri-card-media,
  .woocommerce-page ul.products li.product.product-list-item .zuri-card-media {
    width: 110px !important;
    min-width: 110px !important;
    max-width: 110px !important;
  }

  body.zuri-shop-view-list .zuri-product-row .zuri-card-img,
  .woocommerce-page ul.products.list-view li.product .zuri-card-img,
  .woocommerce-page ul.products li.product.product-list-item .zuri-card-img {
    width: 110px !important;
    height: 110px !important;
  }
}

@media (max-width: 767px) {
  body.zuri-shop-view-list .zuri-product-row .zuri-row-content,
  body.zuri-shop-view-list .zuri-product-row .zuri-card-content {
    min-width: 0 !important;
  }

  body.zuri-shop-view-list .zuri-product-row .zuri-card-title {
    font-size: 16px !important;
    line-height: 1.35 !important;
    word-break: break-word;
  }

  body.zuri-shop-view-list .zuri-product-row .zuri-row-excerpt {
    font-size: 14px !important;
    line-height: 1.6 !important;
  }
}

/* =========================================
   Responsive shop behavior
   Below 992px: sidebar stacks on top in list view
   Mobile: force normal card layout
   ========================================= */

/* Tablet / small desktop: sidebar on top, products full width */
@media (min-width: 768px) and (max-width: 991px) {
  body.zuri-shop-view-list .woocommerce-page .woocommerce,
  body.zuri-shop-view-list .woocommerce-page .site-main > .woocommerce,
  body.zuri-shop-view-list .woocommerce-page .zuri-shop-layout,
  body.zuri-shop-view-list .woocommerce-page .shop-container,
  body.zuri-shop-view-list .woocommerce-page .archive-products-wrap,
  body.zuri-shop-view-list .woocommerce-page .content-area,
  body.zuri-shop-view-list .woocommerce-page .site-main {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
  }

  body.zuri-shop-view-list .woocommerce-page .widget-area,
  body.zuri-shop-view-list .woocommerce-page .sidebar,
  body.zuri-shop-view-list .woocommerce-page .shop-sidebar,
  body.zuri-shop-view-list .woocommerce-page .zuri-shop-sidebar,
  body.zuri-shop-view-list .woocommerce-page aside.widget-area {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    margin: 0 0 20px 0 !important;
    order: 1 !important;
    float: none !important;
    clear: both !important;
  }

  body.zuri-shop-view-list .woocommerce-page .products,
  body.zuri-shop-view-list .woocommerce-page ul.products,
  body.zuri-shop-view-list .woocommerce-page .shop-products-wrap,
  body.zuri-shop-view-list .woocommerce-page .zuri-shop-products,
  body.zuri-shop-view-list .woocommerce-page .right-products-wrap,
  body.zuri-shop-view-list .woocommerce-page .woocommerce-products-header + .products {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    margin: 0 !important;
    order: 2 !important;
    float: none !important;
    clear: both !important;
  }

  body.zuri-shop-view-list .woocommerce-page ul.products {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  body.zuri-shop-view-list .woocommerce-page ul.products li.product {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    float: none !important;
  }
}

/* 600px–767px: also stack sidebar on top, do NOT keep it left */
@media (min-width: 600px) and (max-width: 767px) {
  body.zuri-shop-view-list .woocommerce-page .woocommerce,
  body.zuri-shop-view-list .woocommerce-page .site-main > .woocommerce,
  body.zuri-shop-view-list .woocommerce-page .zuri-shop-layout,
  body.zuri-shop-view-list .woocommerce-page .shop-container,
  body.zuri-shop-view-list .woocommerce-page .archive-products-wrap {
    display: block !important;
  }

  body.zuri-shop-view-list .woocommerce-page .widget-area,
  body.zuri-shop-view-list .woocommerce-page .sidebar,
  body.zuri-shop-view-list .woocommerce-page .shop-sidebar,
  body.zuri-shop-view-list .woocommerce-page .zuri-shop-sidebar,
  body.zuri-shop-view-list .woocommerce-page aside.widget-area,
  body.zuri-shop-view-list .woocommerce-page .products,
  body.zuri-shop-view-list .woocommerce-page ul.products,
  body.zuri-shop-view-list .woocommerce-page .shop-products-wrap,
  body.zuri-shop-view-list .woocommerce-page .zuri-shop-products {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    float: none !important;
    margin: 0 0 20px 0 !important;
  }

  body.zuri-shop-view-list .woocommerce-page ul.products {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  body.zuri-shop-view-list .woocommerce-page ul.products li.product {
    width: 100% !important;
    margin: 0 !important;
    float: none !important;
  }

  /* keep cart widget images compact */
  .woocommerce .widget_shopping_cart .cart_list li,
  .woocommerce.widget_shopping_cart .cart_list li,
  .widget_shopping_cart .cart_list li {
    position: relative !important;
    padding-left: 0 !important;
    padding-right: 58px !important;
    min-height: 72px !important;
  }

  .woocommerce .widget_shopping_cart .cart_list li img,
  .woocommerce.widget_shopping_cart .cart_list li img,
  .widget_shopping_cart .cart_list li img {
    float: left !important;
    width: 64px !important;
    height: 64px !important;
    object-fit: cover !important;
    margin: 0 12px 8px 0 !important;
    max-width: 64px !important;
  }
}

/* Smaller phones: stack sidebar under products */
@media (max-width: 599px) {
  .woocommerce-page .woocommerce,
  .woocommerce-page .site-main > .woocommerce,
  .woocommerce-page .zuri-shop-layout,
  .woocommerce-page .shop-container,
  .woocommerce-page .archive-products-wrap {
    display: block !important;
  }

  .woocommerce-page .widget-area,
  .woocommerce-page .sidebar,
  .woocommerce-page .shop-sidebar,
  .woocommerce-page .zuri-shop-sidebar,
  .woocommerce-page aside.widget-area,
  .woocommerce-page .products,
  .woocommerce-page ul.products,
  .woocommerce-page .shop-products-wrap,
  .woocommerce-page .zuri-shop-products {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin: 0 0 20px 0 !important;
  }

  .woocommerce-page ul.products {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }

  .woocommerce .widget_shopping_cart .cart_list li img,
  .woocommerce.widget_shopping_cart .cart_list li img,
  .widget_shopping_cart .cart_list li img {
    width: 56px !important;
    height: 56px !important;
    max-width: 56px !important;
  }
}

/* =========================================
   LIST VIEW RESPONSIVE FIX
   768px–991px: sidebar on top, products full width
   <=767px: switch visual layout back to normal cards
   ========================================= */

@media (min-width: 768px) and (max-width: 991px) {
  body.zuri-shop-view-list .zuri-shop-body {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
  }

  body.zuri-shop-view-list .zuri-shop-sidebar {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    order: 1 !important;
    margin: 0 0 20px !important;
  }

  body.zuri-shop-view-list .zuri-shop-products {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    order: 2 !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  body.zuri-shop-view-list ul.products {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    width: 100% !important;
  }

  body.zuri-shop-view-list ul.products li.product {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    float: none !important;
  }
}

@media (max-width: 767px) {
  body.zuri-shop-view-list .zuri-shop-body,
  body.zuri-shop-view-grid .zuri-shop-body {
    display: block !important;
  }

  body.zuri-shop-view-list .zuri-shop-sidebar,
  body.zuri-shop-view-grid .zuri-shop-sidebar {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 20px !important;
  }

  body.zuri-shop-view-list .zuri-shop-products,
  body.zuri-shop-view-grid .zuri-shop-products {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body.zuri-shop-view-list ul.products,
  body.zuri-shop-view-grid ul.products {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
    width: 100% !important;
  }

  body.zuri-shop-view-list ul.products li.product,
  body.zuri-shop-view-grid ul.products li.product {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    float: none !important;
  }
}

@media (max-width: 575px) {
  body.zuri-shop-view-list ul.products,
  body.zuri-shop-view-grid ul.products {
    grid-template-columns: 1fr !important;
  }
}

/* =========================================
   Stacked sidebar cart image fix
   ========================================= */
@media (max-width: 991px) {
  .zuri-shop-sidebar .widget_shopping_cart .cart_list li,
  .zuri-shop-sidebar .woocommerce.widget_shopping_cart .cart_list li,
  .zuri-shop-sidebar .woocommerce .widget_shopping_cart .cart_list li,
  .widget_shopping_cart .cart_list li,
  .woocommerce.widget_shopping_cart .cart_list li,
  .woocommerce .widget_shopping_cart .cart_list li {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    padding: 0 0 16px 22px !important;
    min-height: 0 !important;
    position: relative !important;
  }

  .zuri-shop-sidebar .widget_shopping_cart .cart_list li img,
  .zuri-shop-sidebar .woocommerce.widget_shopping_cart .cart_list li img,
  .zuri-shop-sidebar .woocommerce .widget_shopping_cart .cart_list li img,
  .widget_shopping_cart .cart_list li img,
  .woocommerce.widget_shopping_cart .cart_list li img,
  .woocommerce .widget_shopping_cart .cart_list li img {
    width: 72px !important;
    height: 72px !important;
    min-width: 72px !important;
    max-width: 72px !important;
    object-fit: cover !important;
    float: none !important;
    margin: 0 !important;
    border-radius: 8px;
  }

  .zuri-shop-sidebar .widget_shopping_cart .cart_list li a:not(.remove),
  .zuri-shop-sidebar .woocommerce.widget_shopping_cart .cart_list li a:not(.remove),
  .zuri-shop-sidebar .woocommerce .widget_shopping_cart .cart_list li a:not(.remove),
  .widget_shopping_cart .cart_list li a:not(.remove),
  .woocommerce.widget_shopping_cart .cart_list li a:not(.remove),
  .woocommerce .widget_shopping_cart .cart_list li a:not(.remove) {
    display: block !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }

  .zuri-shop-sidebar .widget_shopping_cart .cart_list li .quantity,
  .zuri-shop-sidebar .woocommerce.widget_shopping_cart .cart_list li .quantity,
  .zuri-shop-sidebar .woocommerce .widget_shopping_cart .cart_list li .quantity,
  .widget_shopping_cart .cart_list li .quantity,
  .woocommerce.widget_shopping_cart .cart_list li .quantity,
  .woocommerce .widget_shopping_cart .cart_list li .quantity {
    display: block !important;
    margin-left: auto !important;
    white-space: nowrap !important;
    font-size: 14px !important;
  }

  .zuri-shop-sidebar .widget_shopping_cart .cart_list li .remove,
  .zuri-shop-sidebar .woocommerce.widget_shopping_cart .cart_list li .remove,
  .zuri-shop-sidebar .woocommerce .widget_shopping_cart .cart_list li .remove,
  .widget_shopping_cart .cart_list li .remove,
  .woocommerce.widget_shopping_cart .cart_list li .remove,
  .woocommerce .widget_shopping_cart .cart_list li .remove {
    position: absolute !important;
    left: 0 !important;
    top: 6px !important;
    margin: 0 !important;
  }
}

/* =========================================
   Mobile grid card breathing space
   Reduce product image height on shop page
   ========================================= */
@media (max-width: 767px) {
  body.zuri-shop-view-grid ul.products li.product,
  body.zuri-shop-view-list ul.products li.product {
    padding: 12px !important;
    border-radius: 14px !important;
  }

  body.zuri-shop-view-grid ul.products li.product .product-thumbnail,
  body.zuri-shop-view-grid ul.products li.product .woocommerce-loop-product__link img,
  body.zuri-shop-view-grid ul.products li.product a img,
  body.zuri-shop-view-list ul.products li.product .product-thumbnail,
  body.zuri-shop-view-list ul.products li.product .woocommerce-loop-product__link img,
  body.zuri-shop-view-list ul.products li.product a img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    border-radius: 12px !important;
  }

  /* reduce image visual dominance */
  body.zuri-shop-view-grid ul.products li.product .product-thumbnail,
  body.zuri-shop-view-list ul.products li.product .product-thumbnail {
    margin-bottom: 12px !important;
  }

  body.zuri-shop-view-grid ul.products li.product .woocommerce-loop-category,
  body.zuri-shop-view-grid ul.products li.product .product-category,
  body.zuri-shop-view-list ul.products li.product .woocommerce-loop-category,
  body.zuri-shop-view-list ul.products li.product .product-category {
    margin-bottom: 8px !important;
  }

  body.zuri-shop-view-grid ul.products li.product .woocommerce-loop-product__title,
  body.zuri-shop-view-list ul.products li.product .woocommerce-loop-product__title {
    font-size: 20px !important;
    line-height: 1.35 !important;
    margin: 0 0 8px !important;
  }

  body.zuri-shop-view-grid ul.products li.product .price,
  body.zuri-shop-view-list ul.products li.product .price {
    margin: 0 0 12px !important;
    display: block !important;
  }

  body.zuri-shop-view-grid ul.products li.product .button,
  body.zuri-shop-view-grid ul.products li.product .add_to_cart_button,
  body.zuri-shop-view-grid ul.products li.product .product-actions,
  body.zuri-shop-view-list ul.products li.product .button,
  body.zuri-shop-view-list ul.products li.product .add_to_cart_button,
  body.zuri-shop-view-list ul.products li.product .product-actions {
    margin-top: 10px !important;
  }

  /* slightly reduce badge size too */
  body.zuri-shop-view-grid ul.products li.product .stock,
  body.zuri-shop-view-grid ul.products li.product .stock-label,
  body.zuri-shop-view-grid ul.products li.product .in-stock,
  body.zuri-shop-view-list ul.products li.product .stock,
  body.zuri-shop-view-list ul.products li.product .stock-label,
  body.zuri-shop-view-list ul.products li.product .in-stock {
    padding: 10px 14px !important;
    font-size: 14px !important;
  }
}

@media (max-width: 767px) {
  body.zuri-shop-view-grid ul.products li.product .woocommerce-loop-product__link img,
  body.zuri-shop-view-list ul.products li.product .woocommerce-loop-product__link img {
    max-height: 160px !important;
  }
}


@media (max-width: 767px) {
  body.zuri-shop-view-grid ul.products li.product .woocommerce-loop-product__link img,
  body.zuri-shop-view-grid ul.products li.product a img,
  body.zuri-shop-view-list ul.products li.product .woocommerce-loop-product__link img,
  body.zuri-shop-view-list ul.products li.product a img {
    height: 180px !important;
    max-height: 180px !important;
    width: 80% !important;
    object-fit: cover !important;
  }
}