/* Compact product detail, scoped to the approved product template. */
.dr-product-page .dr-pd-breadcrumbs { padding: 1rem clamp(1.2rem, 4vw, 4rem); gap: 0.6rem; }
.dr-product-page .dr-pd-breadcrumbs strong { font-size: 0.63rem; }
.dr-product-page .dr-pd-layout {
  align-items: start;
  border: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  grid-template-rows: auto auto 1fr;
  column-gap: clamp(2rem, 4.5vw, 4.5rem);
  padding: 2rem clamp(1.2rem, 4vw, 4rem) 3rem;
}
.dr-product-page .dr-pd-heading { grid-column: 2; grid-row: 1; min-width: 0; }
.dr-product-page .dr-pd-heading .kicker { font-size: 0.65rem; margin: 0 0 0.8rem; }
.dr-product-page .dr-pd-heading h1 {
  color: var(--ink);
  font-family: var(--sans);
  font-size: clamp(2rem, 3.1vw, 3rem);
  font-weight: 850;
  letter-spacing: -0.045em;
  line-height: 1.04;
  margin: 0 0 1.2rem;
  overflow-wrap: break-word;
  text-transform: uppercase;
}
.dr-product-page .dr-pd-overview { align-items: center; display: flex; gap: 1rem; grid-column: 2; grid-row: 2; justify-content: space-between; margin-bottom: 1.25rem; min-width: 0; }
.dr-product-page .dr-pd-overview .product-purchase__price { border: 0; display: block; min-width: 0; padding: 0; }
.dr-product-page .dr-pd-overview .product-purchase__price > strong { color: var(--ink); display: block; font-size: 1.9rem; font-weight: 850; letter-spacing: -0.04em; line-height: 1.15; text-transform: none; }
.dr-product-page .dr-pd-overview .product-purchase__price .amount { color: inherit; font-size: inherit; font-weight: inherit; letter-spacing: inherit; }
.dr-product-page .dr-pd-overview .product-purchase__price bdi > span { color: inherit; font-size: inherit; letter-spacing: inherit; }
.dr-product-page .dr-pd-overview .dr-pd-price-caption { color: var(--olive); display: block; font-family: var(--serif); font-size: 0.78rem; font-weight: 400; letter-spacing: 0; line-height: 1.4; margin-top: 0.35rem; text-transform: none; }
.dr-product-page .dr-pd-overview .product-stock { border: 0; color: var(--olive); display: block; padding: 0; text-align: right; }
.dr-product-page .dr-pd-overview .product-stock .stock { color: var(--olive); font-family: var(--sans); font-size: 0.85rem; line-height: 1.4; margin: 0; }
.dr-product-page .dr-pd-overview .product-stock .out-of-stock { color: var(--rust); }
.dr-product-page .dr-pd-layout > .product-gallery { align-self: start; border: 0; grid-column: 1; grid-row: 1 / 4; min-width: 0; width: 100%; }
.dr-product-page .dr-pd-layout .product-gallery__stage { padding: 0.5rem; }
.dr-product-page .dr-pd-layout .product-gallery figure.product-gallery__main { height: clamp(440px, 42vw, 620px); min-height: 0 !important; }
.dr-product-page .dr-pd-layout .product-gallery__main > img { height: 100% !important; object-fit: contain !important; width: 100% !important; }
.dr-product-page .dr-pd-zoom-hint { background: var(--paper-light); bottom: 0.55rem; color: var(--ink); font-family: var(--sans); font-size: 0.68rem; line-height: 1.2; padding: 0.45rem 0.55rem; position: absolute; right: 0.55rem; }
.dr-product-page .dr-pd-layout .product-gallery__thumbs { max-height: clamp(440px, 42vw, 620px); }
.dr-product-page .dr-pd-layout .product-gallery__note { padding: 1.5rem; }
.dr-product-page .dr-pd-layout > .product-info { grid-column: 2; grid-row: 3; min-width: 0; padding: 0; }
.dr-product-page .dr-pd-intro { color: var(--ink); font-family: var(--serif); font-size: 1rem; line-height: 1.45; margin: 0 0 1rem; max-width: 60ch; }
.dr-product-page .dr-pd-rental-intro { font-size: 0.95rem; line-height: 1.5; margin-bottom: 1rem; }
.dr-product-page .dr-pd-rental-intro p { margin: 0 0 0.7rem; }
.dr-product-page .dr-pd-quantity-label { color: var(--ink); font-family: var(--sans); font-size: 0.75rem; font-weight: 750; margin: 0 0 0.4rem; }
.dr-product-page .dr-pd-layout .product-buy-panel { display: block; margin: 0; }
.dr-product-page .dr-pd-layout .product-variation-mobile-preview { display: none; }
.dr-product-page .dr-pd-layout .product-buy-panel > p.stock { display: none; }
.dr-product-page .dr-pd-layout form.cart { margin: 0; }
.dr-product-page .dr-pd-layout form.variations_form.cart { display: block; }
.dr-product-page .dr-pd-layout .variations { margin: 0 0 0.75rem; }
.dr-product-page .dr-pd-layout .variations th, .dr-product-page .dr-pd-layout .variations td { padding: 0.55rem 0; }
.dr-product-page .dr-pd-layout .single_variation_wrap { min-width: 0; width: 100%; }
.dr-product-page .dr-pd-layout .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: 0.65rem; }
.dr-product-page .dr-pd-layout .woocommerce-variation-add-to-cart > .quantity { flex: 0 0 76px; margin: 0; }
.dr-product-page .dr-pd-layout .woocommerce-variation-add-to-cart > button { flex: 1 1 140px; }
.dr-product-page .dr-pd-layout .woocommerce-variation-add-to-cart > :not(.quantity):not(button):not(input[type=hidden]) { flex: 1 1 100%; max-width: 100%; }
.dr-commerce-page.dr-product-page .dr-pd-layout .single_add_to_cart_button.button.alt { background: var(--acid); border: 1px solid var(--ink); color: var(--ink); font-size: 0.72rem; letter-spacing: 0.055em; line-height: 1.2; min-height: 48px; padding: 0.85rem 1rem; }
.dr-commerce-page.dr-product-page .dr-pd-layout .single_add_to_cart_button.button.alt:hover { background: var(--ink); color: var(--acid); }
.dr-product-page .dr-pd-layout .dr-guide-help { background: transparent; border: 0; margin: 0.85rem 0 1rem; padding: 0; }
.dr-product-page .dr-pd-layout .dr-guide-help__label { display: none; }
.dr-product-page .dr-pd-layout .dr-guide-help h2 { font-size: 0.9rem; font-weight: 750; line-height: 1.2; margin: 0 0 0.4rem; text-transform: none; }
.dr-product-page .dr-pd-layout .dr-guide-help a { background: transparent; border: 1px solid var(--line); color: var(--ink); font-size: 0.7rem; letter-spacing: 0.025em; min-height: 44px; padding: 0.7rem 0.8rem; }
.dr-product-page .dr-pd-layout .dr-guide-help a:hover { background: var(--acid); border-color: var(--ink); }
.dr-product-page .dr-pd-layout .dr-fit-summary { margin: 0 0 1rem; padding: 0.85rem; }
.dr-product-page .dr-pd-layout details { border: 0; border-bottom: 1px solid var(--line); margin: 0; padding: 0; }
.dr-product-page .dr-pd-layout details > summary { align-items: center; color: var(--ink); cursor: pointer; display: flex; font-family: var(--sans); font-size: 0.85rem; font-weight: 750; gap: 1rem; justify-content: space-between; line-height: 1.35; list-style: none; min-height: 48px; padding: 0.8rem 0; }
.dr-product-page .dr-pd-layout details > summary::-webkit-details-marker { display: none; }
.dr-product-page .dr-pd-layout details > summary::after { content: '+'; font-size: 1.2rem; }
.dr-product-page .dr-pd-layout details[open] > summary::after { content: '−'; }
.dr-product-page .dr-pd-layout .product-info__lead, .dr-product-page .dr-pd-layout .product-description__content { font-size: 1rem; line-height: 1.6; margin: 0 0 1rem !important; }
.dr-product-page .dr-pd-layout .product-assurances { gap: 0.5rem; margin-top: 1.1rem; }
.dr-product-page .dr-pd-layout .product-assurances span { font-size: 0.8rem; }
.dr-product-page .dr-pd-layout :where(summary, button, input, select, textarea):focus-visible { outline: 2px solid var(--olive); outline-offset: 3px; }
@media (max-width: 720px) {
  .dr-product-page .dr-pd-breadcrumbs { padding: 0.6rem 1.2rem; min-height: 0; }
  .dr-product-page .dr-pd-breadcrumbs > span { display: inline; }
  .dr-product-page .dr-pd-breadcrumbs strong { font-size: 0.58rem; }
  .dr-product-page .dr-pd-layout { display: flex; flex-direction: column; gap: 0; padding: 1rem 1.2rem 2rem; }
  .dr-product-page .dr-pd-heading { order: 0; width: 100%; }
  .dr-product-page .dr-pd-heading .kicker { font-size: 0.57rem; letter-spacing: 0.1em; margin-bottom: 0.5rem; }
  .dr-product-page .dr-pd-heading h1 { display: block; font-size: clamp(1.35rem, 5.9vw, 1.6rem); letter-spacing: -0.035em; line-height: 1.07; margin: 0 0 0.8rem; }
  .dr-product-page .dr-pd-overview { gap: 0.6rem; margin-bottom: 0.85rem; order: 1; width: 100%; }
  .dr-product-page .dr-pd-overview .product-purchase__price > strong { font-size: 1.55rem; }
  .dr-product-page .dr-pd-overview .dr-pd-price-caption { font-size: 0.7rem; }
  .dr-product-page .dr-pd-overview .product-stock .stock { font-size: 0.72rem; }
  .dr-product-page .dr-pd-layout > .product-gallery { margin: 0 0 0.8rem; order: 2; }
  .dr-product-page .dr-pd-layout .product-gallery__stage { gap: 0.4rem; grid-template-columns: 48px minmax(0, 1fr); padding: 0.35rem; }
  .dr-product-page .dr-pd-layout .product-gallery__stage--single { grid-template-columns: minmax(0, 1fr); }
  .dr-product-page .dr-pd-layout .product-gallery figure.product-gallery__main { height: 230px; min-height: 0 !important; }
  .dr-product-page .dr-pd-layout .product-gallery__thumbs { gap: 0.35rem; max-height: 230px; }
  .dr-product-page .dr-pd-layout .product-gallery__thumb { width: 44px; min-width: 44px; }
  .dr-product-page .dr-pd-layout .product-gallery__note { display: none; }
  .dr-product-page .dr-pd-layout .product-gallery__main > span { font-size: 0.5rem; left: 0.4rem; padding: 0.4rem; top: 0.4rem; }
  .dr-product-page .dr-pd-layout > .product-info { order: 3; width: 100%; }
  .dr-product-page .dr-pd-intro { font-size: 0.85rem; line-height: 1.4; margin-bottom: 0.8rem; }
  .dr-product-page .dr-pd-layout form.cart:not(.variations_form):not(.grouped_form) { grid-template-columns: 64px minmax(0, 1fr); gap: 0.6rem; }
  .dr-product-page .dr-pd-layout .quantity { min-width: 0; width: auto; }
  .dr-product-page .dr-pd-layout .qty { font-size: 1rem; min-width: 0; width: 100%; }
  .dr-product-page .dr-pd-layout .variations { table-layout: auto; }
  .dr-product-page .dr-pd-layout .variations th, .dr-product-page .dr-pd-layout .variations td { display: block; width: 100%; }
  .dr-product-page .dr-pd-layout .variations th { padding-bottom: 0.2rem; }
  .dr-product-page .dr-pd-layout .variations select { font-size: 1rem; }
  .dr-product-page .dr-pd-layout .cfvsw-swatches-container { flex-wrap: wrap; min-width: 0; }
  .dr-product-page .dr-pd-layout .dr-guide-help { margin-top: 0.8rem; }
}
