/*!
 * WooCommerce — Shreeji Organic Farm brand theme.
 * Loaded only when WooCommerce is active. Uses the brand CSS variables
 * defined in :root in style.css (greens / beige / cream / leaf-grad).
 */

/* ===== Header cart icon (rendered by inc/woocommerce.php) ===== */
.header-cart {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  color: var(--green-800);
  background: var(--beige-100);
  transition: background .25s ease, color .25s ease;
  flex-shrink: 0;
}

.header-cart:hover {
  background: var(--green-700);
  color: #fff
}

/* .header-cart .icn{width:20px;height:20px} */
.header-cart-count {
  position: absolute;
  top: -5px;
  right: -5px;
  min-width: 20px;
  height: 20px;
  padding: 0 5px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--leaf-grad);
  color: #fff;
  font-size: .7rem;
  line-height: 2;
  border-radius: 50px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, .22);
}

.header-cart-count.is-empty {
  display: none
}

.header-cart.is-bumping {
  animation: cart-bump .45s ease
}

@keyframes cart-bump {
  0% {
    transform: scale(1)
  }

  30% {
    transform: scale(1.22)
  }

  60% {
    transform: scale(.94)
  }

  100% {
    transform: scale(1)
  }
}

/* ===== Layout / page chrome ===== */
.wc-section {
  padding: 64px 0
}

.woocommerce-products-header__title::after,
.woocommerce .page-title::after {
  content: '';
  display: block;
  width: 64px;
  height: 3px;
  border-radius: 3px;
  background: var(--leaf-grad);
  margin: 12px auto 0;
}

.woocommerce .page-title,
.woocommerce-products-header__title {
  font-family: var(--font-head);
  color: var(--green-900);
  text-align: center;
  margin: 0 0 8px;
}

.woocommerce-products-header {
  text-align: center;
  margin-bottom: 24px
}

.woocommerce .woocommerce-result-count {
  color: var(--soil-700);
  font-size: .92rem
}

.woocommerce .woocommerce-ordering select {
  border: 1.5px solid var(--beige-300);
  border-radius: 10px;
  padding: 8px 12px;
  background: var(--cream);
  font-family: var(--font-body);
}

/* ===== Notices ===== */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews {
  border-radius: 12px;
  border-top: 3px solid var(--green-600);
  background: var(--beige-100);
}

.woocommerce-info {
  border-top-color: var(--green-500)
}

.woocommerce-error {
  border-top-color: #c0392b;
  background: #fdecea
}

.woocommerce-message::before,
.woocommerce-info::before {
  color: var(--green-600)
}

.woocommerce-error::before {
  color: #c0392b
}

/* ===== Buttons ===== */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt,
.woocommerce .widget_price_filter .price_slider_amount .button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce a.added_to_cart {
  background: var(--leaf-grad);
  color: #fff;
  border: none;
  border-radius: 50px;
  padding: 11px 24px;
  font-weight: 600;
  font-family: var(--font-body);
  font-size: .95rem;
  line-height: 1.3;
  cursor: pointer;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  box-shadow: var(--shadow-soft);
  transition: transform .25s ease, filter .25s ease;
}

.wc-proceed-to-checkout a.checkout-button {
  margin-top: 16px;
}

