/* ── pages.css ─────────────────────────────────────────────────────────────────
   Page-specific layouts: Home · Restaurants · Menu · Cart · Checkout ·
   Tracking · Account · Login · Offers
   ─────────────────────────────────────────────────────────────────────────── */

/* ═══════════════════════════════════════════════════════════════════════════
   HOME PAGE
   ═══════════════════════════════════════════════════════════════════════════ */

.home-page { background: var(--delivery-bg); }

/* Hero section */
.home-hero {
  background: linear-gradient(145deg, #1A1A2E 0%, #2d1b4e 50%, #1a2744 100%);
  padding: var(--space-2xl) var(--space-md) var(--space-xl);
  position: relative;
  overflow: hidden;
}

.home-hero::before {
  content: "";
  position: absolute;
  top: -60%;
  inset-inline-end: -15%;
  width: 400px;
  height: 400px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,87,34,0.3) 0%, rgba(255,87,34,0.1) 40%, transparent 70%);
  pointer-events: none;
  animation: heroGlow 4s ease-in-out infinite alternate;
}
.home-hero::after {
  content: "";
  position: absolute;
  bottom: -30%;
  inset-inline-start: -10%;
  width: 250px;
  height: 250px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(47,211,198,0.15) 0%, transparent 70%);
  pointer-events: none;
}
@keyframes heroGlow {
  from { opacity: 0.7; transform: scale(1); }
  to { opacity: 1; transform: scale(1.1); }
}

.home-hero__greeting {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--delivery-primary);
  margin-bottom: var(--space-sm);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  display: flex;
  align-items: center;
  gap: 6px;
}

.home-hero__title {
  font-size: clamp(1.625rem, 6vw, 2.25rem);
  font-weight: 800;
  color: #fff;
  margin-bottom: var(--space-sm);
  line-height: 1.15;
  letter-spacing: -0.02em;
}

.home-hero__subtitle {
  font-size: 0.9375rem;
  color: rgba(255,255,255,0.55);
  margin-bottom: var(--space-xl);
  line-height: 1.5;
}

.home-hero .search-bar {
  max-width: 560px;
  position: relative;
}
.home-hero .search-bar input {
  background: rgba(255,255,255,0.95);
  color: #1A1A2E;
  border-color: transparent;
  box-shadow: 0 4px 24px rgba(0,0,0,0.15), 0 0 0 1px rgba(255,255,255,0.1);
  padding-block: 16px;
  border-radius: var(--radius-lg);
  font-size: 1rem;
}
.home-hero .search-bar input::placeholder { color: #9CA3AF; }
.home-hero .search-bar input:focus {
  border-color: var(--delivery-primary);
  box-shadow: 0 4px 24px rgba(0,0,0,0.15), 0 0 0 3px rgba(255,87,34,0.2);
}

.home-hero__meta {
  display: flex;
  gap: var(--space-md);
  margin-top: var(--space-lg);
  flex-wrap: wrap;
}

.home-hero__meta-item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.8125rem;
  color: rgba(255,255,255,0.5);
  background: rgba(255,255,255,0.06);
  padding: 6px 12px;
  border-radius: var(--radius-pill);
  border: 1px solid rgba(255,255,255,0.08);
}

.home-hero__meta-item strong { color: rgba(255,255,255,0.95); }

/* Service type tabs */
.service-tabs {
  display: flex;
  background: var(--delivery-surface);
  border-bottom: 1px solid var(--delivery-border);
  overflow-x: auto;
  scrollbar-width: none;
}
.service-tabs::-webkit-scrollbar { display: none; }

.service-tab {
  flex-shrink: 0;
  padding: var(--space-md) var(--space-lg);
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--delivery-text-muted);
  border-bottom: 3px solid transparent;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  transition: all var(--transition-fast);
  white-space: nowrap;
}

.service-tab.active {
  color: var(--delivery-primary);
  border-bottom-color: var(--delivery-primary);
}

.service-tab:hover:not(.active) {
  color: var(--delivery-text);
  background: var(--delivery-bg);
}

/* Home sections */
.home-section {
  padding: var(--space-xl) var(--space-md);
  background: var(--delivery-surface);
  margin-top: 2px;
}
.home-section--compact { padding: var(--space-md); }
.home-section--flush { padding: var(--space-md); }

.section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.section-header__title {
  font-size: 1.25rem;
  font-weight: 800;
  color: var(--delivery-text);
  letter-spacing: -0.02em;
}
.section-header__link {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--delivery-primary);
  cursor: pointer;
  text-decoration: none;
  transition: opacity 0.2s;
}
.section-header__link:hover { opacity: 0.8; }

/* Cuisine grid */
.cuisine-grid {
  display: flex;
  gap: var(--space-sm);
  margin-top: var(--space-lg);
  overflow-x: auto;
  scrollbar-width: none;
  padding-bottom: var(--space-xs);
  -webkit-overflow-scrolling: touch;
}
.cuisine-grid::-webkit-scrollbar { display: none; }

/* Restaurant grid */
.restaurants-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: var(--space-md);
  margin-top: var(--space-md);
}

@media (max-width: 600px) {
  .restaurants-grid { grid-template-columns: 1fr; }
}

/* Products grid */
.products-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-md);
  margin-top: var(--space-lg);
}

@media (min-width: 480px) {
  .products-grid { grid-template-columns: repeat(2, 1fr); gap: var(--space-md); }
}
@media (min-width: 640px) {
  .products-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 960px) {
  .products-grid { grid-template-columns: repeat(4, 1fr); }
}

/* Promo strip */
.promo-strip {
  background: linear-gradient(135deg, var(--delivery-primary), var(--delivery-primary-dark));
  padding: var(--space-md);
  display: flex;
  align-items: center;
  gap: var(--space-md);
  border-radius: var(--radius-lg);
  cursor: pointer;
  overflow: hidden;
  position: relative;
}

.promo-strip::after {
  content: "";
  position: absolute;
  inset-inline-end: var(--space-md);
  width: 80px; height: 80px;
  opacity: 0.12;
  transform: rotate(-15deg);
  pointer-events: none;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5.8 11.3 2 22l10.7-3.79'/%3E%3Cpath d='M4 3h.01'/%3E%3Cpath d='M22 8h.01'/%3E%3Cpath d='M15 2h.01'/%3E%3Cpath d='M22 20h.01'/%3E%3Cpath d='m22 2-2.24.75a2.9 2.9 0 0 0-1.96 3.12c.1.86-.57 1.63-1.45 1.63h-.38c-.86 0-1.6.6-1.76 1.44L14 10'/%3E%3Cpath d='m22 13-.82-.33c-.86-.34-1.82.2-1.98 1.11c-.11.63-.69 1.22-1.3 1.22H17c-.88 0-1.68.58-1.68 1.5 0 .93.49 1.5 1.38 1.5'/%3E%3Cpath d='m11 2 .33.82c.34.86-.2 1.82-1.11 1.98C9.59 4.91 9 5.49 9 6.1V7c0 .88-.58 1.68-1.5 1.68C6.57 8.68 6 8.19 6 7.3'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5.8 11.3 2 22l10.7-3.79'/%3E%3Cpath d='M4 3h.01'/%3E%3Cpath d='M22 8h.01'/%3E%3Cpath d='M15 2h.01'/%3E%3Cpath d='M22 20h.01'/%3E%3Cpath d='m22 2-2.24.75a2.9 2.9 0 0 0-1.96 3.12c.1.86-.57 1.63-1.45 1.63h-.38c-.86 0-1.6.6-1.76 1.44L14 10'/%3E%3Cpath d='m22 13-.82-.33c-.86-.34-1.82.2-1.98 1.11c-.11.63-.69 1.22-1.3 1.22H17c-.88 0-1.68.58-1.68 1.5 0 .93.49 1.5 1.38 1.5'/%3E%3Cpath d='m11 2 .33.82c.34.86-.2 1.82-1.11 1.98C9.59 4.91 9 5.49 9 6.1V7c0 .88-.58 1.68-1.5 1.68C6.57 8.68 6 8.19 6 7.3'/%3E%3C/svg%3E") center/contain no-repeat;
}

.promo-strip__title { color: #fff; font-weight: 700; font-size: 1rem; display: flex; align-items: center; gap: 6px; }
.promo-strip__sub   { color: rgba(255,255,255,0.85); font-size: 0.8125rem; margin-top: 4px; }

.home-promo-dark {
  background: linear-gradient(135deg, #1A1A2E 0%, #2d1b4e 100%) !important;
  border: 1px solid rgba(255,255,255,0.08);
}

/* Loyalty bar */
.loyalty-bar {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  padding: var(--space-md) var(--space-lg);
  background: linear-gradient(135deg, #FFF8E1, #FFF3E0);
  border-radius: var(--radius-lg);
  cursor: pointer;
  border: 1px solid #FFE0B2;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.loyalty-bar:hover {
  box-shadow: 0 4px 16px rgba(245,158,11,0.15);
  transform: translateY(-1px);
}
.loyalty-bar__icon { color: var(--tier-gold); }
.loyalty-bar__points { font-weight: 700; color: var(--delivery-text); font-size: 0.9375rem; }
.loyalty-bar__tier { font-size: 0.8125rem; color: var(--delivery-text-secondary); margin-top: 2px; }
.loyalty-bar__info { flex: 1; }

/* ═══════════════════════════════════════════════════════════════════════════
   RESTAURANTS LISTING PAGE
   ═══════════════════════════════════════════════════════════════════════════ */

.restaurants-page {
  background: var(--delivery-bg);
  min-height: 100vh;
}

.restaurants-filters-bar {
  background: var(--delivery-surface);
  padding: var(--space-sm) var(--space-md);
  border-bottom: 1px solid var(--delivery-border);
  position: sticky;
  top: 0;
  z-index: var(--z-sticky);
}

@media (min-width: 768px) {
  .restaurants-filters-bar { top: var(--nav-height); }
}

.restaurants-filters-row {
  display: flex;
  gap: var(--space-sm);
  overflow-x: auto;
  scrollbar-width: none;
}
.restaurants-filters-row::-webkit-scrollbar { display: none; }

.filter-chip {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 7px 14px;
  border-radius: var(--radius-pill);
  font-size: 0.875rem;
  font-weight: 600;
  border: 1.5px solid var(--delivery-border);
  background: var(--delivery-surface);
  color: var(--delivery-text-secondary);
  cursor: pointer;
  white-space: nowrap;
  transition: all var(--transition-fast);
}
.filter-chip:hover { border-color: var(--delivery-primary); color: var(--delivery-primary); }
.filter-chip.active { background: var(--delivery-primary); color: #fff; border-color: var(--delivery-primary); }

.restaurants-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-md);
  padding: var(--space-md);
  max-width: var(--page-max);
  margin: 0 auto;
}

@media (min-width: 960px) {
  .restaurants-layout {
    grid-template-columns: 260px 1fr;
    padding: var(--space-lg);
    gap: var(--space-xl);
    align-items: start;
  }
}

/* Filter sidebar */
.filters-sidebar {
  background: var(--delivery-surface);
  border-radius: var(--radius-lg);
  border: 1px solid var(--delivery-border);
  overflow: hidden;
  position: sticky;
  top: calc(var(--nav-height) + 70px);
  display: none;
}

@media (min-width: 960px) { .filters-sidebar { display: block; } }

.filters-sidebar__header {
  padding: var(--space-md) var(--space-lg);
  border-bottom: 1px solid var(--delivery-border);
  font-weight: 700;
  font-size: 0.9375rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.filters-sidebar__reset {
  font-size: 0.8125rem;
  color: var(--delivery-primary);
  font-weight: 600;
  cursor: pointer;
}

.filter-group {
  padding: var(--space-md) var(--space-lg);
  border-bottom: 1px solid var(--delivery-border);
}
.filter-group:last-child { border-bottom: none; }

.filter-group__title {
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--delivery-text-muted);
  margin-bottom: var(--space-sm);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.filter-option {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  padding: 7px 0;
  cursor: pointer;
  font-size: 0.9375rem;
  color: var(--delivery-text);
  transition: color var(--transition-fast);
}
.filter-option:hover { color: var(--delivery-primary); }

.filter-option__box {
  width: 18px; height: 18px;
  border: 2px solid var(--delivery-border);
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: all var(--transition-fast);
  font-size: 0.75rem;
  color: #fff;
}
.filter-option.checked .filter-option__box {
  background: var(--delivery-primary);
  border-color: var(--delivery-primary);
}

/* Sort bar */
.sort-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--space-md);
}

.sort-bar__count { font-size: 0.9375rem; color: var(--delivery-text-secondary); }
.sort-bar__count strong { color: var(--delivery-text); }

.sort-select {
  padding: 8px 14px;
  border: 1.5px solid var(--delivery-border);
  border-radius: var(--radius-pill);
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
  background: var(--delivery-surface);
  color: var(--delivery-text);
}

/* Restaurant list */
.restaurant-list { display: flex; flex-direction: column; gap: var(--space-md); }

.restaurant-list-item {
  background: var(--delivery-surface);
  border-radius: var(--radius-lg);
  border: 1px solid var(--delivery-border);
  overflow: hidden;
  cursor: pointer;
  transition: box-shadow var(--transition-normal), transform var(--transition-normal);
  display: flex;
}
.restaurant-list-item:hover {
  box-shadow: var(--shadow-md);
  transform: translateY(-1px);
}

.restaurant-list-item__cover {
  width: 140px;
  min-width: 140px;
  background: linear-gradient(135deg, var(--delivery-border), var(--delivery-primary-light));
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 3rem;
  overflow: hidden;
}
.restaurant-list-item__cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.restaurant-list-item__body {
  flex: 1;
  padding: var(--space-md);
  min-width: 0;
}

.restaurant-list-item__name { font-size: 1rem; font-weight: 700; color: var(--delivery-text); }
.restaurant-list-item__cuisine { font-size: 0.8125rem; color: var(--delivery-text-muted); margin-top: 2px; }

.restaurant-list-item__meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm) var(--space-md);
  margin-top: var(--space-sm);
}

