/**
 * Unified single-product presentation (all WooCommerce products).
 *
 * One layout: navy page, cream cards, gold accents, readable tabs.
 */

body.wdi-unified-product {
  --wdi-product-navy: #0a2342;
  --wdi-product-cream: #f2eadf;
  --wdi-product-gold: #c9a734;
  --wdi-product-teal: #1d7d81;
  --wdi-product-ink: #0a2342;
  --wdi-product-radius: 8px;
  --wdi-product-body-size: 1.0625rem;
  --wdi-product-body-lh: 1.65;
  --wdi-product-gallery-max: 420px;
}

/*
 * Divi fixed-nav sets inline padding-top on #page-container (~127px). That
 * pad uses the page cream/default background and reads as a cream strip
 * under the header on product pages. Move clearance to #et-main-area and
 * paint the shell navy.
 */
body.wdi-unified-product #page-container,
body.wdi-unified-product.et_fixed_nav #page-container,
body.wdi-unified-product.et_fixed_nav.et_show_nav #page-container,
body.wdi-unified-product.et_fixed_nav.et_show_nav.et_secondary_nav_enabled #page-container,
body.wdi-unified-product #et-main-area {
  background-color: var(--wdi-product-navy) !important;
}

body.wdi-unified-product #page-container,
body.wdi-unified-product.et_fixed_nav #page-container,
body.wdi-unified-product.et_fixed_nav.et_show_nav #page-container,
body.wdi-unified-product.et_fixed_nav.et_show_nav.et_secondary_nav_enabled #page-container {
  padding-top: 0 !important;
}

/* Fallback until JS measures the fixed header stack. */
body.wdi-unified-product #et-main-area {
  padding-top: 120px !important;
}

body.wdi-unified-product #main-content,
body.wdi-unified-product .wdi-unified-product-shell,
body.wdi-unified-product #content-area {
  background-color: var(--wdi-product-navy) !important;
}

body.wdi-unified-product #left-area {
  width: 100% !important;
  float: none !important;
  padding-bottom: 3rem !important;
}

body.wdi-unified-product .woocommerce-breadcrumb,
body.wdi-unified-product .woocommerce-breadcrumb a {
  color: var(--wdi-product-gold) !important;
}

body.wdi-unified-product .wdi-unified-product__product {
  color: var(--wdi-product-cream);
}

body.wdi-unified-product .wdi-unified-product__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 1.5rem;
  align-items: start;
  margin: 1.25rem 0 2rem;
}

@media (max-width: 980px) {
  body.wdi-unified-product .wdi-unified-product__layout {
    grid-template-columns: 1fr;
  }
}

body.wdi-unified-product .wdi-unified-product__gallery,
body.wdi-unified-product .wdi-unified-product__summary,
body.wdi-unified-product div.product .summary.entry-summary,
body.wdi-unified-product div.product .woocommerce-product-gallery {
  background: var(--wdi-product-cream) !important;
  border: 1px solid rgba(201, 167, 52, 0.45);
  border-radius: var(--wdi-product-radius);
  padding: 1.25rem 1.5rem !important;
  box-sizing: border-box;
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  color: var(--wdi-product-ink) !important;
  line-height: var(--wdi-product-body-lh) !important;
}

body.wdi-unified-product .wdi-unified-product__gallery .woocommerce-product-gallery {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  max-width: var(--wdi-product-gallery-max);
}

body.wdi-unified-product .wdi-unified-product__gallery .woocommerce-product-gallery__wrapper,
body.wdi-unified-product .wdi-unified-product__gallery .woocommerce-product-gallery__image,
body.wdi-unified-product .wdi-unified-product__gallery img {
  width: 100% !important;
  max-width: var(--wdi-product-gallery-max) !important;
  height: auto !important;
  margin-left: auto;
  margin-right: auto;
}

/* Stage products: never show stock / out-of-stock lines. */
body.wdi-stage-product-page p.stock,
body.wdi-unified-product.wdi-stage-product-page p.stock {
  display: none !important;
}

/* Add-to-cart button consistent on cream cards */
body.wdi-unified-product .single_add_to_cart_button.button {
  background: var(--wdi-product-teal) !important;
  color: #fff !important;
  border: 2px solid var(--wdi-product-gold) !important;
  border-radius: 999px !important;
  padding: 0.75rem 1.5rem !important;
  font-weight: 700 !important;
}

body.wdi-unified-product .wdi-unified-product__summary .product_title,
body.wdi-unified-product div.product .summary .product_title {
  color: var(--wdi-product-navy) !important;
  font-size: clamp(1.75rem, 2.5vw, 2.5rem) !important;
  line-height: 1.2 !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: visible !important;
  white-space: normal !important;
  word-break: break-word !important;
  border-bottom: 3px solid var(--wdi-product-gold);
  padding-bottom: 0.35em;
  margin: 0 0 0.65em !important;
}

