/**
 * OGA V5.3.51 — scoped UI design system.
 * This layer deliberately follows the existing production stylesheet and does not
 * touch checkout, emails, admin, payment gateway, SEO markup or WooCommerce prices.
 * Legacy OGA sheets use !important extensively: use it ONLY at those collision points.
 */
html body.oga-build-45 {
  --oga51-accent: #a12c36;
  --oga51-accent-dark: #84212b;
  --oga51-muted: #716e6a;
  --oga51-rule: #e8ddd6;
  --oga51-font: "Instrument Sans", "Apercu", "Apercu Pro", Arial, sans-serif;
  --oga51-button-size: 13px;
  --oga51-card-title: 16px;
  --oga51-meta-size: 12.5px;
  --oga51-price-size: 19px;
}

/* 1. One sale treatment for genuine WooCommerce price HTML only. Never recolor
 * regular prices or totals in the cart/checkout; their currency is handled in PHP. */
html body.oga-build-45.single-product .oga-summary .oga-price,
html body.oga-build-45 .oga-card-price,
html body.oga-build-45 ul.products li.product .price {
  font-family: var(--oga51-font) !important;
  display: flex !important;
  align-items: baseline !important;
  justify-content: flex-start !important;
  flex-wrap: wrap !important;
  column-gap: 12px !important;
  row-gap: 3px !important;
  max-width: 100% !important;
  min-width: 0 !important;
  text-align: left !important;
  line-height: 1.25 !important;
}
html body.oga-build-45.single-product .oga-summary .oga-price {
  font-size: clamp(22px, 2vw, 28px) !important;
  font-weight: 600 !important;
  margin: 22px 0 0 !important;
}
html body.oga-build-45 .oga-card-price,
html body.oga-build-45 ul.products li.product .price {
  font-size: var(--oga51-price-size) !important;
  font-weight: 600 !important;
}
html body.oga-build-45.single-product .oga-summary .oga-price del,
html body.oga-build-45 .oga-card-price del,
html body.oga-build-45 ul.products li.product .price del,
html body.oga-build-45.single-product .oga-summary .oga-price del .amount,
html body.oga-build-45 .oga-card-price del .amount,
html body.oga-build-45 ul.products li.product .price del .amount {
  color: var(--oga51-muted) !important;
  -webkit-text-fill-color: var(--oga51-muted) !important;
  font-size: .78em !important;
  font-weight: 400 !important;
  text-decoration: line-through !important;
  text-decoration-thickness: 1px !important;
  opacity: 1 !important;
  white-space: nowrap !important;
}
html body.oga-build-45.single-product .oga-summary .oga-price ins,
html body.oga-build-45 .oga-card-price ins,
html body.oga-build-45 ul.products li.product .price ins,
html body.oga-build-45.single-product .oga-summary .oga-price ins .amount,
html body.oga-build-45 .oga-card-price ins .amount,
html body.oga-build-45 ul.products li.product .price ins .amount {
  color: var(--oga51-accent) !important;
  -webkit-text-fill-color: var(--oga51-accent) !important;
  font-size: 1em !important;
  font-weight: 700 !important;
  line-height: 1.22 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}
/* Some Woo templates wrap prices in a sale-marked parent rather than ins. */
html body.oga-build-45.single-product .oga-summary .oga-price > ins,
html body.oga-build-45 .oga-card-price > ins,
html body.oga-build-45 ul.products li.product .price > ins {
  background: none !important;
}

