/*
Theme Name: EE WooCommerce Shop
Description: Clean rebuild — shop layouts from electricianelectricians.co.za HTML.
Version: 2.4.3
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: ee-woo
*/

/* Woo notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error { border-radius: 14px; padding: 14px 18px; margin-bottom: 20px; }

.screen-reader-text {
  border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
  height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px;
}

/* Cart qty: readable black text, comfortable width */
body.woocommerce-cart .ee-quantity input.qty {
  width: 88px;
  min-width: 88px;
  height: 44px;
  color: #000;
  -webkit-text-fill-color: #000;
  background: #fff;
  border: 1px solid #c5d0db;
  border-radius: 12px;
  text-align: center;
  font-weight: 700;
  font-size: 16px;
  box-sizing: border-box;
}
body.woocommerce-cart .ee-cart-desc {
  margin: 6px 0 0;
  font-size: 0.88rem;
  line-height: 1.45;
  color: #5a6b7c;
}
body.woocommerce-cart .ee-stock .ee-remove {
  margin-left: 10px;
  color: #e71921;
  font-weight: 700;
}

/* Related products: 4 across */
body.single-product ul.products {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  list-style: none;
  margin: 0;
  padding: 0;
}
body.single-product ul.products li.product {
  width: auto;
  float: none;
  margin: 0;
}
@media (max-width: 900px) {
  body.single-product ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Quantity: one box only — outer = inner width */
body.woocommerce-cart .ee-quantity {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 88px !important;
  min-width: 88px !important;
  max-width: 88px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
body.woocommerce-cart .ee-quantity .quantity {
  width: 88px !important;
  min-width: 88px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
}
body.woocommerce-cart .ee-quantity input.qty,
body.woocommerce-cart .ee-quantity input[type="number"] {
  width: 88px !important;
  min-width: 88px !important;
  max-width: 88px !important;
  height: 44px !important;
  margin: 0 !important;
  padding: 8px 10px !important;
  box-sizing: border-box !important;
  border: 1px solid #c5d0db !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: #000 !important;
  -webkit-text-fill-color: #000 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  text-align: center !important;
}

/* Checkout = HTML theme layout */
body.woocommerce-checkout .ee-checkout-page {
  background: #f5f8fb;
}
body.woocommerce-checkout .ee-checkout-page > .container {
  width: min(100% - 40px, 1440px);
  margin-inline: auto;
}
body.woocommerce-checkout .ee-checkout-notice {
  padding: 15px 18px;
  background: #fff;
  border: 1px solid #dce5ec;
  border-radius: 12px;
  margin-bottom: 22px;
}
body.woocommerce-checkout .ee-checkout-notice span {
  float: right;
}
body.woocommerce-checkout form.ee-checkout-layout,
body.woocommerce-checkout form.checkout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 410px !important;
  gap: 32px !important;
  align-items: start !important;
  width: 100% !important;
  max-width: 100% !important;
}
body.woocommerce-checkout .ee-checkout-fields {
  display: grid !important;
  gap: 20px !important;
  min-width: 0 !important;
}
body.woocommerce-checkout .ee-form-card,
body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-shipping-fields,
body.woocommerce-checkout .woocommerce-additional-fields {
  background: #fff !important;
  border: 1px solid #dce5ec !important;
  border-radius: 18px !important;
  padding: 25px !important;
  box-shadow: 0 13px 32px rgba(10, 32, 53, 0.06) !important;
  margin: 0 0 0 !important;
}
body.woocommerce-checkout .ee-form-card h2,
body.woocommerce-checkout .woocommerce-billing-fields h3,
body.woocommerce-checkout .woocommerce-shipping-fields h3,
body.woocommerce-checkout #order_review_heading {
  margin-top: 0 !important;
  font-size: 1.25rem !important;
  color: #0f1b2d !important;
}
body.woocommerce-checkout .ee-order-summary,
body.woocommerce-checkout aside#order_review {
  background: #fff !important;
  border: 1px solid #dce5ec !important;
  border-radius: 18px !important;
  padding: 25px !important;
  box-shadow: 0 13px 32px rgba(10, 32, 53, 0.06) !important;
  position: sticky !important;
  top: 100px !important;
}
body.woocommerce-checkout #order_review table {
  width: 100% !important;
}
body.woocommerce-checkout #place_order {
  width: 100% !important;
  background: linear-gradient(135deg, #e71921, #d21219) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 12px !important;
  font-weight: 800 !important;
  padding: 14px 18px !important;
}
body.woocommerce-checkout .form-row input.input-text,
body.woocommerce-checkout .form-row textarea,
body.woocommerce-checkout .form-row select {
  width: 100% !important;
  border: 1px solid #cbd6df !important;
  border-radius: 9px !important;
  padding: 12px !important;
  background: #fff !important;
  color: #0f1b2d !important;
}
@media (max-width: 900px) {
  body.woocommerce-checkout form.ee-checkout-layout,
  body.woocommerce-checkout form.checkout {
    grid-template-columns: 1fr !important;
  }
  body.woocommerce-checkout .ee-checkout-notice span {
    float: none;
    display: block;
    margin-top: 8px;
  }
}

