/* 2CORNER v0.12.1 — Interface Refinement / customer */
:root{
  --ui121-radius-sm:12px;
  --ui121-radius-md:18px;
  --ui121-radius-lg:24px;
  --ui121-ease:cubic-bezier(.2,.8,.2,1);
  --ui121-fast:180ms;
  --ui121-shadow:0 8px 24px rgba(18,54,38,.055);
}

/* Cards should support the hierarchy, not become the hierarchy */
.product-card-v2,.cart-item,.menu-row,.info-card,.home-product-card-v2{
  box-shadow:none;
  border-color:rgba(18,54,38,.095);
}
.product-card-v2:hover,.home-product-card-v2:hover{box-shadow:var(--ui121-shadow)}

/* Menu: consume less vertical space, become a small command surface on scroll */
.menu-v2 .topbar,.menu-search-command,.menu-nav-v2,.smart-filter-rail{transition:all var(--ui121-fast) var(--ui121-ease)}
.menu-v2.ui121-scrolled .topbar{height:58px;padding-top:9px;padding-bottom:8px;box-shadow:0 6px 18px rgba(18,54,38,.05)}
.menu-v2.ui121-scrolled .topbar .sub{display:none}
.menu-v2.ui121-scrolled .topbar .title{font-size:16px}
.menu-v2.ui121-scrolled .menu-search-command{min-height:50px;border-radius:16px;grid-template-columns:34px 1fr 22px;padding:7px 10px;margin-bottom:7px}
.menu-v2.ui121-scrolled .menu-search-command>svg{width:34px;height:34px;padding:8px;border-radius:11px}
.menu-v2.ui121-scrolled .menu-search-command small{display:none}
.menu-v2.ui121-scrolled .menu-nav-v2{top:58px;padding-top:6px;padding-bottom:6px;margin-bottom:8px}
.menu-v2.ui121-scrolled .menu-nav-chip{min-height:46px;padding:5px 9px;border-radius:14px}
.menu-v2.ui121-scrolled .menu-nav-chip img{width:32px;height:32px;border-radius:10px}
.menu-v2.ui121-scrolled .menu-nav-chip small{display:none}
.menu-v2.ui121-scrolled .smart-filter-rail{margin-bottom:8px}

