/* Dining offers adopt the current comment/share surfaces and theme tokens. */
#bito-deals-dock[hidden],.bito-deals-dialog [hidden]{display:none!important}
#bito-deals-dock{position:absolute;z-index:65;bottom:var(--bito-dock-bottom,210px);left:auto;right:var(--bito-dock-right,68px);display:flex;align-items:center;width:max-content;max-width:calc(100% - var(--bito-dock-left,12px) - var(--bito-dock-right,68px));height:46px;box-sizing:border-box;border:1px solid rgba(255,255,255,.12);border-radius:24px;background:rgba(22,24,28,.76);color:#fff;box-shadow:0 4px 12px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.04);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font:inherit;text-align:left}
.bito-deals-dock-open{display:flex;flex:1;align-items:center;justify-content:space-between;gap:8px;min-width:0;min-height:44px;padding:4px 12px;border:0;border-radius:24px;background:transparent;color:inherit;font:inherit;font-size:clamp(12px,3.3vw,13px);font-weight:500;line-height:1.35;white-space:normal;text-align:left;cursor:pointer}
.bito-deals-dock-label{flex:1;min-width:0;text-shadow:0 1px 2px rgba(0,0,0,.3)}
.bito-deals-dock-arrow{flex:0 0 12px;width:12px;height:12px;color:rgba(255,255,255,.95);pointer-events:none}
/* Enter horizontally without moving the restaurant card or the video controls. */
#bito-deals-dock:not([hidden]){animation:bito-hint-slide-in 360ms cubic-bezier(.22,1,.36,1) both}
@keyframes bito-hint-slide-in{0%{opacity:0;transform:translateX(calc(-100% - 24px))}35%{opacity:1}100%{opacity:1;transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){#bito-deals-dock:not([hidden]){animation:none}}
body.bito-deals-open #home-floating-ai{visibility:hidden!important}
body .bito-deals-dialog{box-sizing:border-box;position:fixed;inset:auto 0 0;width:min(100%,480px);max-width:100%;max-height:88dvh;margin:0 auto;padding:0;border:0;border-radius:14px 14px 0 0;background:var(--bw-surface)!important;color:var(--bw-ink)!important;box-shadow:0 -6px 28px #0003;font-family:inherit;color-scheme:inherit;overflow:auto;overscroll-behavior:contain}
.bito-deals-dialog::backdrop{background:#0006}
.bito-deals-dialog *{box-sizing:border-box}
.bito-deals-dialog button{font-family:inherit;cursor:pointer}
.bito-deals-content{padding:10px 20px max(22px,env(safe-area-inset-bottom,0px));text-align:left}
.bito-deals-grip{width:32px;height:4px;margin:0 auto 18px;border-radius:4px;background:var(--bw-line-strong)}
.bito-deals-heading{position:relative;padding-right:38px}
.bito-deals-heading>small{font-size:12px;font-weight:500;color:var(--bw-accent)}
#bito-deals-title{margin:8px 0;font-size:18px;line-height:1.45;font-weight:600;color:var(--bw-ink)}
.bito-deals-heading>p{margin:0 0 18px;font-size:13px;line-height:1.7;color:var(--bw-copy)}
.bito-deals-close{position:absolute;right:-8px;top:0;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--bw-copy);font-size:26px}
.bito-deals-rule{display:flex;justify-content:space-between;gap:12px;margin:0 0 16px;padding:12px;border-radius:10px;background:var(--bw-canvas);font-size:12px;line-height:1.6;color:var(--bw-copy)}
.bito-deal-card{padding:16px;margin-bottom:12px;border:1px solid var(--bw-line);border-radius:14px;background:var(--bw-surface)}
.bito-deal-overview{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:center}
.bito-deal-overview.has-photo{grid-template-columns:84px minmax(0,1fr)}
.bito-deal-visual{position:relative;min-height:116px;overflow:hidden;border-radius:10px;background:var(--bw-canvas)}
.bito-deal-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bito-deal-details{min-width:0}
.bito-deal-identity{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:4px 8px}
.bito-deal-number{font-size:12px;color:var(--bw-muted)}
.bito-deal-identity>strong{font-size:15px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}
.bito-deal-identity>small{grid-column:2;font-size:12px;color:var(--bw-muted)}
.bito-deal-offer{display:flex;flex-direction:column;align-items:flex-start;gap:5px;margin-top:12px}
.bito-deal-offer>b{font-size:30px;line-height:1.2;font-weight:650;color:var(--bw-accent)}
.bito-deal-offer>span{font-size:12px;line-height:1.5;color:var(--bw-copy)}
.bito-deal-offer strong{font-weight:600;color:var(--bw-ink)}
.bito-deal-price-note,.bito-deals-help,.bito-deal-pending,.bito-deals-empty{font-size:13px;line-height:1.7;color:var(--bw-copy)}
.bito-deal-price-note{margin:12px 0}
.bito-deals-help{margin:16px 0 6px}
.bito-deal-pending{margin:18px 0 8px}
.bito-deal-pending:before{content:'';display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:50%;background:var(--bw-accent);animation:bito-offer-pulse 1s ease-in-out infinite alternate}
.bito-deal-choose,.bito-deals-primary,.bito-deals-secondary{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:48px;padding:12px 14px;border:1px solid var(--bw-line-strong);border-radius:12px;font:inherit;font-size:14px;font-weight:600;line-height:1.5;text-align:center}
.bito-deal-choose{justify-content:space-between;margin-top:12px;background:var(--bw-accent-soft);color:var(--bw-accent)}
.bito-deals-primary{border-color:transparent;background:var(--bw-accent);color:var(--bw-on-accent,#fff)}
.bito-deals-secondary{margin-top:8px;background:transparent;color:var(--bw-copy)}
.bito-deals-dialog button:disabled{opacity:.5;cursor:default}
.bito-deals-footer{position:sticky;bottom:-1px;margin-top:18px;padding:12px 0 4px;background:var(--bw-surface)}
.bito-deals-picks{display:grid;gap:10px}
.bito-deals-pick{display:flex;align-items:center;gap:12px;min-height:64px;padding:12px;border:1px solid var(--bw-line-strong);border-radius:12px;background:var(--bw-surface);cursor:pointer}
.bito-deals-pick:has(input:checked){border-color:var(--bw-accent);background:var(--bw-accent-soft)}
.bito-deals-pick>span{display:flex;flex-direction:column;gap:4px;min-width:0}
.bito-deals-pick strong{font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.bito-deals-pick small{font-size:12px;line-height:1.5;color:var(--bw-copy)}
.bito-deals-dialog input[type=radio]{appearance:auto!important;width:18px;height:18px;min-width:18px;padding:0;accent-color:var(--bw-accent)}
.bito-deals-back{min-height:44px;margin:0 0 8px;padding:8px 0;border:0;background:transparent;color:var(--bw-copy);font:inherit;font-size:13px}
.bito-deals-selected{padding:18px;border:1px solid var(--bw-line);border-radius:14px;background:var(--bw-canvas);text-align:center}
.bito-deals-selected>small{font-size:12px;color:var(--bw-copy)}
.bito-deals-selected>h3{margin:10px 0 12px;font-size:17px;line-height:1.5;overflow-wrap:anywhere}
.bito-deals-discount-badge{display:inline-flex;align-items:center;padding:5px 12px;border-radius:20px;background:var(--bw-accent-soft);color:var(--bw-accent);font-size:17px;font-weight:650}
.bito-deals-savings{margin:20px 0}
.bito-deals-savings>small{font-size:13px;color:var(--bw-copy)}
.bito-deals-savings>div{display:flex;justify-content:center;align-items:baseline;gap:5px;margin-top:8px}
.bito-deals-savings strong{font-size:32px;line-height:1.2;font-weight:650;color:var(--bw-accent);font-variant-numeric:tabular-nums}
.bito-deals-savings span{font-size:13px;color:var(--bw-copy)}
.bito-deals-price-comparison{display:flex;justify-content:center;align-items:center;gap:24px;margin-bottom:20px}
.bito-deals-price-comparison>span{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--bw-copy)}
.bito-deals-price-comparison s{font-size:15px;color:var(--bw-muted)}
.bito-deals-price-comparison strong{font-size:16px;font-weight:600;color:var(--bw-ink)}
.bito-deals-price-comparison>i{font-style:normal;color:var(--bw-muted)}
.bito-deals-lock-fee{display:flex;justify-content:space-between;gap:12px;padding-top:16px;border-top:1px solid var(--bw-line);font-size:13px;line-height:1.6;color:var(--bw-copy)}
.bito-deals-lock-fee strong{font-size:20px;color:var(--bw-ink)}
.bito-deals-savings-note,.bito-deals-agreement{margin:14px 0 0;font-size:12px;line-height:1.8;text-align:left;color:var(--bw-copy)}
.bito-deals-agreement{font-size:13px}
.bito-deals-balance{display:grid;gap:12px;justify-items:center;margin-top:16px;padding:20px;border:1px solid var(--bw-line);border-radius:14px;background:var(--bw-canvas);text-align:center}
.bito-deals-balance>strong{font-size:32px;color:var(--bw-accent)}
.bito-deals-balance small,.bito-deals-balance p,.bito-deals-balance span{font-size:13px;line-height:1.7;color:var(--bw-copy)}
.bito-deals-code-view{position:relative;display:grid;align-content:center;gap:20px;padding:64px 20px 24px;min-height:360px}
.bito-deals-code-view>.bito-deals-close{top:12px;right:12px}
.bito-deals-code-ticket{display:flex;flex-direction:column;align-items:center;gap:24px;padding:28px 14px;border:1px dashed var(--bw-line-strong);border-radius:16px;background:var(--bw-canvas);text-align:center}
.bito-deals-code-ticket>#bito-deals-title{margin:0;font-size:17px}
.bito-deals-code-ticket>[data-deals-code]{font:600 clamp(30px,9vw,46px)/1.3 ui-monospace,SFMono-Regular,monospace;letter-spacing:2px;white-space:nowrap;color:var(--bw-ink);user-select:text}
.bito-deals-code-ticket>p{margin:0;font-size:13px;line-height:1.8;color:var(--bw-copy)}
.bito-deals-dialog :focus-visible,#bito-deals-dock button:focus-visible{outline:2px solid var(--bw-accent);outline-offset:3px}
.bito-deals-dialog button:active,#bito-deals-dock button:active{opacity:.75}
#dc-pay-description,#dc-pay-error{margin:10px 0;font-size:13px;line-height:1.7;color:var(--bw-copy);overflow-wrap:anywhere}
#dc-pay-error{color:var(--bw-danger,#c04432)}
#dc-pay-description[hidden],#dc-pay-error[hidden],#dc-pay-sheet .dc-pay-stripe-badge[hidden]{display:none!important}
@media(max-width:360px){.bito-deals-dock-open{padding:8px 12px}.bito-deals-content{padding-left:16px;padding-right:16px}.bito-deal-overview.has-photo{grid-template-columns:72px minmax(0,1fr)}.bito-deals-rule{flex-wrap:wrap}}
@keyframes bito-offer-pulse{from{opacity:.4}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.bito-deal-pending:before{animation:none}}

html[data-theme="dark"] .bito-deals-dialog{--bw-on-accent:#21160f}

.bito-deals-code-ticket>h3{margin:0;font-size:17px;line-height:1.5;overflow-wrap:anywhere;color:var(--bw-ink)}
.bito-deals-paid-status{font-size:13px;line-height:1.5;color:var(--bw-accent)}
.bito-deals-heading:not(:has(>p)){margin-bottom:18px}
.bito-deals-dialog{scroll-padding-block:24px 110px}
.bito-deals-dialog button{touch-action:manipulation}

.bito-deals-terms{margin:14px 0 0;font-size:13px;line-height:1.7;color:var(--bw-copy)}

/* Commerce sheets must cover the shared bottom navigation on every entry route. */
#dc-pay-backdrop.dc-pay-backdrop{z-index:620!important}
#dc-pay-sheet.bottom-sheet{z-index:621!important}
#dc-refund-backdrop{z-index:620!important}
#dc-refund-sheet{z-index:621!important}

/* Each offer sheet fits its content; the negotiation stage reserves room for motion. */
body #bito-deals-dialog:is([data-view="reveal"],[data-view="negotiating"],[data-view="result"],[data-view="reveal-error"],[data-view="checkout"]){width:min(100%,480px);height:auto;max-height:calc(100dvh - 48px);border-radius:var(--bw-radius-lg,22px) var(--bw-radius-lg,22px) 0 0;background:var(--bw-surface)!important;color:var(--bw-ink)!important;box-shadow:var(--bw-shadow-float);overflow:hidden;color-scheme:inherit}
.bito-offer-sheet{position:relative;display:flex;flex-direction:column;height:auto;max-height:calc(100dvh - 48px);min-height:0;text-align:left;isolation:isolate}
.bito-offer-chrome{position:relative;flex:0 0 48px;padding:16px 20px 8px}
.bito-offer-grip{position:absolute;top:9px;left:calc(50% - 18px);width:36px;height:4px;border-radius:4px;background:var(--bw-line-strong)}
.bito-offer-close{position:absolute;right:8px;top:12px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--bw-copy);font:inherit;font-size:28px;line-height:1;cursor:pointer;z-index:3}
.bito-offer-attempt{display:inline-flex;align-items:center;max-width:calc(100% - 48px);padding:2px 8px;border-radius:999px;background:var(--bw-accent-soft);color:var(--bw-accent);font-size:12px;font-weight:500;line-height:18px;white-space:normal;overflow-wrap:anywhere}
.bito-offer-eyebrow{margin:0 40px 0 0;color:var(--bw-accent);font-size:12px;font-weight:600;line-height:20px}
.bito-offer-main{flex:0 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;padding:12px 20px 16px;scrollbar-width:thin}
#bito-deals-dialog .bito-offer-sheet #bito-deals-title{margin:0;font-size:18px;line-height:1.45;color:var(--bw-ink);font-weight:600;letter-spacing:-.02em;overflow-wrap:anywhere}
.bito-offer-actions{flex:none;padding:12px 20px max(16px,env(safe-area-inset-bottom,0px));background:var(--bw-surface);border-top:1px solid var(--bw-line)}
.bito-offer-restaurant{display:flex;align-items:center;gap:12px;margin:16px 0;min-height:64px;text-align:left}
.bito-offer-restaurant>img{width:56px;height:56px;flex:none;border-radius:var(--bw-radius-sm,12px);object-fit:cover;background:var(--bw-canvas)}
.bito-offer-restaurant>div{min-width:0}
.bito-offer-restaurant strong{display:block;font-size:15px;line-height:1.4;color:var(--bw-ink);overflow-wrap:anywhere;font-weight:600}
.bito-offer-restaurant p{font-size:13px;line-height:1.5;margin:5px 0 0;color:var(--bw-copy)}
.bito-offer-primary{width:100%;min-height:44px;display:flex;justify-content:center;align-items:center;gap:8px;padding:10px 14px;border:0;border-radius:var(--bw-radius-sm,12px);background:var(--bw-accent);color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer}
.bito-offer-primary:disabled{opacity:.65}
.bito-offer-primary:focus-visible,.bito-offer-close:focus-visible,.bito-offer-later:focus-visible{outline:2px solid #ffc18c;outline-offset:3px}
.bito-offer-preload{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.bito-offer-result-heading{text-align:left;margin:0 0 12px}
.bito-offer-result-heading>p{font-size:14px;line-height:1.5;color:var(--bw-copy);margin:6px 0 0}
.bito-offer-ticket-wrap{position:relative;width:100%;margin:12px auto 16px;padding-top:0}
.bito-offer-rays{position:absolute;z-index:-1;inset:-40px -8px -20px;background:repeating-conic-gradient(from -45deg at 50% 72%,#ffd78022 0deg 7deg,transparent 7deg 16deg);mask-image:radial-gradient(ellipse,#0009,transparent 68%);pointer-events:none}
.bito-offer-ticket{display:flex;align-items:center;justify-content:center;position:relative;height:108px;padding:12px 20px;border-radius:var(--bw-radius-md,16px);background:linear-gradient(120deg,#fff0db,#ffd5a3);color:#873a16}
.bito-offer-ticket>div{display:flex;align-items:baseline;justify-content:center;gap:8px;white-space:nowrap}
.bito-offer-ticket strong{font-size:60px;line-height:1.1;font-weight:750;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.bito-offer-ticket>div>span{font-size:22px;font-weight:650}
.bito-offer-ribbon{position:absolute;right:12px;top:8px;color:#904520;font-size:12px;font-weight:600;line-height:1.5}
.bito-offer-laurel{width:28px;height:58px;flex:none;color:#d99d46;opacity:.5}
.bito-offer-laurel.is-right{transform:scaleX(-1)}
.bito-offer-savings{display:flex;align-items:center;justify-content:center;max-width:100%;margin:12px 0 4px;color:var(--bw-copy);font-size:14px;line-height:1.5}
.bito-offer-savings>svg{width:25px;height:25px;flex:none;fill:#ffbf4d;stroke:#bd7616;stroke-width:1.1}
.bito-offer-savings strong{color:var(--bw-ink);font-size:24px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.bito-offer-applies{text-align:center;font-size:12px;line-height:1.6;margin:8px 0 0;color:#d0c7bc;overflow-wrap:anywhere}
.bito-offer-later{display:block;margin:4px auto 0;min-height:44px;padding:10px 16px;border:0;background:transparent;color:var(--bw-copy);font:inherit;font-size:14px;font-weight:500;line-height:1.5;cursor:pointer}
.bito-offer-validity{margin:2px 0 0;color:var(--bw-copy);font-size:12px;line-height:1.6;text-align:center}
.bito-motion-accessible{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}
.bito-motion-timeline{position:relative}
.bito-motion-copy{position:relative;height:104px;margin:0;text-align:center;color:var(--bw-ink);font-size:18px;font-weight:600;line-height:1.5}
.bito-motion-copy>p{position:absolute;inset:0;margin:0;display:grid;align-content:center;gap:6px}
.bito-motion-caption{color:var(--bw-copy);font-size:13px;font-weight:400;line-height:1.5}
.bito-motion-scene{position:relative;height:220px;width:100%;max-width:340px;margin:0 auto;perspective:700px}
.bito-motion-glow{position:absolute;inset:50px 0 -10px;background:radial-gradient(ellipse,#ffc27a12,transparent 70%);pointer-events:none}
.bito-motion-sprite{display:block;background-image:url('generated/bito-articulated-v46.webp');background-size:400% 200%;background-repeat:no-repeat}
.bito-motion-sprite.is-shop{width:100%;height:100%;background-position:100% 100%}
 .bito-motion-shop{position:absolute;right:0;bottom:12px;z-index:1;width:158px;height:158px;opacity:.94}
.bito-motion-character{position:absolute;left:10px;bottom:10px;z-index:2;width:180px;height:220px;transform:scale(.86);transform-origin:50% 100%}
.bito-motion-character .bito-motion-traveller{left:0;bottom:0}
.bito-motion-lights{position:absolute;left:40px;right:30px;top:88px;bottom:26px;border-radius:20px;box-shadow:0 0 16px 3px #ffb65726;mix-blend-mode:screen;opacity:0}
.bito-motion-traveller{position:absolute;left:-12px;bottom:1px;width:180px;height:220px;transform-origin:50% 72%;will-change:transform}
.bito-motion-shadow{position:absolute;left:40px;bottom:0;width:86px;height:7px;border-radius:50%;background:#0000001a;filter:blur(4px)}
.bito-motion-bubble{position:absolute;right:60px;top:8px;display:grid;place-items:center;width:48px;height:44px;border-radius:14px;background:#ffdfac;color:#e47a24;font-size:30px;font-weight:800;box-shadow:0 0 24px #ffb84a44;transform:scale(0);transform-origin:50% 100%;opacity:0}
.bito-motion-bubble:after{content:'';position:absolute;bottom:-5px;left:14px;width:12px;height:12px;background:#ffdfac;transform:rotate(45deg);border-radius:3px}
.bito-motion-progress-row{display:flex;align-items:center;width:100%;height:52px}
.bito-motion-progress{width:100%;height:3px;margin:0;border-radius:8px;background:var(--bw-line);overflow:hidden}
.bito-motion-progress>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#f5b67b,#f8883c);transform:scaleX(0);transform-origin:left}
.bito-motion-timeline .bito-motion-traveller{animation-name:bito-journey;animation-timing-function:cubic-bezier(.3,0,.25,1)}
.bito-motion-timeline .bito-motion-shadow{animation-name:bito-shadow;animation-timing-function:ease-in-out}
.bito-motion-timeline .bito-motion-copy>.is-depart{animation-name:bito-pose-depart}
.bito-motion-timeline .bito-motion-copy>.is-negotiate{animation-name:bito-pose-negotiate;opacity:0}
.bito-motion-timeline .bito-motion-copy>.is-return{animation-name:bito-pose-return;opacity:0}
.bito-motion-timeline .bito-motion-bubble{animation-name:bito-negotiate-bubble}
.bito-motion-timeline .bito-motion-lights{animation-name:bito-restaurant-lights}
.bito-motion-timeline .bito-motion-progress>span{animation-name:bito-reveal-progress;animation-timing-function:linear}
.bito-motion-timeline :is(.bito-motion-traveller,.bito-motion-avatar,.bito-rig-head,.bito-rig-arm,.bito-rig-leg,.bito-motion-voucher,.bito-motion-shadow,.bito-motion-copy>p,.bito-motion-bubble,.bito-motion-lights,.bito-motion-progress>span){animation-duration:var(--bito-motion-duration,4000ms);animation-delay:var(--bito-motion-delay,0ms);animation-fill-mode:both;animation-iteration-count:1}
@keyframes bito-journey {
  0% { opacity: 0; transform: translate(-4px, 3px); }
  5% { opacity: 1; transform: translate(-4px, 1px); }
  10% { transform: translate(-6px, 2px); animation-timing-function: cubic-bezier(.4, 0, .55, 1); }
  20% { transform: translate(10px, 0); }
  25%, 71% { transform: translate(12px, 0); }
  80% { transform: translate(6px, -1px); }
  87% { transform: translate(0, 0); }
  100% { opacity: 1; transform: translate(0, 0); }
}
@keyframes bito-shadow {
  0% { opacity: 0; transform: scaleX(.9); }
  7%, 25%, 71%, 90%, 100% { opacity: .55; transform: scaleX(1); }
  17%, 81% { opacity: .35; transform: scaleX(.86); }
}
@keyframes bito-pose-depart {
  0%, 22% { opacity: 1; transform: translateY(0); }
  25%, 100% { opacity: 0; transform: translateY(-3px); }
}
@keyframes bito-pose-negotiate {
  0%, 22% { opacity: 0; transform: translateY(3px); }
  25%, 69% { opacity: 1; transform: translateY(0); }
  72%, 100% { opacity: 0; transform: translateY(-3px); }
}
@keyframes bito-pose-return {
  0%, 69% { opacity: 0; transform: translateY(3px); }
  72%, 100% { opacity: 1; transform: translateY(0); }
}
@keyframes bito-negotiate-bubble {
  0%, 48% { opacity: 0; transform: translateY(3px) scale(.97); }
  52%, 65% { opacity: 1; transform: translateY(0) scale(1); }
  70%, 100% { opacity: 0; transform: translateY(-3px) scale(.99); }
}
@keyframes bito-restaurant-lights {
  0%, 48% { opacity: 0; }
  54%, 72% { opacity: .75; }
  87%, 100% { opacity: .25; }
}
@keyframes bito-reveal-progress{from{transform:scaleX(.04)}to{transform:scaleX(1)}}
.bito-offer-error{padding:36px 0 18px;text-align:center}
.bito-offer-error>p{font-size:14px;line-height:1.7;color:var(--bw-copy);margin:16px 0 0}
@media(max-width:360px){.bito-offer-chrome{padding-left:20px;padding-right:20px}.bito-offer-main,.bito-offer-actions{padding-left:20px;padding-right:20px}.bito-offer-restaurant{gap:12px}.bito-offer-restaurant>img{width:72px;height:72px}.bito-offer-ticket{gap:6px;padding-inline:12px}.bito-offer-laurel{width:22px}.bito-offer-ticket strong{font-size:64px}.bito-motion-scene{transform:scale(.88);transform-origin:50% 100%}.bito-motion-shop{right:-16px}.bito-motion-traveller{left:-20px}.bito-motion-copy{font-size:22px}}
@media(max-height:600px){.bito-motion-scene{transform:scale(.86);transform-origin:50% 100%}.bito-offer-ticket{height:100px}.bito-offer-ticket strong{font-size:62px}.bito-offer-ticket-wrap{margin-block:8px 12px}.bito-offer-savings{margin-top:10px}.bito-offer-restaurant{margin-top:20px}}
@media(prefers-reduced-motion:reduce){.bito-motion-timeline :is(.bito-motion-traveller,.bito-motion-avatar,.bito-rig-head,.bito-rig-arm,.bito-rig-leg,.bito-motion-voucher,.bito-motion-shadow,.bito-motion-copy>p,.bito-motion-bubble,.bito-motion-lights,.bito-motion-progress>span){animation:none!important}.bito-motion-traveller{transform:none!important;opacity:1!important;will-change:auto}.bito-motion-copy>.is-negotiate{opacity:1!important}.bito-motion-copy>.is-depart,.bito-motion-copy>.is-return,.bito-motion-bubble,.bito-motion-lights{opacity:0!important}.bito-motion-progress>span{transform:scaleX(.7)}}

/* Discoveries open only from the customer's comparison entry. */
.bito-offer-compare{display:block;width:100%;min-height:44px;margin:4px 0 0;padding:10px 6px;border:0;background:transparent;color:var(--bw-accent);font-family:inherit;font-size:13px;font-weight:500;line-height:1.5;cursor:pointer}
.bito-offer-compare>span{margin-left:5px}
body #bito-deals-dialog[data-view="compare"]{height:100dvh;max-height:100dvh;width:min(100%,480px);border-radius:0;background:var(--bw-canvas)!important;color:var(--bw-ink)!important;overflow:hidden;color-scheme:inherit}
.bito-discoveries{display:flex;flex-direction:column;height:100%;min-height:0;padding-top:env(safe-area-inset-top,0px)}
.bito-discoveries-header{flex:none;padding:8px 16px 16px}
.bito-discoveries-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:12px}
#bito-deals-dialog .bito-discoveries #bito-deals-title{margin:0;color:var(--bw-ink);font-size:16px;font-weight:600;line-height:1.4}
.bito-discoveries-toolbar>button{position:relative;isolation:isolate;display:grid;place-items:center;flex:none;width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:var(--bw-ink);font-size:26px;line-height:1;cursor:pointer}
.bito-discoveries-toolbar>button:before{content:"";position:absolute;inset:5px;z-index:-1;border:1px solid var(--bw-line-strong);border-radius:50%;background:var(--bw-canvas);pointer-events:none}
#bito-deals-dialog .bito-discoveries .bito-discoveries-offer-title{color:var(--bw-ink);margin:0 0 6px;font-size:18px;font-weight:600;line-height:1.45;letter-spacing:-.02em}
.bito-discoveries-offer-title>span{color:var(--bw-accent);font-size:16px}
.bito-discoveries-header>p{margin:0;color:var(--bw-copy);font-size:13px;line-height:1.6}
.bito-discoveries-list{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:0 16px max(20px,env(safe-area-inset-bottom,0px));scrollbar-width:thin}
.bito-discovery-card{padding:12px;margin-bottom:12px;border:1px solid var(--bw-line-strong);border-radius:14px;background:var(--bw-surface)}
.bito-discovery-card.is-latest{border-color:var(--bw-line-strong);background:var(--bw-surface)}
.bito-discovery-overview{display:flex;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--bw-line);align-items:flex-start}
.bito-discovery-photo{position:relative;flex:0 0 64px;width:64px;height:64px;border:1px solid var(--bw-line);border-radius:10px;overflow:hidden;background:var(--bw-canvas)}
.bito-discovery-photo>img{width:100%;height:100%;object-fit:cover}
.bito-discovery-meta{display:flex;align-items:center;gap:6px;margin-top:4px}
.bito-discovery-meta-copy{flex:1;min-width:0;margin:0;color:var(--bw-copy);font-size:12px;font-weight:400;line-height:1.5;overflow-wrap:anywhere}
.bito-discovery-identity{flex:1;min-width:0}
.bito-discovery-identity h3{margin:0;color:var(--bw-ink);font-size:15px;line-height:1.4;font-weight:600;overflow-wrap:anywhere}
.bito-discovery-unlocked{margin-top:6px}
.bito-discovery-status{display:inline-flex;align-items:center;gap:5px;padding:0;border:0;background:transparent;color:var(--bw-accent);font-size:12px;font-weight:500;line-height:18px;white-space:nowrap}
.bito-discovery-status:before{content:"";width:4px;height:4px;border-radius:50%;background:currentColor}

.bito-discovery-value{flex:1;min-width:0;padding:0}
.bito-discovery-value>strong{color:#bb490b;font-size:24px;font-weight:650;line-height:1.25;letter-spacing:-.02em;white-space:nowrap}
.bito-discovery-value>p{margin:4px 0 0;color:var(--bw-copy);font-size:12px;line-height:1.5}
.bito-discovery-value b{color:var(--bw-ink);font-size:14px;font-weight:600;white-space:nowrap}
.bito-discovery-choose{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;gap:6px;flex:0 0 auto;min-height:44px;min-width:92px;width:auto;max-width:50%;padding:8px 12px;border:0;border-radius:10px;background:transparent;color:var(--bw-on-accent,#fff)!important;font:inherit;font-size:13px;font-weight:600;line-height:1.5;cursor:pointer}
.bito-discovery-choose:before{content:"";position:absolute;inset:4px 0;z-index:-1;border-radius:10px;background:var(--bw-accent);pointer-events:none}
html[data-theme="dark"] .bito-discovery-value>strong{color:#fb791e}
.bito-discoveries-empty{color:var(--bw-copy);font-size:14px;line-height:1.7}
.bito-discoveries button:focus-visible,.bito-offer-compare:focus-visible{outline:2px solid #ffa56d;outline-offset:3px}
@media(max-width:360px){.bito-discovery-photo{flex-basis:56px;width:56px;height:56px}.bito-discovery-overview{gap:10px}}

/* Reviewed density, readable fields and shared checkout hierarchy. */
.is-offer-intro .bito-offer-main{display:flex;flex-direction:column;justify-content:flex-start;gap:12px}
.is-offer-intro .bito-offer-restaurant{margin:0}
.bito-offer-intro-copy{margin:0;color:var(--bw-copy);font-size:15px;line-height:1.6}
.bito-offer-estimate-note{margin:4px 0 0;color:var(--bw-copy);font-size:12px;line-height:1.5;text-align:center}
.is-offer-checkout .bito-deals-selected{margin-top:16px;padding:16px;background:var(--bw-canvas);border-color:var(--bw-line);text-align:left}
.is-offer-checkout .bito-offer-restaurant{margin:0 0 16px}
.bito-deals-confirm-discount{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.bito-deals-confirm-discount>strong{font-size:24px;font-weight:650;line-height:1.3;color:var(--bw-accent)}
.bito-deals-confirm-discount>span{font-size:13px;color:var(--bw-copy)}
.is-offer-checkout .bito-deals-lock-fee{align-items:center;border-color:var(--bw-line);color:var(--bw-copy)}
.is-offer-checkout .bito-deals-lock-fee strong{color:var(--bw-ink);font-size:20px}
.is-offer-checkout .bito-deals-savings-note,.is-offer-checkout .bito-deals-terms,.is-offer-checkout .bito-deals-agreement{color:var(--bw-copy);font-size:12px;line-height:1.6}
.bito-offer-sheet :is(button),.bito-discoveries button{transition:background-color var(--bw-motion-fast,160ms),opacity var(--bw-motion-fast,160ms)}
.bito-offer-sheet button:active,.bito-discoveries button:active{opacity:.75}
@media(max-width:360px){.bito-offer-sheet .bito-offer-restaurant>img{width:56px;height:56px}.bito-offer-sheet .bito-offer-restaurant strong{font-size:15px}.bito-offer-sheet .bito-offer-main,.bito-offer-sheet .bito-offer-actions{padding-left:16px;padding-right:16px}}
@media(prefers-reduced-motion:reduce){.bito-offer-sheet button,.bito-discoveries button{transition:none}}

html[data-theme="dark"] :is(.bito-offer-primary,.bito-discovery-choose){color:var(--bw-on-accent,#21160f)}
.bito-discoveries button:focus-visible{outline:2px solid var(--bw-accent);outline-offset:3px}
@media(max-width:360px){.bito-offer-compare{font-size:12px}.bito-offer-ticket strong{font-size:56px}}

/* One connected Bito rig. Shoulders, hips and neck overlap under the torso/helmet. */
.bito-motion-avatar {
  position: absolute;
  left: -20px;
  top: -12px;
  width: 220px;
  height: 240px;
  transform-origin: 50% 94%;
}
.bito-motion-timeline .bito-motion-avatar {
  animation-name: bito-body-act;
  animation-timing-function: ease-in-out;
}
.bito-rig-part {
  position: absolute;
  inset: 0;
  display: block;
  background: url('generated/bito-articulated-v46.webp') 0 0 / 400% 200% no-repeat;
}
.bito-rig-part.is-head { background-position: 0 0; }
.bito-rig-part.is-torso {
  inset: auto;
  left: 64px;
  top: 120px;
  width: 100px;
  height: 100px;
  z-index: 3;
  background-position: 33.333333% 0;
}
.bito-rig-part.is-left-arm { background-position: 66.666667% 0; }
.bito-rig-part.is-right-arm { background-position: 100% 0; }
.bito-rig-part.is-left-leg { background-position: 0 100%; }
.bito-rig-part.is-right-leg { background-position: 33.333333% 100%; }
.bito-rig-part.is-voucher { background-position: 66.666667% 100%; }
.bito-rig-head {
  position: absolute;
  left: 14px;
  top: 0;
  z-index: 4;
  width: 180px;
  height: 160px;
  transform-origin: 50% 88%;
  animation-name: bito-head-attention;
  animation-timing-function: ease-in-out;
}
.bito-rig-arm {
  position: absolute;
  top: 132px;
  z-index: 2;
  width: 80px;
  height: 80px;
  animation-timing-function: ease-in-out;
}
.bito-rig-arm.is-left {
  left: 22px;
  transform-origin: 75% 16%;
  animation-name: bito-arm-left;
}
.bito-rig-arm.is-right {
  left: 128px;
  transform-origin: 20% 16%;
  animation-name: bito-arm-right;
}
.bito-rig-leg {
  position: absolute;
  top: 185px;
  z-index: 1;
  width: 50px;
  height: 50px;
  transform-origin: 50% 15%;
  animation-timing-function: ease-in-out;
}
.bito-rig-leg.is-left { left: 68px; animation-name: bito-leg-left; }
.bito-rig-leg.is-right { left: 105px; animation-name: bito-leg-right; }
@keyframes bito-head-attention {
  0%, 10% { transform: rotate(-1deg); }
  23% { transform: rotate(0deg); }
  34%, 49% { transform: perspective(600px) rotateY(9deg) rotate(3deg); }
  56% { transform: perspective(600px) rotateY(9deg) rotate(5deg) translateY(2px); }
  62%, 70% { transform: perspective(600px) rotateY(8deg) rotate(2deg); }
  86% { transform: perspective(600px) rotateY(0deg) rotate(-2deg); }
  93%, 100% { transform: rotate(-1deg); }
}
@keyframes bito-arm-left {
  0%, 7% { transform: rotate(0deg); }
  16% { transform: rotate(7deg); }
  25%, 73% { transform: rotate(0deg); }
  82% { transform: rotate(-4deg); }
  91%, 100% { transform: rotate(2deg); }
}
@keyframes bito-arm-right {
  0%, 7% { transform: rotate(0deg); }
  16% { transform: rotate(-6deg); }
  25% { transform: rotate(-3deg); }
  34%, 47% { transform: rotate(-20deg); }
  54% { transform: rotate(-12deg); }
  62%, 68% { transform: rotate(-16deg); }
  72% { transform: rotate(-12deg); }
  77% { transform: rotate(-14deg); }
  89%, 100% { transform: rotate(-22deg); }
}
@keyframes bito-leg-left {
  0%, 7% { transform: rotate(0deg); }
  16% { transform: rotate(7deg); }
  25%, 73% { transform: rotate(0deg); }
  82% { transform: rotate(-5deg); }
  90%, 100% { transform: rotate(0deg); }
}
@keyframes bito-leg-right {
  0%, 7% { transform: rotate(0deg); }
  16% { transform: rotate(-8deg) translateY(-2px); }
  25%, 73% { transform: rotate(0deg); }
  82% { transform: rotate(5deg) translateY(-1px); }
  90%, 100% { transform: rotate(0deg); }
}
@keyframes bito-body-act {
  0%, 6% { transform: rotate(0deg) scale(1); }
  10% { transform: rotate(-1.5deg) scale(1.01, .99); }
  18% { transform: translateY(-1px) rotate(1deg); }
  25% { transform: rotate(0deg) scale(1); }
  34%, 48% { transform: perspective(700px) rotateY(7deg) rotate(1deg); }
  58% { transform: perspective(700px) rotateY(7deg) rotate(1deg) translateY(1px); }
  69% { transform: perspective(700px) rotateY(5deg) rotate(.5deg); }
  84% { transform: perspective(700px) rotateY(0deg) rotate(0deg); }
  90% { transform: translateY(-1px); }
  100% { transform: translateY(0) rotate(0deg); }
}
@media (prefers-reduced-motion: reduce) {
  .bito-motion-timeline :is(.bito-rig-head, .bito-rig-arm, .bito-rig-leg) {
    animation: none !important;
    transform: none !important;
  }
  .bito-motion-avatar { transform: none !important; }
}
/* Copy follows the same four-second action timeline as the character. */
.bito-motion-bubble{right:14px;top:14px;width:88px;height:36px;border:1px solid #efcda77a;background:#fff1de;font-size:13px;font-weight:600;line-height:1.4;color:#9b4c0e;box-shadow:0 2px 6px #0000000a}
.bito-motion-bubble:after{background:#fff1de}
/* The purchased restaurant and its live discount have separate visual roles. */
#page-dining-purchase-success.is-bito-offer .dc-pay-status-content{overflow-y:auto;justify-content:safe center}
#page-dining-purchase-success.is-bito-offer .dc-pay-status-icon-ring{width:64px;height:64px;margin-bottom:20px}
#page-dining-purchase-success.is-bito-offer .dc-pay-status-icon-ring>svg{width:28px;height:28px}
#page-dining-purchase-success.is-bito-offer .dc-pay-status-headline{margin-bottom:16px;font-size:22px;line-height:1.4}
#page-dining-purchase-success.is-bito-offer .dc-pay-success-restaurant{margin:0;max-width:100%;font-size:15px;font-weight:600;line-height:1.45;color:var(--dc-pay-status-ink);overflow-wrap:anywhere}
#page-dining-purchase-success.is-bito-offer .dc-pay-success-discount{margin:8px 0 14px;font-size:26px;font-weight:650;line-height:1.2;color:var(--bw-accent,#d9784e);font-variant-numeric:tabular-nums}
#page-dining-purchase-success.is-bito-offer #dc-pay-success-subline{font-size:13px;font-weight:400;line-height:1.6;max-width:320px}
#dc-pay-success-restaurant[hidden],#dc-pay-success-discount[hidden]{display:none!important}
#dc-pay-success-continue{min-height:44px;margin-top:8px;padding:10px 16px;background:transparent!important;color:var(--bw-copy)!important;font-size:14px;box-shadow:none;border:0}
#dc-pay-success-continue[hidden]{display:none!important}

html[data-theme="dark"] #page-dining-purchase-success.is-bito-offer #dc-pay-success-view{color:var(--bw-on-accent,#21160f)!important}

.acct-activity-page .acct-tx-card.is-dining-offer .acct-tx-card-main{flex:1;min-width:0}
.acct-activity-page .acct-tx-card.is-dining-offer .acct-tx-copy{flex:1;min-width:0}
.acct-activity-page .acct-tx-card.is-dining-offer .acct-tx-detail{color:var(--bw-copy)!important;white-space:normal!important;overflow-wrap:anywhere;font-size:12px!important;line-height:1.5}

/* Compact preview and result follow the same content order as the Feed offer. */
.is-offer-intro .bito-offer-chrome,.is-offer-result .bito-offer-chrome{flex-basis:44px;padding:12px 16px 0}
.is-offer-intro .bito-offer-grip,.is-offer-result .bito-offer-grip{display:none}
.is-offer-intro .bito-offer-close,.is-offer-result .bito-offer-close{top:0;font-size:24px;background:radial-gradient(circle,var(--bw-canvas) 0 15px,transparent 16px)}
.is-offer-intro .bito-offer-eyebrow,.is-offer-result .bito-offer-eyebrow{display:inline-flex;align-items:center;gap:5px;margin:0;padding:2px 8px;border:1px solid var(--bw-line-strong);border-radius:20px;background:var(--bw-accent-soft);font-size:12px;line-height:18px}
.is-offer-intro .bito-offer-eyebrow:before,.is-offer-result .bito-offer-eyebrow:before{content:"";width:4px;height:4px;border-radius:50%;background:currentColor}
#bito-deals-dialog .is-offer-intro #bito-deals-title{font-size:18px;line-height:1.45}
.is-offer-intro .bito-offer-main{gap:16px;padding:12px 16px 20px}
.is-offer-intro .bito-offer-intro-copy{font-size:13px;line-height:1.6}
.is-offer-intro .bito-offer-restaurant{min-height:72px;padding:12px;border:1px solid var(--bw-line-strong);border-radius:12px;background:var(--bw-canvas);gap:12px}
.is-offer-intro .bito-offer-restaurant>img{width:48px;height:48px;border-radius:8px}
.is-offer-intro .bito-offer-restaurant strong{font-size:15px}
.is-offer-intro .bito-offer-restaurant p{font-size:12px}
.is-offer-intro .bito-offer-actions,.is-offer-result .bito-offer-actions{padding:0 16px max(20px,env(safe-area-inset-bottom,0px));border-top:0}
.is-offer-result .bito-offer-chrome{position:absolute;inset:0 0 auto;height:44px;padding:0;z-index:2}
.is-offer-result .bito-offer-close{top:8px}
.is-offer-result .bito-offer-main{padding:20px 16px 16px}
#bito-deals-dialog .is-offer-result #bito-deals-title{padding-right:36px;font-size:18px;line-height:1.45}
#bito-deals-dialog .bito-offer-celebration-title{display:flex;align-items:flex-start;gap:8px}
.bito-offer-burst{flex:none;width:22px;height:28px;color:#ff841f;margin-top:-4px}
.is-offer-result .bito-offer-result-heading{margin:0 0 16px}
.is-offer-result .bito-offer-restaurant{margin:0 0 16px;gap:12px;min-height:56px}
.is-offer-result .bito-offer-restaurant>img{width:56px;height:56px;border-radius:10px}
.is-offer-result .bito-offer-restaurant strong{font-size:15px;line-height:1.45}
.bito-offer-rating{display:inline-flex;align-items:baseline;gap:3px;vertical-align:baseline;color:inherit;font:inherit;white-space:nowrap}
.is-offer-result .bito-offer-restaurant p{margin:4px 0 0;font-size:12px;font-weight:400;line-height:1.5}
.is-offer-result .bito-offer-ticket-wrap{margin:0}
.is-offer-result .bito-offer-ticket{height:96px;justify-content:flex-start;gap:8px;overflow:hidden;padding:12px 18px;border:0;border-radius:14px;background:linear-gradient(105deg,#ffe0b5,#fff4e8 55%,#ffe4bc);color:#ed5c06;box-shadow:none}
.is-offer-result .bito-offer-ticket:before,.is-offer-result .bito-offer-ticket:after{content:"";position:absolute;width:190px;height:100px;border-radius:50%;background:#fff9f040;pointer-events:none}
.is-offer-result .bito-offer-ticket:before{left:-80px;top:-125px;width:260px;height:180px;transform:rotate(-25deg)}
.is-offer-result .bito-offer-ticket:after{right:-70px;bottom:-92px;top:auto;width:350px;height:120px;background:linear-gradient(90deg,#ffd78c88,#ffa42d);transform:rotate(-16deg)}
.bito-offer-ticket-icon{position:relative;z-index:2;flex:none;width:26px;height:36px}
.bito-offer-dining-art{position:absolute;right:-14px;bottom:-22px;z-index:1;width:100px;height:104px;opacity:.62;pointer-events:none}
.is-offer-result .bito-offer-ticket-discount{position:relative;z-index:2;display:flex;align-items:baseline;gap:1px;transform:none}
.is-offer-result .bito-offer-ticket-discount:after{content:"";position:absolute;right:-3px;bottom:-5px;width:56px;height:8px;border-top:3px solid #ffbd36;border-radius:50%;transform:rotate(-6deg)}
.is-offer-result .bito-offer-ticket-discount>strong{display:inline-block;padding-inline:3px 6px;font-size:44px;line-height:1.1;font-weight:750;font-style:italic;letter-spacing:-.02em;color:#ed5c06;background:none;-webkit-text-fill-color:currentColor}
.is-offer-result .bito-offer-ticket-discount>span{color:#ed5c06;font-weight:800;font-style:italic}
.is-offer-result .bito-offer-percent{font-size:26px}
.is-offer-result .bito-offer-off{margin-left:4px;font-size:18px}
.bito-offer-result-savings{display:flex;align-items:center;justify-content:center;gap:8px;margin:16px 0 0}
.bito-offer-result-savings>svg{flex:none;width:20px;height:24px;color:#ff821f}
.bito-offer-result-savings>p{display:flex;align-items:baseline;justify-content:center;flex-wrap:wrap;gap:2px 6px;margin:0;color:var(--bw-copy);font-size:13px;line-height:1.5;text-align:center}
.bito-offer-result-savings strong{color:var(--bw-ink);font-size:18px;line-height:1.3;font-weight:650;white-space:nowrap;font-variant-numeric:tabular-nums}
.is-offer-result .bito-offer-actions{display:flex;flex-direction:column;gap:0}
.is-offer-result .bito-offer-primary{border-radius:28px}
.is-offer-result .bito-offer-compare{margin-top:4px;text-align:center}
.is-offer-result .bito-offer-later{margin-top:0}
.is-offer-result .bito-offer-validity{margin-top:8px}
.is-offer-negotiating{height:min(404px,calc(100dvh - 48px))}
.is-offer-negotiating .bito-offer-main{flex:1}
.bito-motion-bubble{padding-inline:8px;text-align:center;font-size:12px}

.is-offer-intro .bito-offer-primary,.is-offer-result .bito-offer-primary{min-height:44px;border-radius:12px;background:var(--bw-accent);color:var(--bw-on-accent,#fff)!important;box-shadow:none;font-size:14px;font-weight:600}
.is-offer-negotiating .bito-offer-main{padding-top:4px;padding-bottom:8px;overflow:hidden}
.is-offer-negotiating .bito-offer-actions{display:none}
.is-offer-negotiating .bito-motion-progress-row{height:12px;opacity:.4}
@media(max-width:360px){.is-offer-negotiating .bito-motion-copy{font-size:18px}}
@media(max-height:460px){
  .is-offer-negotiating .bito-offer-chrome{flex-basis:44px;padding-top:18px}
  .is-offer-negotiating .bito-offer-close{top:0}
  .is-offer-negotiating .bito-motion-copy{font-size:18px}
  .is-offer-negotiating .bito-motion-scene{height:220px;margin-block:-38px;transform:scale(.65);transform-origin:50% 50%}
  .is-offer-negotiating .bito-motion-progress-row{height:24px}
  .is-offer-negotiating .bito-offer-actions{padding-top:8px;padding-bottom:8px}
}

.bito-discovery-title{display:flex;align-items:center;flex-wrap:wrap;gap:4px 6px}
.bito-discovery-offer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px}
@media(max-width:360px){.bito-discovery-value>strong{font-size:24px}.bito-discovery-choose{min-width:92px;padding-inline:12px;font-size:13px}.bito-discovery-value>p{font-size:12px}}

/* Short localized actions keep one readable line across offer sheets. */
.bito-offer-sheet :is(.bito-offer-primary,.bito-offer-later),.bito-offer-compare,.bito-discovery-choose{white-space:nowrap;word-break:normal;overflow-wrap:normal;flex-wrap:nowrap}

@media(max-width:360px){.is-offer-result .bito-offer-ticket-discount>strong{font-size:42px}.is-offer-result .bito-offer-percent{font-size:24px}.is-offer-result .bito-offer-off{font-size:17px}.bito-offer-ticket-icon{width:24px}.bito-offer-dining-art{width:96px;height:96px;right:-18px}.is-offer-result .bito-offer-ticket{padding-inline:12px;gap:4px}.bito-offer-result-savings{gap:7px}.bito-offer-result-savings strong{font-size:18px}}

@media(max-height:600px){
  .is-offer-result{display:block;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
  .is-offer-result .bito-offer-chrome{position:sticky;inset:0 auto auto;height:0}
  .is-offer-result .bito-offer-main{overflow:visible}
}

.is-offer-negotiating .bito-motion-copy{font-size:18px;font-weight:600;line-height:1.45}
@media(max-width:360px){.bito-motion-shop{right:0}.bito-motion-character{left:0}}

.bito-motion-bubble{height:auto;min-height:36px;padding:6px 8px;z-index:5}
.bito-motion-bubble.is-question{left:48px;right:auto;top:-24px;width:128px}
.bito-motion-bubble.is-reply{right:0;top:-24px;width:148px;text-wrap:balance}
.bito-motion-bubble.is-reply:after{left:auto;right:16px}
.bito-motion-bubble.is-question:after{left:auto;right:20px}
.bito-motion-timeline .bito-motion-bubble.is-question{animation-name:bito-ask-bubble}
@keyframes bito-ask-bubble {
  0%, 28% { opacity: 0; transform: translateY(3px) scale(.97); }
  32%, 44% { opacity: 1; transform: translateY(0) scale(1); }
  49%, 100% { opacity: 0; transform: translateY(-3px) scale(.99); }
}


/* Cuisine and distance form one row, with the average and rating together below. */
.bito-restaurant-meta,
.bito-discovery-meta-copy {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.bito-meta-row {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 3px 0;
}
.bito-meta-row > span {
  white-space: nowrap;
}
.bito-meta-row > span + span::before {
  content: "·";
  margin: 0 6px;
  color: var(--bw-muted);
}
.bito-discovery-offer {
  flex-wrap: nowrap;
  padding-top: 12px;
}
.bito-discovery-value {
  flex: 1 1 0;
}
.bito-offer-restaurant-title {
  min-width: 0;
}
.bito-offer-result-savings > p {
  row-gap: 6px;
}
.is-offer-result .bito-offer-ticket {
  animation: bito-ticket-arrive 240ms cubic-bezier(.22,1,.36,1) both;
}
@keyframes bito-ticket-arrive {
  from { opacity: .5; transform: translateY(10px) scale(.96); }
  to { opacity: 1; transform: none; }
}

/* Related purchase actions share a compact, touch-friendly scale. */
html[data-theme] body #dc-pay-sheet .dc-pay-submit,
html[data-theme] body #page-dining-purchase-success.is-bito-offer .dc-pay-status-btn--primary,
html[data-theme] body #page-dining-my-credits .is-dining-offer .dc-my-qr-btn {
  min-height: 44px !important;
  border-radius: 12px !important;
  background: var(--bw-accent) !important;
  color: var(--bw-on-accent, #fff) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  white-space: nowrap;
  box-shadow: none !important;
}
#page-dining-my-credits .dc-my-card.is-dining-offer {
  border-radius: 14px;
  border-color: var(--bw-line-strong);
  box-shadow: none;
}
#page-dining-my-credits .is-dining-offer .dc-my-benefit-title > strong {
  color: var(--bw-accent);
  font-size: 26px;
}
#page-dining-my-credits .is-dining-offer .dc-my-card-meta-list {
  font-size: 12px;
}

/* The order and action remain visible while a small screen scrolls the form. */
#dc-pay-sheet.bottom-sheet {
  padding: 12px 16px max(20px, env(safe-area-inset-bottom, 0px));
  max-height: calc(100dvh - 32px);
  overflow: hidden;
}
#dc-pay-sheet.active {
  display: flex;
  flex-direction: column;
}
#dc-pay-sheet .dc-pay-sheet-handle,
#dc-pay-sheet .dc-pay-sheet-head,
#dc-pay-sheet .dc-pay-offer-fee-label,
#dc-pay-sheet .dc-pay-sheet-footer {
  flex-shrink: 0;
}
#dc-pay-sheet .dc-pay-sheet-head {
  padding-bottom: 8px;
}
#dc-pay-sheet .dc-pay-close-btn {
  width: 44px;
  height: 44px;
  top: -8px;
  right: -8px;
}
.dc-pay-offer-fee-label {
  margin: 0 0 16px;
  color: var(--bw-copy);
  font-size: 13px;
  line-height: 1.5;
  text-align: center;
}
.dc-pay-sheet-scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 0 0 8px;
}
#dc-pay-sheet .dc-pay-description {
  margin: 8px 0 10px;
  color: var(--bw-ink);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.dc-pay-offer-fee-help {
  margin: 0 0 16px;
  color: var(--bw-copy);
  font-size: 13px;
  line-height: 1.6;
}
#dc-pay-sheet [hidden] {
  display: none !important;
}
.dc-pay-sheet-footer {
  padding-top: 12px;
  border-top: 1px solid var(--bw-line);
  background: var(--bw-surface);
}
#dc-pay-sheet .dc-pay-submit {
  margin-bottom: 0;
}
#dc-pay-sheet .dc-pay-stripe-badge:not([hidden]) {
  margin-top: 12px;
}
#dc-pay-sheet .dc-pay-input {
  font-size: 16px;
}
#dc-pay-sheet.is-dining-offer .dc-pay-sheet-amount {
  font-size: 26px;
}
#dc-pay-sheet.is-dining-offer :is(.dc-pay-sheet-label, .dc-pay-method-name) {
  font-size: 14px;
}
#dc-pay-sheet.is-dining-offer .dc-pay-method {
  min-height: 52px;
  padding: 10px 12px;
}
#dc-pay-sheet.is-dining-offer .dc-pay-method-icon {
  width: 30px;
  height: 30px;
}
#dc-pay-sheet.is-dining-offer .dc-pay-method-copy {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}
#dc-pay-sheet.is-dining-offer .dc-pay-card-fields {
  padding: 12px;
  gap: 8px;
}
#dc-pay-sheet.is-dining-offer .dc-pay-field-label {
  font-size: 13px;
}
#page-dining-purchase-success.is-bito-offer .dc-pay-status-footer {
  padding-inline: 16px;
}
#page-dining-credit-qr.is-dining-offer-code .dc-qr-amount-num {
  font-size: 40px;
}
#page-dining-credit-qr.is-dining-offer-code .dc-qr-discount-off {
  font-size: 20px;
}
#page-dining-credit-qr.is-dining-offer-code .dc-qr-backup-code {
  font-size: 24px !important;
}
@media (prefers-reduced-motion: reduce) {
  .is-offer-result .bito-offer-ticket { animation: none; }
}


/* The ticket stays in Bito's palm throughout the return and presentation. */
.bito-rig-arm .bito-motion-voucher {
  position: absolute;
  z-index: 1;
  left: 42px;
  top: 12px;
  width: 52px;
  height: 52px;
  opacity: 0;
  transform-origin: 50% 85%;
  animation-name: bito-voucher-return;
  animation-timing-function: ease-out;
}
.is-offer-negotiating .bito-motion-caption { display: block; }
@keyframes bito-voucher-return {
  0%, 60% { opacity: 0; transform: translate(48px, 20px) rotate(-15deg) scale(.85); }
  63% { opacity: 1; transform: translate(37px, 5px) rotate(-10deg) scale(.9); }
  67% { opacity: 1; transform: translate(15px, -5px) rotate(-4deg) scale(1); }
  71% { opacity: 1; transform: translate(0, 1px) rotate(0deg) scale(1); }
  75%, 100% { opacity: 1; transform: translate(0, 0) rotate(0deg) scale(1); }
}
@media (prefers-reduced-motion: reduce) {
  .bito-motion-voucher { display: none; animation: none !important; }
}

/* Focus the dialog after each transition, leaving touch close controls neutral. */
body #bito-deals-dialog:focus {
  outline: none;
}
#bito-deals-dialog :is(.bito-offer-close, .bito-deals-close) {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  -webkit-tap-highlight-color: transparent;
}
#bito-deals-dialog :is(.bito-offer-close, .bito-deals-close) > svg {
  display: block;
  flex: none;
  width: 20px;
  height: 20px;
  pointer-events: none;
}
#bito-deals-dialog :is(.bito-offer-close, .bito-deals-close):focus:not(:focus-visible) {
  outline: none;
}
html[data-theme] body #bito-deals-dialog :is(.bito-offer-close, .bito-deals-close):focus-visible {
  outline: 2px solid var(--bw-accent) !important;
  outline-offset: -4px !important;
}

/* Keep the existing top-right recommendation disclosure separate from the card. */
html[data-theme] body #page-home:not(.home-agent-sheet-open) .home-recommendation-unit.is-active .home-example-ai-reason:not([hidden]) {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}
html[data-theme] body #page-home .home-recommendation-unit .home-restaurant-card > .home-restaurant-why-toggle {
  display: none !important;
}
html[data-theme] body #page-home[data-home-conversation-state="collapsed"]:not(.home-agent-sheet-open) .home-recommendation-unit.is-active .home-restaurant-card:not(.is-recommendation-expanded) {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  grid-template-areas: "info reserve" "meta meta" !important;
  grid-template-rows: auto auto !important;
  gap: 4px 12px !important;
  height: auto !important;
  min-height: 84px !important;
  max-height: none !important;
  padding: 12px 14px !important;
}
html[data-theme] body #page-home .home-recommendation-unit .home-restaurant-card:not(.is-recommendation-expanded) > .home-restaurant-info {
  grid-area: info !important;
  min-width: 0 !important;
  width: auto !important;
}
html[data-theme] body #page-home .home-recommendation-unit .home-restaurant-title-row > strong {
  font-size: 15px !important;
  line-height: 21px !important;
}
html[data-theme] body #page-home .home-recommendation-unit .home-restaurant-dish-name {
  font-size: 12px !important;
  line-height: 18px !important;
}
html[data-theme] body #page-home .home-recommendation-unit .home-restaurant-card:not(.is-recommendation-expanded) > .home-restaurant-reserve {
  grid-area: reserve !important;
  position: relative !important;
  isolation: isolate;
  width: 64px !important;
  min-width: 64px !important;
  max-width: 64px !important;
  height: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 12px !important;
  line-height: 18px !important;
  white-space: nowrap !important;
}
/* A smaller visible button keeps the existing comfortable touch area. */
html[data-theme] body #page-home .home-recommendation-unit .home-restaurant-card:not(.is-recommendation-expanded) > .home-restaurant-reserve::before {
  content: '';
  position: absolute;
  inset: 6px 4px;
  z-index: -1;
  border-radius: 999px;
  background: var(--bw-accent, #d97a52);
}
html[data-theme] body #page-home .home-recommendation-unit .home-restaurant-card:not(.is-recommendation-expanded) > .home-restaurant-meta {
  grid-area: meta !important;
  width: auto !important;
  min-width: 0 !important;
  font-size: 12px !important;
  line-height: 18px !important;
  flex-wrap: wrap !important;
  overflow: visible !important;
}
html[data-theme] body #page-home .home-recommendation-unit .home-restaurant-card:not(.is-recommendation-expanded) > .home-restaurant-fit {
  display: none !important;
}

html[data-theme] body #dc-pay-sheet .dc-pay-submit > span,
html[data-theme] body #page-dining-my-credits .is-dining-offer .dc-my-qr-btn > span,
html[data-theme] body #page-dining-purchase-success.is-bito-offer .dc-pay-status-btn--primary > span {
  color: inherit !important;
}

html[data-theme="dark"] body #dc-pay-sheet,
html[data-theme="dark"] body #page-dining-purchase-success.is-bito-offer,
html[data-theme="dark"] body #page-dining-my-credits .is-dining-offer {
  --bw-on-accent: #21160f;
}
