/* Shared tokens — buttons, cards, Western mobile typography */
:root {
  --dc-btn-h: 44px;
  --dc-btn-radius: 12px;
  --dc-btn-font: 14px;
  --dc-btn-weight: 600;
  --dc-card-radius: 12px;
  --dc-card-pad: 12px 14px;
  --dc-label-font: 12px;
  --dc-body-font: 14px;
  --dc-title-font: 16px;
}

.home-top-banner {
  background: transparent;
}
.home-dining-credits {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 16px 18px;
  min-height: 0;
  box-sizing: border-box;
  border-radius: 14px;
  background: linear-gradient(135deg, #1C1410 0%, #2E1F14 60%, #3A2416 100%);
  border: 1px solid rgba(255,255,255,0.07);
  box-shadow: 0 4px 16px rgba(0,0,0,0.18);
  outline: none;
  -webkit-appearance: none;
  appearance: none;
  text-align: left;
  cursor: pointer;
  font-family: inherit;
  -webkit-tap-highlight-color: transparent;
  transition: transform 0.1s ease-out, background 0.15s ease, box-shadow 0.15s ease;
  overflow: hidden;
}
.home-dining-credits-copy {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1;
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
}
.home-dining-credits:focus,
.home-dining-credits:focus-visible {
  outline: none;
  box-shadow: 0 4px 20px rgba(0,0,0,0.22), 0 0 0 2px rgba(255,255,255,0.1);
}
.home-dining-credits:active {
  transform: scale(0.99);
  background: linear-gradient(135deg, #221810 0%, #382515 60%, #442C18 100%);
}
.home-dining-credits-cta {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
  width: auto;
  height: auto;
  margin-top: 2px;
  border-radius: 0;
  background: transparent;
  color: #ff6b4a;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
}
.home-dining-credits-cta .material-symbols-outlined {
  font-size: 16px;
  font-variation-settings: 'FILL' 0, 'wght' 500;
  color: #ff6b4a;
  transition: transform 0.15s ease;
}
.home-dining-credits:active .home-dining-credits-cta .material-symbols-outlined {
  transform: translate(2px, -2px);
}
.home-top-banner .home-dining-credits {
  flex-direction: row;
  align-items: center;
  gap: 10px;
  min-height: 58px;
  padding: 9px 12px;
  border-radius: 12px;
}
.home-top-banner .home-dining-credits-copy {
  gap: 2px;
}
.home-top-banner .home-dining-credits-title {
  font-size: 14px;
  line-height: 1.2;
}
.home-top-banner .home-dining-credits-desc {
  font-size: 11px;
  line-height: 1.3;
  -webkit-line-clamp: 1;
}
.home-top-banner .home-dining-credits-cta {
  min-height: 32px;
  margin-top: 0;
  padding-left: 2px;
  font-size: 12px;
}
.home-top-banner .home-dining-credits-cta .material-symbols-outlined {
  font-size: 14px;
}
.dc-btn-primary {
  background: #ff6b4a !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--dc-btn-radius);
  box-shadow: none !important;
  font-weight: var(--dc-btn-weight);
  font-size: var(--dc-btn-font);
  font-family: inherit;
  min-height: var(--dc-btn-h);
  padding: 0 20px;
  width: 100%;
  max-width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  cursor: pointer;
  letter-spacing: 0;
  text-transform: none;
  white-space: nowrap;
  -webkit-tap-highlight-color: transparent;
  transition: opacity 0.2s;
  box-sizing: border-box;
}
.dc-btn-primary:active {
  opacity: 0.88;
  transform: none;
}
.dc-btn-primary .material-symbols-outlined {
  font-size: 22px;
}
#dining-credits-mount {
  width: 100%;
  max-width: 100%;
  font-family: var(--app-font-body, 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif);
}
#dining-credits-mount:has(> .page.active) {
  position: fixed;
  inset: 0;
  z-index: 45;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  background: #fff;
}
#dining-credits-mount:has(#page-dining-my-credits.active) {
  background: #F8FAFC;
}
#dining-credits-mount:has(#page-dining-credits.active) {
  background: #ffffff;
}
#dining-credits-mount > .page:not(.active) {
  display: none !important;
  visibility: hidden;
  pointer-events: none;
}
#page-dining-credits,
#page-dining-my-credits,
#page-dining-credit-qr,
#page-dining-redemption-success,
#page-dining-purchase-success,
#page-dining-purchase-failed,
#dc-pay-sheet {
  font-family: var(--app-font-body, 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif);
}
#page-dining-credits .dc-header-title,
#page-dining-my-credits .dc-my-header-title,
#page-dining-credit-qr .dc-qr-header-title {
  font-family: var(--app-font-headline, 'Plus Jakarta Sans', 'Inter', system-ui, sans-serif);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: none;
  color: var(--dc-brand);
}
#dining-credits-mount > .page {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
/* Commerce flow — dining credits */
#page-dining-credits {
  --dc-brand: #c64a16;
  --dc-brand-light: #fff2ef;
  --dc-text-primary: #111111;
  --dc-text-secondary: #666666;
  --dc-text-tertiary: #999999;
  --dc-bg-base: #FFFFFF;
  --dc-bg-surface: #FFFFFF;
  --dc-border: #ECECEC;
  --dc-success: #c64a16;
  --dc-bottom-h: 62px;
  --dc-perk-green: #c64a16;
  --dc-perk-green-bg: #fff2ef;
  --dc-purchase-text-sm: 12px;
  --dc-purchase-text-base: 14px;
  --dc-purchase-text-md: 15px;
  --dc-purchase-text-lg: 20px;
  background: var(--dc-bg-base);
  position: relative;
}
#page-dining-credits.page.active {
  display: flex;
  flex-direction: column;
  height: 100dvh;
  max-height: 100dvh;
  overflow: hidden;
  font-size: var(--dc-purchase-text-base);
}
#page-dining-credits > header {
  padding-top: env(safe-area-inset-top, 0px);
  flex-shrink: 0;
  background: var(--dc-bg-surface);
  border-bottom: none;
  position: relative;
  z-index: 10;
}
#page-dining-credits .dc-main {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  width: 100%;
  background: var(--dc-bg-surface);
  padding: 0 clamp(14px, 4vw, 20px) calc(var(--dc-bottom-h) + env(safe-area-inset-bottom, 0px) + 10px);
  margin: 0;
}
#page-dining-credits .dc-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: clamp(10px, 2.4vw, 14px) clamp(14px, 4vw, 20px) 2px;
  max-width: 32rem;
  margin: 0 auto;
  width: 100%;
}
#page-dining-credits .dc-header-title {
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.02em;
  color: var(--dc-brand);
  text-transform: none;
}
.dc-brand-stack {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  min-width: 0;
}
.dc-brand-logo {
  display: block;
  width: 44px;
  height: 44px;
  object-fit: contain;
}
#page-dining-credits .dc-icon-btn {
  background: none;
  border: none;
  cursor: pointer;
  color: var(--dc-text-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  -webkit-tap-highlight-color: transparent;
  transition: background 0.2s;
}
#page-dining-credits .dc-icon-btn:active {
  background: rgba(0, 0, 0, 0.05);
}
#page-dining-credits .dc-icon-btn .material-symbols-outlined {
  font-size: 22px;
}
#page-dining-credits .dc-header-spacer {
  width: 40px;
  height: 40px;
  flex-shrink: 0;
}
#page-dining-credits .dc-root-back[hidden] { display: none !important; }
#page-dining-credits.is-tab-root .dc-header-inner { justify-content: center; }
#page-dining-credits.is-tab-root .dc-header-spacer { display: none; }

/* Benefits-level switcher: purchase is the default, wallet lists live under My Credits. */
#page-dining-credits > .dc-section-tabs-wrap,
#page-dining-my-credits > .dc-section-tabs-wrap {
  flex: 0 0 auto;
  width: 100%;
  padding: 8px clamp(10px, 3vw, 16px) 12px;
  background: var(--dc-bg-base);
  box-sizing: border-box;
}
#page-dining-credits .dc-section-tabs,
#page-dining-my-credits .dc-section-tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px;
  width: min(100%, 32rem);
  margin: 0 auto;
  padding: 4px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 999px;
  background: rgba(17, 17, 17, 0.92);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035);
  box-sizing: border-box;
}
#page-dining-credits .dc-section-tab,
#page-dining-my-credits .dc-section-tab {
  width: 100%;
  min-width: 0;
  min-height: 48px;
  padding: 0 14px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: rgba(255, 255, 255, 0.62);
  font: inherit;
  font-size: 15px;
  font-weight: 650;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: color 180ms ease, background 180ms ease, transform 120ms ease, box-shadow 180ms ease;
}
#page-dining-credits .dc-section-tab.is-active,
#page-dining-my-credits .dc-section-tab.is-active {
  background: linear-gradient(100deg, rgba(116, 50, 25, 0.96), rgba(74, 34, 22, 0.88));
  color: rgba(255, 255, 255, 0.96);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.04), 0 4px 14px rgba(0, 0, 0, 0.18);
}
#page-dining-credits .dc-section-tab:active,
#page-dining-my-credits .dc-section-tab:active {
  transform: scale(0.985);
}
#page-dining-credits .dc-section-tab:focus-visible,
#page-dining-my-credits .dc-section-tab:focus-visible {
  outline: 2px solid #e68460;
  outline-offset: 2px;
}
#page-dining-my-credits .dc-my-root-back[hidden] { display: none !important; }
#page-dining-my-credits.is-tab-root .dc-my-header-inner { justify-content: center; }
#page-dining-my-credits.is-tab-root .dc-my-header-spacer { display: none; }
body[data-app-tab="benefits"] #page-dining-my-credits .dc-my-shell {
  padding-bottom: calc(86px + env(safe-area-inset-bottom, 0px));
}
@media (max-width: 360px) {
  #page-dining-credits .dc-section-tab,
  #page-dining-my-credits .dc-section-tab {
    min-height: 44px;
    font-size: 14px;
  }
}
#page-dining-credits .dc-intro {
  margin-bottom: 0;
  padding-top: clamp(6px, 1.6vw, 10px);
}
#page-dining-credits .dc-hero-title {
  font-size: var(--dc-purchase-text-lg);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--dc-text-primary);
  line-height: 1.2;
  margin: 0;
}
#page-dining-credits .dc-hero-tagline {
  font-size: var(--dc-purchase-text-base);
  color: var(--dc-text-secondary);
  line-height: 1.45;
  margin: 6px 0 clamp(12px, 3vw, 14px);
}
#page-dining-credits .dc-perks-list {
  list-style: none;
  margin: 0 0 clamp(14px, 3.5vw, 18px);
  padding: clamp(10px, 2.6vw, 12px) clamp(12px, 3.2vw, 14px);
  display: flex;
  flex-direction: column;
  gap: 6px;
  border-radius: 12px;
  background: #ffffff;
}
#page-dining-credits .dc-perks-list li {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: var(--dc-purchase-text-base);
  font-weight: 400;
  color: var(--dc-text-primary);
  line-height: 1.4;
  min-width: 0;
}
#page-dining-credits .dc-perks-list li > span:last-child {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}
#page-dining-credits .dc-perks-list .material-symbols-outlined {
  font-size: 18px;
  color: var(--dc-success);
  font-variation-settings: 'FILL' 1, 'wght' 500;
  flex-shrink: 0;
}
#page-dining-credits .dc-amount-section {
  margin-bottom: 0;
}
#page-dining-credits .dc-amount-section .dc-section-title {
  margin-bottom: clamp(10px, 2.4vw, 12px);
  font-size: var(--dc-purchase-text-md);
}
#page-dining-credits .dc-partners-section {
  margin-bottom: 0;
  padding-top: clamp(14px, 3.6vw, 18px);
}
#page-dining-credits .dc-partners-section-heading {
  margin: 0 0 6px;
  font-size: var(--dc-purchase-text-base);
  font-weight: 600;
  color: var(--dc-text-primary);
  line-height: 1.35;
}
#page-dining-credits .dc-page-row-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  padding: 0 18px 0 0;
  margin: 0;
  border: none;
  background: none;
  cursor: pointer;
  text-align: left;
  font-family: inherit;
  -webkit-tap-highlight-color: transparent;
}
#page-dining-credits .dc-page-row-link:active {
  opacity: 0.75;
}
#page-dining-credits .dc-page-row-label {
  font-size: var(--dc-purchase-text-sm);
  font-weight: 500;
  color: var(--dc-text-primary);
  line-height: 1.35;
  margin: 0;
  min-width: 0;
}
#page-dining-credits .dc-page-row-label.is-brand {
  font-weight: 500;
  color: var(--dc-brand);
}
#page-dining-credits .dc-page-row-chevron,
#page-dining-credits .dc-terms-chevron {
  font-size: 16px;
  font-weight: 400;
  color: var(--dc-brand);
  flex-shrink: 0;
  width: 16px;
  text-align: center;
  line-height: 1;
  transition: transform 0.25s ease;
}
#page-dining-credits .dc-terms-section {
  padding-top: clamp(14px, 3.6vw, 18px);
}
#page-dining-credits .dc-terms-sec-label {
  margin: 0 0 6px;
  font-size: var(--dc-purchase-text-base);
  font-weight: 600;
  color: var(--dc-text-primary);
  line-height: 1.35;
  letter-spacing: normal;
  text-transform: none;
}
#page-dining-credits .dc-section-title {
  font-size: var(--dc-purchase-text-md);
  font-weight: 600;
  color: var(--dc-text-primary);
  line-height: 1.35;
  margin: 0;
}
#page-dining-credits .dc-credit-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 0;
}
#page-dining-credits .dc-credit-card {
  background: #ffffff;
  border: 1px solid var(--dc-border);
  border-radius: 12px;
  padding: clamp(12px, 3vw, 14px) clamp(14px, 3.6vw, 16px);
  box-sizing: border-box;
  display: flex;
  align-items: center;
  gap: 12px;
  cursor: pointer;
  min-width: 0;
  width: 100%;
  font-family: inherit;
  color: inherit;
  position: relative;
  text-align: left;
  transition: border-color 0.2s, background 0.2s;
  -webkit-tap-highlight-color: transparent;
}
#page-dining-credits .dc-credit-card.is-selected {
  border-color: var(--dc-brand);
  border-width: 2px;
  background: var(--dc-brand-light);
  padding: calc(clamp(12px, 3vw, 14px) - 1px) calc(clamp(14px, 3.6vw, 16px) - 1px);
}
#page-dining-credits .dc-credit-radio {
  margin-top: 0;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 1.5px solid var(--dc-border);
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: border-color 0.2s, background 0.2s;
}
#page-dining-credits .dc-credit-radio .material-symbols-outlined {
  font-size: 15px;
  color: #ffffff;
  font-variation-settings: 'FILL' 1, 'wght' 700;
  opacity: 0;
  transition: opacity 0.2s;
}
#page-dining-credits .dc-credit-card.is-selected .dc-credit-radio {
  border-color: var(--dc-brand);
  background: var(--dc-brand);
}
#page-dining-credits .dc-credit-card.is-selected .dc-credit-radio .material-symbols-outlined {
  opacity: 1;
}
#page-dining-credits .dc-credit-body {
  flex: 1 1 auto;
  min-width: 0;
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
  column-gap: 8px;
  row-gap: 1px;
  align-items: baseline;
}
#page-dining-credits .dc-credit-price {
  grid-column: 1;
  grid-row: 1 / span 2;
  align-self: center;
  font-size: 18px;
  font-weight: 700;
  color: var(--dc-text-primary);
  line-height: 1.1;
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  margin: 0;
  padding-right: 4px;
}
#page-dining-credits .dc-credit-max {
  grid-column: 2;
  grid-row: 1;
  font-size: var(--dc-purchase-text-base);
  font-weight: 600;
  color: var(--dc-brand);
  line-height: 1.35;
  white-space: nowrap;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  margin: 0;
}
#page-dining-credits .dc-credit-card.is-selected .dc-credit-max {
  font-size: var(--dc-purchase-text-base);
  font-weight: 700;
  color: #C44E28;
}
#page-dining-credits .dc-credit-validity {
  grid-column: 2;
  grid-row: 2;
  font-size: var(--dc-purchase-text-sm);
  font-weight: 400;
  color: var(--dc-text-secondary);
  line-height: 1.35;
  white-space: nowrap;
  margin: 0;
}
#page-dining-credits .dc-credit-card.is-selected .dc-credit-validity {
  color: var(--dc-text-secondary);
  font-weight: 400;
}
#page-dining-credits .dc-bottom-summary {
  flex: 1;
  min-width: 0;
}
#page-dining-credits .dc-bottom-credits {
  font-size: var(--dc-purchase-text-base);
  font-weight: 600;
  color: var(--dc-text-primary);
  line-height: 1.3;
  margin: 0;
  letter-spacing: -0.01em;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
