﻿/* BLUENET — WooCommerce Single Product Page */

/* Page width */
.single-product .ast-container,
.single-product .site-main,
.single-product .woocommerce {
  max-width: 1320px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 40px !important;
  padding-right: 40px !important;
}

/* Remove WooCommerce floats */
.single-product .woocommerce-product-gallery,
.single-product .summary.entry-summary {
  float: none !important;
  clear: none !important;
  width: 100% !important;
}

/*
 * Astra injects single-product widths (e.g. 46% summary) as inline CSS after `astra-theme-css`
 * using selectors that include `#content`, so they beat `.single-product .summary` alone.
 * Mirror those selectors + `.single-product` so these rules win. Breakpoint matches Astra
 * `astra_parse_css( ..., astra_get_tablet_breakpoint( '', 1 ) )` → min-width 922px by default.
 */
@media (min-width: 922px) {
  .single-product.woocommerce #content .ast-woocommerce-container div.product div.summary,
  .single-product.woocommerce .ast-woocommerce-container div.product div.summary,
  .single-product.woocommerce-page #content .ast-woocommerce-container div.product div.summary,
  .single-product.woocommerce-page .ast-woocommerce-container div.product div.summary {
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    clear: none !important;
  }

  .single-product.woocommerce #content .ast-woocommerce-container div.product div.images,
  .single-product.woocommerce .ast-woocommerce-container div.product div.images,
  .single-product.woocommerce-page #content .ast-woocommerce-container div.product div.images,
  .single-product.woocommerce-page .ast-woocommerce-container div.product div.images {
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* Main product layout — desktop: image left, summary right */
.single-product div.product.type-product {
  display: grid !important;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr) !important;
  justify-content: stretch !important;
  gap: clamp(28px, 4vw, 56px) !important;
  align-items: start !important;
  width: 100% !important;
  padding: 40px 0 20px !important;
}

/* Product image */
.single-product .woocommerce-product-gallery {
  grid-column: 1 !important;
  grid-row: 1 !important;
  max-width: 100% !important;
  max-height: 500px !important;
  width: 100% !important;
  aspect-ratio: 4 / 5 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  background: #fff !important;
  border: 1px solid #e6e8ec !important;
  border-radius: 18px !important;
  padding: 34px !important;
  overflow: hidden !important;
}

.single-product .woocommerce-product-gallery__wrapper,
.single-product .woocommerce-product-gallery__image,
.single-product .woocommerce-product-gallery__image a {
  width: 100% !important;
  height: 100% !important;
}

.single-product .woocommerce-product-gallery__image img {
  width: 100% !important;
  height: 100% !important;
  max-height: 500px !important;
  object-fit: contain !important;
  border-radius: 14px !important;
  transition: transform .28s ease !important;
}

.single-product .woocommerce-product-gallery__image img:hover {
  transform: scale(1.025) !important;
}

/* Product summary — right column card */
.single-product .summary.entry-summary {
  grid-column: 2 !important;
  grid-row: 1 !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  background: #fff !important;
  border: 1px solid #e6e8ec !important;
  border-radius: 18px !important;
  padding: 32px !important;
  box-shadow: 0 12px 35px rgba(13, 31, 60, 0.06) !important;
}

/* Breadcrumb */
.single-product .woocommerce-breadcrumb {
  font-size: 12px !important;
  color: #9aa3af !important;
  margin-bottom: 16px !important;
  line-height: 1.6 !important;
}

.single-product .woocommerce-breadcrumb a {
  color: #6b7280 !important;
  text-decoration: none !important;
}

.single-product .woocommerce-breadcrumb a:hover {
  color: #0d1f3c !important;
}

/* Category label */
.single-product .posted_in {
  display: block !important;
  margin-bottom: 10px !important;
}

.single-product .posted_in a {
  display: inline-block !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .07em !important;
  text-transform: uppercase !important;
  color: #0c447c !important;
  background: #eaf4ff !important;
  padding: 5px 13px !important;
  border-radius: 999px !important;
  text-decoration: none !important;
}

/* Brand badge above title */
.single-product .single-product-brand a {
  display: inline-block !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .07em !important;
  text-transform: uppercase !important;
  color: #1E4D9B !important;
  background: #eaf4ff !important;
  padding: 5px 13px !important;
  border-radius: 999px !important;
  text-decoration: none !important;
}

/* Product title */
.single-product h1.product_title.entry-title {
  font-size: 32px !important;
  font-weight: 800 !important;
  color: #0d1f3c !important;
  line-height: 1.2 !important;
  margin-bottom: 24px !important;
  letter-spacing: -0.025em !important;
}

/* Short description */
.single-product .woocommerce-product-details__short-description {
  font-size: 15px !important;
  color: #4b5563 !important;
  line-height: 1.75 !important;
  margin-bottom: 22px !important;
  max-width: 95% !important;
}

/* Price */
.single-product p.price,
.single-product span.price {
  font-size: 23px !important;
  font-weight: 800 !important;
  color: #0d1f3c !important;
  padding: 16px 0 !important;
  border-top: 1px solid #edf0f3 !important;
  border-bottom: 1px solid #edf0f3 !important;
  margin: 18px 0 !important;
  display: block !important;
}

.single-product .summary.entry-summary p.price:empty,
.single-product .summary.entry-summary span.price:empty {
  display: none !important;
}

/* Cart / quote form */
.single-product form.cart {
  margin-top: 22px !important;
}

.single-product form.cart .quantity {
  margin-bottom: 14px !important;
}

.single-product form.cart input.qty {
  height: 48px !important;
  border-radius: 9px !important;
  border: 1px solid #d8dde3 !important;
}

/* Primary CTA */
.single-product .single_add_to_cart_button,
.single-product button.button,
.single-product a.button {
  background: #0d1f3c !important;
  color: #fff !important;
  border: none !important;
  border-radius: 12px !important;
  min-height: 54px !important;
  padding: 15px 26px !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  width: 100% !important;
  display: block !important;
  text-align: center !important;
  letter-spacing: .02em !important;
  cursor: pointer !important;
  transition: all .22s ease !important;
  text-decoration: none !important;
  margin-top: 14px !important;
}

.single-product .single_add_to_cart_button:hover,
.single-product button.button:hover,
.single-product a.button:hover {
  background: #1a3460 !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 10px 20px rgba(13, 43, 92, 0.12) !important;
}

/* Quote-only CTA */
.single-product .bluenet-quote-wrap {
  margin-top: 16px !important;
}

.single-product a.button.bluenet-quote-button {
  background: #0d1f3c !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 12px !important;
  box-sizing: border-box !important;
  min-height: 54px !important;
  height: 54px !important;
  padding: 0 26px !important;
  margin-top: 0 !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  letter-spacing: 0.02em !important;
  line-height: 1 !important;
  width: 100% !important;
  text-align: center !important;
  text-decoration: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.22s ease !important;
}

.single-product a.button.bluenet-quote-button:hover {
  background: #1a3460 !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
}

/* Trust strip below quote CTA */
.single-product .bluenet-trust-strip {
  margin-top: 14px !important;
  padding: 12px 14px !important;
  border: 1px solid #f0f2f5 !important;
  border-radius: 14px !important;
  background: #fafbfc !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px 12px !important;
  transition: border-color 0.25s ease, background-color 0.25s ease !important;
}

.single-product .bluenet-trust-strip:hover {
  border-color: #dbe5f2 !important;
  background: #fbfcfe !important;
}

.single-product .bluenet-trust-item {
  position: relative !important;
  display: block !important;
  padding-left: 18px !important;
  color: #0d1f3c !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
}

.single-product .bluenet-trust-item::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0.45em !important;
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background: #1e4d9b !important;
}