/* 2. Unified typography for the three PRODUCT actions, never admin or checkout. */
html body.oga-build-45.single-product .oga-summary .oga-product-actions {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 16px !important;
  margin-top: 24px !important;
  padding: 0 !important;
  min-width: 0 !important;
  position: relative !important;
  isolation: isolate;
}
html body.oga-build-45.single-product .oga-summary .oga-product-actions form.cart {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  clear: both !important;
  position: static !important;
}
html body.oga-build-45.single-product .oga-summary .oga-product-actions form.cart > .quantity {
  flex: 0 0 auto;
  max-width: 100%;
}
html body.oga-build-45.single-product .oga-summary .oga-product-actions .single_add_to_cart_button,
html body.oga-build-45.single-product .oga-summary .oga-product-actions .oga-secondary-actions button.oga-product-action {
  box-sizing: border-box !important;
  font-family: var(--oga51-font) !important;
  font-size: var(--oga51-button-size) !important;
  font-weight: 600 !important;
  letter-spacing: .08em !important;
  line-height: 1.3 !important;
  text-transform: uppercase !important;
  min-height: 48px !important;
  height: auto !important;
  padding: 12px 20px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  column-gap: 8px !important;
  vertical-align: middle !important;
  text-align: center !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
  position: relative !important;
  inset: auto !important;
  transform: none !important;
  float: none !important;
  clear: none !important;
  box-shadow: none !important;
  opacity: 1 !important;
}
html body.oga-build-45.single-product .oga-summary .oga-product-actions form.cart .single_add_to_cart_button {
  flex: 1 1 180px !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 0 !important;
}
html body.oga-build-45.single-product .oga-summary .oga-product-actions .single_add_to_cart_button:disabled,
html body.oga-build-45.single-product .oga-summary .oga-product-actions .oga-product-action:disabled {
  opacity: .56 !important;
  cursor: not-allowed !important;
}
html body.oga-build-45.single-product .oga-summary .oga-product-actions :is(.single_add_to_cart_button,.oga-product-action):focus-visible {
  outline: 3px solid var(--oga51-accent) !important;
  outline-offset: 3px !important;
}
html body.oga-build-45.single-product .oga-summary .oga-product-actions .oga-authenticity-note {
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) 24px !important;
  align-items: center !important;
  gap: 14px !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 82px !important;
  margin: 0 !important;
  padding: 16px 18px !important;
  position: relative !important;
  inset: auto !important;
  transform: none !important;
  z-index: auto !important;
  clear: both !important;
}
html body.oga-build-45.single-product .oga-summary .oga-product-actions .oga-authenticity-copy {
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
}
html body.oga-build-45.single-product .oga-summary .oga-product-actions .oga-authenticity-copy strong {
  font-size: 14px !important;
  line-height: 1.35 !important;
}
html body.oga-build-45.single-product .oga-summary .oga-product-actions .oga-authenticity-copy small {
  font-size: 12px !important;
  line-height: 1.5 !important;
}
html body.oga-build-45.single-product .oga-summary .oga-product-actions .oga-secondary-actions {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  gap: 12px !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 8px 0 0 !important;
  padding: 0 !important;
  position: static !important;
}
html body.oga-build-45.single-product .oga-summary .oga-product-actions .oga-secondary-actions > button {
  min-width: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}

/* 3. Controlled type scale within cards and artwork facts. */
html body.oga-build-45 ul.products li.product :is(h2.woocommerce-loop-product__title, h2, .oga-card-copy h2),
html body.oga-build-45 .oga-home-standard-grid li.product h2 {
  font-family: var(--oga51-font) !important;
  font-size: var(--oga51-card-title) !important;
  line-height: 1.42 !important;
  font-weight: 500 !important;
  overflow-wrap: anywhere !important;
}
html body.oga-build-45 ul.products li.product :is(.oga-card-tax,.oga-card-category,.oga-card-artist,.oga-card-meta) {
  font-family: var(--oga51-font) !important;
  font-size: var(--oga51-meta-size) !important;
  line-height: 1.45 !important;
}
html body.oga-build-45.single-product .oga-product-sections :is(.oga-technical-details,.oga-service-card,.oga-service-list) :is(dt,dd,li,p,span,strong) {
  font-family: var(--oga51-font) !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}
html body.oga-build-45.single-product .oga-product-sections :is(.oga-technical-details,.oga-service-card,.oga-service-list) :is(h2,h3) {
  font-size: clamp(18px,1.7vw,22px) !important;
  line-height: 1.32 !important;
}

/* 4. Related artwork: fix the grid's intrinsic widths, floats and theme column classes.
 * Do not hide body overflow: the last card must truly fit inside the container. */
html body.oga-build-45.single-product .oga-related,
html body.oga-build-45.single-product .oga-related .oga-section-head {
  box-sizing: border-box !important;
  min-width: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}