.restaurant-list-item__badges {
  display: flex;
  gap: var(--space-xs);
  margin-top: var(--space-sm);
  flex-wrap: wrap;
}

/* ═══════════════════════════════════════════════════════════════════════════
   MENU (RESTAURANT DETAIL)
   ═══════════════════════════════════════════════════════════════════════════ */

.menu-page { background: var(--delivery-bg); }

/* Restaurant cover */
.restaurant-cover {
  position: relative;
  height: 220px;
  overflow: hidden;
  background: linear-gradient(135deg, var(--nav-bg), var(--delivery-primary-dark));
}

.restaurant-cover__img { width: 100%; height: 100%; object-fit: cover; }

.restaurant-cover__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 40%, rgba(0,0,0,0.55) 100%);
}

.restaurant-cover__back {
  position: absolute;
  top: var(--space-md);
  inset-inline-start: var(--space-md);
  width: 40px; height: 40px;
  border-radius: 50%;
  background: rgba(255,255,255,0.9);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: var(--shadow-sm);
  color: var(--delivery-text);
  font-size: 1.25rem;
}

/* Restaurant info header */
.restaurant-info {
  background: var(--delivery-surface);
  padding: var(--space-lg) var(--space-md);
  border-bottom: 1px solid var(--delivery-border);
}

.restaurant-info__header {
  display: flex;
  align-items: flex-start;
  gap: var(--space-md);
  margin-bottom: var(--space-md);
}

.restaurant-info__logo {
  width: 72px; height: 72px;
  border-radius: var(--radius-md);
  object-fit: cover;
  box-shadow: var(--shadow-md);
  flex-shrink: 0;
  background: var(--delivery-border);
}

.restaurant-info__logo-placeholder {
  width: 72px; height: 72px;
  border-radius: var(--radius-md);
  background: linear-gradient(135deg, var(--delivery-primary), var(--delivery-primary-dark));
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.5rem;
  flex-shrink: 0;
}

.restaurant-info__name { font-size: 1.375rem; font-weight: 800; margin-bottom: 4px; }
.restaurant-info__cuisine { font-size: 0.875rem; color: var(--delivery-text-muted); margin-bottom: var(--space-sm); }

.restaurant-info__meta-row {
  display: flex;
  gap: var(--space-md);
  flex-wrap: wrap;
  align-items: center;
}

.restaurant-info__meta-item {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 0.8125rem;
  color: var(--delivery-text-secondary);
}

.restaurant-info__rating {
  display: flex;
  align-items: center;
  gap: 4px;
  font-weight: 700;
  color: var(--delivery-text);
  font-size: 0.9375rem;
}

/* Order type toggle */
.order-type-toggle {
  display: flex;
  background: var(--delivery-bg);
  border-radius: var(--radius-pill);
  padding: 3px;
  width: fit-content;
  margin-bottom: var(--space-md);
}

.order-type-btn {
  padding: 8px var(--space-lg);
  border-radius: var(--radius-pill);
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--delivery-text-secondary);
  cursor: pointer;
  transition: all var(--transition-fast);
}
.order-type-btn.active {
  background: var(--delivery-surface);
  color: var(--delivery-primary);
  box-shadow: var(--shadow-sm);
}

/* Category sticky nav */
.menu-cat-nav {
  position: sticky;
  top: 0;
  z-index: 90;
  background: var(--delivery-surface);
  border-bottom: 1px solid var(--delivery-border);
  overflow-x: auto;
  scrollbar-width: none;
  display: flex;
}
.menu-cat-nav::-webkit-scrollbar { display: none; }

@media (min-width: 768px) { .menu-cat-nav { top: var(--nav-height); } }

.menu-cat-tab {
  flex-shrink: 0;
  padding: var(--space-md) var(--space-lg);
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--delivery-text-muted);
  border-bottom: 3px solid transparent;
  cursor: pointer;
  white-space: nowrap;
  transition: all var(--transition-fast);
}
.menu-cat-tab.active {
  color: var(--delivery-primary);
  border-bottom-color: var(--delivery-primary);
}
.menu-cat-tab:hover:not(.active) { color: var(--delivery-text); background: var(--delivery-bg); }

/* Menu section */
.menu-section { background: var(--delivery-surface); margin-top: var(--space-sm); }
.menu-section-title {
  padding: var(--space-lg) var(--space-md) var(--space-sm);
  font-size: 1.125rem;
  font-weight: 700;
}

/* Desktop menu layout */
@media (min-width: 960px) {
  .menu-page-layout {
    display: grid;
    grid-template-columns: 1fr 380px;
    gap: var(--space-lg);
    max-width: 1100px;
    margin: 0 auto;
    padding: var(--space-lg) var(--space-lg) var(--space-3xl);
    align-items: start;
  }
  .menu-sidebar {
    position: sticky;
    top: calc(var(--nav-height) + var(--space-md));
    background: var(--delivery-surface);
    border-radius: var(--radius-lg);
    border: 1px solid var(--delivery-border);
    overflow: hidden;
    max-height: calc(100vh - var(--nav-height) - 32px);
    overflow-y: auto;
  }
}

/* ═══════════════════════════════════════════════════════════════════════════
   CART PAGE
   ═══════════════════════════════════════════════════════════════════════════ */

.cart-page { background: var(--delivery-bg); padding-bottom: 100px; }

.cart-layout {
  max-width: 860px;
  margin: 0 auto;
  padding: var(--space-md);
}

@media (min-width: 768px) {
  .cart-layout {
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: var(--space-lg);
    align-items: start;
    padding: var(--space-lg);
  }
}

.cart-main { display: flex; flex-direction: column; gap: var(--space-sm); }
.cart-aside { display: flex; flex-direction: column; gap: var(--space-sm); }

@media (min-width: 768px) {
  .cart-aside { position: sticky; top: calc(var(--nav-height) + var(--space-md)); }
}

/* Item notes */
.item-notes-area {
  width: 100%;
  font-size: 0.875rem;
  border: 1.5px solid var(--delivery-border);
  border-radius: var(--radius-sm);
  padding: 8px 12px;
  resize: none;
  min-height: 52px;
  background: var(--delivery-surface);
  transition: border-color var(--transition-fast);
  color: var(--delivery-text);
}
.item-notes-area:focus { border-color: var(--delivery-primary); outline: none; }
.item-notes-area::placeholder { color: var(--delivery-text-muted); font-style: italic; }

/* Upsell */
.upsell-section { background: var(--delivery-surface); border-radius: var(--radius-lg); overflow: hidden; }
.upsell-header { padding: var(--space-md); font-weight: 700; font-size: 0.9375rem; border-bottom: 1px solid var(--delivery-border); }
.upsell-scroll { display: flex; gap: var(--space-sm); overflow-x: auto; padding: var(--space-md); scrollbar-width: none; }
.upsell-scroll::-webkit-scrollbar { display: none; }

.upsell-item {
  flex-shrink: 0;
  width: 130px;
  border: 1.5px solid var(--delivery-border);
  border-radius: var(--radius-md);
  overflow: hidden;
  cursor: pointer;
  transition: all var(--transition-fast);
  background: var(--delivery-surface);
}
.upsell-item:hover { border-color: var(--delivery-primary); box-shadow: var(--shadow-sm); }

.upsell-item__image {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  background: var(--delivery-border);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
}
.upsell-item__body { padding: var(--space-xs) var(--space-sm) var(--space-sm); }
.upsell-item__name { font-size: 0.8125rem; font-weight: 600; line-height: 1.3; }
.upsell-item__price { font-size: 0.8125rem; font-weight: 700; color: var(--delivery-primary); margin-top: 2px; }

/* Min order */
.min-order-info {
  padding: 6px var(--space-md);
  font-size: 0.8125rem;
  color: var(--delivery-text-muted);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* ═══════════════════════════════════════════════════════════════════════════
   CHECKOUT PAGE
   ═══════════════════════════════════════════════════════════════════════════ */

.checkout-page { background: var(--delivery-bg); padding-bottom: 100px; }

.checkout-layout {
  max-width: 860px;
  margin: 0 auto;
  padding: var(--space-md);
}

@media (min-width: 768px) {
  .checkout-layout {
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: var(--space-lg);
    align-items: start;
    padding: var(--space-lg);
  }
}

.checkout-step {
  background: var(--delivery-surface);
  border-radius: var(--radius-lg);
  overflow: hidden;
  margin-bottom: var(--space-sm);
  border: 1px solid var(--delivery-border);
}

.checkout-step__header {
  padding: var(--space-md) var(--space-lg);
  display: flex;
  align-items: center;
  gap: var(--space-md);
  border-bottom: 1px solid var(--delivery-border);
  background: var(--delivery-bg);
}

.checkout-step__num {
  width: 28px; height: 28px;
  border-radius: 50%;
  background: var(--delivery-primary);
  color: #fff;
  font-size: 0.875rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.checkout-step__title { font-weight: 700; }
.checkout-step__body { padding: var(--space-lg); }

/* Map */
#checkout-map {
  height: 200px;
  border-radius: var(--radius-md);
  overflow: hidden;
  margin-bottom: var(--space-md);
  border: 1px solid var(--delivery-border);
}

/* Toggle switch */
.toggle-row { display: flex; align-items: center; justify-content: space-between; padding: var(--space-xs) 0; }
.toggle-row__label { font-weight: 600; font-size: 0.9375rem; }
.toggle-row__sub { font-size: 0.8125rem; color: var(--delivery-text-muted); }

.toggle-switch { position: relative; width: 48px; height: 26px; flex-shrink: 0; }
.toggle-switch input { opacity: 0; width: 0; height: 0; position: absolute; }
.toggle-switch__track {
  position: absolute;
  inset: 0;
  background: var(--delivery-border);
  border-radius: var(--radius-pill);
  cursor: pointer;
  transition: background var(--transition-fast);
}
.toggle-switch__track::after {
  content: "";
  position: absolute;
  width: 20px; height: 20px;
  border-radius: 50%;
  background: #fff;
  top: 3px; left: 3px;
  transition: transform var(--transition-fast);
  box-shadow: var(--shadow-xs);
}
.toggle-switch input:checked + .toggle-switch__track { background: var(--delivery-primary); }
.toggle-switch input:checked + .toggle-switch__track::after { transform: translateX(22px); }

/* Checkout CTA (mobile sticky) */
.checkout-cta {
  position: fixed;
  bottom: 0; left: 0; right: 0;
  z-index: var(--z-sticky);
  background: var(--delivery-surface);
  border-top: 1px solid var(--delivery-border);
  padding: var(--space-md);
  padding-bottom: calc(var(--space-md) + env(safe-area-inset-bottom, 0));
  max-width: 600px;
  margin: 0 auto;
}
@media (min-width: 768px) { .checkout-cta { display: none; } }

/* Stripe */
#stripe-card-element {
  padding: 14px var(--space-md);
  border: 1.5px solid var(--delivery-border);
  border-radius: var(--radius-md);
  background: var(--delivery-surface);
  transition: border-color var(--transition-fast);
}

/* ═══════════════════════════════════════════════════════════════════════════
   ORDER TRACKING
   ═══════════════════════════════════════════════════════════════════════════ */

.tracking-page { background: var(--delivery-bg); }

.tracking-confirmation {
  background: var(--delivery-surface);
  padding: var(--space-xl) var(--space-md);
  text-align: center;
  border-bottom: 1px solid var(--delivery-border);
}

.confirmation-icon {
  width: 80px; height: 80px;
  border-radius: 50%;
  background: var(--delivery-success-light);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 2.5rem;
  animation: confirm-bounce 0.6s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
  margin-bottom: var(--space-md);
}

@keyframes confirm-bounce {
  0%   { transform: scale(0.5); opacity: 0; }
  70%  { transform: scale(1.1); }
  100% { transform: scale(1); opacity: 1; }
}

#tracking-map { height: 300px; }

.tracking-info-card {
  background: var(--delivery-surface);
  margin-top: var(--space-sm);
  padding: var(--space-lg) var(--space-md);
}

.eta-display {
  text-align: center;
  padding: var(--space-md) 0;
}
.eta-display__label { font-size: 0.875rem; color: var(--delivery-text-muted); text-transform: uppercase; letter-spacing: 0.05em; font-weight: 600; }
.eta-display__time  { font-size: 3rem; font-weight: 800; color: var(--delivery-primary); line-height: 1; margin-top: 4px; }
.eta-display__sub   { font-size: 0.875rem; color: var(--delivery-text-muted); margin-top: 4px; }

/* Driver card */
.driver-info {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  padding: var(--space-md);
  background: var(--delivery-bg);
  border-radius: var(--radius-lg);
  margin-top: var(--space-md);
}
.driver-avatar {
  width: 52px; height: 52px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--delivery-primary), var(--delivery-primary-dark));
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  flex-shrink: 0;
  color: #fff;
}
.driver-info__name { font-weight: 700; }
.driver-info__rating { font-size: 0.8125rem; color: var(--delivery-text-muted); }
.driver-call-btn {
  margin-inline-start: auto;
  width: 44px; height: 44px;
  border-radius: 50%;
  background: var(--delivery-success-light);
  color: var(--delivery-success);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  cursor: pointer;
  transition: all var(--transition-fast);
}
.driver-call-btn:hover { background: var(--delivery-success); color: #fff; }

/* ═══════════════════════════════════════════════════════════════════════════
   ACCOUNT PAGE
   ═══════════════════════════════════════════════════════════════════════════ */

.account-page { background: var(--delivery-bg); min-height: 100vh; }

/* Account Hero */
.account-hero {
  position: relative;
  padding: var(--space-3xl) var(--space-md) var(--space-2xl);
  text-align: center;
  overflow: hidden;
}

.account-hero__bg {
  position: absolute;
  inset: 0;
  background: linear-gradient(145deg, #1A1A2E 0%, #2d1b4e 50%, #0F3460 100%);
  z-index: 0;
}

.account-hero__bg::before {
  content: "";
  position: absolute;
  top: -40%;
  inset-inline-end: -15%;
  width: 300px; height: 300px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,87,34,0.25) 0%, transparent 70%);
}