#page-dining-credits .dc-bottom-credits.is-prompt {
  font-size: var(--dc-purchase-text-base);
  font-weight: 500;
  color: var(--dc-text-secondary);
}
#page-dining-credits .dc-bottom-max.is-prompt {
  font-size: var(--dc-purchase-text-sm);
  font-weight: 400;
  color: var(--dc-text-tertiary);
}
#page-dining-credits .dc-bottom-bar .dc-buy-btn.is-disabled,
#page-dining-credits .dc-bottom-bar .dc-buy-btn:disabled {
  opacity: 0.42;
  cursor: not-allowed;
  pointer-events: none;
}
#page-dining-credits .dc-bottom-max {
  font-size: var(--dc-purchase-text-sm);
  font-weight: 400;
  color: var(--dc-text-secondary);
  line-height: 1.4;
  margin: 2px 0 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
#dc-partners-sheet.bottom-sheet {
  z-index: 221;
  padding: 0;
  border-radius: 1.25rem 1.25rem 0 0;
  max-height: min(82vh, 620px);
  display: flex;
  flex-direction: column;
  /* 盖住底栏，避免「知道了」按钮被挡住 */
  bottom: 0;
  padding-bottom: 0;
}
#dc-partners-backdrop { z-index: 220; }
.dc-partners-sheet-head {
  padding: 0 24px 12px;
}
.dc-partners-sheet-title {
  font-size: 18px;
  font-weight: 700;
  color: var(--dc-text-primary, #0F172A);
  margin: 0 0 16px;
}
.dc-partners-sheet-body {
  display: flex;
  flex-direction: column;
  min-height: 0;
  flex: 1;
}
.dc-partners-sheet-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  max-height: min(46vh, 380px);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  border-top: 1px solid var(--dc-border, #E2E8F0);
}
.dc-partner-row {
  padding: 14px 24px;
  border-bottom: 1px solid var(--dc-border, #E2E8F0);
}
.dc-partner-row:last-child { border-bottom: none; }
.dc-partner-row-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 6px;
}
.dc-partner-row-name {
  font-size: 15px;
  font-weight: 600;
  color: var(--dc-text-primary, #0F172A);
  line-height: 1.3;
  min-width: 0;
}
.dc-partner-row-rating {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font-size: 13px;
  font-weight: 600;
  color: var(--dc-text-primary, #0F172A);
  flex-shrink: 0;
  font-variant-numeric: tabular-nums;
}
.dc-partner-row-rating .material-symbols-outlined {
  font-size: 15px;
  color: #F59E0B;
  font-variation-settings: 'FILL' 1, 'wght' 500;
}
.dc-partner-row-redeem {
  font-size: 12px;
  font-weight: 600;
  color: var(--dc-brand);
  line-height: 1.35;
  margin: 0 0 6px;
}
.dc-partner-row-address {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  font-size: 13px;
  font-weight: 500;
  color: var(--dc-text-secondary, #64748B);
  line-height: 1.45;
}
.dc-partner-row-address .material-symbols-outlined {
  font-size: 16px;
  color: var(--dc-text-tertiary, #94A3B8);
  flex-shrink: 0;
  margin-top: 1px;
}
.dc-partners-sheet-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  padding: 12px 20px max(20px, calc(env(safe-area-inset-bottom, 0px) + 16px));
  border-top: 1px solid var(--dc-border, #E2E8F0);
  background: #fff;
  flex-shrink: 0;
  position: relative;
  z-index: 2;
}
.dc-partners-sheet-actions .dc-partners-sheet-btn,
.dc-partners-sheet-actions .dc-btn-primary{
  min-height: 44px;
  width: 100%;
  border: 0;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 650;
}
#page-dining-credits .dc-partners-scroll {
  display: flex;
  gap: 12px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 8px;
  scroll-snap-type: x mandatory;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
#page-dining-credits .dc-partners-scroll::-webkit-scrollbar { display: none; }
#page-dining-credits .dc-partners-scroll > * { scroll-snap-align: start; }
#page-dining-credits .dc-partner-mini-card {
  flex-shrink: 0;
  width: 168px;
  background: var(--dc-bg-surface);
  border: 1px solid var(--dc-border);
  border-radius: 16px;
  padding: 12px;
  display: flex;
  gap: 10px;
  align-items: flex-start;
  text-align: left;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
  scroll-snap-align: start;
}
#page-dining-credits .dc-partner-mini-thumb {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: 800;
  color: #fff;
}
#page-dining-credits .dc-partner-mini-body {
  min-width: 0;
  flex: 1;
}
#page-dining-credits .dc-partner-mini-name {
  font-size: 15px;
  font-weight: 700;
  color: var(--dc-text-primary);
  margin: 0 0 6px;
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
#page-dining-credits .dc-partner-mini-meta {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
#page-dining-credits .dc-partner-mini-rating {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font-size: 13px;
  font-weight: 700;
  color: var(--dc-text-primary);
  font-variant-numeric: tabular-nums;
}
#page-dining-credits .dc-partner-mini-rating .material-symbols-outlined {
  font-size: 15px;
  color: #F59E0B;
  font-variation-settings: 'FILL' 1, 'wght' 500;
}
#page-dining-credits .dc-terms {
  background: var(--dc-bg-surface, #fff);
  border: 1.5px solid var(--dc-border, #ece6dc);
  border-radius: 18px;
  overflow: hidden;
  margin-bottom: 8px;
}
#page-dining-credits .dc-terms-head {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 17px 18px 17px 18px;
  background: none;
  border: none;
  cursor: pointer;
  font-family: inherit;
  text-align: left;
  -webkit-tap-highlight-color: transparent;
}
#page-dining-credits .dc-terms-head-ico {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: #fff2ef;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
}
#page-dining-credits .dc-terms-head-ico .material-symbols-outlined {
  font-size: 17px;
  color: var(--dc-brand, #ff6b4a);
}
#page-dining-credits .dc-terms-head-copy {
  flex: 1;
  min-width: 0;
}
#page-dining-credits .dc-terms-head-copy b {
  font-weight: 600;
  font-size: 14.5px;
  display: block;
  color: var(--dc-text-primary, #1c1a17);
  line-height: 1.3;
}
#page-dining-credits .dc-terms-head-copy span {
  font-size: 12.5px;
  color: var(--dc-text-secondary, #6a635a);
  display: block;
  margin-top: 2px;
  line-height: 1.35;
}
#page-dining-credits .dc-terms.is-open .dc-terms-chevron {
  transform: rotate(90deg);
}
#page-dining-credits .dc-terms-body {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.3s ease;
}
#page-dining-credits .dc-terms.is-open .dc-terms-body {
  grid-template-rows: 1fr;
}
#page-dining-credits .dc-terms-inner {
  overflow: hidden;
}
#page-dining-credits .dc-terms-group {
  border-top: 1px solid var(--dc-border, #ece6dc);
  padding: 16px 18px;
}
#page-dining-credits .dc-terms-group h4 {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--dc-text-tertiary, #a39b8f);
  margin: 0 0 11px;
}
#page-dining-credits .dc-terms-line {
  display: flex;
  gap: 11px;
  padding: 7px 0;
  font-size: 13.5px;
  color: var(--dc-text-primary, #1c1a17);
  line-height: 1.45;
}
#page-dining-credits .dc-terms-line .material-symbols-outlined {
  font-size: 16px;
  flex: 0 0 auto;
  margin-top: 2px;
}
#page-dining-credits .dc-terms-line.is-ok .material-symbols-outlined {
  color: var(--dc-success, #1f8a5b);
}
#page-dining-credits .dc-terms-line.is-no .material-symbols-outlined {
  color: var(--dc-brand, #ff6b4a);
}
#page-dining-credits .dc-terms-line.is-info .material-symbols-outlined {
  color: var(--dc-text-tertiary, #a39b8f);
}
#page-dining-credits .dc-terms-line b {
  font-weight: 600;
}
#page-dining-credits .dc-bottom-bar {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 50;
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-top: 0.5px solid var(--dc-border);
  box-shadow: none;
  min-height: 0;
  box-sizing: border-box;
  padding: 8px clamp(14px, 4vw, 16px) max(8px, calc(env(safe-area-inset-bottom, 0px) + 8px));
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
#page-dining-credits:not(.active) .dc-bottom-bar {
  display: none !important;
}
#page-dining-credits .dc-bottom-bar .dc-buy-btn {
  width: auto;
  flex-shrink: 0;
  min-width: 100px;
  max-width: 42%;
  min-height: 44px;
  height: 44px;
  max-height: 44px;
  padding: 0 clamp(16px, 4vw, 20px);
  border-radius: 10px;
  font-size: var(--dc-purchase-text-base);
  font-weight: 600;
  letter-spacing: 0.01em;
}
#page-dining-my-credits .dc-my-card-active-body {
  min-height: 128px;
}
#page-dining-my-credits .dc-my-card:not(.is-used):not(.is-expired):not(.is-refunded):not(.is-pending-refund) .dc-my-card-value {
  margin: 2px 0 12px;
}
#page-dining-my-credits .dc-my-card-active-meta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  width: 100%;
}
#page-dining-my-credits .dc-my-restaurant-chip {
  display: flex;
  align-items: center;
  gap: 7px;
  max-width: 100%;
  margin: 0;
  padding: 8px 12px;
  border: 0.5px solid var(--dc-border);
  border-radius: 10px;
  background: var(--dc-bg-base);
  cursor: pointer;
  font-family: inherit;
  -webkit-tap-highlight-color: transparent;
}
#page-dining-my-credits .dc-my-restaurant-chip:active {
  opacity: 0.82;
}
#page-dining-my-credits .dc-my-restaurant-chip .material-symbols-outlined {
  font-size: 15px;
  color: var(--dc-text-secondary);
  flex-shrink: 0;
}
#page-dining-my-credits .dc-my-restaurant-chip-text {
  font-size: 13px;
  font-weight: 500;
  color: var(--dc-text-primary);
  line-height: 1.35;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
}
#page-dining-my-credits .dc-my-restaurant-chip-chevron {
  font-size: 15px;
  color: var(--dc-text-tertiary) !important;
}
#page-dining-my-credits .dc-my-expiry-plain {
  display: flex;
  align-items: center;
  gap: 6px;
  max-width: 100%;
  margin: 0;
}
#page-dining-my-credits .dc-my-expiry-plain .material-symbols-outlined {
  font-size: 14px;
  color: var(--dc-text-tertiary);
  flex-shrink: 0;
}
#page-dining-my-credits .dc-my-expiry-plain-text {
  font-size: 13px;
  font-weight: 400;
  color: var(--dc-text-tertiary);
  line-height: 1.35;
}
#page-dining-my-credits .dc-my-expiry-plain.is-urgent .material-symbols-outlined,
#page-dining-my-credits .dc-my-expiry-plain.is-urgent .dc-my-expiry-plain-text {
  color: #B45309;
}
#page-dining-my-credits .dc-my-expiry-plain.is-urgent .dc-my-expiry-plain-text {
  font-weight: 500;
}
#page-dining-my-credits .dc-my-expiry-plain.is-urgent .material-symbols-outlined {
  font-variation-settings: 'FILL' 1, 'wght' 500;
}
#page-dining-my-credits .dc-my-qr-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  min-height: 48px;
  max-height: none;
  margin: 14px 0 0;
  padding: 13px 16px;
  border: none;
  border-radius: 12px;
  background: var(--dc-brand);
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  font-family: inherit;
  line-height: 1;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: opacity 0.2s;
  box-sizing: border-box;
}
#page-dining-my-credits .dc-my-qr-btn:active {
  opacity: 0.88;
}
#page-dining-my-credits .dc-my-card.is-active .dc-my-qr-btn + .dc-my-details-section {
  margin-top: 12px;
}
#page-dining-my-credits .dc-my-qr-btn .material-symbols-outlined {
  font-size: 17px;
}
@media (max-width: 380px) {
  #page-dining-credits .dc-main { padding-left: 14px; padding-right: 14px; }
  #page-dining-credits .dc-bottom-bar .dc-buy-btn {
    min-width: 88px;
    padding: 0 12px;
  }
  #page-dining-my-credits .dc-my-shell { padding-left: 8px; padding-right: 8px; }
  #page-dining-my-credits .dc-my-inner { padding-left: 16px; padding-right: 16px; }
  #page-dining-my-credits .dc-my-hero-amount { font-size: 30px; }
}
.home-dining-credits-title {
  font-size: 18px;
  font-weight: 700;
  color: #FFFFFF;
  line-height: 1.25;
  letter-spacing: -0.01em;
  margin: 0;
}
.home-dining-credits-headline {
  font-size: 14px;
  font-weight: 600;
  color: rgba(255,255,255,0.75);
  line-height: 1.35;
  margin: 0;
}
.home-dining-credits-desc {
  font-size: 13px;
  font-weight: 400;
  color: rgba(255,255,255,0.65);
  line-height: 1.4;
  margin: 0;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

/* My dining credits wallet */
#page-dining-my-credits {
  --dc-brand: #c64a16;
  --dc-text-primary: #0F172A;
  --dc-text-secondary: #64748B;
  --dc-text-tertiary: #94A3B8;
  --dc-bg-base: #F8FAFC;
  --dc-bg-surface: #FFFFFF;
  --dc-border: #E2E8F0;
  --dc-success: #10B981;
  --dc-error: #EF4444;
  --dc-error-light: #FEF2F2;
  --dc-blue: #3B82F6;
  background: var(--dc-bg-base);
  position: relative;
}
#page-dining-my-credits.page.active {
  height: 100dvh;
  max-height: 100dvh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  background: var(--dc-bg-base);
}
#page-dining-my-credits .dc-my-page-header {
  position: sticky;
  top: 0;
  z-index: 20;
  flex-shrink: 0;
  background: var(--dc-bg-surface);
  border-bottom: 0.5px solid var(--dc-border);
  padding: calc(10px + env(safe-area-inset-top, 0px)) 16px 10px;
}
#page-dining-my-credits .dc-my-shell {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 20px 20px calc(env(safe-area-inset-bottom, 0px) + 24px);
  background: var(--dc-bg-base);
}
#page-dining-my-credits .dc-my-inner {
  max-width: 32rem;
  margin: 0 auto;
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 0;
  box-sizing: border-box;
}
#page-dining-my-credits .dc-my-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0;
  margin: 0;
  height: auto;
}
#page-dining-my-credits .dc-my-header-title {
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.02em;
  color: var(--dc-brand);
  text-transform: none;
}
#page-dining-my-credits .dc-my-header-spacer {
  width: 40px;
  height: 40px;
  flex-shrink: 0;
}
#page-dining-my-credits .dc-my-icon-btn .material-symbols-outlined {
  font-size: 22px;
  color: var(--dc-brand);
}
#page-dining-my-credits .dc-my-icon-btn {
  background: none;
  border: none;
  cursor: pointer;
  color: var(--dc-brand);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  -webkit-tap-highlight-color: transparent;
  transition: background 0.2s;
}
#page-dining-my-credits .dc-my-icon-btn:active {
  background: rgba(0, 0, 0, 0.05);
}
#page-dining-my-credits .dc-my-hero {
  margin: 0 0 clamp(20px, 5vw, 28px);
  padding-top: 6px;
}
#page-dining-my-credits .dc-my-hero-account {
  font-size: clamp(20px, 5vw, 24px);
  font-weight: 700;
  color: var(--dc-text-primary);
  letter-spacing: -0.02em;
  line-height: 1.2;
  margin: 0 0 6px;
}
#page-dining-my-credits .dc-my-hero-label {
  font-size: 14px;
  font-weight: 600;
  color: var(--dc-text-secondary);
  margin: 0 0 4px;
  line-height: 1.35;
}
#page-dining-my-credits .dc-my-hero-amount-row {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}
#page-dining-my-credits .dc-my-hero-subline {
  font-size: 16px;
  font-weight: 400;
  color: var(--dc-text-secondary);
  line-height: 1.35;
  margin: 0;
  width: 100%;
}
#page-dining-my-credits .dc-my-hero-subline.is-hero-primary {
  font-size: clamp(22px, 5.5vw, 28px);
  font-weight: 700;
  color: var(--dc-text-primary);
  letter-spacing: -0.02em;
  line-height: 1.15;
}
#page-dining-my-credits .dc-my-hero-amount {
  display: none;
}
#page-dining-my-credits .dc-my-hero-summary {
  font-size: clamp(13px, 3.4vw, 15px);
  font-weight: 400;
  color: var(--dc-text-secondary);
  margin: 0;
  line-height: 1.35;
  width: 100%;
}
#page-dining-my-credits .dc-my-tabs-wrap {
  margin-bottom: 32px;
}
#page-dining-my-credits .dc-my-tabs {
  display: flex;
  gap: 0;
  background: #f0edec;
  border-radius: 999px;
  padding: 4px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
