/* Product page uses the same paper and photo surfaces as the shared catalogue. */
.product{background:var(--ode-card-paper,#fff)}
.pd-gallery{min-width:0;width:100%;--photo-height:480px}.pd-gallery-stage{position:relative;background:var(--ode-card-field,#f3f3f3)}.pd-gallery-track{display:flex;width:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x pan-y pinch-zoom}.pd-gallery-track::-webkit-scrollbar{display:none}.pd-gallery-slide{display:flex;align-items:center;justify-content:center;flex:0 0 100%;width:100%;min-width:0;height:var(--photo-height);border:0;padding:32px;background:transparent;scroll-snap-align:start;scroll-snap-stop:always;cursor:zoom-in}.pd-gallery-slide img{display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;pointer-events:none}.pd-gallery-arrow{position:absolute;top:calc(50% - 20px);width:40px;height:40px;border:1px solid #ddd;background:#fff;color:#121212;font-size:18px;z-index:1}.pd-gallery-prev{left:12px}.pd-gallery-next{right:12px}.pd-gallery-arrow:disabled{opacity:.25;cursor:default}.pd-gallery-counter{position:absolute;bottom:14px;right:16px;font-size:11px;pointer-events:none}.pd-gallery-zoom-hint{position:absolute;bottom:14px;left:16px;font-size:9px;color:#747474;pointer-events:none}.pd-gallery-thumbs{display:flex;gap:10px;overflow-x:auto;padding:14px 0 4px}.pd-gallery-thumbs button{display:flex;flex-direction:column;align-items:center;gap:5px;flex:0 0 62px;min-height:76px;border:1px solid #dedede;padding:5px;background:transparent}.pd-gallery-thumbs button[aria-current=true]{border-color:#121212}.pd-gallery-thumbs img{object-fit:contain;display:block;pointer-events:none;mix-blend-mode:multiply}.pd-gallery-thumbs span{font-size:9px}
@media(max-width:1000px){.pd-gallery{--photo-height:390px}.pd-gallery-arrow{width:34px;height:38px}.pd-gallery-prev{left:7px}.pd-gallery-next{right:7px}}
@media(max-width:640px){.pd-gallery{--photo-height:310px}.pd-gallery-slide{padding:28px 38px}.pd-gallery-thumbs{gap:8px}.pd-gallery-thumbs button{flex-basis:56px}.product-main--compact.product-main .product-head{margin-bottom:26px}}
@media(max-width:350px){.pd-gallery{--photo-height:280px}.pd-gallery-thumbs button{flex-basis:51px}.pd-gallery-thumbs{gap:7px}.pd-gallery-zoom-hint{font-size:8px}}

.pd-gallery[data-image-count="1"] :is(.pd-gallery-arrow,.pd-gallery-counter,.pd-gallery-thumbs){display:none}
.purchase-confirm{width:min(440px,calc(100vw - 32px));max-height:90dvh;padding:30px 24px 24px;border:1px solid #dedede;border-radius:10px;background:#fff;color:#121212}.purchase-confirm::backdrop{background:#0007}.purchase-confirm-close{position:absolute;right:7px;top:7px;min-width:44px;min-height:44px;border:0;background:transparent;font-size:25px}.purchase-confirm-brand{font-size:9px;letter-spacing:.13em;color:#747474;margin:0 0 14px}.purchase-confirm h2{font-size:24px;margin:0 0 10px}.purchase-confirm-name{margin:0;font-size:14px;color:#747474}.purchase-confirm-offer{display:flex;align-items:center;gap:16px;margin:24px 0;padding:14px 0;border-block:1px solid #dedede}.purchase-confirm-offer img{width:38px;height:54px;object-fit:contain}.purchase-confirm-offer strong{margin-left:auto;font-size:20px;font-weight:600;white-space:nowrap}.purchase-confirm-demo{font-size:10px;color:#747474;margin:0 0 20px}.purchase-confirm-actions{display:flex;gap:10px}.purchase-confirm-actions button{min-height:46px;border:1px solid #dedede;padding:10px 14px;font-size:12px;background:#fff}.purchase-confirm-actions [data-confirm-yes]{flex:1;background:#183f35;border-color:#183f35;color:#fff}@media(hover:hover) and (pointer:fine){.purchase-confirm-actions [data-confirm-yes]:hover{background:#008560}}
.pd-favorite{position:absolute;top:12px;right:12px;z-index:3;display:grid;place-items:center;width:44px;height:44px;padding:9px;border:0;background:transparent;color:#626262;cursor:pointer}.pd-favorite svg{width:25px;height:25px;pointer-events:none;transition:transform .18s,color .18s}.pd-favorite[aria-pressed=true]{color:#183f35}.pd-favorite[aria-pressed=true] path{fill:currentColor}.pd-favorite-message{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(hover:hover) and (pointer:fine){.pd-favorite:hover{color:#008560}.pd-favorite:hover svg{transform:scale(1.08)}}
@media(prefers-reduced-motion:reduce){.pd-favorite svg{transition:none}}
.pd-favorite:focus-visible{position:absolute;z-index:4}
.pd-gallery-thumbs button{min-height:64px;justify-content:center;gap:0}
/* Quiet gallery chevrons; full-size invisible hit area remains. */
.pd-gallery .pd-gallery-arrow{display:grid;place-items:center;top:calc(50% - 22px);width:44px;height:44px;padding:0;border:0;border-radius:0;background:transparent;color:#45534d;font-size:0;transition:color .18s,opacity .18s}
.pd-gallery .pd-gallery-arrow::before{content:"";display:block;width:9px;height:9px;border-top:1.25px solid currentColor;border-right:1.25px solid currentColor}
.pd-gallery .pd-gallery-prev::before{transform:rotate(-135deg)}.pd-gallery .pd-gallery-next::before{transform:rotate(45deg)}
.pd-gallery .pd-gallery-prev{left:8px}.pd-gallery .pd-gallery-next{right:8px}.pd-gallery .pd-gallery-arrow:disabled{opacity:0;visibility:hidden;pointer-events:none}
@media(hover:hover) and (pointer:fine){.pd-gallery .pd-gallery-arrow:not(:disabled):hover{color:#008560}}
@media(prefers-reduced-motion:reduce){.pd-gallery .pd-gallery-arrow{transition:none}}
.pd-gallery-track.is-dragging{scroll-snap-type:none;scroll-behavior:auto;user-select:none}.pd-gallery-track.is-dragging,.pd-gallery-track.is-dragging .pd-gallery-slide{cursor:grabbing}
@media(hover:hover) and (pointer:fine){.pd-gallery-track .pd-gallery-slide{cursor:grab}}
/* Let the browser arbitrate finger swipes, page scrolling and pinch zoom. */
.pd-gallery-track{touch-action:pan-x pan-y pinch-zoom}
/* One animation owner: pointer drag and release share the actual scroll position. */
.pd-gallery .pd-gallery-track{scroll-snap-type:none;scroll-behavior:auto}
/* Touch uses native momentum/snap; mouse and programmatic movement keep their own animation. */
.pd-gallery .pd-gallery-track.is-native-touch{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}

.pd-gallery-track.is-pointer-focused:focus{outline:none}
/* Use the storefront's bundled Fancybox for the complete expanded gallery. */
.volume-lightbox{--fancybox-bg:rgba(255,255,255,.98);--fancybox-color:#183f35;--f-button-color:#183f35;--f-button-bg:transparent;--f-button-hover-bg:#f3f3f3;--f-button-active-bg:#e8edea}
.volume-lightbox .pd-favorite{position:static;display:grid;width:46px;height:46px;padding:10px;z-index:auto}
.volume-lightbox .pd-favorite:focus-visible{position:static}
.volume-lightbox .f-carousel__nav .f-button{background:transparent;box-shadow:none}
.volume-lightbox .fancybox__toolbar{font-family:Onest,sans-serif}
.volume-lightbox{--fancybox-bg:#fff;--f-button-svg-filter:none;--fancybox-toolbar-text-shadow:none}
.volume-lightbox .fancybox__toolbar{--f-button-bg:transparent;--f-button-hover-bg:#f3f3f3;--f-button-active-bg:#e8edea;--f-button-color:#183f35;--f-button-svg-filter:none;--fancybox-toolbar-text-shadow:none}
.volume-lightbox .f-carousel__nav .f-button svg{filter:none;stroke-width:1.3}
.volume-lightbox .pd-favorite{pointer-events:auto}
.volume-lightbox .fancybox__nav{--f-button-bg:transparent;--f-button-hover-bg:#f3f3f3;--f-button-svg-filter:none;--f-button-svg-stroke-width:1.3}
.volume-lightbox .fancybox__nav .f-button{box-shadow:none}
/* Only the approved product top; lower sections inherit their existing styles. */
.product-main.product-main--compact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7%;align-items:start}
.product-main--compact.product-main .product-left{display:block;width:auto;height:auto;min-width:0}
.product-main--compact.product-main .product-right{width:auto;min-width:0;gap:0;padding-top:8px}
.product-main--compact.product-main .product-head{padding-left:0;margin-bottom:28px}
.product-main--compact.product-main .product-head__row{width:100%;align-items:flex-start;gap:20px}
.product-main--compact.product-main .product-head__title{display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin:0;text-transform:none;overflow-wrap:anywhere}
.product-main--compact.product-main .product-title-brand{font:500 11px/1.4 Onest,sans-serif;letter-spacing:.15em;text-transform:uppercase;color:#68746e}
.product-main--compact.product-main .product-title-brand:hover{color:#008560}
.product-main--compact.product-main .product-title-name{font:400 30px/1.15 Anticva,serif;text-transform:uppercase;color:#053a2e}
.product-main--compact.product-main .product-head__text{font:400 13px/1.5 Onest,sans-serif;color:#7b8580;margin:0}
.product-main--compact.product-main .product-rating__number,.product-main--compact.product-main .product-rating .ode-rating-stars__fill .ode-rating-stars__row{color:#053a2e}
.product-main--compact.product-main .product-brand-logo{flex-shrink:0}
.product-main--compact.product-main .product-volume{font-family:Onest,sans-serif;gap:16px;padding:0}
.product-main--compact.product-main .product-volume__heading{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin:0}
.product-main--compact.product-main .product-volume__title{font:500 13px/1.5 Onest,sans-serif;color:#121212;margin:0;padding:0}
.product-main--compact.product-main .product-volume__range{font:400 11px/1.5 Onest,sans-serif;color:#747474;margin:0}
.product-main--compact.product-main .product-volume__list{display:grid;gap:0;border-top:1px solid #dedede}
.product-main--compact.product-main .volume-block{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto 94px;gap:18px;align-items:center;min-height:64px;height:auto;padding:0;border:0;border-bottom:1px solid #dedede;border-radius:0;box-shadow:none;background:transparent}
@media(hover:hover) and (pointer:fine){.product-main--compact.product-main .volume-block:hover{background:#f7f8f7;box-shadow:none;border-color:#dedede}}
.product-main--compact.product-main .volume-block__identity{display:flex;align-items:center;gap:12px;min-width:0}
.product-main--compact.product-main .volume-block__thumbnail{display:flex;align-items:center;justify-content:center;width:40px;flex:0 0 40px;height:58px;padding:0;border-radius:0;background:transparent}
.product-main--compact.product-main .volume-block__thumbnail img{display:block;width:32px;height:54px;object-fit:contain}
/* Fit original bottles by their visible silhouette; decant thumbnails keep their own sizes. */
.product-main--compact.product-main .volume-block--bottle .volume-block__thumbnail{height:68px;overflow:hidden}
.product-main--compact.product-main .volume-block--bottle .volume-block__thumbnail img{width:100%;height:100%;object-fit:contain}
/* Account for transparent asset margins so the visible 12 ml bottle is taller than 6 ml. */
.product-main--compact.product-main .volume-block__thumbnail .atomizer--3{height:32px}.product-main--compact.product-main .volume-block__thumbnail .atomizer--6{width:32px;height:44px;object-fit:cover}.product-main--compact.product-main .volume-block__thumbnail .atomizer--12{width:100%;height:56px;object-fit:cover}.product-main--compact.product-main .volume-block__thumbnail .atomizer--30{height:56px}
.product-main--compact.product-main .volume-block__checkbox-text{font:400 13px/1.4 Onest,sans-serif;color:#121212;overflow-wrap:anywhere}
.product-main--compact.product-main .volume-block__current{width:auto;text-align:right;margin:0;font:500 13px/1.4 Onest,sans-serif;color:#121212;font-variant-numeric:tabular-nums;white-space:nowrap;grid-column:auto;grid-row:auto;letter-spacing:0}
.product-main--compact.product-main .volume-block__button{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;width:94px;min-height:44px;padding:10px 8px;border:0;border-radius:2px;background:transparent;font:500 12px/1.3 Onest,sans-serif;color:#183f35;grid-column:auto;grid-row:auto;white-space:normal;overflow-wrap:anywhere}
@media(hover:hover) and (pointer:fine){.product-main--compact.product-main .volume-block__button:hover{color:#008560;background:transparent}}
.product-main--compact.product-main .volume-block__button:disabled{color:#919b96;background:transparent;cursor:default}
.product-main--compact.product-main .volume-row-hit{display:block;position:absolute;inset:0;z-index:1;width:100%;height:100%;border:0;padding:0;background:transparent;cursor:pointer}
.product-main--compact.product-main .volume-row-hit:disabled{cursor:default}
.product-main--compact.product-main .volume-block:has(.volume-row-hit:disabled):hover{background:transparent}
.product-main--compact.product-main .volume-block__button:focus-visible,.product-main--compact.product-main .volume-row-hit:focus-visible{outline:2px solid #008560;outline-offset:2px}
.product-main--compact.product-main .volume-block__checkbox{width:auto;gap:10px;padding:0}
.product-main--compact.product-main .volume-block:has(#button-cart-main){grid-template-columns:minmax(0,1fr) auto 94px}
.product-main--compact.product-main .volume-block__sale{display:none}
.product-main--compact #ode-cart-message:empty{display:none}
.pd-gallery button{font-family:Onest,sans-serif}.pd-gallery-counter{color:#121212;font-family:Onest,sans-serif}
.pd-gallery-empty{background:var(--ode-card-field,#f3f3f3);min-height:300px;display:grid;place-items:center;color:#747474;font:13px Onest,sans-serif}
.purchase-confirm{margin:auto;font:400 14px/1.5 Onest,sans-serif;box-sizing:border-box}.purchase-confirm h2{font:500 24px/1.3 Onest,sans-serif}.purchase-confirm button{font-family:Onest,sans-serif;cursor:pointer}.purchase-confirm-close{color:#183f35}
@media(max-width:1024px){.product-main.product-main--compact{grid-template-columns:1fr;gap:28px}.product-main--compact.product-main .product-right{padding-top:0}.product-main--compact.product-main .product-head{width:100%}.pd-gallery{--photo-height:440px}}
@media(max-width:640px){
 .pd-gallery{--photo-height:310px}.product-main--compact.product-main .product-head__row{gap:12px}.product-main--compact.product-main .product-brand-logo{width:72px;height:72px}.product-main--compact.product-main .product-title-name{font-size:26px}.product-main--compact.product-main .product-title-brand{font-size:10px}.product-main--compact.product-main .product-head__text{font-size:12px}
 .product-main--compact.product-main .product-volume__title{font-size:12px}.product-main--compact.product-main .product-volume__range{font-size:10px}
 .product-main--compact.product-main .volume-block{grid-template-columns:minmax(0,1fr) auto 88px;column-gap:12px;grid-template-rows:auto;min-height:72px;padding:0}
 .product-main--compact.product-main .volume-block__identity{gap:10px}.product-main--compact.product-main .volume-block__thumbnail{width:36px;flex-basis:36px;height:58px;grid-column:auto;grid-row:auto}
 .product-main--compact.product-main .volume-block__copy{grid-column:auto;grid-row:auto}
 .product-main--compact.product-main .volume-block__current{padding-right:12px;font-size:13px;text-align:right;line-height:1.4}
 .product-main--compact.product-main .volume-block__button{width:88px;min-height:44px;background:#183f35;color:#fff;font-size:13px}
 .product-main--compact.product-main .volume-block__button:disabled{background:#eef2ef;color:#919b96;font-size:11px}
 .product-main--compact.product-main .volume-block--bottle .volume-block__button{background:#eef2ef;color:#183f35}
 .product-main--compact.product-main .volume-block:has(#button-cart-main){grid-template-columns:minmax(0,1fr) auto 88px}
}
@media(max-width:350px){.pd-gallery{--photo-height:280px}.product-main--compact.product-main .product-title-name{font-size:23px}.product-main--compact.product-main .product-brand-logo{width:58px;height:58px}.product-main--compact.product-main .volume-block__identity{gap:4px}.product-main--compact.product-main .volume-block__thumbnail{width:28px;flex-basis:28px}.product-main--compact.product-main .volume-block__checkbox-text{font-size:12px}}
@media(hover:hover) and (pointer:fine){.product-main--compact.product-main .volume-block__button:not(:disabled):hover{background:#008560;color:#fff}}
@media(prefers-reduced-motion:reduce){.product-main--compact *{transition:none!important}}

.product-main--compact.product-main .product-volume__heading{width:100%}

.pd-gallery-empty{position:relative}

.product-main--compact.product-main .volume-block__checkbox-decor{display:none}

.product-main--compact.product-main .volume-block--inquiry .volume-block__current{font-weight:400;color:#747474;font-size:12px}
.product-main--compact.product-main .volume-block--inquiry a.volume-block__button{font-size:12px;text-decoration:none}

.product-main--compact.product-main .volume-block.volume-block--single{grid-template-columns:minmax(0,1fr) auto 94px}
@media(max-width:640px){.product-main--compact.product-main .volume-block.volume-block--single{grid-template-columns:minmax(0,1fr) auto 88px}}

/* Quiet product breadcrumbs; preserve the spacing between all following sections. */
.product .breadcrumbs--product{gap:6px 8px;margin:0 0 -18px;padding:0}
.product .breadcrumbs--product .breadcrumbs__link{font:400 13px/1.5 Onest,sans-serif;color:#77827c;gap:8px;overflow-wrap:anywhere}
.product .breadcrumbs--product .breadcrumbs__link::after{content:'';width:0;height:10px;border-left:1px solid #bac3bd;transform:rotate(20deg)}
.product .breadcrumbs--product .breadcrumbs__item:last-child .breadcrumbs__link{color:#929b96}
.product .breadcrumbs--product .breadcrumbs__link:hover{color:#008560}
@media(max-width:1024px){
 .product .breadcrumbs--product{margin-bottom:-14px;gap:6px 7px}
 .product .breadcrumbs--product .breadcrumbs__link{font-size:12px;gap:7px}
 .product .breadcrumbs--product .breadcrumbs__item:last-child{display:none}
 .product .breadcrumbs--product .breadcrumbs__item:nth-last-child(2) .breadcrumbs__link::after{display:none}
}
@media(max-width:480px){
 .product .breadcrumbs--product{margin-bottom:-6px}
 .product .breadcrumbs--product .breadcrumbs__item--home{display:none}
}

/* Only explicitly approved full-bleed editorial scenes fill the stage. */
.pd-gallery-slide.pd-gallery-slide--editorial{padding:0}
.pd-gallery-slide--editorial img{object-fit:cover;object-position:center;mix-blend-mode:normal}

/* A variant URL selects a format; opening it never adds an item to the cart. */
.product-main--compact.product-main .pd-variant-link{position:relative;z-index:3;color:inherit;text-decoration:underline;text-decoration-color:#bbc8c0;text-underline-offset:4px}
.product-main--compact.product-main .pd-variant-link:hover{color:#008560}
.product-main--compact.product-main .pd-variant-link:focus-visible{outline:2px solid #008560;outline-offset:4px}
.product-main--compact.product-main .volume-block.is-selected-variant{background:#f0f4ef;border-bottom-color:#8aa596}
.pd-selected-variant{font-size:12px;line-height:1.6;color:#496053;margin:12px 0 0}
.pd-option-link{margin-left:8px}

/* Initial dialog focus describes the action without highlighting Cancel. */
.purchase-confirm h2[tabindex="-1"]:focus{outline:none}
.purchase-confirm-actions button:focus-visible{outline:2px solid #008b6c;outline-offset:3px}
.product-main--compact .volume-row-hit,.product-main--compact .volume-block__button,.purchase-confirm button{-webkit-tap-highlight-color:transparent}
