/* ============================================================
   Product detail page styles — enqueued so Perfmatters'
   Used CSS scanner and the Elementor editor both pick this up.
   All rules scoped to .single-product body class so they only
   apply on actual product pages.
   ============================================================ */

/* ── "New" badge (Elementor widget a5f3b3a) — normalize to pill height ── */
/* Elementor generates: .elementor-element-a5f3b3a { padding:5px 12px; border-radius:50px; font-size:12px; line-height:1.4em } */
.single-product .elementor-element-a5f3b3a {
  padding: 3px 6px !important;
  border-radius: 3px !important;
  font-size: 10px !important;
  line-height: 1 !important;
}
.single-product .elementor-element-a5f3b3a > .elementor-widget-container {
  padding: 0 !important;
  line-height: 1 !important;
}
.single-product .elementor-element-a5f3b3a .elementor-text-editor,
.single-product .elementor-element-a5f3b3a .elementor-text-editor p {
  margin: 0 !important;
  line-height: 1 !important;
  font-size: 10px !important;
}

/* ── Stock status shortcode widget (4c3f33f) — kill inherited line-height ── */
.single-product .elementor-element-4c3f33f,
.single-product .elementor-element-4c3f33f > .elementor-widget-container,
.single-product .elementor-element-4c3f33f .elementor-shortcode {
  line-height: 1 !important;
  font-size: 0 !important; /* shrink wrapper to content only */
}

/* ── Base pill — matches shop-card .hj-badge ── */
.single-product .custom-stock-status,
.single-product .lspro_size .ls-product-sizee,
.single-product .lspro_size .ls-product-iface {
  display: inline-flex !important;
  align-items: center !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
  padding: 3px 6px !important;
  border-radius: 3px !important;
  white-space: nowrap !important;
  text-decoration: none !important;
}

/* In Stock / Out of Stock */
.single-product .custom-stock-status.in-stock {
  background: #dcfce7 !important;
  color: #15803d !important;
  border: 1px solid #86efac !important;
}
.single-product .custom-stock-status.out-of-stock {
  background: #fee2e2 !important;
  color: #b91c1c !important;
  border: 1px solid #fca5a5 !important;
}

/* Size pills — default slate, per-value overrides match shop cards */
.single-product .lspro_size .ls-product-sizee {
  background: #64748b !important;
  color: #fff !important;
  border: none !important;
}
.single-product .lspro_size .ls-product-sizee.u1-size { background: #60a5fa !important; }
.single-product .lspro_size .ls-product-sizee.u2-size { background: #34d399 !important; }
.single-product .lspro_size .ls-product-sizee.u4-size { background: #f97316 !important; }
.single-product .lspro_size .ls-product-sizee.u6-size { background: #a78bfa !important; }

/* Interface pills */
.single-product .lspro_size .ls-product-iface {
  background: #f3f4f6 !important;
  color: #374151 !important;
  border: 1px solid #d1d5db !important;
}
.single-product .lspro_size .ls-product-iface.male-iface   { background: #e9f2f9 !important; }
.single-product .lspro_size .ls-product-iface.female-iface { background: #f9e9ee !important; }

/* Pill row */
.single-product .lspro_size .ls-product-size-wrap {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
}
/* Make the <a> wrapper invisible to layout so inner span joins the flex row directly */
.single-product .lspro_size a {
  display: contents !important;
}

/* ── Gallery card — border + rounded corners ── */
.single-product [data-id="80c7b67"] > .elementor-widget-container {
  border: 1px solid #E3E5E8 !important;
  border-radius: 20px !important;
  background: #FBFBFC !important;
  padding: 24px !important;
}

/* Thumbnail strip base layout (sizes set via JS after flexslider init) */
.single-product .woocommerce-product-gallery .flex-control-thumbs {
  margin-top: 12px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
}
.single-product .woocommerce-product-gallery .flex-control-thumbs li,
.single-product .woocommerce-product-gallery--columns-4 .flex-control-thumbs li,
.single-product .woocommerce-product-gallery--columns-5 .flex-control-thumbs li {
  width: 63px !important;
  min-width: 63px !important;
  height: 63px !important;
  overflow: hidden !important;
  border-radius: 8px !important;
  float: none !important;
  flex-shrink: 0 !important;
  padding: 0 !important;
}
.single-product .woocommerce-product-gallery .flex-control-thumbs li img {
  width: 63px !important;
  height: 63px !important;
  object-fit: cover !important;
  border-radius: 8px !important;
}

/* ── Additional Information — card border, no internal dividers ── */
.single-product .additional_box {
  border: 1px solid #E3E5E8 !important;
  border-radius: 20px !important;
  overflow: hidden !important;
}
.single-product .additional_box h2 {
  margin: 0 !important;
  padding: 14px 20px !important;
  background: #F9F9FA !important;
  border-bottom: 1px solid #E3E5E8 !important;
}
.single-product .additional_box table {
  margin-bottom: 0 !important;
  width: 100% !important;
}
.single-product .additional_box table tr,
.single-product .additional_box table th,
.single-product .additional_box table td {
  border: none !important;
  border-top: none !important;
  border-bottom: none !important;
}
.single-product .additional_box table th,
.single-product .additional_box table td {
  padding: 10px 20px !important;
  background: #fff !important;
  line-height: 1.5 !important;
}
.single-product .additional_box table.shop_attributes th {
  width: 160px !important;
  font-weight: 600 !important;
}
.single-product .additional_box table.shop_attributes td p {
  padding: 0 !important;
  margin: 0 !important;
}
