/* Zawqio Menu Experience V4
   Premium motion and interaction layer for the three launch themes.
   Design-only: no customer/menu/order data is changed. */

:root{
  --zq-motion-soft:cubic-bezier(.22,.8,.22,1);
  --zq-motion-impact:cubic-bezier(.18,.9,.22,1.08);
  --zq-motion-fast:cubic-bezier(.2,.72,.2,1);
  --zq-motion-duration:520ms;
  --zq-focus-ring:0 0 0 4px color-mix(in srgb,var(--brand) 22%,transparent);
}

body.zq-launch-app-active{scroll-padding-top:104px}
body.zq-launch-app-active.menu-locked{overscroll-behavior:none}
body.zq-launch-app-active a,body.zq-launch-app-active button{-webkit-tap-highlight-color:transparent}

/* Page-to-page transition for branch/language changes */
.zq-page-transition{position:fixed;z-index:9999;inset:0;display:grid;place-content:center;gap:14px;visibility:hidden;opacity:0;background:color-mix(in srgb,var(--brand,#102a43) 92%,#071017);color:#fff;pointer-events:none;transition:opacity .24s ease,visibility .24s ease}
.zq-page-transition span{width:42px;height:42px;margin:auto;border:3px solid rgba(255,255,255,.22);border-top-color:#fff;border-radius:50%;animation:zq-spin .8s linear infinite}
.zq-page-transition b{font-size:12px;letter-spacing:.04em}
body.zq-page-leaving .zq-page-transition{visibility:visible;opacity:1;pointer-events:auto}
body.zq-page-leaving [data-theme-root]{transform:scale(.992);filter:blur(2px);opacity:.75;transition:transform .24s ease,filter .24s ease,opacity .24s ease}
@keyframes zq-spin{to{transform:rotate(1turn)}}

/* Shared hero actions */
.zq-theme-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:16px}
.zq-theme-cta{position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:43px;padding:10px 16px;overflow:hidden;border:1px solid transparent;text-decoration:none;font-size:12px;font-weight:850;line-height:1;transition:transform .22s var(--zq-motion-fast),box-shadow .22s ease,background .22s ease,border-color .22s ease,color .22s ease}
.zq-theme-cta:before{content:"";position:absolute;z-index:-1;inset:0;transform:translateX(-105%);background:linear-gradient(110deg,transparent,rgba(255,255,255,.22),transparent);transition:transform .55s ease}
[dir=rtl] .zq-theme-cta:before{transform:translateX(105%)}
.zq-theme-cta:hover:before,.zq-theme-cta:focus-visible:before{transform:translateX(105%)}
[dir=rtl] .zq-theme-cta:hover:before,[dir=rtl] .zq-theme-cta:focus-visible:before{transform:translateX(-105%)}
.zq-theme-cta:hover{transform:translateY(-2px)}
.zq-theme-cta:active,.zq-theme-cta.is-pressed{transform:translateY(0) scale(.975)}
.zq-theme-cta:focus-visible{outline:0;box-shadow:var(--zq-focus-ring)}
.zq-theme-cta i{font-style:normal;transition:transform .24s ease}
.zq-theme-cta:hover i{transform:translate(-2px,2px)}

/* Interaction feedback */
.zq-menu-app .dish-card,.zq-menu-app .cat-chip,.zq-menu-app .zq-app-icon,.zq-menu-app .zq-app-cart,.zq-menu-app .zq-app-bottom-nav a,.zq-menu-app .zq-app-bottom-nav button,.zq-menu-app .zq-app-branch-menu a{transform:translateZ(0);transition:transform .2s var(--zq-motion-fast),box-shadow .2s ease,border-color .2s ease,background-color .2s ease,color .2s ease,opacity .2s ease}
.zq-menu-app .dish-card.is-pressed,.zq-menu-app button.is-pressed,.zq-menu-app a.is-pressed{transform:scale(.975)!important}
.zq-menu-app .dish-card.is-opening{z-index:2;box-shadow:0 22px 60px rgba(15,23,42,.2)}
.zq-menu-app .dish-card:focus-visible,.zq-menu-app a:focus-visible,.zq-menu-app button:focus-visible{outline:0;box-shadow:var(--zq-focus-ring)}
.zq-menu-app .zq-menu-media img{opacity:0;transform:scale(1.025);transition:opacity .38s ease,transform .55s var(--zq-motion-soft)}
.zq-menu-app .zq-menu-media img.is-loaded,.zq-menu-app .zq-app-logo img.is-loaded,.zq-menu-app .zq-cafe-identity-media img.is-loaded,.zq-menu-app .zq-burger-promo>img.is-loaded{opacity:1;transform:scale(1)}
.zq-menu-app .dish-card:hover .zq-menu-media img.is-loaded{transform:scale(1.045)}

/* Scroll arrival and section reveals */
.zq-motion-ready .zq-reveal{opacity:0;transform:translate3d(0,20px,0);filter:blur(4px);transition:opacity var(--zq-motion-duration) var(--zq-motion-soft),transform var(--zq-motion-duration) var(--zq-motion-soft),filter var(--zq-motion-duration) ease;transition-delay:var(--zq-reveal-delay,0ms)}
.zq-motion-ready .zq-reveal.is-visible{opacity:1;transform:none;filter:none}
.zq-section-arrival{animation:zq-section-arrival .75s var(--zq-motion-soft)}
@keyframes zq-section-arrival{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--brand) 20%,transparent)}45%{box-shadow:0 0 0 8px color-mix(in srgb,var(--brand) 7%,transparent)}100%{box-shadow:0 0 0 0 transparent}}

