@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@500;600;700&family=Fredoka:wght@500;600;700&display=swap');

:root { --ink:#431128; --pink:#ec1e67; --paper:#fff; --line:rgba(67,17,40,.14); }
* { box-sizing:border-box; }
html,body { width:100%; min-height:100%; }
body { margin:0; overflow:hidden; color:var(--ink); background:#fff; font-family:"DM Sans",sans-serif; }
button,a { font:inherit; -webkit-tap-highlight-color:transparent; }
button { color:inherit; }

.app-shell { position:relative; width:100vw; height:100dvh; min-height:0; margin:0; overflow:hidden; background:#fff; isolation:isolate; }
.app-shell::before { content:""; position:absolute; z-index:1; inset:0; background:url("./assets/pattern-doryta-seamless.svg") center/210px auto repeat; opacity:.25; pointer-events:none; -webkit-mask-image:radial-gradient(ellipse 52% 86% at 50% 50%,#000 0%,rgba(0,0,0,.84) 38%,rgba(0,0,0,.38) 70%,transparent 100%); mask-image:radial-gradient(ellipse 52% 86% at 50% 50%,#000 0%,rgba(0,0,0,.84) 38%,rgba(0,0,0,.38) 70%,transparent 100%); }

.melting-ice-frame { position:absolute; z-index:2; inset:0; overflow:hidden; pointer-events:none; }
.ice-edge { position:absolute; left:0; width:100%; display:block; background-position:center; background-repeat:repeat-x; filter:drop-shadow(0 8px 9px rgba(125,0,48,.17)); }
.ice-edge-top { top:0; height:clamp(90px,18vw,170px); background:none; filter:none; }
.ice-edge-top::before,.ice-edge-top::after { content:""; position:absolute; top:0; width:clamp(260px,38vw,560px); aspect-ratio:56/17; background:url("./assets/ice-top-repeat.svg?v=20261104-2") top left/contain no-repeat; filter:drop-shadow(0 8px 9px rgba(125,0,48,.17)); }
.ice-edge-top::before { left:0; }
.ice-edge-top::after { right:0; transform:scaleX(-1); }
.ice-edge-bottom { bottom:0; height:clamp(112px,16dvh,164px); background-image:url("./assets/ice-bottom-repeat.svg?v=20261104-2"); background-size:auto 100%; }

.topbar { position:relative; z-index:30; height:32px; }

.product-experience { position:relative; z-index:3; height:calc(100% - 32px); display:grid; grid-template-rows:123px minmax(0,1fr) 112px; }
.product-heading { position:relative; z-index:10; display:block; padding:0 22px; text-align:center; }
.brand-lockup { position:relative; height:auto; display:flex; flex-direction:column; align-items:center; justify-content:flex-start; }
.hero-logo { flex:0 0 auto; width:222px; height:92px; object-fit:contain; }
.brand-slogan { flex:0 0 auto; width:218px; height:36px; margin-top:-16px; overflow:visible; transform:translateY(11px); }
.brand-slogan text { fill:var(--ink); font:700 14.5px "Fredoka",sans-serif; letter-spacing:.016em; }
.visually-hidden { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }

.product-stage { position:relative; min-height:0; outline:none; isolation:isolate; touch-action:pan-y; overscroll-behavior-x:contain; cursor:grab; user-select:none; }
.product-stage:active { cursor:grabbing; }
.product-stage::before { content:""; position:absolute; z-index:2; left:50%; bottom:4%; width:54%; height:6%; translate:-50% 0; border-radius:50%; background:rgba(67,17,40,.16); filter:blur(19px); }
.product-pattern-band { display:none; }
.product-pattern-band object { position:absolute; left:0; top:50%; width:100%; height:138%; transform:translateY(-50%); border:0; pointer-events:none; }
.product-pattern-band::after { content:""; position:absolute; inset:-2px; background:radial-gradient(ellipse 39% 64% at 50% 50%,transparent 0 54%,rgba(255,255,255,.18) 66%,rgba(255,255,255,.72) 84%,#fff 100%),linear-gradient(to bottom,#fff 0,rgba(255,255,255,.52) 10%,transparent 25% 75%,rgba(255,255,255,.52) 90%,#fff 100%); }
.product-slider { position:absolute; z-index:3; inset:0; overflow:visible; transform:translateY(var(--product-shift-y,0px)); transition:transform .35s ease; will-change:transform; }
.product-slide { --x:0px; --scale:1; --rotate:0deg; --opacity:1; --box-height:100%; --stick-safe-zone:42px; --info-rise:24px; --meta-column-width:min(200px,calc(50% - var(--stick-safe-zone) - 8px)); position:absolute; left:50%; bottom:0; width:100%; height:var(--box-height); padding:0; margin:0; border:0; background:transparent; opacity:var(--opacity); transform:translateX(-50%) translateX(var(--x)) rotate(var(--rotate)) scale(var(--scale)); transform-origin:50% 72%; transition:transform .62s cubic-bezier(.2,.72,.2,1),opacity .42s ease,filter .42s ease; will-change:transform,opacity; filter:saturate(.72) blur(.3px) drop-shadow(0 15px 15px rgba(67,17,40,.14)); cursor:pointer; }
.product-stage.is-dragging .product-slide { transition:none; }
.product-slide img { position:absolute; left:50%; bottom:0; width:auto; height:100%; max-width:none; padding:0; margin:0; object-fit:contain; transform:translateX(-50%); pointer-events:none; }
.product-slide.is-active { z-index:10; filter:saturate(1.06) drop-shadow(0 28px 24px rgba(67,17,40,.23)); }
.slide-price { position:absolute; z-index:2; right:calc(50% + var(--stick-safe-zone)); bottom:var(--info-rise); display:block; width:var(--meta-column-width); padding:0; margin:0; color:var(--ink); text-align:right; opacity:0; pointer-events:none; transition:opacity .22s ease; }
.slide-price small,.slide-price strong { display:block; }
.slide-price small { margin-bottom:4px; color:rgba(67,17,40,.56); font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.12em; }
.slide-price strong { font:700 36px/.95 "Fredoka",sans-serif; letter-spacing:0; white-space:nowrap; }
.product-slide.is-active .slide-price { opacity:1; }

.slide-details {
  position:absolute;
  z-index:2;
  left:calc(50% + var(--stick-safe-zone));
  bottom:var(--info-rise);
  width:var(--meta-column-width);
  padding:0;
  margin:0;
  color:var(--ink);
  text-align:left;
  opacity:0;
  pointer-events:none;
  display:block;
  overflow:visible;
  transition:opacity .22s ease;
}

.slide-flavour { display:block; width:min(100%,var(--description-width,170px)); margin:0 0 4px; color:rgba(67,17,40,.56); font-size:9px; font-weight:700; line-height:1.2; letter-spacing:.08em; text-transform:uppercase; }
.slide-name { display:block; width:min(100%,var(--description-width,170px)); margin:0 0 7px; font:700 21px/1 "Fredoka",sans-serif; letter-spacing:0; }
.slide-description { display:block; width:min(100%,var(--description-width,170px)); margin:0; color:var(--ink); font-size:14px; font-weight:600; line-height:1.3; opacity:.86; }
.product-slide.is-active .slide-details { opacity:1; }

.product-footer { --footer-safe-bottom:max(15px,env(safe-area-inset-bottom)); --add-swipe-gap:7px; position:relative; z-index:20; padding:24px 22px var(--footer-safe-bottom); background:transparent; }
.footer-center { position:absolute; top:var(--footer-center-top,24px); left:50%; transform:translateX(-50%); transition:top .35s ease; }
.add-chip { min-width:158px; height:46px; padding:0 18px 0 21px; display:flex; align-items:center; justify-content:center; gap:12px; border:1px solid rgba(255,255,255,.26); border-radius:999px; background:linear-gradient(135deg,#ff3f82 0%,var(--pink) 58%,#d9165b 100%); color:white; box-shadow:0 15px 30px rgba(236,30,103,.34),inset 0 1px 0 rgba(255,255,255,.24); font:600 13.5px "Fredoka",sans-serif; cursor:pointer; transition:transform .18s ease,box-shadow .18s ease,filter .18s ease; }
.add-chip:active { transform:scale(.96); filter:brightness(.94); box-shadow:0 7px 15px rgba(236,30,103,.25),inset 0 1px 0 rgba(255,255,255,.18); }
.add-chip svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; transform:rotate(15deg); transform-origin:50% 55%; transition:transform .18s ease; }
.swipe-hint { display:flex; align-items:center; justify-content:center; gap:8px; color:rgba(255,255,255,.9); text-shadow:0 1px 3px rgba(67,17,40,.32); }
.product-footer>.swipe-hint { position:absolute; left:50%; bottom:var(--footer-safe-bottom); transform:translateX(-50%); }
.swipe-hint>i { font:400 24px/1 "Fredoka",sans-serif; animation:nudge 1.5s ease-in-out infinite; }
.swipe-hint>i:last-child { animation-direction:reverse; }
.swipe-hint>span { text-align:center; font-size:9px; font-weight:700; }
.swipe-hint small { display:block; margin-top:4px; font-size:7px; letter-spacing:.16em; text-transform:uppercase; }
@keyframes nudge { 50% { transform:translateX(-3px); } }
.reviews-trigger { position:absolute; top:22px; left:22px; width:52px; height:52px; padding:0; display:grid; place-items:center; border:2px solid rgba(255,255,255,.88); border-radius:50%; background:linear-gradient(145deg,#fff9eb 0%,#f4dfb7 100%); color:#6a3e2b; box-shadow:0 12px 26px rgba(91,53,35,.22),0 0 0 4px rgba(255,255,255,.32); cursor:pointer; transition:transform .18s ease,box-shadow .18s ease; }
.reviews-trigger:active { transform:scale(.95); }
.reviews-trigger svg { width:30px; height:30px; overflow:visible; fill:none; stroke:currentColor; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }
.reviews-trigger .reviews-heart { fill:var(--pink); stroke:none; }
.reviews-trigger b { position:absolute; top:-1px; right:-1px; min-width:18px; height:18px; padding:0 4px; display:grid; place-items:center; border:2px solid white; border-radius:99px; background:var(--pink); color:white; font-size:8px; }
.footer-cart-button { position:absolute; top:22px; right:22px; width:62px; height:62px; padding:0; display:grid; place-items:center; border:2px solid rgba(255,255,255,.92); border-radius:50%; background:linear-gradient(145deg,#b5d83f 0%,#8fb719 100%); color:white; box-shadow:0 13px 29px rgba(97,128,21,.28),0 0 0 4px rgba(255,255,255,.34); cursor:pointer; transition:transform .18s ease,box-shadow .18s ease; }
.footer-cart-button:active { transform:scale(.95); }
.footer-cart-button.is-catching { animation:cart-catch .52s cubic-bezier(.2,.85,.25,1); }
.footer-cart-button.is-catching b { animation:cart-badge-pop .52s cubic-bezier(.2,.85,.25,1); }
.ice-cart-icon { width:39px; height:39px; fill:none; stroke:currentColor; stroke-width:2.15; stroke-linecap:round; stroke-linejoin:round; }
.footer-cart-button .ice-cart-icon { color:#fff9eb; }
.footer-cart-button .ice-cart-icon .ice-pop-fill { fill:var(--pink); stroke:none; }
.footer-cart-button b { position:absolute; top:0; right:0; min-width:18px; height:18px; padding:0 4px; display:grid; place-items:center; border:2px solid white; border-radius:99px; background:var(--pink); color:white; font-size:8px; }
.cart-flight { position:fixed; z-index:140; width:38px; height:38px; pointer-events:none; transform-origin:50% 50%; filter:drop-shadow(0 8px 11px rgba(236,30,103,.44)); will-change:transform,opacity; }
.cart-flight::before { content:""; position:absolute; z-index:-1; top:50%; right:22px; width:72px; height:10px; border-radius:999px; background:linear-gradient(90deg,transparent 0%,rgba(255,188,214,.3) 28%,rgba(236,30,103,.86) 100%); transform:translateY(-50%); filter:blur(3px); }
.cart-flight::after { content:""; position:absolute; left:-17px; top:5px; width:6px; height:6px; border-radius:50%; background:#95c11f; box-shadow:-14px 12px 0 -1px rgba(236,30,103,.75),6px 23px 0 -1px rgba(255,184,56,.76); animation:flight-sparks .94s ease-out both; }
.cart-flight svg { width:38px; height:38px; overflow:visible; animation:flight-star-spin .94s linear both; }
@keyframes cart-catch { 0%,100% { transform:scale(1); } 38% { transform:scale(1.14) rotate(-5deg); box-shadow:0 18px 36px rgba(236,30,103,.28); } 68% { transform:scale(.96) rotate(3deg); } }
@keyframes cart-badge-pop { 0%,100% { transform:scale(1); } 45% { transform:scale(1.42); } }
@keyframes flight-star-spin { to { transform:rotate(300deg); } }
@keyframes flight-sparks { 0% { opacity:0; transform:scale(.4); } 22% { opacity:1; } 100% { opacity:0; transform:translate(-18px,10px) scale(1.15); } }

.scrim { position:fixed; z-index:90; inset:0; background:rgba(35,5,20,.46); opacity:0; backdrop-filter:blur(4px); transition:opacity .25s ease; }
.scrim.is-visible { opacity:1; }
.cart-sheet { position:fixed; z-index:100; left:50%; top:50%; bottom:auto; width:min(calc(100% - 24px),500px); max-height:84dvh; padding:22px 20px max(20px,env(safe-area-inset-bottom)); overflow-y:auto; border-radius:28px; background:var(--paper); box-shadow:0 28px 80px rgba(35,5,20,.28); opacity:0; pointer-events:none; transform:translate(-50%,-50%) scale(.88); transition:transform .34s cubic-bezier(.2,.82,.25,1),opacity .24s ease; }
.cart-sheet.is-open { opacity:1; pointer-events:auto; transform:translate(-50%,-50%) scale(1); }
.sheet-handle { display:none; }
.sheet-head { display:flex; justify-content:space-between; align-items:start; }
.sheet-head span { color:var(--pink); font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:.13em; }
.sheet-head h2 { margin:2px 0 16px; font:700 31px "Fredoka",sans-serif; }
.sheet-head button { width:38px; height:38px; border:1px solid var(--line); border-radius:50%; background:white; font-size:25px; cursor:pointer; }
.cart-lines { display:grid; gap:8px; }
.empty-cart { padding:40px 15px; border:1px dashed var(--line); border-radius:18px; color:rgba(67,17,40,.52); font-size:12px; text-align:center; }
.cart-line { min-height:72px; padding:8px 10px; display:grid; grid-template-columns:42px 1fr auto; gap:10px; align-items:center; border-radius:16px; background:white; }
.cart-line img { width:38px; height:58px; object-fit:contain; }
.cart-line strong,.cart-line small { display:block; }
.cart-line strong { font:600 14px "Fredoka",sans-serif; }
.cart-line small { margin-top:3px; color:rgba(67,17,40,.53); font-size:9px; }
.line-actions { display:flex; align-items:center; gap:4px; }
.line-actions button { width:27px; height:27px; border:1px solid var(--line); border-radius:50%; background:transparent; cursor:pointer; }
.cart-summary { margin:14px 0; padding-top:12px; display:flex; justify-content:space-between; border-top:1px solid var(--line); font-size:12px; }
.cart-summary strong { font:600 20px "Fredoka",sans-serif; }
.whatsapp-button { min-height:57px; padding:0 18px; display:flex; align-items:center; justify-content:space-between; border-radius:16px; background:#1eac63; color:white; font-weight:700; text-decoration:none; }
.whatsapp-button[aria-disabled="true"] { pointer-events:none; opacity:.45; }
.cart-note { margin:9px 0 0; color:rgba(67,17,40,.45); font-size:8px; text-align:center; }
.reviews-sheet { position:fixed; z-index:105; left:50%; top:50%; bottom:auto; width:min(calc(100% - 24px),500px); max-height:84dvh; overflow:hidden; border-radius:30px; background:#fff8fb; box-shadow:0 28px 80px rgba(35,5,20,.28); opacity:0; pointer-events:none; transform:translate(-50%,-50%) scale(.88); transition:transform .34s cubic-bezier(.2,.82,.25,1),opacity .24s ease; }
.reviews-sheet::before { content:""; position:absolute; inset:0; background:url("./assets/pattern-doryta-seamless.svg") center/220px auto repeat; opacity:.25; pointer-events:none; -webkit-mask-image:radial-gradient(ellipse 46% 82% at 50% 50%,#000 0%,rgba(0,0,0,.9) 34%,rgba(0,0,0,.48) 68%,transparent 100%); mask-image:radial-gradient(ellipse 46% 82% at 50% 50%,#000 0%,rgba(0,0,0,.9) 34%,rgba(0,0,0,.48) 68%,transparent 100%); }
.reviews-sheet.is-open { opacity:1; pointer-events:auto; transform:translate(-50%,-50%) scale(1); }
.reviews-content { position:relative; z-index:1; padding:22px 20px max(22px,env(safe-area-inset-bottom)); }
.reviews-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.reviews-head>div>span { color:var(--pink); font-size:9px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.reviews-head h2 { margin:3px 0 14px; font:700 31px/1.06 "Fredoka",sans-serif; }
.reviews-head>button { flex:0 0 auto; width:38px; height:38px; border:1px solid var(--line); border-radius:50%; background:white; color:var(--ink); font-size:25px; line-height:1; cursor:pointer; }
.reviews-track { display:grid; grid-auto-flow:column; grid-auto-columns:calc(100% - 42px); gap:12px; margin:0 -20px; padding:5px 20px 18px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scroll-padding-left:20px; scrollbar-width:none; touch-action:pan-x; }
.reviews-track::-webkit-scrollbar { display:none; }
.review-card { position:relative; min-height:260px; padding:22px; overflow:hidden; scroll-snap-align:start; border:1px solid rgba(236,30,103,.11); border-radius:24px; background:linear-gradient(145deg,rgba(255,255,255,.99),rgba(255,239,246,.97)); box-shadow:0 18px 32px rgba(67,17,40,.11); }
.review-card::after { content:""; position:absolute; right:-13px; bottom:-24px; width:118px; height:138px; background:url("./assets/fruit-strawberry.svg") center/contain no-repeat; opacity:.09; transform:rotate(11deg); }
.review-quote { position:absolute; top:5px; right:18px; color:rgba(236,30,103,.14); font:700 84px/1 "Fredoka",sans-serif; }
.review-card header { position:relative; z-index:1; display:flex; align-items:center; gap:12px; }
.review-card header img { width:56px; height:56px; object-fit:cover; border:3px solid white; border-radius:50%; box-shadow:0 5px 14px rgba(67,17,40,.16); }
.review-card header div { min-width:0; }
.review-card header strong,.review-card header small { display:block; }
.review-card header strong { font:600 16px/1.15 "Fredoka",sans-serif; }
.review-card header small { margin-top:4px; color:rgba(67,17,40,.5); font-size:10px; font-weight:600; }
.review-card blockquote { position:relative; z-index:1; margin:24px 0 22px; max-width:340px; font:600 20px/1.25 "Fredoka",sans-serif; }
.review-card footer { position:absolute; z-index:1; left:22px; bottom:19px; display:flex; align-items:center; gap:7px; color:rgba(67,17,40,.52); font-size:9px; font-weight:700; letter-spacing:.04em; }
.facebook-mark { width:18px; height:18px; display:grid; place-items:center; border-radius:50%; background:#1877f2; color:white; font:700 14px/20px Arial,sans-serif; }
.reviews-pagination { display:flex; justify-content:center; gap:7px; }
.reviews-pagination button { width:7px; height:7px; padding:0; border:0; border-radius:999px; background:rgba(67,17,40,.18); cursor:pointer; transition:width .2s ease,background .2s ease; }
.reviews-pagination button.is-active { width:24px; background:var(--pink); }
.reviews-note { margin:10px 0 0; color:rgba(67,17,40,.46); font-size:8px; text-align:center; }
.toast { position:fixed; z-index:130; left:50%; bottom:28px; padding:11px 16px; border-radius:99px; background:var(--ink); color:white; font-size:11px; opacity:0; transform:translate(-50%,18px); pointer-events:none; transition:opacity .25s,transform .25s; }
.toast.show { opacity:1; transform:translate(-50%,0); }

@media (max-height:720px) {
  .ice-edge-bottom { height:108px; }
  .topbar { height:32px; }
  .hero-logo { width:199px; height:78px; }
  .brand-slogan { width:194px; height:32px; margin-top:-14px; }
  .brand-slogan text { font-size:14px; }
  .product-experience { height:calc(100% - 32px); grid-template-rows:107px minmax(0,1fr) 104px; }
  .product-footer { --footer-safe-bottom:12px; --add-swipe-gap:5px; padding-bottom:var(--footer-safe-bottom); }
  .add-chip { min-width:144px; height:40px; font-size:12px; }
  .add-chip svg { width:18px; height:18px; }
  .reviews-trigger { width:46px; height:46px; }
  .reviews-trigger svg { width:27px; height:27px; }
  .footer-cart-button { width:54px; height:54px; }
  .ice-cart-icon { width:34px; height:34px; }
  .reviews-sheet { max-height:82dvh; }
  .reviews-head h2 { font-size:28px; }
  .review-card { min-height:228px; padding:18px; }
  .review-card header img { width:50px; height:50px; }
  .review-card blockquote { margin-top:18px; font-size:17px; }
  .review-card footer { left:18px; bottom:16px; }
}
@media (min-width:700px) {
  body { padding:0; }
  .app-shell { width:100vw; height:100dvh; min-height:0; border-radius:0; box-shadow:none; }
  .cart-sheet { border-radius:28px; }
  .reviews-sheet { border-radius:30px; }
}
@media (min-width:600px) and (orientation:portrait) {
  body { padding:0; }
  .app-shell { width:100vw; height:100dvh; min-height:0; border-radius:0; }
  .product-experience { grid-template-rows:142px minmax(0,1fr) 124px; }
  .hero-logo { width:252px; height:106px; }
  .brand-slogan { width:246px; height:40px; margin-top:-18px; }
  .brand-slogan text { font-size:15px; }
  .product-slide { --stick-safe-zone:48px; --meta-column-width:min(220px,calc(50% - var(--stick-safe-zone) - 10px)); }
  .slide-price strong { font-size:40px; }
  .slide-flavour { font-size:10px; }
  .slide-name { font-size:23px; }
  .slide-description { font-size:15px; }
  .add-chip { min-width:168px; height:48px; font-size:14px; }
}
@media (min-width:768px) and (orientation:landscape), (min-width:1100px) {
  body { padding:0; display:block; }
  .app-shell { width:100vw; height:100dvh; min-height:0; margin:0; border-radius:0; box-shadow:none; }
  .app-shell::before { background-size:230px auto; -webkit-mask-image:radial-gradient(ellipse 70% 88% at 50% 50%,#000 0%,rgba(0,0,0,.84) 38%,rgba(0,0,0,.36) 72%,transparent 100%); mask-image:radial-gradient(ellipse 70% 88% at 50% 50%,#000 0%,rgba(0,0,0,.84) 38%,rgba(0,0,0,.36) 72%,transparent 100%); }
  .topbar { height:34px; }
  .product-experience { height:calc(100% - 34px); grid-template-rows:132px minmax(0,1fr) 116px; }
  .product-heading { padding:0 120px; }
  .brand-lockup { transform:translateY(14px); }
  .hero-logo { width:258px; height:106px; }
  .brand-slogan { width:252px; height:40px; margin-top:-18px; }
  .brand-slogan text { font-size:15px; }
  .product-stage { margin:0 34px; }
  .product-stage::before { width:32%; height:7%; }
  .product-slide { --stick-safe-zone:54px; --meta-column-width:min(230px,calc(50% - var(--stick-safe-zone) - 14px)); }
  .slide-price small { font-size:11px; }
  .slide-price strong { font-size:42px; }
  .slide-flavour { font-size:10px; }
  .slide-name { font-size:24px; }
  .slide-description { font-size:15px; }
  .add-chip { min-width:174px; height:50px; font-size:14px; }
  .add-chip svg { width:22px; height:22px; }
  .reviews-trigger { top:24px; left:calc(50% - 300px); width:66px; height:66px; border:2px solid rgba(255,255,255,.88); background:linear-gradient(145deg,#fff9eb 0%,#f4dfb7 100%); color:#6a3e2b; box-shadow:0 14px 30px rgba(91,53,35,.24),0 0 0 5px rgba(255,255,255,.36); }
  .reviews-trigger svg { width:34px; height:34px; }
  .reviews-trigger .reviews-heart { fill:var(--pink); }
  .footer-cart-button { top:24px; right:calc(50% - 300px); width:68px; height:68px; border:2px solid rgba(255,255,255,.92); background:linear-gradient(145deg,#b5d83f 0%,#8fb719 100%); color:white; box-shadow:0 15px 32px rgba(97,128,21,.30),0 0 0 5px rgba(255,255,255,.38); }
  .footer-cart-button .ice-cart-icon { width:42px; height:42px; }
  .reviews-trigger:hover,.footer-cart-button:hover { transform:translateY(-3px); box-shadow:0 19px 38px rgba(67,17,40,.25),0 0 0 6px rgba(255,255,255,.48); }
  .reviews-trigger:active,.footer-cart-button:active { transform:translateY(0) scale(.95); }
  .cart-sheet { width:min(440px,calc(100vw - 48px)); }
  .reviews-sheet { width:min(620px,calc(100vw - 48px)); }
  .review-card { min-height:280px; }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition-duration:.01ms!important; } }