/* Checkout columns: A narrower, B wider so prices fit */
body.woocommerce-checkout form.ee-checkout-layout,
body.woocommerce-checkout form.checkout.woocommerce-checkout {
  display: grid !important;
  grid-template-columns: minmax(0, 0.95fr) minmax(420px, 1.15fr) !important;
  gap: 28px !important;
  align-items: start !important;
}
body.woocommerce-checkout .ee-order-summary,
body.woocommerce-checkout aside#order_review,
body.woocommerce-checkout .ee-checkout-summary {
  min-width: 0 !important;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}
body.woocommerce-checkout #order_review table,
body.woocommerce-checkout .woocommerce-checkout-review-order-table {
  width: 100% !important;
  table-layout: auto !important;
}
body.woocommerce-checkout #order_review table th,
body.woocommerce-checkout #order_review table td {
  white-space: normal !important;
  word-break: normal !important;
  vertical-align: top !important;
  padding: 10px 8px !important;
}
body.woocommerce-checkout #order_review table .product-total,
body.woocommerce-checkout #order_review table tfoot td,
body.woocommerce-checkout #order_review table .amount {
  white-space: nowrap !important;
  text-align: right !important;
  font-variant-numeric: tabular-nums !important;
}
body.woocommerce-checkout #order_review table .product-name {
  padding-right: 12px !important;
}
@media (max-width: 900px) {
  body.woocommerce-checkout form.ee-checkout-layout,
  body.woocommerce-checkout form.checkout {
    grid-template-columns: 1fr !important;
  }
}

/* Checkout columns: balanced (not over-wide B) */
body.woocommerce-checkout form.ee-checkout-layout,
body.woocommerce-checkout form.checkout.woocommerce-checkout {
  display: grid !important;
  grid-template-columns: minmax(0, 1.2fr) minmax(340px, 400px) !important;
  gap: 28px !important;
  align-items: start !important;
}

/* Coupon notice: hide WC default odd prefix / duplicate */
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before,
body.woocommerce-checkout .woocommerce-info::before {
  display: none !important;
  content: none !important;
}
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
  list-style: none !important;
  padding-left: 18px !important;
}
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info,
body.woocommerce-checkout .ee-checkout-notice {
  font-size: 0.95rem !important;
  color: #33485b !important;
}
/* Hide duplicate coupon line if both theme notice + WC toggle show */
body.woocommerce-checkout .ee-checkout-notice + .woocommerce-form-coupon-toggle {
  display: none !important;
}

/* A −100px, B +100px */
body.woocommerce-checkout form.ee-checkout-layout,
body.woocommerce-checkout form.checkout.woocommerce-checkout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 500px !important;
  gap: 28px !important;
  align-items: start !important;
}
body.woocommerce-checkout .ee-order-summary,
body.woocommerce-checkout aside#order_review {
  width: 500px !important;
  max-width: 500px !important;
}
@media (max-width: 1100px) {
  body.woocommerce-checkout form.ee-checkout-layout,
  body.woocommerce-checkout form.checkout {
    grid-template-columns: minmax(0, 1fr) minmax(380px, 1fr) !important;
  }
  body.woocommerce-checkout aside#order_review {
    width: auto !important;
    max-width: none !important;
  }
}
@media (max-width: 900px) {
  body.woocommerce-checkout form.ee-checkout-layout,
  body.woocommerce-checkout form.checkout {
    grid-template-columns: 1fr !important;
  }
}

