/* Pair A product page: calm purchase hierarchy, a single facts block, progressive detail. */
.single-product .product-entry-wrapper { align-items: start; }
.single-product .product-header-block { margin-bottom: var(--space-4); }
.single-product .product_title { margin: 0; font: 400 clamp(2.25rem, 1.6rem + 1.8vw, 3rem) / 1.08 var(--font-display); letter-spacing: -.01em; }
.single-product .product-header-type { display: block; margin-top: var(--space-2); font: 400 var(--text-small) / 1.5 var(--font-text); color: var(--color-ink-2); }
.single-product .product-header-rating { margin-top: var(--space-3); }
.single-product .summary .woocommerce-product-details__short-description { font: 400 var(--text-body) / 1.6 var(--font-text); max-width: 34rem; margin-bottom: var(--space-5); }
.single-product .summary .woocommerce-product-details__short-description p { margin: 0; }
.single-product .summary > .price:has(.for-variable-range) { margin: 0; }
.single-product .summary form.cart { margin-bottom: 0; }
.single-product .summary form.variations_form .woocommerce-variation.single_variation { margin: 0 0 var(--space-5); min-height: 2.25rem; }
.single-product .summary .price { font: 500 1.75rem / 1.3 var(--font-text); color: var(--color-accent); }
.single-product .summary form.variations_form table.variations { margin: 0 0 var(--space-3) !important; }
.single-product .summary form.variations_form table.variations th.label { margin-bottom: var(--space-3); font-size: var(--text-small); }
.single-product .ct-variation-swatches[data-swatches-type="button"] .ct-swatch-container { flex: 0 1 auto; }
.single-product .ct-variation-swatches[data-swatches-type="button"] .ct-swatch { min-width: 4.5rem !important; padding: var(--space-3) var(--space-4) !important; min-height: 2.75rem; }
.dvf-volume-assist { order: 3; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--space-2) var(--space-4); margin-bottom: var(--space-5); font: 400 var(--text-caption) / 1.5 var(--font-text); }
.dvf-volume-hint { margin: 0; color: var(--color-ink-2); }
.dvf-volume-assist a { display: inline-flex; align-items: center; gap: var(--space-2); min-height: 2.75rem; color: var(--color-accent); text-decoration: underline; text-underline-offset: .25em; }
.single-product .summary .stock-delivery-row-wrap { margin: 0 0 var(--space-3); }
.single-product .summary .ct-product-add-to-cart:has(.stock-delivery-row-wrap) > .stock.in-stock { display: none; }
.single-product .summary .stock-delivery-row { flex-wrap: wrap; gap: var(--space-2) var(--space-3); font-size: var(--text-caption); line-height: 1.5; }
.single-product .summary .ct-cart-actions { display: flex; width: 100%; max-width: none; gap: var(--space-3); }
.single-product .summary .ct-cart-actions .quantity { flex: none; }
.single-product .summary .single_add_to_cart_button { flex: 1; width: auto; max-width: none; min-height: 3.25rem !important; padding-inline: var(--space-5); }
.single-product .cart-icon-svg { width: 1.25rem; height: 1.25rem; flex: none; fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.dvf-product-assurances { margin-top: var(--space-5); padding-top: var(--space-4); border-top: var(--hairline) solid var(--color-line); font: 400 var(--text-caption) / 1.6 var(--font-text); color: var(--color-ink-2); }
.dvf-product-assurances p { margin: 0; display: flex; align-items: start; gap: var(--space-2); }
.dvf-product-assurances p + p { display: block; margin-top: var(--space-2); }
.dvf-product-assurances svg { width: 1.125rem; height: 1.125rem; flex: none; margin-top: 2px; fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.dvf-product-assurances p > span[aria-hidden] { margin-inline: var(--space-1); }
.single-product .ct-product-gallery-container .flexy-item > .ct-media-container { aspect-ratio: 1; max-height: 33rem; }
.single-product .ct-product-gallery-container .flexy-item > .ct-media-container img { width: 100%; height: 100%; object-fit: contain; }
.single-product .flexy-pills[data-type="thumbs"] li, .single-product .flexy-pills[data-type="thumbs"] .ct-media-container { border-radius: var(--radius-1) !important; }
.single-product .flexy-pills li:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 3px; }
.single-product .woocommerce-product-gallery__trigger svg { width: 1.25rem; height: 1.25rem; fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linecap: round; }
.single-product .dvf-facts { margin-block: var(--space-8); }
.single-product .dvf-facts__title { font-size: var(--text-h2); }
.single-product .dvf-facts__list { column-gap: var(--space-7); }
.single-product .dvf-facts__row { grid-template-columns: 8.5rem minmax(0, 1fr); gap: var(--space-4); }
.single-product .dvf-facts__row dd { font-size: var(--text-small); line-height: 1.6; }
.single-product .dvf-facts__row--area { scroll-margin-top: 8rem; }
.dvf-product-story { display: grid; gap: var(--space-7); margin-block: var(--space-8); padding-block: var(--space-7); border-block: var(--hairline) solid var(--color-line); }
.dvf-product-story.has-image { grid-template-columns: 1fr 1.1fr; align-items: start; }
.dvf-product-story__image { margin: 0; aspect-ratio: 1; overflow: hidden; background: var(--color-surface-stone); }
.dvf-product-story__image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.dvf-product-story__copy > h2, .dvf-product-details > h2, .dvf-product-formats > h2, .dvf-product-recommendations > h2 { font: 400 var(--text-h2) / 1.15 var(--font-display); margin: 0 0 var(--space-5); color: var(--color-ink); }
.dvf-product-story__copy > p { max-width: var(--measure); font: 400 var(--text-body) / 1.7 var(--font-text); color: var(--color-ink-2); margin: 0 0 var(--space-4); }
.dvf-product-story__copy, .dvf-product-story__copy .dvf-product-detail__body { font: 400 var(--text-body) / 1.7 var(--font-text); color: var(--color-ink-2); }
.dvf-product-story__copy .dvf-product-detail__body :is(p, li, div, span, a, blockquote) { font-size: inherit; line-height: inherit; }
.dvf-product-story__copy .dvf-product-detail__body :is(h3, h4) { font-size: var(--text-body); }
.dvf-product-story__copy .dvf-product-detail__body strong { font-weight: 500; }
.dvf-product-story__copy .dvf-product-detail__body :is(ul, ol) { margin-bottom: var(--space-4); }
.dvf-story-media { margin-block: var(--space-8); }
.dvf-story-media > h2 { font: 400 var(--text-h2) / 1.15 var(--font-display); margin: 0 0 var(--space-5); }
.dvf-story-media__photos { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - (var(--dvf-photo-columns) - 1) * var(--space-5)) / var(--dvf-photo-columns)); gap: var(--space-5); overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: x mandatory; scrollbar-width: none; list-style: none; padding: 0; margin: 0; }
.dvf-story-media__photos::-webkit-scrollbar { display: none; }
.dvf-story-media__photos > li { min-width: 0; margin: 0; scroll-snap-align: start; }
.dvf-story-media__photos figure { display: block; margin: 0; aspect-ratio: 1; background: var(--color-surface-stone); overflow: hidden; }
.dvf-story-media__photos img { width: 100%; height: 100%; object-fit: cover; display: block; }
.dvf-story-media__photos:focus-visible { outline: 2px solid var(--color-focus); outline-offset: -2px; }
.dvf-product-video { margin-block: var(--space-8); }
.dvf-product-video > h2 { font: 400 var(--text-h2) / 1.15 var(--font-display); margin: 0 0 var(--space-5); }
.dvf-product-video__player { width: 100%; max-width: calc(min(70svh, 40rem) * var(--dvf-video-ratio)); aspect-ratio: var(--dvf-video-ratio); margin-inline: auto; background: var(--color-surface-deep); }
.dvf-product-video__player video { display: block; width: 100%; height: 100%; object-fit: contain; }
.dvf-product-video__player video:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 3px; }
.dvf-product-detail { border-top: var(--hairline) solid var(--color-line); }
.dvf-product-detail:last-child { border-bottom: var(--hairline) solid var(--color-line); }
.dvf-product-detail > summary { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); min-height: 3.5rem; padding-block: var(--space-4); font: 400 var(--text-body) / 1.5 var(--font-text); color: var(--color-ink); cursor: pointer; list-style: none; }
.dvf-product-detail > summary::-webkit-details-marker { display: none; }
.dvf-product-detail > summary > svg { width: 1.25rem; height: 1.25rem; flex: none; fill: none; stroke: var(--color-accent); stroke-width: 1.4; stroke-linecap: round; }
.dvf-product-detail[open] > summary .dvf-product-detail__vertical { display: none; }
.dvf-product-detail__body { padding-bottom: var(--space-5); font: 400 var(--text-small) / 1.7 var(--font-text); color: var(--color-ink-2); overflow-wrap: anywhere; }
.dvf-product-detail__body h3, .dvf-product-detail__body h4 { margin: var(--space-5) 0 var(--space-2); font: 500 var(--text-small) / 1.5 var(--font-text); color: var(--color-ink); }
.dvf-product-detail__body > :first-child { margin-top: 0; }
.dvf-product-detail__body p { margin-bottom: var(--space-3); }
.dvf-product-detail__body ul { padding-inline-start: 1.25rem; }
.dvf-product-detail__body img { max-width: 120px; height: auto; }
.dvf-product-detail__body figure { margin: var(--space-3) 0; }
.dvf-product-detail__body table { width: 100%; }
.dvf-product-details { display: grid; grid-template-columns: 1fr 1.1fr; gap: var(--space-7); margin-block: var(--space-8); }
.dvf-product-details > h2 { align-self: start; }
.dvf-product-formats { margin-block: var(--space-8); }
.dvf-product-recommendations { margin-block: var(--space-8); }
.dvf-product-complements li { margin: 0; min-width: 0; }
.dvf-product-complements a { display: grid; grid-template-columns: minmax(0, 1fr) 1.25rem; align-items: center; gap: var(--space-2); padding-block: var(--space-5); border-block: var(--hairline) solid var(--color-line); color: var(--color-ink); text-decoration: none; }
.dvf-product-formats__price { grid-column: 1; font-size: var(--text-small); color: var(--color-ink-2); }
.dvf-product-complements svg { grid-column: 2; grid-row: 1 / 3; width: 1.25rem; height: 1.25rem; fill: none; stroke: var(--color-accent); stroke-width: 1.4; }
.dvf-product-formats > .dvf-product-detail { margin-top: var(--space-5); }
.dvf-product-complements { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); margin: 0; padding: 0 !important; list-style: none; }
.dvf-product-complements a > span:first-child { font: 400 var(--text-body) / 1.5 var(--font-text); }
.single-product .related.products { margin-top: var(--space-8); }
.single-product .related.products > h2 { font-size: var(--text-h2); margin-bottom: var(--space-5); }
:is(.dvf-product-detail > summary, .dvf-product-formats a, .dvf-volume-assist a):focus-visible { outline: 2px solid var(--color-focus); outline-offset: 3px; }
@media (hover: hover) and (pointer: fine) {
    .dvf-product-detail > summary:hover, .dvf-product-complements a:hover { color: var(--color-accent); }
}
@media (min-width: 1000px) {
    .single-product .product-entry-wrapper { gap: var(--space-8); }
}
@media (max-width: 999.98px) {
    .dvf-product-details, .dvf-product-story { gap: var(--space-6); }
    .single-product .dvf-facts__row { grid-template-columns: 8rem minmax(0, 1fr); }
}
@media (max-width: 689.98px) {
    .single-product .product-entry-wrapper { gap: var(--space-5); }
    .single-product .ct-product-gallery-container .flexy-item > .ct-media-container { max-height: 24rem; }
    .single-product .summary { padding-top: 0; }
    .single-product .summary .woocommerce-product-details__short-description { font-size: var(--text-small); margin-bottom: var(--space-4); }
    .single-product .summary .ct-cart-actions { gap: var(--space-2); }
    .single-product .dvf-facts, .dvf-product-story, .dvf-product-details, .dvf-product-formats, .dvf-product-recommendations { margin-block: var(--space-7); }
    .single-product .dvf-facts__row { grid-template-columns: minmax(0, 1fr); gap: var(--space-1); }
    .single-product .dvf-facts__row dt { font-size: var(--text-caption); }
    .dvf-product-story.has-image, .dvf-product-details { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
    .dvf-product-story { padding-block: var(--space-6); }
    .dvf-product-story__copy > p { font-size: var(--text-body); }
    .dvf-story-media { margin-block: var(--space-7); }
    .dvf-product-video { margin-block: var(--space-7); }
    .dvf-story-media__photos { grid-auto-columns: 85%; gap: var(--space-4); }
    .dvf-story-media__photos > li:only-child { grid-column: 1; }
    .dvf-story-media__photos:has(> li:only-child) { grid-auto-columns: 100%; }
    .dvf-product-details > h2 { margin-bottom: 0; }
    .dvf-scent-format-cards ul.products:has(> li:only-child) { grid-auto-columns: min(100%, 20rem); margin-inline: 0; padding-inline: 0; }
    .dvf-product-complements { grid-template-columns: minmax(0, 1fr); gap: 0; }
    .dvf-product-complements li + li a { border-top: 0; }
}