#page-dining-my-credits .dc-my-tabs::-webkit-scrollbar {
  display: none;
}
#page-dining-my-credits .dc-my-tab {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
  padding: 10px 6px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
  border: none;
  background: transparent;
  color: var(--dc-text-secondary);
  cursor: pointer;
  font-family: inherit;
  -webkit-tap-highlight-color: transparent;
  transition: background 0.2s, color 0.2s, box-shadow 0.2s;
}
#page-dining-my-credits .dc-my-tab:active { transform: scale(0.98); }
#page-dining-my-credits .dc-my-tab.is-active {
  background: var(--dc-brand);
  color: #fff;
  box-shadow: 0 1px 3px rgba(216, 90, 48, 0.22);
}
#page-dining-my-credits .dc-my-tab-count {
  font-weight: 600;
  opacity: 0.72;
}
#page-dining-my-credits .dc-my-panel {
  display: none;
  flex-direction: column;
  gap: 16px;
}
#page-dining-my-credits .dc-my-panel.is-visible {
  display: flex;
  animation: dcMyFadeIn 0.35s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
@keyframes dcMyFadeIn {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}
#page-dining-my-credits .dc-my-card {
  background: #fff;
  border-radius: 32px;
  padding: 24px;
  border: none;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 0;
  transition: transform 0.1s ease-out;
}
#page-dining-my-credits .dc-my-card:active {
  transform: scale(0.985);
}
#page-dining-my-credits .dc-my-card.is-expired {
  opacity: 1;
}
#page-dining-my-credits .dc-my-card.is-refunded {
  border: 1px solid rgba(229, 226, 225, 0.6);
  border-radius: 24px;
  padding: 24px;
  gap: 0;
}
#page-dining-my-credits .dc-my-refund-card-head {
  margin-bottom: 16px;
}
#page-dining-my-credits .dc-my-refund-card-title {
  margin: 0;
  font-size: 24px;
  font-weight: 700;
  color: var(--dc-text-primary);
  line-height: 1.25;
  letter-spacing: -0.01em;
}
#page-dining-my-credits .dc-my-refund-card-details {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding-top: 16px;
  border-top: 1px solid #e5e2e1;
}
#page-dining-my-credits .dc-my-refund-detail-row {
  display: flex;
  align-items: center;
  gap: 16px;
}
#page-dining-my-credits .dc-my-refund-detail-icon {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
#page-dining-my-credits .dc-my-refund-detail-icon.is-success {
  background: #dcfce7;
  color: #15803d;
}
#page-dining-my-credits .dc-my-refund-detail-icon.is-success .material-symbols-outlined {
  font-variation-settings: 'FILL' 1, 'wght' 400;
}
#page-dining-my-credits .dc-my-refund-detail-icon.is-neutral {
  background: #f0edec;
  color: var(--dc-text-secondary);
}
#page-dining-my-credits .dc-my-refund-detail-icon .material-symbols-outlined {
  font-size: 24px;
}
#page-dining-my-credits .dc-my-refund-detail-text {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  color: var(--dc-text-primary);
  line-height: 1.35;
}
#page-dining-my-credits .dc-my-refund-detail-copy {
  min-width: 0;
}
#page-dining-my-credits .dc-my-refund-detail-subtext {
  margin: 2px 0 0;
  font-size: 12px;
  font-weight: 400;
  color: var(--dc-text-secondary);
  opacity: 0.6;
  line-height: 1.35;
}
#page-dining-my-credits .dc-my-card.is-refunded .dc-my-card-meta-list,
#page-dining-my-credits .dc-my-card.is-pending-refund .dc-my-card-meta-list {
  margin-bottom: 0;
}
#page-dining-my-credits .dc-my-card-body.is-compact .dc-my-card-meta-list {
  margin-bottom: 0;
}
#page-dining-my-credits .dc-my-card-body,
#page-dining-my-credits .dc-my-card-active-body {
  display: flex;
  flex-direction: column;
  gap: 0;
}
#page-dining-my-credits .dc-my-card-titles {
  margin-bottom: 16px;
}
#page-dining-my-credits .dc-my-card-titles.is-history {
  margin-bottom: 16px;
}
#page-dining-my-credits .dc-my-card-amount {
  margin: 0 0 4px;
  font-size: 22px;
  font-weight: 700;
  color: var(--dc-text-primary);
  line-height: 1.2;
  letter-spacing: -0.01em;
}
#page-dining-my-credits .dc-my-card-value {
  margin: 0;
  font-size: 18px;
  font-weight: 500;
  color: var(--dc-text-secondary);
  line-height: 1.35;
}
#page-dining-my-credits .dc-my-card-meta-list {
  list-style: none;
  margin: 0 0 24px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
#page-dining-my-credits .dc-my-card-meta-item,
#page-dining-my-credits .dc-my-card-meta-link {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0;
  padding: 0;
  border: none;
  background: none;
  font-family: inherit;
  text-align: left;
  color: var(--dc-text-secondary);
  cursor: default;
  -webkit-tap-highlight-color: transparent;
}
#page-dining-my-credits .dc-my-card-meta-link {
  cursor: pointer;
}
#page-dining-my-credits .dc-my-card-meta-link:active {
  opacity: 0.75;
}
#page-dining-my-credits .dc-my-card-meta-item .material-symbols-outlined,
#page-dining-my-credits .dc-my-card-meta-link .material-symbols-outlined {
  font-size: 18px;
  color: var(--dc-text-secondary);
  flex-shrink: 0;
}
#page-dining-my-credits .dc-my-card-meta-item .material-symbols-outlined.is-brand,
#page-dining-my-credits .dc-my-card-meta-link .material-symbols-outlined.is-brand {
  color: var(--dc-brand);
}
#page-dining-my-credits .dc-my-card-meta-item .material-symbols-outlined.is-success,
#page-dining-my-credits .dc-my-card-meta-link .material-symbols-outlined.is-success {
  color: #4CAF50;
  font-variation-settings: 'FILL' 1, 'wght' 500;
}
#page-dining-my-credits .dc-my-card-meta-item .material-symbols-outlined.is-pending,
#page-dining-my-credits .dc-my-card-meta-link .material-symbols-outlined.is-pending {
  color: #B26A00;
}
#page-dining-my-credits .dc-my-card-meta-item .material-symbols-outlined.is-muted,
#page-dining-my-credits .dc-my-card-meta-link .material-symbols-outlined.is-muted {
  color: #94A3B8;
}
#page-dining-my-credits .dc-my-card-meta-item .material-symbols-outlined.is-urgent,
#page-dining-my-credits .dc-my-card-meta-link .material-symbols-outlined.is-urgent {
  color: #B26A00;
}
#page-dining-my-credits .dc-my-card-meta-text {
  font-size: 14px;
  font-weight: 400;
  color: var(--dc-text-secondary);
  line-height: 1.35;
}
#page-dining-my-credits .dc-my-card-meta-link .dc-my-card-meta-text {
  color: var(--dc-brand);
  font-weight: 500;
}
#page-dining-my-credits .dc-my-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 0;
}
#page-dining-my-credits .dc-my-refund-btn {
  flex-shrink: 0;
  border: none;
  background: #FAECE7;
  color: var(--dc-brand);
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  padding: 8px 12px;
  border-radius: 999px;
  cursor: pointer;
  font-family: inherit;
  -webkit-tap-highlight-color: transparent;
}
#page-dining-my-credits .dc-my-details-section {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 12px;
  padding-top: 0;
  border-top: none;
}
#page-dining-my-credits .dc-my-details-header {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
  width: auto;
  max-width: 100%;
  margin: 0;
  padding: 8px 4px;
  border: none;
  border-radius: 0;
  background: transparent;
  color: var(--dc-text-primary);
  font-size: 14px;
  font-weight: 500;
  font-family: inherit;
  line-height: 1.2;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: color 0.15s ease;
}
#page-dining-my-credits .dc-my-details-header-label {
  flex: 0 0 auto;
  text-align: center;
}
#page-dining-my-credits .dc-my-details-header:active {
  color: var(--dc-text-secondary);
}
#page-dining-my-credits .dc-my-details-chevron {
  font-size: 18px;
  color: var(--dc-text-primary);
  flex-shrink: 0;
  transition: transform 0.2s ease;
}
#page-dining-my-credits .dc-my-details-header.is-open .dc-my-details-chevron {
  transform: rotate(180deg);
}
#page-dining-my-credits .dc-my-records-panel {
  width: 100%;
  align-self: stretch;
}
#page-dining-my-credits .dc-my-records-panel:not([hidden]) {
  margin-top: 8px;
  padding: 16px 0 4px;
  border-top: 1px solid #ebe7e7;
}
#page-dining-my-credits .dc-my-records-panel-heading {
  margin: 0 0 14px;
  font-size: 13px;
  font-weight: 500;
  color: var(--dc-text-secondary);
  line-height: 1.35;
}
#page-dining-my-credits .dc-my-records-panel-body {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
#page-dining-my-credits .dc-my-record-entry {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}
#page-dining-my-credits .dc-my-record-copy {
  flex: 1 1 auto;
  min-width: 0;
}
#page-dining-my-credits .dc-my-record-name {
  margin: 0;
  font-size: 14px;
  font-weight: 700;
  color: var(--dc-text-primary);
  line-height: 1.35;
}
#page-dining-my-credits .dc-my-record-detail {
  margin: 2px 0 0;
  font-size: 13px;
  font-weight: 400;
  color: var(--dc-text-secondary);
  line-height: 1.35;
}
#page-dining-my-credits .dc-my-record-saved {
  margin: 0;
  flex: 0 0 auto;
  font-size: 14px;
  font-weight: 700;
  color: #10B981;
  line-height: 1.35;
  text-align: right;
  white-space: nowrap;
}
#page-dining-my-credits .dc-my-record-entry.is-muted .dc-my-record-name,
#page-dining-my-credits .dc-my-record-entry.is-muted .dc-my-record-detail,
#page-dining-my-credits .dc-my-record-entry.is-muted .dc-my-record-saved {
  color: var(--dc-text-secondary);
}
#page-dining-my-credits .dc-my-record-entry.is-muted .dc-my-record-saved {
  font-weight: 600;
}