/* Product cards: strict, predictable reading order */
.product-list-v2{gap:10px}
.product-card-v2{grid-template-columns:96px minmax(0,1fr) 34px;min-height:124px;border-radius:20px;padding:9px;align-items:center}
.product-image-v2{width:96px;height:104px;border-radius:16px}
.product-card-v2 .product-main{min-height:104px;justify-content:flex-start;padding:3px 0}
.product-card-v2 .product-name{font-size:14px;line-height:1.35;white-space:normal;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.product-card-v2 .product-en{font-size:9.5px}
.product-card-desc{min-height:30px;max-height:30px;line-height:1.5;margin:4px 0 0;-webkit-line-clamp:2}
.product-card-meta{margin-top:4px;min-height:18px}
.product-card-bottom{margin-top:auto;padding-top:6px}
.product-price-main{font-size:12px}
.inline-size-add{margin-top:auto}
.favorite-btn{align-self:start;margin-top:2px}

/* Waiter: service stays one tap away without occupying content */
.waiter-float{width:52px;min-width:52px;height:52px;min-height:52px;padding:0;border-radius:17px;justify-content:center;gap:0;overflow:visible}
.waiter-float [data-waiter-float-label]{position:absolute;right:58px;white-space:nowrap;background:#d86b1c;color:#fff;padding:8px 11px;border-radius:12px;opacity:0;transform:translateX(6px);pointer-events:none;transition:.16s ease;box-shadow:0 8px 22px rgba(134,63,13,.18)}
.waiter-float:hover [data-waiter-float-label],.waiter-float:focus-visible [data-waiter-float-label]{opacity:1;transform:none}
.waiter-float b{position:absolute;top:-5px;left:-5px;padding:3px 6px;font-size:8px;border:2px solid #fffaf2}
.waiter-float-icon{font-size:20px}
body.cart-action-visible .waiter-float:not(.on-splash),body.current-order-visible.cart-action-visible .waiter-float:not(.on-splash){bottom:calc(var(--nav-h,80px) + 84px + env(safe-area-inset-bottom))}

/* Cart: denser items + clear checkout action */
.cart-list{gap:8px}
.cart-item{grid-template-columns:60px minmax(0,1fr) auto;padding:8px;border-radius:16px;gap:9px}
.cart-item img{width:60px;height:60px;border-radius:12px}
.cart-item h3{font-size:13px;line-height:1.3}
.cart-item .meta{font-size:9px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:210px}
.cart-edit-link{font-size:9px!important;margin-top:3px!important}
.cart-item .mini-qty{margin-top:5px}
.cart-item .mini-price{font-size:12px}
.summary{background:linear-gradient(180deg,rgba(251,247,239,.4),rgba(251,247,239,.98) 28%);padding-bottom:6px}
.summary [data-action="checkout-order"]{position:sticky;bottom:calc(var(--nav-h,80px) + 10px + env(safe-area-inset-bottom));z-index:32;box-shadow:0 12px 30px rgba(18,54,38,.2)}

/* More: settings list rather than stacked promo cards */
.menu-list{gap:0;background:rgba(255,250,243,.62);border:1px solid rgba(18,54,38,.08);border-radius:20px;overflow:hidden}
.menu-row{border:0;border-radius:0;background:transparent;padding:11px 13px;min-height:58px;box-shadow:none}
.menu-row+.menu-row{border-top:1px solid rgba(18,54,38,.075)}
.menu-row .row-icon{width:34px;height:34px;border-radius:11px}
.menu-row strong{font-size:12.5px}.menu-row small{font-size:9px;margin-top:1px}
.more-hero{min-height:180px;margin-bottom:14px;border-radius:0 0 26px 26px}

/* Subtle, consistent motion */
.product-card-v2,.cart-item,.menu-row,.quick-add-btn,.current-order-bar,.waiter-float{transition:transform var(--ui121-fast) var(--ui121-ease),box-shadow var(--ui121-fast) var(--ui121-ease),opacity var(--ui121-fast) ease}
.quick-add-btn:active,.menu-row:active,.product-card-v2:active{transform:scale(.985)}

/* Accessibility and touch */
:where(button,a,input,select,textarea):focus-visible{outline:3px solid rgba(216,107,28,.38)!important;outline-offset:2px!important}
:where(button,.nav-btn,.icon-btn,.quick-add-btn,.chip,.segment,.flavor,.contact-btn){min-height:44px}

@media(max-width:520px){
  .menu-content-v2{padding-top:5px}
  .menu-search-command{min-height:58px;border-radius:17px;margin-bottom:8px}
  .menu-nav-v2{margin-bottom:8px;padding-top:6px;padding-bottom:6px}
  .smart-filter-rail{padding-bottom:5px;margin-bottom:4px}
  .menu-v2-head{margin-top:4px;margin-bottom:10px}
  .menu-v2-head h2{font-size:24px}
  .waiter-float{right:max(10px,calc((100vw - 520px)/2 + 10px))}
}

@media(max-width:380px){
  .product-card-v2{grid-template-columns:86px minmax(0,1fr) 30px;padding:8px;min-height:116px}
  .product-image-v2{width:86px;height:96px}
  .product-card-v2 .product-main{min-height:96px}
  .product-card-meta{display:none}
  .product-card-desc{min-height:27px;max-height:27px}
}

@media(prefers-reduced-motion:reduce){
  .menu-v2 .topbar,.menu-search-command,.menu-nav-v2,.smart-filter-rail,.product-card-v2,.cart-item,.menu-row,.quick-add-btn,.current-order-bar,.waiter-float{transition:none!important}
}
