/* Guest-only refinements: solid reading surfaces over CSS aurora, without backdrop filters. */
@media screen {
  body.dinetap-guest { background: var(--bg); color: var(--text); }
  .dinetap-guest .hero { border-radius: var(--radius-lg); }
  .dinetap-guest h1, .dinetap-guest h2, .dinetap-guest h3 { line-height: 1.35; letter-spacing: -.035em; }
  .dinetap-guest .dish-price { color: var(--text); font-weight: 600; }
  .dinetap-guest .item.is-sold-out .info { opacity: 1; color: var(--muted); }
  .dinetap-guest button:disabled { opacity: 1; color: var(--muted); background: var(--surface2); }
  .dinetap-guest .photo-frame { aspect-ratio: 1; height: auto !important; align-self: start; }
  .dinetap-guest .photo-frame .menu-photo { aspect-ratio: 1; }
  .dinetap-guest .menu-skeleton {
    position: relative; overflow: hidden; animation: none; background: var(--surface);
    border: 1px solid var(--line); border-radius: var(--radius-md);
  }
  .dinetap-guest .menu-skeleton::after {
    content: ""; position: absolute; inset: 0; transform: translateX(-100%);
    background: linear-gradient(90deg, transparent, rgb(113 230 173 / 10%), transparent);
    animation: menu-shimmer 1.4s linear infinite;
  }
  .dinetap-guest .btn { transition: transform var(--duration-fast) var(--ease-out); }
  .dinetap-guest .btn:active { transform: scale(.97); }
  .dinetap-guest .dish-enter { animation-duration: 300ms; }
  .dinetap-guest .cart-updated { animation: cart-feedback 220ms var(--ease-out); }
  .dinetap-guest .added-feedback { animation: added-feedback 260ms var(--ease-out); }
  .dinetap-guest .notyf, .dinetap-guest .premium-toast-fallback { bottom: 96px; }
  @keyframes menu-shimmer { to { transform: translateX(100%); } }
  @keyframes cart-feedback { 50% { transform: translateY(-3px) scale(1.025); } }
  @keyframes added-feedback { 50% { transform: scale(.99); opacity: .85; } }
}