/* QR redemption page */
#page-dining-credit-qr {
  --dc-qr-brand: #C45A28;
  --dc-qr-brand-deep: #9A3F18;
  --dc-qr-surface: #F4F6F8;
  --dc-qr-tertiary: #006972;
  background: var(--dc-qr-surface);
  position: relative;
}
#page-dining-credit-qr.page.active {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  height: 100dvh;
  max-height: 100dvh;
  overflow: hidden;
}
#page-dining-credit-qr .dc-qr-header {
  position: sticky;
  top: 0;
  z-index: 20;
  flex-shrink: 0;
  background: var(--dc-qr-surface);
  padding-top: env(safe-area-inset-top, 0px);
  width: 100%;
}
#page-dining-credit-qr .dc-qr-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 20px;
  max-width: 32rem;
  margin: 0 auto;
  width: 100%;
  box-sizing: border-box;
}
#page-dining-credit-qr .dc-qr-back-btn {
  width: 40px;
  height: 40px;
  border: none;
  border-radius: 50%;
  background: transparent;
  color: var(--dc-qr-brand);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: background 0.2s, transform 0.1s;
}
#page-dining-credit-qr .dc-qr-header-spacer {
  width: 40px;
  height: 40px;
  flex-shrink: 0;
}
#page-dining-credit-qr .dc-qr-back-btn:active {
  background: rgba(196, 90, 40, 0.08);
  transform: scale(0.95);
}
#page-dining-credit-qr .dc-qr-back-btn .material-symbols-outlined {
  font-size: 24px;
}
#page-dining-credit-qr .dc-qr-header-title {
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--dc-qr-brand);
  margin: 0;
}
#page-dining-credit-qr .dc-qr-main {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  padding: 4px 20px calc(env(safe-area-inset-bottom, 0px) + 28px);
  box-sizing: border-box;
}
#page-dining-credit-qr .dc-qr-shell {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  max-width: 28rem;
  margin: 0 auto;
  gap: 20px;
  flex: 0 0 auto;
}
#page-dining-credit-qr .dc-qr-balance {
  width: 100%;
  text-align: center;
  padding: 4px 0;
}
#page-dining-credit-qr .dc-qr-balance-label {
  margin: 0 0 10px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #94A3B8;
  line-height: 1.3;
}
#page-dining-credit-qr .dc-qr-balance-amount {
  margin: 0;
  display: inline-flex;
  align-items: flex-start;
  justify-content: center;
  gap: 2px;
  font-weight: 800;
  color: #0F172A;
  line-height: 1;
}
#page-dining-credit-qr .dc-qr-currency {
  font-size: clamp(22px, 6vw, 28px);
  font-weight: 700;
  margin-top: 0.18em;
}
#page-dining-credit-qr .dc-qr-amount-num {
  font-size: clamp(40px, 11vw, 52px);
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}
#page-dining-credit-qr .dc-qr-card {
  width: 100%;
  background: #FFFBFA;
  border: 1px solid rgba(226, 232, 240, 0.9);
  border-radius: 20px;
  padding: 24px 20px 20px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  box-sizing: border-box;
}
#page-dining-credit-qr .dc-qr-remaining-line,
#page-dining-credit-qr .dc-qr-code-block,
#page-dining-credit-qr .dc-qr-code-wrap,
#page-dining-credit-qr .dc-qr-gradient-border,
#page-dining-credit-qr .dc-qr-manual-label,
#page-dining-credit-qr .dc-qr-help-text {
  display: none;
}
#page-dining-credit-qr .dc-qr-pay-hint {
  margin: 0 0 16px;
  font-size: 14px;
  font-weight: 500;
  color: #64748B;
  line-height: 1.4;
}
#page-dining-credit-qr .dc-qr-code-frame {
  appearance: none;
  -webkit-appearance: none;
  width: 100%;
  cursor: pointer;
  font: inherit;
  text-align: center;
  width: 100%;
  box-sizing: border-box;
  background: #ffffff;
  border: 1px solid #E8E0DD;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(28px, 7vw, 36px) clamp(12px, 4vw, 16px);
  margin-bottom: 16px;
}
#page-dining-credit-qr .dc-qr-code-frame:active {
  transform: scale(0.99);
  background: #fafafa;
}
#page-dining-credit-qr .dc-qr-backup-code {
  margin: 0;
  font-size: clamp(42px, 12vw, 56px);
  font-weight: 700;
  letter-spacing: clamp(8px, 2.8vw, 12px);
  color: #5D2E17;
  line-height: 1;
  font-family: var(--app-font-mono, ui-monospace, 'Courier New', monospace);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
#page-dining-credit-qr .dc-qr-hero {
  display: none;
}
#page-dining-credit-qr .dc-qr-hero-label,
#page-dining-credit-qr .dc-qr-hero-amount {
  display: none;
}
#page-dining-credit-qr .dc-qr-redeem-cap {
  margin: 0 0 12px;
  font-size: 14px;
  font-weight: 500;
  color: #5a413b;
  line-height: 1.35;
}
#page-dining-credit-qr .dc-qr-timer-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-radius: 999px;
  background: #E8F4FC;
}
@keyframes dcQrRefreshSpin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
#page-dining-credit-qr .dc-qr-refresh-icon {
  font-size: 16px;
  color: var(--dc-qr-brand);
  animation: dcQrRefreshSpin 10s linear infinite;
}
#page-dining-credit-qr .dc-qr-timer {
  margin: 0;
  font-size: 13px;
  font-weight: 500;
  color: #64748B;
  line-height: 1.35;
}
#page-dining-credit-qr .dc-qr-timer-count {
  font-weight: 700;
  color: #334155;
  font-variant-numeric: tabular-nums;
}
#page-dining-credit-qr .dc-qr-venues {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  width: 100%;
  margin: 0;
  padding: 14px 16px;
  border: 1px solid rgba(226, 232, 240, 0.9);
  border-radius: 16px;
  background: #ffffff;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.03);
  cursor: pointer;
  font-family: inherit;
  text-align: left;
  -webkit-tap-highlight-color: transparent;
  transition: background 0.2s, transform 0.1s;
  box-sizing: border-box;
}
#page-dining-credit-qr .dc-qr-venues:active {
  background: #f8fafc;
  transform: scale(0.99);
}
#page-dining-credit-qr .dc-qr-venues-leading {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
  flex: 1 1 auto;
}
#page-dining-credit-qr .dc-qr-venues-icon-wrap {
  width: 44px;
  height: 44px;
  border-radius: 10px;
  background: var(--dc-qr-brand);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
#page-dining-credit-qr .dc-qr-venues-icon-wrap .material-symbols-outlined {
  font-size: 22px;
  color: #ffffff;
}
#page-dining-credit-qr .dc-qr-venues-copy {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
#page-dining-credit-qr .dc-qr-venues-title {
  font-size: 15px;
  font-weight: 700;
  color: #1E293B;
  line-height: 1.35;
}
#page-dining-credit-qr .dc-qr-venues-subtitle {
  font-size: 13px;
  font-weight: 400;
  color: #94A3B8;
  line-height: 1.35;
}
#page-dining-credit-qr .dc-qr-venues-chevron {
  flex-shrink: 0;
  font-size: 22px;
  color: #CBD5E1;
  transition: transform 0.2s;
}
#page-dining-credit-qr .dc-qr-venues:active .dc-qr-venues-chevron {
  transform: translateX(2px);
}

/* Redemption success */
#page-dining-redemption-success {
  --dc-redeem-brand: #ff6b4a;
  --dc-redeem-charcoal: #1a1a1a;
  --dc-redeem-emerald: #10b981;
  --dc-redeem-emerald-bg: #ecfdf5;
  --dc-redeem-orange-bg: #fff7ed;
  --dc-redeem-orange-strong: #7c2d12;
  --dc-redeem-orange-muted: rgba(154, 52, 18, 0.7);
  background: #ffffff;
  position: relative;
}
#page-dining-redemption-success.page.active {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  height: 100dvh;
  max-height: 100dvh;
  overflow: hidden;
}
#page-dining-redemption-success .dc-redeem-layout {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  max-width: 28rem;
  margin: 0 auto;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  padding: calc(env(safe-area-inset-top, 0px) + 24px) clamp(16px, 5vw, 24px) 16px;
  box-sizing: border-box;
}
@keyframes dcRedeemScaleIn {
  from { transform: scale(0.8); opacity: 0; }
  to { transform: scale(1); opacity: 1; }
}
#page-dining-redemption-success .dc-redeem-hero {
  width: 100%;
  text-align: center;
  margin-bottom: clamp(24px, 6vw, 40px);
}
#page-dining-redemption-success .dc-redeem-check-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: var(--dc-redeem-emerald-bg);
  color: var(--dc-redeem-emerald);
  margin: 0 auto 24px;
  animation: dcRedeemScaleIn 0.5s ease-out forwards;
}
#page-dining-redemption-success .dc-redeem-check-icon {
  width: 40px;
  height: 40px;
  display: block;
}
#page-dining-redemption-success .dc-redeem-saved-label {
  margin: 0 0 8px;
  font-size: 14px;
  font-weight: 600;
  color: #6b7280;
  line-height: 1.3;
}
#page-dining-redemption-success .dc-redeem-saved {
  margin: 0 0 16px;
  font-size: clamp(40px, 12vw, 60px);
  font-weight: 800;
  letter-spacing: -0.025em;
  color: var(--dc-redeem-charcoal);
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
#page-dining-redemption-success .dc-redeem-venue-block {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
#page-dining-redemption-success .dc-redeem-venue {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  color: var(--dc-redeem-charcoal);
  line-height: 1.35;
}
#page-dining-redemption-success .dc-redeem-datetime {
  margin: 0;
  font-size: 14px;
  font-weight: 400;
  color: #9ca3af;
  line-height: 1.35;
}
#page-dining-redemption-success .dc-redeem-bill-card {
  width: 100%;
  background: #ffffff;
  border: 1px solid #f3f4f6;
  border-radius: clamp(20px, 5vw, 32px);
  padding: clamp(20px, 5vw, 32px);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
  margin-bottom: 12px;
  box-sizing: border-box;
}
#page-dining-redemption-success .dc-redeem-bill-lines {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
#page-dining-redemption-success .dc-redeem-bill-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-size: 16px;
  font-weight: 500;
  color: #6b7280;
  line-height: 1.4;
}
#page-dining-redemption-success .dc-redeem-bill-row span:last-child {
  color: var(--dc-redeem-charcoal);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  flex-shrink: 0;
}
#page-dining-redemption-success .dc-redeem-bill-row.is-discount span:last-child {
  color: var(--dc-redeem-emerald);
  font-weight: 700;
}
#page-dining-redemption-success .dc-redeem-bill-total-block {
  border-top: 1px solid #f3f4f6;
  padding-top: 16px;
  margin-top: 0;
}
#page-dining-redemption-success .dc-redeem-bill-row.is-total {
  font-size: 18px;
  font-weight: 700;
  color: var(--dc-redeem-charcoal);
}
#page-dining-redemption-success .dc-redeem-bill-row.is-total span:first-child {
  color: var(--dc-redeem-charcoal);
  font-weight: 700;
}
#page-dining-redemption-success .dc-redeem-bill-row.is-total span:last-child {
  font-size: 24px;
  font-weight: 800;
}
#page-dining-redemption-success .dc-redeem-remaining-card {
  width: 100%;
  background: var(--dc-redeem-orange-bg);
  border-radius: 20px;
  padding: 14px 16px;
  margin-bottom: 12px;
  box-sizing: border-box;
  text-align: left;
}
#page-dining-redemption-success .dc-redeem-remaining-amount {
  margin: 0 0 4px;
  font-size: 20px;
  font-weight: 800;
  color: var(--dc-redeem-orange-strong);
  line-height: 1.2;
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
}
#page-dining-redemption-success .dc-redeem-valid-until {
  margin: 0;
  padding-left: 46px;
  font-size: 13px;
  font-weight: 500;
  color: var(--dc-redeem-orange-muted);
  line-height: 1.35;
}
#page-dining-redemption-success .dc-redeem-fully-used-card {
  width: 100%;
  background: #f6f3f2;
  border-radius: 32px;
  padding: 24px;
  margin-bottom: 32px;
  box-sizing: border-box;
  text-align: left;
}
#page-dining-redemption-success .dc-redeem-fully-used-title {
  margin: 0 0 6px;
  font-size: 16px;
  font-weight: 700;
  color: var(--dc-redeem-charcoal);
  line-height: 1.3;
}
#page-dining-redemption-success .dc-redeem-fully-used-body {
  margin: 0;
  font-size: 14px;
  font-weight: 400;
  color: #6b7280;
  line-height: 1.45;
}
#page-dining-redemption-success .dc-redeem-actions {
  flex-shrink: 0;
  width: 100%;
  max-width: 28rem;
  margin: 0 auto;
  padding: 12px clamp(16px, 5vw, 24px) max(12px, calc(env(safe-area-inset-bottom, 0px) + 12px));
  box-sizing: border-box;
  background: #ffffff;
  display: flex;
  gap: 10px;
}
#page-dining-redemption-success .dc-redeem-primary-btn {
  flex: 1;
  display: block;
  margin: 0;
  padding: 16px 12px;
  border: none;
  border-radius: 12px;
  background: var(--dc-redeem-brand);
  color: #ffffff;
  font-size: 15px;
  font-weight: 600;
  font-family: inherit;
  line-height: 1.2;
  cursor: pointer;
  box-shadow: none;
  -webkit-tap-highlight-color: transparent;
  transition: background 0.15s ease, transform 0.1s ease;
}
#page-dining-redemption-success .dc-redeem-primary-btn:active {
  transform: scale(0.98);
  background: #c44f2a;
}
#page-dining-redemption-success .dc-redeem-topup-btn {
  flex: 1;
  display: block;
  margin: 0;
  padding: 16px 12px;
  border: 1.5px solid #F0803C;
  border-radius: 12px;
  background: transparent;
  color: #F0803C;
  font-size: 15px;
  font-weight: 600;
  font-family: inherit;
  line-height: 1.2;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: background 0.15s ease, transform 0.1s ease;
}
#page-dining-redemption-success .dc-redeem-topup-btn:active {
  transform: scale(0.98);
  background: rgba(240, 128, 60, 0.06);
}

/* Purchase payment status pages */
.dc-pay-status-page {
  --dc-pay-status-ink: #16181C;
  --dc-pay-status-ink-soft: #7A7E85;
  --dc-pay-status-ink-faint: #ADB0B6;
  --dc-pay-status-line: #EEEFEC;
  --dc-pay-status-success: #0F9D58;
  --dc-pay-status-success-bg: #E7F7EE;
  --dc-pay-status-error: #D93B3B;
  --dc-pay-status-error-bg: #FDEBEB;
  --dc-pay-status-accent: #CB5A34;
  --dc-pay-status-accent-hover: #B54F2D;
  background: #FFFFFF;
}
#page-dining-purchase-success.page.active,
#page-dining-purchase-failed.page.active {
  display: flex;
  flex-direction: column;
  height: 100dvh;
  max-height: 100dvh;
  overflow: hidden;
}
.dc-pay-status-content {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: calc(env(safe-area-inset-top, 0px) + 24px) 32px 24px;
  box-sizing: border-box;
}
.dc-pay-status-icon-ring {
  width: 88px;
  height: 88px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px;
  flex-shrink: 0;
}
.dc-pay-status-icon-ring.is-success {
  background: var(--dc-pay-status-success-bg);
  color: var(--dc-pay-status-success);
}
.dc-pay-status-icon-ring.is-error {
  background: var(--dc-pay-status-error-bg);
  color: var(--dc-pay-status-error);
}
.dc-pay-status-icon-ring svg {
  width: 38px;
  height: 38px;
}
.dc-pay-status-eyebrow {
  margin: 0 0 10px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.02em;
  line-height: 1.35;
}
.dc-pay-status-eyebrow.is-success {
  color: var(--dc-pay-status-success);
}
.dc-pay-status-eyebrow.is-error {
  color: var(--dc-pay-status-error);
}
.dc-pay-status-headline {
  margin: 0 0 8px;
  font-family: var(--app-font-headline, inherit);
  font-size: clamp(24px, 6.5vw, 26px);
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.25;
  color: var(--dc-pay-status-ink);
  max-width: 300px;
}
.dc-pay-status-subline {
  margin: 0;
  font-size: 14.5px;
  font-weight: 500;
  color: var(--dc-pay-status-ink-soft);
  line-height: 1.5;
  max-width: 280px;
}
.dc-pay-status-reason {
  margin: 14px 0 0;
  font-size: 13px;
  font-weight: 500;
  color: var(--dc-pay-status-ink-faint);
  background: #F7F7F5;
  padding: 8px 14px;
  border-radius: 10px;
  line-height: 1.45;
  max-width: 280px;
}
.dc-pay-status-footer {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 16px 20px calc(env(safe-area-inset-bottom, 0px) + 28px);
  max-width: 32rem;
  width: 100%;
  margin: 0 auto;
  box-sizing: border-box;
}
.dc-pay-status-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 52px;
  border-radius: 14px;
  font-size: 15.5px;
  font-weight: 700;
  font-family: inherit;
  border: none;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: background 0.15s ease, transform 0.1s ease;
}
.dc-pay-status-btn--primary {
  background: var(--dc-pay-status-accent);
  color: #fff;
}
.dc-pay-status-btn--primary:active {
  background: var(--dc-pay-status-accent-hover);
  transform: scale(0.98);
}
.dc-pay-status-btn--ghost {
  background: transparent;
  color: var(--dc-pay-status-ink);
  font-weight: 600;
  border: 1.5px solid var(--dc-pay-status-line);
}
.dc-pay-status-btn--ghost:active {
  background: #F7F7F5;
  transform: scale(0.98);
}

