/* One clear hierarchy, with the purchase action always reachable on a phone. */
.product-dialog{padding:52px max(24px,calc((100vw - 1160px)/2)) 32px;scroll-padding-block:64px 148px}
.product-dialog .product-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto 1fr;gap:18px 56px;align-items:start;max-width:1160px;margin:auto}
.product-dialog .product-heading{grid-column:2;grid-row:1;display:flex;align-items:flex-start;gap:16px;padding-right:24px;min-width:0}
.product-dialog .product-heading h2{flex:1;min-width:0;font-size:clamp(32px,3.5vw,48px);line-height:1.22;margin:0;text-wrap:balance}
.product-dialog .product-heading .favorite-heart{flex:0 0 44px;margin:4px 0 0}
.product-dialog .visual{grid-column:1;grid-row:1/4;position:sticky;top:36px;max-width:520px;width:100%;aspect-ratio:1;align-self:start;margin:0}
.product-dialog .product-copy{grid-column:2;grid-row:3;padding:0;min-width:0}
.product-dialog .product-description{margin:0 0 14px;font-size:14px;line-height:1.65}
.product-weight{font-size:12px;margin:8px 0;color:#716569}
.product-nutrition{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:18px 0 4px}
.product-nutrition>div{display:grid;gap:2px}.product-nutrition strong{font:inherit;font-size:18px;font-variant-numeric:tabular-nums}.product-nutrition span{font-size:10px;color:#716569}.product-nutrition-basis{font-size:10px;color:#716569;margin:0 0 20px}
.product-more{border:0;border-block:1px solid #e4d7db;margin:18px 0;padding:0}
.product-more>summary{padding:14px 0;min-height:48px;font-size:13px;cursor:pointer}.product-more>div{padding:4px 0 16px;font-size:13px;line-height:1.65}.product-more h3{font:inherit;margin:18px 0 8px;font-size:12px;color:#716569}.product-more p{margin:6px 0 12px}.product-storage{margin:4px 0 16px}.product-storage>div{display:flex;justify-content:space-between;gap:20px;margin:6px 0}.product-storage dt{color:#716569}.product-storage dd{margin:0;text-align:right}
.product-warm{font-size:13px;padding:10px 0}.product-warm input{accent-color:#c18a9e}
.product-dialog .product-buybar{grid-column:2;grid-row:2;min-width:0;background:#faf8f3;padding:12px 0 16px;border-bottom:1px solid #e4d7db}
.product-buybar-meta{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:10px}.product-buybar-meta>strong{font-size:22px;font-weight:400;font-variant-numeric:tabular-nums}.product-buybar-meta .qty{display:flex;align-items:center;gap:4px}.product-buybar-meta .qty button{min-width:44px;min-height:44px;padding:0;font-size:22px}.product-buybar-meta .qty span{min-width:22px;text-align:center}
.product-buybar-actions{display:flex;align-items:center;gap:12px}.product-buybar-actions>.pill{flex:1;min-height:50px;margin:0}
.product-dialog .product-cart-link{display:flex;align-items:center;justify-content:center;gap:5px;flex:0 0 64px;min-height:50px;margin:0;padding:0 8px;border:1px solid #cda5b4;border-radius:999px;background:#f6e8ed;text-decoration:none;font-size:12px;color:#66444f}
.product-dialog .product-added{min-height:0;font-size:11px;margin:8px 0 0;color:#735160}.product-dialog .product-added:empty{display:none}
@media(max-width:700px){
 .product-dialog{padding:66px 20px 0;overflow-x:hidden}
 .product-dialog .product-inner{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;gap:16px;max-width:480px;padding-bottom:calc(158px + env(safe-area-inset-bottom,0px))}
 .product-dialog .product-heading{grid-column:1;grid-row:1;padding:0;gap:12px;align-items:center}
 .product-dialog .product-heading h2{font-size:clamp(28px,7vw,38px);line-height:1.25}
 .product-dialog .visual{grid-column:1;grid-row:2;position:relative;top:auto;align-self:center;width:100%;height:clamp(176px,32svh,280px);max-width:340px;aspect-ratio:auto;margin:0 auto}
 .product-dialog .visual>img{padding:8px;max-height:100%;object-fit:contain}
 .product-dialog .product-copy{grid-column:1;grid-row:3;padding:0}
 .product-dialog .product-buybar{position:fixed;inset:auto 0 0;z-index:12;width:100%;border:0;border-top:1px solid #dfc7d0;padding:10px max(20px,calc((100vw - 440px)/2)) calc(12px + env(safe-area-inset-bottom,0px));box-sizing:border-box}
 .product-buybar-meta{margin-bottom:6px}.product-buybar-meta>strong{font-size:20px}.product-buybar-meta .qty button{min-height:36px;min-width:44px}
 .product-dialog .product-description{font-size:13px}.product-dialog .product-options{margin:16px 0;padding:14px 0;border-top:0}
 .product-dialog .product-close{width:42px;height:42px;top:12px;right:16px}
}
@media(prefers-reduced-motion:reduce){.product-dialog .product-copy{animation:none!important}}

.product-flight{position:fixed!important;left:0!important;top:0!important;object-fit:contain;transform-origin:center center;pointer-events:none;z-index:9999}

.product-card{position:relative}.product-card>.favorite-heart{position:absolute;right:4px;top:8px;z-index:3}.detail-info>.product-heading{display:flex;align-items:center;gap:14px}.detail-info>.product-heading>.script{flex:1;min-width:0}
@media(max-width:700px){.detail{padding-bottom:114px}.detail .add-row{position:fixed;bottom:0;left:0;right:0;z-index:22;background:#faf8f3;padding:14px 20px calc(14px + env(safe-area-inset-bottom,0px));border-top:1px solid #dfc7d0}.detail .add-row>.pill{flex:1}}
.product-dialog{transform:none!important;animation:none!important}
/* Native focus stays obvious; touch no longer triggers a blue selection flash. */
.product-dialog :is(button,a){-webkit-tap-highlight-color:transparent}
/* Product first: nutrition above the cutout; information lives in a separate sheet. */
.product-dialog .product-inner{grid-template-rows:auto auto auto 1fr}
.product-dialog .product-quickfacts{grid-column:2;grid-row:2;min-width:0}.product-dialog .visual{grid-row:1/5}.product-dialog .product-buybar{grid-row:3}.product-dialog .product-copy{grid-row:4}
.product-quickfacts .product-weight{margin:0 0 8px}.product-quickfacts .product-nutrition{margin:4px 0 3px}.product-quickfacts .product-nutrition-basis{margin-bottom:4px}
.product-quickfacts .product-more{border:0;margin:0}.product-quickfacts .product-more>summary{display:block;text-align:center;text-decoration:underline;text-decoration-color:#c28b9f;text-underline-offset:5px;padding:10px 0;min-height:44px}.product-quickfacts .product-more>summary::-webkit-details-marker{display:none}.product-quickfacts .product-more>summary::marker{content:''}
.product-info-sheet{width:min(640px,calc(100% - 40px));max-height:min(90dvh,900px);padding:0;border:0;border-radius:20px;background:#faf7f0;color:var(--ink,#44433f);overflow:hidden;overscroll-behavior:contain}
.product-info-sheet[open]{display:flex;flex-direction:column}.product-info-sheet::backdrop{background:rgb(44 31 36 / .45)}
.product-info-sheet-head{display:flex;gap:20px;justify-content:space-between;align-items:flex-start;padding:28px 24px 12px;flex-shrink:0}.product-info-sheet-head h2{font:inherit;font-size:23px;line-height:1.4;margin:0;min-width:0}
.product-info-close{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border:1px solid #d6a6b6;border-radius:50%;padding:10px;background:#f5e7ec;color:#825366}.product-info-close svg{width:22px;height:22px}
.product-info-sheet-body{padding:0 24px 28px;overflow-y:auto;min-height:0;font-size:14px;line-height:1.65;overscroll-behavior:contain}.product-info-sheet-body h3{font:inherit;font-size:19px;margin:24px 0 8px}.product-info-sheet-body p{margin:10px 0 20px}.product-info-sheet-body .nutrition-grid{margin-top:14px}.product-info-sheet-body .product-storage{font-size:12px;margin-top:20px}.product-info-sheet :focus-visible{outline:2px solid #bb7c95;outline-offset:4px}
@media(max-width:700px){.product-dialog .product-inner{grid-template-rows:auto auto auto auto;gap:10px}.product-dialog .product-heading{grid-row:1}.product-dialog .product-quickfacts{grid-column:1;grid-row:2}.product-dialog .visual{grid-row:3;height:clamp(210px,37svh,340px)}.product-dialog .product-copy{grid-row:4}.product-dialog .product-buybar{grid-row:auto}.product-nutrition>div{text-align:center}.product-nutrition-basis{text-align:center}.product-info-sheet{width:100%;max-width:none;max-height:90dvh;margin:auto 0 0;border-radius:22px 22px 0 0}.product-info-sheet-head{padding-top:24px}.product-info-sheet-body{padding-bottom:calc(28px + env(safe-area-inset-bottom,0px))}}
@media(prefers-reduced-motion:no-preference){.product-info-sheet[open]{animation:product-sheet-in 260ms cubic-bezier(.16,1,.3,1)}@keyframes product-sheet-in{from{opacity:.5;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}}
/* Give the product and pair room; no separator crosses the cutout. */
.product-dialog .pairings,.product-dialog .pairing-result,.product-dialog .product-options,.product-dialog .product-warm{border:0!important}
.product-dialog .pairings{margin-top:12px;padding-top:8px}.product-dialog .visual{overflow:visible;isolation:isolate}
.pairing-simple{border:0}.pairing-simple h3{font:inherit;font-size:13px;margin:0 0 12px}.pairing-simple .pairing-list{display:grid;gap:8px}
.pairing-simple .pairing-item{display:grid;grid-template-columns:56px minmax(0,1fr) 44px;min-height:64px;gap:12px;padding:3px 0}
.pairing-simple .pairing-magic-stage{grid-column:auto;width:56px;height:56px}.pairing-simple .pairing-magic-stage .pairing-photo{width:56px;height:56px}.pairing-simple .pairing-magic-stage::before,.pairing-simple .pairing-magic-stage::after{display:none}
@media(max-width:700px){.product-dialog .visual{height:clamp(210px,34svh,310px);margin:8px auto 14px}.product-dialog .product-copy{padding-bottom:14px}}
html.moline-motion-hidden .product-dialog .visual img,.product-dialog:not([open]) .visual img{animation-play-state:paused!important}