.added_to_cart.button {
  margin-top: 5px !important;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce a.added_to_cart:hover {
  filter: brightness(1.06);
  transform: translateY(-2px);
  color: #000;
}

.woocommerce a.button.wc-backward,
.woocommerce .cart .button[name="update_cart"] {
  background: #fff;
  color: var(--green-700);
  border: 1.5px solid var(--green-600);
  box-shadow: none;
}

/* ===== Sale flash ===== */
.woocommerce span.onsale {
  background: var(--leaf-grad);
  color: #fff;
  border-radius: 50px;
  line-height: 1;
  min-height: 0;
  min-width: 0;
  padding: 7px 14px;
  font-weight: 700;
  font-size: .78rem;
  top: 14px;
  left: 14px;
  margin: 0;
}

.woocommerce ul.products li.product .onsale {
  top: 12px !important;
  right: 14px !important;

}

/* ===== Product loop (shop / archives) ===== */
.woocommerce ul.products,
.woocommerce-page ul.products,
.woocommerce ul.products.columns-1,
.woocommerce ul.products.columns-2,
.woocommerce ul.products.columns-3,
.woocommerce ul.products.columns-4 {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 26px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
  width: 100%;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
  content: none !important;
  display: none !important
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.woocommerce ul.products li.product.first,
.woocommerce ul.products li.product.last {
  width: auto !important;
  margin: 0 !important;
  float: none !important;
  clear: none !important;
  padding: 0 0 22px;
  text-align: center;
  background: #fff;
  border: 1px solid var(--beige-200);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform .3s ease, box-shadow .3s ease;
}

.woocommerce ul.products li.product:hover {
  transform: translateY(-5px);

}

.woocommerce ul.products li.product a img {
  margin: 0 0 16px;
  border-radius: 0;
  display: block;
  transition: transform .5s ease;
  background: var(--beige-100);
    max-height:350px;
    object-fit: cover;
    min-height: 350px
}

.woocommerce ul.products li.product:hover a img {
  transform: scale(1.06)
}

.woocommerce ul.products li.product .button {
  width: calc(100% - 32px)
}
.add_to_cart_button.added {
    margin: auto 16px 05px !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--font-head);
  font-size: 1.08rem;
  color: var(--green-800);
  padding: 0 16px;
  margin: 0 0 4px;
}

.woocommerce ul.products li.product .price {
  color: var(--green-700);
  font-weight: 700;
  display: block;
  margin: 4px 0 14px;
  font-size: 1.05rem;
}

.woocommerce ul.products li.product .price del {
  color: #9a9a90;
  font-weight: 400;
  margin-right: 6px;
  opacity: .8
}

.woocommerce ul.products li.product .price ins {
  text-decoration: none
}

.woocommerce ul.products li.product .star-rating {
  margin: 0 auto 10px;
  color: var(--green-600)
}

.woocommerce ul.products li.product .button {
  margin: auto 16px 0;
  align-self: center
}

/* ===== Single product ===== */
.woocommerce div.product .product_title {
  font-family: var(--font-head);
  color: var(--green-900)
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: var(--green-700);
  font-size: 1.6rem;
  font-weight: 700
}

.woocommerce div.product p.price del {
  color: #9a9a90;
  font-weight: 400
}

.woocommerce div.product .woocommerce-product-rating .star-rating {
  color: var(--green-600)
}

.woocommerce div.product .woocommerce-product-gallery__image img {
  border-radius: var(--radius-lg)
}

.woocommerce div.product form.cart {
  margin-top: 18px
}

.woocommerce div.product form.cart .button {
  padding: 13px 32px;
  font-size: 1rem
}

.woocommerce .quantity .qty {
  border: 1.5px solid var(--beige-300);
  border-radius: 10px;
  padding: 10px;
  width: 72px;
  background: var(--cream);
  font-family: var(--font-body);
}

.woocommerce div.product .product_meta {
  color: var(--soil-700);
  font-size: .9rem;
  margin-top: 18px
}

/* Tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs {
  padding: 0;
  margin: 0 0 -1px
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: var(--beige-100);
  border: 1px solid var(--beige-300);
  border-bottom: none;
  border-radius: 10px 10px 0 0;
  margin: 0 6px 0 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  background: #fff
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  color: var(--green-800);
  font-weight: 600
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: var(--green-700)
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before {
  border-bottom-color: var(--beige-300)
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
  display: none
}

.woocommerce div.product .woocommerce-tabs .panel h2 {
  color: var(--green-800);
  font-family: var(--font-head)
}
.woocommerce div.product .woocommerce-tabs .panel {
    padding: .5em !important;
}
.woocommerce .related.products>h2,
.woocommerce .upsells.products>h2 {
  font-family: var(--font-head);
  color: var(--green-900);
  text-align: center;
  margin-bottom: 24px;
}

/* ===== Forms (login / checkout / account) ===== */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce #order_review input.input-text,
.select2-container--default .select2-selection--single {
  border: 1.5px solid var(--beige-300);
  border-radius: 10px;
  padding: 12px 14px;
  background: var(--cream);
  font-family: var(--font-body);
  font-size: 15px;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
  outline: none;
  border-color: var(--green-600);
  background: #fff
}

.woocommerce form.login,
.woocommerce form.register,
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 {}

.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register {
  border: 1px solid var(--beige-300);
  border-radius: var(--radius);
  background: var(--beige-100)
}

/* ===== Cart / Checkout tables ===== */
.woocommerce table.shop_table {
  border: 1px solid var(--beige-200);
  border-radius: var(--radius);
  border-collapse: separate
}

.woocommerce table.shop_table th {
  background: var(--green-50);
  color: var(--green-800);
  font-family: var(--font-head)
}

.woocommerce table.shop_table td {
  border-top-color: var(--beige-200)
}

.woocommerce-cart table.cart img {
  border-radius: 8px
}

.woocommerce .cart-collaterals .cart_totals h2,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout h3,
.woocommerce-cart h2 {
  color: var(--green-800);
  font-family: var(--font-head);
  margin-bottom: 16px;
}

.woocommerce .cart_totals,
.woocommerce-checkout #order_review {
  background: #fff;
  border: 1px solid var(--beige-200);
  border-radius: var(--radius);
  box-shadow: var(--shadow-card);
  padding: 8px 20px 16px;
}

