/* =====================================================================
   RESPONSIVE.CSS — Breakpoint overrides for Over Sauce Lounge
   Loaded after main.css and animations.css so these rules win the
   cascade without needing !important.
   ===================================================================== */

/* ---------------- Extra-small phones (<400px) ---------------- */
@media (max-width: 399px){
  .header-search{ max-width: 140px; }
  .hero-stats span:last-child{ font-size: 0.8rem; }
}

/* ---------------- Small phones / default mobile (<640px) ---------------- */
@media (max-width: 639px){
  .logo-text{ display: none; }
  .container{ padding-inline: var(--space-4); }
  .hero{ min-height: 88vh; padding-top: 6.5rem; }
  /* مساحة سفلية كافية حتى لا يغطي زر "احجز الآن" العائم اسم المطعم */
  .hero-content{ padding-bottom: 150px; }
  .product-grid{ grid-template-columns: 1fr 1fr; gap: var(--space-3); }
  .product-body{ padding: var(--space-3); gap: 6px; }
  

  .drawer{ max-width: 100%; }
  .modal-panel{ border-radius: var(--radius-lg) var(--radius-lg) 0 0; }

  .stats-grid{ grid-template-columns: repeat(2, 1fr); }
  
  
  

  .qr-card{ flex-direction: column; text-align: center; }
}

/* ---------------- Tablets (640px–1023px) ---------------- */
@media (min-width: 640px){
  .product-grid{ grid-template-columns: repeat(2, 1fr); }
  
}

@media (min-width: 768px){
  .product-grid{ grid-template-columns: repeat(3, 1fr); }
  .hero{ min-height: 92vh; }
}

/* ---------------- Desktop (1024px+) ---------------- */
@media (min-width: 1024px){
  .product-grid{ grid-template-columns: repeat(4, 1fr); }
}

/* ---------------- Landscape phones: keep header from eating the viewport ---------------- */
@media (max-height: 480px) and (orientation: landscape){
  .hero{ min-height: 100vh; padding-top: 5rem; }
}

/* ---------------- Larger touch areas on coarse pointers (touchscreens) ----------------
   على الأجهزة اللمسية نرفع كل عناصر التفاعل إلى 44px (الحد الأدنى الموصى به
   من Apple HIG و WCAG) — زر الكمية تحديدًا يُضغط كثيرًا أثناء الطلب، وأي خطأ
   في الضغط يُحبط العميل ويعطّل إتمام الطلب. */
@media (pointer: coarse){
  .qty-btn{ min-width: 44px; min-height: 44px; width: 44px; height: 44px; }
  .icon-btn{ min-width: 44px; min-height: 44px; }
  
  .btn-xs{ padding: 8px 14px; }
  .stamp-pill, .cat-pill{ min-height: 40px; }
}

/* ---------------- Print (menu can be printed for in-store use) ---------------- */
@media print{
  .site-header, 
  body{ background: #fff; color: #111; }
  .product-card{ break-inside: avoid; border: 1px solid #ccc; }
}