body.wdi-unified-product .wdi-unified-product__summary .price,
body.wdi-unified-product .wdi-unified-product__summary .price .amount,
body.wdi-unified-product .wdi-unified-product__summary .subscription-details,
body.wdi-unified-product .wdi-unified-product__summary .woocommerce-product-details__short-description,
body.wdi-unified-product .wdi-unified-product__summary .woocommerce-product-details__short-description p,
body.wdi-unified-product .wdi-unified-product__summary .product_meta,
body.wdi-unified-product .wdi-unified-product__summary .product_meta a,
body.wdi-unified-product div.product .summary .price,
body.wdi-unified-product div.product .summary .price .amount,
body.wdi-unified-product div.product .summary .subscription-details,
body.wdi-unified-product div.product .summary .woocommerce-product-details__short-description,
body.wdi-unified-product div.product .summary .woocommerce-product-details__short-description p,
body.wdi-unified-product div.product .summary .product_meta,
body.wdi-unified-product div.product .summary .product_meta a {
  color: var(--wdi-product-ink) !important;
  font-size: var(--wdi-product-body-size) !important;
  line-height: var(--wdi-product-body-lh) !important;
  text-transform: none !important;
}

body.wdi-unified-product .wdi-unified-product__summary .price,
body.wdi-unified-product div.product .summary .price {
  font-size: 1.35rem !important;
  font-weight: 700;
}

/* Fallback when content template is not yet the grid layout */
body.wdi-unified-product div.product:not(.wdi-unified-product__product) .woocommerce-product-gallery,
body.wdi-unified-product div.product:not(.wdi-unified-product__product) .summary.entry-summary {
  display: block;
  width: 48% !important;
  max-width: 48% !important;
}

body.wdi-unified-product div.product:not(.wdi-unified-product__product) .woocommerce-product-gallery {
  float: left !important;
}

body.wdi-unified-product div.product:not(.wdi-unified-product__product) .summary.entry-summary {
  float: right !important;
}

@media (max-width: 980px) {
  body.wdi-unified-product div.product:not(.wdi-unified-product__product) .woocommerce-product-gallery,
  body.wdi-unified-product div.product:not(.wdi-unified-product__product) .summary.entry-summary {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* Feature lists — never Divi line-height: 0.1em */
body.wdi-unified-product .wdi-product-feature-list,
body.wdi-unified-product ul.lists,
body.wdi-unified-product .woocommerce-product-details__short-description ul {
  list-style: none !important;
  margin: 1.25rem 0 0 !important;
  padding: 0 0 0 1.25rem !important;
  border-left: 4px solid var(--wdi-product-gold);
}

body.wdi-unified-product .wdi-product-feature-list li,
body.wdi-unified-product ul.lists li,
body.wdi-unified-product .woocommerce-product-details__short-description ul li {
  display: block !important;
  position: relative !important;
  float: none !important;
  clear: both !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 0 0.65em !important;
  padding-left: 28px !important;
  color: var(--wdi-product-ink) !important;
  font-size: 0.95rem !important;
  line-height: 1.55 !important;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  word-break: break-word !important;
  overflow: visible !important;
}

body.wdi-unified-product .wdi-product-feature-list li::before,
body.wdi-unified-product ul.lists li::before,
body.wdi-unified-product .woocommerce-product-details__short-description ul li::before {
  content: '\2713';
  position: absolute;
  left: 0;
  top: 0.2em;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background-color: var(--wdi-product-gold);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  line-height: 18px;
  text-align: center;
}

body.wdi-unified-product .wdi-product-consult-cta,
body.wdi-unified-product .wdi-stage-consult-cta {
  display: block;
  margin: 1.25rem 0 0.75rem;
}

body.wdi-unified-product .wdi-product-consult-cta__button,
body.wdi-unified-product .wdi-stage-consult-cta__button {
  display: inline-block;
  background: var(--wdi-product-teal) !important;
  color: #fff !important;
  border: 2px solid var(--wdi-product-gold) !important;
  border-radius: 999px;
  padding: 0.85rem 1.75rem !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration: none !important;
  line-height: 1.2 !important;
}

body.wdi-unified-product .wdi-product-consult-cta__button:hover,
body.wdi-unified-product .wdi-product-consult-cta__button:focus,
body.wdi-unified-product .wdi-stage-consult-cta__button:hover,
body.wdi-unified-product .wdi-stage-consult-cta__button:focus {
  background: var(--wdi-product-gold) !important;
  color: var(--wdi-product-navy) !important;
}

/* Tabs — high contrast, beat Divi dynamic CSS */
body.wdi-unified-product .wdi-unified-product__details,
body.wdi-unified-product .woocommerce-tabs {
  clear: both;
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-top: 0.5rem !important;
}

body.wdi-unified-product .woocommerce-tabs {
  background: var(--wdi-product-cream) !important;
  border: 1px solid rgba(10, 35, 66, 0.12);
  border-radius: var(--wdi-product-radius);
  padding: 1.25rem 1.5rem 1.75rem !important;
  color: var(--wdi-product-ink) !important;
}

html body.wdi-unified-product.woocommerce div.product .woocommerce-tabs ul.tabs,
body.wdi-unified-product .woocommerce-tabs ul.tabs {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.35rem;
  margin: 0 0 1rem !important;
  padding: 0 !important;
  list-style: none !important;
  border-bottom: 2px solid rgba(10, 35, 66, 0.15) !important;
  background: transparent !important;
  overflow: visible !important;
}

html body.wdi-unified-product.woocommerce div.product .woocommerce-tabs ul.tabs li,
body.wdi-unified-product .woocommerce-tabs ul.tabs li {
  display: block !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  border-radius: 6px 6px 0 0;
}

html body.wdi-unified-product.woocommerce div.product .woocommerce-tabs ul.tabs li a,
html body.wdi-unified-product.woocommerce #content-area div.product .woocommerce-tabs ul.tabs li a {
  display: block !important;
  color: #0a2342 !important;
  background: rgba(10, 35, 66, 0.08) !important;
  padding: 0.65rem 1rem !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  text-decoration: none !important;
  border-radius: 6px 6px 0 0;
  -webkit-text-fill-color: #0a2342 !important;
}

html body.wdi-unified-product.woocommerce div.product .woocommerce-tabs ul.tabs li.active,
html body.wdi-unified-product.woocommerce #content-area div.product .woocommerce-tabs ul.tabs li.active {
  background: #0a2342 !important;
}