/* Keep the first dishes in view on an ordinary phone; no backdrop filters on guest rows. */
.dinetap-guest .hero { padding: 16px 18px; }
.dinetap-guest .hero h1 { font-size: clamp(26px,6vw,36px); margin: 6px 0; }
.dinetap-guest .hero p { margin: 4px 0 0; font-size: 13px; line-height: 1.5; }
.dinetap-guest .hero.is-loading #table { visibility: hidden; }
.dinetap-guest .hero.is-loading h1 { font-family: var(--font-body); font-size: 24px; }
.dinetap-guest .waiter-call { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin: 10px 0; }
.dinetap-guest #guestWaiterStatus { margin: 0; font-size: 12px; }
.dinetap-guest #waiterChoices { flex-basis: 100%; }
.dinetap-guest #callWaiter { min-height: 40px; padding: 7px 12px; font-size: 13px; }
.dinetap-guest .menu-tools { padding-top: 8px; position: sticky; top: 0; }
.dinetap-guest #menuSearch { min-height: 42px; }
.dinetap-guest .filter-chips { padding: 6px 0; }
.dinetap-guest .filter-chips .chip { min-height: 38px; padding: 5px 12px; font-size: 12px; }
.dinetap-guest .category-chips { position: relative; padding-bottom: 5px; gap: 6px; }
.dinetap-guest .category-chips .chip { min-height: 40px; padding: 8px 12px; }
.category-indicator { position: absolute; left: 0; bottom: 0; width: 1px; height: 2px; background: var(--mint); transform-origin: left; transition: transform 240ms var(--ease-out); pointer-events: none; }
.menu-tools.has-more-categories::after { content: ''; position: absolute; right: 0; bottom: 0; width: 26px; height: 48px; pointer-events: none; background: linear-gradient(90deg,transparent,var(--bg)); }
.dinetap-guest .category-heading { margin-top: 18px; }
.dinetap-guest .skeleton-dish { display: grid; grid-template-columns: 1fr 100px; align-items: center; gap: 16px; min-height: 156px; height: auto; padding: 18px; }
.skeleton-lines { display: grid; gap: 12px; }
.skeleton-lines i, .skeleton-photo, .skeleton-chip { display: block; background: var(--surface2); border-radius: var(--radius-sm); }
.skeleton-lines i { height: 14px; }.skeleton-lines i:nth-child(2) { width: 75%; }.skeleton-lines i:last-child { width: 35%; }
.skeleton-photo { aspect-ratio: 1; }
.skeleton-chip { flex: 0 0 90px; height: 38px; animation: chip-pulse 1.2s ease-in-out infinite; }
.guest-menu-loading .filter-chips { display: none; }
.dinetap-guest #menu .dish-enter, .dinetap-guest #menu .category-enter .item { animation: dish-enter 300ms var(--ease-out) both; }
.dinetap-guest #menu .item:nth-child(3) { animation-delay: 50ms; }
.dinetap-guest #menu .item:nth-child(4) { animation-delay: 100ms; }
.dinetap-guest #menu .item:nth-child(5) { animation-delay: 150ms; }
.dinetap-guest #menu .item:nth-child(6) { animation-delay: 200ms; }
.dinetap-guest #menu .item:nth-child(n+7) { animation-delay: 250ms; }
.dinetap-guest .sheet-handle { display: grid; place-items: center; width: 64px; height: 28px; padding: 0; margin: -10px auto 10px; border: 0; background: transparent; touch-action: none; cursor: grab; }
.sheet-handle span { width: 36px; height: 4px; border-radius: 4px; background: var(--control-line); }
.dinetap-guest .addon-sheet { transition: transform 220ms var(--ease-out),opacity 220ms var(--ease-out); }
.dinetap-guest .addon-sheet.is-dragging { transition: none; animation: none; }
.dinetap-guest .sheet-closing .addon-sheet { transform: translateY(100%); opacity: 0; animation: none; }
.dinetap-guest .dish-detail-photo { aspect-ratio: 16/9; max-height: 240px; }
.dinetap-guest .just-added { color: var(--connection-text); background: var(--mint); }
.dinetap-guest .cart-added { animation: badge-pop 260ms var(--ease-out); }
.dinetap-guest #stickyCart .sticky-cart-button { width: 100%; min-height: 50px; }
.dinetap-guest #stickyCart .sticky-cart-meta { white-space: normal; color: inherit; font-size: 14px; }
.dinetap-guest #stickyCart .sticky-cart-meta :is(strong,small) { display: inline; color: inherit; font: inherit; }
.dinetap-guest #cartCard.counter-only .payment-choices { display: none; }
.dinetap-guest .line { padding-block: 7px; }
.dinetap-guest #cart>.line { gap: 8px; padding: 6px 0; }
.dinetap-guest .checkout-details { margin-top: 12px; padding-top: 12px; }
.dinetap-guest .checkout-details h3 { margin: 0 0 6px; }
.dinetap-guest .checkout-heading p { margin: 6px 0; font-size: 13px; }
.dinetap-guest .order-request { margin: 8px 0; }
.dinetap-guest .payment-hint { margin: 8px 0 0; }
.dinetap-guest [data-tracker-timeline] li { position: relative; transition: opacity 220ms var(--ease-out),transform 220ms var(--ease-out); }
.dinetap-guest [data-tracker-timeline] li[aria-current]::after { content: ''; display: inline-block; width: 6px; height: 6px; border-radius: 50%; margin-left: 5px; background: var(--mint); animation: chip-pulse 1.4s ease-in-out infinite; }
.guest-qr-required .wrap { min-height: 100dvh; display: grid; place-items: center; padding: 24px 0; }
.guest-qr-required .wrap>*:not(#scanPrompt),.guest-qr-required #stickyCart { display: none !important; }
@keyframes chip-pulse { 50% { opacity: .5; } }
@keyframes badge-pop { 50% { transform: scale(1.06); } }
@media(max-width:700px){
 .dinetap-guest .wrap { padding-top: 12px; }
 .dinetap-guest #cart>.line>span:first-child { flex-basis: auto; }
 .dinetap-guest #cart>.line>span:last-child .btn { padding: 5px; min-width: 34px; min-height: 36px; }
 .dinetap-guest #cart { max-height: 22dvh; overflow-y: auto; padding-block: 6px !important; }
 .dinetap-guest #cartCard { padding-top: 12px !important; }
 .dinetap-guest #cartCard:has([data-order-confirmation]) #cart { max-height: none; }
}

/* State colors change immediately; guest animation stays on the compositor. */
.dinetap-guest #menu .item, .dinetap-guest .chip, .dinetap-guest .payment-choices .pay { transition: none; }

/* The aurora belongs to the hero only; its final pixels fade into the solid page. */
.dinetap-guest .hero {
 position: relative; isolation: isolate; overflow: hidden; min-height: clamp(240px,32svh,340px);
 display: flex; flex-direction: column; justify-content: flex-end; padding: 28px 18px 18px;
 background: var(--bg); border: 0; border-radius: 0;
}
.dinetap-guest .hero::before {
 content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none;
 background: linear-gradient(to bottom,transparent 0%,rgb(5 11 8 / 20%) 25%,rgb(5 11 8 / 72%) 48%,rgb(5 11 8 / 80%) 100%);
}
.dinetap-guest .hero>:not(#aurora-bg) { position: relative; z-index: 2; text-shadow: 0 1px 8px rgb(0 0 0 / 35%); }
.dinetap-guest .hero #table { margin-bottom: 8px; }
.dinetap-guest .hero h1 { max-width: 100%; margin: 0; }
.dinetap-guest .hero p { color: var(--text); font-size: 14px; line-height: 1.5; margin: 8px 0 0; }
#aurora-bg{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;mask-image:linear-gradient(to bottom,#000 0%,#000 20%,rgba(0,0,0,.8) 38%,rgba(0,0,0,.45) 55%,rgba(0,0,0,.15) 72%,rgba(0,0,0,.025) 86%,transparent 94%,transparent 100%);isolation:isolate;background:radial-gradient(ellipse at 52% 42%,rgba(0,110,73,.22),transparent 58%),linear-gradient(180deg,#06110d 0%,#081a13 58%,#07120e 100%)}
#aurora-bg:before{content:"";position:absolute;inset:-32% -18%;background:linear-gradient(108deg,transparent 26%,rgba(0,255,157,0) 34%,rgba(0,255,157,.16) 39%,rgba(118,255,196,.76) 42%,rgba(0,211,133,.22) 46%,transparent 54%),linear-gradient(76deg,transparent 35%,rgba(0,255,157,0) 42%,rgba(0,230,143,.34) 47%,rgba(143,255,205,.42) 49%,transparent 56%),linear-gradient(122deg,transparent 42%,rgba(0,255,157,.06) 48%,rgba(0,255,157,.34) 52%,transparent 60%),radial-gradient(ellipse at 53% 40%,rgba(0,255,157,.24),transparent 48%);background-size:100% 100%;filter:blur(8px) saturate(155%);mix-blend-mode:screen;transform:translate3d(-3%,2%,0) rotate(-4deg) scale(1.08);transform-origin:50% 50%;animation:dt-aurora-flow 18s ease-in-out infinite alternate}
#aurora-bg:after{content:"";position:absolute;inset:-18% -10%;opacity:.8;background:repeating-linear-gradient(102deg,transparent 0 5.5%,rgba(0,255,160,.035) 6%,rgba(124,255,196,.30) 6.35%,rgba(0,255,160,.035) 6.8%,transparent 7.5% 13%),radial-gradient(ellipse at 20% 60%,rgba(0,255,145,.23),transparent 38%),radial-gradient(ellipse at 78% 36%,rgba(0,255,145,.19),transparent 42%);filter:blur(4px) saturate(145%);mask-image:linear-gradient(to bottom,transparent 3%,black 24%,black 82%,transparent 100%);mix-blend-mode:screen;transform:translate3d(2%,-1%,0) scale(1.04);animation:dt-aurora-shimmer 13s ease-in-out infinite alternate}
@keyframes dt-aurora-flow{0%{transform:translate3d(-4%,1%,0) rotate(-7deg) scale(1.04);}50%{transform:translate3d(2%,-2%,0) rotate(-1deg) scale(1.12);}100%{transform:translate3d(5%,2%,0) rotate(5deg) scale(1.08);}}
@keyframes dt-aurora-shimmer{0%{transform:translate3d(-2%,1%,0) scale(1.02);opacity:.55}100%{transform:translate3d(3%,-2%,0) scale(1.1);opacity:.92}}
/* Navigation, dishes and checkout remain completely outside the aurora. */
.dinetap-guest .hero::after {
 content: ''; display: block; position: absolute; inset: auto 0 0; width: auto; height: 160px; border: 0; border-radius: 0; z-index: 1; pointer-events: none;
 background: linear-gradient(to bottom,transparent 0%,rgb(5 11 8 / 35%) 35%,rgb(5 11 8 / 85%) 72%,var(--bg) 94%,var(--bg) 100%);
}
.dinetap-guest .menu-section { background: var(--bg); border-radius: var(--radius-md); }
.dinetap-guest #guestWaiter { background: var(--bg); border-radius: var(--radius-md); padding: 6px 8px; }
.dinetap-guest .foot { background: var(--bg); border-radius: var(--radius-md); }
.dinetap-guest #stickyCart,.dinetap-guest .menu-tools { background: var(--bg); }
.dinetap-guest .addon-sheet,.dinetap-guest #cartCard { background: var(--surface); }
@media(prefers-reduced-motion:reduce){#aurora-bg::before,#aurora-bg::after{animation:none}}
/* Opt-in only: unset branding leaves all existing selectors and colors untouched. */
.dinetap-guest .hero h1 .restaurant-brand-logo{display:inline-block;width:44px;height:44px;max-width:44px;object-fit:contain;border-radius:10px;vertical-align:middle;margin:0 12px 4px 0}
.dinetap-guest.has-brand-accent :is(.add-btn,.category-chips .chip.active,#guestWaiter .btn,.stepper .btn,#cart .btn[aria-label$="quantity"],#addonSheetSubmit,#place,#stickyCart .sticky-cart-button):not(:disabled){background:var(--brand-accent);border-color:var(--brand-accent);color:var(--brand-ink)}
.dinetap-guest.has-brand-accent .category-indicator{background:var(--brand-accent)}

.dinetap-guest .hero h1:has(.restaurant-brand-logo){overflow-wrap:anywhere}
.guest-table-bill:not([hidden]){animation:guest-bill-enter 220ms ease-out both}
.guest-table-bill [data-bill-payment] img{display:block;width:min(52vw,190px);aspect-ratio:1;margin:.75rem auto}
.guest-table-bill [data-bill-payment]{text-align:center}
.guest-table-bill{scroll-margin-top:1rem}
.guest-upi-pay{display:inline-flex;justify-content:center;align-items:center;min-height:44px;width:min(100%,18rem);text-decoration:none}
.guest-view-bill:not([hidden]){display:block;margin-top:.75rem;min-height:44px}
#upiPayOption[hidden]{display:none}
.guest-table-bill fieldset{border:0;margin:.75rem 0;padding:0;min-width:0}
.guest-table-bill textarea{display:block;width:100%;margin:.4rem 0 .75rem}
.guest-feedback-stars{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.4rem}
.guest-feedback-stars label{position:relative;display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:10px;cursor:pointer}
.guest-feedback-stars input,.feedback-rating-label{position:absolute;width:1px;height:1px;opacity:0}
.guest-feedback-stars label:has(input:checked){border-color:currentColor;color:#ffdc81;background:#ffdc8122}
.guest-feedback-stars label:has(input:focus-visible){outline:2px solid currentColor;outline-offset:2px}
@keyframes guest-bill-enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.guest-table-bill:not([hidden]){animation:none}}
#guestOrderMode { border: 1px solid var(--line); border-radius: 10px; margin: 0 0 8px; padding: 4px 10px; }
#guestOrderMode label { display: inline-flex; align-items: center; min-height: 44px; padding-inline-end: 12px; }
#parcelNameRow:not([hidden]) { display: grid; gap: 4px; margin-block: 8px; }
#parcelFeeRow[hidden] { display: none; }
