button.single_add_to_cart_button {
  width: 100% !important;
  padding: 15px 25px !important;
  transition: background-color 0.3s, transform 0.2s, box-shadow 0.3s !important;
  font-weight: 700 !important;
  text-align: center !important;
  display: inline-block !important;
  margin-top: 10px !important;
  color: #fff !important;
}

/* WooCommerce Product Grid */
.woocommerce ul.products li.product {
  background-color: #fff;
  border: 2px solid #dce3ed;
  border-radius: 10px;
  padding: 12px;
  padding-bottom: 6px !important;
  margin: 10px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, .1);
  transition: .3s;
  opacity: 0;
  animation: .5s forwards fadeIn;
  position: relative;
  overflow: hidden;
}

@keyframes fadeIn {
  to { opacity: 1; }
}

.woocommerce ul.products li.product:hover {
  border-color: #215ba2;
  box-shadow: 0 0 10px rgba(33,91,162,.5);
  transform: translateY(-5px);
}

.woocommerce ul.products li.product img {
  border-radius: 6px;
  transition: transform .3s;
}

.woocommerce ul.products li.product:hover img {
  transform: scale(1.05);
}

.woocommerce ul.products li.product h2.woocommerce-loop-product__title {
  font-size: 16px;
  font-weight: 800;
  color: #333;
  text-align: center;
  margin-top: 10px;
  transition: color .3s;
}

.woocommerce ul.products li.product:hover h2.woocommerce-loop-product__title {
  color: #215ba2;
}

.woocommerce ul.products li.product .price {
  font-size: 15px;
  color: #215ba2;
  font-weight: 700;
  text-align: center;
  margin-top: 5px;
}

/* Add to Cart Button */
.woocommerce ul.products li.product .button {
  text-transform: uppercase;
  z-index: 1;
  background: linear-gradient(135deg, #215ba2, #17407a);
  border: none;
  color: #fff;
  padding: 12px 25px;
  transition: background-color .3s, transform .2s, box-shadow .3s;
  font-size: 15px;
  font-weight: 900;
  text-align: center;
  border-radius: 15px;
  display: inline-block;
  width: 100%;
  margin-top: 8px;
  position: relative;
  animation: 1s ease-out infinite pulse;
}

.woocommerce ul.products li.product:hover .button {
  animation: 1s ease-out infinite pulseHover;
}

@keyframes pulse {
  0%, 100% { box-shadow: 0 0 5px rgba(33,91,162,.5); }
  50% { box-shadow: 0 0 10px rgba(33,91,162,.7); }
}

@keyframes pulseHover {
  0%, 100% { box-shadow: 0 0 5px rgba(33,91,162,.5); }
  50% { box-shadow: 0 0 12px rgba(33,91,162,.6); }
}

/* Add to Cart Single Product */
button.single_add_to_cart_button {
  background: linear-gradient(135deg, #215ba2, #17407a) !important;
  border: none !important;
}
button.single_add_to_cart_button:hover {
  background: linear-gradient(135deg, #17407a, #215ba2) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 8px rgba(0,0,0,.15) !important;
}

/* Cart and Checkout Buttons (Main Pages) */
a.wc-block-components-button.wp-element-button.wc-block-cart__submit-button.contained,
button.wc-block-components-button.wp-element-button.wc-block-components-checkout-place-order-button.wc-block-components-checkout-place-order-button--full-width.contained {
  background-color: #215ba2;
  color: #fff;
  padding: 12px 25px;
  font-size: 16px;
  font-weight: 700;
  text-transform: uppercase;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 6px;
  transition: background-color .3s, transform .2s, box-shadow .3s;
  width: 100%;
  margin-top: 10px;
  box-sizing: border-box;
}

a.wc-block-components-button.wp-element-button.wc-block-cart__submit-button.contained:hover,
button.wc-block-components-button.wp-element-button.wc-block-components-checkout-place-order-button.wc-block-components-checkout-place-order-button--full-width.contained:hover {
  background-color: #17407a;
  box-shadow: 0 4px 6px rgba(0,0,0,.15);
  transform: translateY(-2px);
}

/* Disable Horizontal Scroll */
body, html { overflow-x: hidden; }

/* Ensure all elements fit inside the screen */
* { box-sizing: border-box !important; }