.account-hero__bg::after {
  content: "";
  position: absolute;
  bottom: -30%;
  inset-inline-start: -10%;
  width: 200px; height: 200px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(47,211,198,0.15) 0%, transparent 70%);
}

.account-hero__content { position: relative; z-index: 1; }

/* Avatar */
.account-avatar {
  width: 88px; height: 88px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--delivery-primary), #FF9800);
  border: 4px solid rgba(255,255,255,0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto var(--space-md);
  position: relative;
}

.account-avatar__initials {
  font-size: 2.25rem;
  font-weight: 800;
  color: #fff;
}

.account-avatar__edit {
  position: absolute;
  bottom: 0;
  inset-inline-end: 0;
  width: 28px; height: 28px;
  border-radius: 50%;
  background: var(--delivery-surface);
  border: 2px solid rgba(255,255,255,0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--delivery-text);
  transition: transform 0.2s;
}

.account-avatar__edit:hover { transform: scale(1.1); }

.account-avatar--guest {
  width: 100px; height: 100px;
  background: rgba(255,255,255,0.1);
  border: 3px dashed rgba(255,255,255,0.3);
  color: rgba(255,255,255,0.6);
}

.account-hero__name {
  font-size: 1.375rem;
  font-weight: 800;
  color: #fff;
}

.account-hero__contact {
  font-size: 0.875rem;
  color: rgba(255,255,255,0.6);
  margin-top: 4px;
}

.account-hero__title {
  font-size: 1.5rem;
  font-weight: 800;
  color: #fff;
  margin-bottom: var(--space-xs);
}

.account-hero__sub {
  font-size: 0.9375rem;
  color: rgba(255,255,255,0.7);
  margin-bottom: var(--space-lg);
  line-height: 1.5;
}

.account-hero__actions {
  display: flex;
  gap: var(--space-sm);
  justify-content: center;
  flex-wrap: wrap;
}

.btn-outline-white {
  background: transparent;
  border: 2px solid rgba(255,255,255,0.4);
  color: #fff;
  padding: var(--space-sm) var(--space-lg);
  border-radius: var(--radius-lg);
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s;
}

.btn-outline-white:hover { background: rgba(255,255,255,0.1); }

/* Tier Badge */
.account-tier-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 16px;
  border-radius: var(--radius-full);
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
  margin-top: var(--space-sm);
  letter-spacing: 0.5px;
}

/* Stats Bar */
.account-stats-bar {
  display: flex;
  background: var(--delivery-surface);
  border-radius: var(--radius-xl);
  margin: calc(-1 * var(--space-lg)) var(--space-md) 0;
  position: relative;
  z-index: 2;
  box-shadow: 0 4px 20px rgba(0,0,0,0.08);
  overflow: hidden;
}

.account-stat-item {
  flex: 1;
  padding: var(--space-md);
  text-align: center;
  border-inline-end: 1px solid var(--delivery-border);
}

.account-stat-item:last-child { border-inline-end: none; }

.account-stat-item__value {
  font-size: 1.25rem;
  font-weight: 800;
  color: var(--delivery-text);
}

.account-stat-item--highlight .account-stat-item__value {
  color: var(--delivery-primary);
}

.account-stat-item__label {
  font-size: 0.6875rem;
  color: var(--delivery-text-muted);
  margin-top: 2px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* Account Section */
.account-section {
  padding: var(--space-md);
}

.account-section__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--space-sm);
}

.account-section__header h3 {
  font-size: 1rem;
  font-weight: 700;
  color: var(--delivery-text);
}

.account-section__header a {
  font-size: 0.8125rem;
  color: var(--delivery-primary);
  font-weight: 600;
  cursor: pointer;
}

/* Quick Grid */
.account-quick-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-sm);
}

.account-quick-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-xs);
  padding: var(--space-md) var(--space-sm);
  background: var(--delivery-surface);
  border-radius: var(--radius-lg);
  border: 1px solid var(--delivery-border);
  cursor: pointer;
  transition: transform 0.2s, box-shadow 0.2s;
  position: relative;
  text-align: center;
}

.account-quick-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}

.account-quick-card__icon {
  width: 48px; height: 48px;
  border-radius: var(--radius-lg);
  display: flex;
  align-items: center;
  justify-content: center;
}

.account-quick-card span {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--delivery-text);
}

.account-quick-card__badge {
  position: absolute;
  top: 8px;
  inset-inline-end: 8px;
  min-width: 18px;
  height: 18px;
  border-radius: 9px;
  background: var(--delivery-primary);
  color: #fff;
  font-size: 0.625rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 4px;
}

@media (max-width: 380px) {
  .account-quick-grid { grid-template-columns: repeat(2, 1fr); }
}

/* Loyalty Card */
.account-loyalty-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--delivery-surface);
  border-radius: var(--radius-lg);
  padding: var(--space-md);
  border: 1px solid var(--delivery-border);
  cursor: pointer;
  transition: transform 0.2s;
}

.account-loyalty-card:hover { transform: translateY(-1px); }

.account-loyalty-card__left {
  display: flex;
  align-items: center;
  gap: var(--space-md);
}

.account-loyalty-card__icon {
  width: 44px; height: 44px;
  border-radius: var(--radius-md);
  background: rgba(245,158,11,0.1);
  display: flex;
  align-items: center;
  justify-content: center;
}

.account-loyalty-card__title {
  font-size: 1rem;
  font-weight: 700;
  color: var(--delivery-text);
}

.account-loyalty-card__sub {
  font-size: 0.75rem;
  color: var(--delivery-text-muted);
  margin-top: 2px;
}

/* Circular progress ring */
.account-loyalty-progress {
  position: relative;
  width: 52px;
  height: 52px;
}

.account-loyalty-ring {
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
}

.account-loyalty-ring__text {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.6875rem;
  font-weight: 700;
  color: var(--delivery-text);
}

/* Order Cards */
.account-orders-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.account-order-card {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  padding: var(--space-md);
  background: var(--delivery-surface);
  border-radius: var(--radius-lg);
  border: 1px solid var(--delivery-border);
  cursor: pointer;
  transition: transform 0.2s;
}

.account-order-card:hover { transform: translateY(-1px); }

.account-order-card__status {
  width: 40px; height: 40px;
  border-radius: var(--radius-md);
  background: var(--delivery-bg);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.account-order-card__info { flex: 1; min-width: 0; }
.account-order-card__id { font-weight: 700; font-size: 0.9375rem; color: var(--delivery-text); }
.account-order-card__date { font-size: 0.75rem; color: var(--delivery-text-muted); margin-top: 2px; }
.account-order-card__items { font-size: 0.8125rem; color: var(--delivery-text-secondary); margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.account-order-card__right {
  text-align: end;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
}

.account-order-card__total { font-weight: 700; font-size: 0.9375rem; }
.account-order-card__status-text { font-size: 0.6875rem; font-weight: 600; text-transform: capitalize; }

/* Menu List */
.account-menu-list {
  background: var(--delivery-surface);
  border-radius: var(--radius-lg);
  border: 1px solid var(--delivery-border);
  overflow: hidden;
}

.account-menu-row {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  padding: var(--space-md) var(--space-lg);
  border-bottom: 1px solid var(--delivery-border);
  cursor: pointer;
  transition: background 0.15s;
}

.account-menu-row:last-child { border-bottom: none; }
.account-menu-row:hover { background: var(--delivery-bg); }

.account-menu-row__icon {
  width: 36px; height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.account-menu-row__label {
  flex: 1;
  font-weight: 600;
  font-size: 0.9375rem;
  color: var(--delivery-text);
}

.account-menu-row__arrow {
  color: var(--delivery-text-muted);
}

.account-menu-row--danger .account-menu-row__icon { color: var(--delivery-danger); }
.account-menu-row--danger .account-menu-row__label { color: var(--delivery-danger); }

/* Toggle Switch */
.toggle-switch {
  position: relative;
  display: inline-block;
  width: 44px;
  height: 24px;
  flex-shrink: 0;
}

.toggle-switch input { opacity: 0; width: 0; height: 0; }

.toggle-slider {
  position: absolute;
  inset: 0;
  background: var(--delivery-border);
  border-radius: 24px;
  cursor: pointer;
  transition: background 0.2s;
}

.toggle-slider::before {
  content: "";
  position: absolute;
  width: 20px; height: 20px;
  border-radius: 50%;
  background: #fff;
  top: 2px;
  inset-inline-start: 2px;
  transition: transform 0.2s;
  box-shadow: 0 1px 3px rgba(0,0,0,0.2);
}

.toggle-switch input:checked + .toggle-slider { background: var(--delivery-primary); }
.toggle-switch input:checked + .toggle-slider::before { transform: translateX(20px); }
[dir="rtl"] .toggle-switch input:checked + .toggle-slider::before { transform: translateX(-20px); }

/* Button extras */
.btn-xs {
  padding: 4px 10px;
  font-size: 0.6875rem;
  font-weight: 600;
  border-radius: var(--radius-md);
}

/* Version text */
.account-version {
  text-align: center;
  font-size: 0.75rem;
  color: var(--delivery-text-muted);
  padding: var(--space-md) 0;
}

.top-bar--sticky { position: sticky; top: 0; z-index: 100; }
.badge--history { margin-top: 4px; font-size: 0.7rem; }
.btn--reorder { margin-top: 4px; }

/* ═══════════════════════════════════════════════════════════════════════════
   AUTH PAGE
   ═══════════════════════════════════════════════════════════════════════════ */

.auth-page {
  background: var(--delivery-bg);
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: var(--space-lg) var(--space-md);
  position: relative;
}

.auth-back {
  position: absolute;
  top: var(--space-md);
  inset-inline-start: var(--space-md);
  width: 40px; height: 40px;
  border-radius: 50%;
  background: var(--delivery-surface);
  border: 1px solid var(--delivery-border);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--delivery-text);
  z-index: 10;
  transition: background 0.2s;
}

.auth-back:hover { background: var(--delivery-bg); }

.auth-card {
  width: 100%;
  max-width: 440px;
  background: var(--delivery-surface);
  border-radius: var(--radius-xl);
  overflow: hidden;
  box-shadow: 0 8px 40px rgba(0,0,0,0.12);
}

.auth-card__header {
  background: linear-gradient(145deg, #1A1A2E, #2d1b4e, #0F3460);
  padding: var(--space-2xl) var(--space-xl) var(--space-xl);
  text-align: center;
  position: relative;
  overflow: hidden;
}

.auth-card__header::before {
  content: "";
  position: absolute;
  top: -40%;
  inset-inline-end: -15%;
  width: 200px; height: 200px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,87,34,0.3) 0%, transparent 70%);
  pointer-events: none;
}

.auth-logo-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-sm);
  margin-bottom: var(--space-md);
}

.auth-logo-icon {
  width: 48px; height: 48px;
  border-radius: var(--radius-lg);
  background: rgba(255,255,255,0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--delivery-primary);
}

.auth-logo-text {
  font-size: 1.5rem;
  font-weight: 800;
  color: #fff;
  letter-spacing: -0.5px;
}

.auth-title {
  font-size: 1.375rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: 4px;
}

.auth-subtitle {
  font-size: 0.875rem;
  color: rgba(255,255,255,0.6);
  line-height: 1.5;
}

/* Social buttons */
.auth-social {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.auth-social-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-sm);
  width: 100%;
  padding: 12px;
  border-radius: var(--radius-lg);
  font-size: 0.9375rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s, transform 0.1s;
  border: 1px solid var(--delivery-border);
}

.auth-social-btn:hover { transform: translateY(-1px); }
.auth-social-btn:active { transform: translateY(0); }

.auth-social-btn--google {
  background: var(--delivery-surface);
  color: var(--delivery-text);
}

.auth-social-btn--google:hover { background: var(--delivery-bg); }

.auth-social-btn--apple {
  background: #000;
  color: #fff;
  border-color: #000;
}

[data-theme="dark"] .auth-social-btn--apple {
  background: #fff;
  color: #000;
  border-color: #fff;
}

/* Tabs */
.auth-tabs {
  display: flex;
  background: var(--delivery-bg);
  border-radius: var(--radius-lg);
  padding: 4px;
  gap: 4px;
}

.auth-tab {
  flex: 1;
  padding: 10px;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--delivery-text-muted);
  text-align: center;
  border-radius: var(--radius-md);
  cursor: pointer;
  transition: all 0.2s;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border: none;
  background: transparent;
}

.auth-tab.active {
  color: var(--delivery-primary);
  background: var(--delivery-surface);
  box-shadow: 0 1px 3px rgba(0,0,0,0.08);
}

.auth-body {
  padding: var(--space-xl);
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

/* Divider */
.auth-divider {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  color: var(--delivery-text-muted);
  font-size: 0.8125rem;
}

.auth-divider::before, .auth-divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--delivery-border);
}

/* Form fields */
.auth-field { margin-bottom: var(--space-sm); }

.auth-field__label {
  display: block;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--delivery-text);
  margin-bottom: 6px;
}

.auth-field__input-wrap {
  display: flex;
  align-items: center;
  border: 2px solid var(--delivery-border);
  border-radius: var(--radius-lg);
  background: var(--delivery-bg);
  transition: border-color 0.2s;
  overflow: hidden;
}