.woocommerce-cart .wc-proceed-to-checkout {
  padding-top: 0
}

/* ===== My Account ===== */
.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
  border: 1px solid var(--beige-200);
  border-radius: var(--radius);
  overflow: hidden
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li {
  border-bottom: 1px solid var(--beige-200)
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li:last-child {
  border-bottom: none
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
  display: block;
  padding: 12px 16px;
  color: var(--green-800);
  font-weight: 500
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active {
  background: var(--green-50)
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
  color: var(--green-700);
  font-weight: 700
}

/* ===== Pagination ===== */
.woocommerce nav.woocommerce-pagination ul {
  border: none;
  display: flex;
  gap: 8px;
  justify-content: center
}

.woocommerce nav.woocommerce-pagination ul li {
  border: none;
  margin: 0
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  border-radius: 8px;
  padding: 8px 14px;
  color: var(--green-800);
  background: var(--beige-100);
}

.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover {
  background: var(--green-700);
  color: #fff
}

/* ===== Breadcrumb ===== */
.woocommerce .woocommerce-breadcrumb {
     color: var(--soil-700);
    font-size: .9rem;
    background: #fff;
    max-width: fit-content;
    padding: 5px 10px;
    border-radius: 17px;
    margin: auto;
        font-weight: 600;
}

.woocommerce .woocommerce-breadcrumb a {
  color: var(--green-700);
  text-decoration: unset;
} 

/* ===== Responsive ===== */
@media (max-width:900px) {

  .woocommerce ul.products,
  .woocommerce-page ul.products,
  .woocommerce ul.products.columns-3,
  .woocommerce ul.products.columns-4 {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 18px !important
  }
}

@media (max-width:480px) {

  .woocommerce ul.products,
  .woocommerce-page ul.products,
  .woocommerce ul.products.columns-3,
  .woocommerce ul.products.columns-4 {
    grid-template-columns:  1fr !important;
    gap: 12px !important
  }

  .wc-section {
    padding: 40px 0
  }
}

/* ===== WooCommerce products section (flexible — homepage/any page) ===== */
.wc-prod-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  margin: 0 0 32px
}

.wc-filter-btn {
  padding: 9px 20px;
  border-radius: 50px;
  border: 1.5px solid var(--beige-300);
  background: #fff;
  color: var(--green-800);
  font-weight: 600;
  font-family: var(--font-body);
  font-size: .92rem;
  cursor: pointer;
  transition: background .25s ease, color .25s ease, border-color .25s ease;
}

.wc-filter-btn:hover {
  border-color: var(--green-600);
  color: var(--green-700)
}

.wc-filter-btn.active {
  background: var(--leaf-grad);
  color: #fff;
  border-color: transparent
}

.wc-home-section .woocommerce {
  margin: 0
}

/* "Shop" button below the products — centered with breathing room on top. */
.wc-home-cta {
  text-align: center;
  margin-top: 14px;
  padding-top: 34px
}

.wc-home-cta .btn {
  display: inline-flex
}

/* Static box: 3 products in a row (→ 2 → 1). */
.wc-home-section .woocommerce ul.products.wc-home-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
}

