/* One-time promotional popup shared by every customer UI version. */
body.public-menu.promo-popup-open{overflow:hidden}
body.public-menu .promo-popup[hidden]{display:none!important}
body.public-menu .promo-popup{
  position:fixed;inset:0;z-index:1200;display:grid;place-items:center;
  padding:calc(16px + env(safe-area-inset-top,0px)) 14px calc(16px + env(safe-area-inset-bottom,0px));
  opacity:0;visibility:hidden;transition:opacity .24s ease,visibility .24s ease
}
body.public-menu .promo-popup.is-visible{opacity:1;visibility:visible}
body.public-menu .promo-popup-backdrop{
  position:absolute;inset:0;background:rgba(12,14,18,.66);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)
}
body.public-menu .promo-popup-card{
  position:relative;z-index:1;width:min(340px,calc(100vw - 28px));
  height:min(460px,68dvh);min-height:360px;overflow:hidden;
  border:1px solid rgba(255,255,255,.18);border-radius:20px;
  background:var(--app-surface,#fff);box-shadow:0 24px 72px rgba(0,0,0,.34);
  transform:translateY(18px) scale(.97);transition:transform .28s cubic-bezier(.2,.8,.2,1)
}
body.public-menu .promo-popup.is-visible .promo-popup-card{transform:translateY(0) scale(1)}
body.public-menu .promo-popup-close{
  position:absolute;z-index:4;top:12px;inset-inline-end:12px;width:44px;height:44px;min-width:44px;min-height:44px;
  display:grid;place-items:center;border:1px solid rgba(255,255,255,.28);border-radius:50%;
  background:rgba(12,14,18,.66);color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.22);
  backdrop-filter:blur(10px);cursor:pointer;font-size:17px
}
body.public-menu .promo-popup-close:focus-visible{outline:3px solid color-mix(in srgb,var(--app-accent,#e6a817) 55%,transparent);outline-offset:3px}
html[data-customer-ui] body.public-menu .sheet-close,
html[data-customer-ui] body.public-menu .cart-sheet-close{
  width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important
}
body.public-menu .promo-popup-banner{
  position:absolute;inset:0;isolation:isolate;display:flex;align-items:flex-end;
  width:100%;height:100%;padding:28px 24px;color:var(--promo-fg,#fff);
  background:linear-gradient(160deg,var(--promo-bg,#e6a817),color-mix(in srgb,var(--promo-bg,#e6a817) 62%,#111));
  background-size:cover;background-position:center;text-decoration:none;overflow:hidden
}
body.public-menu .promo-popup-banner.has-img{background-image:var(--promo-img)}
body.public-menu .promo-popup-banner.has-img{color:#fff}
body.public-menu .promo-popup-banner.has-img::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(0,0,0,.08) 18%,rgba(0,0,0,calc(var(--promo-o,.45) * .55)) 50%,rgba(0,0,0,.88) 100%)
}
body.public-menu .promo-popup-banner[data-style=soft]{
  color:var(--app-text,#171717);
  background:linear-gradient(160deg,color-mix(in srgb,var(--promo-bg) 22%,var(--app-surface,#fff)),var(--app-surface,#fff))
}
body.public-menu .promo-popup-banner[data-style=outline]{
  color:var(--app-text,#171717);background:var(--app-surface,#fff);
  box-shadow:inset 0 0 0 3px color-mix(in srgb,var(--promo-bg) 48%,transparent)
}
body.public-menu .promo-popup-banner.has-img:is([data-style=soft],[data-style=outline]){
  color:#fff;background-image:var(--promo-img)!important;background-size:cover;background-position:center
}
body.public-menu .promo-popup-banner.has-img:is([data-style=soft],[data-style=outline])::before{
  background:linear-gradient(180deg,rgba(0,0,0,.06) 15%,rgba(0,0,0,.35) 52%,rgba(0,0,0,.9) 100%)
}
body.public-menu .promo-popup-banner.has-img:is([data-style=soft],[data-style=outline]) .promo-popup-action{background:#fff;color:#171717}
body.public-menu .promo-popup-content{display:grid;gap:12px;width:100%}
body.public-menu .promo-popup-icon{
  width:48px;height:48px;display:grid;place-items:center;border-radius:15px;
  background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.22);font-size:22px
}
body.public-menu .promo-popup-text{font-size:clamp(1.35rem,5vw,1.8rem);font-weight:950;line-height:1.35;text-wrap:balance}
body.public-menu .promo-popup-action{
  display:flex;align-items:center;justify-content:center;min-height:48px;width:100%;margin-top:4px;
  padding:10px 16px;border-radius:14px;background:#fff;color:#171717;font-size:14px;font-weight:950
}
body.public-menu .promo-popup-banner[data-style=soft] .promo-popup-action,
body.public-menu .promo-popup-banner[data-style=outline] .promo-popup-action{
  background:var(--promo-bg);color:var(--promo-fg,#171717)
}
@media(max-width:480px){
  body.public-menu .promo-popup-card{width:min(326px,calc(100vw - 24px));height:min(440px,66dvh);min-height:340px;border-radius:20px}
  body.public-menu .promo-popup-banner{padding:24px 20px}
}
@media(max-width:380px){
  body.public-menu .promo-popup-card{min-height:330px;height:min(450px,68dvh)}
}
@media(max-width:720px){
  body.public-menu .promo-popup-banner.has-img{background-image:var(--promo-img-mobile,var(--promo-img))}
}
@media(prefers-reduced-motion:reduce){
  body.public-menu .promo-popup,body.public-menu .promo-popup-card{transition:none}
}