.auth-field__input-wrap:focus-within {
  border-color: var(--delivery-primary);
}

.auth-field__prefix {
  padding: 0 12px;
  color: var(--delivery-text-muted);
  display: flex;
  align-items: center;
}

.auth-field__input {
  flex: 1;
  border: none;
  padding: 12px 12px 12px 0;
  font-size: 0.9375rem;
  background: transparent;
  color: var(--delivery-text);
  outline: none;
  min-width: 0;
}

.auth-field__toggle {
  padding: 0 12px;
  color: var(--delivery-text-muted);
  cursor: pointer;
  background: none;
  border: none;
  display: flex;
  align-items: center;
}

.auth-field__toggle:hover { color: var(--delivery-text); }

/* Submit button */
.auth-submit {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-xs);
  font-size: 1rem;
  font-weight: 700;
  padding: 14px;
  border-radius: var(--radius-lg);
}

/* OTP */
.auth-otp-header {
  text-align: center;
  margin-bottom: var(--space-md);
}

.auth-otp-icon {
  color: var(--delivery-primary);
  margin-bottom: var(--space-sm);
}

.auth-otp-sent {
  font-size: 0.875rem;
  color: var(--delivery-text-muted);
  margin-bottom: 4px;
}

.otp-inputs {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-bottom: var(--space-md);
}

.otp-input {
  width: 48px; height: 56px;
  border: 2px solid var(--delivery-border);
  border-radius: var(--radius-lg);
  text-align: center;
  font-size: 1.375rem;
  font-weight: 700;
  color: var(--delivery-text);
  background: var(--delivery-bg);
  outline: none;
  transition: border-color 0.2s;
}

.otp-input:focus { border-color: var(--delivery-primary); }
.otp-input.filled { border-color: var(--delivery-primary); background: var(--delivery-primary-light); }
.otp-input.error { border-color: var(--delivery-danger); }

/* Auth links */
.auth-link-row {
  display: flex;
  justify-content: center;
  padding: var(--space-xs) 0;
}

.auth-link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--delivery-primary);
  cursor: pointer;
  background: none;
  border: none;
  padding: 0;
}

.auth-link:hover { text-decoration: underline; }

.auth-link--muted { color: var(--delivery-text-muted); font-weight: 400; }

.auth-link-row--skip { margin-top: var(--space-sm); }

/* Terms */
.auth-terms {
  font-size: 0.8125rem;
  color: var(--delivery-text-muted);
  line-height: 1.5;
}

.auth-terms label {
  display: flex;
  align-items: flex-start;
  gap: var(--space-sm);
  cursor: pointer;
}

.auth-terms input[type="checkbox"] {
  margin-top: 3px;
  accent-color: var(--delivery-primary);
}

.auth-terms a {
  color: var(--delivery-primary);
  text-decoration: underline;
}

/* Form error */
.form-error {
  font-size: 0.8125rem;
  color: var(--delivery-danger);
  padding: var(--space-xs) 0;
}

/* ═══════════════════════════════════════════════════════════════════════════
   OFFERS PAGE
   ═══════════════════════════════════════════════════════════════════════════ */

.offers-page { background: var(--delivery-bg); padding-bottom: var(--space-3xl); }

