/* Device polish — phone, tablet, laptop, desktop.
   Loaded last so it wins. Keeps one layout, no sideways page scroll. */

html, body {
  max-width: 100%;
  overflow-x: clip;
}

img, svg, video, canvas, iframe {
  max-width: 100%;
  height: auto;
}

.hero-slideshow,
.hero-banner,
.reviews-slider-wrap,
.review-grid,
.market-home-categories,
.menu-group-grid {
  max-width: 100%;
  min-width: 0;
}

.hero-slideshow,
.hero-banner {
  overflow: hidden;
}

.hero-slide {
  max-width: 100%;
}

.reviews-slider-wrap {
  overflow: hidden;
}

.review-grid {
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}

.review-card {
  scroll-snap-align: start;
  min-width: 0;
  max-width: 100%;
}

.header-main,
.header-actions,
.site-header {
  min-width: 0;
  max-width: 100%;
}

.header-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: nowrap;
}

.wf-header-signin,
a.wf-header-signin {
  background: transparent !important;
  color: #087f3e !important;
  border: 1.5px solid rgba(8, 127, 62, .55) !important;
  box-shadow: none !important;
  text-decoration: none;
}

.wf-header-signin:hover,
a.wf-header-signin:hover {
  background: rgba(8, 127, 62, .08) !important;
  color: #066c34 !important;
}

input, select, textarea {
  max-width: 100%;
}

/* Header: phone block must never sit on top of Sign in or Cart. */
.header-main{
  display:flex !important;
  align-items:center !important;
  gap:16px !important;
  grid-template-columns:none !important;
}
.header-contact{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  flex:0 0 auto !important;
  margin:0 !important;
  z-index:1;
}
.header-contact-icon{
  position:static !important;
  flex:0 0 36px !important;
  width:36px !important;
  height:36px !important;
  margin:0 !important;
}
.header-actions{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  flex:0 0 auto !important;
  margin-left:8px !important;
  z-index:2;
}
.wf-header-signin{
  position:relative !important;
  outline-offset:3px;
}
.wf-header-signin:focus,
.wf-header-signin:focus-visible{
  outline:3px solid #087f3e !important;
  outline-offset:3px !important;
}
@media (max-width: 1180px){
  .header-contact{display:none !important}
}
@media (max-width: 900px) {
  .header-contact { display: none !important; }
  .announcement { padding-inline: 10px; text-align: center; }
  body { padding-bottom: calc(76px + env(safe-area-inset-bottom)); }
  .bagdad-open-cart,
  .header-actions .cart-pill {
    display: none !important;
  }
  .header-main {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
  }
  .logo-wrap { margin-right: auto; }
  .header-actions { margin-left: auto !important; }
}

@media (max-width: 640px) {
  .header-search { display: none !important; }
  .site-header { height: auto; min-height: 64px; }
  .hero-banner, .hero-slideshow { height: min(78vw, 520px); min-height: 320px; }
  .review-card { min-width: min(100%, 280px); }
}

@media (max-width: 420px) {
  .wf-header-signin {
    width: 42px;
    min-width: 42px;
    max-width: 42px;
    padding: 0;
    font-size: 0;
    border-radius: 12px;
  }
  .wf-header-signin .account-mini-avatar { font-size: 13px; }
  .foods-banner { max-width: 42vw; }
}

@media (min-width: 1280px) {
  .site-header { padding-inline: max(5.5%, calc((100% - 1200px) / 2)); }
}
