/* Product card */
.woocommerce ul.products li.product {
  border: 1px solid #f0e6d3 !important;
  border-radius: 12px !important;
  overflow: hidden;
  padding: 0 0 12px 0 !important;
}

/* Product image full width */
.woocommerce ul.products li.product img {
  border-radius: 12px 12px 0 0;
  width: 100%;
}

/* Product title */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: 0.95rem !important;
  padding: 8px 12px 4px !important;
  color: #1a1a1a;
}

/* Price */
.woocommerce ul.products li.product .price {
  padding: 0 12px !important;
  color: #c8391b !important;
  font-weight: 700;
}

/* Button */
.woocommerce ul.products li.product .button {
  margin: 8px 12px 0 !important;
  width: calc(100% - 24px) !important;
  border-radius: 8px !important;
  background: #c8391b !important;
  color: white !important;
  font-weight: 600 !important;
  text-align: center;
}

/* Sale badge */
.woocommerce ul.products li.product .onsale {
  top: 10px !important;
  right: 10px !important;
  left: auto !important;
  z-index: 10 !important;
}

/* For Variation Swatches plugin */
.woocommerce ul.products li.product .swatches-wrapper,
.woocommerce ul.products li.product .swatch-wrapper {
  padding: 0 12px !important;
}

/* General fallback for any swatch container */
.woocommerce ul.products li.product [class*="swatch"] {
  padding-left: 7px !important;
	padding-right: 7px;
}





/* Shop page */
/* Product card */
.wc-block-grid__product,
.wc-block-grid .wc-block-grid__product {
	border: 1px solid #f0e6d3 !important;
	border-radius: 12px !important;
	overflow: hidden !important;
	margin: 25px !important;
	padding: 0 0 12px 0 !important;
	box-shadow: 0 2px 8px rgba(0,0,0,0.06) !important;
	transition: transform 0.02s ease !important;
}

/* Hover effect */
.wc-block-grid__product: hover {
	transform: translateY(-4px) !important;
	box-shadow: 0 6px 20px rgba(0,0,0,0.10) !important;
}

/* Product image */
.wc-block-grid__product-image img {
	border-radius: 12px 12px 0 0 !important;
	width: 100% !important;
}

/* Product title */
.wc-block-grid__product .wc-block-grid__product-title {
	padding: 10px 12px 4px !important;
	font-size: 0.95rem !important;
	color: #1a1a1a !important;
}

/* Price */
.wc-block-grid__product .wc-block-grid__product-price {
	padding: 0 9px !important;
	color: #c8391b  !important;
	font-weight: 600 !important;
}

/*  Stock indicator */
.wc-block-grid__stock-indicator {
	padding: 0 12px !important;
	font-weight: 600 !important
}

/* Select options button */
.wc-block-grid__product .wp-block-button__link, .wc-block-grid__product .wc-block-grid__product-add-to-cart a {
	background-color: #dd183b !important
	color: white !important;
	border-radius: 8px !important;
	width: 90% !important;
	display: block !important;
	margin: 8px auto 0 !important;
	text-align: center !important;
	padding: 10px !important;
	font-weight: 600 !important;
	border: none !important;
}

/* Button hover */
.wc-block-grid__product .wp-block-button__link:hover {
	background: #9E001C !important;
}

/* Sale badge */
.wc-block-grid__product .wc-block-grid__product-onsale {
	position: absolute !important;
	top: 12px !important;
	color: white !important;
	margin: 0 !important;
	z-index: 10 !important;
	border-radius: 50% !important;
	border: none;
	font-weight: 600 !important;
	background: #dd183b !important;
}

/* Force 4 columns on the exact container */
div.wc-block-grid.has-4-columns .wc-block-grid__products {
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 10px !important;
  padding: 0 !important;
}

/* Prevent the container from being too narrow */
div.wc-block-grid.has-4-columns {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
}







/* Single product page */
/* Main container */
.single-product div.product {
	padding: 40px 20px !important;
}

/* Product title */
.single-product .product_title {
	font-size: 2rem !important;
	font-weight: 700 !important;
	color: #1a1a1a !important;
	margin-bottom: 12px !important;
}

/* Price */
.single-product .price {
	font-size: 1.5rem !important;
	color: #c8391b !important;
	font-weight: 700 !important;
}

