
/* Freshly Mobile App V2 - FreshToHome-inspired, Freshly branded */
:root{--fg:#102033;--muted:#64748b;--green:#0f9d58;--dark:#064e3b;--bg:#f5f7fb;--line:#e4ebf3;--red:#ef4444}
@media(min-width:761px){.freshly-app-search,.freshly-mobile-home,.freshly-bottom-nav,.freshly-install-modal,.install-app-btn{display:none!important}}
@media(max-width:760px){
body{background:var(--bg)!important;color:var(--fg)!important;padding-bottom:78px!important;-webkit-tap-highlight-color:transparent}
.top-strip{display:none!important}.footer{display:none!important}
.nav{position:sticky!important;top:0!important;z-index:100!important;background:#fff!important;border-bottom:1px solid var(--line)!important;box-shadow:0 4px 18px rgba(15,23,42,.06)!important}
.nav-top-row{padding:7px 12px 0!important;min-height:36px!important;display:block!important}
.location-dropdown{width:100%!important}.location-toggle{width:100%!important;height:34px!important;min-height:34px!important;padding:6px 10px!important;border-radius:13px!important;border:1px solid #bbf7d0!important;background:#ecfdf5!important;color:#065f46!important;font-size:12px!important;justify-content:flex-start!important;box-shadow:none!important}
.location-dropdown-panel{position:fixed!important;top:42px!important;left:12px!important;right:12px!important;width:auto!important;max-height:75vh!important;overflow:auto!important;border-radius:18px!important;z-index:180!important}
.nav-inner{min-height:58px!important;padding:6px 12px 8px!important;display:grid!important;grid-template-columns:auto 1fr auto!important;gap:10px!important;align-items:center!important}
.brand,.freshly-logo-brand{grid-column:1!important;min-width:92px!important;max-width:110px!important}.brand img,.freshly-logo-brand img{height:46px!important;max-height:46px!important;max-width:110px!important;object-fit:contain!important}
.mobile-toggle{grid-column:3!important;width:42px!important;height:42px!important;border-radius:15px!important;border:1px solid var(--line)!important;background:#fff!important;font-size:0!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important;box-shadow:0 8px 18px rgba(15,23,42,.06)!important}
.mobile-toggle:before{content:"☰";font-size:22px;color:#0f172a}.menu{position:fixed!important;left:12px!important;right:12px!important;top:104px!important;width:auto!important;max-height:calc(100vh - 118px)!important;overflow:auto!important;background:#fff!important;border:1px solid var(--line)!important;border-radius:22px!important;box-shadow:0 22px 50px rgba(15,23,42,.18)!important;padding:12px!important;z-index:170!important}.menu a,.dropdown-btn{min-height:44px!important;border-radius:13px!important;padding:10px 12px!important}.login-icon-link{display:none!important}
.freshly-app-search{display:block;position:sticky;top:98px;z-index:70;background:#fff;padding:10px 12px 12px;border-bottom:1px solid var(--line)}
.freshly-app-search-inner{display:flex;align-items:center;gap:8px;position:relative}.freshly-app-search .search-icon{position:absolute;left:14px;color:#64748b;z-index:1}.freshly-app-search input{flex:1;height:44px;border:1px solid var(--line);border-radius:15px;background:#f8fafc;outline:none;padding:0 14px 0 40px;font-size:16px}.freshly-app-search .cart-mini{width:44px;height:44px;border:0;border-radius:15px;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;gap:3px;font-weight:900;box-shadow:0 12px 24px rgba(15,157,88,.24)}
.promo-slider{margin:0!important;border-bottom:1px solid var(--line)!important;min-height:0!important}.promo-track{min-height:0!important}.promo-slide.image-only,.promo-slide.backend-banner,.promo-slide.backend-banner.has-image{height:210px!important;min-height:210px!important;border-radius:0!important}.promo-slide.backend-banner{padding:22px 16px 42px!important}.promo-slide.backend-banner h2{font-size:28px!important;line-height:1.02!important;margin-bottom:8px!important}.promo-slide.backend-banner p{font-size:14px!important}.promo-slide.image-only .banner-floating-btn{right:16px!important;bottom:16px!important;min-height:38px!important;padding:9px 14px!important;border-radius:999px!important;font-size:13px!important;z-index:6!important}.promo-dots{bottom:9px!important}
.freshly-mobile-home{display:block;padding:14px 12px 0}.freshly-mobile-section-title{display:flex;align-items:center;justify-content:space-between;margin:0 0 10px}.freshly-mobile-section-title h2{margin:0;font-size:18px;color:#052e16}.freshly-mobile-section-title a{color:var(--green);font-size:13px;font-weight:900;text-decoration:none}
.freshly-mobile-cats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.freshly-mobile-cat{min-height:82px;border:1px solid var(--line);border-radius:17px;background:#fff;box-shadow:0 8px 20px rgba(15,23,42,.045);text-decoration:none;text-align:center;color:#334155;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:8px 5px}.freshly-mobile-cat .icon{font-size:25px}.freshly-mobile-cat span:last-child{font-size:11px;font-weight:900;line-height:1.12}
.freshly-offer-scroll,.freshly-benefit-strip{display:flex;gap:9px;overflow:auto;scrollbar-width:none;padding:2px 0 14px}.freshly-offer-scroll::-webkit-scrollbar,.freshly-benefit-strip::-webkit-scrollbar{display:none}.freshly-offer-card{flex:0 0 78%;border-radius:18px;min-height:84px;padding:14px;background:linear-gradient(135deg,#dcfce7,#f0fdf4);border:1px solid #bbf7d0;color:#064e3b;box-shadow:0 8px 20px rgba(15,23,42,.045);text-decoration:none}.freshly-offer-card strong{display:block;font-size:15px;margin-bottom:4px}.freshly-offer-card span{font-size:12px;color:#166534}.benefit-chip{white-space:nowrap;background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 12px;font-size:12px;font-weight:900;color:#065f46}
#shop.section{padding:12px 12px 20px!important}#shop .container,.section .container{width:100%!important}#shop .split-line{display:flex!important;flex-direction:row!important;align-items:center!important;gap:10px!important;margin-bottom:10px!important}#shop h2,#shop .shop-heading h2{font-size:21px!important;margin:0!important;color:#052e16!important}#shop .section-lead{display:none!important}#shop [data-open-cart]{min-height:38px!important;padding:8px 13px!important;border-radius:999px!important;font-size:13px!important;margin-left:auto!important}
.toolbar{display:block!important;margin:0 0 12px!important}.category-tabs{display:flex!important;flex-wrap:nowrap!important;overflow:auto!important;gap:8px!important;padding-bottom:8px!important;scrollbar-width:none}.category-tabs::-webkit-scrollbar{display:none}.tab{flex:0 0 auto!important;padding:8px 12px!important;border-radius:999px!important;font-size:12px!important;background:#fff!important}.tab.active{background:var(--green)!important;color:#fff!important;border-color:var(--green)!important}#catalogSearch{display:none!important}
.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}.product-card{background:#fff!important;border:1px solid var(--line)!important;border-radius:18px!important;box-shadow:0 8px 22px rgba(15,23,42,.055)!important;overflow:hidden!important}.product-img{height:126px!important;background:#f1f5f9!important}.product-body{padding:10px!important;gap:6px!important}.product-body h3{margin:0!important;font-size:13px!important;line-height:1.25!important;min-height:34px!important}.product-min-meta{font-size:11px!important}.price{font-size:16px!important}.stock{font-size:9px!important;padding:3px 7px!important}.card-actions{gap:6px!important;padding-top:6px!important}.card-actions .btn{min-height:34px!important;padding:7px 8px!important;border-radius:11px!important;font-size:11px!important}
.cart-float{display:none!important}.drawer{width:100vw!important;max-width:100vw!important;right:-100vw!important;top:auto!important;bottom:0!important;height:86vh!important;border-radius:22px 22px 0 0!important}.drawer.open{right:0!important}.modal-card{width:96vw!important;max-height:90vh!important;border-radius:22px!important}.btn,button,input,select,textarea{font-size:16px}input,select,textarea{min-height:44px}
.freshly-bottom-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;height:64px;background:#fff;border-top:1px solid var(--line);z-index:140;box-shadow:0 -10px 26px rgba(15,23,42,.08);padding-bottom:env(safe-area-inset-bottom)}.freshly-bottom-nav a,.freshly-bottom-nav button{border:0;background:transparent;color:#64748b;text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:10px;font-weight:900;position:relative}.freshly-bottom-nav a.active,.freshly-bottom-nav a:hover,.freshly-bottom-nav button:hover{color:var(--green)}.freshly-bottom-nav .nav-icon{font-size:20px;line-height:1}.freshly-bottom-nav .cart-count-badge{position:absolute;top:5px;right:18px;min-width:18px;height:18px;padding:0 5px;border-radius:99px;background:var(--red);color:#fff;font-size:10px;line-height:18px;text-align:center}
.install-app-btn{position:fixed!important;left:12px!important;bottom:74px!important;z-index:160!important;min-height:42px!important;padding:10px 15px!important;border-radius:999px!important;box-shadow:0 16px 34px rgba(15,23,42,.22)!important;font-size:13px!important}.freshly-install-modal{position:fixed;inset:0;z-index:240;background:rgba(15,23,42,.55);display:flex;align-items:center;justify-content:center;padding:18px}.freshly-install-modal.hidden{display:none!important}.freshly-install-card{width:min(430px,96vw);background:#fff;border-radius:24px;padding:24px;box-shadow:0 22px 60px rgba(15,23,42,.25);position:relative}.freshly-install-card img{width:74px;height:74px;object-fit:contain;display:block;margin:0 auto 10px}.freshly-install-card h2{text-align:center;margin:0 0 12px;color:#052e16}.freshly-install-card ol{padding-left:22px;margin:10px 0}.freshly-install-card li{margin:8px 0}.freshly-install-card .muted{color:#64748b;font-size:13px}.freshly-install-close{position:absolute;right:14px;top:12px;width:34px;height:34px;border-radius:50%;border:1px solid #e2e8f0;background:#fff;font-size:24px;line-height:1;cursor:pointer}
@media(display-mode:standalone){.install-app-btn{display:none!important}}
}
.freshly-offline-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f6f8fb;padding:24px}.freshly-offline-card{max-width:520px;background:#fff;border:1px solid #e2e8f0;border-radius:24px;padding:28px;text-align:center;box-shadow:0 18px 45px rgba(15,23,42,.08)}.freshly-offline-card img{height:84px;margin-bottom:16px}.freshly-offline-card h1{color:#052e16;margin:0 0 8px}.freshly-offline-card p{color:#475569}


/* V2.2 install button and easy mobile menu fix */
.install-app-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.freshly-quick-actions{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:9px;
  margin:0 0 14px;
}
.freshly-quick-actions a,
.freshly-quick-actions button{
  min-height:46px;
  border:1px solid var(--line,#e4ebf3);
  background:#fff;
  border-radius:16px;
  padding:8px;
  text-align:center;
  font-size:12px;
  font-weight:900;
  color:#064e3b;
  text-decoration:none;
  box-shadow:0 8px 20px rgba(15,23,42,.045);
}
.freshly-more-menu{
  position:fixed;
  inset:0;
  z-index:230;
  background:rgba(15,23,42,.45);
  display:flex;
  align-items:flex-end;
  justify-content:center;
}
.freshly-more-menu.hidden{
  display:none !important;
}
.freshly-more-card{
  width:100%;
  max-height:82vh;
  overflow:auto;
  background:#fff;
  border-radius:24px 24px 0 0;
  padding:16px 14px calc(20px + env(safe-area-inset-bottom));
  box-shadow:0 -18px 50px rgba(15,23,42,.22);
}
.freshly-more-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:12px;
}
.freshly-more-head strong{
  font-size:18px;
  color:#052e16;
}
.freshly-more-head button{
  width:36px;
  height:36px;
  border-radius:50%;
  border:1px solid #e2e8f0;
  background:#fff;
  font-size:24px;
  line-height:1;
}
.freshly-more-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px;
}
.freshly-more-grid a,
.freshly-more-grid button{
  min-height:52px;
  border:1px solid #e4ebf3;
  background:#f8fafc;
  border-radius:16px;
  padding:10px;
  color:#102033;
  text-decoration:none;
  font-size:14px;
  font-weight:900;
  text-align:left;
}
@media(max-width:760px){
  .install-app-btn{
    bottom:76px !important;
    left:12px !important;
    z-index:165 !important;
  }
}
@media(min-width:761px){
  .install-app-btn{
    position:fixed !important;
    left:18px !important;
    bottom:18px !important;
    z-index:165 !important;
    min-height:44px !important;
    padding:10px 16px !important;
    border-radius:999px !important;
    box-shadow:0 16px 34px rgba(15,23,42,.22) !important;
  }
}
@media(display-mode:standalone){
  .install-app-btn,
  [data-install-app]{
    display:none !important;
  }
}

/* Freshly Mobile App V2.3 - user friendly attractive UI upgrade */
@media(max-width:760px){
body{background:linear-gradient(180deg,#f0fdf4 0,#f6f8fb 250px,#f6f8fb 100%)!important}
.promo-slider{border-radius:0 0 24px 24px!important;overflow:hidden!important;box-shadow:0 14px 30px rgba(15,23,42,.08)!important}
.freshly-welcome-card{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px;margin:0 0 12px;border-radius:22px;background:linear-gradient(135deg,#064e3b,#0f9d58);color:#fff;box-shadow:0 18px 40px rgba(15,157,88,.24);position:relative;overflow:hidden}.freshly-welcome-card:after{content:"";position:absolute;right:-48px;top:-48px;width:150px;height:150px;border-radius:50%;background:rgba(255,255,255,.13)}.freshly-welcome-card span{font-size:12px;opacity:.9;font-weight:800}.freshly-welcome-card h2{margin:3px 0 5px;font-size:20px;line-height:1.1;color:#fff}.freshly-welcome-card p{margin:0;font-size:12px;opacity:.9}.freshly-welcome-card button{position:relative;z-index:1;border:1px solid rgba(255,255,255,.36);background:#fff;color:#065f46;min-height:38px;border-radius:999px;padding:9px 13px;font-size:12px;font-weight:900;white-space:nowrap}
.freshly-mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:0 0 15px}.freshly-mini-stats div{background:#fff;border:1px solid #e4ebf3;border-radius:17px;padding:11px 8px;text-align:center;box-shadow:0 8px 20px rgba(15,23,42,.045)}.freshly-mini-stats strong{display:block;color:#052e16;font-size:14px}.freshly-mini-stats span{display:block;color:#64748b;font-size:10px;margin-top:2px;font-weight:800}
.freshly-mobile-cats-v23{grid-template-columns:repeat(3,1fr)!important}.freshly-mobile-cats-v23 .freshly-mobile-cat{min-height:96px!important;border-radius:20px!important;background:linear-gradient(180deg,#fff,#fbfdff)!important}.freshly-mobile-cats-v23 .freshly-mobile-cat .icon{width:42px;height:42px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:#ecfdf5;margin-bottom:2px}
.freshly-quick-actions-v23{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:9px!important;margin:0 0 16px!important}.freshly-quick-actions-v23 a,.freshly-quick-actions-v23 button{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:6px!important;min-height:76px!important;border-radius:19px!important;font-size:11px!important;color:#052e16!important;background:#fff!important}.freshly-quick-actions-v23 b{font-size:22px;line-height:1}
.freshly-benefit-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:0 0 16px}.freshly-benefit-grid div{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:start;background:#fff;border:1px solid #e4ebf3;border-radius:18px;padding:12px;box-shadow:0 8px 20px rgba(15,23,42,.045)}.freshly-benefit-grid b{font-size:22px;line-height:1;grid-row:span 2}.freshly-benefit-grid strong{color:#0f172a;font-size:12px;line-height:1.15}.freshly-benefit-grid span{color:#64748b;font-size:10px;font-weight:700}
.product-card{transition:transform .18s ease,box-shadow .18s ease}.product-card:active{transform:scale(.985)}.product-img{position:relative}.product-img:after{content:"Fresh";position:absolute;left:8px;top:8px;padding:4px 8px;border-radius:999px;background:rgba(255,255,255,.92);color:#047857;font-size:10px;font-weight:900;box-shadow:0 6px 14px rgba(15,23,42,.12)}.card-actions .btn-primary,.product-card .btn-primary{background:linear-gradient(135deg,#0f9d58,#16a34a)!important;border-color:#0f9d58!important;box-shadow:0 8px 16px rgba(15,157,88,.20)!important}
.freshly-more-head div{display:flex;flex-direction:column}.freshly-more-head span{font-size:12px;color:#64748b;margin-top:2px}.freshly-more-feature{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:13px;margin-bottom:12px;border-radius:18px;background:linear-gradient(135deg,#ecfdf5,#f0fdf4);border:1px solid #bbf7d0}.freshly-more-feature>span{font-size:28px}.freshly-more-feature strong{display:block;color:#052e16;font-size:14px}.freshly-more-feature small{display:block;color:#64748b;font-size:11px;margin-top:2px}.freshly-more-feature button{border:0;background:#0f9d58;color:#fff;border-radius:999px;min-height:36px;padding:8px 12px;font-size:12px;font-weight:900}
.freshly-scroll-top{position:fixed;right:14px;bottom:148px;z-index:150;width:42px;height:42px;border-radius:50%;border:1px solid #e4ebf3;background:#fff;color:#064e3b;font-size:20px;font-weight:900;box-shadow:0 12px 24px rgba(15,23,42,.12)}.freshly-scroll-top.hidden{display:none!important}
}


/* Freshly Mobile App V2.4 - top menu/dropdown overlay fix */
@media(max-width:760px){
  body.freshly-menu-open{
    overflow:hidden !important;
    touch-action:none !important;
  }

  body.freshly-menu-open::after{
    content:"";
    position:fixed;
    inset:0;
    z-index:155;
    background:rgba(15,23,42,.48);
    backdrop-filter:blur(2px);
  }

  .nav{
    z-index:260 !important;
  }

  .menu,
  .menu.open,
  .nav .menu,
  .nav .menu.open{
    position:fixed !important;
    top:106px !important;
    left:12px !important;
    right:12px !important;
    width:auto !important;
    max-width:none !important;
    max-height:calc(100vh - 122px) !important;
    overflow-y:auto !important;
    overscroll-behavior:contain !important;
    background:#ffffff !important;
    background-color:#ffffff !important;
    opacity:1 !important;
    border:1px solid #e2e8f0 !important;
    border-radius:22px !important;
    box-shadow:0 24px 70px rgba(15,23,42,.34) !important;
    z-index:280 !important;
    padding:12px !important;
    isolation:isolate !important;
  }

  .menu::before,
  .menu.open::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    background:#ffffff;
    border-radius:22px;
  }

  .menu a,
  .menu button,
  .menu .dropdown-btn,
  .menu .dropdown-content a{
    position:relative !important;
    z-index:2 !important;
    background:#ffffff !important;
  }

  .menu .dropdown-content,
  .dropdown-content,
  .dropdown-menu{
    position:relative !important;
    top:auto !important;
    left:auto !important;
    right:auto !important;
    width:100% !important;
    max-height:none !important;
    overflow:visible !important;
    background:#f8fafc !important;
    border:1px solid #e2e8f0 !important;
    border-radius:16px !important;
    box-shadow:none !important;
    margin:6px 0 8px !important;
    padding:6px !important;
    z-index:285 !important;
  }

  .menu .dropdown-content a,
  .dropdown-content a{
    display:block !important;
    min-height:42px !important;
    padding:10px 12px !important;
    border-radius:12px !important;
    color:#0f172a !important;
    text-decoration:none !important;
  }

  .menu a:active,
  .menu button:active,
  .dropdown-content a:active{
    transform:scale(.985);
  }

  .freshly-app-search{
    z-index:70 !important;
  }

  .freshly-mobile-home,
  .promo-slider,
  #shop,
  main,
  .section{
    position:relative;
    z-index:1;
  }
}


/* Freshly Mobile App V2.5 - customer login/signup menu update */
@media(max-width:760px){
  .freshly-quick-actions-v23{
    grid-template-columns:repeat(5,1fr) !important;
  }

  .freshly-quick-actions-v23 a,
  .freshly-quick-actions-v23 button{
    min-height:78px !important;
    padding:8px 4px !important;
  }

  .freshly-quick-actions-v23 span{
    font-size:10px !important;
    line-height:1.1 !important;
  }

  .freshly-more-grid a[href="customer-portal.html"]{
    grid-column:1 / -1;
    background:linear-gradient(135deg,#ecfdf5,#f0fdf4) !important;
    border-color:#bbf7d0 !important;
    color:#064e3b !important;
  }

  .freshly-customer-login-highlight{
    background:linear-gradient(135deg,#ecfdf5,#f0fdf4) !important;
    border-color:#bbf7d0 !important;
  }
}


/* Freshly Mobile App V2.6 - full mobile category menu fix */
@media(max-width:760px){
  .freshly-app-search{
    padding-bottom:8px !important;
  }

  .freshly-top-category-rail{
    display:flex;
    gap:8px;
    overflow:auto;
    padding:9px 0 2px;
    scrollbar-width:none;
  }

  .freshly-top-category-rail::-webkit-scrollbar{
    display:none;
  }

  .freshly-top-category-rail button{
    flex:0 0 auto;
    border:1px solid #dbe7ef;
    background:#ffffff;
    border-radius:999px;
    min-height:34px;
    padding:7px 11px;
    color:#064e3b;
    font-size:12px;
    font-weight:900;
    box-shadow:0 6px 14px rgba(15,23,42,.045);
  }

  .freshly-mobile-cats-v23{
    grid-template-columns:repeat(5,1fr) !important;
    gap:8px !important;
  }

  .freshly-mobile-cats-v23 .freshly-mobile-cat{
    min-height:86px !important;
    padding:7px 4px !important;
  }

  .freshly-mobile-cats-v23 .freshly-mobile-cat .icon{
    width:36px !important;
    height:36px !important;
    border-radius:14px !important;
    font-size:22px !important;
  }

  .freshly-mobile-cats-v23 .freshly-mobile-cat span:last-child{
    font-size:9.5px !important;
    line-height:1.05 !important;
  }

  .freshly-menu-section-label{
    margin:12px 2px 8px;
    color:#64748b;
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.04em;
  }

  .freshly-more-category-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:9px;
    margin-bottom:8px;
  }

  .freshly-more-category-grid button{
    min-height:46px;
    border:1px solid #e4ebf3;
    background:#ffffff;
    border-radius:15px;
    padding:9px;
    text-align:left;
    color:#052e16;
    font-size:12px;
    font-weight:900;
    box-shadow:0 6px 16px rgba(15,23,42,.045);
  }

  .freshly-more-category-grid button:active,
  .freshly-top-category-rail button:active,
  .freshly-mobile-cat:active{
    transform:scale(.985);
  }
}

@media(max-width:390px){
  .freshly-mobile-cats-v23{
    grid-template-columns:repeat(4,1fr) !important;
  }
}


/* Freshly Mobile App V2.7 - full category menu + top customer login */
@media(max-width:760px){
  .nav-inner{
    grid-template-columns:auto 1fr auto auto !important;
  }

  .freshly-top-auth{
    grid-column:3 !important;
    min-width:42px;
    max-width:116px;
    height:42px;
    border-radius:15px;
    border:1px solid #dbe7ef;
    background:#ffffff;
    color:#064e3b;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:5px;
    padding:0 9px;
    font-size:17px;
    font-weight:900;
    box-shadow:0 8px 18px rgba(15,23,42,.06);
    overflow:hidden;
    white-space:nowrap;
  }

  .freshly-top-auth-name{
    font-size:11px;
    max-width:62px;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .mobile-toggle{
    grid-column:4 !important;
  }

  .freshly-auth-popover{
    position:absolute;
    top:62px;
    right:58px;
    z-index:310;
    width:210px;
    background:#ffffff;
    border:1px solid #dbe7ef;
    border-radius:18px;
    padding:10px;
    box-shadow:0 22px 55px rgba(15,23,42,.24);
  }

  .freshly-auth-popover.hidden{
    display:none !important;
  }

  .freshly-auth-title{
    color:#052e16;
    font-weight:900;
    font-size:14px;
    padding:6px 8px 8px;
    border-bottom:1px solid #eef2f7;
    margin-bottom:6px;
  }

  .freshly-auth-popover a,
  .freshly-auth-popover button{
    display:block;
    width:100%;
    min-height:40px;
    border:0;
    background:#ffffff;
    color:#0f172a;
    text-align:left;
    text-decoration:none;
    border-radius:12px;
    padding:10px;
    font-size:13px;
    font-weight:900;
  }

  .freshly-auth-popover a:hover,
  .freshly-auth-popover button:hover{
    background:#f0fdf4;
    color:#065f46;
  }

  .freshly-top-category-rail{
    padding-bottom:5px !important;
  }

  .freshly-top-category-rail button{
    font-size:11.5px !important;
    min-height:34px !important;
  }

  .freshly-mobile-cats-v23{
    grid-template-columns:repeat(4,1fr) !important;
    gap:8px !important;
  }

  .freshly-mobile-cats-v23 .freshly-mobile-cat{
    min-height:84px !important;
  }

  .freshly-more-category-grid{
    grid-template-columns:repeat(2,1fr) !important;
  }

  .freshly-more-category-grid button{
    min-height:46px !important;
    font-size:12px !important;
  }
}

@media(max-width:370px){
  .freshly-top-auth-name{
    display:none;
  }

  .freshly-top-auth{
    width:42px;
    padding:0;
  }

  .freshly-mobile-cats-v23{
    grid-template-columns:repeat(3,1fr) !important;
  }
}


/* Freshly Mobile App V2.8 - final category set with Freshly Mart */
@media(max-width:760px){
  .freshly-mobile-cats-v28{
    display:grid !important;
    grid-template-columns:repeat(4,1fr) !important;
    gap:8px !important;
    margin-bottom:14px !important;
  }

  .freshly-mobile-cats-v28 .freshly-mobile-cat{
    min-height:84px !important;
    border:1px solid #e4ebf3 !important;
    border-radius:18px !important;
    background:linear-gradient(180deg,#ffffff,#fbfdff) !important;
    box-shadow:0 8px 20px rgba(15,23,42,.045) !important;
    color:#334155 !important;
    text-decoration:none !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:5px !important;
    padding:7px 4px !important;
  }

  .freshly-mobile-cats-v28 .freshly-mobile-cat .icon{
    width:36px !important;
    height:36px !important;
    border-radius:14px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:#ecfdf5 !important;
    font-size:22px !important;
  }

  .freshly-mobile-cats-v28 .freshly-mobile-cat span:last-child{
    font-size:9.5px !important;
    line-height:1.05 !important;
    font-weight:900 !important;
    text-align:center !important;
  }

  .freshly-mobile-cats-v28 [data-mobile-category="Freshly Mart"],
  .freshly-more-category-grid [data-mobile-category="Freshly Mart"],
  .freshly-top-category-rail [data-mobile-category="Freshly Mart"]{
    background:linear-gradient(135deg,#ecfdf5,#f0fdf4) !important;
    border-color:#bbf7d0 !important;
    color:#064e3b !important;
  }

  .freshly-mart-card{
    display:grid;
    grid-template-columns:1fr auto;
    gap:12px;
    align-items:center;
    border-radius:22px;
    padding:14px;
    margin:0 0 14px;
    background:linear-gradient(135deg,#ecfdf5,#f0fdf4);
    border:1px solid #bbf7d0;
    box-shadow:0 10px 24px rgba(15,157,88,.10);
  }

  .freshly-mart-card div{
    display:grid;
    grid-template-columns:auto 1fr;
    gap:8px;
  }

  .freshly-mart-card b{
    font-size:26px;
    grid-row:span 2;
  }

  .freshly-mart-card strong{
    color:#052e16;
    font-size:15px;
    line-height:1.15;
  }

  .freshly-mart-card span{
    color:#64748b;
    font-size:11px;
    font-weight:700;
  }

  .freshly-mart-card button{
    min-height:38px;
    border:0;
    border-radius:999px;
    background:#0f9d58;
    color:#fff;
    padding:8px 13px;
    font-size:12px;
    font-weight:900;
  }

  .freshly-top-category-rail button{
    font-size:11.5px !important;
  }
}

@media(max-width:370px){
  .freshly-mobile-cats-v28{
    grid-template-columns:repeat(3,1fr) !important;
  }
}


/* Freshly Mobile App V2.9 - click submenu categories fix */
@media(max-width:760px){
  .menu .dropdown{
    width:100% !important;
    position:relative !important;
    display:block !important;
  }

  .menu .dropdown-btn{
    width:100% !important;
    min-height:46px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    border:1px solid #e4ebf3 !important;
    background:#f8fafc !important;
    color:#052e16 !important;
    border-radius:14px !important;
    padding:11px 12px !important;
    font-size:14px !important;
    font-weight:900 !important;
  }

  .menu .dropdown-btn::after{
    content:"Tap to open";
    font-size:10px;
    color:#64748b;
    font-weight:800;
  }

  .menu .dropdown.open .dropdown-btn::after{
    content:"Tap to close";
  }

  .menu .dropdown-panel,
  .menu .dropdown-content,
  .menu .dropdown-menu{
    display:none !important;
    position:relative !important;
    top:auto !important;
    left:auto !important;
    right:auto !important;
    width:100% !important;
    max-height:none !important;
    overflow:visible !important;
    background:#ffffff !important;
    border:1px solid #dbe7ef !important;
    border-radius:16px !important;
    box-shadow:0 8px 20px rgba(15,23,42,.06) !important;
    margin:8px 0 10px !important;
    padding:8px !important;
    z-index:290 !important;
  }

  .menu .dropdown.open .dropdown-panel,
  .menu .dropdown.open .dropdown-content,
  .menu .dropdown.open .dropdown-menu{
    display:grid !important;
    grid-template-columns:repeat(2,1fr) !important;
    gap:8px !important;
  }

  .menu .dropdown-panel a,
  .menu .dropdown-content a,
  .menu .dropdown-menu a{
    display:flex !important;
    align-items:center !important;
    min-height:42px !important;
    padding:9px 10px !important;
    border-radius:12px !important;
    background:#f8fafc !important;
    color:#0f172a !important;
    text-decoration:none !important;
    font-size:12px !important;
    font-weight:900 !important;
    white-space:normal !important;
    line-height:1.15 !important;
  }

  .menu .dropdown-panel a:nth-child(1),
  .menu .dropdown-panel a:nth-child(2),
  .menu .dropdown-panel a:nth-child(3),
  .menu .dropdown-panel a:nth-child(4){
    background:#ecfdf5 !important;
    color:#064e3b !important;
    border:1px solid #bbf7d0 !important;
  }

  .menu .dropdown-panel a[data-mobile-category="Freshly Mart"]{
    grid-column:1 / -1 !important;
    background:linear-gradient(135deg,#ecfdf5,#f0fdf4) !important;
    color:#064e3b !important;
    border:1px solid #bbf7d0 !important;
  }

  .menu .dropdown-panel a:active{
    transform:scale(.985);
  }

  .menu .dropdown.open{
    background:#ffffff !important;
    border-radius:16px !important;
  }

  .menu .dropdown-panel::before{
    content:"Freshly Categories";
    grid-column:1 / -1;
    color:#64748b;
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.04em;
    padding:2px 2px 0;
  }
}

@media(max-width:370px){
  .menu .dropdown.open .dropdown-panel,
  .menu .dropdown.open .dropdown-content,
  .menu .dropdown.open .dropdown-menu{
    grid-template-columns:1fr !important;
  }
}

/* Freshly Mobile App V3.0 - customer user id/password login */
.auth-tabs,
.customer-auth-switch{
  display:flex;
  gap:8px;
  background:#f1f5f9;
  border-radius:16px;
  padding:5px;
  margin-bottom:14px;
}
.auth-tabs label,
.customer-auth-switch button{
  flex:1;
  min-height:40px;
  border:0;
  border-radius:12px;
  background:transparent;
  color:#334155;
  font-weight:900;
  text-align:center;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
}
.customer-auth-switch button.active,
.auth-tabs label:has(input:checked){
  background:#ffffff;
  color:#065f46;
  box-shadow:0 6px 16px rgba(15,23,42,.08);
}
.auth-tabs input{
  accent-color:#0f9d58;
}
.customer-auth-layout{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);
  gap:18px;
}
.customer-auth-card,
.customer-account-card{
  border-radius:24px !important;
}
.button-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}
.form-grid.single{
  grid-template-columns:1fr;
}
@media(max-width:760px){
  .customer-auth-layout{
    grid-template-columns:1fr;
  }
  .customer-auth-page{
    padding:14px 12px 90px !important;
  }
  .customer-auth-card h2,
  .customer-account-card h2{
    font-size:20px;
  }
}

/* Freshly Desktop + Mobile V3.1 - desktop package alignment */
@media(min-width:761px){
  .nav-inner{
    position:relative;
  }

  .freshly-desktop-categories{
    position:relative;
  }

  .freshly-desktop-categories .dropdown-btn{
    cursor:pointer;
  }

  .freshly-desktop-categories .dropdown-panel{
    display:none;
    position:absolute;
    top:calc(100% + 12px);
    left:0;
    width:520px;
    max-width:calc(100vw - 40px);
    background:#ffffff;
    border:1px solid #e2e8f0;
    border-radius:20px;
    box-shadow:0 24px 65px rgba(15,23,42,.18);
    padding:14px;
    z-index:300;
    grid-template-columns:repeat(2,1fr);
    gap:8px;
  }

  .freshly-desktop-categories.open .dropdown-panel{
    display:grid;
  }

  .freshly-desktop-categories .dropdown-panel a{
    display:flex;
    align-items:center;
    min-height:44px;
    padding:10px 12px;
    border-radius:14px;
    background:#f8fafc;
    color:#0f172a;
    text-decoration:none;
    font-weight:900;
    font-size:14px;
    border:1px solid transparent;
  }

  .freshly-desktop-categories .dropdown-panel a:hover{
    background:#ecfdf5;
    border-color:#bbf7d0;
    color:#064e3b;
  }

  .freshly-desktop-categories .dropdown-panel a[data-mobile-category="Freshly Mart"]{
    grid-column:1 / -1;
    background:linear-gradient(135deg,#ecfdf5,#f0fdf4);
    border-color:#bbf7d0;
    color:#064e3b;
  }

  .freshly-desktop-auth{
    border:1px solid #dbe7ef;
    background:#ffffff;
    color:#064e3b;
    min-height:42px;
    border-radius:999px;
    padding:9px 13px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    font-weight:900;
    cursor:pointer;
    box-shadow:0 8px 18px rgba(15,23,42,.06);
  }

  .freshly-desktop-auth span{
    max-width:110px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  .freshly-desktop-auth-popover{
    position:absolute;
    right:0;
    top:calc(100% + 12px);
    width:230px;
    background:#ffffff;
    border:1px solid #dbe7ef;
    border-radius:20px;
    padding:10px;
    box-shadow:0 24px 65px rgba(15,23,42,.18);
    z-index:310;
  }

  .freshly-desktop-auth-popover.hidden{
    display:none !important;
  }

  .freshly-desktop-auth-popover a,
  .freshly-desktop-auth-popover button{
    display:block;
    width:100%;
    min-height:42px;
    border:0;
    background:#ffffff;
    color:#0f172a;
    text-align:left;
    text-decoration:none;
    border-radius:13px;
    padding:10px;
    font-size:14px;
    font-weight:900;
    cursor:pointer;
  }

  .freshly-desktop-auth-popover a:hover,
  .freshly-desktop-auth-popover button:hover{
    background:#ecfdf5;
    color:#064e3b;
  }

  .freshly-auth-title{
    color:#052e16;
    font-weight:900;
    font-size:14px;
    padding:6px 8px 10px;
    border-bottom:1px solid #eef2f7;
    margin-bottom:6px;
  }

  .customer-auth-layout{
    max-width:1100px;
    margin:0 auto;
  }

  .customer-auth-card,
  .customer-account-card{
    box-shadow:0 14px 36px rgba(15,23,42,.06);
  }

  .auth-tabs,
  .customer-auth-switch{
    max-width:480px;
  }
}


/* Freshly V3.3 - single desktop login button at right end */
@media(min-width:761px){
  .freshly-top-auth,
  .freshly-top-auth-name{
    display:none !important;
  }

  .nav-inner{
    display:flex !important;
    align-items:center !important;
    gap:22px !important;
  }

  .nav-inner > .menu{
    flex:1 1 auto !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:24px !important;
  }

  .nav-inner > .menu a[href="customer-portal.html"]{
    display:none !important;
  }

  .freshly-desktop-auth{
    margin-left:auto !important;
    flex:0 0 auto !important;
    min-width:118px !important;
    height:48px !important;
    border-radius:999px !important;
    border:1px solid #dbe7ef !important;
    background:#ffffff !important;
    color:#064e3b !important;
    font-size:18px !important;
    font-weight:900 !important;
    box-shadow:0 10px 24px rgba(15,23,42,.08) !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:0 !important;
    padding:0 22px !important;
  }

  .freshly-desktop-auth::before{
    content:"👤";
    margin-right:8px;
    font-size:20px;
  }

  .freshly-desktop-auth span{
    max-width:120px !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }

  .freshly-desktop-auth-popover{
    right:0 !important;
  }
}

@media(max-width:760px){
  .freshly-desktop-auth,
  .freshly-desktop-auth-popover{
    display:none !important;
  }
}

/* Freshly V3.4 - reliable mobile top menu fix */
@media(max-width:760px){
  body.freshly-mobile-nav-open,
  body.freshly-menu-open{
    overflow:hidden !important;
  }

  body.freshly-mobile-nav-open::before{
    content:"";
    position:fixed;
    inset:0;
    z-index:240;
    background:rgba(15,23,42,.50);
    backdrop-filter:blur(2px);
  }

  .nav{
    z-index:300 !important;
  }

  .mobile-toggle{
    display:flex !important;
    position:relative !important;
    z-index:325 !important;
    pointer-events:auto !important;
    cursor:pointer !important;
  }

  .nav .menu,
  .menu{
    display:none !important;
  }

  .nav .menu.open,
  .nav .menu.freshly-mobile-menu-open,
  .menu.open,
  .menu.freshly-mobile-menu-open{
    display:block !important;
    position:fixed !important;
    top:104px !important;
    left:12px !important;
    right:12px !important;
    width:auto !important;
    max-width:none !important;
    max-height:calc(100vh - 120px) !important;
    overflow-y:auto !important;
    overscroll-behavior:contain !important;
    background:#ffffff !important;
    border:1px solid #e2e8f0 !important;
    border-radius:24px !important;
    box-shadow:0 26px 70px rgba(15,23,42,.34) !important;
    padding:12px !important;
    z-index:320 !important;
  }

  .nav .menu.open > a,
  .nav .menu.open > button,
  .nav .menu.open .dropdown-btn,
  .menu.open > a,
  .menu.open > button,
  .menu.open .dropdown-btn{
    display:flex !important;
    align-items:center !important;
    width:100% !important;
    min-height:46px !important;
    padding:11px 12px !important;
    border-radius:14px !important;
    background:#ffffff !important;
    color:#0f172a !important;
    text-decoration:none !important;
    font-size:14px !important;
    font-weight:900 !important;
    border:0 !important;
    text-align:left !important;
  }

  .nav .menu.open > a:hover,
  .menu.open > a:hover,
  .menu.open .dropdown-btn:hover{
    background:#f0fdf4 !important;
    color:#064e3b !important;
  }

  .menu .dropdown,
  .nav .menu .dropdown{
    width:100% !important;
    display:block !important;
    position:relative !important;
  }

  .menu .dropdown-btn,
  .nav .menu .dropdown-btn{
    justify-content:space-between !important;
    background:#f8fafc !important;
    border:1px solid #e4ebf3 !important;
  }

  .menu .dropdown-btn::after,
  .nav .menu .dropdown-btn::after{
    content:"Tap";
    font-size:10px;
    color:#64748b;
    font-weight:900;
  }

  .menu .dropdown.open .dropdown-btn::after,
  .nav .menu .dropdown.open .dropdown-btn::after{
    content:"Close";
  }

  .menu .dropdown-panel,
  .menu .dropdown-content,
  .menu .dropdown-menu,
  .nav .menu .dropdown-panel,
  .nav .menu .dropdown-content,
  .nav .menu .dropdown-menu{
    display:none !important;
    position:relative !important;
    top:auto !important;
    left:auto !important;
    right:auto !important;
    width:100% !important;
    max-height:none !important;
    overflow:visible !important;
    background:#ffffff !important;
    border:1px solid #dbe7ef !important;
    border-radius:16px !important;
    box-shadow:none !important;
    margin:8px 0 10px !important;
    padding:8px !important;
    z-index:330 !important;
  }

  .menu .dropdown.open .dropdown-panel,
  .menu .dropdown.open .dropdown-content,
  .menu .dropdown.open .dropdown-menu,
  .nav .menu .dropdown.open .dropdown-panel,
  .nav .menu .dropdown.open .dropdown-content,
  .nav .menu .dropdown.open .dropdown-menu{
    display:grid !important;
    grid-template-columns:repeat(2,1fr) !important;
    gap:8px !important;
  }

  .menu .dropdown-panel a,
  .menu .dropdown-content a,
  .menu .dropdown-menu a,
  .nav .menu .dropdown-panel a,
  .nav .menu .dropdown-content a,
  .nav .menu .dropdown-menu a{
    display:flex !important;
    align-items:center !important;
    min-height:42px !important;
    padding:9px 10px !important;
    border-radius:12px !important;
    background:#f8fafc !important;
    color:#0f172a !important;
    text-decoration:none !important;
    font-size:12px !important;
    font-weight:900 !important;
    white-space:normal !important;
    line-height:1.15 !important;
  }

  .menu .dropdown-panel a:nth-child(1),
  .menu .dropdown-panel a:nth-child(2),
  .menu .dropdown-panel a:nth-child(3),
  .menu .dropdown-panel a:nth-child(4),
  .nav .menu .dropdown-panel a:nth-child(1),
  .nav .menu .dropdown-panel a:nth-child(2),
  .nav .menu .dropdown-panel a:nth-child(3),
  .nav .menu .dropdown-panel a:nth-child(4){
    background:#ecfdf5 !important;
    border:1px solid #bbf7d0 !important;
    color:#064e3b !important;
  }

  .menu .dropdown-panel a[data-mobile-category="Freshly Mart"],
  .nav .menu .dropdown-panel a[data-mobile-category="Freshly Mart"]{
    grid-column:1 / -1 !important;
    background:linear-gradient(135deg,#ecfdf5,#f0fdf4) !important;
    border:1px solid #bbf7d0 !important;
    color:#064e3b !important;
  }

  .freshly-app-search,
  .promo-slider,
  .freshly-mobile-home,
  main,
  .section{
    position:relative !important;
    z-index:1 !important;
  }
}

@media(max-width:370px){
  .menu .dropdown.open .dropdown-panel,
  .menu .dropdown.open .dropdown-content,
  .menu .dropdown.open .dropdown-menu,
  .nav .menu .dropdown.open .dropdown-panel,
  .nav .menu .dropdown.open .dropdown-content,
  .nav .menu .dropdown.open .dropdown-menu{
    grid-template-columns:1fr !important;
  }
}


/* Freshly V3.5 - mobile banner object-fit option */
@media(max-width:760px){
  .promo-slide.image-only img,
  .promo-slide.backend-banner img,
  .promo-slide.has-image img{
    object-fit:var(--banner-mobile-object-fit, contain) !important;
    object-position:var(--banner-object-position, center center) !important;
    width:100% !important;
    height:100% !important;
  }

  .promo-slide.image-only,
  .promo-slide.backend-banner,
  .promo-slide.backend-banner.has-image{
    background-size:var(--banner-mobile-object-fit, contain) !important;
    background-repeat:no-repeat !important;
    background-position:var(--banner-object-position, center center) !important;
  }

  .promo-slide.image-only.mobile-fit-contain,
  .promo-slide.backend-banner.mobile-fit-contain{
    background-size:contain !important;
  }

  .promo-slide.image-only.mobile-fit-cover,
  .promo-slide.backend-banner.mobile-fit-cover{
    background-size:cover !important;
  }
}


/* Freshly V3.6 - move banner image upward on mobile */
@media(max-width:760px){
  .promo-slider,
  .freshly-promo-slider,
  .hero-slider,
  .banner-slider{
    margin-top:0 !important;
    padding-top:0 !important;
  }

  .promo-slide,
  .promo-slide.image-only,
  .promo-slide.backend-banner,
  .promo-slide.backend-banner.has-image{
    align-items:flex-start !important;
    justify-content:flex-start !important;
    overflow:hidden !important;
  }

  .promo-slide.image-only img,
  .promo-slide.backend-banner img,
  .promo-slide.has-image img{
    object-fit:var(--banner-mobile-object-fit, contain) !important;
    object-position:var(--banner-mobile-object-position, center top) !important;
    width:100% !important;
    height:100% !important;
    display:block !important;
  }

  .promo-slide.image-only,
  .promo-slide.backend-banner,
  .promo-slide.backend-banner.has-image{
    background-position:var(--banner-mobile-object-position, center top) !important;
    background-repeat:no-repeat !important;
  }

  /* If contain is used, keep the image anchored to top so blank gap appears at bottom, not top */
  .promo-slide.image-only.mobile-fit-contain,
  .promo-slide.backend-banner.mobile-fit-contain{
    background-position:center top !important;
  }

  .promo-slide .banner-content,
  .promo-slide .slide-content{
    position:relative !important;
    z-index:2 !important;
  }
}


/* Freshly V3.6.1 - mobile banner full top position fix */
@media(max-width:760px){
  /* Remove any empty spacing before the mobile banner */
  .freshly-app-search + .promo-slider,
  .nav + .promo-slider,
  .promo-slider{
    margin-top:var(--banner-mobile-top-shift, 0px) !important;
    padding-top:0 !important;
  }

  .promo-track{
    margin-top:0 !important;
    padding-top:0 !important;
    align-items:flex-start !important;
  }

  .promo-slide,
  .promo-slide.image-only,
  .promo-slide.backend-banner,
  .promo-slide.backend-banner.has-image{
    padding-top:0 !important;
    margin-top:0 !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    overflow:hidden !important;
    background-position:var(--banner-mobile-object-position, center top) !important;
  }

  /* Image must start from top edge of banner area */
  .promo-slide.image-only img,
  .promo-slide.backend-banner img,
  .promo-slide.has-image img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    margin-top:0 !important;
    padding-top:0 !important;
    object-fit:var(--banner-mobile-object-fit, contain) !important;
    object-position:var(--banner-mobile-object-position, center top) !important;
    transform:none !important;
  }

  /* If the banner uses background image instead of img */
  .promo-slide.image-only,
  .promo-slide.backend-banner,
  .promo-slide.backend-banner.has-image{
    background-size:var(--banner-mobile-object-fit, contain) !important;
    background-repeat:no-repeat !important;
    background-position:var(--banner-mobile-object-position, center top) !important;
  }

  /* Remove accidental empty spacer/placeholder inside promo */
  .promo-slide::before,
  .promo-slide::after{
    top:0 !important;
  }

  .promo-slider .spacer,
  .promo-slider .top-spacer,
  .promo-slider .banner-spacer{
    display:none !important;
    height:0 !important;
  }

  /* Keep button overlay visible */
  .promo-slide .banner-floating-btn,
  .promo-slide .banner-content,
  .promo-slide .slide-content{
    z-index:5 !important;
  }
}


/* Freshly V3.6.2 - move full mobile page content to top */
@media(max-width:760px){
  html,
  body{
    margin-top:0 !important;
    padding-top:0 !important;
  }

  .top-strip,
  .desktop-topbar,
  .header-spacer,
  .mobile-header-spacer,
  .page-spacer,
  .top-placeholder{
    display:none !important;
    height:0 !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
  }

  /* Keep mobile header compact */
  .nav{
    margin:0 !important;
    padding:0 !important;
    min-height:0 !important;
  }

  .nav-top-row{
    margin:0 !important;
    padding:6px 12px 0 !important;
    min-height:0 !important;
  }

  .nav-inner{
    margin:0 !important;
    padding:6px 12px 8px !important;
    min-height:54px !important;
  }

  /* Remove hidden/unused search spacer if it creates blank area */
  .freshly-app-search:empty,
  .freshly-app-search.hidden,
  .freshly-app-search[hidden]{
    display:none !important;
    height:0 !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
  }

  /* Pull first page section to the top */
  body > main,
  main,
  .main,
  .page,
  .page-content,
  .home-page,
  .site-main{
    margin-top:0 !important;
    padding-top:0 !important;
  }

  /* Banner/hero must start immediately after header/search */
  .freshly-app-search + .promo-slider,
  .nav + .promo-slider,
  .promo-slider,
  .freshly-promo-slider,
  .hero-slider,
  .banner-slider{
    margin-top:0 !important;
    padding-top:0 !important;
    top:auto !important;
    transform:none !important;
  }

  .promo-track,
  .promo-slide,
  .promo-slide.image-only,
  .promo-slide.backend-banner,
  .promo-slide.backend-banner.has-image{
    margin-top:0 !important;
    padding-top:0 !important;
  }

  /* If old CSS created a large empty mobile promo height, reduce it */
  .promo-slide.image-only,
  .promo-slide.backend-banner,
  .promo-slide.backend-banner.has-image{
    height:var(--banner-mobile-height, 210px) !important;
    min-height:var(--banner-mobile-height, 210px) !important;
  }

  /* Remove blank area above the visual image inside banner */
  .promo-slide.image-only img,
  .promo-slide.backend-banner img,
  .promo-slide.has-image img{
    margin-top:0 !important;
    padding-top:0 !important;
    transform:none !important;
    object-position:var(--banner-mobile-object-position, center top) !important;
  }

  /* Welcome/home blocks should sit close to banner */
  .freshly-mobile-home{
    margin-top:10px !important;
    padding-top:0 !important;
  }

  .freshly-welcome-card{
    margin-top:0 !important;
  }

  /* Remove possible generated top gaps */
  .promo-slider::before,
  .promo-slider::after,
  .freshly-mobile-home::before,
  main::before{
    display:none !important;
    height:0 !important;
    min-height:0 !important;
  }
}


/* Freshly V3.6.3 - force mobile banner to top and crop blank gap */
@media(max-width:760px){
  .promo-slider,
  .freshly-promo-slider,
  .hero-slider,
  .banner-slider{
    margin-top:0 !important;
    padding-top:0 !important;
    overflow:hidden !important;
  }

  .promo-track,
  [data-promo-track]{
    margin-top:0 !important;
    padding-top:0 !important;
    align-items:flex-start !important;
  }

  .promo-slide,
  .promo-slide.image-only,
  .promo-slide.backend-banner,
  .promo-slide.backend-banner.has-image{
    margin-top:0 !important;
    padding-top:0 !important;
    overflow:hidden !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
  }

  .promo-slide.image-only,
  .promo-slide:has(img){
    height:320px !important;
    min-height:320px !important;
    max-height:320px !important;
  }

  .promo-slide.image-only .banner-image-link,
  .promo-slide .banner-image-link{
    display:block !important;
    width:100% !important;
    height:100% !important;
    overflow:hidden !important;
    margin:0 !important;
    padding:0 !important;
  }

  .promo-slide.image-only img,
  .promo-slide.backend-banner img,
  .promo-slide.has-image img,
  .promo-slide img{
    display:block !important;
    width:100% !important;
    height:auto !important;
    min-height:440px !important;
    max-height:none !important;
    margin:0 !important;
    padding:0 !important;
    object-fit:cover !important;
    object-position:center top !important;
    transform:translateY(-115px) !important;
    transform-origin:center top !important;
  }

  .promo-slide.backend-banner,
  .promo-slide.backend-banner.has-image{
    background-size:cover !important;
    background-position:center -115px !important;
    background-repeat:no-repeat !important;
  }

  .freshly-mobile-home{
    margin-top:10px !important;
  }
}


/* Freshly V3.6.4 - remove internal mobile banner top gap */
@media(max-width:760px){
  .promo-slider,
  .freshly-promo-slider,
  .hero-slider,
  .banner-slider{
    margin-top:0 !important;
    padding-top:0 !important;
    min-height:0 !important;
    height:auto !important;
    overflow:hidden !important;
    background:transparent !important;
  }

  .promo-track,
  [data-promo-track]{
    margin-top:0 !important;
    padding-top:0 !important;
    min-height:0 !important;
    align-items:flex-start !important;
    overflow:hidden !important;
  }

  .promo-slide,
  .promo-slide.image-only,
  .promo-slide.backend-banner,
  .promo-slide.backend-banner.has-image{
    position:relative !important;
    display:block !important;
    margin-top:0 !important;
    padding:0 !important;
    padding-top:0 !important;
    min-height:240px !important;
    height:240px !important;
    max-height:240px !important;
    overflow:hidden !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    background-size:cover !important;
    background-position:center top !important;
    background-repeat:no-repeat !important;
  }

  .promo-slide.image-only .banner-copy,
  .promo-slide.image-only .banner-content,
  .promo-slide.image-only .slide-content,
  .promo-slide.image-only .hero-content,
  .promo-slide.image-only .banner-text,
  .promo-slide.image-only .slide-text{
    display:none !important;
  }

  .promo-slide .banner-image-link,
  .promo-slide a:has(img){
    position:absolute !important;
    inset:0 !important;
    display:block !important;
    width:100% !important;
    height:100% !important;
    overflow:hidden !important;
    margin:0 !important;
    padding:0 !important;
  }

  .promo-slide img,
  .promo-slide.image-only img,
  .promo-slide.backend-banner img,
  .promo-slide.has-image img{
    position:absolute !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    bottom:auto !important;
    width:100% !important;
    height:100% !important;
    min-height:100% !important;
    object-fit:cover !important;
    object-position:center top !important;
    transform:none !important;
    margin:0 !important;
    padding:0 !important;
    display:block !important;
  }

  .promo-dots{
    bottom:8px !important;
    z-index:10 !important;
  }

  .freshly-mobile-home{
    margin-top:10px !important;
    padding-top:0 !important;
  }
}


/* Freshly V3.6.5 - mobile banner first layout fix */
@media(max-width:760px){
  .freshly-app-search{
    position:relative !important;
    top:auto !important;
    z-index:40 !important;
    margin-top:0 !important;
    border-radius:0 0 20px 20px !important;
  }

  .promo-slider,
  .freshly-promo-slider,
  .hero-slider,
  .banner-slider{
    margin-top:0 !important;
    padding-top:0 !important;
    overflow:hidden !important;
    background:#f7fbfc !important;
    border-radius:0 0 20px 20px !important;
    box-shadow:0 10px 24px rgba(15,23,42,.07) !important;
  }

  .promo-track,
  [data-promo-track]{
    margin:0 !important;
    padding:0 !important;
    min-height:0 !important;
    align-items:flex-start !important;
  }

  .promo-slide,
  .promo-slide.image-only,
  .promo-slide.backend-banner,
  .promo-slide.backend-banner.has-image{
    position:relative !important;
    display:block !important;
    height:270px !important;
    min-height:270px !important;
    max-height:270px !important;
    padding:0 !important;
    margin:0 !important;
    overflow:hidden !important;
    background-size:cover !important;
    background-position:center top !important;
    background-repeat:no-repeat !important;
  }

  .promo-slide .banner-image-link,
  .promo-slide a:has(img){
    position:absolute !important;
    inset:0 !important;
    display:block !important;
    width:100% !important;
    height:100% !important;
    overflow:hidden !important;
    margin:0 !important;
    padding:0 !important;
  }

  .promo-slide img,
  .promo-slide.image-only img,
  .promo-slide.backend-banner img,
  .promo-slide.has-image img{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    min-height:100% !important;
    max-height:none !important;
    object-fit:cover !important;
    object-position:center top !important;
    transform:none !important;
    margin:0 !important;
    padding:0 !important;
    display:block !important;
  }

  .promo-slide.image-only .banner-copy,
  .promo-slide.image-only .banner-content,
  .promo-slide.image-only .slide-content,
  .promo-slide.image-only .hero-content{
    display:none !important;
  }

  .promo-dots{
    bottom:8px !important;
    z-index:20 !important;
  }

  .freshly-mobile-home{
    margin-top:10px !important;
    padding-top:0 !important;
  }
}


/* Freshly V3.6.6 - final clean mobile order: header > banner > search */
@media(max-width:760px){
  .freshly-app-search{
    position:relative !important;
    top:auto !important;
    margin:0 !important;
    padding:10px 12px 12px !important;
    z-index:40 !important;
    border-radius:0 0 18px 18px !important;
    box-shadow:0 8px 18px rgba(15,23,42,.06) !important;
  }

  .promo-slider,
  .freshly-promo-slider,
  .hero-slider,
  .banner-slider{
    display:block !important;
    margin:0 !important;
    padding:0 !important;
    min-height:0 !important;
    height:auto !important;
    overflow:hidden !important;
    background:#f7fbfc !important;
    border-radius:0 0 20px 20px !important;
  }

  .promo-track,
  [data-promo-track]{
    display:flex !important;
    margin:0 !important;
    padding:0 !important;
    min-height:0 !important;
    align-items:stretch !important;
  }

  .promo-slide,
  .promo-slide.image-only,
  .promo-slide.backend-banner,
  .promo-slide.backend-banner.has-image{
    position:relative !important;
    display:block !important;
    flex:0 0 100% !important;
    width:100% !important;
    height:270px !important;
    min-height:270px !important;
    max-height:270px !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    background-size:cover !important;
    background-position:center top !important;
    background-repeat:no-repeat !important;
  }

  .promo-slide .banner-image-link,
  .promo-slide a:has(img){
    position:absolute !important;
    inset:0 !important;
    display:block !important;
    width:100% !important;
    height:100% !important;
    overflow:hidden !important;
    margin:0 !important;
    padding:0 !important;
  }

  .promo-slide img,
  .promo-slide.image-only img,
  .promo-slide.backend-banner img,
  .promo-slide.has-image img{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    min-height:100% !important;
    max-height:none !important;
    object-fit:cover !important;
    object-position:center top !important;
    transform:none !important;
    margin:0 !important;
    padding:0 !important;
    display:block !important;
  }

  .promo-slide.image-only .banner-copy,
  .promo-slide.image-only .banner-content,
  .promo-slide.image-only .slide-content,
  .promo-slide.image-only .hero-content{
    display:none !important;
  }

  .promo-dots{
    bottom:8px !important;
    z-index:20 !important;
  }

  .freshly-mobile-home{
    margin-top:10px !important;
    padding-top:0 !important;
  }
}


/* Freshly V3.6.7 - root mobile banner fix */
@media(max-width:760px){
  .promo-slider,
  .freshly-promo-slider,
  .hero-slider,
  .banner-slider{
    display:block !important;
    margin:0 !important;
    padding:0 !important;
    height:270px !important;
    max-height:270px !important;
    min-height:0 !important;
    overflow:hidden !important;
    background:#f7fbfc !important;
    border-radius:0 0 20px 20px !important;
  }

  .promo-track,
  [data-promo-track]{
    display:flex !important;
    height:270px !important;
    margin:0 !important;
    padding:0 !important;
    align-items:stretch !important;
  }

  .promo-slide{
    position:relative !important;
    flex:0 0 100% !important;
    width:100% !important;
    height:270px !important;
    min-height:270px !important;
    max-height:270px !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    background-size:cover !important;
    background-position:center top !important;
    background-repeat:no-repeat !important;
  }

  .promo-slide.banner-image-error,
  .promo-slide:not(:has(img)):not(.has-image){
    display:none !important;
    height:0 !important;
    min-height:0 !important;
    max-height:0 !important;
    flex-basis:0 !important;
  }

  .promo-slide .banner-image-link,
  .promo-slide a:has(img){
    position:absolute !important;
    inset:0 !important;
    display:block !important;
    width:100% !important;
    height:100% !important;
    overflow:hidden !important;
    margin:0 !important;
    padding:0 !important;
  }

  .promo-slide img{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    min-height:100% !important;
    object-fit:cover !important;
    object-position:center top !important;
    transform:none !important;
    margin:0 !important;
    padding:0 !important;
    display:block !important;
  }

  .promo-slide.image-only .banner-copy,
  .promo-slide.image-only .banner-content,
  .promo-slide.image-only .slide-content,
  .promo-slide.image-only .hero-content{
    display:none !important;
  }

  .freshly-app-search{
    position:relative !important;
    top:auto !important;
    margin:0 !important;
    z-index:40 !important;
  }

  .freshly-mobile-home{
    margin-top:10px !important;
    padding-top:0 !important;
  }
}


/* Freshly V3.6.8 - mobile stuck/performance fix */
@media(max-width:760px){
  .promo-slider,
  .freshly-promo-slider,
  .hero-slider,
  .banner-slider{
    margin:0 !important;
    padding:0 !important;
    height:270px;
    max-height:270px;
    min-height:0 !important;
    overflow:hidden !important;
    background:#f7fbfc !important;
    border-radius:0 0 20px 20px !important;
  }

  .promo-track,
  [data-promo-track]{
    height:270px;
    margin:0 !important;
    padding:0 !important;
    align-items:stretch !important;
  }

  .promo-slide{
    height:270px;
    min-height:270px;
    max-height:270px;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    background-size:cover !important;
    background-position:center top !important;
    background-repeat:no-repeat !important;
  }

  .promo-slide.banner-image-error{
    display:none !important;
  }

  .promo-slide img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center top !important;
  }

  .freshly-app-search{
    position:relative !important;
    top:auto !important;
    margin:0 !important;
    z-index:40 !important;
  }
}


/* Freshly V3.7.0 - desktop and mobile banner image loader repair */
.promo-slider.hidden{
  display:none !important;
}

.promo-slide.banner-image-error{
  display:none !important;
}

.promo-slide .banner-image-link img{
  background:#f7fbfc;
}

@media(min-width:761px){
  .promo-slide.image-only{
    display:block !important;
    overflow:hidden !important;
  }
  .promo-slide.image-only .banner-image-link,
  .promo-slide.image-only .banner-image-link img{
    display:block !important;
    width:100% !important;
    height:100% !important;
  }
  .promo-slide.image-only .banner-image-link img{
    object-fit:var(--banner-object-fit, cover) !important;
    object-position:var(--banner-object-position, center center) !important;
  }
}

@media(max-width:760px){
  .promo-slide.image-only .banner-image-link,
  .promo-slide.image-only .banner-image-link img{
    display:block !important;
    width:100% !important;
    height:100% !important;
  }
  .promo-slide.image-only .banner-image-link img{
    object-fit:cover !important;
    object-position:center top !important;
  }
}


/* Freshly V3.7.1 - bottom navigation and auth repair */
.freshly-bottom-nav a.active,
.freshly-bottom-nav button.active{
  color:#0f9d58 !important;
  font-weight:900 !important;
}

.freshly-bottom-nav a.active .nav-icon,
.freshly-bottom-nav button.active .nav-icon{
  transform:translateY(-1px);
}

.customer-auth-switch button.active{
  background:#fff !important;
  color:#065f46 !important;
  box-shadow:0 6px 16px rgba(15,23,42,.08) !important;
}


/* Freshly V3.7.2 - category menu routing */
.freshly-top-category-rail [data-mobile-category].active,
.freshly-more-category-grid [data-mobile-category].active,
.menu [data-menu-cat].active,
.menu [data-mobile-category].active{
  background:#dcfce7 !important;
  color:#065f46 !important;
  font-weight:900 !important;
}

/* Freshly V3.7.3 - mobile banner loading fix only
   Keeps the existing mobile layout, but forces the banner slider and images to render
   correctly inside the installed/PWA mobile app. */
@media(max-width:760px){
  .promo-slider.hidden,
  .promo-slider,
  .freshly-promo-slider,
  .hero-slider,
  .banner-slider{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    width:100% !important;
    max-width:100vw !important;
    height:clamp(152px,44vw,235px) !important;
    min-height:clamp(152px,44vw,235px) !important;
    max-height:235px !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    background:#f7fbfc !important;
    border-radius:0 0 20px 20px !important;
  }

  .promo-track,
  [data-promo-track]{
    display:flex !important;
    width:100% !important;
    height:100% !important;
    min-height:100% !important;
    margin:0 !important;
    padding:0 !important;
    align-items:stretch !important;
  }

  .promo-slide,
  .promo-slide.image-only,
  .promo-slide.backend-banner,
  .promo-slide.backend-banner.has-image,
  .promo-slide.banner-image-error{
    display:block !important;
    flex:0 0 100% !important;
    width:100% !important;
    height:100% !important;
    min-height:100% !important;
    max-height:100% !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    position:relative !important;
    background-size:cover !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
  }

  .promo-slide .banner-image-link,
  .promo-slide.image-only .banner-image-link,
  .promo-slide a:has(img){
    position:absolute !important;
    inset:0 !important;
    display:block !important;
    width:100% !important;
    height:100% !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
  }

  .promo-slide img,
  .promo-slide.image-only img,
  .promo-slide.backend-banner img,
  .promo-slide.has-image img,
  .promo-slide .banner-image-link img,
  img[data-banner-img]{
    position:absolute !important;
    inset:0 !important;
    display:block !important;
    width:100% !important;
    height:100% !important;
    min-height:100% !important;
    max-height:none !important;
    object-fit:cover !important;
    object-position:center center !important;
    margin:0 !important;
    padding:0 !important;
    transform:none !important;
    background:#f7fbfc !important;
  }

  .promo-dots{
    display:flex !important;
    position:absolute !important;
    bottom:8px !important;
    left:50% !important;
    transform:translateX(-50%) !important;
    z-index:8 !important;
  }
}


/* Freshly V3.7.5 - mobile app banner carousel, menu close and location confirmation */
@media(max-width:760px){
  .promo-slider{overflow:hidden !important; width:100% !important; max-width:100% !important;}
  .promo-track{display:flex !important; flex-wrap:nowrap !important; width:100% !important; transform:translateX(0); transition:transform .45s ease !important; will-change:transform;}
  .promo-track > .promo-slide{flex:0 0 100% !important; min-width:100% !important; width:100% !important; max-width:100% !important;}
  .promo-track > .promo-slide.image-only{height:var(--banner-mobile-height,230px) !important; min-height:var(--banner-mobile-height,230px) !important;}
  .promo-track > .promo-slide.image-only img{width:100% !important; height:100% !important; object-fit:var(--banner-mobile-object-fit,contain) !important; object-position:var(--banner-mobile-object-position,center top) !important; display:block !important;}
  .promo-dots{z-index:8 !important; pointer-events:auto !important;}
  .menu.open,
  .menu.freshly-mobile-menu-open{z-index:99990 !important;}
  .location-dropdown-panel{z-index:99995 !important;}
  .location-toggle.location-confirmed{background:#dcfce7 !important; border-color:#86efac !important; color:#065f46 !important; font-weight:800 !important;}
  #confirmLocationBtn{margin-top:10px !important;}
  #locationResult.success{background:#ecfdf5 !important; color:#065f46 !important; border-color:#86efac !important;}
  #locationResult.warning{background:#fffbeb !important; color:#92400e !important; border-color:#fde68a !important;}
}


/* Freshly V3.7.6 - full package mobile stability fix, no basic design change */
@media(max-width:760px){
  .promo-slider{overflow:hidden !important; width:100% !important; max-width:100vw !important;}
  .promo-track,[data-promo-track]{display:flex !important; flex-wrap:nowrap !important; width:100% !important; max-width:100% !important; overflow:visible !important; transition:transform .45s ease !important; will-change:transform !important;}
  .promo-track > .promo-slide{display:block !important; flex:0 0 100% !important; min-width:100% !important; width:100% !important; max-width:100% !important; position:relative !important;}
  .promo-track > .promo-slide img[data-banner-img]{display:block !important; width:100% !important; height:100% !important; object-fit:var(--banner-mobile-object-fit,contain) !important; object-position:var(--banner-mobile-object-position,center top) !important;}
  body:not(.freshly-mobile-nav-open) .menu:not(.open):not(.freshly-mobile-menu-open){pointer-events:none;}
  body.freshly-mobile-nav-open .menu.open{pointer-events:auto;}
  #areaSelect{margin-bottom:8px !important;}
}


/* Freshly V3.8.7 - backend-controlled desktop/mobile banner sizing and image fit */
@media(min-width:761px){
  .promo-slider{
    height:var(--banner-desktop-height,340px) !important;
    min-height:var(--banner-desktop-height,340px) !important;
    max-height:var(--banner-desktop-height,340px) !important;
  }
  .promo-track,
  [data-promo-track],
  .promo-slide,
  .promo-slide.image-only,
  .promo-slide.backend-banner,
  .promo-slide.backend-banner.has-image{
    height:var(--banner-desktop-height,340px) !important;
    min-height:var(--banner-desktop-height,340px) !important;
    max-height:var(--banner-desktop-height,340px) !important;
  }
  .promo-slide.image-only img,
  .promo-slide.backend-banner img,
  img[data-banner-img]{
    object-fit:var(--banner-object-fit,cover) !important;
    object-position:var(--banner-object-position,center center) !important;
  }
}

@media(max-width:760px){
  .promo-slider,
  .freshly-promo-slider,
  .hero-slider,
  .banner-slider{
    height:var(--banner-mobile-height,270px) !important;
    min-height:var(--banner-mobile-height,270px) !important;
    max-height:var(--banner-mobile-height,270px) !important;
  }
  .promo-track,
  [data-promo-track],
  .promo-slide,
  .promo-slide.image-only,
  .promo-slide.backend-banner,
  .promo-slide.backend-banner.has-image{
    height:var(--banner-mobile-height,270px) !important;
    min-height:var(--banner-mobile-height,270px) !important;
    max-height:var(--banner-mobile-height,270px) !important;
  }
  .promo-slide.image-only img,
  .promo-slide.backend-banner img,
  .promo-slide.has-image img,
  img[data-banner-img]{
    object-fit:var(--banner-mobile-object-fit,cover) !important;
    object-position:var(--banner-mobile-object-position,center top) !important;
  }
}


/* Freshly V3.8.11 - mobile subcategory rail support */
@media(max-width:760px){.subcategory-tabs{display:flex;gap:8px;overflow-x:auto;flex-wrap:nowrap;padding:2px 2px 6px}.subcategory-tabs .tab{flex:0 0 auto}.product-subcategory{font-size:11px;padding:3px 8px}}


/* Freshly V3.8.17 footer/bottom cart fix */
.drawer{z-index:180!important;}
.modal{z-index:190!important;}
.freshly-bottom-nav{z-index:140!important;}
.freshly-bottom-nav button[data-open-cart]{cursor:pointer;touch-action:manipulation;}


/* Freshly V3.8.19 - robust footer/bottom cart refix */
.drawer#cartDrawer,
#cartDrawer.drawer{
  z-index:99999!important;
}
.drawer#cartDrawer.open,
#cartDrawer.drawer.open,
body.freshly-cart-open #cartDrawer{
  right:0!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
.freshly-bottom-nav [data-open-cart],
.freshly-bottom-nav [data-nav-key="cart"],
.freshly-quick-actions [data-open-cart],
#freshlyMoreMenu [data-open-cart],
.cart-float[data-open-cart]{
  cursor:pointer!important;
  pointer-events:auto!important;
  touch-action:manipulation!important;
  user-select:none!important;
}
@media(max-width:760px){
  #cartDrawer.drawer{
    width:100vw!important;
    max-width:100vw!important;
    right:-100vw!important;
    left:auto!important;
    top:auto!important;
    bottom:0!important;
    height:86vh!important;
    border-radius:22px 22px 0 0!important;
  }
  #cartDrawer.drawer.open,
  body.freshly-cart-open #cartDrawer{
    right:0!important;
  }
}
