/* MAZAQ V6R17 — INTERACTIVE LUXURY. No photos, brand identity, prices or ordering logic are replaced. */
:root{--v17-stroke:color-mix(in srgb,var(--wine) 23%,transparent);--v17-fill:color-mix(in srgb,var(--cream) 76%,var(--white));--v17-quiet:color-mix(in srgb,var(--wine) 7%,var(--white))}
body.overdrive .site-header{backdrop-filter:none;background:var(--ground)}
/* stronger brand rhythm without extra ornament */
.hero-shell{outline:1px solid color-mix(in srgb,var(--wine) 7%,transparent);outline-offset:-1px}
.hero-title{font-weight:600;letter-spacing:-.015em}
.collection-head{border-bottom:1px solid var(--v17-stroke);padding-bottom:15px;margin-bottom:25px}
.collection-title{font-weight:600;letter-spacing:-.012em}
.dark-section .collection-head{border-bottom-color:var(--dark-row-rule)}
body.overdrive .hero-art img{filter:drop-shadow(0 18px 18px var(--photo-shadow-hero))}
/* Every cake has equal decision architecture. These are STILL one-click add buttons. */
.loaf-details .variant-stack{gap:7px;border:0;margin-top:auto}
.loaf-details .variant-stack .cake-size-option{position:relative;padding:11px 12px;min-height:101px;border:1px solid var(--v17-stroke);border-radius:9px;background:transparent;transition:border-color 220ms ease,background-color 220ms ease,box-shadow 220ms ease;isolation:isolate}
.loaf-details .variant-stack .cake-size-option:last-child{border-bottom:1px solid var(--v17-stroke)}
.loaf-details .variant-stack .cake-size-option:hover,.loaf-details .variant-stack .cake-size-option:focus-visible,.loaf-details .variant-stack .cake-size-option.is-size-active{border-color:var(--wine);background:var(--v17-quiet)}
.loaf-details .variant-stack .cake-size-option.just-added{background:var(--v17-fill);border-color:var(--wine)}
.size-description b{color:var(--wine);font-weight:700}
.size-purchase strong{font-family:var(--sans);font-size:20px;font-weight:700}
.size-purchase small{font-size:11px}
.size-plus{font-size:19px;opacity:1;line-height:1.25}
.loaf-product .photo-stage{background:var(--pale);transition:background-color 300ms ease}
.loaf-product:focus-within .photo-stage{background:var(--v17-fill)}
.loaf-product .product-name{color:var(--wine)}
/* Cart truth belongs near the chosen product. It never claims checkout is live. */
.v17-in-cart{margin-top:9px;min-height:29px;display:flex;align-items:center;gap:7px;color:var(--wine);font-size:12px;font-weight:600;letter-spacing:0;line-height:1.5}
.v17-in-cart[hidden]{display:none!important}
.v17-in-cart::before{content:'';display:block;width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}
.v17-in-cart.v17-tick{animation:v17-arrived 340ms cubic-bezier(.16,1,.3,1)}
@keyframes v17-arrived{from{opacity:.65;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
/* One strong buying confirmation, not competing glowing buttons or tilt effects. */
body.overdrive .loaf-product .photo-stage,body.overdrive .roll-img,body.overdrive .muffin-product,body.overdrive .duo-product{will-change:auto;filter:none}
body.overdrive .loaf-product:hover .photo-stage,body.overdrive .roll-product:hover .roll-img,body.overdrive .duo-product:hover,body.overdrive .muffin-product:hover{transform:none;box-shadow:none;filter:none}
body.overdrive .loaf-product:hover .product-name{color:var(--wine)}
/* Chrome + Safari + Firefox: native if present, static readable fallback otherwise. */
#heroPrice{view-transition-name:v17-hero-price}
#heroMeasure{view-transition-name:v17-hero-measure}
::view-transition-old(v17-hero-price),::view-transition-old(v17-hero-measure){animation:v17-out 160ms ease both}
::view-transition-new(v17-hero-price),::view-transition-new(v17-hero-measure){animation:v17-in 260ms cubic-bezier(.16,1,.3,1) both}
@keyframes v17-out{to{opacity:0;transform:translateY(-5px)}}
@keyframes v17-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
/* consistent focus and affordances across roll and muffin cards */
#rolls .roll-product:focus-within .roll-img,.muffin-flavor:focus-within,.duo-product:focus-within{outline:2px solid var(--wine);outline-offset:3px}
.muffin-flavor-actions .add-button,.roll-desc .add-button{transition:background-color 180ms ease,color 180ms ease,border-color 180ms ease}
@media(max-width:640px){
 .collection-head{padding-bottom:9px;margin-bottom:18px}
 .loaf-product .loaf-details{padding-top:13px}
 .loaf-details .variant-stack{gap:8px}
 .loaf-details .variant-stack .cake-size-option{padding:12px 13px;min-height:88px}
 .size-description b{font-size:14px}
 .size-dimensions{font-size:13px;white-space:normal}
 .size-dimensions small{font-size:12px}
 .v17-in-cart{font-size:12px;margin-top:10px}
}
@media(prefers-reduced-motion:reduce){.v17-in-cart.v17-tick{animation:none}::view-transition-old(v17-hero-price),::view-transition-old(v17-hero-measure),::view-transition-new(v17-hero-price),::view-transition-new(v17-hero-measure){animation:none!important}.loaf-details .variant-stack .cake-size-option{transition:none}}
@media(forced-colors:active){.loaf-details .variant-stack .cake-size-option{border:1px solid ButtonText}.v17-in-cart{color:CanvasText}}
/* Correct inherited reduced-motion drawer bug: closed means visually closed. */
@media(prefers-reduced-motion:reduce){
 body.overdrive #drawer:not(.open){transform:translateX(-102%)!important}
 body.overdrive #drawer.open{transform:translateX(0)!important}
}
/* Bolder through material and hierarchy, not simulated glass or gradients. */
body.overdrive .floating-cart{background:var(--wine);backdrop-filter:none}
body.overdrive .floating-cart::before{display:none}
body.overdrive .drawer-shade{backdrop-filter:none}
body.overdrive .drawer,body.overdrive #toast{background:var(--surface-drawer)}
body.overdrive .drawer-head,body.overdrive .drawer-foot{backdrop-filter:none}
body.overdrive .toast-mark{background:var(--cream);box-shadow:none}
body.overdrive #toast::before{background:var(--wine)}
