/* ============================================================
   Foundation Aminos — Single product page styles
   Targets Elementor element IDs from template post 97.
   ============================================================ */

/* Aliases for readability — keep IDs in sync with template 97 */
/* 62512a2 = pdp-hero-out  |  dde9f9e = pdp-hero-in          */
/* 9f085aa = pdp-grid      |  dd57fbd = pdp-images-col        */
/* 1aa56ac = pdp-info-col  |  fb3102e = pdp-related-out       */
/* a2b8010 = pdp-related-in                                    */

/* ----------------------------------------------------------
   Hero outer — white bg + bottom border
   ---------------------------------------------------------- */
.elementor-element-62512a2 {
  background: #FFFFFF !important;
  border-bottom: 1px solid #E2E8F0;
}

/* ----------------------------------------------------------
   Product grid — force row direction + readable gap
   ---------------------------------------------------------- */
.elementor-element-9f085aa {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  gap: 56px !important;
}

/* ----------------------------------------------------------
   Images column
   ---------------------------------------------------------- */
.elementor-element-dd57fbd .woocommerce-product-gallery {
  margin: 0 !important;
}
.elementor-element-dd57fbd .woocommerce-product-gallery__image {
  border-radius: 20px;
  overflow: hidden;
  background: #F6F9FC;
}
.elementor-element-dd57fbd .woocommerce-product-gallery__image img {
  width: 100% !important;
  height: auto !important;
  display: block;
}
/* Thumbnails */
.elementor-element-dd57fbd .flex-control-thumbs {
  display: flex !important;
  gap: 8px;
  margin-top: 12px !important;
  padding: 0 !important;
  list-style: none;
}
.elementor-element-dd57fbd .flex-control-thumbs li {
  flex: 0 0 auto;
  width: 72px !important;
  margin: 0 !important;
}
.elementor-element-dd57fbd .flex-control-thumbs img {
  border-radius: 8px !important;
  border: 2px solid transparent;
  cursor: pointer;
  transition: border-color 180ms ease;
}
.elementor-element-dd57fbd .flex-control-thumbs .flex-active img {
  border-color: #1954AC !important;
}

/* ----------------------------------------------------------
   Info column — stack widgets with gap
   ---------------------------------------------------------- */
.elementor-element-1aa56ac {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}

/* ----------------------------------------------------------
   Product title
   ---------------------------------------------------------- */
.elementor-element-63e86f6 .product_title,
.elementor-element-63e86f6 h1 {
  font-family: 'Space Grotesk', sans-serif !important;
  font-size: 40px !important;
  font-weight: 600 !important;
  color: #0A1628 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.02em !important;
  margin: 0 0 16px !important;
}

/* ----------------------------------------------------------
   Vial size sub-label (below product title)
   ---------------------------------------------------------- */
.fa-vial-size {
  display: block;
  font-family: 'Manrope', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #64748B;
  letter-spacing: 0.02em;
  margin-bottom: 16px;
}

/* ----------------------------------------------------------
   Product price
   ---------------------------------------------------------- */
.elementor-element-759b523 .price {
  font-family: 'Space Grotesk', sans-serif !important;
  font-size: 36px !important;
  font-weight: 600 !important;
  color: #0A1628 !important;
  line-height: 1.2 !important;
  padding: 16px 0 !important;
  border-top: 1px solid #E2E8F0 !important;
  border-bottom: 1px solid #E2E8F0 !important;
  display: block;
  margin-bottom: 16px !important;
}
.elementor-element-759b523 .price del {
  color: #94A3B8 !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  margin-right: 8px;
}
.elementor-element-759b523 .price ins {
  text-decoration: none !important;
  color: #1954AC !important;
}

/* ----------------------------------------------------------
   Add to cart — quantity stepper + button row
   ---------------------------------------------------------- */