/* WhatsApp / secondary CTA */
.single-product .whatsapp-button,
.single-product .quote-whatsapp,
.single-product a[href*="wa.me"],
.single-product a[href*="whatsapp"] {
  background: #14a44d !important;
  color: #fff !important;
  border-radius: 12px !important;
  min-height: 52px !important;
  padding: 14px 24px !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  width: 100% !important;
  display: block !important;
  text-align: center !important;
  text-decoration: none !important;
  margin-top: 12px !important;
  transition: all .22s ease !important;
}

.single-product .whatsapp-button:hover,
.single-product .quote-whatsapp:hover,
.single-product a[href*="wa.me"]:hover,
.single-product a[href*="whatsapp"]:hover {
  background: #0f8a3f !important;
  color: #fff !important;
}

/* Trust points block */
.single-product .product-trust-points,
.single-product .bluenet-trust-points {
  margin-top: 18px !important;
  padding: 16px !important;
  background: #f8fafc !important;
  border: 1px solid #e6e8ec !important;
  border-radius: 14px !important;
  color: #0d1f3c !important;
  font-size: 13px !important;
  line-height: 1.8 !important;
  font-weight: 700 !important;
}

.single-product .product-trust-points ul,
.single-product .bluenet-trust-points ul {
  margin: 0 !important;
  padding-left: 18px !important;
}

