/* Green Steps v2 — WooCommerce Overrides */
.woocommerce-page .wc-wrapper{padding-top:32px;padding-bottom:60px;}
.woocommerce .woocommerce-breadcrumb{font-family:var(--font-accent);font-size:0.78rem;color:var(--gs-warm-gray);margin-bottom:20px;}
.woocommerce .woocommerce-breadcrumb a{color:var(--gs-warm-gray);}
.woocommerce .woocommerce-breadcrumb a:hover{color:var(--gs-terracotta);}
.woocommerce div.product .woocommerce-product-gallery__wrapper{border-radius:var(--radius-sm);overflow:hidden;}
.woocommerce div.product form.cart .qty{border:1px solid var(--gs-cream-dark);border-radius:var(--radius-sm);font-family:var(--font-accent);text-align:center;padding:12px 8px;width:70px;}
.woocommerce div.product .product_meta{font-family:var(--font-accent);font-size:0.82rem;color:var(--gs-bark);}
.woocommerce div.product .product_meta a{color:var(--gs-terracotta);}
.woocommerce-message,.woocommerce-info,.woocommerce-error{border-top-color:var(--gs-forest)!important;font-family:var(--font-accent)!important;font-size:0.88rem!important;}
.woocommerce-message::before{color:var(--gs-forest)!important;}
.widget_shopping_cart .cart_list li a.remove{color:var(--gs-terracotta)!important;}

/* ============================================================
   GREEN STEPS v3 — COMPLETE SHOP GRID FIX
   ============================================================ */

/* Wrapper padding */
.gs-wc-wrapper, .wc-wrapper.gs-container { padding-top: 40px; padding-bottom: 80px; }

/* Shop page structure */
.gs-shop-page { width: 100%; }
.gs-shop-page__header { margin-bottom: 28px; }
.gs-shop-page__title {
  font-family: var(--font-display);
  font-size: clamp(1.8rem, 3.5vw, 2.8rem);
  color: var(--gs-charcoal, #2A2420);
  font-weight: 700; margin-bottom: 6px; letter-spacing: -0.02em;
}

/* Toolbar */
.gs-shop-toolbar {
  display: flex; align-items: center;
  justify-content: space-between; flex-wrap: wrap; gap: 12px;
  margin-bottom: 28px; padding-bottom: 18px;
  border-bottom: 1px solid var(--gs-cream-dark, #D9CEB0);
}
.gs-result-count { font-family: var(--font-accent) !important; font-size: 0.88rem !important; color: #7A7068 !important; margin: 0 !important; }
.woocommerce-ordering select {
  border: 1.5px solid var(--gs-cream-dark, #D9CEB0) !important;
  border-radius: 6px !important; padding: 8px 36px 8px 14px !important;
  font-family: var(--font-accent) !important; font-size: 0.86rem !important;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%237A7068' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 12px center !important;
  appearance: none !important; cursor: pointer;
}

/* ── THE MAIN FIX: Product Grid ── */
.woocommerce ul.products,
.gs-products-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 24px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 48px !important;
  width: 100% !important;
  float: none !important;
  clear: both !important;
}

/* Kill WooCommerce's inline width on <li> items */
.woocommerce ul.products li.product {
  width: 100% !important;
  margin: 0 !important;
  float: none !important;
  clear: none !important;
  background: #fff !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  box-shadow: 0 2px 14px rgba(44,74,46,0.08) !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
}
.woocommerce ul.products li.product:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 14px 44px rgba(44,74,46,0.16) !important;
}

/* Product link wrapper */
.woocommerce ul.products li.product > a.woocommerce-loop-product__link {
  display: block !important; text-decoration: none !important;
}

/* Product image — tall, cover */
.woocommerce ul.products li.product a img {
  width: 100% !important;
  height: 260px !important;
  object-fit: cover !important;
  display: block !important;
  margin: 0 !important;
  border-radius: 0 !important;
  transition: transform 0.55s cubic-bezier(0.16,1,0.3,1) !important;
}
.woocommerce ul.products li.product:hover a img { transform: scale(1.05) !important; }

/* Title */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--font-display, 'Playfair Display', serif) !important;
  font-size: 0.97rem !important; font-weight: 600 !important;
  color: #2A2420 !important; line-height: 1.4 !important;
  padding: 14px 16px 4px !important; margin: 0 !important;
  word-break: normal !important; white-space: normal !important;
}