.elementor-element-55779ba .cart,
form.cart {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

/* Quantity wrapper — pill container */
.elementor-element-55779ba .quantity,
form.cart .quantity {
  display: flex !important;
  align-items: center !important;
  background: #F6F9FC !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 999px !important;
  height: 48px !important;
  padding: 0 4px !important;
  gap: 0 !important;
  flex-shrink: 0;
}

/* Hide the browser's native number spinners */
.elementor-element-55779ba .quantity input.qty,
form.cart .quantity input.qty {
  -moz-appearance: textfield !important;
  appearance: textfield !important;
}
.elementor-element-55779ba .quantity input.qty::-webkit-inner-spin-button,
.elementor-element-55779ba .quantity input.qty::-webkit-outer-spin-button,
form.cart .quantity input.qty::-webkit-inner-spin-button,
form.cart .quantity input.qty::-webkit-outer-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

/* Number input */
.elementor-element-55779ba .quantity input.qty,
form.cart .quantity input.qty {
  font-family: 'Manrope', sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #0A1628 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
  width: 40px !important;
  height: 40px !important;
  text-align: center !important;
  padding: 0 !important;
}

/* +/- buttons */
.fa-qty-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 999px !important;
  border: none !important;
  background: transparent !important;
  color: #0A1628 !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  transition: background 120ms ease !important;
  flex-shrink: 0;
}
.fa-qty-btn:hover {
  background: #E2E8F0 !important;
}
.fa-qty-btn:active {
  background: #CBD5E1 !important;
}

/* ATC button */
.elementor-element-55779ba .single_add_to_cart_button,
.elementor-element-55779ba button.single_add_to_cart_button,
form.cart .single_add_to_cart_button {
  background-color: #1954AC !important;
  color: #FFFFFF !important;
  font-family: 'Manrope', sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  border-radius: 12px !important;
  height: 48px !important;
  padding: 0 28px !important;
  border: none !important;
  cursor: pointer !important;
  flex: 1;
  transition: background-color 120ms ease, box-shadow 180ms cubic-bezier(0.16,1,0.3,1), transform 120ms ease !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.elementor-element-55779ba .single_add_to_cart_button:hover,
form.cart .single_add_to_cart_button:hover {
  background-color: #133F84 !important;
  box-shadow: 0 4px 12px -2px rgba(10,33,72,0.14) !important;
}
.elementor-element-55779ba .single_add_to_cart_button:active,
form.cart .single_add_to_cart_button:active {
  background-color: #0E2F65 !important;
  transform: translateY(1px) !important;
}

/* ----------------------------------------------------------
   Product meta (attributes)
   ---------------------------------------------------------- */
.elementor-element-100419c .product_meta {
  padding: 16px 0 0;
  border-top: 1px solid #E2E8F0;
  margin-top: 16px !important;
}
.elementor-element-100419c .product_meta > span {
  display: flex;
  align-items: baseline;
  gap: 8px;
  padding: 6px 0;
  border-bottom: 1px dashed #E2E8F0;
}
.elementor-element-100419c .product_meta .label {
  font-family: 'Manrope', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #94A3B8 !important;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  min-width: 120px;
  flex-shrink: 0;
}
.elementor-element-100419c .product_meta .value,
.elementor-element-100419c .product_meta a {
  font-family: 'Manrope', sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #0A1628 !important;
  text-decoration: none !important;
}
.elementor-element-100419c .product_meta a:hover {
  color: #1954AC !important;
}
/* Hide category + tag lines — internal groupings, not user-facing */
.elementor-element-100419c .product_meta .posted_in,
.elementor-element-100419c .product_meta .tagged_as {
  display: none !important;
}

/* ----------------------------------------------------------
   Related products section
   ---------------------------------------------------------- */
.elementor-element-fb3102e {
  background: #F6F9FC !important;
}
.elementor-element-a2b8010 .elementor-widget-heading h2 {
  font-family: 'Space Grotesk', sans-serif !important;
  font-size: 24px !important;
  font-weight: 600 !important;
  color: #0A1628 !important;
  margin: 0 0 24px !important;
}

/* WooCommerce related products grid */
.elementor-element-fb3102e .related.products ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.elementor-element-fb3102e .related.products ul.products li.product {
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-radius: 16px;
  overflow: hidden;
  padding: 0;
  margin: 0 !important;
  float: none !important;
  width: auto !important;
  box-shadow: 0 1px 2px 0 rgba(10,33,72,0.06);
  transition: transform 180ms cubic-bezier(0.16,1,0.3,1), box-shadow 180ms cubic-bezier(0.16,1,0.3,1), border-color 180ms ease;
}
.elementor-element-fb3102e .related.products ul.products li.product:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px -2px rgba(10,33,72,0.10), 0 2px 4px -2px rgba(10,33,72,0.06);
  border-color: #CBD5E1;
}
.elementor-element-fb3102e .related.products ul.products li.product img {
  width: 100% !important;
  height: auto;
  display: block;
}
.elementor-element-fb3102e .related.products li.product .woocommerce-loop-product__title {
  font-family: 'Space Grotesk', sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #0A1628 !important;
  padding: 12px 16px 4px !important;
  margin: 0 !important;
}
.elementor-element-fb3102e .related.products li.product .price {
  font-family: 'Space Grotesk', sans-serif !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  color: #0A1628 !important;
  padding: 0 16px 12px !important;
  display: block;
}
.elementor-element-fb3102e .related.products li.product .button {
  display: block !important;
  margin: 0 16px 16px !important;
  background: #1954AC !important;
  color: #FFFFFF !important;
  font-family: 'Manrope', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  border-radius: 10px !important;
  text-align: center !important;
  padding: 10px 16px !important;
  text-decoration: none !important;
  transition: background-color 120ms ease !important;
}
.elementor-element-fb3102e .related.products li.product .button:hover {
  background: #133F84 !important;
}
.elementor-element-fb3102e .related.products .quantity { display: none !important; }