/* Application tags */
.single-product .product-tags,
.single-product .application-tags,
.single-product .bluenet-product-tags {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 16px 0 20px !important;
}

.single-product .product-tags span,
.single-product .application-tags span,
.single-product .bluenet-product-tags span {
  display: inline-flex !important;
  align-items: center !important;
  border-radius: 999px !important;
  background: #f1f6fc !important;
  color: #0c447c !important;
  border: 1px solid #dce9f6 !important;
  padding: 6px 12px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

/* Product meta */
.single-product .product_meta {
  margin-top: 22px !important;
  padding-top: 18px !important;
  border-top: 1px solid #edf0f3 !important;
  font-size: 12px !important;
  color: #6b7280 !important;
  line-height: 2.2 !important;
}

.single-product .product_meta span.sku_wrapper,
.single-product .product_meta span.posted_in,
.single-product .product_meta span.tagged_as {
  display: block !important;
}

.single-product .product_meta .brand a,
.single-product .product_meta > span a {
  display: inline-block !important;
  background: #f1f6fc !important;
  border: 1px solid #dce9f6 !important;
  border-radius: 999px !important;
  padding: 4px 12px !important;
  font-size: 11px !important;
  color: #0c447c !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  letter-spacing: .05em !important;
  font-weight: 700 !important;
}

/* Additional information tab — attribute rows */
.single-product .woocommerce-tabs .panel table.woocommerce-product-attributes {
  width: 100% !important;
  border: 0 !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  margin: 0 !important;
  font-size: 14px !important;
}

.single-product .woocommerce-tabs .panel table.woocommerce-product-attributes tbody {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}

.single-product .woocommerce-tabs .panel table.woocommerce-product-attributes tr {
  display: grid !important;
  grid-template-columns: minmax(132px, 188px) minmax(0, 1fr) !important;
  border: 1px solid #e6e8ec !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  background: #fff !important;
}

.single-product .woocommerce-tabs .panel table.woocommerce-product-attributes th {
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 16px 18px !important;
  border: 0 !important;
  border-right: 1px solid #e6e8ec !important;
  background: #f8fafc !important;
  color: #475569 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-align: left !important;
  line-height: 1.4 !important;
}

.single-product .woocommerce-tabs .panel table.woocommerce-product-attributes td {
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 14px 18px !important;
  border: 0 !important;
  color: #0d1f3c !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
}

.single-product .woocommerce-tabs .panel table.woocommerce-product-attributes td p {
  margin: 0 !important;
  width: 100% !important;
}

/* Attribute value chips (see woocommerce_attribute filter) */
.single-product .woocommerce-tabs .panel .bluenet-attr-chips {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  width: 100% !important;
}

.single-product .woocommerce-tabs .panel .bluenet-attr-chip {
  display: inline-flex !important;
  align-items: center !important;
  max-width: 100% !important;
  padding: 5px 11px !important;
  border-radius: 999px !important;
  background: #f1f6fc !important;
  border: 1px solid #dce9f6 !important;
  color: #0c447c !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  word-break: break-word !important;
}

.single-product .woocommerce-tabs .panel .bluenet-attr-chip a {
  color: inherit !important;
  text-decoration: none !important;
}

.single-product .woocommerce-tabs .panel .bluenet-attr-chip a:hover {
  color: #0d1f3c !important;
  text-decoration: underline !important;
}

/* Tabs / description */
.single-product .woocommerce-tabs {
  grid-column: 1 / -1 !important;
  max-width: 100% !important;
  width: 100% !important;
  margin-top: 40px !important;
  background: #fff !important;
  border: 1px solid #e6e8ec !important;
  border-radius: 18px !important;
  padding: 32px !important;
}

.single-product .woocommerce-tabs ul.tabs {
  border-bottom: 1px solid #edf0f3 !important;
  padding: 0 !important;
  margin: 0 0 24px !important;
}

.single-product .woocommerce-tabs ul.tabs li {
  background: transparent !important;
  border: none !important;
  border-bottom: 3px solid transparent !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin-right: 6px !important;
}

.single-product .woocommerce-tabs ul.tabs li a {
  font-size: 14px !important;
  font-weight: 800 !important;
  color: #6b7280 !important;
  padding: 12px 18px !important;
  display: block !important;
}

.single-product .woocommerce-tabs ul.tabs li.active {
  border-bottom: 3px solid #0d1f3c !important;
}

.single-product .woocommerce-tabs ul.tabs li.active a {
  color: #0d1f3c !important;
}

.single-product .woocommerce-tabs .panel {
  padding: 8px 0 0 !important;
  font-size: 15px !important;
  color: #4b5563 !important;
  line-height: 1.8 !important;
  border: none !important;
  background: transparent !important;
  max-width: 920px !important;
}

.single-product .woocommerce-tabs .panel h2 {
  font-size: 24px !important;
  font-weight: 800 !important;
  color: #0d1f3c !important;
  margin-bottom: 16px !important;
}

.single-product .woocommerce-tabs .panel h3 {
  font-size: 18px !important;
  font-weight: 800 !important;
  color: #0d1f3c !important;
  margin-top: 26px !important;
  margin-bottom: 12px !important;
}

.single-product .woocommerce-tabs .panel ul {
  padding-left: 20px !important;
}

.single-product .woocommerce-tabs .panel li {
  margin-bottom: 8px !important;
}

/* Related products */
.single-product .related.products,
.single-product .up-sells {
  grid-column: 1 / -1 !important;
  max-width: 100% !important;
  width: 100% !important;
  margin: 44px 0 0 !important;
}

.single-product .related.products > h2 {
  font-size: 24px !important;
  font-weight: 800 !important;
  color: #0d1f3c !important;
  margin-bottom: 22px !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid #edf0f3 !important;
}

/* Match the shop card style — compact, brand-navy CTA, clamped title.
   These values mirror `.woocommerce ul.products li.product` in
   woocommerce-shop.css so the related grid feels consistent with /shop/. */
.single-product .related.products ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: 12px !important;
  margin: 0 !important;
}

