/* Mobile-first refinements for the quick pre-order flow. */
.hero{min-height:0;padding-block:20px 0;grid-template-columns:1fr 1.1fr;gap:4px}
.hero-copy{padding:0}
.hero h1{font-size:clamp(38px,4.2vw,58px);line-height:1.1;margin:0}
.hero-art{height:240px;overflow:visible}
.hero-halo{height:100%;width:66%}
.hero-orbit,.hero-sticker,.hero-flower{display:none}
.hero-salad{height:92%;width:auto;max-width:67%;left:14%;top:4%;object-fit:contain}
.hero-drink{height:82%;width:auto;max-width:22%;right:10%;bottom:2%;object-fit:contain}
.menu-section{padding-top:20px;padding-bottom:70px}
.product-card{cursor:pointer;background:rgba(238,224,237,.42);border-color:rgba(255,255,255,.72);box-shadow:0 10px 25px rgba(79,48,81,.07)}
.product-card:focus-visible{outline:3px solid #ac8ab7;outline-offset:3px}
.product-photo{height:275px;overflow:hidden}
.product-card .product-photo img{position:absolute!important;inset:14px!important;width:calc(100% - 28px)!important;height:calc(100% - 28px)!important;min-width:0;min-height:0;max-width:none;max-height:none;object-fit:contain}
.product-info{position:relative;background:linear-gradient(135deg,rgba(255,255,255,.58),rgba(238,221,242,.46));backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3);border-top:1px solid rgba(255,255,255,.82);box-shadow:inset 0 1px 0 rgba(255,255,255,.55);padding:13px 15px 14px}
.product-info h3{margin-bottom:5px;font-size:18px}
.product-info p{margin-bottom:7px;min-height:0;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.product-bottom{min-height:29px}
.add-button{width:29px;height:29px;font-size:21px;box-shadow:0 4px 10px #5a3b6230}
.sold-out{cursor:not-allowed;filter:saturate(.45)}
.sold-out:hover{transform:none;box-shadow:0 10px 25px rgba(79,48,81,.07)}
.sold-out .product-photo img{filter:grayscale(1) opacity(.6);transform:none!important}
.sold-out .product-photo:after{content:'';position:absolute;inset:0;background:rgba(216,210,218,.2)}
.sold-out-badge{background:#5c5060;color:#fff;text-transform:uppercase;letter-spacing:.08em}
.flying-product{position:fixed;z-index:120;width:68px;height:68px;object-fit:contain;pointer-events:none;filter:drop-shadow(0 8px 10px #51385380)}
.overlay{background:rgba(48,30,56,.47);backdrop-filter:blur(10px)}
.sheet{background:linear-gradient(145deg,rgba(255,250,255,.91),rgba(242,224,243,.88));backdrop-filter:blur(28px);border:1px solid rgba(255,255,255,.7);box-shadow:-20px 0 65px #25162d4a}
.cart-sheet,.checkout-sheet{border-radius:28px 0 0 28px}
.checkout-sheet{overflow:hidden}
.sheet-head,.sheet-footer{background:rgba(255,255,255,.22);backdrop-filter:blur(16px)}
.checkout-summary,.form-section,.cart-item{background:rgba(255,255,255,.35);border:1px solid rgba(255,255,255,.65);border-radius:18px;box-shadow:0 8px 22px #4c31520a}
.form-section{padding:16px;margin-bottom:12px}
.checkout-summary{padding:16px}
.field input,.field textarea,.choice-card>span,.option-choice span,.hint-box{background:rgba(255,255,255,.62);backdrop-filter:blur(12px)}
.checkout-submit .button svg{width:22px;height:22px;stroke:none}
.social-notice{position:fixed;top:82px;left:50%;transform:translateX(-50%);z-index:50;max-width:min(420px,calc(100vw - 24px));width:max-content;padding:12px 18px;border:1px solid rgba(255,255,255,.8);border-radius:18px;background:rgba(255,250,255,.88);backdrop-filter:blur(18px);color:var(--plum);font-size:12px;font-weight:700;text-align:center;box-shadow:0 12px 35px #3f294632;pointer-events:none}
.notice-show{animation:noticeIn .35s cubic-bezier(.2,.8,.2,1) both}
@keyframes noticeIn{from{opacity:0;transform:translate(-50%,-12px)}to{opacity:1;transform:translate(-50%,0)}}
.closing-visual:before,.closing-bloom{display:none}
.closing-inner{grid-template-columns:1.25fr .75fr;gap:38px}
.closing-visual{min-height:350px}
.closing-visual img{width:100%;max-height:370px;object-fit:cover;border-radius:24px;filter:none;box-shadow:0 20px 35px #27182930}
@media(max-width:760px){
  .hero{display:flex;flex-direction:column;align-items:center;padding-top:12px;padding-bottom:0}
  .hero-copy{order:1;text-align:center;padding:0}
  .hero h1{font-size:clamp(35px,8vw,48px);margin:0}
  .hero-art{order:2;width:100%;height:185px;margin-top:-1px}
  .hero-halo{width:76%;height:90%}
  .hero-salad{height:96%;width:auto;max-width:63%;left:17%;top:0}
  .hero-drink{height:83%;width:auto;max-width:19%;right:16%;max-height:none}
  .menu-section{padding-top:12px;padding-bottom:55px}
  .menu-toolbar{margin-bottom:16px}
  .product-photo{height:210px}
  .product-info{padding:11px 12px 12px}
  .product-info h3{font-size:16px}
  .product-info p{font-size:10px;min-height:0;margin-bottom:5px}
  .product-bottom{min-height:25px}
  .add-button{width:26px;height:26px;font-size:19px}
  .cart-sheet,.checkout-sheet{border-radius:24px 24px 0 0}
  .social-notice{top:76px}
  .closing-inner{gap:0}
  .closing-visual{min-height:230px;padding-top:26px}
  .closing-visual img{width:100%;max-height:none;aspect-ratio:16/9;object-fit:cover}
}
@media(max-width:470px){.hero-art{height:160px}.hero-salad{height:96%;width:auto;max-width:66%;left:12%}.hero-drink{height:83%;width:auto;max-width:21%;right:14%;max-height:none}.product-photo{height:190px}.product-card .product-photo img{inset:10px!important;width:calc(100% - 20px)!important;height:calc(100% - 20px)!important}.menu-grid{gap:10px}.product-info{padding:10px}.product-info h3{font-size:15px}.product-info p{font-size:9px}}
@media(prefers-reduced-motion:reduce){.notice-show{animation:none}}
.closing-visual{min-height:0;display:block;overflow:visible}
.closing-visual .studio-stage{position:relative;width:100%;aspect-ratio:3/2;isolation:isolate}
.closing-visual .studio-stage img{position:absolute;display:block;max-height:none;aspect-ratio:auto;object-fit:contain;border:0;border-radius:0;filter:none;box-shadow:none}
.closing-visual .studio-stage .studio-food{inset:0;width:100%;height:100%;object-fit:fill}
.closing-visual .studio-stage .studio-coffee{left:-.5%;top:-.8%;width:27%;height:auto;filter:drop-shadow(5px 10px 7px #23142d55)}
.closing-visual .studio-stage .studio-matcha{left:14%;top:19%;width:27%;height:auto;filter:drop-shadow(7px 11px 7px #23142d66)}
@media(max-width:760px){.closing-visual{width:100%;min-height:0;padding-top:18px}.closing-visual .studio-stage img{max-height:none;aspect-ratio:auto;object-fit:contain}.closing-visual .studio-stage .studio-food{height:100%;object-fit:fill}}
