/* =============================================
   SINGLE PRODUCT PAGE
   ============================================= */

/* Prevent content from breaking out of container */
.single-product .woocommerce-content {
  overflow: hidden;
}

.single-product .woocommerce-content .product {
  max-width: 100%;
}

.single-product .woocommerce-product-gallery,
.single-product .woocommerce-product-gallery__wrapper,
.single-product .woocommerce-product-gallery__image,
.single-product .woocommerce-product-gallery__image img,
.single-product .summary.entry-summary {
  max-width: 100%;
}

/* Ensure thumbnails don't overflow */
.single-product .flex-control-thumbs {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  overflow: hidden;
}

.single-product .flex-control-thumbs li {
  margin: 0 !important;
}

.single-container .entry-content {
  margin: 20px 0;
}

/* =============================================
   RESPONSIVE - TABLET & MOBILE
   ============================================= */

/* Single product - Add to cart form on mobile */
@media (max-width: 767px) {
  /* Target the cart form directly with multiple selector variations */
  body.single-product form.cart,
  .single-product .summary form.cart,
  .single-product .entry-summary form.cart,
  .woocommerce div.product form.cart {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 12px !important;
    justify-content: flex-start !important;
  }

  body.single-product form.cart .quantity,
  .single-product .summary form.cart .quantity,
  .woocommerce div.product form.cart .quantity {
    flex: 0 0 auto !important;
    width: auto !important;
    margin: 0 !important;
    margin-right: 0 !important;
    display: block !important;
  }

  body.single-product form.cart .quantity input.qty,
  .single-product .summary form.cart .quantity input.qty,
  .woocommerce div.product form.cart .quantity input.qty {
    width: 70px !important;
    height: 44px !important;
    text-align: center !important;
  }

  body.single-product form.cart button.single_add_to_cart_button,
  .single-product .summary form.cart button.single_add_to_cart_button,
  .woocommerce div.product form.cart button.single_add_to_cart_button,
  body.single-product form.cart .single_add_to_cart_button,
  .single-product .summary form.cart .single_add_to_cart_button {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    height: 44px !important;
    padding: 0 16px !important;
    font-size: 13px !important;
    white-space: nowrap !important;
  }
}

/* Remove background from product headers */
.woocommerce li.product .product-header {
  background-color: transparent;
  font-family: var(--font-body);
}

/* Product Grid - Flexbox for auto-expanding items */
ul.products,
.products.columns-4,
.products.columns-3 {
  display: flex !important;
  flex-wrap: wrap;
  gap: 40px;
  justify-content: center;
}

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

ul.products > li.product-category,
ul.products > li.product {
  flex: 0 0 calc(25% - 30px);
  max-width: calc(25% - 30px);
}

ul.products li.product .product-header {
  background: transparent;
}

@media (max-width: 1100px) {
  ul.products > li.product-category,
  ul.products > li.product {
    flex: 0 0 calc(33.333% - 27px);
    max-width: calc(33.333% - 27px);
  }
}

@media (max-width: 800px) {
  ul.products > li.product-category,
  ul.products > li.product {
    flex: 0 0 calc(50% - 20px);
    max-width: calc(50% - 20px);
  }
}

@media (max-width: 700px) {
  ul.products > li.product-category,
  ul.products > li.product {
    flex: 0 0 100%;
    max-width: 100%;
    text-align: center;
  }

  ul.products > li.product img {
    margin: 0 auto;
  }
  
  #main-content .product {
    margin-top: 0px;
  }
}