.single-product .related.products ul.products li.product {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  background: #fff !important;
  border: 0.5px solid #e5e5e5 !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
  width: 100% !important;
  transition: border-color 0.2s, transform 0.2s !important;
}

.single-product .related.products ul.products li.product .astra-shop-thumbnail-wrap {
  flex-shrink: 0 !important;
}

.single-product .related.products ul.products li.product .astra-shop-summary-wrap {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  min-height: 0 !important;
}

.single-product .related.products ul.products li.product:hover {
  border-color: #0d1f3c !important;
  transform: translateY(-2px) !important;
}

.single-product .related.products ul.products li.product img {
  width: 100% !important;
  height: 200px !important;
  object-fit: contain !important;
  padding: 12px !important;
  background: #f8f8f6 !important;
  border-radius: 0 !important;
  display: block !important;
}

.single-product .related.products ul.products li.product .woocommerce-loop-product__title {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  line-clamp: 2 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #0d1f3c !important;
  padding: 8px 12px 3px !important;
  line-height: 1.4 !important;
  min-height: calc(2 * 1.4 * 1em) !important;
}

.single-product .related.products ul.products li.product .ast-woo-product-category {
  width: fit-content !important;
  max-width: fit-content !important;
  align-self: flex-start !important;
  font-size: 10px !important;
  color: #0c447c !important;
  background: #e6f1fb !important;
  padding: 2px 8px !important;
  border-radius: 20px !important;
  margin: 0 12px 5px !important;
  display: inline-block !important;
}