.offers-hero {
  background: linear-gradient(135deg, var(--delivery-primary), var(--delivery-primary-dark));
  padding: var(--space-xl) var(--space-md);
  text-align: center;
  color: #fff;
  position: relative;
  overflow: hidden;
}
.offers-hero::before { content: ""; position: absolute; width: 120px; height: 120px; opacity: 0.1; top: 0; left: -20px; transform: rotate(-15deg); pointer-events: none; background: #fff; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M20 12v10H4V12'/%3E%3Cpath d='M2 7h20v5H2z'/%3E%3Cpath d='M12 22V7'/%3E%3Cpath d='M12 7H7.5a2.5 2.5 0 0 1 0-5C11 2 12 7 12 7z'/%3E%3Cpath d='M12 7h4.5a2.5 2.5 0 0 0 0-5C13 2 12 7 12 7z'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M20 12v10H4V12'/%3E%3Cpath d='M2 7h20v5H2z'/%3E%3Cpath d='M12 22V7'/%3E%3Cpath d='M12 7H7.5a2.5 2.5 0 0 1 0-5C11 2 12 7 12 7z'/%3E%3Cpath d='M12 7h4.5a2.5 2.5 0 0 0 0-5C13 2 12 7 12 7z'/%3E%3C/svg%3E") center/contain no-repeat; }
.offers-hero::after  { content: ""; position: absolute; width: 100px; height: 100px; opacity: 0.1; bottom: -10px; right: -10px; transform: rotate(15deg); pointer-events: none; background: #fff; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='m12 3-1.912 5.813a2 2 0 0 1-1.275 1.275L3 12l5.813 1.912a2 2 0 0 1 1.275 1.275L12 21l1.912-5.813a2 2 0 0 1 1.275-1.275L21 12l-5.813-1.912a2 2 0 0 1-1.275-1.275L12 3Z'/%3E%3Cpath d='M5 3v4'/%3E%3Cpath d='M19 17v4'/%3E%3Cpath d='M3 5h4'/%3E%3Cpath d='M17 19h4'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='m12 3-1.912 5.813a2 2 0 0 1-1.275 1.275L3 12l5.813 1.912a2 2 0 0 1 1.275 1.275L12 21l1.912-5.813a2 2 0 0 1 1.275-1.275L21 12l-5.813-1.912a2 2 0 0 1-1.275-1.275L12 3Z'/%3E%3Cpath d='M5 3v4'/%3E%3Cpath d='M19 17v4'/%3E%3Cpath d='M3 5h4'/%3E%3Cpath d='M17 19h4'/%3E%3C/svg%3E") center/contain no-repeat; }
.offers-hero h1 { color: #fff; font-size: 1.75rem; }
.offers-hero p  { color: rgba(255,255,255,0.8); margin-top: var(--space-sm); }

.promos-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: var(--space-md);
  padding: var(--space-md);
}

.promo-card {
  background: var(--delivery-surface);
  border-radius: var(--radius-lg);
  border: 1px solid var(--delivery-border);
  overflow: hidden;
}

.promo-card__top {
  background: linear-gradient(135deg, var(--delivery-primary-light), var(--delivery-accent-light));
  padding: var(--space-lg);
  text-align: center;
}

.promo-card__code {
  font-family: "SF Mono", Monaco, "Courier New", monospace;
  font-size: 1.375rem;
  font-weight: 800;
  color: var(--delivery-primary);
  letter-spacing: 0.08em;
  background: #fff;
  padding: var(--space-sm) var(--space-md);
  border-radius: var(--radius-md);
  border: 2px dashed var(--delivery-primary);
  display: inline-block;
  cursor: pointer;
}

.promo-card__body { padding: var(--space-md); }
.promo-card__value { font-size: 1.125rem; font-weight: 700; }
.promo-card__desc  { font-size: 0.875rem; color: var(--delivery-text-muted); margin-top: 4px; }
.promo-card__meta  { font-size: 0.8125rem; color: var(--delivery-text-muted); margin-top: var(--space-sm); }

.referral-card {
  background: linear-gradient(135deg, var(--nav-bg), #2a2e44);
  border-radius: var(--radius-xl);
  padding: var(--space-xl);
  color: #fff;
  position: relative;
  overflow: hidden;
  margin: var(--space-md);
}
.referral-card::before { content: ""; position: absolute; width: 120px; height: 120px; opacity: 0.1; bottom: -20px; inset-inline-end: -20px; pointer-events: none; background: #fff; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M5.8 11.3 2 22l10.7-3.79'/%3E%3Cpath d='M4 3h.01'/%3E%3Cpath d='M22 8h.01'/%3E%3Cpath d='M15 2h.01'/%3E%3Cpath d='M22 20h.01'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M5.8 11.3 2 22l10.7-3.79'/%3E%3Cpath d='M4 3h.01'/%3E%3Cpath d='M22 8h.01'/%3E%3Cpath d='M15 2h.01'/%3E%3Cpath d='M22 20h.01'/%3E%3C/svg%3E") center/contain no-repeat; }
.referral-card h3 { color: #fff; font-size: 1.25rem; }
.referral-card p  { color: rgba(255,255,255,0.7); margin-top: var(--space-sm); font-size: 0.9375rem; }

.referral-code-box {
  background: rgba(255,255,255,0.12);
  border: 1.5px dashed rgba(255,255,255,0.35);
  border-radius: var(--radius-md);
  padding: var(--space-md);
  font-size: 1.5rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-align: center;
  cursor: pointer;
  transition: all var(--transition-fast);
  margin-top: var(--space-md);
}
.referral-code-box:hover { background: rgba(255,255,255,0.18); }

/* ═══════════════════════════════════════════════════════════════════════════
   OFFERS PAGE
   ═══════════════════════════════════════════════════════════════════════════ */

.offers-page { background: var(--delivery-bg); min-height: 100vh; }

.offers-hero {
  background: linear-gradient(135deg, var(--delivery-primary) 0%, #E64A19 100%);
  padding: var(--space-2xl) var(--space-md);
  text-align: center;
  color: #fff;
}
.offers-hero__content { position: relative; z-index: 1; }
.offers-hero__title { font-size: 1.75rem; font-weight: 800; margin-bottom: var(--space-xs); }
.offers-hero__sub { font-size: 1rem; opacity: 0.85; }

/* Loyalty Banner */
.loyalty-banner {
  background: linear-gradient(135deg, #fff 0%, var(--delivery-primary-light) 100%);
  border: 1.5px solid var(--delivery-primary);
  border-radius: var(--radius-xl);
  padding: var(--space-lg);
  margin-bottom: var(--space-2xl);
}
.loyalty-banner__header { display: flex; justify-content: space-between; align-items: center; }

/* Promos grid */
.promos-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: var(--space-md);
}

/* Promo card — new reusable style */
.promo-card {
  background: var(--delivery-surface);
  border: 1.5px solid var(--delivery-border);
  border-radius: var(--radius-xl);
  overflow: hidden;
  position: relative;
  transition: box-shadow var(--transition-fast), border-color var(--transition-fast);
}
.promo-card:hover { border-color: var(--delivery-primary); box-shadow: var(--shadow-md); }

.promo-card--featured { border-color: var(--delivery-primary); }

.promo-card__badge {
  background: var(--delivery-primary);
  color: #fff;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 4px var(--space-sm);
  display: inline-block;
}

.promo-card__discount-badge {
  background: linear-gradient(90deg, var(--delivery-primary), #E64A19);
  color: #fff;
  font-size: 0.875rem;
  font-weight: 800;
  padding: var(--space-xs) var(--space-md);
  display: block;
  text-align: center;
}

.promo-card__body {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  padding: var(--space-md);
}
.promo-card__icon { font-size: 1.5rem; flex-shrink: 0; }
.promo-card__name { font-weight: 700; font-size: 0.9375rem; }
.promo-card__desc { font-size: 0.8125rem; color: var(--delivery-text-muted); margin-top: 2px; }

.promo-card__code-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  padding: var(--space-sm) var(--space-md);
  border-top: 1px solid var(--delivery-border);
  background: var(--delivery-bg);
}

.promo-code-display {
  font-family: "SF Mono", Monaco, "Courier New", monospace;
  font-size: 1rem;
  font-weight: 800;
  color: var(--delivery-primary);
  letter-spacing: 0.06em;
  background: var(--delivery-primary-light);
  padding: 4px var(--space-sm);
  border-radius: var(--radius-sm);
  border: 1.5px dashed var(--delivery-primary);
}

.promo-card__terms {
  font-size: 0.75rem;
  color: var(--delivery-text-muted);
  padding: var(--space-xs) var(--space-md) var(--space-sm);
}

/* Copy button */
.copy-btn {
  background: var(--delivery-primary);
  color: #fff;
  border: none;
  border-radius: var(--radius-md);
  padding: 6px var(--space-sm);
  font-size: 0.8125rem;
  font-weight: 600;
  cursor: pointer;
  transition: opacity var(--transition-fast);
  white-space: nowrap;
}
.copy-btn:hover { opacity: 0.88; }
.copy-btn--light {
  background: rgba(255,255,255,0.2);
  border: 1px solid rgba(255,255,255,0.35);
}

/* Referral card (updated) */
.referral-card {
  background: linear-gradient(135deg, var(--nav-bg), #2a2e44);
  border-radius: var(--radius-xl);
  padding: var(--space-xl);
  color: #fff;
  position: relative;
  overflow: hidden;
}
.referral-card::before { content: ""; position: absolute; width: 100px; height: 100px; opacity: 0.08; bottom: -10px; inset-inline-end: -10px; pointer-events: none; background: #fff; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M16 17h.01'/%3E%3Cpath d='M20 14c.5.5 1 1 1 2a3 3 0 0 1-3 3 3 3 0 0 1-3-3c0-1 .5-1.5 1-2'/%3E%3Cpath d='M7 14c-.5.5-1 1-1 2a3 3 0 0 0 3 3 3 3 0 0 0 3-3c0-1-.5-1.5-1-2'/%3E%3Cpath d='M12 2v8'/%3E%3Cpath d='m4.93 10.93 1.41 1.41'/%3E%3Cpath d='M2 18h2'/%3E%3Cpath d='M20 18h2'/%3E%3Cpath d='m19.07 10.93-1.41 1.41'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M16 17h.01'/%3E%3Cpath d='M20 14c.5.5 1 1 1 2a3 3 0 0 1-3 3 3 3 0 0 1-3-3c0-1 .5-1.5 1-2'/%3E%3Cpath d='M7 14c-.5.5-1 1-1 2a3 3 0 0 0 3 3 3 3 0 0 0 3-3c0-1-.5-1.5-1-2'/%3E%3Cpath d='M12 2v8'/%3E%3Cpath d='m4.93 10.93 1.41 1.41'/%3E%3Cpath d='M2 18h2'/%3E%3Cpath d='M20 18h2'/%3E%3Cpath d='m19.07 10.93-1.41 1.41'/%3E%3C/svg%3E") center/contain no-repeat; }
.referral-card__inner { display: flex; gap: var(--space-lg); align-items: flex-start; }
.referral-card__icon { font-size: 2rem; flex-shrink: 0; margin-top: 4px; }
.referral-card__content h3 { color: #fff; font-size: 1.125rem; }
.referral-card__content p { color: rgba(255,255,255,0.7); margin-top: var(--space-xs); font-size: 0.875rem; }

.referral-code-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  background: rgba(255,255,255,0.12);
  border: 1.5px dashed rgba(255,255,255,0.35);
  border-radius: var(--radius-md);
  padding: var(--space-sm) var(--space-md);
  margin-top: var(--space-md);
}

.referral-code {
  font-family: "SF Mono", Monaco, "Courier New", monospace;
  font-size: 1.25rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  color: #fff;
}

/* How it works */
.how-it-works {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-md);
}
@media (max-width: 540px) { .how-it-works { grid-template-columns: 1fr; } }

.how-step {
  background: var(--delivery-surface);
  border-radius: var(--radius-xl);
  padding: var(--space-lg) var(--space-md);
  text-align: center;
  border: 1px solid var(--delivery-border);
  position: relative;
}
.how-step__icon { font-size: 2rem; margin-bottom: var(--space-sm); }
.how-step__num {
  position: absolute;
  top: -10px;
  inset-inline-start: 50%;
  transform: translateX(-50%);
  width: 24px; height: 24px;
  background: var(--delivery-primary);
  color: #fff;
  border-radius: 50%;
  font-size: 0.75rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}
.how-step__title { font-weight: 700; font-size: 0.9375rem; margin-bottom: 4px; }
.how-step__desc { font-size: 0.8125rem; color: var(--delivery-text-muted); }

/* Loyalty Tiers */
.tiers-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: var(--space-md);
}

.tier-card {
  background: var(--delivery-surface);
  border: 2px solid var(--delivery-border);
  border-radius: var(--radius-xl);
  padding: var(--space-lg) var(--space-md);
  text-align: center;
  position: relative;
  transition: box-shadow var(--transition-fast), border-color var(--transition-fast);
}
.tier-card--active { box-shadow: var(--shadow-lg); }
.tier-card--bronze  { border-color: #CD7F32; }
.tier-card--silver  { border-color: #C0C0C0; }
.tier-card--gold    { border-color: #FFD700; }
.tier-card--platinum { border-color: #b0bec5; background: linear-gradient(135deg, #fff 0%, #f5f5f5 100%); }

.tier-card__icon { font-size: 2rem; margin-bottom: var(--space-xs); }
.tier-card__name { font-weight: 800; font-size: 1rem; }
.tier-card__pts  { font-size: 0.75rem; color: var(--delivery-text-muted); margin-top: 2px; }
.tier-card__perk { font-size: 0.8125rem; color: var(--delivery-text-secondary); margin-top: var(--space-xs); }
.tier-card__badge {
  position: absolute;
  top: -10px;
  inset-inline-end: var(--space-sm);
  background: var(--delivery-primary);
  color: #fff;
  font-size: 0.625rem;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 99px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

/* ═══════════════════════════════════════════════════════════════════════════
   DESKTOP OVERRIDES
   ═══════════════════════════════════════════════════════════════════════════ */

@media (min-width: 768px) {
  .home-hero {
    padding: var(--space-3xl) var(--space-2xl);
  }
  .home-section {
    padding: var(--space-xl) var(--space-2xl);
    margin: var(--space-sm) auto 0;
    max-width: var(--page-max);
    border-radius: var(--radius-lg);
  }
}

/* ── Offers Page Extended ──*/

/* Skeleton loading state */
.offers-hero--skeleton {
  min-height: 180px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.offers-spinner-override {
  border-color: rgba(255,255,255,0.3);
  border-top-color: #fff;
}

.offers-skeleton-wrap {
  padding: var(--space-xl) var(--space-md);
}

.offers-skeleton-block {
  height: 120px;
  border-radius: var(--radius-xl);
  margin-bottom: var(--space-md);
}

/* Hero icon spacer */
.offers-hero__icon-wrap {
  margin-bottom: var(--space-sm);
}

/* Page body container */
.offers-page-body {
  max-width: var(--page-max);
  margin: 0 auto;
  padding: var(--space-xl) var(--space-md);
}

/* Section spacing */
.offers-section {
  margin-bottom: var(--space-2xl);
}

/* Section title spacing */
.offers-section-title {
  margin-bottom: var(--space-lg);
}

/* Referral share button */
.offers-referral-share-btn {
  margin-top: var(--space-md);
  background: rgba(255,255,255,0.15);
  border-color: rgba(255,255,255,0.4);
  color: #fff;
}

/* Loyalty banner spacing */
.offers-loyalty-banner-spacing {
  margin-bottom: var(--space-2xl);
}

/* Loyalty banner header info row */
.offers-loyalty-info {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
}

/* Loyalty tier icon size */
.offers-loyalty-tier-icon {
  font-size: 1.5rem;
}

/* Loyalty tier label */
.offers-loyalty-tier-label {
  font-weight: 700;
  font-size: 1rem;
}

/* Loyalty customer name */
.offers-loyalty-customer-name {
  font-size: 0.8rem;
  opacity: 0.8;
}

/* Loyalty points column — LTR default, flipped via [dir=rtl] */
.offers-loyalty-points-col {
  text-align: right;
}
[dir="rtl"] .offers-loyalty-points-col {
  text-align: left;
}

/* Loyalty points value */
.offers-loyalty-points-value {
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--delivery-primary);
}

/* Loyalty points label */
.offers-loyalty-points-label {
  font-size: 0.75rem;
  opacity: 0.7;
}

/* Loyalty progress wrapper */
.offers-loyalty-progress-wrap {
  margin-top: var(--space-md);
}

/* Loyalty progress labels row */
.offers-loyalty-progress-labels {
  display: flex;
  justify-content: space-between;
  font-size: 0.75rem;
  margin-bottom: 6px;
  opacity: 0.8;
}

/* Loyalty progress track */
.offers-loyalty-progress-track {
  background: var(--delivery-border);
  border-radius: 99px;
  height: 6px;
  overflow: hidden;
}

/* Loyalty progress bar fill */
.offers-loyalty-progress-bar {
  height: 100%;
  background: var(--delivery-primary);
  border-radius: 99px;
  transition: width 0.6s ease;
}

/* Loyalty max tier message */
.offers-loyalty-max-tier {
  text-align: center;
  margin-top: var(--space-sm);
  font-size: 0.85rem;
  opacity: 0.9;
}

/* Login prompt card */
.offers-login-card {
  margin-bottom: var(--space-2xl);
  padding: var(--space-xl);
  background: var(--delivery-surface);
  border-radius: var(--radius-xl);
  border: 2px dashed var(--delivery-border);
  text-align: center;
}

/* Login prompt icon wrap */
.offers-login-icon-wrap {
  margin-bottom: var(--space-sm);
}

/* Login prompt heading */
.offers-login-heading {
  margin-bottom: var(--space-xs);
}

/* Login prompt description */
.offers-login-desc {
  color: var(--delivery-text-secondary);
  font-size: 0.9rem;
  margin-bottom: var(--space-md);
}

/* ── Menu Page Extended ──*/

/* Cover fallback gradient */
.menu-cover-fallback {
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, var(--nav-bg), var(--delivery-primary-dark));
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0.25;
}

/* Review count text */
.menu-review-count {
  font-size: 0.8125rem;
}

/* Free delivery highlight */
.menu-free-delivery {
  color: var(--delivery-success);
  font-weight: 600;
}

/* Sidebar header */
.menu-sidebar-header {
  padding: var(--space-md);
  font-weight: 700;
  font-size: 1rem;
  border-bottom: 1px solid var(--delivery-border);
}

/* Sidebar cart items area */
.menu-sidebar-items {
  padding: var(--space-sm);
}

/* Sidebar cart footer area */
.menu-sidebar-footer {
  padding: var(--space-md);
  border-top: 1px solid var(--delivery-border);
}

/* Skeleton: cover block */
.menu-skel-cover {
  height: 220px;
  background: var(--delivery-border);
}

/* Skeleton: info wrapper */
.menu-skel-info {
  padding: var(--space-lg) var(--space-md);
  background: var(--delivery-surface);
}

/* Skeleton: flex row */
.menu-skel-row {
  display: flex;
  gap: 16px;
}

/* Skeleton: logo placeholder */
.menu-skel-logo {
  width: 72px;
  height: 72px;
  border-radius: 12px;
  flex-shrink: 0;
}

/* Skeleton: text line large */
.menu-skel-text-lg {
  height: 20px;
  margin-bottom: 8px;
}

/* Skeleton: text line small */
.menu-skel-text-sm {
  height: 14px;
  width: 60%;
}

/* Skeleton: category nav bar */
.menu-skel-nav {
  height: 52px;
  background: var(--delivery-surface);
  border-bottom: 1px solid var(--delivery-border);
}

/* Skeleton: items wrapper */
.menu-skel-items {
  padding: var(--space-md);
}

/* Skeleton: single item row */
.menu-skel-item {
  display: flex;
  gap: 16px;
  padding: 16px;
  background: var(--delivery-surface);
  border-radius: 12px;
  margin-bottom: 8px;
}

/* Skeleton: item text column */
.menu-skel-item-text {
  flex: 1;
}

/* Skeleton: item text line 1 */
.menu-skel-item-line1 {
  height: 16px;
  margin-bottom: 8px;
}

/* Skeleton: item text line 2 */
.menu-skel-item-line2 {
  height: 12px;
  width: 80%;
  margin-bottom: 6px;
}

/* Skeleton: item text line 3 */
.menu-skel-item-line3 {
  height: 12px;
  width: 40%;
}

/* Skeleton: item image */
.menu-skel-item-img {
  width: 88px;
  height: 88px;
  border-radius: 8px;
  flex-shrink: 0;
}

/* Badge small font for item tags */
.menu-badge-sm {
  font-size: 0.7rem;
}

/* Sidebar empty cart wrapper */
.menu-cart-empty {
  padding: var(--space-xl) var(--space-md);
}

/* Sidebar empty cart title */
.menu-cart-empty-title {
  font-size: 0.9375rem;
  font-weight: 600;
  margin-top: 8px;
}

/* Sidebar empty cart subtitle */
.menu-cart-empty-sub {
  font-size: 0.8125rem;
  color: var(--delivery-text-muted);
  margin-top: 4px;
}

/* Sidebar cart item row */
.menu-cart-item {
  padding: var(--space-sm) 0;
}

/* Sidebar cart item name */
.menu-cart-item-name {
  font-size: 0.875rem;
}

/* Product modal image fallback */
.menu-modal-img-fallback {
  height: 180px;
  background: linear-gradient(135deg, var(--delivery-border), var(--delivery-primary-light));
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Product modal badges row */
.menu-modal-badges {
  display: flex;
  gap: var(--space-xs);
  margin-top: var(--space-sm);
}

/* Skeleton: flex-1 wrapper */
.menu-skel-flex1 {
  flex: 1;
}

/* ── Checkout Page Extended ──*/

.checkout-step-indicator-bar {
  padding: var(--space-md);
  background: var(--delivery-surface);
  border-bottom: 1px solid var(--delivery-border);
}

.checkout-saved-addresses-wrap {
  margin-bottom: var(--space-md);
}

.checkout-label-mb {
  margin-bottom: 8px;
}

.checkout-field-stack {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.checkout-two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-sm);
}

.checkout-schedule-picker {
  margin-top: var(--space-md);
}

.checkout-btn-next {
  margin-top: var(--space-lg);
}

.checkout-stripe-wrapper {
  margin-top: var(--space-md);
}

/* Form validation */
.form-input--error {
  border-color: var(--delivery-danger) !important;
  box-shadow: 0 0 0 2px rgba(239, 68, 68, 0.15);
}
.form-error {
  font-size: 0.75rem; color: var(--delivery-danger);
  margin-top: 4px; font-weight: 500;
}

/* Checkout loading overlay */
.checkout-loading-overlay {
  position: fixed; inset: 0;
  background: rgba(0,0,0,0.55);
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: var(--space-md); z-index: var(--z-modal);
  color: #fff; font-size: 1rem; font-weight: 600;
}

.checkout-step-nav {
  display: flex;
  gap: var(--space-sm);
  margin-top: var(--space-lg);
}

/* ── Dine-in Banner ───────────────────────────────────────── */
.dine-in-banner {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  background: linear-gradient(135deg, #1E40AF15, #7C3AED15);
  border: 2px solid #1E40AF33;
  border-radius: var(--radius-xl);
  padding: var(--space-md) var(--space-lg);
  margin-bottom: var(--space-md);
}
.dine-in-banner__icon {
  font-size: 2rem;
  width: 48px; height: 48px;
  display: flex; align-items: center; justify-content: center;
  background: var(--delivery-surface);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
}
.dine-in-banner__title {
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--delivery-primary);
}
.dine-in-banner__table {
  font-size: 1.25rem;
  font-weight: 900;
  color: var(--delivery-text);
}

.dine-in-checkout-banner {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  background: linear-gradient(135deg, #1E40AF22, #2FD3C622);
  border: 2px solid #1E40AF44;
  border-radius: var(--radius-xl);
  padding: var(--space-md) var(--space-lg);
  margin: var(--space-md);
}
.dine-in-checkout-banner__icon {
  font-size: 2rem;
  width: 52px; height: 52px;
  display: flex; align-items: center; justify-content: center;
  background: white;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
}
.dine-in-checkout-banner__title {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--delivery-primary);
}
.dine-in-checkout-banner__table {
  font-size: 1.375rem;
  font-weight: 900;
  color: var(--delivery-text);
}

.checkout-summary-header {
  padding: var(--space-md);
  font-weight: 700;
  border-bottom: 1px solid var(--delivery-border);
}

.checkout-review-heading {
  margin-bottom: var(--space-sm);
}

.checkout-review-item {
  display: flex;
  justify-content: space-between;
  padding: 6px 0;
  border-bottom: 1px solid var(--delivery-border);
}

.checkout-review-section {
  margin-top: var(--space-md);
}

.checkout-review-address-text {
  color: var(--delivery-text-secondary);
}

.checkout-summary-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 6px 0;
  border-bottom: 1px solid var(--delivery-border);
}

.checkout-summary-item-name {
  font-size: 0.875rem;
}

.checkout-summary-item-price {
  font-size: 0.875rem;
  font-weight: 600;
}

.checkout-summary-totals {
  margin-top: var(--space-sm);
}

.checkout-free-delivery {
  color: var(--delivery-success);
}

/* ── Cart Page Extended ────────────────────────────────────────────── */
.cart-items-header { padding: var(--space-md); border-bottom: 1px solid var(--delivery-border); display: flex; justify-content: space-between; align-items: center; }
.cart-items-title { font-weight: 700; }
.cart-min-order-row { display: flex; justify-content: space-between; align-items: center; }
.cart-min-order-bar { margin-top: var(--space-sm); }
.cart-notes-wrap { padding: var(--space-md); }
.cart-notes-textarea { margin-top: 6px; }
.cart-promo-wrap { padding: var(--space-md); }
.cart-promo-label { margin-bottom: 8px; }
.cart-applied-promo { background: var(--delivery-success-light); border: 1px solid var(--delivery-success); border-radius: var(--radius-md); padding: 10px var(--space-md); display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.cart-applied-promo__text { color: var(--delivery-success); font-weight: 700; }
.cart-promo-remove { color: var(--delivery-danger); background: none; border: none; cursor: pointer; font-size: 1rem; }
.cart-promo-input { text-transform: uppercase; letter-spacing: 0.06em; font-weight: 600; }
.cart-promo-error { margin-top: 6px; }
.cart-summary-wrap { padding: var(--space-md); }
.cart-summary-title { font-size: 1rem; margin-bottom: var(--space-md); }
.cart-free-delivery { color: var(--delivery-success); }

/* ── Login Page Extended ───────────────────────────────────────────── */
.auth-otp-sent { text-align: center; color: var(--delivery-text-secondary); margin-bottom: var(--space-lg); }
.auth-otp-error { text-align: center; margin-top: var(--space-sm); }
.auth-otp-verify-btn { margin-top: var(--space-lg); }
.auth-center-row { text-align: center; margin-top: var(--space-md); }
.auth-resend-row { text-align: center; margin-top: var(--space-sm); }
.auth-form-error { margin-top: var(--space-sm); }
.auth-submit-btn { margin-top: var(--space-md); }
.auth-back-btn { margin-top: var(--space-sm); }
.auth-skip-row { text-align: center; margin-top: var(--space-md); }

/* ── Tracking Page Extended ────────────────────────────────────────── */
.tracking-empty { min-height: 60vh; }
.tracking-skeleton { padding: var(--space-xl) var(--space-md); text-align: center; }
.tracking-skeleton__spinner { margin: 0 auto; }
.tracking-skeleton__text { margin-top: var(--space-md); color: var(--delivery-text-muted); }
.tracking-cancelled-icon { background: rgba(239,68,68,0.12); }
.tracking-order-num { margin-top: var(--space-sm); color: var(--delivery-text-secondary); }
.tracking-status-badge { margin-top: var(--space-sm); }
.tracking-section-title { font-weight: 700; margin-bottom: var(--space-md); }
.tracking-section-title--sm { font-weight: 700; margin-bottom: var(--space-sm); }
.tracking-map-card { padding: 0; overflow: hidden; }
.tracking-map { height: 300px; }
.tracking-order-item { display: flex; justify-content: space-between; padding: 6px 0; border-bottom: 1px solid var(--delivery-border); }
.tracking-total-row { margin-top: var(--space-sm); }
.tracking-actions { padding: var(--space-md); display: flex; flex-direction: column; gap: var(--space-sm); }
.tracking-rating-restaurant { text-align: center; margin-bottom: var(--space-lg); }
.tracking-stars-row { justify-content: center; }
.tracking-rating-comment { margin-top: var(--space-lg); }
.tracking-rating-submit { margin-top: var(--space-md); }

/* ── Home Page Extended ────────────────────────────────────────────── */
.home-section--compact { padding-top: var(--space-md); padding-bottom: var(--space-md); }
.home-section--flush { padding-top: 0; padding-bottom: 0; }
.home-promo-dark { background: linear-gradient(135deg, #1A1A2E, #2a2e44); }
.home-spacer { height: var(--space-xl); }
.home-skeleton-hero { background: var(--nav-bg); padding: var(--space-xl) var(--space-md); min-height: 180px; position: relative; }
.home-skeleton-divider { height: 8px; background: var(--delivery-bg); }
.home-skeleton-card { border-radius: var(--radius-md); overflow: hidden; }

/* ── Cart Drawer ── */
.cart-drawer__title { font-size: 1.125rem; font-weight: 700; }

/* ═══════════════════════════════════════════════════════════════════════════
   SEARCH PAGE
   ═══════════════════════════════════════════════════════════════════════════ */

.search-page { background: var(--delivery-bg); min-height: 100vh; }

.search-page__header {
  background: var(--delivery-surface);
  padding: var(--space-md);
  border-bottom: 1px solid var(--delivery-border);
  position: sticky; top: 0; z-index: var(--z-sticky);
}

.search-page__input-wrap {
  display: flex; align-items: center; gap: var(--space-sm);
  background: var(--delivery-bg); border-radius: var(--radius-pill);
  padding: var(--space-sm) var(--space-md);
  border: 2px solid var(--delivery-border);
  transition: border-color var(--transition-fast);
}
.search-page__input-wrap:focus-within { border-color: var(--delivery-primary); }

.search-page__icon { color: var(--delivery-text-muted); flex-shrink: 0; }

.search-page__input {
  flex: 1; border: none; background: transparent;
  font-size: 1rem; color: var(--delivery-text);
  outline: none;
}
.search-page__input::placeholder { color: var(--delivery-text-muted); }

.search-page__clear {
  background: var(--delivery-border); border: none; border-radius: 50%;
  width: 28px; height: 28px; display: flex; align-items: center; justify-content: center;
  cursor: pointer; color: var(--delivery-text-secondary);
}

.search-page__filters {
  display: flex; gap: var(--space-sm); overflow-x: auto; padding-top: var(--space-sm);
  -webkit-overflow-scrolling: touch; scrollbar-width: none;
}
.search-page__filters::-webkit-scrollbar { display: none; }

.filter-chip {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 6px 14px; border-radius: var(--radius-pill);
  font-size: 0.8125rem; font-weight: 600; white-space: nowrap;
  background: var(--delivery-card); color: var(--delivery-text-secondary);
  border: 1px solid var(--delivery-border); cursor: pointer;
  transition: all var(--transition-fast);
}
.filter-chip:hover { border-color: var(--delivery-primary); color: var(--delivery-primary); }
.filter-chip.active {
  background: var(--delivery-primary); color: #fff; border-color: var(--delivery-primary);
}

.search-page__body { padding: var(--space-md); }
.search-page__loading { padding: var(--space-lg) 0; }

/* Search results */
.search-results__section { margin-bottom: var(--space-lg); }
.search-results__heading {
  display: flex; align-items: center; gap: var(--space-sm);
  font-size: 1rem; font-weight: 700; margin-bottom: var(--space-md);
  color: var(--delivery-text);
}
.search-results__list { display: flex; flex-direction: column; gap: var(--space-sm); }

.search-results__grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: var(--space-md);
}

/* Restaurant result card */
.search-restaurant-card {
  display: flex; gap: var(--space-md);
  background: var(--delivery-card); border-radius: var(--radius-md);
  padding: var(--space-sm); cursor: pointer;
  border: 1px solid var(--delivery-border);
  transition: box-shadow var(--transition-fast);
}
.search-restaurant-card:hover { box-shadow: var(--shadow-md); }

.search-restaurant-card__img {
  width: 100px; height: 80px; border-radius: var(--radius-sm); overflow: hidden; flex-shrink: 0;
}
.search-restaurant-card__img img { width: 100%; height: 100%; object-fit: cover; }

.search-restaurant-card__info { flex: 1; min-width: 0; }
.search-restaurant-card__name { font-size: 0.9375rem; font-weight: 700; margin-bottom: 2px; }
.search-restaurant-card__cuisine { font-size: 0.8125rem; color: var(--delivery-text-muted); margin-bottom: 4px; }
.search-restaurant-card__meta { display: flex; gap: var(--space-sm); font-size: 0.75rem; color: var(--delivery-text-secondary); }
.search-restaurant-card__rating { display: inline-flex; align-items: center; gap: 2px; color: var(--delivery-warning); }
.search-restaurant-card__time { display: inline-flex; align-items: center; gap: 2px; }

/* Menu item result card */
.search-item-card {
  background: var(--delivery-card); border-radius: var(--radius-md);
  overflow: hidden; cursor: pointer;
  border: 1px solid var(--delivery-border);
  transition: box-shadow var(--transition-fast);
}
.search-item-card:hover { box-shadow: var(--shadow-md); }

.search-item-card__img { height: 140px; overflow: hidden; }
.search-item-card__img img { width: 100%; height: 100%; object-fit: cover; }

.search-item-card__info { padding: var(--space-sm) var(--space-md) var(--space-md); }
.search-item-card__name { font-size: 0.9375rem; font-weight: 700; margin-bottom: 2px; }
.search-item-card__restaurant { font-size: 0.8125rem; color: var(--delivery-text-muted); margin-bottom: 4px; }
.search-item-card__price { font-size: 0.875rem; font-weight: 700; color: var(--delivery-primary); }

/* Recent searches */
.search-recent { padding: var(--space-md) 0; }
.search-recent__header {
  display: flex; justify-content: space-between; align-items: center;
  margin-bottom: var(--space-md);
}
.search-recent__title {
  display: flex; align-items: center; gap: var(--space-sm);
  font-size: 0.9375rem; font-weight: 700;
}
.search-recent__clear {
  font-size: 0.8125rem; color: var(--delivery-primary); font-weight: 600;
  background: none; border: none; cursor: pointer;
}
.search-recent__list { display: flex; flex-wrap: wrap; gap: var(--space-sm); }
.search-recent__item {
  display: inline-flex; align-items: center; gap: var(--space-sm);
  padding: var(--space-sm) var(--space-md); background: var(--delivery-card);
  border: 1px solid var(--delivery-border); border-radius: var(--radius-pill);
  font-size: 0.875rem; color: var(--delivery-text-secondary); cursor: pointer;
}
.search-recent__item:hover { border-color: var(--delivery-primary); color: var(--delivery-primary); }


/* ═══════════════════════════════════════════════════════════════════════════
   FAVORITES PAGE
   ═══════════════════════════════════════════════════════════════════════════ */

.favorites-page { background: var(--delivery-bg); min-height: 100vh; }

.favorites-page__header {
  display: flex; align-items: center; gap: var(--space-md);
  padding: var(--space-md);
  background: var(--delivery-surface); border-bottom: 1px solid var(--delivery-border);
}
.favorites-page__title { font-size: 1.125rem; font-weight: 700; }
.favorites-page__body { padding: var(--space-md); }

.skeleton-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: var(--space-md);
}

.favorites-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: var(--space-md);
}

.favorites-card {
  background: var(--delivery-card); border-radius: var(--radius-md);
  overflow: hidden; border: 1px solid var(--delivery-border);
  transition: transform var(--transition-fast), opacity var(--transition-fast);
}

.favorites-card__img { position: relative; height: 140px; overflow: hidden; }
.favorites-card__img img { width: 100%; height: 100%; object-fit: cover; }

.favorites-card__remove {
  position: absolute; top: var(--space-sm); inset-inline-end: var(--space-sm);
  width: 32px; height: 32px; border-radius: 50%;
  background: rgba(0,0,0,0.5); color: #fff; border: none;
  display: flex; align-items: center; justify-content: center; cursor: pointer;
}
.favorites-card__remove:hover { background: var(--delivery-danger); }

.favorites-card__info { padding: var(--space-md); }
.favorites-card__name { font-size: 0.9375rem; font-weight: 700; margin-bottom: 2px; }
.favorites-card__restaurant { font-size: 0.8125rem; color: var(--delivery-text-muted); margin-bottom: var(--space-sm); }

.favorites-card__footer {
  display: flex; justify-content: space-between; align-items: center;
}
.favorites-card__price { font-size: 1rem; font-weight: 700; color: var(--delivery-primary); }


/* ═══════════════════════════════════════════════════════════════════════════
   HELP CENTER PAGE
   ═══════════════════════════════════════════════════════════════════════════ */

.help-page { background: var(--delivery-bg); min-height: 100vh; }

.help-page__header {
  display: flex; align-items: center; gap: var(--space-md);
  padding: var(--space-md);
  background: var(--delivery-surface); border-bottom: 1px solid var(--delivery-border);
}
.help-page__title { font-size: 1.125rem; font-weight: 700; }
.help-page__body { padding: var(--space-md); display: flex; flex-direction: column; gap: var(--space-lg); }

/* Contact card */
.help-contact-card {
  display: flex; gap: var(--space-md); align-items: center;
  background: linear-gradient(135deg, var(--delivery-primary), var(--delivery-primary-dark));
  border-radius: var(--radius-md); padding: var(--space-lg);
  color: #fff;
}
.help-contact-card__icon {
  width: 56px; height: 56px; border-radius: 50%;
  background: rgba(255,255,255,0.2);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.help-contact-card__info h3 { font-size: 1rem; font-weight: 700; margin-bottom: var(--space-xs); color: #fff; }
.help-contact-card__info p {
  display: flex; align-items: center; gap: var(--space-xs);
  font-size: 0.8125rem; opacity: 0.9; margin-bottom: 2px; color: rgba(255,255,255,0.9);
}

/* Help sections */
.help-section {
  background: var(--delivery-card); border-radius: var(--radius-md);
  padding: var(--space-lg); border: 1px solid var(--delivery-border);
}
.help-section__title {
  display: flex; align-items: center; gap: var(--space-sm);
  font-size: 1rem; font-weight: 700; margin-bottom: var(--space-md);
}

/* FAQ */
.help-faq__search {
  display: flex; align-items: center; gap: var(--space-sm);
  background: var(--delivery-bg); border-radius: var(--radius-pill);
  padding: var(--space-sm) var(--space-md);
  margin-bottom: var(--space-md);
  border: 1px solid var(--delivery-border);
}
.help-faq__search input {
  flex: 1; border: none; background: transparent; outline: none;
  font-size: 0.875rem; color: var(--delivery-text);
}
.help-faq__search input::placeholder { color: var(--delivery-text-muted); }

.help-faq__item {
  border-bottom: 1px solid var(--delivery-border);
}
.help-faq__item:last-child { border-bottom: none; }

.help-faq__question {
  display: flex; justify-content: space-between; align-items: center;
  width: 100%; padding: var(--space-md) 0;
  background: none; border: none; cursor: pointer;
  font-size: 0.9375rem; font-weight: 600; color: var(--delivery-text);
  text-align: start;
}
.help-faq__chevron { transition: transform var(--transition-normal); flex-shrink: 0; }
.help-faq__item.open .help-faq__chevron { transform: rotate(180deg); }

.help-faq__answer {
  max-height: 0; overflow: hidden;
  font-size: 0.875rem; color: var(--delivery-text-secondary);
  line-height: 1.6;
  transition: max-height var(--transition-normal), padding var(--transition-normal);
}
.help-faq__item.open .help-faq__answer {
  max-height: 500px; padding-bottom: var(--space-md);
}

/* Ticket form */
.help-ticket-form { display: flex; flex-direction: column; gap: var(--space-md); }

.form-group { display: flex; flex-direction: column; gap: var(--space-xs); }
.form-label { font-size: 0.875rem; font-weight: 600; color: var(--delivery-text); }

.form-select {
  padding: var(--space-sm) var(--space-md);
  border: 1px solid var(--delivery-border); border-radius: var(--radius-sm);
  background: var(--delivery-bg); color: var(--delivery-text);
  font-size: 0.875rem; cursor: pointer;
}

.form-textarea {
  padding: var(--space-sm) var(--space-md);
  border: 1px solid var(--delivery-border); border-radius: var(--radius-sm);
  background: var(--delivery-bg); color: var(--delivery-text);
  font-size: 0.875rem; resize: vertical; min-height: 100px;
}
.form-textarea:focus, .form-select:focus {
  border-color: var(--delivery-primary); outline: none;
}

/* Ticket cards */
.help-ticket-card {
  background: var(--delivery-bg); border-radius: var(--radius-sm);
  padding: var(--space-md); margin-bottom: var(--space-sm);
  border: 1px solid var(--delivery-border);
}
.help-ticket-card__header {
  display: flex; justify-content: space-between; align-items: center;
  margin-bottom: var(--space-xs);
}
.help-ticket-card__header h4 { font-size: 0.9375rem; font-weight: 600; }
.help-ticket-card__message {
  font-size: 0.8125rem; color: var(--delivery-text-secondary);
  line-height: 1.5; margin-bottom: var(--space-xs);
}
.help-ticket-card__date { font-size: 0.75rem; color: var(--delivery-text-muted); }


/* ═══════════════════════════════════════════════════════════════════════════
   REVIEWS PAGE
   ═══════════════════════════════════════════════════════════════════════════ */

.reviews-page { background: var(--delivery-bg); min-height: 100vh; }

.reviews-page__header {
  display: flex; align-items: center; gap: var(--space-md);
  padding: var(--space-md);
  background: var(--delivery-surface); border-bottom: 1px solid var(--delivery-border);
}
.reviews-page__title { font-size: 1.125rem; font-weight: 700; }
.reviews-page__body { padding: var(--space-md); }

/* Summary card */
.reviews-summary {
  display: flex; gap: var(--space-xl);
  background: var(--delivery-card); border-radius: var(--radius-md);
  padding: var(--space-lg); border: 1px solid var(--delivery-border);
  margin-bottom: var(--space-md);
}

.reviews-summary__score { display: flex; flex-direction: column; align-items: center; gap: var(--space-xs); min-width: 80px; }
.reviews-summary__number { font-size: 2.5rem; font-weight: 800; color: var(--delivery-text); line-height: 1; }
.reviews-summary__stars { display: flex; gap: 2px; }
.reviews-summary__count { font-size: 0.75rem; color: var(--delivery-text-muted); }

.reviews-summary__bars { flex: 1; display: flex; flex-direction: column; gap: var(--space-xs); justify-content: center; }

.reviews-bar { display: flex; align-items: center; gap: var(--space-sm); }
.reviews-bar__label { font-size: 0.75rem; font-weight: 600; color: var(--delivery-text-secondary); width: 12px; text-align: center; }
.reviews-bar__track {
  flex: 1; height: 8px; background: var(--delivery-bg);
  border-radius: var(--radius-pill); overflow: hidden;
}
.reviews-bar__fill { height: 100%; background: var(--delivery-warning); border-radius: var(--radius-pill); transition: width var(--transition-normal); }
.reviews-bar__count { font-size: 0.75rem; color: var(--delivery-text-muted); width: 20px; text-align: end; }

/* Sort */
.reviews-sort {
  display: flex; gap: var(--space-sm); margin-bottom: var(--space-md);
}

/* Review cards */
.reviews-list { display: flex; flex-direction: column; gap: var(--space-sm); }

.review-card {
  background: var(--delivery-card); border-radius: var(--radius-md);
  padding: var(--space-md); border: 1px solid var(--delivery-border);
}

.review-card__header { display: flex; align-items: center; gap: var(--space-sm); margin-bottom: var(--space-sm); }

.review-card__avatar {
  width: 40px; height: 40px; border-radius: 50%;
  background: var(--delivery-primary-light); color: var(--delivery-primary);
  display: flex; align-items: center; justify-content: center;
  font-size: 1rem; font-weight: 700; flex-shrink: 0;
}

.review-card__meta { flex: 1; min-width: 0; }
.review-card__name { font-size: 0.9375rem; font-weight: 600; display: block; }
.review-card__date { font-size: 0.75rem; color: var(--delivery-text-muted); }

.review-card__rating { display: flex; gap: 2px; }
.star-filled { color: var(--delivery-warning); }
.star-empty { color: var(--delivery-border); }

.review-card__comment {
  font-size: 0.875rem; color: var(--delivery-text-secondary);
  line-height: 1.6;
}

.review-card__items {
  margin-top: var(--space-sm); padding-top: var(--space-sm);
  border-top: 1px solid var(--delivery-border);
  font-size: 0.8125rem; color: var(--delivery-text-muted);
}

/* Page transition */
.page-enter { animation: pageIn 0.25s ease-out; }
@keyframes pageIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }


/* ═══════════════════════════════════════════════════════════════════════════
   INFO PAGES — Shared (Rewards, Stamps, Gift Cards, Courier, Partner)
   ═══════════════════════════════════════════════════════════════════════════ */

.info-page {
  background: var(--delivery-bg);
  min-height: 100vh;
}

.info-section {
  padding: var(--space-lg) var(--space-md);
}

.info-section__title {
  font-size: 1.375rem;
  font-weight: 700;
  color: var(--delivery-text);
  margin-bottom: var(--space-md);
}

/* Steps (1-2-3 how it works) */
.info-steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-md);
}

.info-step {
  text-align: center;
  padding: var(--space-md) var(--space-sm);
  background: var(--delivery-surface);
  border-radius: var(--radius-lg);
  border: 1px solid var(--delivery-border);
  position: relative;
}

.info-step__num {
  position: absolute;
  top: -12px;
  inset-inline-start: 50%;
  transform: translateX(-50%);
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--delivery-primary);
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}

[dir="rtl"] .info-step__num { transform: translateX(50%); }

.info-step__icon {
  color: var(--delivery-primary);
  margin-bottom: var(--space-sm);
}

.info-step h3 {
  font-size: 0.9375rem;
  font-weight: 700;
  margin-bottom: var(--space-xs);
  color: var(--delivery-text);
}

.info-step p {
  font-size: 0.8125rem;
  color: var(--delivery-text-muted);
  line-height: 1.5;
}

@media (max-width: 480px) {
  .info-steps { grid-template-columns: 1fr; gap: var(--space-sm); }
}


/* ── Rewards Page ──────────────────────────────────────────────────────── */

.rewards-hero {
  background: linear-gradient(135deg, #FF6B00 0%, #FF9500 50%, #FFB800 100%);
  padding: var(--space-3xl) var(--space-md) var(--space-2xl);
  text-align: center;
  color: #fff;
}

.rewards-hero__icon { margin-bottom: var(--space-md); opacity: 0.9; }
.rewards-hero__title { font-size: 1.625rem; font-weight: 800; margin-bottom: var(--space-sm); }
.rewards-hero__sub { font-size: 0.9375rem; opacity: 0.9; margin-bottom: var(--space-lg); line-height: 1.6; }

.rewards-tiers {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-md);
}

.rewards-tier {
  background: var(--delivery-surface);
  border-radius: var(--radius-lg);
  padding: var(--space-lg) var(--space-md);
  text-align: center;
  border: 1px solid var(--delivery-border);
  transition: transform 0.2s, box-shadow 0.2s;
}

.rewards-tier:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.1);
}

.rewards-tier__icon { margin-bottom: var(--space-sm); }
.rewards-tier__name { font-size: 1.125rem; font-weight: 700; color: var(--delivery-text); }
.rewards-tier__req { font-size: 0.8125rem; color: var(--delivery-text-muted); margin-bottom: var(--space-sm); }

.rewards-tier__perks {
  list-style: none;
  padding: 0;
  margin: 0;
  text-align: start;
}

.rewards-tier__perks li {
  font-size: 0.8125rem;
  color: var(--delivery-text-secondary);
  padding: 4px 0;
  padding-inline-start: 16px;
  position: relative;
}

.rewards-tier__perks li::before {
  content: "✓";
  position: absolute;
  inset-inline-start: 0;
  color: var(--delivery-success);
  font-weight: 700;
}

/* Tier colors */
:root {
  --tier-bronze: #CD7F32;
  --tier-silver: #C0C0C0;
  --tier-gold: #FFD700;
  --tier-platinum: #E5E4E2;
}

@media (max-width: 480px) {
  .rewards-tiers { grid-template-columns: 1fr; }
}


/* ── Stamps Page ───────────────────────────────────────────────────────── */

.stamps-hero {
  background: linear-gradient(135deg, #6C5CE7 0%, #A29BFE 100%);
  padding: var(--space-3xl) var(--space-md) var(--space-2xl);
  text-align: center;
  color: #fff;
}

.stamps-hero__icon { margin-bottom: var(--space-md); opacity: 0.9; }
.stamps-hero__title { font-size: 1.625rem; font-weight: 800; margin-bottom: var(--space-sm); }
.stamps-hero__sub { font-size: 0.9375rem; opacity: 0.9; margin-bottom: var(--space-lg); line-height: 1.6; }

.stamp-cards {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.stamp-card {
  background: var(--delivery-surface);
  border-radius: var(--radius-lg);
  padding: var(--space-lg);
  border: 1px solid var(--delivery-border);
  overflow: hidden;
}

.stamp-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--space-sm);
}

.stamp-card__restaurant {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  font-weight: 700;
  font-size: 1rem;
  color: var(--delivery-text);
}

.stamp-card__progress {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--stamp-color, var(--delivery-primary));
}

.stamp-card__reward {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  font-size: 0.8125rem;
  color: var(--delivery-text-muted);
  margin-bottom: var(--space-md);
}

.stamp-card__grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: var(--space-md);
}

.stamp {
  width: 40px;
  height: 40px;
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.2s;
}

.stamp--collected {
  background: var(--stamp-color, var(--delivery-primary));
  color: #fff;
}

.stamp--empty {
  background: var(--delivery-bg);
  color: var(--delivery-text-muted);
  border: 2px dashed var(--delivery-border);
}

.stamp--reward {
  background: linear-gradient(135deg, #FFD700, #FFA500);
  color: #fff;
  border: 2px solid #FFD700;
}

.stamp-card__bar {
  height: 6px;
  background: var(--delivery-bg);
  border-radius: 3px;
  overflow: hidden;
  margin-bottom: var(--space-sm);
}

.stamp-card__bar-fill {
  height: 100%;
  background: var(--stamp-color, var(--delivery-primary));
  border-radius: 3px;
  transition: width 0.5s ease;
}

.stamp-card__hint {
  font-size: 0.75rem;
  color: var(--delivery-text-muted);
  text-align: center;
}


/* ── Gift Cards Page ───────────────────────────────────────────────────── */

.giftcards-hero {
  background: linear-gradient(135deg, #E91E63 0%, #FF5252 50%, #FF8A65 100%);
  padding: var(--space-3xl) var(--space-md) var(--space-2xl);
  text-align: center;
  color: #fff;
}

.giftcards-hero__icon { margin-bottom: var(--space-md); opacity: 0.9; }
.giftcards-hero__title { font-size: 1.625rem; font-weight: 800; margin-bottom: var(--space-sm); }
.giftcards-hero__sub { font-size: 0.9375rem; opacity: 0.9; margin-bottom: var(--space-lg); line-height: 1.6; }

.gift-designs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-sm);
}

.gift-design {
  aspect-ratio: 16/10;
  border-radius: var(--radius-lg);
  border: 3px solid transparent;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--space-xs);
  color: #fff;
  font-size: 0.75rem;
  font-weight: 600;
  cursor: pointer;
  transition: transform 0.2s, border-color 0.2s;
}

.gift-design:hover { transform: scale(1.03); }
.gift-design--active { border-color: #fff; box-shadow: 0 0 0 2px var(--delivery-primary); }

@media (max-width: 480px) {
  .gift-designs { grid-template-columns: repeat(2, 1fr); }
}

.gift-amounts {
  display: flex;
  gap: var(--space-sm);
  flex-wrap: wrap;
}

.gift-amount {
  flex: 1;
  min-width: 80px;
  padding: var(--space-sm) var(--space-md);
  border-radius: var(--radius-lg);
  border: 2px solid var(--delivery-border);
  background: var(--delivery-surface);
  font-size: 1rem;
  font-weight: 700;
  color: var(--delivery-text);
  cursor: pointer;
  text-align: center;
  transition: border-color 0.2s, background 0.2s;
}

.gift-amount:hover { border-color: var(--delivery-primary); }
.gift-amount--active {
  border-color: var(--delivery-primary);
  background: var(--delivery-primary-light);
  color: var(--delivery-primary);
}

.gift-custom-amount {
  margin-top: var(--space-md);
}

.gift-custom-amount label {
  font-size: 0.875rem;
  color: var(--delivery-text-muted);
  margin-bottom: var(--space-xs);
  display: block;
}

.gift-custom-input {
  display: flex;
  align-items: center;
  border: 2px solid var(--delivery-border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: var(--delivery-surface);
}

.gift-custom-input__currency {
  padding: var(--space-sm) var(--space-md);
  background: var(--delivery-bg);
  font-weight: 700;
  color: var(--delivery-text-muted);
  border-inline-end: 2px solid var(--delivery-border);
}

.gift-custom-input__field {
  flex: 1;
  border: none;
  padding: var(--space-sm) var(--space-md);
  font-size: 1.125rem;
  font-weight: 700;
  background: transparent;
  color: var(--delivery-text);
  outline: none;
}

/* Shared gift form styles */
.gift-form {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.gift-form__field label {
  display: block;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--delivery-text);
  margin-bottom: var(--space-xs);
}

.gift-input {
  width: 100%;
  padding: var(--space-sm) var(--space-md);
  border: 2px solid var(--delivery-border);
  border-radius: var(--radius-md);
  font-size: 0.9375rem;
  background: var(--delivery-surface);
  color: var(--delivery-text);
  outline: none;
  transition: border-color 0.2s;
  box-sizing: border-box;
}

.gift-input:focus { border-color: var(--delivery-primary); }

.gift-textarea {
  resize: vertical;
  min-height: 80px;
  font-family: inherit;
}

/* Gift preview */
.gift-preview { display: flex; justify-content: center; }

.gift-preview__card {
  width: 300px;
  aspect-ratio: 16/10;
  border-radius: var(--radius-xl);
  padding: var(--space-lg);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #fff;
  text-align: center;
  box-shadow: 0 12px 40px rgba(0,0,0,0.2);
}

.gift-preview__logo {
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: var(--space-sm);
}

.gift-preview__icon { margin-bottom: var(--space-sm); }

.gift-preview__amount {
  font-size: 2rem;
  font-weight: 800;
  margin-bottom: var(--space-xs);
}

.gift-preview__label {
  font-size: 0.875rem;
  opacity: 0.9;
}

/* Redeem section */
.giftcards-redeem {
  background: var(--delivery-surface);
  border-top: 1px solid var(--delivery-border);
  text-align: center;
}

.giftcards-redeem p {
  font-size: 0.875rem;
  color: var(--delivery-text-muted);
  margin-bottom: var(--space-md);
}

.gift-redeem-form {
  display: flex;
  gap: var(--space-sm);
  max-width: 400px;
  margin: 0 auto;
}

.gift-redeem-input {
  flex: 1;
  text-align: center;
  letter-spacing: 2px;
  font-weight: 600;
  text-transform: uppercase;
}


/* ── Courier Page ──────────────────────────────────────────────────────── */

.courier-hero {
  background: linear-gradient(135deg, #00B894 0%, #00CEC9 50%, #0984E3 100%);
  padding: var(--space-3xl) var(--space-md) var(--space-2xl);
  text-align: center;
  color: #fff;
}

.courier-hero__icon { margin-bottom: var(--space-md); opacity: 0.9; }
.courier-hero__title { font-size: 1.625rem; font-weight: 800; margin-bottom: var(--space-sm); }
.courier-hero__sub { font-size: 0.9375rem; opacity: 0.9; margin-bottom: var(--space-lg); line-height: 1.6; }

.courier-benefits {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-md);
}

.courier-benefit {
  background: var(--delivery-surface);
  border-radius: var(--radius-lg);
  padding: var(--space-lg);
  border: 1px solid var(--delivery-border);
  text-align: center;
  transition: transform 0.2s;
}

.courier-benefit:hover { transform: translateY(-2px); }

.courier-benefit__icon {
  color: var(--delivery-primary);
  margin-bottom: var(--space-sm);
}

.courier-benefit h3 {
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--delivery-text);
  margin-bottom: var(--space-xs);
}

.courier-benefit p {
  font-size: 0.8125rem;
  color: var(--delivery-text-muted);
  line-height: 1.5;
}

@media (max-width: 480px) {
  .courier-benefits { grid-template-columns: 1fr; }
}

/* Requirements checklist */
.courier-requirements {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.courier-req {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  padding: var(--space-sm) var(--space-md);
  background: var(--delivery-surface);
  border-radius: var(--radius-md);
  border: 1px solid var(--delivery-border);
  font-size: 0.9375rem;
  color: var(--delivery-text);
}

.courier-req i { color: var(--delivery-success); flex-shrink: 0; }

/* Earnings calculator */
.courier-calculator {
  background: var(--delivery-surface);
  border-radius: var(--radius-lg);
  padding: var(--space-lg);
  border: 1px solid var(--delivery-border);
}

.courier-calc__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--space-md);
  gap: var(--space-md);
}

.courier-calc__row label {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--delivery-text);
  white-space: nowrap;
}

.courier-calc__slider {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  flex: 1;
  max-width: 200px;
}

.courier-calc__slider input[type="range"] {
  flex: 1;
  accent-color: var(--delivery-primary);
}

.courier-calc__value {
  font-weight: 700;
  font-size: 1rem;
  color: var(--delivery-primary);
  min-width: 24px;
  text-align: center;
}

.courier-calc__result {
  text-align: center;
  padding-top: var(--space-md);
  border-top: 1px solid var(--delivery-border);
}

.courier-calc__label {
  font-size: 0.875rem;
  color: var(--delivery-text-muted);
  margin-bottom: var(--space-xs);
}

.courier-calc__amount {
  font-size: 2rem;
  font-weight: 800;
  color: var(--delivery-primary);
}

.courier-calc__note {
  font-size: 0.75rem;
  color: var(--delivery-text-muted);
  margin-top: var(--space-sm);
}

/* Vehicle selector */
.courier-vehicles {
  display: flex;
  gap: var(--space-sm);
}

.courier-vehicle {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-xs);
  padding: var(--space-md) var(--space-sm);
  border: 2px solid var(--delivery-border);
  border-radius: var(--radius-lg);
  background: var(--delivery-surface);
  color: var(--delivery-text-muted);
  cursor: pointer;
  transition: border-color 0.2s, color 0.2s;
  font-size: 0.8125rem;
  font-weight: 600;
}

