:root {
  --gdsa43-green: #24513a;
  --gdsa43-green-dark: #183829;
  --gdsa43-green-soft: #eef6f1;
  --gdsa43-gold: #c59b43;
  --gdsa43-ink: #1e2a24;
  --gdsa43-muted: #65726b;
  --gdsa43-border: #dfe8e2;
  --gdsa43-bg: #f7faf8;
  --gdsa43-white: #ffffff;
}

body.woocommerce,
body.woocommerce-page {
  background: var(--gdsa43-bg);
}

.gdsa43-woo-hero {
  margin: 0 0 2rem;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  border-radius: 22px;
  background: linear-gradient(135deg, var(--gdsa43-green), var(--gdsa43-green-dark));
  color: #fff;
  box-shadow: 0 18px 45px rgba(24, 56, 41, 0.18);
}

.gdsa43-woo-hero .gdsa43-kicker {
  margin: 0 0 .45rem;
  color: #f3d895;
  font-size: .82rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 700;
}

.gdsa43-woo-hero h1 {
  color: #fff;
  margin: 0 0 .65rem;
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.05;
}

.gdsa43-woo-hero p:last-child {
  max-width: 820px;
  margin: 0;
  color: rgba(255,255,255,.88);
  font-size: 1.05rem;
}

.woocommerce ul.products {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(245px, 1fr));
  gap: 1.25rem;
}

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

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  width: auto !important;
  margin: 0 !important;
  float: none !important;
  padding: 1.15rem !important;
  border: 1px solid var(--gdsa43-border);
  border-radius: 18px;
  background: var(--gdsa43-white);
  box-shadow: 0 10px 30px rgba(30,42,36,.06);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.woocommerce ul.products li.product:hover {
  transform: translateY(-3px);
  border-color: rgba(36,81,58,.25);
  box-shadow: 0 18px 45px rgba(30,42,36,.11);
}

.woocommerce ul.products li.product a img {
  border-radius: 14px;
  background: var(--gdsa43-green-soft);
  aspect-ratio: 4 / 3;
  object-fit: contain;
  padding: .75rem;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  color: var(--gdsa43-ink);
  font-weight: 800;
  font-size: 1.05rem;
  line-height: 1.25;
  padding: .5rem 0 .25rem;
}

.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: var(--gdsa43-green);
  font-weight: 800;
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce #payment #place_order,
.woocommerce-page #payment #place_order {
  border-radius: 999px !important;
  background: var(--gdsa43-green) !important;
  color: #fff !important;
  font-weight: 800 !important;
  border: 0 !important;
  padding: .85rem 1.1rem !important;
  box-shadow: 0 8px 18px rgba(36,81,58,.18);
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce #payment #place_order:hover,
.woocommerce-page #payment #place_order:hover {
  background: var(--gdsa43-green-dark) !important;
  transform: translateY(-1px);
}

.woocommerce .quantity .qty {
  border-radius: 12px;
  border: 1px solid var(--gdsa43-border);
}

.gdsa43-notice-box,
.woocommerce-info,
.woocommerce-message,
.woocommerce-error {
  border: 1px solid var(--gdsa43-border) !important;
  border-left: 5px solid var(--gdsa43-gold) !important;
  background: #fffdf6 !important;
  color: var(--gdsa43-ink) !important;
  border-radius: 16px !important;
  padding: 1rem 1.25rem !important;
  box-shadow: 0 10px 26px rgba(30,42,36,.05);
}

.woocommerce-info::before,
.woocommerce-message::before,
.woocommerce-error::before {
  color: var(--gdsa43-gold) !important;
}

.woocommerce table.shop_table {
  border: 1px solid var(--gdsa43-border) !important;
  border-radius: 18px !important;
  overflow: hidden;
  background: #fff;
}

.woocommerce table.shop_table th {
  background: var(--gdsa43-green-soft);
  color: var(--gdsa43-ink);
  font-weight: 800;
}

.woocommerce table.shop_table td,
.woocommerce table.shop_table th {
  border-color: var(--gdsa43-border) !important;
}

.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-checkout #order_review,
.woocommerce-checkout #customer_details,
.woocommerce div.product {
  background: #fff;
  border: 1px solid var(--gdsa43-border);
  border-radius: 20px;
  padding: 1.25rem;
  box-shadow: 0 14px 38px rgba(30,42,36,.06);
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container--default .select2-selection--single {
  border: 1px solid var(--gdsa43-border) !important;
  border-radius: 12px !important;
  min-height: 44px;
}

.woocommerce form .form-row label {
  color: var(--gdsa43-ink);
  font-weight: 700;
}

.woocommerce div.product .product_title {
  color: var(--gdsa43-ink);
  font-weight: 900;
}

.gdsa43-product-context {
  display: inline-block;
  margin: .25rem 0 .75rem;
  padding: .45rem .75rem;
  border-radius: 999px;
  background: var(--gdsa43-green-soft);
  color: var(--gdsa43-green-dark);
  font-weight: 700;
  font-size: .92rem;
}

.woocommerce .woocommerce-breadcrumb {
  color: var(--gdsa43-muted);
  font-size: .92rem;
}

.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
  margin-bottom: 1.25rem;
}

.woocommerce .woocommerce-ordering select {
  border-radius: 12px;
  border: 1px solid var(--gdsa43-border);
  padding: .45rem .65rem;
}

@media (max-width: 768px) {
  .woocommerce ul.products {
    grid-template-columns: 1fr;
  }
  .woocommerce-cart .cart-collaterals .cart_totals,
  .woocommerce-checkout #order_review,
  .woocommerce-checkout #customer_details {
    padding: 1rem;
  }
}