html body.oga-build-45.single-product .oga-related .oga-section-head {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 5px !important;
}
html body.oga-build-45.single-product .oga-related ul.products.oga-related-grid {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: clamp(12px, 1.35vw, 24px) !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  float: none !important;
  clear: both !important;
}
html body.oga-build-45.single-product .oga-related ul.products.oga-related-grid > li.product {
  box-sizing: border-box !important;
  grid-column: auto !important;
  min-width: 0 !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  clear: none !important;
  position: relative !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
}
html body.oga-build-45.single-product .oga-related ul.products.oga-related-grid > li.product :is(a,img,.oga-card-copy,.oga-card-media-v49) {
  max-width: 100% !important;
  min-width: 0 !important;
}
html body.oga-build-45.single-product .oga-related ul.products.oga-related-grid > li.product img {
  box-sizing: border-box !important;
  height: auto !important;
  object-fit: contain !important;
}
html body.oga-build-45.single-product .oga-related ul.products.oga-related-grid > li.product :is(h2,a,span,p) {
  overflow-wrap: anywhere;
}
/* Homepage uses its own five-column renderer: make a comparable containment reset. */
html body.oga-build-45 .oga-home-standard-products,
html body.oga-build-45 .oga-home-artwork-tabs {
  box-sizing: border-box !important;
  min-width: 0 !important;
  max-width: 100% !important;
}
html body.oga-build-45 .oga-home-standard-grid > li.product {
  box-sizing: border-box !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

/* 5. The special Promotions tab has readable white type in every state. */
html body.oga-build-45 .oga-home-artwork-tabs .oga-artwork-tablist > button#oga-tab-promotions,
html body.oga-build-45 .oga-home-artwork-tabs .oga-artwork-tablist > button#oga-tab-promotions:is(:hover,:focus-visible,.is-active,[aria-selected="true"]),
html body.oga-build-45 .oga-home-artwork-tabs .oga-artwork-tablist > button#oga-tab-promotions * {
  background-color: #782c26 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-weight: 700 !important;
}
html body.oga-build-45 .oga-home-artwork-tabs .oga-artwork-tablist > button#oga-tab-promotions:focus-visible {
  outline: 3px solid #c88d61 !important;
  outline-offset: 3px !important;
}

/* Responsive breakpoints: exact widths used by the build's QA plan. */
@media (max-width: 1359px) {
  html body.oga-build-45.single-product .oga-related ul.products.oga-related-grid {
    grid-template-columns: repeat(4, minmax(0,1fr)) !important;
  }
}
@media (max-width: 1099px) {
  html body.oga-build-45.single-product .oga-related ul.products.oga-related-grid {
    grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  }
}
@media (max-width: 767px) {
  html body.oga-build-45.single-product .oga-related ul.products.oga-related-grid {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }
}
@media (max-width: 620px) {
  html body.oga-build-45.single-product .oga-related ul.products.oga-related-grid {
    grid-template-columns: minmax(0,1fr) !important;
  }
  html body.oga-build-45.single-product .oga-summary .oga-product-actions .oga-secondary-actions {
    grid-template-columns: minmax(0,1fr) !important;
  }
  html body.oga-build-45.single-product .oga-summary .oga-product-actions .single_add_to_cart_button,
  html body.oga-build-45.single-product .oga-summary .oga-product-actions .oga-secondary-actions button.oga-product-action {
    min-height: 48px !important;
    font-size: 13px !important;
  }
  html body.oga-build-45 .oga-home-artwork-tabs.oga95-artwork-tabs .oga-artwork-tablist {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 6px !important;
  }
  html body.oga-build-45 .oga-home-artwork-tabs.oga95-artwork-tabs .oga-artwork-tablist > button#oga-tab-promotions {
    grid-column: 1 / -1 !important;
    min-height: 52px !important;
    font-size: 15px !important;
  }
  html body.oga-build-45 .oga-home-artwork-tabs.oga95-artwork-tabs .oga-artwork-tablist > button.oga-artwork-tab:not(#oga-tab-promotions) {
    min-height: 52px !important;
    font-size: 13px !important;
  }
  html body.oga-build-45.single-product .oga-summary .oga-product-actions .oga-authenticity-note {
    grid-template-columns: 32px minmax(0,1fr) 18px !important;
    gap: 9px !important;
    padding: 12px !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  html body.oga-build-45 .oga-home-artwork-tabs .oga-artwork-tab,
  html body.oga-build-45.single-product .oga-product-actions button { transition: none !important; }
}