.courier-vehicle:hover { border-color: var(--delivery-primary); }
.courier-vehicle--active {
  border-color: var(--delivery-primary);
  color: var(--delivery-primary);
  background: var(--delivery-primary-light);
}

/* Courier form */
.courier-form {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}


/* ── Partner Page ──────────────────────────────────────────────────────── */

.partner-hero {
  background: linear-gradient(135deg, #1A1A2E 0%, #16213E 50%, #0F3460 100%);
  padding: var(--space-3xl) var(--space-md) var(--space-2xl);
  text-align: center;
  color: #fff;
}

.partner-hero__icon { margin-bottom: var(--space-md); opacity: 0.9; }
.partner-hero__title { font-size: 1.625rem; font-weight: 800; margin-bottom: var(--space-sm); }
.partner-hero__sub { font-size: 0.9375rem; opacity: 0.9; margin-bottom: var(--space-lg); line-height: 1.6; }

/* Stats bar */
.partner-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-sm);
  text-align: center;
}

.partner-stat {
  padding: var(--space-md) var(--space-sm);
  background: var(--delivery-surface);
  border-radius: var(--radius-lg);
  border: 1px solid var(--delivery-border);
}

.partner-stat__number {
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--delivery-primary);
}

.partner-stat__label {
  font-size: 0.75rem;
  color: var(--delivery-text-muted);
  margin-top: 2px;
}