html body.wdi-unified-product.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
html body.wdi-unified-product.woocommerce #content-area div.product .woocommerce-tabs ul.tabs li.active a {
  color: #f2eadf !important;
  background: #0a2342 !important;
  -webkit-text-fill-color: #f2eadf !important;
}

body.wdi-unified-product .woocommerce-tabs .panel,
body.wdi-unified-product .woocommerce-tabs .panel p,
body.wdi-unified-product .wdi-stage-product-long-description,
body.wdi-unified-product .wdi-stage-product-long-description p {
  color: #0a2342 !important;
  font-size: var(--wdi-product-body-size) !important;
  line-height: var(--wdi-product-body-lh) !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
}

body.wdi-unified-product .woocommerce-tabs .panel li {
  color: #0a2342 !important;
  text-transform: none !important;
  font-size: var(--wdi-product-body-size) !important;
  line-height: var(--wdi-product-body-lh) !important;
  padding-left: 0 !important;
}

body.wdi-unified-product .woocommerce-tabs .panel li::before {
  content: none !important;
  display: none !important;
}

body.wdi-unified-product .related.products,
body.wdi-unified-product .upsells.products {
  margin-top: 2.5rem;
  padding: 1.5rem;
  background: rgba(242, 234, 223, 0.08);
  border-radius: var(--wdi-product-radius);
}

body.wdi-unified-product .related.products > h2,
body.wdi-unified-product .upsells.products > h2 {
  color: var(--wdi-product-gold) !important;
}

/* Hide leftover Divi Woo modules if Theme Builder still injects them. */
body.wdi-unified-product .et_pb_wc_title,
body.wdi-unified-product .et_pb_wc_description,
body.wdi-unified-product .et_pb_wc_price,
body.wdi-unified-product .et_pb_wc_add_to_cart,
body.wdi-unified-product .et_pb_wc_tabs,
body.wdi-unified-product .et_pb_wc_images,
body.wdi-unified-product .et_pb_wc_breadcrumb,
body.wdi-unified-product .et_pb_wc_rating,
body.wdi-unified-product .et_pb_wc_meta,
body.wdi-unified-product .et_pb_wc_gallery {
  display: none !important;
}


/* Punchlist B1–B4: related price cream, hide upsells, gutters, navy placeholder */
body.wdi-unified-product .related.products .price,
body.wdi-unified-product .related.products .price .amount,
body.wdi-unified-product .related.products .price del,
body.wdi-unified-product .related.products .price ins,
body.wdi-unified-product .related.products .price .woocommerce-Price-amount,
body.wdi-unified-product .related.products .price .woocommerce-Price-currencySymbol {
  color: var(--wdi-product-cream) !important;
}

body.wdi-unified-product .upsells.products {
  display: none !important;
}

body.wdi-unified-product .wdi-unified-product-shell,
body.wdi-unified-product #main-content .container,
body.wdi-unified-product #left-area {
  padding-left: clamp(1rem, 4vw, 2.5rem) !important;
  padding-right: clamp(1rem, 4vw, 2.5rem) !important;
  box-sizing: border-box;
}

body.wdi-unified-product .woocommerce-product-gallery__image--placeholder,
body.wdi-unified-product .woocommerce-product-gallery__image--placeholder img,
body.wdi-unified-product .woocommerce-placeholder.wp-post-image,
body.wdi-unified-product .attachment-woocommerce_single.size-woocommerce_single[src*="woocommerce-placeholder"],
body.wdi-unified-product .wdi-unified-product__gallery .woocommerce-placeholder {
  background-color: var(--wdi-product-navy) !important;
  background: var(--wdi-product-navy) !important;
}

body.wdi-unified-product .woocommerce-product-gallery__image--placeholder img.wp-post-image,
body.wdi-unified-product img.woocommerce-placeholder {
  opacity: 0.35;
  mix-blend-mode: screen;
}