.wc-home-section .woocommerce ul.products.wc-home-grid li.product {
  width: auto !important;
  margin: 0 !important;
  float: none !important;
  clear: none !important;
}

@media (max-width:768px) {
  .wc-home-section .woocommerce ul.products.wc-home-grid {
    grid-template-columns: repeat(2, 1fr) !important
  }
}

@media (max-width:480px) {
  .wc-home-section .woocommerce ul.products.wc-home-grid {
    grid-template-columns: 1fr !important
  }
}

/* Slider: 3 per view (→ 2 → 1). */
.wc-home-section .wc-prod-slider {
  position: relative
}

.wc-home-section .woocommerce ul.products.wc-prod-track {
  display: flex !important;
  grid-template-columns: none !important;
  gap: 24px !important;
  margin: 0 !important;
  padding: 6px 2px 16px !important;
  list-style: none;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.wc-home-section .woocommerce ul.products.wc-prod-track::-webkit-scrollbar {
  display: none
}

.wc-home-section .woocommerce ul.products.wc-prod-track li.product {
  flex: 0 0 calc((100% - 48px) / 3) !important;
  width: auto !important;
  margin: 0 !important;
  float: none !important;
  clear: none !important;
  scroll-snap-align: start;
}

/* Bottom dots — same style as the poster slider */
.wc-prod-dots {
  display: flex;
  gap: 8px;
  justify-content: center;
  margin-top: 18px
}

.wc-prod-dots button {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: none;
  cursor: pointer;
  padding: 0;
  background: var(--beige-300);
  transition: background .3s ease, width .3s ease;
}

.wc-prod-dots button.active {
  background: var(--green-700);
  width: 26px;
  border-radius: 6px
}

@media (max-width:992px) {
  .wc-home-section .woocommerce ul.products.wc-prod-track li.product {
    flex-basis: calc((100% - 24px) / 2) !important
  }
}

@media (max-width:600px) {
  .wc-home-section .woocommerce ul.products.wc-prod-track li.product {
    flex-basis: 88% !important
  }
}

/* ===== Wishlist (prototype) ===== */
.woocommerce ul.products li.product {
  position: relative
}

/* "Out of Stock" badge over the card image */
.woocommerce ul.products li.product .sof-stock-badge {
  position: absolute;
  top: 12px;
  right: 14px;
  z-index: 4;
  background: #c0392b;
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: .4px;
  text-transform: uppercase;
  padding: 6px 12px;
  border-radius: 50px;
  box-shadow: var(--shadow-card);
  pointer-events: none;
}

/* Out-of-stock sale badge would overlap — keep only the stock badge visible */
.woocommerce ul.products li.product.outofstock .onsale {
  display: none !important;
}

/* Subtle grey-out so the whole card reads as unavailable */
.woocommerce ul.products li.product.outofstock a img {
  filter: grayscale(.5);
  opacity: .85;
}

.sof-wishlist {
  position: absolute;
  top: 6px;
  left: 6px;
  z-index: 4;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: none;
  cursor: pointer;
  background: #fff;
  color: var(--soil-700);
  box-shadow: var(--shadow-card);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .25s ease, color .25s ease;
}

/* .sof-wishlist .icn{width:18px;height:18px} */
.sof-wishlist:hover {
  color: #e0556b
}

.sof-wishlist.is-active {
  background: #e0556b;
  color: #fff
}

/* Single product: text button */
.sof-wishlist--text {
  position: static;
  width: auto;
  height: auto;
  border-radius: 50px;
  gap: 8px;
  margin-top: 14px;
  padding: 11px 20px;
  color: var(--green-800);
  background: #fff;
  border: 1.5px solid var(--beige-300);
  font-weight: 600;
  font-family: var(--font-body);
}

.sof-wishlist--text:hover {
  border-color: #e0556b;
  color: #e0556b
}

.sof-wishlist--text.is-active {
  background: #e0556b;
  color: #fff;
  border-color: #e0556b
}

.sof-wishlist-page {
  padding: 8px 0
}

.sof-wishlist-page .sof-wishlist-empty {
  text-align: center;
  padding: 50px 20px;
  color: var(--soil-700);
  font-size: 1.05rem
}

.sof-wishlist-page .sof-wishlist-empty a {
  color: var(--green-700);
  font-weight: 600
}

/* ===== WooCommerce banner (top of every WC page) ===== */
.wc-banner {
  position: relative;
  background: var(--green-900);
  color: #fff;
  text-align: center;
         padding: calc(var(--sof-header-h, 100px) + 60px) 0 74px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.wc-banner.has-image::before {
     content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgb(31 61 32 / 41%), rgb(74 147 74 / 27%));
}

.wc-banner>.container {
  position: relative;
  z-index: 1
}

.wc-banner__title {
  color: #fff;
  margin: 0;
  font-family: var(--font-head)
}



.wc-banner__sub {
  color: #fff;
  opacity: .92;
  margin: 14px 0 0;
  font-size: 1.05rem
}

.wc-banner__crumb {
  margin-top: 14px;
  font-size: .9rem;
  color: rgba(255, 255, 255, .85)
}

.wc-banner__crumb a {
  color: #fff;
  text-decoration: underline
}

.wc-banner__crumb a:hover {
  opacity: .85
}

/* Banner already gives the heading, so tighten the section spacing below it. */
.wc-banner+.wc-section,
.wc-banner+.woocommerce,
.wc-banner~.woocommerce .wc-section {
  padding-top: 48px
}

@media (max-width:768px) {
  .wc-banner {
    padding-bottom: 40px
  }
}

/* ===== Shop layout: category sidebar + products ===== */
.wc-shop-layout {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 36px;
  align-items: start
}

.wc-shop-main {
  min-width: 0
}

.wc-shop-sidebar {
  background: #fff;
  border: 1px solid var(--beige-200);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card);
  padding: 20px 22px;
  position: sticky;
  top: 90px;
}