@media (max-width: 480px) {
  .partner-stats { grid-template-columns: repeat(2, 1fr); }
}

/* Benefits grid */
.partner-benefits {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-md);
}

.partner-benefit {
  background: var(--delivery-surface);
  border-radius: var(--radius-lg);
  padding: var(--space-lg);
  border: 1px solid var(--delivery-border);
  text-align: center;
  transition: transform 0.2s;
}

.partner-benefit:hover { transform: translateY(-2px); }

.partner-benefit__icon {
  color: var(--delivery-primary);
  margin-bottom: var(--space-sm);
}

.partner-benefit h3 {
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--delivery-text);
  margin-bottom: var(--space-xs);
}

.partner-benefit p {
  font-size: 0.8125rem;
  color: var(--delivery-text-muted);
  line-height: 1.5;
}

@media (max-width: 480px) {
  .partner-benefits { grid-template-columns: 1fr; }
}

/* Pricing plans */
.partner-plans {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-md);
  align-items: start;
}

.partner-plan {
  background: var(--delivery-surface);
  border-radius: var(--radius-lg);
  padding: var(--space-lg);
  border: 2px solid var(--delivery-border);
  text-align: center;
  position: relative;
  transition: transform 0.2s;
}

.partner-plan:hover { transform: translateY(-2px); }