/* Price */
.woocommerce ul.products li.product .price {
  font-family: var(--font-display, 'Playfair Display', serif) !important;
  font-size: 1.05rem !important; font-weight: 700 !important;
  color: var(--gs-forest, #2C4A2E) !important;
  padding: 2px 16px 12px !important; display: block !important;
}
.woocommerce ul.products li.product .price ins { text-decoration: none !important; color: #C4622D !important; }
.woocommerce ul.products li.product .price del { font-size: 0.82rem !important; font-weight: 400 !important; color: #7A7068 !important; }

/* Add to cart — full-width, never cut off */
.woocommerce ul.products li.product a.add_to_cart_button,
.woocommerce ul.products li.product button.add_to_cart_button {
  display: block !important;
  width: calc(100% - 32px) !important;
  margin: 0 16px 16px !important;
  text-align: center !important;
  padding: 11px 10px !important;
  background: var(--gs-forest, #2C4A2E) !important;
  color: #fff !important;
  font-family: var(--font-accent, 'Cormorant Garamond', serif) !important;
  font-size: 0.82rem !important; font-weight: 600 !important;
  letter-spacing: 0.1em !important; text-transform: uppercase !important;
  border-radius: 8px !important; border: none !important;
  cursor: pointer !important;
  transition: background 0.2s !important;
  white-space: nowrap !important;
  overflow: hidden !important; text-overflow: ellipsis !important;
  margin-top: auto !important; box-sizing: border-box !important;
}
.woocommerce ul.products li.product a.add_to_cart_button:hover,
.woocommerce ul.products li.product button.add_to_cart_button:hover {
  background: #C4622D !important;
}
.woocommerce ul.products li.product a.add_to_cart_button.loading {
  opacity: 0.7 !important;
}

/* Wishlist button positioning */
.woocommerce ul.products li.product .gs-wishlist-btn {
  position: absolute !important; top: 12px !important; right: 12px !important;
  z-index: 3 !important;
  width: 34px !important; height: 34px !important;
  background: rgba(253,250,244,0.92) !important;
  backdrop-filter: blur(4px) !important;
  border: none !important; border-radius: 50% !important;
  cursor: pointer !important; display: flex !important;
  align-items: center !important; justify-content: center !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.12) !important;
  transition: all 0.2s !important; padding: 0 !important;
  margin: 0 !important; /* remove any margin that shifts layout */
}
.woocommerce ul.products li.product .gs-wishlist-btn:hover { background: #C4622D !important; color: #fff !important; }
.woocommerce ul.products li.product .gs-wishlist-btn svg { width: 15px !important; height: 15px !important; }

/* Sale badge */
.woocommerce span.onsale, .gs-sale-badge {
  background: #C4622D !important; color: #fff !important;
  font-family: var(--font-accent) !important; font-size: 0.68rem !important;
  font-weight: 600 !important; letter-spacing: 0.1em !important;
  text-transform: uppercase !important; border-radius: 4px !important;
  padding: 3px 9px !important; min-height: auto !important;
  line-height: 1.5 !important; top: 10px !important; left: 10px !important;
}

/* Custom gs-product-card__badge from plugin */
.woocommerce ul.products li.product .gs-product-card__badge {
  position: absolute !important; top: 10px !important; left: 10px !important;
  z-index: 2 !important; pointer-events: none !important;
  background: #3D6140 !important; color: #fff !important;
  font-family: var(--font-accent) !important; font-size: 0.65rem !important;
  letter-spacing: 0.12em !important; text-transform: uppercase !important;
  padding: 3px 9px !important; border-radius: 4px !important;
}
.woocommerce ul.products li.product .gs-product-card__badge--best-seller,
.woocommerce ul.products li.product .gs-product-card__badge--bestseller { background: #B8963E !important; }
.woocommerce ul.products li.product .gs-product-card__badge--new { background: #2C4A2E !important; }

/* Pagination */
.gs-pagination { display: flex; justify-content: center; margin-top: 48px; }
.woocommerce-pagination ul { display: flex !important; gap: 6px !important; list-style: none !important; margin: 0 !important; padding: 0 !important; }
.woocommerce-pagination ul li a,
.woocommerce-pagination ul li span {
  display: flex !important; align-items: center !important; justify-content: center !important;
  width: 40px !important; height: 40px !important;
  border: 1.5px solid #D9CEB0 !important; border-radius: 8px !important;
  font-family: var(--font-accent) !important; font-size: 0.9rem !important;
  color: #2A2420 !important; text-decoration: none !important; transition: all 0.2s !important;
}
.woocommerce-pagination ul li a:hover { background: #2C4A2E !important; color: #fff !important; border-color: #2C4A2E !important; }
.woocommerce-pagination ul li span.current { background: #2C4A2E !important; color: #fff !important; border-color: #2C4A2E !important; font-weight: 700 !important; }

/* Responsive */
@media (max-width: 1200px) {
  .woocommerce ul.products, .gs-products-grid { grid-template-columns: repeat(3, 1fr) !important; }
}
@media (max-width: 860px) {
  .woocommerce ul.products, .gs-products-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 16px !important; }
  .woocommerce ul.products li.product a img { height: 210px !important; }
}
@media (max-width: 480px) {
  .woocommerce ul.products, .gs-products-grid { gap: 12px !important; }
  .woocommerce ul.products li.product a img { height: 170px !important; }
  .woocommerce ul.products li.product a.add_to_cart_button,
  .woocommerce ul.products li.product button.add_to_cart_button { font-size: 0.75rem !important; padding: 9px 8px !important; }
}