.wc-sidebar-title {
  font-family: var(--font-head);
  color: var(--green-900);
  font-size: 1.15rem;
  margin: 0 0 12px
}

.wc-cat-list {
  list-style: none;
  margin: 0;
  padding: 0
}

.wc-cat {
  border-top: 1px solid var(--beige-200)
}

.wc-cat:first-child {
  border-top: none
}

.wc-cat-head {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 11px 0
}

.wc-cat-head a {
  color: var(--green-800);
  font-weight: 600;
  flex: 1;
  display: flex;
  align-items: center;
  gap: 8px
}

.wc-cat-head a:hover {
  color: var(--green-700)
}

.wc-cat.is-active>.wc-cat-head>a {
  color: var(--green-700)
}

.wc-cat-count {
  font-size: .74rem;
  font-weight: 700;
  color: var(--soil-700);
  background: var(--beige-100);
  border-radius: 50px;
  padding: 2px 9px;
  line-height: 1.4
}

.wc-cat-toggle {
  background: none;
  border: none;
  cursor: pointer;
  color: var(--green-700);
  padding: 4px;
  display: inline-flex;
  flex-shrink: 0
}

.wc-cat-toggle .caret {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  transition: transform .3s ease
}

.wc-cat.open>.wc-cat-head .wc-cat-toggle .caret {
  transform: rotate(-135deg)
}

.wc-cat-products {
  list-style: none;
  margin: 0;
  padding: 0 0 6px 14px;
  max-height: 0;
  overflow: hidden;
  transition: max-height .35s ease;
  border-left: 2px solid var(--beige-200)
}

.wc-cat.open>.wc-cat-products {
  max-height: 640px;
  overflow: auto
}

.wc-cat-products li {
  padding: 5px 0
}

.wc-cat-products a {
  color: var(--soil-700);
  font-size: .92rem
}

.wc-cat-products a:hover {
  color: var(--green-700)
}

/* Load more */
.wc-loadmore-wrap {
  text-align: center;
  margin-top: 36px;
  grid-column: 1 / -1
}

.wc-loadmore {
  min-width: 210px
}

.wc-loadmore.is-loading {
  opacity: .65;
  pointer-events: none
}

@media (max-width:992px) {
  .wc-shop-layout {
    grid-template-columns: 1fr;
    gap: 24px
  }

  .wc-shop-sidebar {
    position: static
  }
}

/* ===== Coupon field ===== */
.woocommerce .cart .actions .coupon {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap
}