/* Bottom navigation states */
.zq-app-bottom-nav a.is-active{background:color-mix(in srgb,var(--brand) 10%,transparent);color:var(--brand)}
.zq-burger-bottom-nav a.is-active{background:rgba(241,83,40,.14);color:#ff724a}
.zq-market-bottom-nav a.is-active{background:#e8f4ec;color:#176b4c}
.zq-app-bottom-nav a.is-active span{transform:translateY(-1px)}

/* Search states and empty result */
.zq-app-search{transition:border-color .22s ease,box-shadow .22s ease,background-color .22s ease,transform .22s ease}
.zq-app-search:focus-within{border-color:color-mix(in srgb,var(--brand) 55%,transparent);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 10%,transparent),0 14px 34px rgba(15,23,42,.08);transform:translateY(-1px)}
.zq-search-empty{display:none;align-items:center;justify-content:space-between;gap:14px;margin:14px 0 0;padding:14px 16px;border:1px dashed color-mix(in srgb,var(--brand) 28%,transparent);border-radius:16px;background:color-mix(in srgb,var(--brand) 4%,#fff);color:#667085;font-size:12px}
.zq-search-empty.is-visible{display:flex;animation:zq-empty-in .25s ease}
.zq-search-empty button{border:0;border-radius:10px;padding:8px 11px;background:var(--brand);color:#fff;font:inherit;font-size:11px;font-weight:800}
@keyframes zq-empty-in{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}

/* Layer transitions: product, cart and checkout */
#item-modal{display:flex;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .25s ease,visibility .25s ease;backdrop-filter:blur(0)}
#item-modal.open{visibility:visible;opacity:1;pointer-events:auto;backdrop-filter:blur(8px)}
#item-modal .modal-sheet{display:block;transform:translateY(36px) scale(.985);opacity:.8;transition:transform .42s var(--zq-motion-soft),opacity .3s ease}
#item-modal.open .modal-sheet{transform:none;opacity:1}
.cart-drawer .cart-panel{transition-duration:.38s;transition-timing-function:var(--zq-motion-soft)}
.checkout-modal .checkout-card{transform:translateY(24px) scale(.98);opacity:.6;transition:transform .32s var(--zq-motion-soft),opacity .25s ease}
.checkout-modal.open .checkout-card{transform:none;opacity:1}
body[data-motion-profile="editorial"] #item-modal .modal-sheet{width:min(720px,100%);border-radius:32px 32px 0 0}
body[data-motion-profile="impact"] #item-modal .modal-sheet{width:min(760px,100%);border-radius:18px 18px 0 0;background:#17181b;color:#fff}
body[data-motion-profile="impact"] #item-modal .modal-body>p,body[data-motion-profile="impact"] #item-modal .option-row{color:#b6bac2}
body[data-motion-profile="impact"] #item-modal .option-row,body[data-motion-profile="impact"] #item-modal .qty-control{border-color:#34363d}
body[data-motion-profile="impact"] #item-modal .qty-control button,body[data-motion-profile="impact"] #item-modal .modal-order-row{background:#17181b;color:#fff}
body[data-motion-profile="impact"] #item-modal .add-to-cart{background:#f15328}
body[data-motion-profile="catalog"] #item-modal .modal-sheet{width:min(620px,100%);border-radius:22px 22px 0 0}

/* Editorial Showcase / Cafe Journal */
.zq-cafe-app .zq-theme-cta{border-radius:999px}
.zq-cafe-app .zq-theme-cta--primary{background:#263c34;color:#fff;box-shadow:0 12px 28px rgba(38,60,52,.18)}
.zq-cafe-app .zq-theme-cta--secondary{border-color:#d7cbb8;background:rgba(255,253,248,.76);color:#4f5a54}
.zq-cafe-app .zq-cafe-identity-media{position:relative}
.zq-cafe-app .zq-cafe-identity-media:after{content:"";position:absolute;inset:8px;border:1px solid rgba(255,255,255,.55);border-radius:18px;pointer-events:none}
.zq-cafe-app .dish-card:hover{transform:translateY(-4px);box-shadow:0 18px 42px rgba(72,55,35,.12)}
.zq-cafe-app .cat-chip.active{box-shadow:0 8px 20px rgba(38,60,52,.16)}
body[data-motion-profile="editorial"] .zq-motion-ready .zq-reveal{transform:translate3d(0,24px,0);filter:blur(5px)}
body[data-motion-profile="editorial"] .zq-motion-ready .zq-reveal.is-visible{transform:none;filter:none}

/* Bold Offers / Burger Impact — visually energetic but industry-neutral */
.zq-burger-app .zq-theme-actions--impact{margin-top:18px}
.zq-burger-app .zq-theme-cta{border-radius:9px;text-transform:uppercase;letter-spacing:.03em}
.zq-burger-app .zq-theme-cta--primary{background:#f15328;color:#fff;box-shadow:7px 7px 0 rgba(255,255,255,.12)}
.zq-burger-app .zq-theme-cta--primary:hover{box-shadow:4px 4px 0 rgba(255,255,255,.18)}
.zq-burger-app .zq-theme-cta--secondary{border-color:#4a4b51;background:rgba(17,18,20,.58);color:#fff}
.zq-burger-app .dish-card:hover{transform:translateY(-3px) rotate(-.2deg);border-color:#45464c;box-shadow:0 20px 44px rgba(0,0,0,.28)}
.zq-burger-app .zq-inline-detail-button:hover{background:#ff6b3f!important}
body[data-motion-profile="impact"]{--zq-motion-duration:390ms}
body[data-motion-profile="impact"] .zq-motion-ready .zq-reveal{transform:translate3d(18px,8px,0) scale(.985);filter:none;clip-path:inset(0 8% 0 0)}
[dir=rtl] body[data-motion-profile="impact"] .zq-motion-ready .zq-reveal{transform:translate3d(-18px,8px,0) scale(.985);clip-path:inset(0 0 0 8%)}
body[data-motion-profile="impact"] .zq-motion-ready .zq-reveal.is-visible{transform:none;clip-path:inset(0)}

/* Smart Catalog / Market Catalog — compact, fast and search-first */
.zq-market-search kbd{display:inline-flex;align-items:center;justify-content:center;padding:4px 7px;border:1px solid #d6e1da;border-bottom-width:2px;border-radius:7px;background:#fff;color:#6c7f74;font:inherit;font-size:8px;font-weight:800;white-space:nowrap}
.zq-market-quick-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:8px}
.zq-market-quick-actions a{display:flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:7px 9px;border:1px solid #dfe7e1;border-radius:10px;background:#fff;color:#315c49;text-align:center;font-size:10px;font-weight:850;transition:transform .18s var(--zq-motion-fast),border-color .18s ease,background .18s ease}
.zq-market-quick-actions a:hover{transform:translateY(-2px);border-color:#9bc5ae;background:#f3faf6}
.zq-market-quick-actions span{display:grid;place-items:center;width:22px;height:22px;border-radius:7px;background:#e6f3eb;color:#176b4c;font-size:11px}
.zq-market-app .dish-card:hover{transform:translateY(-2px);border-color:#b8d2c2;box-shadow:0 12px 28px rgba(23,70,53,.1)}
body[data-motion-profile="catalog"]{--zq-motion-duration:300ms}
body[data-motion-profile="catalog"] .zq-motion-ready .zq-reveal{transform:translate3d(0,10px,0);filter:none}
body[data-motion-profile="catalog"] .zq-motion-ready .zq-reveal.is-visible{transform:none}

/* Desktop polish */
@media(min-width:780px){
  .zq-menu-app .dish-card{will-change:transform}
  .zq-theme-actions{margin-top:20px}
  #item-modal{align-items:center;padding:28px}
  #item-modal .modal-sheet{max-height:min(880px,92vh);border-radius:28px}
  body[data-motion-profile="impact"] #item-modal .modal-sheet{border-radius:18px}
  body[data-motion-profile="catalog"] #item-modal .modal-sheet{border-radius:22px}
}

@media(max-width:779px){
  .zq-theme-actions{gap:7px;margin-top:12px}
  .zq-theme-cta{min-height:40px;padding:9px 13px;font-size:11px}
  .zq-theme-actions--cafe .zq-theme-cta--primary{flex:1}
  .zq-burger-promo-copy .zq-theme-actions{width:100%}
  .zq-burger-promo-copy .zq-theme-cta{flex:1}
  .zq-market-search kbd{display:none}
  .zq-market-quick-actions{grid-template-columns:repeat(3,minmax(0,1fr))}
  .zq-market-quick-actions a{gap:4px;padding:6px 4px;font-size:9px}
  .zq-search-empty{margin-inline:0}
}

@media(max-width:430px){
  .zq-theme-actions--cafe .zq-theme-cta--secondary{display:none}
  .zq-burger-promo-copy .zq-theme-cta--secondary{background:rgba(17,18,20,.72)}
  .zq-market-quick-actions a span{display:none}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .zq-motion-ready .zq-reveal{opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important}
  .zq-page-transition span{animation:none}
}