/* ── Related card structure + footer row (matches shop card) ──
   Restructured by fa_product_loop_hooks(): link wraps img+title+vial,
   then div.fa-card-foot holds price (left) + add-to-cart (right). */
.elementor-element-fb3102e .related.products li.product {
  display: flex !important; flex-direction: column !important;
}
.elementor-element-fb3102e .related.products li.product a.woocommerce-loop-product__link {
  display: flex !important; flex-direction: column !important; text-decoration: none !important;
}
.elementor-element-fb3102e .related.products li.product .fa-vial-size {
  display: block; font-family: 'Manrope', sans-serif;
  font-size: 12px; font-weight: 600; color: #64748B;
  letter-spacing: 0.02em; padding: 0 16px 12px;
}
.elementor-element-fb3102e .related.products li.product .fa-card-foot {
  display: flex !important; align-items: center !important;
  justify-content: space-between !important; gap: 10px;
  padding: 0 16px 16px !important; margin-top: auto !important;
}
.elementor-element-fb3102e .related.products li.product .fa-card-foot .price {
  padding: 0 !important; margin: 0 !important; flex-shrink: 0;
}
.elementor-element-fb3102e .related.products li.product .fa-card-foot a.button {
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  margin: 0 !important; height: 40px !important; padding: 0 16px !important;
  border-radius: 12px !important; white-space: nowrap;
}
.elementor-element-fb3102e .related.products li.product .fa-card-foot a.added_to_cart {
  display: none !important;
}

/* ----------------------------------------------------------
   Responsive
   ---------------------------------------------------------- */
@media (max-width: 1024px) {
  .elementor-element-9f085aa { gap: 32px !important; }
  .elementor-element-fb3102e .related.products ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 767px) {
  .elementor-element-9f085aa {
    flex-direction: column !important;
  }
  .elementor-element-dd57fbd,
  .elementor-element-1aa56ac {
    width: 100% !important;
    max-width: 100% !important;
  }
  .elementor-element-63e86f6 .product_title,
  .elementor-element-63e86f6 h1 {
    font-size: 28px !important;
  }
  .elementor-element-fb3102e .related.products ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }
}

/* stock availability (shows only when low/out, per low_amount format) */
.single-product p.stock { font-family: 'Manrope', sans-serif; font-size: 13px; font-weight: 700; margin: 4px 0 0; }
.single-product p.stock.in-stock { color: #B45309; }
.single-product p.stock.out-of-stock { color: #B91C1C; }