.woocommerce #coupon_code,
.woocommerce #coupon_code.input-text {
  border: 1.5px solid var(--beige-300) !important;
  border-radius: 50px;
  padding: 11px 24px;
  line-height: 1.3;
  background: var(--cream);
  font-family: var(--font-body);
  font-size: 15px;
  min-width: 170px;
  width: auto;
}

.woocommerce #coupon_code:focus {
  outline: none;
  border-color: var(--green-600) !important;
  background: #fff
}

.woocommerce .cart .actions .coupon .button {
  border-radius: 50px;
  white-space: nowrap
}

/* ===== Cart (classic shortcode) ===== */
.woocommerce-cart .woocommerce::after {
  content: '';
  display: table;
  clear: both
}

.woocommerce-cart .woocommerce-cart-form {
  float: left;
  width: 63%
}

.woocommerce-cart .cart-collaterals {
  float: right;
  width: 33%
}

.woocommerce-cart .cart-collaterals .cart_totals {
  width: 100%;
  float: none;
  position: sticky;
  top: 90px
}

.woocommerce-cart table.cart td.product-remove a.remove {
  color: #c0392b !important;
  border: 2px solid var(--beige-300);
  background: #fff;
  font-size: 1.5em !important;
  line-height: .87 !important;
  font-weight: 400 !important;
}

.woocommerce-cart table.cart td.product-remove a.remove:hover {
  background: #c0392b !important;
  color: #fff !important;
  border-color: #c0392b
}

.woocommerce-cart table.cart td.product-thumbnail img {
  width: 64px;
  border-radius: 10px
}

.woocommerce-cart table.cart .product-name a {
  color: var(--green-800);
  font-weight: 600
}

.woocommerce-cart .actions .coupon .input-text {
  width: 180px
}

@media (max-width:782px) {

  .woocommerce-cart .woocommerce-cart-form,
  .woocommerce-cart .cart-collaterals {
    float: none;
    width: 100%
  }

  .woocommerce-cart .cart-collaterals .cart_totals {
    position: static
  }
}

/* ===== Checkout (classic shortcode) ===== */
.woocommerce-checkout form.checkout::after {
  content: '';
  display: table;
  clear: both
}

.woocommerce-checkout #customer_details {
  float: left;
  width: 60%
}

.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
  float: right;
  width: 36%;
  clear: right
}

.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 {
  float: none;
  width: 100%;
  background: #fff;
  border: 1px solid var(--beige-200);
  border-radius: var(--radius);
  box-shadow: var(--shadow-card);
  padding: 22px 24px;
  margin-bottom: 20px;
}

.woocommerce-checkout #order_review {
  background: #fff;
  border: 1px solid var(--beige-200);
  border-radius: var(--radius);
  box-shadow: var(--shadow-card);
  padding: 8px 22px 18px;
  position: sticky;
  top: 90px;
}

.woocommerce-checkout #order_review_heading {
  margin: 0 0 12px
}

.woocommerce-checkout #payment {
  background: transparent;
  border-radius: 12px
}

.woocommerce-checkout #payment ul.payment_methods {
  background: var(--beige-100);
  border-radius: 12px
}

@media (max-width:782px) {

  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review {
    float: none;
    width: 100%
  }

  .woocommerce-checkout #order_review {
    position: static
  }
}

/* ===== Cart / Checkout BLOCK markup (modern WooCommerce) ===== */
.wp-block-woocommerce-cart h2,
.wp-block-woocommerce-checkout h2,
.wc-block-components-title,
.wc-block-cart__totals-title,
.wc-block-components-checkout-step__title {
  font-family: var(--font-head);
  color: var(--green-800)
}

.wc-block-components-button,
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
  background: var(--leaf-grad) !important;
  color: #fff !important;
  border-radius: 50px !important;
  border: none !important;
  box-shadow: var(--shadow-soft);
}

.wc-block-components-button:hover {
  filter: brightness(1.06)
}

.wc-block-cart-items__row,
.wc-block-components-totals-item {
  border-color: var(--beige-200)
}

.wc-block-components-text-input input,
.wc-block-components-text-input textarea,
.wc-block-components-select select {
  border-radius: 10px !important
}

.wc-block-grid__products,
.wc-block-product-template {
  gap: 26px
}