/* My credits — refund pill */
#page-dining-my-credits .dc-my-refund-btn {
  flex-shrink: 0;
  align-self: flex-start;
  margin: 0;
  padding: 6px 15px;
  border: 0.5px solid #F0C4B3;
  border-radius: 999px;
  background: #FAECE7;
  color: #C2410C;
  font-size: 13px;
  font-weight: 600;
  font-family: inherit;
  line-height: 1.3;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  white-space: nowrap;
}
#page-dining-my-credits .dc-my-refund-btn:active {
  opacity: 0.82;
}

/* Refund bottom sheet */
#dc-refund-backdrop.dc-refund-backdrop {
  z-index: 222;
  background: rgba(22, 19, 15, 0.5);
}
#dc-refund-sheet.bottom-sheet {
  z-index: 223;
  padding: 10px 22px max(20px, calc(env(safe-area-inset-bottom, 0px) + 16px));
  border-radius: 22px 22px 0 0;
  max-height: none;
  background: #fff;
}
.dc-refund-sheet-handle {
  width: 38px;
  height: 4px;
  border-radius: 999px;
  background: #E2E8F0;
  margin: 0 auto 18px;
  flex-shrink: 0;
}
.dc-refund-panel {
  display: flex;
  flex-direction: column;
}
.dc-refund-panel[hidden] {
  display: none !important;
}
#dc-refund-sheet:not(.is-success) #dc-refund-success-panel {
  display: none !important;
}
#dc-refund-sheet.is-success #dc-refund-confirm-panel {
  display: none !important;
}
.dc-refund-sheet-body {
  padding: 0;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.dc-refund-confirm-icon {
  width: 52px;
  height: 52px;
  margin: 0 auto 14px;
  border-radius: 50%;
  background: #FAECE7;
  color: #ff6b4a;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.dc-refund-confirm-icon .material-symbols-outlined {
  font-size: 26px;
  font-variation-settings: 'FILL' 0, 'wght' 500;
}
.dc-refund-sheet-label {
  font-size: 14px;
  font-weight: 500;
  color: #64748B;
  margin: 0;
  line-height: 1.35;
}
.dc-refund-sheet-title {
  font-size: 20px;
  font-weight: 700;
  color: #0F172A;
  margin: 0;
  line-height: 1.25;
}
.dc-refund-purchase-value {
  font-size: 30px;
  font-weight: 700;
  color: #0F172A;
  margin: 4px 0 0;
  line-height: 1.05;
  letter-spacing: -0.01em;
  font-variant-numeric: tabular-nums;
}
.dc-refund-confirm-method {
  font-size: 14px;
  font-weight: 400;
  color: #64748B;
  margin: 8px 0 0;
  line-height: 1.4;
  max-width: 18rem;
}
.dc-refund-success-icon {
  width: 58px;
  height: 58px;
  margin: 0 auto 16px;
  border-radius: 50%;
  background: #E1F5EE;
  color: #ff6b4a;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.dc-refund-success-icon .material-symbols-outlined {
  font-size: 30px;
  font-variation-settings: 'FILL' 1, 'wght' 600;
}
.dc-refund-success-body {
  font-size: 14px;
  font-weight: 400;
  color: #64748B;
  margin: 7px 0 0;
  line-height: 1.4;
  max-width: 18rem;
}
.dc-refund-success-hint {
  font-size: 13px;
  font-weight: 400;
  color: #94A3B8;
  margin: 5px 0 0;
  line-height: 1.4;
}
.dc-refund-sheet-actions {
  padding: 0;
  margin-top: 22px;
  border-top: none;
}
.dc-refund-sheet-actions.is-split {
  display: flex;
  gap: 10px;
  width: 100%;
}
.dc-refund-confirm-btn {
  flex: 1 1 0;
  min-width: 0;
  min-height: 48px;
  padding: 14px 10px;
  border-radius: 13px;
  font-size: 15px;
  font-weight: 600;
  white-space: nowrap;
  font-family: inherit;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: opacity 0.2s;
  line-height: 1.2;
  text-align: center;
  box-sizing: border-box;
}
.dc-refund-confirm-btn.is-full {
  width: 100%;
  flex: none;
  padding: 15px 12px;
  font-size: 16px;
}
.dc-refund-confirm-btn:active {
  opacity: 0.85;
}
.dc-refund-confirm-btn.is-cancel {
  border: 0.5px solid #E2E8F0;
  background: #fff;
  color: #0F172A;
}
.dc-refund-confirm-btn.is-confirm {
  border: none;
  background: #ff6b4a;
  color: #fff;
}

/* Stripe-style payment sheet */
#dc-pay-backdrop.dc-pay-backdrop {
  z-index: 224;
  background: rgba(22, 19, 15, 0.52);
}
#dc-pay-sheet.bottom-sheet {
  z-index: 225;
  padding: 8px 20px max(18px, calc(env(safe-area-inset-bottom, 0px) + 14px));
  border-radius: 20px 20px 0 0;
  max-height: min(88vh, 720px);
  overflow-y: auto;
  background: #fff;
  font-family: var(--app-font-body, 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif);
}
.dc-pay-sheet-handle {
  width: 36px;
  height: 4px;
  border-radius: 999px;
  background: #E3E8EE;
  margin: 0 auto 14px;
}
.dc-pay-sheet-head {
  position: relative;
  text-align: center;
  padding: 0 36px 18px;
}
.dc-pay-close-btn {
  position: absolute;
  top: 0;
  right: 0;
  width: 32px;
  height: 32px;
  border: none;
  border-radius: 999px;
  background: #F6F8FB;
  color: #6B7280;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-family: inherit;
  -webkit-tap-highlight-color: transparent;
}
.dc-pay-close-btn .material-symbols-outlined {
  font-size: 18px;
}
.dc-pay-sheet-merchant {
  margin: 0 0 4px;
  font-size: 14px;
  font-weight: 500;
  color: #64748B;
  line-height: 1.35;
}
.dc-pay-sheet-amount {
  margin: 0;
  font-family: var(--app-font-headline, 'Plus Jakarta Sans', 'Inter', system-ui, sans-serif);
  font-size: 28px;
  font-weight: 700;
  color: #0F172A;
  line-height: 1.1;
  letter-spacing: -0.02em;
}
.dc-pay-sheet-label {
  margin: 0 0 10px;
  font-family: var(--app-font-headline, 'Plus Jakarta Sans', 'Inter', system-ui, sans-serif);
  font-size: 16px;
  font-weight: 600;
  color: #0F172A;
  line-height: 1.35;
}
.dc-pay-methods {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 12px;
}
.dc-pay-method {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  padding: 12px 14px;
  border: 1.5px solid #E3E8EE;
  border-radius: 12px;
  background: #fff;
  cursor: pointer;
  text-align: left;
  font-family: inherit;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
  -webkit-tap-highlight-color: transparent;
}
.dc-pay-method.is-selected {
  border-color: #635BFF;
  background: #F7F7FF;
  box-shadow: 0 0 0 1px rgba(99, 91, 255, 0.08);
}
.dc-pay-method-main {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}
.dc-pay-method-icon {
  width: 34px;
  height: 34px;
  border-radius: 8px;
  background: #F6F8FB;
  color: #30313D;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.dc-pay-method-icon .material-symbols-outlined {
  font-size: 18px;
}
.dc-pay-method-icon.is-apple {
  background: #fff;
  color: #111827;
  border: 1px solid #E3E8EE;
}
.dc-pay-method-icon.is-apple svg {
  display: block;
  width: 18px;
  height: 18px;
}
.dc-pay-method-icon.is-google {
  background: #fff;
  border: 1px solid #E3E8EE;
}
.dc-pay-method-copy {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
.dc-pay-method-name {
  font-size: 15px;
  font-weight: 600;
  color: #0F172A;
  line-height: 1.35;
}
.dc-pay-card-brands {
  display: flex;
  align-items: center;
  gap: 4px;
}
.dc-pay-brand {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  height: 16px;
  padding: 0 4px;
  border-radius: 3px;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.02em;
  line-height: 1;
}
.dc-pay-brand.is-visa {
  background: #1A1F71;
  color: #fff;
}
.dc-pay-brand.is-mc {
  background: #EB001B;
  color: #fff;
}
.dc-pay-brand.is-amex {
  background: #2E77BC;
  color: #fff;
}
.dc-pay-method-radio {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 1.5px solid #C7CDD6;
  flex-shrink: 0;
  position: relative;
}
.dc-pay-method.is-selected .dc-pay-method-radio {
  border-color: #635BFF;
  background: #635BFF;
}
.dc-pay-method.is-selected .dc-pay-method-radio::after {
  content: '';
  position: absolute;
  inset: 4px;
  border-radius: 50%;
  background: #fff;
}
.dc-pay-card-fields {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 14px;
  padding: 14px;
  border-radius: 12px;
  background: #F6F8FB;
  border: 1px solid #E3E8EE;
}
.dc-pay-card-fields[hidden] {
  display: none !important;
}
.dc-pay-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.dc-pay-field-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.dc-pay-field-label {
  font-size: 14px;
  font-weight: 500;
  color: #64748B;
  line-height: 1.35;
}
.dc-pay-input {
  width: 100%;
  height: 44px;
  padding: 0 12px;
  border: 1px solid #E2E8F0;
  border-radius: 10px;
  background: #fff;
  color: #0F172A;
  font-size: 15px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  line-height: 1.35;
  box-sizing: border-box;
}
.dc-pay-submit {
  width: 100%;
  min-height: 48px;
  margin: 0 0 12px;
  padding: 0 18px;
  border: none;
  border-radius: 12px;
  background: #ff6b4a;
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  font-family: inherit;
  line-height: 1.2;
  cursor: pointer;
  transition: opacity 0.15s ease, transform 0.1s ease;
  -webkit-tap-highlight-color: transparent;
}
.dc-pay-submit:active {
  transform: scale(0.99);
}
.dc-pay-submit:disabled,
.dc-pay-submit.is-processing {
  opacity: 0.72;
  cursor: default;
}
.dc-pay-stripe-badge {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin: 0;
  font-size: 12px;
  font-weight: 500;
  color: #6B7280;
  line-height: 1.3;
}
.dc-pay-stripe-badge .material-symbols-outlined {
  font-size: 14px;
}
.dc-pay-stripe-wordmark {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: -0.03em;
  color: #635BFF;
  text-transform: lowercase;
}

/* Empty state — My Credits active tab */
.dc-my-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 48px 24px 32px;
  gap: 6px;
}
.dc-my-empty-icon {
  font-size: 44px;
  color: #B0BDBA;
  margin-bottom: 8px;
}
.dc-my-empty-title {
  font-size: 16px;
  font-weight: 600;
  color: #16211D;
  line-height: 1.3;
}
.dc-my-empty-desc {
  font-size: 14px;
  color: #5C6B63;
  line-height: 1.5;
  max-width: 260px;
  margin: 4px auto 0;
}
.dc-my-empty-btn {
  margin-top: 20px;
  padding: 14px 28px;
  background: #F0803C;
  color: #fff;
  border: none;
  border-radius: 12px;
  font-size: 15px;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: opacity 0.15s ease;
}
.dc-my-empty-btn:active {
  opacity: 0.8;
}

/* Benefits use the same accent and saved light/dark preference as the app. */
#page-dining-credits,
#page-dining-my-credits {
  --dc-brand: #dd7650;
  --dc-brand-light: #fff0e9;
  --dc-bg-base: #f7f5f2;
  --dc-bg-surface: #fff;
  --dc-text-primary: #211e1b;
  --dc-text-secondary: #68615c;
  --dc-text-tertiary: #827b76;
  --dc-border: #e9e1dc;
}
#dining-credits-mount:has(#page-dining-my-credits.active),
#dining-credits-mount:has(#page-dining-credits.active) { background: #f7f5f2; }
:root[data-theme="dark"] #dining-credits-mount:has(#page-dining-my-credits.active),
:root[data-theme="dark"] #dining-credits-mount:has(#page-dining-credits.active) { background: #111317; }
#page-dining-credits .dc-header-inner,
#page-dining-my-credits .dc-my-header-inner { position: relative; min-height: 44px; }
#page-dining-credits.is-tab-root .dc-header-inner,
#page-dining-my-credits.is-tab-root .dc-my-header-inner { justify-content: center; }
#page-dining-credits .dc-main { background: var(--dc-bg-base); }
#page-dining-credits .dc-intro { margin: 6px 0 22px; }
#page-dining-credits .dc-hero-title { color: var(--dc-text-primary); }
#page-dining-credits .dc-section-tabs,
#page-dining-my-credits .dc-section-tabs { background: #ece8e5; border-color: var(--dc-border); box-shadow: none; }
#page-dining-credits .dc-section-tab,
#page-dining-my-credits .dc-section-tab { color: var(--dc-text-secondary); }
#page-dining-credits .dc-section-tab.is-active,
#page-dining-my-credits .dc-section-tab.is-active { background: var(--dc-bg-surface); color: var(--dc-brand); box-shadow: 0 2px 8px rgba(49,28,21,.1); }
#page-dining-my-credits .dc-my-hero {
  margin: 3px 0 20px;
  padding: 19px 20px;
  border: 1px solid color-mix(in srgb, var(--dc-brand) 24%, var(--dc-border));
  border-radius: 18px;
  background: linear-gradient(125deg, color-mix(in srgb, var(--dc-brand) 13%, var(--dc-bg-surface)), var(--dc-bg-surface) 72%);
  box-shadow: 0 8px 22px rgba(66,39,27,.06);
}
#page-dining-my-credits .dc-my-hero-subline.is-hero-primary { color: var(--dc-text-primary); font-variant-numeric: tabular-nums; }
#page-dining-my-credits .dc-my-tabs { background: color-mix(in srgb, var(--dc-text-primary) 6%, var(--dc-bg-base)); }
#page-dining-my-credits .dc-my-card { background: var(--dc-bg-surface); border: 1px solid var(--dc-border); border-radius: 20px; box-shadow: 0 7px 22px rgba(55,39,29,.055); }
#page-dining-credits .dc-credit-card { background: var(--dc-bg-surface); border-radius: 15px; box-shadow: 0 4px 16px rgba(55,39,29,.035); }
#page-dining-credits .dc-credit-card.is-selected { background: var(--dc-brand-light); }
#page-dining-credits .dc-bottom-bar { background: var(--dc-bg-surface); }