/* Checkout payment + privacy: stack A above B, full width */
body.woocommerce-checkout #order_review .woocommerce-checkout-payment,
body.woocommerce-checkout #payment {
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
  width: 100% !important;
}
body.woocommerce-checkout #order_review .woocommerce-checkout-payment ul.payment_methods,
body.woocommerce-checkout #payment ul.payment_methods {
  width: 100% !important;
  float: none !important;
  margin: 0 0 12px !important;
  padding: 14px !important;
  box-sizing: border-box !important;
}
body.woocommerce-checkout #order_review .woocommerce-checkout-payment .form-row.place-order,
body.woocommerce-checkout #payment .form-row.place-order {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}
body.woocommerce-checkout #order_review .woocommerce-privacy-policy-text,
body.woocommerce-checkout #payment .woocommerce-privacy-policy-text {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}
body.woocommerce-checkout #order_review #place_order,
body.woocommerce-checkout #payment #place_order {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
}
/* Kill side-by-side floats from default WC */
body.woocommerce-checkout #order_review #payment ul.payment_methods,
body.woocommerce-checkout #order_review #payment .place-order {
  width: 100% !important;
  max-width: 100% !important;
}
body.woocommerce-checkout #order_review #payment::after,
body.woocommerce-checkout #order_review #payment::before {
  display: none !important;
  content: none !important;
}

/* Place order: smaller + green */
body.woocommerce-checkout #place_order,
body.woocommerce-checkout button#place_order,
body.woocommerce-checkout #payment #place_order {
  width: auto !important;
  max-width: 100% !important;
  min-width: 180px !important;
  display: inline-block !important;
  padding: 12px 28px !important;
  font-size: 0.95rem !important;
  font-weight: 800 !important;
  border: none !important;
  border-radius: 12px !important;
  background: #08a83f !important;
  background-image: none !important;
  color: #fff !important;
  box-shadow: 0 8px 20px rgba(8, 168, 63, 0.28) !important;
  cursor: pointer !important;
}
body.woocommerce-checkout #place_order:hover,
body.woocommerce-checkout button#place_order:hover {
  background: #079536 !important;
  color: #fff !important;
}
body.woocommerce-checkout #payment .form-row.place-order {
  text-align: left !important;
}

/* Place order width — not full column width */
body.woocommerce-checkout #place_order,
body.woocommerce-checkout button#place_order,
body.woocommerce-checkout #payment #place_order,
body.woocommerce-checkout .woocommerce-checkout #place_order {
  width: 200px !important;
  max-width: 200px !important;
  min-width: 200px !important;
  display: block !important;
  box-sizing: border-box !important;
  padding: 12px 16px !important;
  background: #08a83f !important;
  color: #fff !important;
}