/* Free shipping text */
.single-product .price .free-shipping,
.single-product ins {
	color: #2d8a4e !important;
}

/* Variation buttons (colors/sizes) */
.single-product .woocommerce-variation-add-to-cart,
.single-product table.variations {
	margin-top: 16px !important
}

/* Size/color swatch buttons */
.single-product .button-variable-item {
  border-radius: 6px !important;
  border: 1px solid #ddd !important;
  padding: 6px 14px !important;
  margin: 4px !important;
  font-weight: 500 !important;
  transition: all 0.2s ease !important;
}

/* Selected swatch */
.single-product .button-variable-item.selected,
.single-product .button-variable-item:hover {
	border-color: #c8391b !important;
	color: #c8391b !important;
	background: #fff5f5 !important;
}

/* Add to cart button */
.single-product .single_add_to_cart_button {
	background: #dd183b !important;
	color: white !important;
	border-radius: 8px !important;
	padding: 12px 32px !important;
	font-weight: 700 !important;
	border: none !important;
	text-transform: uppercase !important;
	letter-spacing: 0.05rem !important;
}

.single-product .single_add_to_cart_button:hover {
	background: #A60721 !important;
}

/* Product image */
.single-product .woocommerce-product-gallery {
	border-radius: 12px !important;
	overflow: hidden !important;
}

/* Sale badge */
.single-product .onsale {
	background: #dd183b !important;
	border-radius: 50% !important;
	font-weight: 700 !important;
	margin-left: 10px !important;
	margin-top: 15px !important
}

/* Breadcrumb */
.single-product .woocommerce-breadcrumb {
	font-size: 0.85rem !important;
	color: #888 !important;
	margin-bottom: 20px !important;
}

/* Category & tags */
.single-product .posted_in,
.single-product .tagged_as {
	font-size: 0.9rem !important;
	color: #666 !important;
	margin-top: 12px !important;
	display: block !important;
}

.single-product .posted_in a,
.single-product .tagged_as a {
	color: #c8391b !important;
	text-decoration: none !important;
}







/* Checkout */
.wc-block-components-text-input input,
.wc-block-components-select select {
	border: 1px solid !important;
	border-radius: 7px !important;
	padding: 12px !important;
}

/* Field focus */
.wc-block-components-text-input input:focus,
.wc-block-components-select select:focus {
	border: 2px solid #dd183b !important;
}

/* Order summary */
.wc-block-components-sidebar {
	background: #fff;
	padding: 25px;
	border: 1px solid #eee;
	border-radius: 12px;
}

/* Buttons */
.wc-block-components-button,
.wc-block-components-checkout-place-order-button {
	border-radius: 8px !important;
	padding: 14px 24px !important
}




/* ── Mobile Fixes ── */
@media (max-width: 767px) {

  /* Force 2 columns on mobile for shop */
  div.wc-block-grid.has-4-columns .wc-block-grid__products,
  div.wc-block-grid.has-3-columns .wc-block-grid__products,
  .wc-block-grid__products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
    padding: 0 10px !important;
  }

  /* Fix price breaking into multiple lines */
  .wc-block-grid__product .wc-block-grid__product-price,
  .wc-block-grid__product .price {
    font-size: 0.8rem !important;
    padding: 0 8px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  /* Smaller product title on mobile */
  .wc-block-grid__product .wc-block-grid__product-title {
    font-size: 0.8rem !important;
    padding: 6px 8px 2px !important;
  }

  /* Select Options button on mobile */
  .wc-block-grid__product .wp-block-button__link,
  .wc-block-grid__product .wc-block-grid__product-add-to-cart a {
    font-size: 0.75rem !important;
    padding: 8px 4px !important;
    width: 95% !important;
  }

  /* Stock text */
  .wc-block-grid__stock-indicator {
    font-size: 0.75rem !important;
    padding: 0 8px !important;
  }

  /* Product card padding */
  .wc-block-grid__product {
    padding: 0 0 8px 0 !important;
  }

  /* Fix checkout page on mobile */
  .wc-block-checkout {
    padding: 10px !important;
  }

  /* Fix single product page on mobile */
  .single-product div.product {
    padding: 16px !important;
  }

  .single-product .product_title {
    font-size: 1.4rem !important;
  }

  .single-product .price {
    font-size: 1.1rem !important;
  }
}