:root[data-theme="dark"] #page-dining-credits,
:root[data-theme="dark"] #page-dining-my-credits {
  --dc-brand: #f18b61;
  --dc-brand-light: #352419;
  --dc-bg-base: #111317;
  --dc-bg-surface: #1d2025;
  --dc-text-primary: #f5f2ef;
  --dc-text-secondary: #b8b2ad;
  --dc-text-tertiary: #99928e;
  --dc-border: #34363b;
  color: var(--dc-text-primary);
}
:root[data-theme="dark"] #page-dining-credits .dc-main,
:root[data-theme="dark"] #page-dining-my-credits .dc-my-shell { background: var(--dc-bg-base); }
:root[data-theme="dark"] #page-dining-credits .dc-section-tabs,
:root[data-theme="dark"] #page-dining-my-credits .dc-section-tabs,
:root[data-theme="dark"] #page-dining-my-credits .dc-my-tabs { background: #292c31; }
:root[data-theme="dark"] #page-dining-credits .dc-section-tab.is-active,
:root[data-theme="dark"] #page-dining-my-credits .dc-section-tab.is-active { background: #3a302a; color: #ffad84; }
:root[data-theme="dark"] #page-dining-my-credits .dc-my-tab.is-active { background: #a94d2b; }
:root[data-theme="dark"] #page-dining-credits .dc-credit-card,
:root[data-theme="dark"] #page-dining-my-credits .dc-my-card,
:root[data-theme="dark"] #page-dining-credits .dc-terms,
:root[data-theme="dark"] #page-dining-credits .dc-bottom-bar { background: var(--dc-bg-surface); color: var(--dc-text-primary); }
:root[data-theme="dark"] #page-dining-credits .dc-credit-card.is-selected { background: var(--dc-brand-light); }
:root[data-theme="dark"] #page-dining-my-credits :is(.dc-my-card-title,.dc-my-card-amount,.dc-my-card-value,.dc-my-refund-card-title,.dc-my-card-head),
:root[data-theme="dark"] #page-dining-credits :is(.dc-section-title,.dc-credit-price,.dc-terms-head-copy b,.dc-hero-title) { color: var(--dc-text-primary); }
:root[data-theme="dark"] #page-dining-credits .dc-credit-card.is-selected .dc-credit-max { color: var(--dc-brand); }
:root[data-theme="dark"] #page-dining-credits .dc-bottom-bar { border-color: var(--dc-border); }

