.guest-featured {
  margin: 4px -14px 2px;
  padding: 22px 14px 20px;
  overflow: hidden;
  border: 1px solid #dce5df;
  border-radius: 20px;
  background: linear-gradient(145deg, #edf6f1, #f7f6f1 62%);
}

.guest-featured .guest-section-title {
  align-items: flex-end;
}

.guest-featured .guest-section-title small {
  display: block;
  margin-bottom: 4px;
  color: var(--venue);
  font-size: 8px;
  font-weight: 850;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.featured-product-list {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(280px, 76%);
  gap: 10px;
  padding: 2px 2px 10px;
  overflow-x: auto;
  scroll-snap-type: x proximity;
  scrollbar-width: thin;
  scrollbar-color: #b8c9c0 transparent;
}

.featured-product-list .product-card {
  scroll-snap-align: start;
}

.product-price {
  display: grid;
  gap: 2px;
}

.product-price del {
  color: #89958f;
  font-size: 8px;
  font-weight: 650;
}

.track-bill .track-discount,
.track-bill .track-discount strong {
  color: #b14e3c;
}

.track-nudge,
.track-reorder-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 14px;
  padding: 20px 22px;
  border-radius: 18px;
}

.track-nudge[hidden] {
  display: none;
}

.track-nudge {
  border: 1px solid #cdded5;
  color: #fff;
  background: #0b3b33;
  box-shadow: 0 14px 34px rgba(11, 59, 51, .12);
}

.track-reorder-card {
  flex-wrap: wrap;
  border: 1px solid var(--line);
  background: #fff;
}

.track-nudge > div,
.track-reorder-card > div {
  display: grid;
  flex: 1;
  gap: 4px;
}

.track-nudge small,
.track-reorder-card small {
  color: #91c7b5;
  font-size: 8px;
  font-weight: 850;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.track-reorder-card small {
  color: var(--scanit);
}

.track-nudge strong,
.track-reorder-card strong {
  font-size: 15px;
}

.track-nudge span,
.track-reorder-card span {
  color: #c7d8d2;
  font-size: 10px;
  line-height: 1.5;
}

.track-reorder-card span {
  color: var(--muted);
}

.track-nudge a,
.track-reorder-card button {
  min-height: 43px;
  display: inline-grid;
  flex: none;
  place-items: center;
  border: 0;
  border-radius: 12px;
  padding: 0 16px;
  font-size: 10px;
  font-weight: 820;
  cursor: pointer;
}

.track-nudge a {
  color: #0b3b33;
  background: #fff;
}

.track-reorder-card button {
  color: #fff;
  background: var(--scanit);
}

.track-reorder-card button:disabled {
  opacity: .65;
  cursor: wait;
}

.track-reorder-card #track-action-error {
  width: 100%;
  color: #9a3e34;
}

.track-menu-link {
  width: 100%;
  margin-top: 14px;
}

@media (max-width: 560px) {
  .featured-product-list {
    grid-auto-columns: minmax(265px, 90%);
  }

  .track-nudge,
  .track-reorder-card {
    align-items: stretch;
    flex-direction: column;
  }

  .track-nudge a,
  .track-reorder-card button {
    width: 100%;
  }
}

.guest-wait-estimate {
  width: min(100% - 28px, 680px);
  min-height: 58px;
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 12px auto 0;
  padding: 11px 14px;
  border: 1px solid #cfe1d8;
  border-radius: 15px;
  color: #123a32;
  background: #edf6f1;
}

.guest-wait-estimate > span {
  width: 34px;
  height: 34px;
  display: grid;
  flex: none;
  place-items: center;
  border-radius: 10px;
  color: #fff;
  background: var(--venue, var(--scanit));
  font-size: 18px;
}

.guest-wait-estimate div { display: grid; gap: 2px; }
.guest-wait-estimate small { color: #60756e; font-size: 8px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.guest-wait-estimate strong { font-size: 11px; }
.guest-service-row .guest-idea-button { grid-column: 1 / -1; border-color: #bed3c8; color: #0f5a50; background: #eef6f2; }

.suggestion-modal {
  width: min(520px, calc(100% - 28px));
  max-height: calc(100dvh - 28px);
  overflow: auto;
  border: 0;
  border-radius: 22px;
  padding: 0;
  color: #10241f;
  background: #fbfaf6;
  box-shadow: 0 28px 90px rgba(8, 29, 24, .28);
}

.suggestion-modal::backdrop { background: rgba(7, 25, 20, .58); backdrop-filter: blur(5px); }
.suggestion-modal form { display: grid; gap: 15px; padding: 30px; }
.suggestion-modal h2 { margin: 0; font-size: 27px; line-height: 1.08; }
.suggestion-modal p { margin: -5px 0 2px; color: #66756f; font-size: 11px; line-height: 1.55; }
.suggestion-modal-close { width: 38px; height: 38px; position: absolute; z-index: 2; top: 12px; right: 12px; border: 0; border-radius: 11px; color: #fff; background: #173b33; font-size: 22px; cursor: pointer; }
.track-wait-estimate { width: max-content; max-width: 100%; display: block; margin: 14px auto 0; padding: 9px 12px; border-radius: 999px; color: #0d4e43; background: #e3f2ec; font-size: 10px; }
.track-suggestion-card header small { display: block; margin-bottom: 3px; color: var(--scanit); font-size: 8px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }

@media (max-width: 560px) {
  .suggestion-modal form { padding: 26px 19px 20px; }
  .suggestion-modal h2 { padding-right: 36px; font-size: 24px; }
}

/* Loyalty, referral and safe restaurant sharing */
.loyalty-card > header > div { display: grid; gap: 3px; }
.loyalty-card > header small,
.loyalty-member header small { color: var(--scanit); font-size: 8px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.loyalty-card > header strong { font-size: 16px; }
.loyalty-consent { display: flex; align-items: flex-start; gap: 9px; color: #465b53; font-size: 10px; line-height: 1.5; }
.loyalty-consent input { flex: none; margin-top: 3px; accent-color: var(--scanit); }
.loyalty-consent--secondary { color: #6b7b75; }
.loyalty-member { display: grid; gap: 14px; }
.loyalty-member header { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.loyalty-member header > div { display: grid; gap: 3px; }
.loyalty-member header strong { font-size: 25px; }
.loyalty-member header > span { padding: 7px 10px; border-radius: 999px; color: #0d5145; background: #e0f2ea; font-size: 9px; font-weight: 800; text-align: center; }
.loyalty-progress { height: 9px; overflow: hidden; border-radius: 999px; background: #e3e8e5; }
.loyalty-progress i { height: 100%; display: block; border-radius: inherit; background: linear-gradient(90deg,#0f5a50,#65ad90); transition: width .25s ease; }
.loyalty-member > p { margin: 0; color: #65756f; font-size: 10px; }
.loyalty-member footer { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding-top: 4px; }
.loyalty-member footer > div { display: grid; gap: 2px; }
.loyalty-member footer small { color: #71817b; font-size: 8px; }
.loyalty-member footer strong { letter-spacing: .08em; }

.shared-venue { --venue: var(--scanit); min-height: 100vh; color: #10251f; background: #f5f3ec; }
.shared-venue > header { width: min(100% - 30px,980px); min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 15px; margin: 0 auto; }
.shared-venue > header a { color: var(--venue); font-size: 20px; font-weight: 900; }
.shared-venue > header span { color: #6b7974; font-size: 10px; text-align: right; }
.shared-venue-hero { width: min(100% - 30px,980px); min-height: 430px; display: grid; grid-template-columns: 1.08fr .92fr; overflow: hidden; margin: 0 auto; border-radius: 28px; color: #fff; background: #0b3028; box-shadow: 0 25px 70px rgba(12,38,31,.16); }
.shared-venue-hero img { width: 100%; height: 100%; min-height: 430px; object-fit: cover; }
.shared-venue-hero > div { display: flex; flex-direction: column; justify-content: center; padding: 45px; }
.shared-venue-hero span,.shared-venue-menu > div > span,.shared-venue-cta > span { color: #78c0a5; font-size: 9px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.shared-venue-hero h1 { margin: 10px 0 16px; font-size: clamp(42px,6vw,72px); letter-spacing: -.06em; line-height: .94; }
.shared-venue-hero p { margin: 0; color: #bbccc6; font-size: 13px; line-height: 1.7; }
.shared-venue-hero strong { margin-top: 22px; padding: 11px 13px; border: 1px solid rgba(255,255,255,.16); border-radius: 12px; color: #e9fff6; background: rgba(255,255,255,.07); font-size: 10px; }
.shared-venue-menu { width: min(100% - 30px,980px); margin: 0 auto; padding: 70px 0; }
.shared-venue-menu > div:first-child { margin-bottom: 22px; }
.shared-venue-menu h2 { margin: 7px 0 0; font-size: 33px; letter-spacing: -.04em; }
.shared-product-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.shared-product-grid article { overflow: hidden; border: 1px solid #dde3df; border-radius: 17px; background: #fff; }
.shared-product-grid article > img,.shared-product-grid article > .product-image-placeholder { width: 100%; height: 155px; border-radius: 0; object-fit: cover; }
.shared-product-grid article > div:last-child { display: grid; gap: 5px; padding: 14px; }
.shared-product-grid small { color: #71817b; font-size: 8px; }
.shared-product-grid strong { font-size: 13px; }
.shared-product-grid span { color: var(--venue); font-size: 10px; font-weight: 850; }
.shared-venue-cta { width: min(100% - 30px,980px); margin: 0 auto 70px; padding: 45px; border-radius: 26px; text-align: center; background: #fff; }
.shared-venue-cta h2 { max-width: 680px; margin: 10px auto 12px; font-size: 34px; letter-spacing: -.045em; }
.shared-venue-cta p { margin: 0; color: #66766f; }

@media (max-width: 760px) {
  .loyalty-member footer { align-items: stretch; flex-direction: column; }
  .loyalty-member footer button { width: 100%; }
  .shared-venue-hero { grid-template-columns: 1fr; }
  .shared-venue-hero img { min-height: 260px; height: 260px; }
  .shared-venue-hero > div { padding: 30px 23px; }
  .shared-product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .shared-venue-cta { padding: 34px 22px; }
}

@media (max-width: 430px) {
  .loyalty-member header { align-items: flex-start; flex-direction: column; }
  .shared-product-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
  .shared-product-grid article > img,.shared-product-grid article > .product-image-placeholder { height: 125px; }
  .shared-product-grid article > div:last-child { padding: 11px; }
}

.guest-active-orders {
  width: min(100% - 28px,680px);
  display: grid;
  gap: 10px;
  margin: 12px auto 0;
  padding: 14px;
  border: 1px solid #cfe1d8;
  border-radius: 17px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(24,64,48,.08);
}
.guest-active-orders[hidden] { display: none !important; }
.guest-active-orders > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.guest-active-orders > header > div { display: grid; gap: 2px; }
.guest-active-orders > header small { color: #71817b; font-size: 8px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.guest-active-orders > header strong { font-size: 13px; }
.guest-active-orders > header > span { display: grid; place-items: center; width: 31px; height: 31px; border-radius: 50%; color: var(--venue); background: #eef7f2; font-weight: 900; }
.guest-active-orders-list { display: grid; gap: 7px; }
.guest-active-order-link { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 11px 12px; border: 1px solid #e1e9e4; border-radius: 12px; color: inherit; text-decoration: none; background: #f8fbf9; }
.guest-active-order-link:hover,.guest-active-order-link:focus-visible { border-color: var(--venue); outline: none; }
.guest-active-order-link > span:first-child { display: grid; gap: 3px; }
.guest-active-order-link strong { font-size: 11px; }
.guest-active-order-link small { color: var(--venue); font-size: 9px; font-weight: 800; }
.guest-active-order-arrow { color: var(--venue); font-size: 17px; font-weight: 900; }

.loyalty-campaign { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 12px; border: 1px solid #f0d99e; border-radius: 12px; background: #fff9e8; }
.loyalty-campaign strong { color: #8a5a00; font-size: 12px; }
.loyalty-campaign span { color: #735f32; font-size: 9px; text-align: right; }
.loyalty-reward-list { display: grid; gap: 7px; }
.loyalty-reward-list article { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 11px; border: 1px solid #e1e8e4; border-radius: 11px; background: #f8fbf9; }
.loyalty-reward-list article[data-reward-available="1"] { border-color: #8bc9aa; background: #eef9f3; }
.loyalty-reward-list article > div { display: grid; gap: 2px; }
.loyalty-reward-list article strong { font-size: 10px; }
.loyalty-reward-list article small { color: #74817c; font-size: 8px; }
.loyalty-reward-list article > span { color: var(--venue); font-size: 9px; font-weight: 850; text-align: right; }

.pickup-fields { display: grid; gap: 10px; padding: 12px; border: 1px solid #d9e6df; border-radius: 14px; background: #f5faf7; }
.pickup-fields p { margin: 0; color: #65756f; font-size: 9px; line-height: 1.5; }
.cart-loyalty-note { display: flex; align-items: center; gap: 10px; padding: 11px 12px; border: 1px solid #cfe5da; border-radius: 13px; background: #f1faf5; }
.cart-loyalty-note > span { flex: none; padding: 5px 7px; border-radius: 999px; color: #fff; background: var(--venue); font-size: 8px; font-weight: 850; text-transform: uppercase; }
.cart-loyalty-note > div { display: grid; gap: 2px; }
.cart-loyalty-note strong { font-size: 10px; }
.cart-loyalty-note small { color: #61736b; font-size: 8px; line-height: 1.45; }
.pickup-summary header > div { display: grid; gap: 3px; }
.pickup-summary header small { color: var(--scanit); font-size: 8px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.pickup-summary header > span { padding: 8px 10px; border-radius: 10px; color: #fff; background: var(--scanit); font-size: 9px; }
.pickup-summary header b { margin-left: 4px; font-size: 14px; letter-spacing: .08em; }
.pickup-summary > p { margin: 13px 0 0; color: #65756f; font-size: 10px; }
.bill-share-list { display: grid; gap: 7px; }
.bill-share-list article { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 11px; border: 1px solid #e0e7e3; border-radius: 11px; background: #f8faf9; }
.bill-share-list article[data-paid="1"] { border-color: #9bcdb6; background: #edf8f3; }
.bill-share-list article > div { display: grid; gap: 2px; }
.bill-share-list article strong { font-size: 10px; }
.bill-share-list article small { color: #6d7c76; font-size: 8px; }
.bill-share-list article > span { font-size: 10px; font-weight: 850; }
.shared-venue-hero .button,.shared-venue-cta .button { width: max-content; margin-top: 22px; }
.shared-venue-cta .button { margin-inline: auto; }


/* Permanent customer loyalty wallet */
.guest-header .guest-loyalty-link { flex:none; min-height:36px; display:inline-grid; place-items:center; border:1px solid color-mix(in srgb,var(--venue) 30%,#d8dfdb); border-radius:11px; padding:0 11px; color:var(--venue); background:#f4faf7; font-size:9px; font-weight:850; text-decoration:none; }
.guest-header .guest-loyalty-link[hidden] { display:none!important; }
.loyalty-member__actions { display:flex!important; align-items:center; gap:8px; }
.loyalty-member__actions .button { min-height:40px; margin:0; white-space:nowrap; }

.loyalty-wallet { --venue:var(--scanit); min-height:100vh; margin:0; color:#10251f; background:#f3f4ef; }
.loyalty-wallet__nav { width:min(100% - 30px,760px); min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:16px; margin:0 auto; }
.loyalty-wallet__nav > a:last-child { color:var(--venue); font-size:10px; font-weight:850; text-decoration:none; }
.loyalty-wallet__brand { min-width:0; display:flex; align-items:center; gap:10px; color:inherit; text-decoration:none; }
.loyalty-wallet__brand > span { width:42px; height:42px; display:grid; flex:none; place-items:center; border-radius:13px; color:#fff; background:var(--venue); font-size:13px; font-weight:900; }
.loyalty-wallet__brand > div { min-width:0; display:grid; gap:2px; }
.loyalty-wallet__brand strong { overflow:hidden; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
.loyalty-wallet__brand small { color:#6b7c75; font-size:8px; font-weight:750; letter-spacing:.06em; text-transform:uppercase; }
.loyalty-wallet__main { width:min(100% - 30px,760px); margin:0 auto; padding-bottom:60px; }
.loyalty-wallet__hero { overflow:hidden; position:relative; padding:30px; border-radius:25px; color:#fff; background:radial-gradient(circle at 100% 0,color-mix(in srgb,var(--venue) 64%,transparent),transparent 46%),#0b352d; box-shadow:0 22px 55px rgba(9,44,36,.18); }
.loyalty-wallet__hero::after { content:''; width:180px; height:180px; position:absolute; right:-80px; bottom:-105px; border:1px solid rgba(255,255,255,.16); border-radius:50%; }
.loyalty-wallet__hero-top { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }
.loyalty-wallet__hero-top > div { display:grid; gap:5px; }
.loyalty-wallet__hero-top span { color:#8fd0b7; font-size:9px; font-weight:850; letter-spacing:.11em; text-transform:uppercase; }
.loyalty-wallet__hero h1 { margin:0; color:#d7e9e2; font-size:14px; font-weight:720; }
.loyalty-wallet__hero em { padding:7px 10px; border:1px solid rgba(255,255,255,.14); border-radius:999px; color:#d8e5e0; background:rgba(255,255,255,.08); font-size:8px; font-style:normal; font-weight:850; text-transform:uppercase; }
.loyalty-wallet__hero em.is-ready { border-color:#8dd3af; color:#073a2d; background:#9fe0bc; }
.loyalty-wallet__balance { display:flex; align-items:baseline; gap:10px; margin:19px 0 16px; }
.loyalty-wallet__balance strong { font-size:clamp(58px,12vw,82px); font-weight:930; letter-spacing:-.075em; line-height:.85; }
.loyalty-wallet__balance span { color:#b7d0c7; font-size:13px; font-weight:800; }
.loyalty-wallet__progress { width:100%; height:9px; overflow:hidden; border-radius:999px; background:rgba(255,255,255,.14); }
.loyalty-wallet__progress i { height:100%; display:block; border-radius:inherit; background:linear-gradient(90deg,#69c49f,#c5efd9); }
.loyalty-wallet__hero p { max-width:560px; margin:14px 0 4px; color:#ecf7f2; font-size:12px; font-weight:700; line-height:1.5; }
.loyalty-wallet__hero > small { color:#9db8ae; font-size:8px; }
.loyalty-wallet__content { display:grid; gap:12px; margin-top:14px; }
.loyalty-wallet__card,.loyalty-wallet__details,.loyalty-wallet__save { border:1px solid #dfe6e1; border-radius:18px; background:#fff; box-shadow:0 10px 30px rgba(20,54,44,.045); }
.loyalty-wallet__card { padding:20px; }
.loyalty-wallet__card > header { display:flex; align-items:flex-end; justify-content:space-between; gap:14px; margin-bottom:13px; }
.loyalty-wallet__card > header > div { display:grid; gap:3px; }
.loyalty-wallet__card > header span { color:var(--venue); font-size:8px; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }
.loyalty-wallet__card h2 { margin:0; font-size:21px; letter-spacing:-.025em; }
.loyalty-wallet__card > header > small { color:#73827c; font-size:8px; }
.loyalty-wallet__campaign { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:10px; padding:10px 12px; border-radius:12px; color:#725000; background:#fff6db; }
.loyalty-wallet__campaign strong { font-size:12px; }
.loyalty-wallet__campaign span { font-size:9px; text-align:right; }
.loyalty-wallet__rewards { display:grid; gap:8px; }
.loyalty-wallet__rewards article { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:13px; border:1px solid #e4eae6; border-radius:13px; background:#f8faf8; }
.loyalty-wallet__rewards article.is-ready { border-color:#8fceb0; background:#edf9f2; }
.loyalty-wallet__rewards article > div { display:grid; gap:3px; }
.loyalty-wallet__rewards article strong { font-size:11px; }
.loyalty-wallet__rewards article small { color:#73827b; font-size:8px; line-height:1.45; }
.loyalty-wallet__rewards article > span { display:grid; flex:none; gap:2px; color:#60736b; font-size:8px; font-weight:750; text-align:right; }
.loyalty-wallet__rewards article.is-ready > span { color:#117153; }
.loyalty-wallet__rewards article b { color:#173e34; font-size:10px; }
.loyalty-wallet__handoff { margin:12px 0 0; padding:10px 11px; border-radius:11px; color:#5e7069; background:#f0f5f2; font-size:8px; line-height:1.5; }
.loyalty-wallet__details { overflow:hidden; }
.loyalty-wallet__details summary { min-height:58px; display:flex; align-items:center; gap:10px; padding:0 18px; cursor:pointer; list-style:none; font-size:11px; font-weight:850; }
.loyalty-wallet__details summary::-webkit-details-marker { display:none; }
.loyalty-wallet__details summary > span { flex:1; }
.loyalty-wallet__details summary > b { min-width:24px; height:24px; display:grid; place-items:center; border-radius:999px; color:var(--venue); background:#eef6f2; font-size:8px; }
.loyalty-wallet__details summary > i { color:var(--venue); font-size:18px; font-style:normal; transition:transform .2s ease; }
.loyalty-wallet__details[open] summary > i { transform:rotate(45deg); }
.loyalty-wallet__details-body,.loyalty-wallet__transactions { display:grid; gap:8px; padding:0 18px 18px; border-top:1px solid #edf0ee; }
.loyalty-wallet__details-body article { display:grid; gap:4px; padding:13px 0 4px; }
.loyalty-wallet__details-body article + article { border-top:1px solid #edf0ee; }
.loyalty-wallet__details-body span { color:#72827b; font-size:8px; font-weight:800; text-transform:uppercase; }
.loyalty-wallet__details-body strong { font-size:12px; }
.loyalty-wallet__details-body small { color:#697a73; font-size:8px; line-height:1.45; }
.loyalty-wallet__code { letter-spacing:.12em; }
.loyalty-wallet__transactions article { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:13px 0 5px; }
.loyalty-wallet__transactions article + article { border-top:1px solid #edf0ee; }
.loyalty-wallet__transactions article > div { min-width:0; display:grid; gap:3px; }
.loyalty-wallet__transactions strong { font-size:10px; }
.loyalty-wallet__transactions span,.loyalty-wallet__transactions small { overflow:hidden; color:#71817a; font-size:8px; line-height:1.4; text-overflow:ellipsis; }
.loyalty-wallet__transactions article > b { flex:none; font-size:12px; }
.loyalty-wallet__transactions .is-positive { color:#14805d; }
.loyalty-wallet__transactions .is-negative { color:#a34e42; }
.loyalty-wallet__transactions > p { margin:14px 0 0; color:#6c7d75; font-size:9px; line-height:1.5; }
.loyalty-wallet__save { display:grid; grid-template-columns:1fr auto; align-items:center; gap:6px 16px; padding:18px; }
.loyalty-wallet__save > div { display:grid; gap:4px; }
.loyalty-wallet__save strong { font-size:11px; }
.loyalty-wallet__save span { color:#6a7b74; font-size:8px; line-height:1.45; }
.loyalty-wallet__save button { min-height:41px; border:0; border-radius:11px; padding:0 14px; color:#fff; background:var(--venue); font-size:9px; font-weight:850; cursor:pointer; }
.loyalty-wallet__save button:disabled { opacity:.65; cursor:wait; }
.loyalty-wallet__save > small { grid-column:1/-1; color:#14805d; font-size:8px; }
.loyalty-wallet__privacy { margin:2px 4px 0; color:#6d7d76; font-size:8px; line-height:1.5; text-align:center; }

@media (max-width:600px) {
  .guest-header .guest-loyalty-link { padding:0 9px; }
  .loyalty-member__actions { width:100%; align-items:stretch; flex-direction:column; }
  .loyalty-member__actions .button { width:100%; }
  .loyalty-wallet__nav { min-height:68px; }
  .loyalty-wallet__nav > a:last-child { font-size:9px; }
  .loyalty-wallet__hero { padding:24px 20px; border-radius:20px; }
  .loyalty-wallet__hero-top { gap:10px; }
  .loyalty-wallet__balance { margin-top:18px; }
  .loyalty-wallet__card { padding:17px; }
  .loyalty-wallet__save { grid-template-columns:1fr; }
  .loyalty-wallet__save button { width:100%; margin-top:7px; }
  .loyalty-wallet__save > small { grid-column:auto; }
}


/* Order status timeline */
.tracker-main > .status-timeline {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0;
  overflow: visible;
  margin: 18px 0 16px;
  padding: 19px 14px 17px;
  border: 1px solid #dfe5e1;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(18, 53, 43, .045);
}

.tracker-main > .status-timeline > div {
  position: relative;
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: 24px auto;
  justify-items: center;
  align-items: start;
  gap: 8px;
  color: #84918c;
  font-size: 9px;
  line-height: 1.25;
  text-align: center;
}

.tracker-main > .status-timeline > div::before {
  content: "";
  z-index: 2;
  width: 22px;
  height: 22px;
  grid-column: 1;
  grid-row: 1;
  display: grid;
  box-sizing: border-box;
  place-items: center;
  border: 3px solid #d7dfda;
  border-radius: 50%;
  color: #fff;
  background: #fff;
  font-size: 10px;
  font-weight: 900;
  line-height: 1;
}

.tracker-main > .status-timeline > div::after {
  content: "";
  z-index: 1;
  position: absolute;
  top: 10px;
  left: 50%;
  width: 100%;
  height: 3px;
  background: #dce3df;
}

.tracker-main > .status-timeline > div:last-child::after {
  display: none;
}

.tracker-main > .status-timeline > div > span {
  z-index: 2;
  min-width: 0;
  max-width: 100%;
  grid-column: 1;
  grid-row: 2;
  display: block;
  padding: 4px 4px 0;
  overflow-wrap: anywhere;
  font-weight: 750;
}

.tracker-main > .status-timeline > div.done:not(.current)::before {
  content: "✓";
  border-color: var(--scanit);
  background: var(--scanit);
}

.tracker-main > .status-timeline > div.done:not(.current)::after {
  background: var(--scanit);
}

.tracker-main > .status-timeline > div.done:not(.current) > span {
  color: #47665b;
}

.tracker-main > .status-timeline > div.current::before {
  border-color: var(--scanit);
  background: radial-gradient(circle, var(--scanit) 0 4px, #fff 5px);
  box-shadow: 0 0 0 4px rgba(15, 90, 80, .12);
}

.tracker-main > .status-timeline > div.current > span {
  padding: 4px 6px;
  border-radius: 999px;
  color: var(--scanit);
  background: var(--scanit-soft);
  font-weight: 900;
}

@media (max-width: 560px) {
  .tracker-main > .status-timeline {
    padding: 17px 8px 15px;
    border-radius: 16px;
  }

  .tracker-main > .status-timeline > div {
    grid-template-rows: 22px auto;
    gap: 7px;
    font-size: 8px;
  }

  .tracker-main > .status-timeline > div::before {
    width: 20px;
    height: 20px;
    border-width: 3px;
    font-size: 9px;
  }

  .tracker-main > .status-timeline > div::after {
    top: 9px;
  }

  .tracker-main > .status-timeline > div > span {
    padding-inline: 2px;
  }

  .tracker-main > .status-timeline > div.current > span {
    padding-inline: 4px;
  }
}


/* Notification panier : compacte, fermable et non bloquante */
.guest-toast {
  top: auto;
  bottom: 82px;
  width: max-content;
  max-width: min(360px, calc(100% - 32px));
  min-height: 38px;
  gap: 8px;
  padding: 7px 7px 7px 12px;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 10px;
  background: rgba(16, 36, 31, .94);
  box-shadow: 0 10px 28px rgba(16, 36, 31, .18);
  font-size: 10px;
  font-weight: 700;
  line-height: 1.35;
}
.guest-toast > [data-toast-message] {
  min-width: 0;
  flex: 1;
}
.guest-toast > [data-toast-close] {
  width: 26px;
  height: 26px;
  flex: none;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 8px;
  padding: 0;
  color: rgba(255, 255, 255, .82);
  background: rgba(255, 255, 255, .08);
  font: inherit;
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
}
.guest-toast > [data-toast-close]:hover,
.guest-toast > [data-toast-close]:focus-visible {
  color: #fff;
  background: rgba(255, 255, 255, .16);
}
.guest-toast[data-error="true"] {
  background: rgba(154, 62, 52, .96);
}
