/* ═══ SHAWARMA STOP — dynamics layer: intro, embers, chips, stats ═══ */

body.no-scroll { overflow: hidden; }

/* ── CINEMATIC INTRO ── */
.intro {
  position: fixed; inset: 0; z-index: 300;
  background: radial-gradient(90% 90% at 50% 30%, #0F3527 0%, var(--emerald-black) 70%);
  display: grid; place-items: center;
  transition: transform 1.05s cubic-bezier(.76, 0, .18, 1);
  will-change: transform;
}
.intro--out { transform: translateY(-101%); }
.intro__center { text-align: center; }
.intro__logo {
  width: 150px; margin: 0 auto 1.6rem;
  opacity: 0; transform: scale(.5); filter: blur(16px);
  animation: introLogo 1.1s cubic-bezier(.32,.72,0,1) .15s forwards,
             introGlow 2.4s ease-in-out .9s infinite alternate;
}
@keyframes introLogo { to { opacity: 1; transform: scale(1); filter: blur(0); } }
@keyframes introGlow {
  from { filter: drop-shadow(0 0 18px rgba(216,168,87,.25)); }
  to   { filter: drop-shadow(0 0 44px rgba(216,168,87,.55)); }
}
.intro__word {
  color: var(--white); font-family: 'Fraunces', serif; font-size: clamp(1.6rem, 4.5vw, 2.6rem);
  letter-spacing: .55em; text-indent: .55em; opacity: 0;
  animation: introWord 1s cubic-bezier(.32,.72,0,1) .55s forwards;
}
@keyframes introWord { to { letter-spacing: .18em; text-indent: .18em; opacity: 1; } }
.intro__tag {
  color: var(--gold-soft); font-family: 'Fraunces', serif; font-style: italic;
  font-size: 1rem; margin-top: .7rem; opacity: 0;
  animation: introTag .8s var(--ease) 1.15s forwards;
}
@keyframes introTag { to { opacity: .9; } }

/* ── GATE: staggered entrance + cinematic exit ── */
.gate { transition: opacity .9s var(--ease), visibility .9s, transform .9s var(--ease), filter .9s var(--ease); }
.gate.gate--hidden { opacity: 0; visibility: hidden; pointer-events: none; transform: scale(1.12); filter: blur(18px); }
.gate__inner > * {
  opacity: 0; transform: translateY(28px);
  animation: gateIn .9s cubic-bezier(.32,.72,0,1) forwards;
}
.gate__inner > *:nth-child(1) { animation-delay: .12s; }
.gate__inner > *:nth-child(2) { animation-delay: .20s; }
.gate__inner > *:nth-child(3) { animation-delay: .28s; }
.gate__inner > *:nth-child(4) { animation-delay: .36s; }
.gate__inner > *:nth-child(5) { animation-delay: .44s; }
.gate__inner > *:nth-child(6) { animation-delay: .52s; }
.gate__inner > *:nth-child(7) { animation-delay: .60s; }
@keyframes gateIn { to { opacity: 1; transform: none; } }
.storecard__badge {
  display: inline-block; margin-bottom: .5rem;
  background: linear-gradient(135deg, var(--gold-soft), var(--gold));
  color: var(--emerald-black); font-size: .68rem; font-weight: 700;
  letter-spacing: .08em; border-radius: 999px; padding: .25rem .7rem;
}

/* ── HERO: slow zoom + embers ── */
.hero__media video { animation: heroZoom 26s ease-in-out infinite alternate; }
@keyframes heroZoom { from { transform: scale(1.025); } to { transform: scale(1.08); } }
.ember {
  position: absolute; bottom: -12px; z-index: 1; pointer-events: none;
  border-radius: 999px;
  background: radial-gradient(circle, var(--gold-soft) 0%, rgba(216,168,87,.5) 55%, transparent 75%);
  opacity: 0; filter: blur(.5px);
  animation-name: emberUp; animation-timing-function: linear; animation-iteration-count: infinite;
}
@keyframes emberUp {
  0%   { transform: translateY(0) translateX(0) scale(1); opacity: 0; }
  8%   { opacity: .9; }
  50%  { transform: translateY(-46vh) translateX(18px) scale(.75); opacity: .55; }
  100% { transform: translateY(-92vh) translateX(-14px) scale(.35); opacity: 0; }
}

/* ── REVIEW CHIPS — two-way marquee ── */
.chips { overflow: hidden; margin: 0 0 1rem; position: relative; }
.chips + .chips { margin-bottom: 2.6rem; }
.chips__track {
  display: flex; gap: .9rem; width: max-content; padding: .2rem 0;
  animation: chipsMove 44s linear infinite;
}
.chips--rev .chips__track { animation-direction: reverse; animation-duration: 52s; }
.chips:hover .chips__track { animation-play-state: paused; }
.chip {
  white-space: nowrap; border-radius: 999px; padding: .6rem 1.25rem;
  background: rgba(7,26,19,.45); border: 1px solid rgba(216,168,87,.28);
  color: var(--gold-soft); font-size: .86rem; font-weight: 600; letter-spacing: .03em;
  box-shadow: inset 0 1px 1px rgba(255,255,255,.06);
  transform: rotate(-.4deg);
}
.chip:nth-child(even) { transform: rotate(.5deg); background: rgba(216,168,87,.1); color: var(--white); }
@keyframes chipsMove { to { transform: translateX(-50%); } }

/* ── RATING STATS ── */
.love__stats {
  display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap;
  margin: 2.6rem auto 0; padding: 0 1.5rem;
}
.stat {
  background: rgba(7,26,19,.4); border: 1px solid rgba(255,253,248,.12);
  border-radius: 1.4rem; padding: 1.1rem 2rem; min-width: 170px;
  box-shadow: inset 0 1px 1px rgba(255,255,255,.06);
  transition: transform .6s var(--ease), border-color .6s var(--ease);
}
.stat:hover { transform: translateY(-4px); border-color: var(--gold-line); }
.stat__score {
  font-family: 'Fraunces', serif; font-size: 2.4rem; color: var(--white); line-height: 1;
}
.stat__score span { color: var(--gold); font-size: 1.4rem; }
.stat__label { color: var(--gold-soft); font-weight: 700; font-size: .85rem; margin-top: .3rem; letter-spacing: .05em; }
.stat__note { color: rgba(255,253,248,.5); font-size: .74rem; margin-top: .15rem; }
.love__note { color: rgba(255,253,248,.4); font-size: .74rem; margin-top: 1.6rem; padding: 0 1.5rem; }

/* ── MENU LIST photo thumbs ── */
.mi__ph {
  width: 52px; height: 52px; border-radius: 14px; object-fit: cover; flex: none;
  border: 1px solid rgba(216,168,87,.3);
  box-shadow: 0 6px 16px -6px rgba(0,0,0,.5);
  transition: transform .5s var(--ease);
}
.mi:hover .mi__ph { transform: scale(1.5) rotate(-2deg); }
.mi { align-items: center; }

/* ── bento: soften white packshot backgrounds into the palette ── */
.bento__card .core::after {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(180deg, rgba(18,59,44,.22), rgba(18,59,44,.06) 45%, rgba(7,26,19,0) 70%);
  mix-blend-mode: multiply;
}

/* ── LOCATION badge ── */
.loc__badge {
  font-style: normal; background: linear-gradient(135deg, var(--gold-soft), var(--gold));
  color: var(--emerald-black); border-radius: 999px; padding: .2rem .6rem;
  font-size: .66rem; font-weight: 800; letter-spacing: .04em; margin-left: .4rem;
}

/* ── LANGUAGE SWITCHER ── */
.langsw {
  display: flex; gap: 2px; background: rgba(255,253,248,.08);
  border: 1px solid rgba(255,253,248,.14); border-radius: 999px; padding: 3px;
}
.langsw button {
  background: none; border: none; color: rgba(255,253,248,.6);
  font-size: .7rem; font-weight: 700; letter-spacing: .06em;
  border-radius: 999px; padding: .32rem .55rem; cursor: pointer;
  transition: all .4s var(--ease);
}
.langsw button:hover { color: var(--gold-soft); }
.langsw button.active {
  background: linear-gradient(135deg, var(--gold-soft), var(--gold));
  color: var(--emerald-black);
}

/* ── KINETIC INTRO WORDS ── */
.intro__kinetic {
  position: absolute; inset: 0; display: grid; place-items: center;
  pointer-events: none; padding: 0 1rem; text-align: center;
}
.kword {
  position: absolute; font-family: 'Fraunces', serif; font-weight: 700;
  font-size: clamp(3rem, 11vw, 8.5rem); letter-spacing: -.02em; line-height: 1;
  color: var(--cream); opacity: 0; transform: scale(1.45); filter: blur(14px);
  white-space: nowrap;
}
.kword--gold { color: transparent; background: linear-gradient(135deg, var(--gold-soft), var(--gold)); -webkit-background-clip: text; background-clip: text; font-style: italic; }
.kword.on {
  opacity: 1; transform: scale(1); filter: blur(0);
  transition: all .34s cubic-bezier(.22, 1, .36, 1);
}
.kword.off {
  opacity: 0; transform: scale(.82); filter: blur(8px);
  transition: all .22s cubic-bezier(.76, 0, .24, 1);
}
.intro__center { opacity: 0; transform: scale(.94); transition: all .7s cubic-bezier(.22,1,.36,1); }
.intro__center.on { opacity: 1; transform: none; }
.intro__center.on .intro__logo { animation-play-state: running; }
.intro__skip {
  position: absolute; bottom: 1.6rem; left: 50%; transform: translateX(-50%);
  color: rgba(255,253,248,.35); font-size: .72rem; letter-spacing: .2em; text-transform: uppercase;
}
.intro { cursor: pointer; }

/* ── INTRO REVIEW CARDS ── */
.rcard {
  position: absolute; left: 50%; top: 50%;
  width: min(74vw, 320px);
  background: var(--white); border-radius: 1.1rem;
  padding: 1rem 1.15rem; text-align: left;
  box-shadow: 0 30px 70px -18px rgba(0,0,0,.55), 0 2px 6px rgba(0,0,0,.25);
  opacity: 0; filter: blur(10px);
  transform: translate(-50%, 40vh) scale(.55) rotate(var(--rot, 0deg));
}
.rcard.on {
  opacity: 1; filter: blur(0);
  transform: translate(calc(-50% + var(--dx, 0px)), calc(-50% + var(--dy, 0px))) scale(1) rotate(var(--rot, 0deg));
  transition: all .55s cubic-bezier(.22, 1, .36, 1);
}
.rcard.dim {
  opacity: .18; filter: blur(3px);
  transform: translate(calc(-50% + var(--dx, 0px)), calc(-50% + var(--dy, 0px))) scale(.94) rotate(var(--rot, 0deg));
  transition: all .5s cubic-bezier(.32,.72,0,1);
}
.rcard__head { display: flex; align-items: center; gap: .5rem; margin-bottom: .4rem; }
.rcard__dot { width: 10px; height: 10px; border-radius: 999px; flex: none; }
.rcard__platform { font-size: .72rem; font-weight: 700; color: #5f6368; letter-spacing: .04em; }
.rcard__stars { color: #FBBC04; font-size: .9rem; letter-spacing: .12em; margin-bottom: .35rem; }
.rcard__q { color: #202124; font-size: .95rem; font-weight: 500; line-height: 1.4; }
.rcard__q::before { content: '“'; } .rcard__q::after { content: '”'; }

/* ── TYPE FRACTURE: JUICY / CRISP ── */
.fracture {
  background: var(--emerald-black); overflow: hidden; position: relative;
  padding: clamp(5rem, 10vw, 8rem) 0 clamp(4rem, 8vw, 6rem);
  text-align: center;
}
.fracture h2 {
  font-family: 'Fraunces', serif; font-weight: 800; line-height: .92;
  font-size: clamp(3.4rem, 13vw, 11rem); letter-spacing: -.03em;
  white-space: nowrap; will-change: transform;
}
.fracture__juicy {
  font-style: italic; color: transparent;
  background-image: linear-gradient(rgba(216,168,87,.12), rgba(216,168,87,.12)), url('../assets/img-wrap.jpg');
  background-size: cover; background-position: center 60%;
  -webkit-background-clip: text; background-clip: text;
}
.fracture__crisp {
  color: transparent; -webkit-text-stroke: 2px rgba(251,246,236,.85);
}
.fracture__note {
  color: rgba(255,253,248,.5); font-size: .9rem; margin-top: 2.2rem; padding: 0 1.5rem;
}

/* ── NIGHT SWITCH on locations ── */
.locations { transition: background 1.2s cubic-bezier(.22,1,.36,1); }
.locations--night { background: radial-gradient(120% 100% at 50% 0%, #0F3527 0%, var(--emerald-black) 75%); }
.locations--night h2 { color: var(--cream); transition: color 1.2s cubic-bezier(.22,1,.36,1); }
.locations--night .loc__in { box-shadow: inset 0 1px 1px rgba(255,255,255,.9), 0 30px 80px -30px rgba(216,168,87,.25); }
.locations--night .loc--active { box-shadow: 0 0 60px -18px rgba(216,168,87,.45); border-radius: var(--r-xl); }

/* ── AI TASTE CONCIERGE ── */
.aiconcierge {
  position: relative; overflow: hidden;
  display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
  align-items: center; gap: clamp(2rem, 7vw, 7rem);
  padding: clamp(5rem, 10vw, 9rem) clamp(1.2rem, 7vw, 7rem);
  background:
    radial-gradient(circle at 78% 45%, rgba(216,168,87,.18), transparent 28%),
    linear-gradient(135deg, #071a13, #123b2c 68%, #0a251b);
  border-block: 1px solid rgba(216,168,87,.28);
}
.aiconcierge__glow {
  position: absolute; width: 36vw; height: 36vw; right: 4vw; top: 50%;
  transform: translateY(-50%); border-radius: 50%;
  background: radial-gradient(circle, rgba(216,168,87,.2), transparent 68%);
  filter: blur(20px); pointer-events: none;
}
.aiconcierge__copy { position: relative; z-index: 2; max-width: 720px; }
.aiconcierge__copy h2 {
  margin: 1.3rem 0 1.4rem; color: var(--white);
  font: 520 clamp(2.5rem, 5.4vw, 5.4rem)/.94 'Fraunces', serif;
  letter-spacing: -.05em;
}
.aiconcierge__copy h2 em { color: var(--gold-soft); font-weight: 400; }
.aiconcierge__copy > p:not(.eyebrow) {
  max-width: 630px; margin-bottom: 1.8rem;
  color: rgba(255,253,248,.68); font-size: clamp(.95rem, 1.3vw, 1.12rem); line-height: 1.75;
}
.aiconcierge__brain { position: relative; z-index: 2; display: grid; justify-items: center; }
.aiconcierge__orb {
  position: relative; width: min(390px, 42vw); aspect-ratio: 1;
  display: grid; place-items: center; border-radius: 50%;
  background:
    radial-gradient(circle at 38% 32%, rgba(255,255,255,.16), transparent 24%),
    radial-gradient(circle, rgba(216,168,87,.2), rgba(7,26,19,.62) 63%);
  border: 1px solid rgba(216,168,87,.3);
  box-shadow: inset 0 0 60px rgba(216,168,87,.11), 0 30px 100px rgba(0,0,0,.35);
}
.aiconcierge__core {
  position: relative; z-index: 3; display: grid; place-items: center;
  width: 112px; height: 112px; border-radius: 50%;
  background: linear-gradient(135deg, var(--gold-soft), var(--gold));
  color: var(--emerald-black); font: 700 2rem/1 'Fraunces', serif;
  box-shadow: 0 0 55px rgba(216,168,87,.45);
}
.aiconcierge__ring {
  position: absolute; inset: 12%; border: 1px solid rgba(216,168,87,.35);
  border-radius: 50%; animation: aiSpin 16s linear infinite;
}
.aiconcierge__ring::before, .aiconcierge__ring::after {
  content: ""; position: absolute; width: 10px; height: 10px;
  border-radius: 50%; background: var(--gold); box-shadow: 0 0 18px var(--gold);
}
.aiconcierge__ring::before { left: 5%; top: 25%; }
.aiconcierge__ring::after { right: 8%; bottom: 20%; }
.aiconcierge__ring--two { inset: 25%; animation-direction: reverse; animation-duration: 10s; }
@keyframes aiSpin { to { transform: rotate(360deg); } }
.aiconcierge__orb i {
  position: absolute; padding: .48rem .72rem; border-radius: 999px;
  background: rgba(7,26,19,.74); border: 1px solid rgba(216,168,87,.28);
  color: rgba(255,253,248,.74); font: 500 .68rem/1 'Plus Jakarta Sans', sans-serif;
  backdrop-filter: blur(8px);
}
.aiconcierge__orb i:nth-of-type(1) { left: -6%; top: 23%; }
.aiconcierge__orb i:nth-of-type(2) { right: -9%; top: 46%; }
.aiconcierge__orb i:nth-of-type(3) { left: 8%; bottom: 12%; }
.aiconcierge__memory { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; margin-top: 1.2rem; }
.aiconcierge__memory span {
  padding: .48rem .72rem; border: 1px solid rgba(216,168,87,.24); border-radius: 999px;
  color: rgba(255,253,248,.65); background: rgba(255,255,255,.04); font-size: .67rem;
}

/* ── ORDER CHAT WIDGET ── */
.chatfab {
  position: fixed; right: 1.2rem; bottom: 1.2rem; z-index: 96;
  display: flex; align-items: center; gap: .55rem;
  background: var(--emerald); color: var(--gold-soft);
  border: 1px solid rgba(216,168,87,.4); border-radius: 999px;
  padding: .85rem 1.3rem; cursor: pointer; font-weight: 700; font-size: .9rem;
  box-shadow: 0 18px 44px -12px rgba(7,26,19,.6);
  transition: transform .5s var(--ease), box-shadow .5s var(--ease), opacity .4s;
}
.chatfab:hover { transform: translateY(-3px); box-shadow: 0 24px 54px -12px rgba(216,168,87,.4); }
.chatfab--hidden { opacity: 0; pointer-events: none; }
.chatfab__ico { font-size: 1.1rem; }

.chatpanel {
  position: fixed; right: 1.2rem; bottom: 1.2rem; z-index: 110;
  width: min(400px, calc(100vw - 2rem)); height: min(620px, calc(100dvh - 4rem));
  display: flex; flex-direction: column; overflow: hidden;
  background: var(--emerald-black); border: 1px solid rgba(216,168,87,.3);
  border-radius: 1.6rem;
  box-shadow: 0 40px 90px -20px rgba(0,0,0,.65);
  opacity: 0; visibility: hidden; transform: translateY(24px) scale(.96); pointer-events: none;
  transition: opacity .5s cubic-bezier(.22,1,.36,1), transform .5s cubic-bezier(.22,1,.36,1),
    visibility 0s linear .5s;
}
.chatpanel--open {
  opacity: 1; visibility: visible; transform: none; pointer-events: auto;
  transition-delay: 0s;
}
.chatpanel__head {
  display: flex; align-items: center; gap: .7rem;
  padding: .9rem 1.1rem; background: var(--emerald);
  border-bottom: 1px solid rgba(216,168,87,.25);
}
.chatpanel__head img { width: 38px; }
.chatpanel__head b { display: block; color: var(--white); font-size: .95rem; }
.chatpanel__sub { color: rgba(255,253,248,.55); font-size: .74rem; }
.chatpanel__close {
  margin-left: auto; background: rgba(255,253,248,.08); border: none;
  color: rgba(255,253,248,.7); width: 44px; height: 44px; border-radius: 999px;
  cursor: pointer; font-size: .85rem;
}
.chatpanel__close:hover { background: rgba(216,168,87,.2); color: var(--gold-soft); }
.chatpanel__quick {
  display: flex; gap: .42rem; padding: .65rem .75rem;
  overflow-x: auto; scrollbar-width: none; border-bottom: 1px solid rgba(255,253,248,.08);
}
.chatpanel__quick::-webkit-scrollbar { display: none; }
.chatpanel__quick button {
  flex: none; border: 1px solid rgba(216,168,87,.28); border-radius: 999px;
  min-height: 44px;
  background: rgba(216,168,87,.08); color: var(--gold-soft); padding: .6rem .8rem;
  font: 600 .67rem/1 'Plus Jakarta Sans', sans-serif; cursor: pointer;
  transition: background .25s, color .25s;
}
.chatpanel__quick button:hover { background: var(--gold); color: var(--emerald-black); }
.chatpanel__msgs {
  flex: 1; overflow-y: auto; padding: 1rem; display: flex; flex-direction: column; gap: .55rem;
  scrollbar-width: thin;
}
.cmsg {
  max-width: 85%; padding: .65rem .95rem; border-radius: 1.1rem;
  font-size: .92rem; line-height: 1.45; white-space: pre-wrap; word-break: break-word;
  animation: cmsgIn .35s cubic-bezier(.22,1,.36,1);
}
@keyframes cmsgIn { from { opacity: 0; transform: translateY(8px); } }
.cmsg--assistant {
  align-self: flex-start; background: rgba(255,253,248,.08);
  color: var(--cream); border-bottom-left-radius: .3rem;
}
.cmsg--user {
  align-self: flex-end; background: linear-gradient(135deg, var(--gold-soft), var(--gold));
  color: var(--emerald-black); font-weight: 500; border-bottom-right-radius: .3rem;
}
.cmsg--typing { color: rgba(255,253,248,.45); font-style: italic; animation: typingPulse 1.2s ease-in-out infinite; }
@keyframes typingPulse { 50% { opacity: .4; } }
.ccart {
  align-self: stretch; background: rgba(216,168,87,.1);
  border: 1px solid rgba(216,168,87,.35); border-radius: 1.1rem; padding: .9rem 1rem;
  animation: cmsgIn .4s cubic-bezier(.22,1,.36,1);
}
.ccart__title { color: var(--gold-soft); font-weight: 700; font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; margin-bottom: .5rem; }
.ccart__row { display: flex; justify-content: space-between; color: var(--cream); font-size: .88rem; padding: .18rem 0; }
.ccart__total {
  display: flex; justify-content: space-between; color: var(--white); font-size: .95rem;
  border-top: 1px dashed rgba(216,168,87,.35); margin-top: .45rem; padding-top: .5rem;
}
.ccart__cta {
  display: block; text-align: center; margin-top: .7rem;
  background: linear-gradient(135deg, var(--gold-soft), var(--gold));
  color: var(--emerald-black); font-weight: 700; font-size: .9rem;
  border-radius: 999px; padding: .7rem 1rem;
  transition: transform .4s var(--ease);
}
.ccart__cta:hover { transform: translateY(-2px); }
.chatpanel__form {
  display: flex; gap: .5rem; padding: .8rem; border-top: 1px solid rgba(255,253,248,.1);
}
.chatpanel__form input {
  flex: 1; background: rgba(255,253,248,.07); border: 1px solid rgba(255,253,248,.15);
  min-width: 0; min-height: 48px;
  border-radius: 999px; padding: .7rem 1.1rem; color: var(--white); font-size: .92rem; outline: none;
}
.chatpanel__form input:focus { border-color: var(--gold-line); }
.chatpanel__form button {
  width: 48px; min-height: 48px; border-radius: 999px; border: none; cursor: pointer;
  background: linear-gradient(135deg, var(--gold-soft), var(--gold));
  color: var(--emerald-black); font-size: 1rem;
  transition: transform .4s var(--ease);
}
.chatpanel__form button:hover { transform: scale(1.06); }

@media (max-width: 768px) {
  .aiconcierge { grid-template-columns: 1fr; padding-block: 5rem; }
  .aiconcierge__brain { order: -1; }
  .aiconcierge__orb { width: min(300px, 78vw); }
  .aiconcierge__copy { text-align: center; }
  .aiconcierge__copy > p:not(.eyebrow) { margin-inline: auto; }
  .chatfab {
    bottom: calc(4.7rem + env(safe-area-inset-bottom));
    right: max(.9rem, env(safe-area-inset-right));
    min-height: 48px; padding: .75rem 1.05rem;
  }
  .chatpanel {
    right: 0; bottom: 0; width: 100vw; height: 100dvh; border-radius: 0; border: none;
    padding-top: env(safe-area-inset-top);
  }
  .chatpanel__form { padding-bottom: max(.8rem, env(safe-area-inset-bottom)); }
  .chatpanel__form input, .gate__zip input { font-size: 16px; }
}

/* ── REDUCED MOTION ── */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
  .intro { display: none; }
  .grain, .hero__media video { display: none; }
  .reveal, .reveal-scale, .reveal-lines { opacity: 1 !important; transform: none !important; filter: none !important; }
  .hero__title .line span { transform: none !important; }
  .hero__content, .hero__media, .fracture h2 { transform: none !important; }
}

@media (max-width: 768px) {
  .grain { display: none; }
  .hero__media video { animation: none; transform: scale(1.01); }
  .intro { overflow: hidden; }
  .intro__logo { width: 110px; }
  .intro__word {
    max-width: calc(100vw - 2rem); white-space: nowrap;
    font-size: clamp(1.12rem, 5.6vw, 1.55rem);
  }
  .rcard--mobile {
    width: min(88vw, 360px); padding: .9rem 1rem;
    transform: translate(-50%, 52vh) scale(.72) rotate(var(--rot, 0deg));
  }
  .rcard--mobile.on {
    transform: translate(-50%, -50%) scale(1) rotate(var(--rot, 0deg));
  }
  .rcard--mobile.dim {
    opacity: 0; filter: blur(4px);
    transform: translate(-50%, -72vh) scale(.86) rotate(var(--rot, 0deg));
    transition: all .52s cubic-bezier(.76, 0, .24, 1);
  }
  .rcard__q { font-size: .88rem; line-height: 1.35; }
  .stat { min-width: 130px; padding: .9rem 1.3rem; }
  .stat__score { font-size: 1.9rem; }
  .fracture h2 { white-space: normal; }
  /* компактная нав-пилюля на телефоне */
  .nav { padding-top: max(.8rem, env(safe-area-inset-top)); }
  .nav__pill { gap: .55rem; padding: .38rem .45rem; max-width: calc(100vw - 1.4rem); }
  .nav__brand span { display: none; }
  .nav__brand { min-width: 36px; min-height: 36px; justify-content: center; }
  .nav__brand img { width: 26px; }
  .nav__store { min-height: 36px; padding: .38rem .6rem; font-size: .7rem; }
  .langsw button { min-width: 34px; min-height: 34px; padding: .26rem .34rem; font-size: .62rem; }
  .gate { padding-block: max(.75rem, env(safe-area-inset-top)) max(.75rem, env(safe-area-inset-bottom)); }
  .gate__inner { padding: .65rem 0; }
  .gate__logo { width: 74px; margin-bottom: .55rem; }
  .gate__eyebrow { margin-bottom: .5rem; letter-spacing: .2em; }
  .gate__title { font-size: 2rem; margin-bottom: 1rem; }
  .gate__geo { margin-bottom: .7rem; }
  .gate__geo:disabled { opacity: .65; cursor: wait; }
  .gate__zip { margin-bottom: 1rem; }
  .gate__stores { gap: .6rem; }
  .storecard__in { padding: .8rem 1rem; }
  .storecard__name { font-size: 1.08rem; }
  .storecard__addr { font-size: .74rem; margin-bottom: .3rem; }
  .gate__hint { margin-top: .65rem; }
  .fullmenu__tabs { gap: .45rem; margin-bottom: 1.35rem; }
  .fullmenu__tabs button { min-height: 44px; padding: .62rem 1rem; }
  .menu__storenote button { min-height: 44px; padding: 0 .3rem; }
  .footer__col a { min-height: 40px; display: flex; align-items: center; }
}
@media (min-width: 769px) and (max-width: 1024px) {
  .nav__brand, .nav__store, .nav__cta { min-height: 44px; }
  .langsw button { min-width: 36px; min-height: 36px; }
  .fullmenu__tabs button, .menu__storenote button { min-height: 44px; }
  .footer__col a { min-height: 40px; display: flex; align-items: center; }
}

/* ═══════════════════════════════════════════════════════════
   EMBEDDED ORDER EXPERIENCE · Clover / Apple Pay / Google Pay
   ═══════════════════════════════════════════════════════════ */
body.checkout-open, body.chat-open { overflow: hidden; }
.mi__buy {
  width: 44px; height: 44px; border-radius: 999px; flex: none;
  border: 1px solid rgba(216,168,87,.55); background: rgba(216,168,87,.12);
  color: var(--gold-soft); font-size: 1.25rem; line-height: 1; cursor: pointer;
  transition: transform .25s var(--ease), color .25s, background .25s;
}
.mi__buy:hover { transform: scale(1.08) rotate(4deg); color: var(--emerald-black); background: var(--gold); }
.mi__buy:active { transform: scale(.94); }
.mi--unavailable .mi__ph { filter: grayscale(.55); opacity: .55; }
.mi--unavailable .mi__name,
.mi--unavailable .mi__desc { opacity: .62; }
.mi__soldout {
  display: inline-flex; align-items: center; min-height: 28px;
  border: 1px solid rgba(255,253,248,.18); border-radius: 999px;
  padding: .25rem .65rem; color: rgba(255,253,248,.66);
  font-style: normal; font-size: .68rem; letter-spacing: .06em;
  text-transform: uppercase;
}
.order-dock {
  position: fixed; z-index: 92; left: 22px; bottom: 22px;
  display: flex; align-items: center; gap: .72rem;
  background: var(--gold); color: var(--emerald-black);
  border: 0; border-radius: 999px; padding: .65rem 1rem .65rem .55rem;
  font: 600 .82rem/1 'Plus Jakarta Sans', sans-serif; cursor: pointer;
  box-shadow: 0 18px 55px rgba(7,26,19,.34), 0 0 0 1px rgba(255,255,255,.4) inset;
  transform: translateY(140%); opacity: 0; pointer-events: none;
  transition: transform .55s var(--ease), opacity .35s;
}
.order-dock--show { transform: translateY(0); opacity: 1; pointer-events: auto; }
.order-dock__count {
  display: grid; place-items: center; width: 30px; height: 30px;
  border-radius: 999px; background: var(--emerald-black); color: var(--white);
}
.order-dock b { padding-left: .3rem; border-left: 1px solid rgba(7,26,19,.2); }
.order-toast {
  position: fixed; z-index: 130; left: 50%; top: 22px;
  transform: translate(-50%, -150%); opacity: 0;
  background: var(--emerald-black); color: var(--cream);
  border: 1px solid var(--gold-line); border-radius: 999px; padding: .8rem 1.2rem;
  box-shadow: 0 18px 60px rgba(0,0,0,.28);
  font: 600 .82rem/1.2 'Plus Jakarta Sans', sans-serif;
  transition: transform .45s var(--ease), opacity .3s;
}
.order-toast--show { transform: translate(-50%, 0); opacity: 1; }
.checkoutx { position: fixed; inset: 0; z-index: 120; visibility: hidden; pointer-events: none; }
.checkoutx [hidden] { display: none !important; }
.checkoutx--open { visibility: visible; pointer-events: auto; }
.checkoutx__veil {
  position: absolute; inset: 0; background: rgba(3,13,9,.72); backdrop-filter: blur(12px);
  opacity: 0; transition: opacity .45s;
}
.checkoutx--open .checkoutx__veil { opacity: 1; }
.checkoutx__sheet {
  position: absolute; inset: 16px; max-width: 1320px; margin: auto;
  display: grid; grid-template-columns: minmax(300px, .88fr) minmax(500px, 1.12fr);
  border: 1px solid rgba(216,168,87,.38); border-radius: 1.7rem; overflow: hidden;
  background: var(--cream); box-shadow: 0 35px 100px rgba(0,0,0,.5);
  transform: translateY(42px) scale(.975); opacity: 0;
  transition: transform .6s var(--ease), opacity .4s;
}
.checkoutx--open .checkoutx__sheet { transform: translateY(0) scale(1); opacity: 1; }
.checkoutx__close {
  position: absolute; z-index: 4; right: 20px; top: 20px;
  width: 42px; height: 42px; border-radius: 999px; cursor: pointer;
  border: 1px solid rgba(7,26,19,.15); background: rgba(255,253,248,.78);
  color: var(--emerald-black); backdrop-filter: blur(10px);
}
.checkoutx__visual { position: relative; min-height: 100%; overflow: hidden; background: var(--emerald-black); }
.checkoutx__visual > img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.88) contrast(1.06); }
.checkoutx__visual::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(7,26,19,.06), rgba(7,26,19,.88));
}
.checkoutx__visualcopy { position: absolute; z-index: 2; inset: auto 2.2rem 2.2rem; color: var(--cream); }
.checkoutx__visualcopy > img { width: 74px; height: 74px; object-fit: contain; margin-bottom: 1.1rem; }
.checkoutx__visualcopy > p { color: var(--gold-soft); letter-spacing: .18em; font-size: .68rem; font-weight: 700; }
.checkoutx__visualcopy h2 {
  margin: .65rem 0 1.4rem; font: 500 clamp(2.5rem, 5vw, 5rem)/.9 'Fraunces', serif;
  letter-spacing: -.045em;
}
.checkoutx__visualcopy h2 em { color: var(--gold-soft); font-weight: 400; }
.checkoutx__trust { display: flex; flex-wrap: wrap; gap: .55rem; }
.checkoutx__trust span {
  border: 1px solid rgba(255,255,255,.25); border-radius: 999px;
  background: rgba(7,26,19,.34); padding: .55rem .85rem; font-size: .78rem; font-weight: 600;
}
.checkoutx__body {
  overflow-y: auto; padding: clamp(2rem, 4vw, 4rem);
  background: radial-gradient(circle at 90% 5%, rgba(216,168,87,.17), transparent 28%), var(--cream);
}
.checkoutx__head { position: relative; margin-bottom: 1.7rem; padding-right: 2.5rem; }
.checkoutx__eyebrow {
  color: var(--gold-deep); text-transform: uppercase; letter-spacing: .13em;
  font-size: .7rem; font-weight: 700;
}
.checkoutx__head h2 {
  margin: .35rem 0 .55rem; color: var(--emerald-black);
  font: 550 clamp(2.2rem, 4vw, 4.1rem)/.96 'Fraunces', serif; letter-spacing: -.04em;
}
.checkoutx__secure { color: rgba(7,26,19,.58); font-size: .76rem; }
.checkoutx__secure span { color: #25a55f; text-shadow: 0 0 12px #55d78c; }
.checkoutx__activation, .checkoutx__error {
  border-radius: 1rem; padding: .85rem 1rem; margin: 0 0 1.1rem;
  font-size: .78rem; line-height: 1.45;
}
.checkoutx__activation { background: #fff2c9; border: 1px solid #e3c25a; color: #725400; }
.checkoutx__error { background: #ffe4df; border: 1px solid #e29a8d; color: #842b1c; }
.checkoutx__empty {
  min-height: 220px; display: grid; place-items: center; align-content: center; gap: .85rem;
  border: 1px dashed rgba(18,59,44,.22); border-radius: 1.2rem; text-align: center;
  color: rgba(7,26,19,.65);
}
.checkoutx__empty > span { color: var(--gold); font-size: 1.5rem; }
.checkoutx__empty button, .checkoutx__sectionhead button {
  border: 0; background: none; color: var(--emerald); font: 700 .78rem/1 'Plus Jakarta Sans', sans-serif;
  min-height: 44px; padding: .5rem;
  text-decoration: underline; text-underline-offset: 4px; cursor: pointer;
}
.checkoutx__fulfillment,
.checkoutx__delivery-fields {
  min-inline-size: 0; margin: 0 0 1rem; padding: 0; border: 0;
}
.checkoutx__fulfillment > legend,
.checkoutx__delivery-fields > legend {
  margin-bottom: .62rem; color: var(--emerald-black);
  font: 650 .82rem/1.25 'Plus Jakarta Sans', sans-serif;
}
.checkoutx__fulfillment-options {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .48rem; padding: .28rem; border: 1px solid rgba(18,59,44,.13);
  border-radius: 1rem; background: rgba(255,255,255,.58);
  box-shadow: inset 0 1px 4px rgba(7,26,19,.04);
}
.checkoutx__fulfillment-options label { position: relative; min-width: 0; cursor: pointer; }
.checkoutx__fulfillment-options input {
  position: absolute; inline-size: 1px; block-size: 1px;
  opacity: 0; pointer-events: none;
}
.checkoutx__fulfillment-options label > span {
  display: grid; align-content: center; min-height: 58px; padding: .65rem .8rem;
  border: 1px solid transparent; border-radius: .78rem;
  color: rgba(7,26,19,.58); transition: border-color .2s, background .2s, box-shadow .2s, transform .2s;
}
.checkoutx__fulfillment-options b {
  color: var(--emerald-black); font-size: .78rem; line-height: 1.2;
}
.checkoutx__fulfillment-options small {
  margin-top: .2rem; overflow: hidden; color: rgba(7,26,19,.5);
  font-size: .61rem; line-height: 1.25; text-overflow: ellipsis;
}
.checkoutx__fulfillment-options input:checked + span {
  border-color: rgba(216,168,87,.62); background: var(--white);
  box-shadow: 0 8px 24px rgba(7,26,19,.08), inset 0 0 0 1px rgba(216,168,87,.12);
  transform: translateY(-1px);
}
.checkoutx__fulfillment-options input:focus-visible + span {
  outline: 3px solid rgba(216,168,87,.28); outline-offset: 2px;
}
.checkoutx__delivery-fields {
  padding: 1rem; border: 1px solid rgba(216,168,87,.3); border-radius: 1.05rem;
  background: linear-gradient(145deg, rgba(255,255,255,.86), rgba(216,168,87,.08));
  box-shadow: 0 14px 38px rgba(7,26,19,.06);
}
.checkoutx__delivery-fields > p {
  margin: -.28rem 0 .85rem; color: rgba(7,26,19,.54);
  font-size: .65rem; line-height: 1.45;
}
.checkoutx__delivery-grid {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .68rem;
}
.checkoutx__delivery-grid label {
  display: grid; min-width: 0; gap: .34rem;
  color: rgba(7,26,19,.62); font-size: .67rem; font-weight: 650;
}
.checkoutx__delivery-wide { grid-column: 1 / -1; }
.checkoutx__delivery-grid input,
.checkoutx__delivery-grid textarea {
  min-width: 0; width: 100%; min-height: 48px;
  border: 1px solid rgba(18,59,44,.16); border-radius: .75rem;
  background: var(--white); color: var(--emerald-black);
  padding: .72rem .8rem; outline: none;
  font: 500 .8rem/1.35 'Plus Jakarta Sans', sans-serif;
  transition: border-color .2s, box-shadow .2s;
}
.checkoutx__delivery-grid textarea { min-height: 68px; resize: vertical; }
.checkoutx__delivery-grid input[readonly] {
  background: rgba(18,59,44,.06); color: rgba(7,26,19,.65); cursor: default;
}
.checkoutx__delivery-grid input:focus,
.checkoutx__delivery-grid textarea:focus {
  border-color: var(--gold); box-shadow: 0 0 0 3px rgba(216,168,87,.13);
}
.checkoutx__items { display: grid; gap: .65rem; }
.checkoutx__item {
  display: grid; grid-template-columns: 1fr auto; gap: .3rem 1rem;
  padding: .9rem 0; border-bottom: 1px dashed rgba(18,59,44,.18);
}
.checkoutx__item strong { display: block; color: var(--emerald-black); font-size: .9rem; }
.checkoutx__item small { display: block; color: rgba(7,26,19,.52); font-size: .7rem; margin-top: .22rem; }
.checkoutx__item > b { color: var(--emerald-black); font-size: .84rem; }
.checkoutx__qty { grid-column: 1 / -1; display: flex; align-items: center; gap: .55rem; }
.checkoutx__qty button {
  width: 44px; height: 44px; border: 1px solid rgba(18,59,44,.18); border-radius: 999px;
  background: var(--white); color: var(--emerald-black); cursor: pointer;
}
.checkoutx__qty button:disabled { opacity: .45; cursor: default; }
.checkoutx__qty span { min-width: 1.2rem; text-align: center; font-size: .78rem; font-weight: 700; }
.checkoutx__totals { margin: 1.3rem 0; }
.checkoutx__totals > div { display: flex; justify-content: space-between; padding: .35rem 0; font-size: .78rem; }
.checkoutx__totals dt { color: rgba(7,26,19,.58); }
.checkoutx__totals dd { color: var(--emerald-black); font-weight: 650; }
.checkoutx__totals > div:last-child {
  border-top: 1px solid rgba(18,59,44,.2); margin-top: .45rem; padding-top: .9rem; font-size: 1rem;
}
.checkoutx__payment-breakdown {
  margin: -.25rem 0 1rem; padding: .65rem .9rem;
  border: 1px solid rgba(18,59,44,.12); border-radius: .8rem;
  background: rgba(255,255,255,.42);
}
.checkoutx__payment-breakdown > div { padding: .22rem 0; }
.checkoutx__payment-breakdown > div:last-child {
  margin-top: .3rem; padding-top: .55rem; font-size: .84rem;
}
.checkoutx__fee-note {
  margin: -.8rem 0 1rem; color: rgba(7,26,19,.55);
  font-size: .64rem; line-height: 1.45;
}
.checkoutx__delivery-estimate {
  margin: -.78rem 0 1rem; padding: .58rem .72rem;
  border-radius: .7rem; background: rgba(18,59,44,.07);
  color: var(--emerald); font-size: .68rem; font-weight: 700; text-align: center;
}
.checkoutx__primary {
  width: 100%; border: 0; border-radius: 999px; padding: 1rem 1.3rem;
  background: var(--emerald-black); color: var(--cream);
  font: 700 .84rem/1.2 'Plus Jakarta Sans', sans-serif; cursor: pointer;
  box-shadow: inset 0 0 0 1px rgba(216,168,87,.35);
  transition: transform .25s, background .25s;
}
.checkoutx__primary:hover:not(:disabled) { transform: translateY(-2px); background: var(--emerald); }
.checkoutx__primary:disabled { cursor: not-allowed; opacity: .46; }
.checkoutx__methodhint {
  margin: .75rem 0 0; text-align: center; color: rgba(7,26,19,.5);
  font-size: .68rem; font-weight: 700; letter-spacing: .035em;
}
.checkoutx__sectionhead { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 1rem; }
.checkoutx__sectionhead p { color: var(--gold-deep); font-size: .67rem; font-weight: 700; }
.checkoutx__sectionhead h3 { color: var(--emerald-black); font: 550 1.75rem/1.1 'Fraunces', serif; }
.checkoutx__quote-summary {
  display: grid; grid-template-columns: 1fr auto; gap: .2rem 1rem;
  margin: 0 0 1rem; padding: .8rem .9rem; border: 1px solid rgba(216,168,87,.28);
  border-radius: .9rem; background: rgba(255,255,255,.58);
}
.checkoutx__quote-summary span {
  color: var(--emerald-black); font-size: .73rem; font-weight: 750;
}
.checkoutx__quote-summary strong { color: var(--emerald-black); font-size: .83rem; }
.checkoutx__quote-summary small {
  grid-column: 1 / -1; color: rgba(7,26,19,.53); font-size: .64rem; line-height: 1.35;
}
.checkoutx__contact { display: grid; grid-template-columns: 1fr 1fr; gap: .72rem; }
.checkoutx__contact label, .checkoutx__field {
  display: grid; gap: .36rem; color: rgba(7,26,19,.62); font-size: .7rem; font-weight: 650;
}
.checkoutx__contact input {
  min-width: 0; width: 100%; height: 50px; border: 1px solid rgba(18,59,44,.16);
  border-radius: .78rem; background: var(--white); color: var(--emerald-black);
  padding: 0 .85rem; outline: none; font: 500 .82rem/1 'Plus Jakarta Sans', sans-serif;
}
.checkoutx__contact input:focus, .checkoutx__clover:focus-within { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(216,168,87,.13); }
.checkoutx__walletnote { margin: 1rem 0 .7rem; color: rgba(7,26,19,.55); font-size: .72rem; }
.checkoutx__walletbrowser {
  margin: -.35rem 0 .8rem; padding-left: .7rem; border-left: 2px solid var(--gold);
  color: rgba(7,26,19,.55); font-size: .66rem; line-height: 1.45;
}
.checkoutx__wallets {
  display: grid; grid-template-columns: 1fr 1fr; gap: .65rem;
  opacity: .45; pointer-events: none; transition: opacity .25s;
}
.checkoutx__wallets--ready { opacity: 1; pointer-events: auto; }
.checkoutx__wallet { min-height: 46px; overflow: hidden; border-radius: .7rem; }
.checkoutx__or {
  grid-column: 1 / -1; display: flex; align-items: center; gap: .65rem;
  color: rgba(7,26,19,.45); font-size: .68rem; text-align: center;
}
.checkoutx__or::before, .checkoutx__or::after { content: ""; flex: 1; height: 1px; background: rgba(18,59,44,.13); }
.checkoutx__cards { display: grid; grid-template-columns: 1fr 1fr; gap: .72rem; margin: .75rem 0; }
.checkoutx__field--wide { grid-column: 1 / -1; }
.checkoutx__clover {
  min-height: 52px; border: 1px solid rgba(18,59,44,.16); border-radius: .78rem;
  overflow: hidden; background: var(--white);
}
.checkoutx__clover iframe { width: 100% !important; height: 50px !important; min-height: 50px !important; }
.checkoutx__field small { color: #9a3626; min-height: .8rem; font-size: .62rem; }
.checkoutx__message { min-height: 1.2rem; margin: .4rem 0 .7rem; color: #8a3527; font-size: .72rem; }
.checkoutx__fine { margin-top: .8rem; color: rgba(7,26,19,.42); font-size: .62rem; line-height: 1.5; text-align: center; }
.checkoutx__legal {
  margin: .35rem auto 0; max-width: 34rem; color: rgba(7,26,19,.52);
  font-size: .62rem; line-height: 1.55; text-align: center;
}
.checkoutx__legal a { color: var(--emerald); text-underline-offset: .16em; }
.checkoutx__success { text-align: center; padding-top: 3rem; color: var(--emerald-black); }
.checkoutx__successmark {
  width: 76px; height: 76px; margin: 0 auto 1.2rem; display: grid; place-items: center;
  border-radius: 999px; background: var(--emerald); color: var(--white); font-size: 2rem;
  box-shadow: 0 0 0 10px rgba(18,59,44,.08);
}
.checkoutx__success h3 { margin: .45rem 0 1rem; font: 550 2.2rem/1.05 'Fraunces', serif; }
.checkoutx__success p { margin: .55rem 0; color: rgba(7,26,19,.62); font-size: .8rem; }
.checkoutx__tracking {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  margin-top: .9rem;
  padding: .75rem 1rem;
  border: 1px solid rgba(7,26,19,.18);
  border-radius: 999px;
  color: var(--emerald-black);
  text-decoration: none;
  font-size: .82rem;
  font-weight: 800;
}
.checkoutx__success .checkoutx__primary { margin-top: 1.4rem; }
@media (max-width: 840px) {
  .checkoutx__sheet {
    inset: 0; height: 100dvh; display: block; border: 0; border-radius: 0;
    overflow-y: auto; overscroll-behavior: contain;
    transform: none !important;
  }
  .checkoutx__visual { height: 250px; min-height: 0; }
  .checkoutx__visualcopy { inset: auto 1.4rem 1.4rem; }
  .checkoutx__visualcopy > img { width: 48px; height: 48px; margin-bottom: .5rem; }
  .checkoutx__visualcopy h2 { font-size: 2.6rem; margin: .3rem 0 .75rem; }
  .checkoutx__body {
    overflow: visible;
    padding: 1.5rem max(1.1rem, env(safe-area-inset-right))
      max(5.5rem, env(safe-area-inset-bottom)) max(1.1rem, env(safe-area-inset-left));
  }
  .checkoutx__close {
    position: fixed; width: 44px; height: 44px;
    right: max(13px, env(safe-area-inset-right)); top: max(13px, env(safe-area-inset-top));
  }
  .checkoutx__contact input,
  .checkoutx__delivery-grid input,
  .checkoutx__delivery-grid textarea { font-size: 16px; }
  .order-dock {
    left: max(12px, env(safe-area-inset-left));
    bottom: calc(4.7rem + env(safe-area-inset-bottom));
  }
}
@media (max-width: 520px) {
  .checkoutx__contact, .checkoutx__cards { grid-template-columns: 1fr; }
  .checkoutx__delivery-grid { grid-template-columns: 1fr; }
  .checkoutx__delivery-wide { grid-column: auto; }
  .checkoutx__delivery-fields { padding: .9rem; }
  .checkoutx__fulfillment-options label > span { padding-inline: .62rem; }
  .checkoutx__field--wide { grid-column: auto; }
  .checkoutx__wallets { grid-template-columns: 1fr; }
  .checkoutx__or { grid-column: auto; }
  .checkoutx__trust span { padding: .42rem .65rem; font-size: .68rem; }
  .order-dock { max-width: calc(100vw - 24px); }
  .order-toast { width: calc(100vw - 24px); text-align: center; }
  body:has(.order-dock--show) .chatfab {
    bottom: calc(8.45rem + env(safe-area-inset-bottom));
  }
  .mobileCta {
    bottom: max(1rem, env(safe-area-inset-bottom));
    max-width: calc(100vw - 1.5rem);
    overflow: hidden; text-overflow: ellipsis;
  }
}
@media (max-width: 390px) {
  .chatfab {
    width: 48px; padding: 0; justify-content: center;
  }
  .chatfab__label { display: none; }
  body.at-top .chatfab { bottom: max(1rem, env(safe-area-inset-bottom)); }
}
@media (max-width: 950px) and (max-height: 500px) {
  .chatfab {
    right: max(.75rem, env(safe-area-inset-right));
    bottom: max(.75rem, env(safe-area-inset-bottom));
    width: 48px; padding: 0; justify-content: center;
  }
  .chatfab__label { display: none; }
  .order-dock { bottom: max(.75rem, env(safe-area-inset-bottom)); }
  .mobileCta { display: none; }
  body.at-top .chatfab,
  body.at-top .order-dock {
    opacity: 0;
    pointer-events: none;
    transform: translateY(160%);
  }
}
@media (max-width: 950px) and (max-height: 500px) {
  .checkoutx__sheet {
    inset: 0; height: 100dvh; display: block; border: 0; border-radius: 0;
    overflow-y: auto; overscroll-behavior: contain;
  }
  .checkoutx__visual { display: none; }
  .checkoutx__body {
    min-height: 100%; overflow: visible;
    padding: max(.75rem, env(safe-area-inset-top)) max(3.8rem, env(safe-area-inset-right))
      max(.85rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));
  }
  .checkoutx__head { margin-bottom: .65rem; }
  .checkoutx__head h2 { margin: .15rem 0 .25rem; font-size: 2.1rem; }
  [data-co-cart-step] {
    display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(260px, .75fr);
    gap: .2rem 1.5rem; align-items: start;
  }
  .checkoutx__empty { grid-column: 1 / -1; min-height: 180px; }
  .checkoutx__items { grid-column: 1; grid-row: 1 / 8; }
  .checkoutx__item { padding: .55rem 0; }
  .checkoutx__fulfillment { grid-column: 2; grid-row: 1; }
  .checkoutx__delivery-fields { grid-column: 2; grid-row: 2; }
  .checkoutx__delivery-grid { grid-template-columns: 1fr; }
  .checkoutx__delivery-wide { grid-column: auto; }
  .checkoutx__totals { grid-column: 2; grid-row: 3; margin: 0 0 .45rem; }
  [data-co-cart-step] > .checkoutx__fee-note { grid-column: 2; grid-row: 4; margin: 0 0 .45rem; }
  .checkoutx__delivery-estimate { grid-column: 2; grid-row: 5; }
  [data-co-continue] { grid-column: 2; grid-row: 6; }
  .checkoutx__methodhint { grid-column: 2; grid-row: 7; }
  .checkoutx__close {
    position: fixed; width: 44px; height: 44px;
    right: max(13px, env(safe-area-inset-right)); top: max(13px, env(safe-area-inset-top));
  }
}
.checkoutx--submitting .checkoutx__wallets {
  pointer-events: none;
  opacity: .6;
}
.checkoutx--submitting .checkoutx__fulfillment,
.checkoutx--submitting .checkoutx__delivery-fields,
.checkoutx--quoting .checkoutx__fulfillment,
.checkoutx--quoting .checkoutx__delivery-fields {
  pointer-events: none;
  opacity: .62;
}
