/* The product viewer is its own opaque paper surface: no catalogue ghosts. */
.product-dialog{background:#faf8f3;isolation:isolate;--product-paper:#faf8f3}
.product-dialog::backdrop{background:#faf8f3}
.product-dialog::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:url('assets/bird-tile.svg?v=14');background-size:240px 220px;opacity:.12}
.product-dialog .product-copy{background:transparent;border-radius:0;padding:20px 0}
.product-dialog .visual{display:grid;place-items:center;justify-self:center;align-self:start;position:relative;width:100%;height:auto;max-width:480px;max-height:none;aspect-ratio:1;overflow:visible;background:transparent}
.product-dialog .visual>img{position:static;display:block;width:100%;height:100%;max-width:100%;max-height:100%;padding:5%;object-fit:contain;transform:none;filter:none}
.detail>.visual{display:grid;place-items:center;min-height:0;height:auto;max-height:480px;aspect-ratio:1;background:transparent;overflow:visible}
.detail>.visual>img{object-fit:contain;width:100%;height:100%;padding:5%}
.product-options{border:0;border-block:1px solid var(--line);padding:16px 0;margin:18px 0;display:grid;gap:16px}
.product-options .drink-choice{border:0;min-width:0;margin:0;padding:0}
.product-options .drink-choice legend{padding:0;margin:0 0 9px;font-size:12px;line-height:1.5;color:var(--muted)}
.drink-choice-items{display:flex;flex-wrap:wrap;gap:8px}
.product-options .drink-choice-label{display:block;position:relative;min-width:0;margin:0;font-size:13px;cursor:pointer;flex:1 1 calc(50% - 8px)}
.product-options .drink-choice-label:only-child{flex:0 1 auto;min-width:130px}
.product-options input[type=radio]{position:absolute;width:1px;height:1px;min-height:0;min-width:0;clip-path:inset(50%);overflow:hidden;margin:0;padding:0;border:0;opacity:0}
.drink-choice-label>span{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:46px;border:1px solid #d5c2c9;border-radius:12px;padding:10px 13px;background:#faf8f3;color:var(--ink);transition:background-color 180ms ease,border-color 180ms ease}
.drink-choice-label small{white-space:nowrap;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}
.drink-choice-label input:checked+span{background:#e8b7c8;border-color:#c997ab}
.drink-choice-label input:focus-visible+span{outline:2px solid #c57998;outline-offset:3px}
.drink-choice-label:active>span{background:#f4dce6}
@media(hover:hover){.drink-choice-label:hover>span{border-color:#bd8fa1;background:#f7e9ef}.drink-choice-label:has(input:checked):hover>span{background:#e8b7c8}}
@media(max-width:600px){
 .product-dialog{padding:64px 20px 24px}
 .product-dialog::after{background-size:190px 180px}
 .product-dialog .product-inner{width:100%;max-width:440px;gap:12px;align-items:center}
 .product-dialog .visual{width:min(100%,320px);height:300px;aspect-ratio:auto;align-self:center;margin-inline:auto}
 .product-dialog .visual>img{padding:8px}
 .product-dialog .product-copy{padding:0;width:100%}
 .drink-choice-label>span{padding:10px;font-size:12px}
}
@media(prefers-reduced-motion:reduce){.drink-choice-label>span{transition:none}}

.product-dialog::before{content:none}
.drink-choice-label input:checked+span small{color:var(--ink)}
/* The opaque top layer already hides the page; avoid blurring the full catalogue. */
.product-open #app,.product-open .shared-brand{filter:none;opacity:1}
.product-dialog{overflow-x:hidden}