/* Single product polish */
body.single-product .ee-product-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1.05fr) minmax(380px, 0.95fr) !important;
  gap: 46px !important;
  align-items: start !important;
  width: min(100% - 40px, 1440px) !important;
  margin-inline: auto !important;
}
body.single-product .ee-tab-panel { display: none; }
body.single-product .ee-tab-panel.active { display: block; }
body.single-product .ee-tab-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 18px;
}
body.single-product .ee-tab-buttons button {
  border: 1px solid #dce5ec;
  background: #fff;
  border-radius: 999px;
  padding: 10px 16px;
  font-weight: 750;
  cursor: pointer;
}
body.single-product .ee-tab-buttons button.active {
  background: #0b2037;
  color: #fff;
  border-color: #0b2037;
}
body.single-product .ee-related .ee-product-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 22px !important;
}
body.single-product .ee-purchase-box .cart {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: 10px;
  width: 100%;
}
body.single-product .ee-purchase-box .single_add_to_cart_button {
  background: linear-gradient(135deg, #e71921, #d21219) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 12px !important;
  font-weight: 800 !important;
  height: 44px !important;
  padding: 0 18px !important;
}
body.single-product .ee-purchase-box .quantity input.qty {
  width: 88px !important;
  height: 44px !important;
  color: #000 !important;
  -webkit-text-fill-color: #000 !important;
  border: 1px solid #c5d0db !important;
  border-radius: 12px !important;
  text-align: center !important;
  font-weight: 700 !important;
}
body.single-product .ee-fulfilment {
  display: grid;
  gap: 10px;
  margin-top: 18px;
}
body.single-product .ee-fulfilment > div {
  padding: 12px 14px;
  background: #f5f8fb;
  border-radius: 12px;
}
body.single-product .ee-fulfilment strong { display: block; color: #0b2037; }
body.single-product .ee-fulfilment span { font-size: 0.86rem; color: #657485; }
@media (max-width: 900px) {
  body.single-product .ee-product-layout { grid-template-columns: 1fr !important; }
  body.single-product .ee-related .ee-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}


/* Related: force 4 columns, never a single lonely card stretched */
body.single-product .ee-related {
  margin-top: 48px !important;
  width: min(100% - 40px, 1440px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
body.single-product .ee-related .ee-product-grid,
body.single-product section.ee-related .ee-product-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 22px !important;
  width: 100% !important;
}
body.single-product .ee-related .ee-product-card {
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  float: none !important;
}
body.single-product .ee-related .ee-section-heading {
  margin-bottom: 22px !important;
}
@media (max-width: 1100px) {
  body.single-product .ee-related .ee-product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}


/* Single product page container track */
body.single-product .ee-single-product > .container {
  width: min(100% - 40px, 1440px) !important;
  max-width: 1440px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}
body.single-product .ee-related .ee-product-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 22px !important;
}
body.single-product .ee-related .ee-product-card {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}

/* Related products: exactly 4 columns, one row when 4 items */
body.single-product section.ee-related .ee-product-grid,
body.single-product .ee-related .ee-product-grid,
body.single-product ul.products,
body.single-product .related.products ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 22px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  float: none !important;
}
body.single-product section.ee-related .ee-product-grid::before,
body.single-product section.ee-related .ee-product-grid::after,
body.single-product ul.products::before,
body.single-product ul.products::after {
  display: none !important;
  content: none !important;
}
body.single-product .ee-related .ee-product-card,
body.single-product .ee-related .ee-product-grid > *,
body.single-product ul.products li.product {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  float: none !important;
  clear: none !important;
  box-sizing: border-box !important;
}
/* Theme-style related cards / buttons */
body.single-product .ee-related .ee-product-card {
  background: #fff !important;
  border: 1px solid #dce5ec !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  box-shadow: 0 13px 30px rgba(10, 32, 53, 0.07) !important;
}
body.single-product .ee-related .ee-product-card-body {
  padding: 16px 18px 20px !important;
}
body.single-product .ee-related .ee-cart-btn,
body.single-product .ee-related a.btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: linear-gradient(135deg, #e71921, #d21219) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 10px 14px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  font-size: 0.85rem !important;
}
body.single-product .ee-related .ee-product-image img {
  width: 100% !important;
  height: 180px !important;
  object-fit: contain !important;
  background: #fff !important;
}
@media (max-width: 1100px) {
  body.single-product .ee-related .ee-product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}


/* Related heading always visible */
body.single-product .ee-related .ee-section-heading {
  display: block !important;
  margin: 0 0 22px !important;
  visibility: visible !important;
  opacity: 1 !important;
}
body.single-product .ee-related .ee-shop-kicker {
  display: inline-block !important;
  color: #e71921 !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.11em !important;
  font-size: 0.76rem !important;
  margin-bottom: 6px !important;
  visibility: visible !important;
}
body.single-product .ee-related .ee-section-heading h2 {
  display: block !important;
  margin: 0.35rem 0 0 !important;
  color: #0b2037 !important;
  font-size: clamp(1.6rem, 3vw, 2.2rem) !important;
  visibility: visible !important;
}
body.single-product .ee-related-sub {
  margin: 6px 0 0 !important;
  color: #657485 !important;
  font-size: 0.95rem !important;
}

/* Single product layout = HTML */
body.single-product .ee-single-product > .container {
  width: min(100% - 40px, 1440px) !important;
  margin-inline: auto !important;
}
body.single-product .ee-product-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1.05fr) minmax(380px, 0.95fr) !important;
  gap: 46px !important;
  align-items: start !important;
}
body.single-product .ee-tab-panel {
  display: none;
  padding: 22px 0 10px;
}
body.single-product .ee-tab-panel.active {
  display: block !important;
}
body.single-product .ee-tab-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  border-bottom: 1px solid #e2e9ef;
  padding-bottom: 12px;
}
body.single-product .ee-tab-buttons button {
  border: 1px solid #dce5ec;
  background: #fff;
  border-radius: 999px;
  padding: 10px 16px;
  font-weight: 750;
  cursor: pointer;
  color: #0b2037;
}
body.single-product .ee-tab-buttons button.active {
  background: #0b2037;
  color: #fff;
  border-color: #0b2037;
}
body.single-product .ee-related .ee-product-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 22px !important;
}
body.single-product .ee-related .ee-product-card {
  background: #fff !important;
  border: 1px solid #dce5ec !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  box-shadow: 0 13px 30px rgba(10, 32, 53, 0.07) !important;
  display: flex !important;
  flex-direction: column !important;
}
body.single-product .ee-related .ee-product-card-body {
  padding: 20px !important;
  flex: 1 !important;
}
body.single-product .ee-related .ee-product-image {
  display: block !important;
  aspect-ratio: 1.35 !important;
  background: #edf2f5 !important;
  overflow: hidden !important;
}
body.single-product .ee-related .ee-product-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
body.single-product .ee-related .ee-cart-btn {
  background: linear-gradient(135deg, #e71921, #d21219) !important;
  color: #fff !important;
  border-radius: 10px !important;
  padding: 10px 14px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  display: inline-block !important;
}
body.single-product .ee-related .ee-view-link {
  margin-left: 10px;
  font-weight: 800;
  font-size: 0.86rem;
}
body.single-product .ee-related .ee-shop-kicker {
  display: inline-block !important;
  color: #ff765f !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.11em !important;
  font-size: 0.76rem !important;
}
@media (max-width: 1100px) {
  body.single-product .ee-related .ee-product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 900px) {
  body.single-product .ee-product-layout {
    grid-template-columns: 1fr !important;
  }
}

/* Single product: smaller, less awkward headings */
body.single-product .ee-product-summary h1 {
  font-size: clamp(1.55rem, 2.6vw, 2.15rem) !important;
  line-height: 1.2 !important;
  margin: 0.25rem 0 10px !important;
  letter-spacing: -0.02em !important;
}
body.single-product .ee-product-tabs .ee-tab-panel h2 {
  font-size: 1.25rem !important;
  line-height: 1.3 !important;
  margin: 0 0 12px !important;
}
body.single-product .ee-related .ee-section-heading h2 {
  font-size: clamp(1.35rem, 2.2vw, 1.75rem) !important;
  line-height: 1.25 !important;
  margin: 0.25rem 0 0 !important;
}
body.single-product .ee-related .ee-product-card h2 {
  font-size: 1.05rem !important;
  line-height: 1.35 !important;
  margin: 0 0 8px !important;
}
body.single-product .ee-related .ee-product-card h2 a {
  font-size: inherit !important;
}

/* Shop archive = HTML catalogue */
body.woocommerce-shop .ee-catalogue-layout,
body.tax-product_cat .ee-catalogue-layout {
  display: grid !important;
  grid-template-columns: 250px minmax(0, 1fr) !important;
  gap: 30px !important;
}
body.woocommerce-shop .ee-product-grid,
body.tax-product_cat .ee-product-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 22px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.woocommerce-shop .ee-product-card,
body.tax-product_cat .ee-product-card {
  width: auto !important;
  float: none !important;
  margin: 0 !important;
}
body.woocommerce-shop .ee-product-search,
body.tax-product_cat .ee-product-search {
  display: flex !important;
  min-width: min(100%, 450px) !important;
}
body.woocommerce-shop .ee-product-search input,
body.tax-product_cat .ee-product-search input {
  flex: 1 !important;
  border: 1px solid #cbd6df !important;
  border-radius: 12px 0 0 12px !important;
  padding: 14px 16px !important;
}
body.woocommerce-shop .ee-product-search .btn,
body.tax-product_cat .ee-product-search .btn {
  border-radius: 0 12px 12px 0 !important;
}
body.woocommerce-shop .ee-cart-btn,
body.tax-product_cat .ee-cart-btn {
  background: linear-gradient(135deg, #e71921, #d21219) !important;
  color: #fff !important;
  border-radius: 10px !important;
  padding: 10px 14px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  display: inline-block !important;
}
@media (max-width: 900px) {
  body.woocommerce-shop .ee-catalogue-layout,
  body.tax-product_cat .ee-catalogue-layout {
    grid-template-columns: 1fr !important;
  }
  body.woocommerce-shop .ee-product-grid,
  body.tax-product_cat .ee-product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}


/* Hide add-to-cart success spam on checkout */
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-checkout .woocommerce-notices-wrapper .woocommerce-message {
  display: none !important;
}


/* Ship to different address: checkbox LEFT of label, compact height */
body.woocommerce-checkout #ship-to-different-address,
body.woocommerce-checkout .woocommerce-shipping-fields #ship-to-different-address {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 8px 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
  line-height: 1.3 !important;
}
body.woocommerce-checkout #ship-to-different-address label,
body.woocommerce-checkout .woocommerce-form__label-for-checkbox {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  line-height: 1.3 !important;
}
body.woocommerce-checkout #ship-to-different-address input[type="checkbox"],
body.woocommerce-checkout #ship-to-different-address-checkbox {
  order: -1 !important;
  margin: 0 !important;
  width: 16px !important;
  height: 16px !important;
  flex-shrink: 0 !important;
  position: static !important;
  float: none !important;
}
body.woocommerce-checkout .woocommerce-shipping-fields h3 {
  margin: 0 0 8px !important;
  padding: 0 !important;
  font-size: 1.05rem !important;
  line-height: 1.3 !important;
}
body.woocommerce-checkout .woocommerce-shipping-fields {
  padding-top: 8px !important;
}

