
    html,body {
      height: 100vh;
      margin: 0;
      padding: 0;
      overflow-y: auto;
      scrollbar-width: none;
      -ms-overflow-style: none;
      touch-action: pan-y;
      user-scalable: no;
      overscroll-behavior-y: none;
      -webkit-text-size-adjust: none;
      -webkit-overflow-scrolling: touch;
      font-family: 'Poppins', sans-serif;
    }
    body::-webkit-scrollbar { display: none; }
    body {
      display: flex;
      flex-direction: column;
      background: #2c2c2c;
      color: #fff;
    }
    .osahan-checkout {
      flex: 1 0 auto;
      padding-top: 70px;
      padding-bottom: calc(env(safe-area-inset-bottom) + 80px);
    }
    .bg-ash { background-color: #2c2c2c; }
    .order-box { cursor: pointer; transition: background 0.2s ease; }
    .order-box:hover { background: #1e1e1e; }
    .order-details { display: none; margin-top: 10px; }
    .order-box.expanded .order-details { display: block; }
    .order-summary { display: flex; justify-content: space-between; align-items: center; }
    input,textarea { font-size: 16px; outline: none; }
    *:focus { zoom: 1; }
    .status-badge {
      padding: 2px 8px;
      border-radius: 10px;
      font-size: 14px;
      font-weight: 600;
      display: inline-block;
      margin-top: 5px;
    }
    .status-pending { background: #ffc107; color: #212529; }
    .status-being_delivered { background: #50c33e; color: #fff; }
    .status-delivered { background: #28a745; color: #fff; }
    .status-not_delivered { background: #dc3545; color: #fff; }
    .order-summary-left { flex: 1; }
    .order-summary-right { text-align: right; }

 

    .loading-placeholder {
      background: #3a3a3a;
      border-radius: 8px;
      height: 100px;
      margin-bottom: 10px;
      animation: pulse 1.5s infinite;
    }
    @keyframes pulse {
      0% { opacity: 0.6; }
      50% { opacity: 1; }
      100% { opacity: 0.6; }
    }

    /* No Orders Screen Styling */
    .no-orders-screen {
      height: calc(100vh - 150px);
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      text-align: center;
    }
    .no-orders-screen i {
      font-size: 64px;
      color: #50c33e;
      margin-bottom: 20px;
    }
    .no-orders-screen h2 {
      font-weight: 700;
      font-size: 24px;
      margin-bottom: 10px;
      color: #f8f8f8;
    }
    .no-orders-screen p {
      color: #aaa;
      font-size: 16px;
    }
    .spinner-border {
  animation-duration: 0.6s;
  
}

  .status-badge {
  display: inline-block;
  padding: 6px 12px;
  font-size: 0.75rem;
  font-weight: 600;
  border-radius: 20px;
  margin-top: 6px;
  letter-spacing: 0.5px;
  box-shadow: 0 2px 5px rgba(0,0,0,0.15);
  transition: all 0.2s ease;
}

/* Status color classes */
.status-gray {
  background: linear-gradient(to right, #dcdcdc, #e8e8e8);
  color: #333;
}

.status-blue {
  background: linear-gradient(to right, #cce5ff, #b3d7ff);
  color: #004085;
}

.status-orange {
  background: linear-gradient(to right, #ffe0b2, #ffd699);
  color: #8a4b00;
}

.status-green {
  background: linear-gradient(to right, #d4edda, #c3e6cb);
  color: #155724;
}

.status-purple {
  background: linear-gradient(to right, #d8c7f7, #e4d8f8);
  color: #5f2c82;
}

.status-red {
  background: linear-gradient(to right, #f8d7da, #f5bebe);
  color: #721c24;
}

.status-darkred {
  background: linear-gradient(to right, #f5c6cb, #eea4a4);
  color: #7a0b0b;
}
/* Fullscreen Loader */
#page-loader {
  position: fixed;
  inset: 0;
  background: #2c2c2c; /* matches your app */
  z-index: 99999;
  overflow-y: auto;
  padding: 20px 16px 40px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

/* Shimmer effect */
.skeleton {
  background: linear-gradient(
    90deg,
    #3a3a3a 25%,
    #4a4a4a 37%,
    #3a3a3a 63%
  );
  background-size: 400% 100%;
  animation: shimmer 1.4s ease-in-out infinite;
  border-radius: 12px;
}

@keyframes shimmer {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}

/* 🔝 Header placeholders */
.loader-header {
  display: flex;
  align-items: center;
  gap: 12px;
}
.skeleton-logo {
  width: 42px;
  height: 42px;
  border-radius: 50%;
}
.skeleton-title {
  width: 120px;
  height: 18px;
  border-radius: 6px;
}

/* 🔍 Search bar placeholder */
.loader-search .skeleton-search {
  width: 100%;
  height: 46px;
  border-radius: 16px;
}

/* 🎉 Promo banners */
.loader-promos {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.skeleton-banner {
  width: 100%;
  height: 140px;
  border-radius: 16px;
}

/* 🍴 Restaurant cards */
.loader-restaurants {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}
.skeleton-card {
  width: 100%;
  height: 160px;
  border-radius: 14px;
}
#page-loader.hide {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.image-wrap {
  width: 100%;
  max-width: 500px;           /* desktop size */
  aspect-ratio: 1 / 1;
  border-radius: 24px;
  overflow: hidden;
  display: flex;
  justify-content: center;     /* horizontal center */
  align-items: center;         /* vertical center */
  margin: 0 auto;              /* center container itself */
}

.image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: 24px;
  box-shadow: 0 25px 60px rgba(0,0,0,0.55);
}

@media (max-width: 480px) {
  .image-wrap {
    max-width: 500px;         /* mobile size */
  }
}

    .empty-cart {
            text-align: center;
            padding: 15px;
        }
        .empty-cart h2 {
            font-size: 2rem;
            font-weight: 700;
            margin-bottom: 15px;
            letter-spacing: -0.4px;
            color: #ffffff;
        }
        .empty-cart p {
            font-size: 1rem;
            color: #ffffff;
            opacity: 0.7;
            margin-bottom: 20px;
            line-height: 1.5;
        }
        .empty-cart .btn-primary {
            background: #50c33e;
            border: none;
            padding: 10px 30px;
            border-radius: 50px;
            font-size: 0.95rem;
            font-weight: 600;
            transition: background 0.3s ease, transform 0.2s ease;
        }
        .empty-cart .btn-primary:hover {
            background: #3a972cd1;
            transform: translateY(-2px);
        }
    