/* Product imagery and purchase controls */
.product-gallery-image { max-height: 500px; object-fit: contain; }
.product-gallery-thumbnail { height: 68px; width: 68px; object-fit: contain; }
.product-gallery-choice.is-active .product-gallery-thumbnail { outline: 2px solid #0d6efd; outline-offset: 2px; }
.product-purchase-panel { min-width: 220px; }
.product-brand-logo { max-height: 300px; }
.product-quantity-input { width: 100px; }
.product-quantity-input-narrow { width: 95px; }
.product-hero .flex-fill { min-width: 0; overflow-wrap: anywhere; }
.product-detail-title { font-size: 24px; line-height: 1.25; font-weight: 600; }
.product-subtitle { font-size: 18px; color: #667085; margin-bottom: .5rem; }
.product-detail-page .product-hero .lead { font-size: 14px; line-height: 1.5; font-weight: 400; }
.product-detail-page .img-box { border: 0 !important; padding: 0 !important; border-radius: 0 !important; }
.product-detail-page .product-brand-logo { max-height: 150px; max-width: 180px; object-fit: contain; }
.product-detail-page .standard-product-purchase { display: flex; align-items: center; flex-wrap: wrap; gap: 2rem; border-top: 1px solid #ddd; border-bottom: 1px solid #ddd; padding: 1.5rem 0; width: 100%; }
.standard-product-purchase .product-quantity-input { width: 30%; min-width: 80px; text-align: center; }
.standard-product-purchase .btn { min-width: 30%; border-radius: 0; }
.standard-product-purchase .finance-purchase-option { flex: 1 0 190px; }
.finance-purchase-option:not([hidden]) { display: inline-flex; vertical-align: middle; align-items: center; }
.finance-purchase-option .btn { white-space: normal; }
/* Variant selectors are cards; their generic link-button margins offset this control. */
.product-detail-page .finance-purchase-option a.btn { margin: 0; }
.standard-product-purchase .finance-purchase-option .btn { width: 100%; }
.product-detail-page .tab-content { border: 0; padding-top: 1rem; }
.product-detail-page .nav-tabs .nav-link { border-radius: 0; }
@media (max-width: 767.98px) {
  .product-detail-page [role="tablist"][hidden] { display: none; }
  .product-detail-page .product-information-section { border: 1px solid #ddd; margin-top: -1px; }
  .product-information-section summary { padding: .75rem 1rem; background: #f5f5f5; color: #667085; cursor: pointer; }
  .product-information-section .tab-pane { display: block !important; opacity: 1 !important; padding: 1rem; }
  .product-detail-page [aria-label="Product image gallery"] .product-gallery-choice { width: calc((100% - .5rem) / 2); }
  .product-detail-page .product-gallery-thumbnail { width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; }
  .product-detail-title { font-size: 24px; }
  .product-purchase-panel { min-width: 0; width: 100%; }
  .product-detail-page .standard-product-purchase { gap: 1rem; }
  .standard-product-purchase .btn { flex: 1; }
  .finance-purchase-option { flex-basis: 100%; }
  .finance-purchase-option:not([hidden]) { display: flex; margin-left: 0 !important; }
  .standard-product-purchase .finance-purchase-option { flex-basis: 100%; }
  .finance-purchase-option .btn { width: 100%; }
}