.partner-plan--popular {
  border-color: var(--delivery-primary);
  box-shadow: 0 8px 32px rgba(255,87,34,0.15);
}

.partner-plan__badge {
  position: absolute;
  top: -12px;
  inset-inline-start: 50%;
  transform: translateX(-50%);
  background: var(--delivery-primary);
  color: #fff;
  font-size: 0.6875rem;
  font-weight: 700;
  padding: 4px 12px;
  border-radius: var(--radius-full);
  white-space: nowrap;
}

[dir="rtl"] .partner-plan__badge { transform: translateX(50%); }

.partner-plan__name {
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--delivery-text);
  margin-bottom: var(--space-md);
}

.partner-plan__price {
  margin-bottom: var(--space-md);
}

.partner-plan__amount {
  display: block;
  font-size: 2rem;
  font-weight: 800;
  color: var(--delivery-primary);
}

.partner-plan__period {
  font-size: 0.8125rem;
  color: var(--delivery-text-muted);
}

.partner-plan__features {
  list-style: none;
  padding: 0;
  margin: 0 0 var(--space-lg);
  text-align: start;
}

.partner-plan__features li {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  font-size: 0.8125rem;
  color: var(--delivery-text-secondary);
  padding: 6px 0;
}

.partner-plan__features i { color: var(--delivery-success); flex-shrink: 0; }

@media (max-width: 640px) {
  .partner-plans { grid-template-columns: 1fr; }
}

/* Testimonials */
.partner-testimonials {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.partner-testimonial {
  background: var(--delivery-surface);
  border-radius: var(--radius-lg);
  padding: var(--space-lg);
  border: 1px solid var(--delivery-border);
}

.partner-testimonial__stars {
  color: var(--delivery-warning);
  font-size: 1rem;
  margin-bottom: var(--space-sm);
  letter-spacing: 2px;
}

.partner-testimonial__text {
  font-size: 0.9375rem;
  color: var(--delivery-text);
  line-height: 1.6;
  font-style: italic;
  margin-bottom: var(--space-sm);
}

.partner-testimonial__author {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--delivery-text-muted);
}

/* ── Shared button enhancements for info pages ─────────────────────────── */
.btn-lg {
  padding: var(--space-sm) var(--space-xl);
  font-size: 1rem;
  font-weight: 700;
  border-radius: var(--radius-lg);
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
}

.btn-block { width: 100%; justify-content: center; }

.btn-outline {
  background: transparent;
  border: 2px solid var(--delivery-primary);
  color: var(--delivery-primary);
  padding: var(--space-sm) var(--space-lg);
  border-radius: var(--radius-lg);
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s;
}

.btn-outline:hover {
  background: var(--delivery-primary-light);
}

@media (max-width: 480px) {
  .reviews-summary { flex-direction: column; gap: var(--space-md); }
  .reviews-summary__score { flex-direction: row; gap: var(--space-md); }
  .search-results__grid { grid-template-columns: 1fr; }
  .favorites-grid { grid-template-columns: 1fr; }
  .skeleton-grid { grid-template-columns: 1fr; }
}
