/* Yumilo-branded, supplier-led marketplace layout inspired by dense commerce storefronts. */
.site-header{grid-template-columns:220px minmax(280px,680px) auto;gap:20px;background:#fff;border-bottom:2px solid #e9eee8;box-shadow:0 3px 12px rgba(24,54,37,.06)}
.search-wrap{height:48px;border:2px solid #d88c32;border-radius:8px;background:#fff;box-shadow:0 2px 8px rgba(31,69,49,.07)}
.search-wrap:focus-within{border-color:#ad5b18;box-shadow:0 0 0 3px rgba(216,140,50,.15)}
.marketplace-hero{max-width:none;min-height:300px;margin:0;border-radius:0;padding:38px clamp(24px,7vw,104px);background:linear-gradient(105deg,rgba(16,61,46,.97),rgba(25,89,63,.91) 60%,rgba(25,89,63,.38)),radial-gradient(ellipse at 88% 92%,rgba(234,165,71,.48),transparent 28%),linear-gradient(135deg,#174c38,#748342);box-shadow:none}
.marketplace-hero .hero-copy{max-width:820px}
.marketplace-hero h1{max-width:760px;font-family:Inter,Arial,sans-serif;font-size:clamp(2.1rem,4.6vw,4.15rem);font-weight:850;line-height:1.03;letter-spacing:-.045em}
.marketplace-hero p{max-width:650px;margin-bottom:18px}
.marketplace-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.marketplace-hero .hero-cta{background:#e99a34;color:#202b21;font-weight:900;border-radius:7px}
.marketplace-status-chip{display:inline-flex;align-items:center;min-height:40px;padding:8px 12px;border:1px solid rgba(255,255,255,.36);border-radius:7px;background:rgba(8,30,22,.34);color:#fff;font-size:.75rem;font-weight:800}
.marketplace-proof-points{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:18px;color:#e4eee5;font-size:.72rem;font-weight:700}
.marketplace-proof-points span:before{content:'✓';margin-right:6px;color:#f5bd70}
.catalog-section{max-width:1500px;padding:34px clamp(16px,3.6vw,52px) 62px}
.section-heading{margin-bottom:18px}
.section-heading h2{font-family:Inter,Arial,sans-serif;font-size:clamp(1.55rem,2.6vw,2.25rem);font-weight:800;letter-spacing:-.035em}
.catalog-layout{display:grid;grid-template-columns:238px minmax(0,1fr);gap:20px;align-items:start}
.category-sidebar{position:sticky;top:96px;padding:14px;border:1px solid #e3e8e1;border-radius:10px;background:#fff;box-shadow:0 2px 10px rgba(20,52,36,.04)}
.category-sidebar-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:2px 2px 11px;border-bottom:1px solid #edf0eb;color:#263b2d;font-size:.83rem}
.category-sidebar-heading span{color:#748176;font-size:.63rem;font-weight:700;white-space:nowrap}
.category-sidebar .filters{display:grid;gap:3px;max-height:70vh;overflow:auto;padding:8px 0 0}
.category-sidebar .filter{width:100%;text-align:left;border:0;border-radius:6px;background:transparent;color:#46574a;padding:9px 10px;font-size:.73rem;font-weight:650;white-space:normal;transition:background .15s,color .15s}
.category-sidebar .filter:hover,.category-sidebar .filter.active{transform:none;background:#edf5ee;color:#17563d;box-shadow:inset 3px 0 #d98c32}
.marketplace-results{min-width:0}
.marketplace-results-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:12px 14px;border:1px solid #e5eae3;border-radius:8px;background:#fff;color:#324738}
.marketplace-results-heading strong{font-size:.83rem}
.marketplace-results-heading span{color:#748176;font-size:.68rem}
.product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.product-card{border-radius:10px;box-shadow:0 2px 8px rgba(29,61,45,.045)}
.product-card:hover,.product-card:focus-within{transform:translateY(-3px);box-shadow:0 10px 22px rgba(29,61,45,.11)}
.product-photo{height:184px}
.product-body{padding:13px}
.product-body h3{font-family:Inter,Arial,sans-serif;font-size:.92rem;line-height:1.3;letter-spacing:-.01em}
.product-description{font-size:.72rem;line-height:1.45}
.product-price{color:#9c5516;font-size:1.04rem}
.seller-tag{max-width:52%}
.seller-profile-link{border-color:#d6e2d5;background:#f8fbf7}
.filter:focus-visible,.seller-profile-link:focus-visible,.add-button:focus-visible,.hero-cta:focus-visible{outline:3px solid #e99a34;outline-offset:2px}
@media(max-width:1000px){.catalog-layout{grid-template-columns:205px minmax(0,1fr);gap:14px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.category-sidebar{top:88px}}
@media(max-width:900px){.site-header{height:auto;min-height:78px;grid-template-columns:minmax(130px,1fr) auto;gap:10px;padding:8px 16px}.search-wrap{grid-column:1/-1;grid-row:2;height:43px;width:100%}.header-actions{gap:9px}}
@media(max-width:680px){.site-header{grid-template-columns:38px minmax(0,1fr) auto;gap:8px;padding:8px 12px}.search-wrap{grid-column:1/-1;grid-row:2;height:43px;width:100%}.header-actions{gap:6px}.marketplace-hero{min-height:250px;padding:28px 18px;border-radius:0}.marketplace-hero h1{font-size:clamp(1.85rem,8vw,2.7rem)}.marketplace-proof-points{gap:7px 12px;font-size:.65rem}.catalog-section{padding:26px 12px 44px}.catalog-layout{grid-template-columns:1fr;gap:12px}.category-sidebar{position:static;padding:10px}.category-sidebar-heading{padding-bottom:7px}.category-sidebar .filters{display:flex;max-height:none;overflow-x:auto;gap:7px;padding:8px 0 4px}.category-sidebar .filter{width:auto;flex:0 0 auto;border:1px solid #e2e9e1;border-radius:999px;padding:8px 11px;white-space:nowrap}.category-sidebar .filter:hover,.category-sidebar .filter.active{box-shadow:none;border-color:#17563d}.marketplace-results-heading{align-items:flex-start;flex-direction:column;gap:3px;padding:10px 11px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.product-photo{height:145px}.product-body{padding:10px}.product-top{align-items:flex-start;flex-direction:column;gap:5px}.seller-tag{max-width:100%}.product-body h3{font-size:.82rem}.product-description{font-size:.66rem}.product-bottom{align-items:flex-start;flex-direction:column;gap:8px}.add-button{width:100%}.seller-actions{gap:5px}.seller-profile-link{padding:6px 7px;font-size:.62rem}}
@media(max-width:900px){html,body{width:100%;min-width:0;max-width:100%;overflow-x:hidden}body:not(.admin-dashboard-active)>.topline,body:not(.admin-dashboard-active)>.site-header,body:not(.admin-dashboard-active) #storefront-view>.food-showcase,body:not(.admin-dashboard-active) #storefront-view>main#top>.marketplace-hero,body:not(.admin-dashboard-active) #storefront-view>main#top>.catalog-section>.section-heading{width:100vw;max-width:100vw;box-sizing:border-box}}


/* Keep the storefront's top-level mobile bands aligned to the phone viewport. */
@media (max-width: 900px) {
  html,
  body {
    max-width: 100%;
    overflow-x: clip;
  }

  body:not(.admin-dashboard-active) .topline,
  body:not(.admin-dashboard-active) .site-header,
  body:not(.admin-dashboard-active) #storefront-view > .food-showcase,
  body:not(.admin-dashboard-active) #storefront-view > main#top > .marketplace-hero,
  body:not(.admin-dashboard-active) #storefront-view > main#top > .catalog-section > .section-heading {
    box-sizing: border-box;
    width: 100vw;
    max-width: 100vw;
  }
}

/* Keep product cards compact and the document vertically scrollable on touch devices. */
@media (max-width: 900px) {
  body:not(.admin-dashboard-active):not(.account-locked) {
    height: auto !important;
    min-height: 100%;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
  }
  body:not(.admin-dashboard-active):not(.account-locked) #storefront-view,
  body:not(.admin-dashboard-active):not(.account-locked) #storefront-view > main#top,
  body:not(.admin-dashboard-active):not(.account-locked) #storefront-view .catalog-section,
  body:not(.admin-dashboard-active):not(.account-locked) #storefront-view .catalog-layout,
  body:not(.admin-dashboard-active):not(.account-locked) #storefront-view .marketplace-results,
  body:not(.admin-dashboard-active):not(.account-locked) #storefront-view .product-grid {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }
  body:not(.admin-dashboard-active) #storefront-view .product-photo {
    height: 110px !important;
    min-height: 110px !important;
    aspect-ratio: auto !important;
  }
  body:not(.admin-dashboard-active) #storefront-view .product-photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

/* Alibaba-inspired compact marketplace on phones, kept in Yumilo's own style. */
.mobile-bottom-nav { display: none; }
@media (max-width: 680px) {
  body:not(.admin-dashboard-active):not(.account-locked) {
    padding-bottom: calc(68px + env(safe-area-inset-bottom));
  }
  body:not(.admin-dashboard-active) .topline { display: none !important; }
  body:not(.admin-dashboard-active) .site-header {
    position: sticky;
    top: 0;
    z-index: 100;
    min-height: 0;
    grid-template-columns: 38px minmax(0, 1fr) auto;
    grid-template-rows: 38px 42px;
    gap: 7px 8px;
    padding: 7px 10px;
  }
  body:not(.admin-dashboard-active) .site-header > .mobile-menu-toggle { grid-column: 1; grid-row: 1; }
  body:not(.admin-dashboard-active) .site-header > .brand { grid-column: 2; grid-row: 1; }
  body:not(.admin-dashboard-active) .site-header > .header-actions { display: flex !important; grid-column: 3; grid-row: 1; gap: 5px; }
  body:not(.admin-dashboard-active) .site-header > .header-actions #courier-signup-button,
  body:not(.admin-dashboard-active) .site-header > .header-actions #account-button,
  body:not(.admin-dashboard-active) .site-header > .header-actions #open-cart { display: none !important; }
  body:not(.admin-dashboard-active) .site-header > .search-wrap { grid-column: 1 / -1; grid-row: 2; height: 42px; }
  body:not(.admin-dashboard-active) #storefront-view > .food-showcase { display: none !important; }
  body:not(.admin-dashboard-active) #storefront-view > main#top > .marketplace-hero {
    min-height: 0;
    padding: 17px 14px 15px;
    background: linear-gradient(110deg, #173d32, #285f43);
    box-shadow: inset 0 -3px #e6a13a;
  }
  body:not(.admin-dashboard-active) #storefront-view .marketplace-hero .hero-copy { max-width: 100%; }
  body:not(.admin-dashboard-active) #storefront-view .marketplace-hero .eyebrow { font-size: .57rem; }
  body:not(.admin-dashboard-active) #storefront-view .marketplace-hero h1 {
    max-width: 100%;
    margin: 7px 0 5px;
    font-size: clamp(1.25rem, 5.8vw, 1.65rem);
    line-height: 1.08;
    letter-spacing: -.035em;
  }
  body:not(.admin-dashboard-active) #storefront-view .marketplace-hero p,
  body:not(.admin-dashboard-active) #storefront-view .marketplace-proof-points,
  body:not(.admin-dashboard-active) #storefront-view .marketplace-hero .hero-mark,
  body:not(.admin-dashboard-active) #storefront-view .marketplace-hero .hero-cta { display: none !important; }
  body:not(.admin-dashboard-active) #storefront-view .marketplace-hero-actions { margin-top: 4px; }
  body:not(.admin-dashboard-active) #storefront-view .marketplace-status-chip { padding: 4px 8px; font-size: .62rem; }
  body:not(.admin-dashboard-active) #storefront-view .catalog-section { padding: 13px 10px 28px; }
  body:not(.admin-dashboard-active) #storefront-view .section-heading { margin-bottom: 9px; gap: 5px; }
  body:not(.admin-dashboard-active) #storefront-view .section-heading h2 { font-size: 1.08rem; }
  body:not(.admin-dashboard-active) #storefront-view .live-label { display: none; }
  body:not(.admin-dashboard-active) #storefront-view .category-sidebar { padding: 7px 0; border: 0; background: transparent; box-shadow: none; }
  body:not(.admin-dashboard-active) #storefront-view .category-sidebar-heading { display: none; }
  body:not(.admin-dashboard-active) #storefront-view .category-sidebar .filters { gap: 7px; padding: 2px 0 8px; }
  body:not(.admin-dashboard-active) #storefront-view .category-sidebar .filter { padding: 8px 11px; font-size: .72rem; }
  body:not(.admin-dashboard-active) #storefront-view .marketplace-results-heading { padding: 7px 2px; background: transparent; border: 0; }
  body:not(.admin-dashboard-active) #storefront-view .marketplace-results-heading strong { font-size: .75rem; }
  body:not(.admin-dashboard-active) #storefront-view .marketplace-results-heading span { display: none; }
  body:not(.admin-dashboard-active) #storefront-view .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
  body:not(.admin-dashboard-active) #storefront-view .product-card { border-radius: 11px 5px; }
  body:not(.admin-dashboard-active) #storefront-view .product-photo {
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 1.25 !important;
  }
  body:not(.admin-dashboard-active) #storefront-view .product-body { padding: 8px; }
  body:not(.admin-dashboard-active) #storefront-view .product-body h3 { font-size: .78rem; line-height: 1.25; }
  body:not(.admin-dashboard-active) #storefront-view .product-description {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    font-size: .66rem;
  }
  body:not(.admin-dashboard-active) #storefront-view .product-price { font-size: .95rem; }
  body:not(.admin-dashboard-active) #storefront-view .add-button { min-height: 36px; padding: 8px 6px; font-size: .7rem; }
  body:not(.admin-dashboard-active) #storefront-view .site-footer { margin-bottom: 0; }
  body:not(.admin-dashboard-active):not(.account-locked) .mobile-bottom-nav {
    position: fixed;
    z-index: 999;
    right: 0;
    bottom: 0;
    left: 0;
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    min-height: calc(60px + env(safe-area-inset-bottom));
    padding: 5px 4px env(safe-area-inset-bottom);
    border-top: 1px solid #e5e9e4;
    background: rgba(255, 255, 255, .98);
    box-shadow: 0 -4px 16px rgba(31, 55, 41, .1);
  }
  body:not(.admin-dashboard-active):not(.account-locked) .mobile-bottom-nav-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    min-width: 0;
    padding: 3px 1px;
    border: 0;
    background: transparent;
    color: #69756d;
    font: 600 .59rem/1.1 system-ui, sans-serif;
    text-decoration: none;
    white-space: nowrap;
  }
  body:not(.admin-dashboard-active):not(.account-locked) .mobile-bottom-nav-item svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
  }
  body:not(.admin-dashboard-active):not(.account-locked) .mobile-bottom-nav-item.is-current { color: #d9651c; }
}
@media (min-width: 681px) {
  body:not(.admin-dashboard-active):not(.account-locked) { padding-bottom: calc(76px + env(safe-area-inset-bottom)) !important; }
  body:not(.admin-dashboard-active) .site-header > .header-actions #my-orders-button,
  body:not(.admin-dashboard-active) .site-header > .header-actions #admin-messages-button,
  body:not(.admin-dashboard-active) .site-header > .header-actions #courier-signup-button,
  body:not(.admin-dashboard-active) .site-header > .header-actions #account-button,
  body:not(.admin-dashboard-active) .site-header > .header-actions #open-cart { display: none !important; }
  body:not(.admin-dashboard-active):not(.account-locked) .mobile-bottom-nav {
    position: fixed;
    z-index: 999;
    right: 0;
    bottom: 0;
    left: 0;
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    min-height: calc(64px + env(safe-area-inset-bottom));
    padding: 5px max(8px, calc((100vw - 850px) / 2)) env(safe-area-inset-bottom);
    border-top: 1px solid #e5e9e4;
    background: rgba(255, 255, 255, .98);
    box-shadow: 0 -4px 16px rgba(31, 55, 41, .1);
  }
  body:not(.admin-dashboard-active):not(.account-locked) .mobile-bottom-nav-item {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    min-width: 0;
    padding: 4px 2px;
    border: 0;
    background: transparent;
    color: #69756d;
    font: 650 .68rem/1.1 system-ui, sans-serif;
    text-decoration: none;
    white-space: nowrap;
  }
  body:not(.admin-dashboard-active):not(.account-locked) .mobile-bottom-nav-item svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
  body:not(.admin-dashboard-active):not(.account-locked) .mobile-bottom-nav-item.is-current { color: #d9651c; }
  body:not(.admin-dashboard-active) .mobile-menu-dialog[open] {
    display: block !important;
    position: fixed;
    inset: auto 22px 78px auto;
    width: min(340px, calc(100vw - 32px));
    max-width: none;
    max-height: calc(100dvh - 100px);
    margin: 0;
    overflow: auto;
    border: 1px solid #e1e8df;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 14px 38px rgba(15, 43, 33, .2);
  }
  body:not(.admin-dashboard-active) .mobile-menu-dialog::backdrop { background: rgba(11, 31, 23, .35); backdrop-filter: blur(2px); }
  body:not(.admin-dashboard-active) .mobile-menu-panel { display: grid; align-content: start; gap: 8px; padding: 20px; }
}
@media (max-width: 680px) {
  #catalog { scroll-margin-top: 118px; }
  body:not(.admin-dashboard-active) .site-header > .mobile-menu-toggle,
  body:not(.admin-dashboard-active) .site-header #account-button { display: none !important; }
  body:not(.admin-dashboard-active) .site-header {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: 38px 42px;
  }
  body:not(.admin-dashboard-active) .site-header > .brand { grid-column: 1; grid-row: 1; }
  body:not(.admin-dashboard-active) .site-header > .search-wrap { grid-column: 1; grid-row: 2; }
  body:not(.admin-dashboard-active) #storefront-view > main#top > #catalog .catalog-layout .marketplace-results #product-grid.product-grid {
    display: grid !important;
    width: 100% !important;
    grid-template-columns: repeat(2, 1fr) !important;
    grid-auto-flow: row;
    gap: 10px !important;
  }
  body:not(.admin-dashboard-active) #storefront-view #product-grid > .product-card {
    grid-column: auto !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
  }
  body:not(.admin-dashboard-active) #storefront-view .product-photo {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 1 / 1 !important;
  }
  .mobile-category-dialog {
    position: fixed;
    inset: auto 0 0;
    width: 100%;
    max-width: 100vw;
    max-height: 82dvh;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 18px 18px 0 0;
    background: transparent;
    color: #203b30;
  }
  .mobile-category-dialog::backdrop { background: rgba(18, 31, 24, .48); }
  .mobile-category-sheet {
    display: flex;
    flex-direction: column;
    gap: 12px;
    max-height: 82dvh;
    padding: 16px 14px calc(18px + env(safe-area-inset-bottom));
    border-radius: 18px 18px 0 0;
    background: #fffdf8;
  }
  .mobile-category-sheet-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
  .mobile-category-sheet-header h2 { margin: 4px 0 0; font-size: 1.1rem; }
  .mobile-category-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; overflow-y: auto; overscroll-behavior: contain; }
  .mobile-category-option { min-height: 46px; padding: 9px 10px; border: 1px solid #e1e7dc; border-radius: 8px; background: #fff; color: #344b3d; text-align: left; font: 650 .78rem/1.25 system-ui, sans-serif; }
  .mobile-category-option.is-active { border-color: #214d3d; background: #214d3d; color: #fff; }
}
@media (max-width: 900px) {
  #catalog { width: 100% !important; }
  #catalog .catalog-layout {
    display: grid !important;
    width: 100% !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
  }
  #catalog .marketplace-results {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  #catalog #product-grid.product-grid {
    display: grid !important;
    width: 100% !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
  }
  #catalog #product-grid > .product-card {
    display: block !important;
    grid-column: auto !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
  }
  #catalog #product-grid .product-photo {
    display: block !important;
    width: 100% !important;
    height: 150px !important;
    min-height: 150px !important;
    max-height: 150px !important;
    aspect-ratio: auto !important;
    overflow: hidden !important;
  }
  #catalog #product-grid .product-photo img {
    display: block !important;
    width: 100% !important;
    height: 150px !important;
    object-fit: cover !important;
  }
}
@media (max-width: 680px) {
  #market-assistant-launch {
    display: inline-flex !important;
    position: fixed !important;
    z-index: 1001 !important;
    right: 12px !important;
    bottom: calc(76px + env(safe-area-inset-bottom)) !important;
    max-width: calc(100vw - 24px) !important;
  }
}

.mobile-cart-footer { display: none; }
.customer-order-milestones { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; margin: 14px 0 18px; padding: 0; list-style: none; }
.customer-order-milestones li { display: flex; min-width: 0; flex-direction: column; align-items: center; gap: 6px; color: #748078; text-align: center; font-size: .74rem; }
.customer-order-milestones .milestone-dot { width: 16px; height: 16px; flex: 0 0 auto; border: 2px solid #cbd5cd; border-radius: 50%; background: #fff; }
.customer-order-milestones li.complete .milestone-dot { border-color: #2f7158; background: #2f7158; box-shadow: inset 0 0 0 3px #fff; }
.customer-order-milestones li.current { color: #204b3b; font-weight: 800; }
.customer-order-milestones li.current .milestone-dot { border-color: #d96a1b; background: #d96a1b; box-shadow: 0 0 0 3px #d96a1b2b; }
.customer-order-milestones .milestone-label { line-height: 1.15; }
@media (max-width: 680px) {
  body.has-mobile-cart { padding-bottom: calc(128px + env(safe-area-inset-bottom)) !important; }
  .mobile-cart-footer:not([hidden]) { display: flex; position: fixed; z-index: 998; right: 10px; bottom: calc(66px + env(safe-area-inset-bottom)); left: 10px; align-items: center; justify-content: space-between; gap: 12px; min-height: 48px; padding: 8px 12px; border: 1px solid #dce5dc; border-radius: 13px; background: #fff; color: #183c2f; box-shadow: 0 6px 22px #0f2a1f2a; text-align: left; }
  .mobile-cart-footer[hidden] { display: none !important; }
  .mobile-cart-footer-copy { display: flex; min-width: 0; flex-direction: column; gap: 2px; font-size: .74rem; }
  .mobile-cart-footer-copy strong { color: #173f32; font-size: .9rem; }
  .mobile-cart-footer-cta { flex: 0 0 auto; border-radius: 99px; padding: 7px 12px; background: #1b4d3e; color: #fff; font-size: .76rem; font-weight: 800; }
  body.has-mobile-cart #market-assistant-launch { bottom: calc(124px + env(safe-area-inset-bottom)) !important; }
  .customer-order-milestones { gap: 3px; margin: 12px -2px 16px; }
  .customer-order-milestones li { gap: 5px; font-size: .62rem; }
  .customer-order-milestones .milestone-dot { width: 14px; height: 14px; }
}

.search-photo-button{min-height:42px;padding:0 13px;border:1px solid #1b4d3e;border-radius:8px;background:#f2f7f1;color:#174c38;font:750 .78rem/1 system-ui,sans-serif;white-space:nowrap;cursor:pointer;touch-action:manipulation}.search-photo-button:hover,.search-photo-button:focus-visible{background:#e7f1e6;outline:2px solid #d88c32;outline-offset:2px}
@media(max-width:900px){.site-header>.search-photo-button{grid-column:1/-1;justify-self:end;min-height:38px}}
@media(max-width:680px){body:not(.admin-dashboard-active) .site-header{grid-template-rows:38px 42px 38px}body:not(.admin-dashboard-active) .site-header>.search-photo-button{grid-column:1/-1;grid-row:3;justify-self:stretch;min-height:36px;font-size:.72rem}}.account-profile-form{gap:12px}.account-profile-name{margin:0;color:#1b4d3e;font-size:1.2rem;font-weight:900}.account-profile-detail{margin:0;padding:8px 10px;border:1px solid #e1e8df;border-radius:7px;background:#f8faf7;color:#44584a;font-size:.82rem}.account-profile-form .auth-note{line-height:1.45}.account-support-info{display:grid;gap:8px;padding:12px;border:1px solid #dce5dc;border-radius:10px;background:#f8faf7}.account-support-info h3{margin:0;color:#1b4d3e;font-size:.9rem}.account-support-info p{margin:0;color:#56665c;font-size:.75rem;line-height:1.4}.account-support-info a{color:#1b4d3e;font-size:.78rem;font-weight:800;text-decoration:underline}.account-support-info button{width:100%}.mobile-menu-support{display:grid;gap:5px;margin-top:12px;padding-top:12px;border-top:1px solid #e2e9e1;color:#56665c;font-size:.75rem}.mobile-menu-support strong{color:#1b4d3e}.mobile-menu-support p{margin:0}.mobile-menu-support a{color:#1b4d3e;font-weight:800;text-decoration:underline}.message-inbox-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}.message-inbox-tab{border:1px solid #dce5dc;border-radius:9px;padding:10px 8px;background:#f7faf6;color:#40594a;font-size:.78rem;font-weight:800}.message-inbox-tab.active{border-color:#1b4d3e;background:#e9f2eb;color:#1b4d3e}.message-inbox-panel[hidden]{display:none!important}.yumilo-welcome-message{margin-bottom:12px;border-left:3px solid #5e8b69}.yumilo-welcome-message h3{margin:0 0 5px;color:#1b4d3e;font-size:.95rem}.yumilo-welcome-message p{margin:0;color:#56665c;font-size:.78rem;line-height:1.45}.mobile-bottom-nav-item{position:relative}.mobile-message-unread-badge:not([hidden]){position:absolute;top:1px;right:calc(50% - 21px);display:grid;place-items:center;min-width:15px;height:15px;padding:0 4px;border-radius:99px;background:#bb4038;color:#fff;font:800 .58rem/1 system-ui,sans-serif;box-shadow:0 1px 4px #0002}@media(min-width:901px){.site-header{z-index:100;grid-template-columns:210px minmax(220px,1fr) auto auto;gap:clamp(10px,1.6vw,22px)}.site-header>.brand{grid-column:1;grid-row:1}.site-header>.search-wrap{grid-column:2;grid-row:1}.site-header>.search-photo-button{grid-column:3;grid-row:1}.site-header>.header-actions{grid-column:4;grid-row:1}}@media(min-width:621px) and (max-width:900px){.site-header{z-index:100;grid-template-columns:minmax(140px,1fr) auto auto;gap:10px}.site-header>.brand{grid-column:1;grid-row:1}.site-header>.search-wrap{grid-column:1/-1;grid-row:2}.site-header>.search-photo-button{grid-column:2;grid-row:1;justify-self:end}.site-header>.header-actions{grid-column:3;grid-row:1}}@media(max-width:620px){.mobile-menu-dialog[open]{z-index:2147483000!important;pointer-events:auto!important;isolation:isolate;touch-action:manipulation;overflow-y:auto}.mobile-menu-dialog[open] .mobile-menu-panel,.mobile-menu-dialog[open] .mobile-menu-link,.mobile-menu-dialog[open] #mobile-menu-close{pointer-events:auto!important;touch-action:manipulation}.mobile-menu-dialog[open] .mobile-menu-link,.mobile-menu-dialog[open] #mobile-menu-close{position:relative;z-index:1;cursor:pointer}}


/* Local-only photo-search feedback */
.photo-search-status{margin:10px 0 8px;padding:10px 12px;border:1px solid #d7e5d9;border-radius:10px;background:#f4f8f2;color:#244b3b;font:600 .82rem/1.45 system-ui,sans-serif}
.clear-photo-search{min-height:38px;margin:0 0 12px;padding:0 13px;border:1px solid #1b4d3e;border-radius:8px;background:#fff;color:#174c38;font:750 .78rem/1 system-ui,sans-serif;cursor:pointer;touch-action:manipulation}
.clear-photo-search:hover,.clear-photo-search:focus-visible{background:#e7f1e6;outline:2px solid #d88c32;outline-offset:2px}
.photo-search-status[hidden],.clear-photo-search[hidden]{display:none!important}

/* Keep the food spotlight visible and moving on phones, below the account greeting. */
@media(max-width:680px){
  body:not(.admin-dashboard-active) #storefront-view>.food-showcase{display:grid!important;grid-template-columns:minmax(0,1fr);align-items:start;gap:8px;width:100vw;max-width:100vw;margin:0;padding:10px 10px 12px;overflow:hidden;background:#fff9ee;border-bottom:1px solid #e8dcc8}
  body:not(.admin-dashboard-active) #storefront-view .food-showcase-copy{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:8px;flex:initial}
  body:not(.admin-dashboard-active) #storefront-view .food-showcase-copy .eyebrow{grid-row:1/3;font-size:.57rem}
  body:not(.admin-dashboard-active) #storefront-view .food-showcase-copy strong{font-size:.94rem}
  body:not(.admin-dashboard-active) #storefront-view .food-showcase-copy small{font-size:.6rem}
  body:not(.admin-dashboard-active) #storefront-view .food-marquee{width:100%;min-width:0;overflow:hidden;mask-image:none;-webkit-mask-image:none}
  body:not(.admin-dashboard-active) #storefront-view .food-marquee-track{animation-duration:32s}
  body:not(.admin-dashboard-active) #storefront-view .food-marquee-group{gap:9px;padding-right:9px}
  body:not(.admin-dashboard-active) #storefront-view .food-tile{flex-basis:154px;width:154px;height:88px}
  body:not(.admin-dashboard-active) .account-welcome-banner{max-width:none;margin:0;padding:8px 12px;border:0;border-left:3px solid #d88c32;border-radius:0;background:#edf7f1;color:#1b4d3e;font-size:.84rem;line-height:1.35}
}
@media(prefers-reduced-motion:reduce) and (max-width:680px){body:not(.admin-dashboard-active) #storefront-view .food-marquee{overflow-x:auto;scrollbar-width:none}body:not(.admin-dashboard-active) #storefront-view .food-marquee::-webkit-scrollbar{display:none}body:not(.admin-dashboard-active) #storefront-view .food-marquee-track{animation:none!important}}
.settings-form{gap:12px}.settings-section[hidden]{display:none!important}.settings-section{display:grid;gap:9px;margin:4px 0;padding:12px;border:1px solid #dce5dc;border-radius:10px;background:#f8faf7}.settings-section h3{margin:0;color:#1b4d3e;font-size:.92rem}.settings-section p{margin:0;color:#56665c;font-size:.76rem;line-height:1.45}.settings-form>form{display:grid;gap:12px}.settings-form label{display:grid;gap:5px;color:#344b3c;font-size:.78rem;font-weight:700}.settings-form input:not([type=checkbox]),.settings-form select,.settings-form textarea{width:100%;min-height:40px;padding:9px 10px;border:1px solid #cad7cb;border-radius:8px;background:#fff;color:#26382d;font:inherit;font-weight:500}.settings-form textarea{resize:vertical}.settings-toggle{display:flex!important;grid-template-columns:auto 1fr;align-items:center;gap:10px!important}.settings-toggle input{width:18px;height:18px;margin:0;accent-color:#1b4d3e}.settings-form .form-message[data-kind=success]{color:#17633a}.settings-form .form-message[data-kind=error]{color:#a52b2b}.settings-dialog .settings-form{max-height:min(88vh,760px);overflow-y:auto}@media(max-width:620px){.settings-dialog[open]{width:min(100vw - 20px,560px);max-height:92vh;margin:auto}.settings-dialog .settings-form{max-height:88vh;padding:16px}}