/* Hide coupon toggle on checkout */
body.woocommerce-checkout .woocommerce-form-coupon-toggle,
body.woocommerce-checkout .woocommerce-info.woocommerce-form-coupon-toggle,
body.woocommerce-checkout form.checkout_coupon,
body.woocommerce-checkout .ee-checkout-notice {
  display: none !important;
}

/* Checkout marketing opt-in: text close to checkbox, wider natural line */
body.woocommerce-checkout .woocommerce-form__label-for-checkbox,
body.woocommerce-checkout label.woocommerce-form__label-for-checkbox,
body.woocommerce-checkout .woocommerce-account-fields .form-row,
body.woocommerce-checkout .woocommerce-account-fields label,
body.woocommerce-checkout #woocommerce_checkout_marketing,
body.woocommerce-checkout .form-row-wide.create-account,
body.woocommerce-checkout label[for*="mailchimp"],
body.woocommerce-checkout label[for*="marketing"],
body.woocommerce-checkout label[for*="subscribe"],
body.woocommerce-checkout .woocommerce-form__label {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  gap: 8px !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  margin: 8px 0 !important;
  padding: 0 !important;
  line-height: 1.4 !important;
}
body.woocommerce-checkout .woocommerce-form__label-for-checkbox input[type="checkbox"],
body.woocommerce-checkout label.woocommerce-form__label-for-checkbox input[type="checkbox"],
body.woocommerce-checkout .form-row input[type="checkbox"] {
  margin: 3px 0 0 0 !important;
  margin-right: 0 !important;
  width: 16px !important;
  height: 16px !important;
  flex-shrink: 0 !important;
  float: none !important;
  position: static !important;
}
body.woocommerce-checkout .woocommerce-form__label-for-checkbox span,
body.woocommerce-checkout .woocommerce-form__label-for-checkbox .woocommerce-form__label-text,
body.woocommerce-checkout label.woocommerce-form__label-for-checkbox span {
  display: inline !important;
  width: auto !important;
  max-width: none !important;
  flex: 1 1 auto !important;
  padding: 0 !important;
  margin: 0 !important;
  white-space: normal !important;
  line-height: 1.4 !important;
}
/* Common WC / Mailchimp opt-in rows */
body.woocommerce-checkout .woocommerce-account-fields,
body.woocommerce-checkout .woocommerce-privacy-policy-text,
body.woocommerce-checkout p.form-row {
  max-width: 100% !important;
}
body.woocommerce-checkout .woocommerce-account-fields .form-row-wide {
  width: 100% !important;
  float: none !important;
}