.single-product .related.products ul.products li.product .price {
  font-size: 12px !important;
  color: #888 !important;
  padding: 0 12px 6px !important;
  display: block !important;
}

.single-product .related.products ul.products li.product .button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: auto 12px 12px !important;
  margin-top: auto !important;
  width: calc(100% - 24px) !important;
  min-height: 36px !important;
  flex-shrink: 0 !important;
  background: #0d1f3c !important;
  color: #fff !important;
  border: none !important;
  border-radius: 6px !important;
  padding: 8px 12px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
  text-align: center !important;
  letter-spacing: 0.02em !important;
  cursor: pointer !important;
  transition: background 0.2s !important;
}

.single-product .related.products ul.products li.product .button:hover {
  background: #1a3460 !important;
  color: #fff !important;
}

/* Tablet */
@media (max-width: 1024px) {
  .single-product .ast-container,
  .single-product .site-main,
  .single-product .woocommerce {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  .single-product div.product.type-product {
    grid-template-columns: 1fr !important;
    gap: 30px !important;
    padding-top: 28px !important;
  }

  .single-product .woocommerce-product-gallery,
  .single-product .summary.entry-summary {
    grid-column: 1 !important;
    max-width: 100% !important;
  }

  .single-product .woocommerce-product-gallery,
  .single-product .woocommerce-product-gallery__image img {
    max-height: 420px !important;
  }

  .single-product .woocommerce-product-gallery {
    grid-row: 1 !important;
  }

  .single-product .summary.entry-summary {
    grid-row: 2 !important;
  }

  .single-product h1.product_title.entry-title {
    font-size: 30px !important;
  }
}

/* Mobile */
@media (max-width: 768px) {
  .single-product .ast-container,
  .single-product .site-main,
  .single-product .woocommerce {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .single-product .woocommerce-product-gallery {
    aspect-ratio: 1 / 1 !important;
    max-height: 340px !important;
    padding: 20px !important;
    border-radius: 16px !important;
  }

  .single-product .woocommerce-product-gallery__image img {
    max-height: 340px !important;
  }

  .single-product .summary.entry-summary {
    padding: 24px !important;
    border-radius: 16px !important;
  }

  .single-product h1.product_title.entry-title {
    font-size: 27px !important;
  }

  .single-product .woocommerce-tabs {
    padding: 24px !important;
  }

  .single-product .related.products ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .single-product .bluenet-trust-strip {
    grid-template-columns: 1fr !important;
  }

  .single-product .woocommerce-tabs .panel table.woocommerce-product-attributes tr {
    grid-template-columns: 1fr !important;
  }

  .single-product .woocommerce-tabs .panel table.woocommerce-product-attributes th {
    border-right: 0 !important;
    border-bottom: 1px solid #e6e8ec !important;
    padding: 14px 16px !important;
  }

  .single-product .woocommerce-tabs .panel table.woocommerce-product-attributes td {
    padding: 14px 16px !important;
  }
}

/* Small mobile */
@media (max-width: 480px) {
  .single-product .ast-container,
  .single-product .site-main,
  .single-product .woocommerce {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .single-product h1.product_title.entry-title {
    font-size: 24px !important;
  }

  .single-product .summary.entry-summary {
    padding: 20px !important;
  }

  .single-product .related.products ul.products {
    grid-template-columns: 1fr !important;
  }
}