/* Dining benefits: credits and the purchasable 30% discount coupon. */
#page-dining-credits > .dc-section-tabs-wrap{display:none!important}
#page-dining-credits [hidden],#page-dining-my-credits [hidden]{display:none!important}
#page-dining-credits .dc-header-title{font-size:18px;color:var(--dc-text-primary)}
#page-dining-credits .dc-intro{margin:8px 0 20px;padding:0}
#page-dining-credits .dc-intro-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
#page-dining-credits .dc-hero-title{min-width:0;margin:0;font-size:clamp(24px,4vw,30px);line-height:1.2;font-weight:780}
#page-dining-credits .dc-hero-tagline{margin:11px 0 0;color:var(--dc-text-secondary);font-size:14px;line-height:1.45}
#page-dining-credits .dc-my-benefits-link{display:inline-flex;align-items:center;justify-content:flex-end;gap:4px;min-height:44px;flex:none;padding:0 2px;border:0;background:transparent;color:var(--dc-text-primary);font:inherit;font-size:13px;cursor:pointer}
#page-dining-credits .dc-my-benefits-link .material-symbols-outlined:first-child{font-size:18px;color:var(--dc-brand)}
#page-dining-credits .dc-my-benefits-link .material-symbols-outlined:last-child{font-size:17px}
#page-dining-credits .dc-product-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;width:100%;margin:0 0 16px;padding:4px;border-radius:999px;background:color-mix(in srgb,var(--dc-text-primary) 7%,var(--dc-bg-base));box-sizing:border-box}
#page-dining-credits .dc-product-tab{min-width:0;min-height:44px;padding:8px 12px;border:0;border-radius:999px;background:transparent;color:var(--dc-text-secondary);font:inherit;font-size:14px;font-weight:650;cursor:pointer}
#page-dining-credits .dc-product-tab.is-active{background:var(--dc-bg-surface);color:var(--dc-text-primary)}
#page-dining-credits .dc-product-tab:focus-visible,#page-dining-credits .dc-discount-card:focus-visible,#page-dining-credits .dc-discount-guide summary:focus-visible,#page-dining-credits .dc-my-benefits-link:focus-visible{outline:2px solid var(--dc-brand);outline-offset:2px}
#page-dining-credits .dc-discount-section{margin:0 0 12px}
#page-dining-credits .dc-discount-card{display:grid;grid-template-columns:68px minmax(0,1fr) 28px;align-items:center;gap:12px;width:100%;min-height:112px;padding:14px;border:1px solid var(--dc-border);border-radius:16px;background:var(--dc-bg-surface);color:var(--dc-text-primary);text-align:left;font:inherit;cursor:pointer;box-sizing:border-box}
#page-dining-credits .dc-discount-card.is-selected{border-color:var(--dc-brand);background:color-mix(in srgb,var(--dc-brand) 9%,var(--dc-bg-surface))}
#page-dining-credits .dc-discount-art,#page-dining-my-credits .dc-discount-art{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;aspect-ratio:1/1;min-width:0;border-radius:13px;background:#693b2c;color:#fff}
#page-dining-credits .dc-discount-art strong,#page-dining-my-credits .dc-discount-art strong{font-size:22px;font-weight:800;line-height:1}
#page-dining-credits .dc-discount-art small,#page-dining-my-credits .dc-discount-art small{font-size:10px;line-height:1.1;letter-spacing:.03em}
#page-dining-credits .dc-discount-copy{display:flex;flex-direction:column;gap:5px;min-width:0}
#page-dining-credits .dc-discount-copy>span{font-size:20px;font-weight:700;line-height:1.25}
#page-dining-credits .dc-discount-radio{display:grid;place-items:center;width:22px;height:22px;justify-self:end;border:0;border-radius:50%;background:#b7b7b7;box-sizing:border-box}
#page-dining-credits .dc-discount-radio .material-symbols-outlined{font-size:16px;color:#fff;opacity:0}
#page-dining-credits .dc-discount-card.is-selected .dc-discount-radio{background:var(--dc-brand)}
#page-dining-credits .dc-discount-card.is-selected .dc-discount-radio .material-symbols-outlined{opacity:1}
#page-dining-credits .dc-discount-guide{margin:12px 0 0;border-radius:15px;background:var(--dc-bg-surface)}
#page-dining-credits .dc-discount-guide summary{display:grid;grid-template-columns:22px minmax(0,1fr) 20px;align-items:center;gap:12px;min-height:78px;padding:14px 16px;list-style:none;cursor:pointer}
#page-dining-credits .dc-discount-guide summary::-webkit-details-marker{display:none}
#page-dining-credits .dc-discount-guide-icon{font-size:20px;color:var(--dc-brand)}
#page-dining-credits .dc-discount-guide-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
#page-dining-credits .dc-discount-guide-copy strong{font-size:15px;line-height:1.3;font-weight:720}
#page-dining-credits .dc-discount-guide-copy small{font-size:12px;line-height:1.35;color:var(--dc-text-secondary)}
#page-dining-credits .dc-discount-guide-chevron{font-size:20px;color:var(--dc-brand);transition:transform .2s ease}
#page-dining-credits .dc-discount-guide[open] .dc-discount-guide-chevron{transform:rotate(90deg)}
#page-dining-credits .dc-discount-guide-body{display:grid;gap:8px;padding:0 16px 16px 50px;color:var(--dc-text-secondary);font-size:12px;line-height:1.5}
#page-dining-credits .dc-discount-guide-body p{margin:0}
#page-dining-credits.is-discount-product .dc-bottom-bar .dc-buy-btn{border-radius:999px}
#page-dining-credits.is-discount-product .dc-partners-section{display:grid;grid-template-columns:22px minmax(0,1fr);column-gap:12px;align-items:center;margin:0;padding:14px 16px;border-radius:15px;background:var(--dc-bg-surface)}
#page-dining-credits.is-discount-product .dc-partners-icon{grid-row:1 / span 2;align-self:center;font-size:21px;color:var(--dc-brand)}
#page-dining-credits.is-discount-product .dc-partners-section-heading{grid-column:2;margin:0;font-size:15px;font-weight:720}
#page-dining-credits.is-discount-product .dc-page-row-link{grid-column:2;min-height:28px;padding:0}
#page-dining-credits.is-discount-product .dc-page-row-label{font-size:12px;color:var(--dc-text-secondary)}
#page-dining-credits.is-discount-product .dc-page-row-chevron{font-size:21px;color:var(--dc-text-secondary)}
#page-dining-credits:not(.is-discount-product) .dc-partners-icon{display:none}
#page-dining-my-credits .dc-my-discount-coupons{margin:0 0 18px}
#page-dining-my-credits .dc-my-discount-coupons h2{margin:0 0 9px;color:var(--dc-text-primary);font-size:17px;font-weight:730}
#page-dining-my-credits .dc-my-discount-card{display:flex;align-items:center;gap:12px;min-height:86px;margin-bottom:9px;padding:10px 12px;border:1px solid var(--dc-border);border-radius:15px;background:var(--dc-bg-surface)}
#page-dining-my-credits .dc-my-discount-card .dc-discount-art{width:62px;flex:none}
#page-dining-my-credits .dc-my-discount-copy{display:flex;flex-direction:column;gap:4px}
#page-dining-my-credits .dc-my-discount-copy strong{color:var(--dc-text-primary);font-size:15px}
#page-dining-my-credits .dc-my-discount-copy small{color:var(--dc-brand);font-size:12px}
@media(max-width:360px){#page-dining-credits .dc-discount-card{grid-template-columns:58px minmax(0,1fr) 22px;gap:9px;padding:11px}#page-dining-credits .dc-discount-copy>span{font-size:18px}#page-dining-credits .dc-my-benefits-link{font-size:12px}}
@media(prefers-reduced-motion:reduce){#page-dining-credits .dc-discount-guide-chevron{transition:none}}

/* Benefits purchase and wallet layout from the October reference. */
#page-dining-credits > .dc-section-tabs-wrap{display:block!important}
#page-dining-credits .dc-my-benefits-link{display:none}
#page-dining-credits .dc-main{padding-bottom:110px}
#page-dining-credits .dc-intro{margin:12px 0 16px}
#page-dining-credits .dc-hero-title{font-size:27px}
#page-dining-credits .dc-hero-tagline{margin-top:5px}
#page-dining-credits .dc-amount-section,
#page-dining-credits .dc-discount-section{margin:0 0 12px;padding:15px;border:1px solid var(--dc-border);border-radius:18px;background:color-mix(in srgb,var(--dc-bg-surface) 92%,var(--dc-bg-base))}
#page-dining-credits .dc-benefit-heading{display:flex;align-items:center;gap:11px;margin:0 0 12px}
#page-dining-credits .dc-benefit-heading-icon{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:13px;background:color-mix(in srgb,var(--dc-brand) 11%,var(--dc-bg-surface));color:var(--dc-brand);font-size:23px}
#page-dining-credits .dc-benefit-heading-copy{min-width:0;flex:1}
#page-dining-credits .dc-benefit-heading-copy h2{margin:0;color:var(--dc-text-primary);font-size:17px;line-height:1.25;font-weight:730}
#page-dining-credits .dc-benefit-heading-copy small{display:block;margin-top:3px;color:var(--dc-text-secondary);font-size:12px;line-height:1.35}
#page-dining-credits .dc-benefit-heading>em{flex:none;padding:4px 8px;border-radius:999px;background:var(--dc-brand);color:white;font-size:10px;line-height:1;font-style:normal;font-weight:750}
#page-dining-credits .dc-credit-list{gap:7px}
#page-dining-credits .dc-credit-card{display:grid;grid-template-columns:58px minmax(0,1fr) 22px;gap:11px;min-height:72px;padding:8px 11px;border-radius:13px;box-shadow:none}
#page-dining-credits .dc-credit-card::before{content:attr(data-value);display:grid;place-items:center;width:58px;height:58px;border:1px solid color-mix(in srgb,var(--dc-border) 75%,var(--dc-text-secondary));border-radius:50%;background:color-mix(in srgb,var(--dc-bg-surface) 75%,var(--dc-bg-base));color:var(--dc-text-primary);font-size:20px;line-height:1;font-weight:760;font-variant-numeric:tabular-nums}
#page-dining-credits .dc-credit-card .dc-credit-body{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px}
#page-dining-credits .dc-credit-card .dc-credit-price{display:none}
#page-dining-credits .dc-credit-card .dc-credit-max{max-width:none;overflow:visible;color:var(--dc-text-primary);font-size:15px;line-height:1.25;text-overflow:clip;white-space:normal}
#page-dining-credits .dc-credit-card.is-selected .dc-credit-max{font-size:15px;color:var(--dc-text-primary)}
#page-dining-credits .dc-credit-card .dc-credit-validity{color:var(--dc-text-secondary);font-size:12px;line-height:1.3;white-space:normal}
#page-dining-credits .dc-credit-radio{grid-column:3;grid-row:1;justify-self:center;width:21px;height:21px;margin:0}
#page-dining-credits .dc-credit-card.is-selected{padding:8px 11px;border-width:1px}
#page-dining-credits .dc-discount-card{grid-template-columns:64px minmax(0,1fr) 22px;min-height:80px;padding:8px 11px;box-shadow:none}
#page-dining-credits .dc-discount-art{width:64px;min-height:58px;aspect-ratio:auto;border:1px solid color-mix(in srgb,var(--dc-brand) 45%,var(--dc-border));background:linear-gradient(135deg,#573024,#a54c22)}
#page-dining-credits .dc-discount-art strong{font-size:23px}
#page-dining-credits .dc-discount-copy{gap:3px}
#page-dining-credits .dc-discount-copy strong{color:var(--dc-text-primary);font-size:15px;line-height:1.25}
#page-dining-credits .dc-discount-copy>span{color:var(--dc-text-secondary);font-size:12px;font-weight:450;line-height:1.3}
#page-dining-credits .dc-discount-copy small{color:var(--dc-text-secondary);font-size:11px;line-height:1.3}
#page-dining-credits .dc-discount-radio{border:1.5px solid var(--dc-text-secondary);background:transparent}
#page-dining-credits .dc-discount-card.is-selected .dc-discount-radio{border-color:var(--dc-brand)}
#page-dining-credits .dc-terms-sec-label{display:none}
#page-dining-credits .dc-terms-section,
#page-dining-credits .dc-discount-guide{margin:-24px 0 12px;padding:0 15px 15px;border:1px solid var(--dc-border);border-top:0;border-radius:0 0 18px 18px;background:color-mix(in srgb,var(--dc-bg-surface) 92%,var(--dc-bg-base))}
#page-dining-credits .dc-amount-section{border-radius:18px 18px 0 0;padding-bottom:20px}
#page-dining-credits .dc-discount-section{border-radius:18px 18px 0 0;padding-bottom:20px}
#page-dining-credits .dc-terms{margin:0;border:1px solid color-mix(in srgb,var(--dc-brand) 22%,var(--dc-border));border-radius:12px;background:color-mix(in srgb,var(--dc-brand) 5%,var(--dc-bg-surface))}
#page-dining-credits .dc-discount-guide{padding:0 15px 15px}
#page-dining-credits .dc-discount-guide summary{min-height:64px;padding:9px 12px;border:1px solid color-mix(in srgb,var(--dc-brand) 22%,var(--dc-border));border-radius:12px;background:color-mix(in srgb,var(--dc-brand) 5%,var(--dc-bg-surface))}
#page-dining-credits .dc-discount-guide-body{padding:12px}
#page-dining-credits .dc-partners-section{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;column-gap:12px;margin:0;padding:14px 16px;border:1px solid var(--dc-border);border-radius:18px;background:color-mix(in srgb,var(--dc-bg-surface) 92%,var(--dc-bg-base))}
#page-dining-credits .dc-partners-icon{display:block!important;grid-row:1 / span 2;color:var(--dc-brand);font-size:25px}
#page-dining-credits .dc-partners-section-heading{grid-column:2;margin:0;color:var(--dc-text-primary);font-size:16px;font-weight:720}
#page-dining-credits .dc-page-row-link{grid-column:2;min-height:26px;padding:0}
#page-dining-credits .dc-page-row-label{color:var(--dc-text-secondary);font-size:12px}
#page-dining-credits .dc-bottom-bar{z-index:3}
#page-dining-my-credits .dc-my-hero{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:0;margin:8px 0 12px;padding:15px 12px}
#page-dining-my-credits .dc-my-hero-metric{display:flex;align-items:center;gap:9px;min-width:0;padding:0 7px}
#page-dining-my-credits .dc-my-hero-metric+.dc-my-hero-metric{border-left:1px solid color-mix(in srgb,var(--dc-brand) 36%,var(--dc-border));padding-left:14px}
#page-dining-my-credits .dc-my-hero-metric>.material-symbols-outlined{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:50%;background:color-mix(in srgb,var(--dc-brand) 12%,var(--dc-bg-surface));color:var(--dc-brand);font-size:21px}
#page-dining-my-credits .dc-my-hero-metric>div{min-width:0}
#page-dining-my-credits .dc-my-hero-metric small{display:block;color:var(--dc-text-secondary);font-size:11px;line-height:1.25;white-space:nowrap}
#page-dining-my-credits .dc-my-hero-metric strong{display:block;margin-top:4px;color:var(--dc-text-primary);font-size:24px;line-height:1.1;font-weight:760;font-variant-numeric:tabular-nums}
#page-dining-my-credits .dc-my-hero-metric strong small{display:inline;font-size:12px;font-weight:500}
#page-dining-my-credits .dc-my-tabs-wrap{margin-bottom:12px}
#page-dining-my-credits .dc-my-discount-benefit{gap:0;padding:16px;border-radius:18px}
#page-dining-my-credits .dc-my-benefit-card-head{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:10px;margin-bottom:12px}
#page-dining-my-credits .dc-my-benefit-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:13px;background:color-mix(in srgb,var(--dc-brand) 14%,var(--dc-bg-surface));color:var(--dc-brand);font-size:27px}
#page-dining-my-credits .dc-my-benefit-title{min-width:0}
#page-dining-my-credits .dc-my-benefit-title strong{display:block;color:var(--dc-text-primary);font-size:22px;line-height:1.2}
#page-dining-my-credits .dc-my-benefit-title .dc-my-discount-off{display:inline;color:inherit;font-size:.58em;font-weight:700;letter-spacing:.03em;vertical-align:baseline}
#page-dining-my-credits .dc-my-benefit-title small{display:block;margin-top:3px;color:var(--dc-text-secondary);font-size:12px}
#page-dining-my-credits .dc-my-discount-benefit .dc-my-refund-btn{display:block;margin:0 0 0 auto}
#page-dining-my-credits .dc-my-tabs{gap:2px}
#page-dining-my-credits .dc-my-tab{padding-inline:3px;font-size:12px}
#page-dining-my-credits .dc-my-tab-count{font-size:11px}
#page-dining-my-credits .dc-my-benefit-badge{padding:7px 9px;border-radius:999px;background:color-mix(in srgb,var(--dc-brand) 13%,var(--dc-bg-surface));color:var(--dc-brand);font-size:11px;line-height:1.2;white-space:nowrap}
#page-dining-my-credits .dc-my-discount-benefit .dc-my-card-meta-list{margin:0 0 12px}
#page-dining-my-credits .dc-my-discount-benefit .dc-my-qr-btn{min-height:42px}
.dc-discount-code-overlay{position:fixed;inset:0;z-index:10000;display:grid;place-items:end center}
.dc-discount-code-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.64)}
.dc-discount-code-dialog{position:relative;width:min(100%,420px);padding:18px 22px 28px;border-radius:22px 22px 0 0;background:#1d2025;color:#f5f2ef;text-align:center;box-shadow:0 -12px 36px rgba(0,0,0,.25)}
.dc-discount-code-close{position:absolute;top:12px;right:14px;display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:50%;background:transparent;color:inherit;cursor:pointer}
.dc-discount-code-mark{margin-top:15px;color:#f18b61;font-size:32px}
.dc-discount-code-dialog h2{margin:8px 0 4px;font-size:19px}
.dc-discount-code-off{margin:0 0 12px;color:#f18b61;font-size:22px;font-weight:750}
.dc-discount-code-visual{display:grid;place-items:center;width:150px;height:150px;margin:0 auto;border:10px solid white;border-radius:12px;background:white;color:#181b20}
.dc-discount-code-visual .material-symbols-outlined{font-size:132px}
.dc-discount-code-number{margin:14px 0 8px;font-size:23px;font-weight:760;letter-spacing:.12em;font-variant-numeric:tabular-nums}
.dc-discount-code-hint{max-width:290px;margin:0 auto;color:#b8b2ad;font-size:12px;line-height:1.5}

/* The discount presentation uses the same rotating code and page structure as credit. */
#page-dining-credit-qr.is-discount-code{--dc-qr-surface:#101216;--dc-qr-brand:#f28958;background:#101216;color:#f4f4f5}
#page-dining-credit-qr.is-discount-code .dc-qr-header{background:#101216;border-bottom:1px solid #30333b}
#page-dining-credit-qr.is-discount-code .dc-qr-header-title{color:#f28958}
#page-dining-credit-qr.is-discount-code .dc-qr-main{padding-top:24px}
#page-dining-credit-qr.is-discount-code .dc-qr-shell{gap:22px}
#page-dining-credit-qr.is-discount-code .dc-qr-balance{padding:0 0 8px}
#page-dining-credit-qr.is-discount-code .dc-qr-balance-label{color:#abaeb7;font-size:15px;font-weight:500;letter-spacing:0;text-transform:none}
#page-dining-credit-qr.is-discount-code .dc-qr-balance-amount{color:#f28958}
#page-dining-credit-qr.is-discount-code .dc-qr-amount-num{font-size:clamp(46px,14vw,62px)}
#page-dining-credit-qr.is-discount-code .dc-qr-discount-off{align-self:flex-end;padding-bottom:5px;font-size:clamp(23px,7vw,32px);font-weight:750;line-height:1}
#page-dining-credit-qr.is-discount-code .dc-qr-card,
#page-dining-credit-qr.is-discount-code .dc-qr-venues{background:#1c1f25;border:1px solid #393d47;box-shadow:none}
#page-dining-credit-qr.is-discount-code .dc-qr-card{padding:21px 17px 20px}
#page-dining-credit-qr .dc-qr-pay-hint{font-size:16px;font-weight:700;color:#0f172a}
#page-dining-credit-qr .dc-qr-pay-hint:has(+ .dc-qr-pay-hint-local:not([hidden])){margin-bottom:4px}
#page-dining-credit-qr .dc-qr-pay-hint-local{margin:0 0 16px;color:#64748b;font-size:13px;line-height:1.4}
#page-dining-credit-qr.is-discount-code .dc-qr-pay-hint{color:#f3f3f5}
#page-dining-credit-qr.is-discount-code .dc-qr-pay-hint-local{color:#aeb0b7}
#page-dining-credit-qr .dc-qr-pay-hint-local[hidden]{display:none}
#page-dining-credit-qr.is-discount-code .dc-qr-code-frame{min-height:105px;background:transparent;border:1px solid #414650}
#page-dining-credit-qr.is-discount-code .dc-qr-backup-code{color:#f28958;font-size:clamp(36px,11vw,56px)}
#page-dining-credit-qr.is-discount-code .dc-qr-timer-pill{background:#493026}
#page-dining-credit-qr.is-discount-code .dc-qr-timer,
#page-dining-credit-qr.is-discount-code .dc-qr-timer-count{color:#f5e3dc}
#page-dining-credit-qr.is-discount-code .dc-qr-venues-icon-wrap{background:#493026}
#page-dining-credit-qr.is-discount-code .dc-qr-venues-title{color:#f3f3f5}
#page-dining-credit-qr.is-discount-code .dc-qr-venues-subtitle{color:#aeb0b7}
#page-dining-credit-qr.is-discount-code .dc-qr-venues-chevron{color:#abb0b8}
@media(max-width:350px){#page-dining-my-credits .dc-my-hero-metric{gap:5px;padding:0 3px}#page-dining-my-credits .dc-my-hero-metric+.dc-my-hero-metric{padding-left:8px}#page-dining-my-credits .dc-my-hero-metric>.material-symbols-outlined{width:32px;height:32px;font-size:19px}#page-dining-my-credits .dc-my-hero-metric strong{font-size:21px}}

/* Purchase page: one product at a time, with the My benefits entry in the hero. */
#page-dining-credits > .dc-section-tabs-wrap{display:none!important}
#page-dining-credits .dc-my-benefits-link{display:inline-flex}
#page-dining-credits .dc-main{padding-bottom:calc(var(--dc-bottom-h) + env(safe-area-inset-bottom,0px) + 22px)}
#page-dining-credits .dc-intro{margin:22px 0 20px}
#page-dining-credits .dc-hero-title{font-size:clamp(26px,3vw,34px)}
#page-dining-credits .dc-hero-tagline{margin-top:13px;font-size:15px}
#page-dining-credits .dc-product-tabs{gap:12px;margin:0 0 17px;padding:0;border-radius:0;background:transparent}
#page-dining-credits .dc-product-tab{min-height:48px;border-radius:999px;font-size:17px;font-weight:650}
#page-dining-credits .dc-product-tab.is-active{background:color-mix(in srgb,var(--dc-text-primary) 9%,var(--dc-bg-base));color:var(--dc-text-primary)}
#page-dining-credits .dc-amount-section,
#page-dining-credits .dc-discount-section{margin:0;padding:0;border:0;border-radius:0;background:transparent}
#page-dining-credits .dc-benefit-heading{display:none}
#page-dining-credits .dc-credit-list{gap:12px}
#page-dining-credits .dc-credit-card{grid-template-columns:78px minmax(0,1fr) 24px;gap:20px;min-height:116px;padding:16px 22px;border:0;border-radius:15px;background:var(--dc-bg-surface);box-shadow:none}
#page-dining-credits .dc-credit-card::before{width:78px;height:78px;border:0;background:color-mix(in srgb,var(--dc-text-primary) 8%,var(--dc-bg-surface));font-size:25px}
#page-dining-credits .dc-credit-card .dc-credit-max,
#page-dining-credits .dc-credit-card.is-selected .dc-credit-max{font-size:21px;font-weight:720}
#page-dining-credits .dc-credit-card .dc-credit-validity{font-size:15px}
#page-dining-credits .dc-credit-radio,
#page-dining-credits .dc-discount-radio{width:21px;height:21px;border:0;background:#aeb0b2}
#page-dining-credits .dc-credit-card.is-selected{padding:16px 22px;border:0;background:color-mix(in srgb,var(--dc-brand) 9%,var(--dc-bg-surface))}
#page-dining-credits .dc-credit-card.is-selected .dc-credit-radio{background:var(--dc-brand)}
#page-dining-credits .dc-terms-section,
#page-dining-credits .dc-discount-guide{margin:12px 0 16px;padding:0;border:0;border-radius:15px;background:var(--dc-bg-surface)}
#page-dining-credits .dc-terms{margin:0;border:0;border-radius:15px;background:var(--dc-bg-surface)}
#page-dining-credits .dc-terms-head{min-height:84px;padding:16px 20px}
#page-dining-credits .dc-discount-card{min-height:116px;padding:16px 22px;border:0;border-radius:15px;background:var(--dc-bg-surface)}
#page-dining-credits .dc-discount-guide summary{min-height:84px;padding:16px 20px;border:0;border-radius:15px;background:var(--dc-bg-surface)}
#page-dining-credits .dc-partners-section{min-height:88px;border:0;border-radius:15px;background:var(--dc-bg-surface)}
#page-dining-credits .dc-partners-section-heading{font-size:18px}
#page-dining-credits .dc-page-row-label{font-size:14px}
@media(max-width:480px){
  #page-dining-credits .dc-intro{margin:16px 0 17px}
  #page-dining-credits .dc-hero-title{font-size:27px}
  #page-dining-credits .dc-my-benefits-link{font-size:12px}
  #page-dining-credits .dc-product-tab{min-height:44px;font-size:15px}
  #page-dining-credits .dc-credit-card{grid-template-columns:60px minmax(0,1fr) 21px;gap:12px;min-height:88px;padding:12px 14px}
  #page-dining-credits .dc-credit-card::before{width:60px;height:60px;font-size:20px}
  #page-dining-credits .dc-credit-card .dc-credit-max,#page-dining-credits .dc-credit-card.is-selected .dc-credit-max{font-size:16px}
  #page-dining-credits .dc-credit-card .dc-credit-validity{font-size:12px}
  #page-dining-credits .dc-credit-card.is-selected{padding:12px 14px}
}

/* Shared benefit names and selection hierarchy. */
#page-dining-credits .dc-my-benefits-link .material-symbols-outlined:first-child{display:none}
#page-dining-credits .dc-product-tabs{gap:4px;margin-bottom:18px;padding:4px;border-radius:999px;background:color-mix(in srgb,var(--dc-text-primary) 8%,var(--dc-bg-base))}
#page-dining-credits .dc-product-tab{min-height:52px;font-size:18px}
#page-dining-credits .dc-product-tab.is-active{background:#9b4e2e;color:#fff}
#page-dining-credits .dc-choice-title{margin:0 0 14px;color:var(--dc-text-primary);font-size:18px;line-height:1.3;font-weight:700}
@media(max-width:480px){#page-dining-credits .dc-product-tab{min-height:45px;font-size:15px}#page-dining-credits .dc-choice-title{font-size:17px}}

/* Purchase choices: the credit and discount tiers share one card treatment. */
#page-dining-credits .dc-main{display:flex;flex-direction:column}
#page-dining-credits .dc-main>*{flex-shrink:0}
#page-dining-credits .dc-intro{order:0}
#page-dining-credits .dc-product-tabs{order:1}
#page-dining-credits .dc-choice-title{order:2;margin:8px 0 14px;font-size:20px}
#page-dining-credits .dc-amount-section,
#page-dining-credits .dc-discount-section{order:3;margin:0 0 26px}
#page-dining-credits .dc-credit-list,
#page-dining-credits .dc-discount-list{display:flex;flex-direction:column;gap:14px}
#page-dining-credits .dc-credit-card,
#page-dining-credits .dc-discount-card{min-height:100px;padding:17px 20px;border:1px solid var(--dc-border);border-radius:18px;background:var(--dc-bg-surface);box-shadow:none;box-sizing:border-box;transition:border-color .2s ease,background .2s ease}
#page-dining-credits .dc-credit-card.is-selected,
#page-dining-credits .dc-discount-card.is-selected{padding:17px 20px;border:2px solid var(--dc-brand);background:var(--dc-bg-surface)}
#page-dining-credits .dc-credit-card{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:16px}
#page-dining-credits .dc-credit-card::before{content:none}
#page-dining-credits .dc-credit-radio,
#page-dining-credits .dc-discount-radio{grid-column:1;grid-row:1;display:grid;place-items:center;justify-self:center;width:32px;height:32px;margin:0;border:2px solid color-mix(in srgb,var(--dc-text-secondary) 55%,var(--dc-bg-surface));border-radius:50%;background:transparent;box-sizing:border-box}
#page-dining-credits .dc-credit-card.is-selected .dc-credit-radio,
#page-dining-credits .dc-discount-card.is-selected .dc-discount-radio{border-color:var(--dc-brand);background:var(--dc-brand)}
#page-dining-credits .dc-credit-card .dc-credit-body{grid-column:2;grid-row:1;display:grid;grid-template-columns:minmax(82px,.34fr) minmax(0,1fr);grid-template-rows:auto auto;column-gap:16px;row-gap:5px;align-items:center}
#page-dining-credits .dc-credit-card .dc-credit-price{display:block;grid-column:1;grid-row:1 / span 2;align-self:center;padding:0;color:var(--dc-text-primary);font-size:23px;font-weight:650;white-space:nowrap}
#page-dining-credits .dc-credit-card .dc-credit-max,
#page-dining-credits .dc-credit-card.is-selected .dc-credit-max{grid-column:2;grid-row:1;max-width:none;overflow:visible;color:var(--dc-text-primary);font-size:20px;font-weight:700;line-height:1.25;text-overflow:clip;white-space:normal}
#page-dining-credits .dc-credit-card.is-selected .dc-credit-max{color:var(--dc-brand)}
#page-dining-credits .dc-credit-card .dc-credit-validity{grid-column:2;grid-row:2;color:var(--dc-text-secondary);font-size:15px;line-height:1.3;white-space:normal}
#page-dining-credits .dc-discount-card{display:grid;grid-template-columns:38px 78px minmax(0,1fr);align-items:center;gap:16px;width:100%}
#page-dining-credits .dc-discount-art{grid-column:2;grid-row:1;width:78px;height:78px;min-height:0;aspect-ratio:1;border:0;border-radius:15px;background:linear-gradient(140deg,#4e2c1d,#2a211d);color:#ffc398}
#page-dining-credits .dc-discount-art strong{font-size:27px}
#page-dining-credits .dc-discount-art small{font-size:14px}
#page-dining-credits .dc-discount-copy{grid-column:3;grid-row:1;gap:7px}
#page-dining-credits .dc-discount-copy strong{font-size:20px;font-weight:700;line-height:1.25;color:var(--dc-text-primary)}
#page-dining-credits .dc-discount-copy small{font-size:14px;line-height:1.35;color:var(--dc-text-secondary)}
#page-dining-credits .dc-credit-card:focus-visible,
#page-dining-credits .dc-discount-card:focus-visible,
#page-dining-credits .dc-page-row-link:focus-visible{outline:2px solid var(--dc-brand);outline-offset:3px}
#page-dining-credits .dc-partners-section{order:4;display:flex;flex-direction:column;align-items:stretch;gap:0;min-height:0;margin:0 0 27px;padding:0;border:0;border-radius:0;background:transparent}
#page-dining-credits .dc-partners-icon{display:none}
#page-dining-credits .dc-partners-section-heading{display:block;margin:0 0 14px;color:var(--dc-text-primary);font-size:20px;font-weight:700;line-height:1.3}
#page-dining-credits .dc-page-row-link{display:flex;align-items:center;justify-content:space-between;grid-column:auto;min-height:74px;width:100%;padding:16px 22px;border:1px solid var(--dc-border);border-radius:18px;background:var(--dc-bg-surface)}
#page-dining-credits .dc-page-row-label{color:var(--dc-text-primary);font-size:17px;line-height:1.35}
#page-dining-credits .dc-page-row-chevron{color:var(--dc-brand);font-size:27px}
#page-dining-credits .dc-terms-section{order:5;margin:0;padding:0;border:0;border-radius:0;background:transparent}
#page-dining-credits .dc-terms-sec-label{display:block;margin:0 0 14px;color:var(--dc-text-primary);font-size:20px;font-weight:700}
#page-dining-credits .dc-terms{border:1px solid var(--dc-border);border-radius:18px;background:var(--dc-bg-surface)}
#page-dining-credits .dc-terms-head{min-height:94px;padding:18px 24px}
#page-dining-credits .dc-terms-head-copy b{font-size:18px}
#page-dining-credits .dc-terms-head-copy span{font-size:14px}
#page-dining-credits .dc-terms-chevron{font-size:27px}
#page-dining-credits .dc-discount-guide{order:4;margin:0 0 28px;padding:0;border:1px solid var(--dc-border);border-radius:18px;background:var(--dc-bg-surface)}
#page-dining-credits .dc-discount-guide summary{min-height:94px;padding:18px 24px;border:0;border-radius:18px;background:transparent}
#page-dining-credits .dc-discount-guide-copy strong{font-size:18px}
#page-dining-credits .dc-discount-guide-copy small{font-size:14px}
#page-dining-credits.is-discount-product .dc-partners-section{order:5;display:flex;flex-direction:column;align-items:stretch;gap:0;margin:0 0 20px;padding:0;border:0;border-radius:0;background:transparent}
#page-dining-credits.is-discount-product .dc-partners-icon{display:none}
#page-dining-credits.is-discount-product .dc-partners-section-heading{grid-column:auto;margin:0 0 14px;font-size:20px}
#page-dining-credits.is-discount-product .dc-page-row-link{grid-column:auto;min-height:74px;padding:16px 22px}
#page-dining-credits.is-discount-product .dc-page-row-label{color:var(--dc-text-primary);font-size:17px}
#page-dining-credits.is-discount-product .dc-page-row-chevron{color:var(--dc-brand);font-size:27px}
:root[data-theme="dark"] #page-dining-credits .dc-credit-card.is-selected,
:root[data-theme="dark"] #page-dining-credits .dc-discount-card.is-selected{background:#272a2f}
:root[data-theme="dark"] #page-dining-credits .dc-credit-card.is-selected .dc-credit-max{color:var(--dc-brand)}
@media(max-width:480px){
  #page-dining-credits .dc-choice-title{font-size:18px}
  #page-dining-credits .dc-credit-card,#page-dining-credits .dc-discount-card{min-height:88px;padding:13px 14px}
  #page-dining-credits .dc-credit-card.is-selected,#page-dining-credits .dc-discount-card.is-selected{padding:13px 14px}
  #page-dining-credits .dc-credit-card{grid-template-columns:28px minmax(0,1fr);gap:9px}
  #page-dining-credits .dc-credit-radio,#page-dining-credits .dc-discount-radio{width:27px;height:27px}
  #page-dining-credits .dc-credit-card .dc-credit-body{grid-template-columns:minmax(69px,.35fr) minmax(0,1fr);column-gap:9px}
  #page-dining-credits .dc-credit-card .dc-credit-price{font-size:18px}
  #page-dining-credits .dc-credit-card .dc-credit-max,#page-dining-credits .dc-credit-card.is-selected .dc-credit-max{font-size:15px}
  #page-dining-credits .dc-credit-card .dc-credit-validity{font-size:12px}
  #page-dining-credits .dc-discount-card{grid-template-columns:28px 58px minmax(0,1fr);gap:9px}
  #page-dining-credits .dc-discount-art{width:58px;height:58px;border-radius:12px}
  #page-dining-credits .dc-discount-art strong{font-size:19px}
  #page-dining-credits .dc-discount-art small{font-size:11px}
  #page-dining-credits .dc-discount-copy strong{font-size:15px}
  #page-dining-credits .dc-discount-copy small{font-size:12px}
  #page-dining-credits .dc-partners-section-heading,#page-dining-credits .dc-terms-sec-label{font-size:18px}
  #page-dining-credits .dc-page-row-link{min-height:64px;padding:12px 16px}
  #page-dining-credits .dc-page-row-label{font-size:15px}
  #page-dining-credits .dc-terms-head,#page-dining-credits .dc-discount-guide summary{min-height:78px;padding:12px 16px}
  #page-dining-credits .dc-terms-head-copy b,#page-dining-credits .dc-discount-guide-copy strong{font-size:15px}
  #page-dining-credits .dc-terms-head-copy span,#page-dining-credits .dc-discount-guide-copy small{font-size:12px}
  #page-dining-credits.is-discount-product .dc-partners-section-heading{font-size:18px}
  #page-dining-credits.is-discount-product .dc-page-row-link{min-height:64px;padding:12px 16px}
  #page-dining-credits.is-discount-product .dc-page-row-label{font-size:15px}
}

#page-dining-credits .dc-product-tab{display:inline-flex;align-items:center;justify-content:center;gap:7px}
#page-dining-credits .dc-product-tab-icon{flex:none;font-size:17px;line-height:1;font-variation-settings:'FILL' 1,'wght' 500}
@media(max-width:360px){#page-dining-credits .dc-product-tab{gap:5px}#page-dining-credits .dc-product-tab-icon{font-size:15px}}

/* Keep both benefit guides in the same position and card format. */
#page-dining-credits:not(.is-discount-product) .dc-terms-section{order:4;margin:0 0 28px}
#page-dining-credits:not(.is-discount-product) .dc-partners-section{order:5;margin:0 0 20px}
#page-dining-credits .dc-terms-sec-label{display:none}
#page-dining-credits .dc-terms{margin:0;border:1px solid var(--dc-border);border-radius:18px}
#page-dining-credits .dc-terms-head{min-height:94px;gap:12px;padding:18px 24px}
#page-dining-credits .dc-terms-head-ico{width:22px;height:22px;border-radius:0;background:transparent}
#page-dining-credits .dc-terms-head-ico .material-symbols-outlined{font-size:21px}
#page-dining-credits .dc-terms-chevron{font-size:20px}
#page-dining-credits .dc-discount-guide-body{display:block;padding:0 0 4px;font-size:inherit;line-height:inherit}
@media(max-width:480px){#page-dining-credits .dc-terms-head{min-height:78px;padding:12px 16px}}

/* Discount rate uses the same plain value slot as the credit purchase amount. */
#page-dining-credits .dc-discount-card{grid-template-columns:38px minmax(82px,.34fr) minmax(0,1fr)}
#page-dining-credits .dc-discount-art{display:flex;align-items:center;justify-content:flex-start;grid-column:2;grid-row:1;gap:0;width:auto;height:auto;min-height:0;aspect-ratio:auto;border:0;border-radius:0;background:transparent;color:var(--dc-text-primary)}
#page-dining-credits .dc-discount-art{flex-direction:column;align-items:flex-start;justify-content:center;gap:1px;color:var(--dc-brand)}
#page-dining-credits .dc-discount-art strong{font-size:23px;font-weight:750;line-height:1.05}
#page-dining-credits .dc-discount-art small{font-size:11px;font-weight:700;line-height:1.1;letter-spacing:.06em;color:inherit}
#page-dining-credits .dc-discount-copy{grid-column:3;grid-row:1}
#page-dining-my-credits .dc-my-benefit-card-head{grid-template-columns:minmax(0,1fr) auto}
@media(max-width:480px){
  #page-dining-credits .dc-discount-card{grid-template-columns:28px minmax(69px,.35fr) minmax(0,1fr);gap:9px}
  #page-dining-credits .dc-discount-art{width:auto;height:auto;border-radius:0}
  #page-dining-credits .dc-discount-art strong{font-size:18px}
  #page-dining-credits .dc-discount-art small{font-size:10px}
}

/* The two wallet totals use the same title, value and helper rhythm. */
#page-dining-my-credits .dc-my-hero-metric{min-height:66px}
#page-dining-my-credits .dc-my-hero-metric+.dc-my-hero-metric{border-left-color:color-mix(in srgb,var(--dc-text-secondary) 22%,transparent)}
#page-dining-my-credits .dc-my-hero-metric>div{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
#page-dining-my-credits .dc-my-hero-metric strong{margin-top:5px;font-size:24px;line-height:1.1}
#page-dining-my-credits .dc-my-hero-metric .dc-my-hero-hint{margin-top:5px;color:var(--dc-text-secondary);font-size:10px;line-height:1.2;white-space:normal}

/* Closed checkout sheets must also leave the accessibility tree. */
#dc-pay-sheet[hidden]{display:none!important}

/* Purchased dining offers use a stable eight-digit code and one specific restaurant. */
#page-dining-credit-qr.is-dining-offer-code .dc-qr-backup-code{font-size:clamp(24px,7vw,36px)!important;letter-spacing:3px!important;word-spacing:6px;overflow:visible;max-width:100%;white-space:nowrap}
#page-dining-credit-qr.is-dining-offer-code .dc-qr-timer-pill,
#page-dining-credit-qr.is-dining-offer-code .dc-qr-venues-chevron{display:none!important}
#page-dining-credit-qr.is-dining-offer-code .dc-qr-venues:disabled{opacity:1!important;cursor:default;transform:none}
