@media (max-width:750px) {
  :root { scroll-padding-top:12px; }
  body { -webkit-text-size-adjust:100%; }
  *, *::before, *::after { box-sizing:border-box; }
  input, select, textarea { font-size:16px; max-width:100%; }
  button, select, input:not([type=checkbox]):not([type=radio]), .food-button {
    min-height:44px;
  }
  button, a, input, select, textarea { touch-action:manipulation; }
  img, canvas { max-width:100%; }
  .wrap, .food-shell, .shop-preview-page main {
    width:100%; max-width:100%; padding-inline:12px;
  }
  .home-page .site-header {
    padding:12px; gap:12px; flex-wrap:wrap;
  }
  .home-page .header-actions { flex-wrap:wrap; gap:8px; min-width:0; }
  .home-page .brand { font-size:25px; }
  .home-page .header-actions a { min-height:44px; display:inline-flex; align-items:center; }
  .home-page .flyora-search-bar > div {
    display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px;
  }
  .home-page #flyoraSearchQuery { grid-column:1/-1; width:100%; min-width:0; }
  .home-page #flyoraSearchScope { width:100%; min-width:0; }
  .home-page .market-layout { gap:12px; padding-inline:12px; }
  .home-page .categories { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .home-page .category-picture { height:110px; }
  .home-page .category-caption { padding:10px; }
  .home-page .category-caption b { font-size:15px; }
  .home-page .seller-ad-items { grid-template-columns:minmax(0,150px); }
  .home-page .listing-grid.has-ad-pages,
  .home-page :is(#listingGrid,.ad-grid-snapshot) {
    grid-template-columns:repeat(2,minmax(0,150px)) !important;
    gap:10px; justify-content:center;
  }
  .home-page .company-logo-strip { max-width:100%; overflow-x:auto; }
  .home-page .flyora-featured { margin:12px; max-width:calc(100% - 24px); padding:10px; }
  .flyora-featured-header h2 { font-size:17px; line-height:1.4; }
  .flyora-featured-card { width:225px; min-width:225px; max-width:225px; }
  .home-page #homeFood { margin:16px 12px; width:auto; padding:12px; }
  #homeFoodSearch { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
  #homeFoodSearch input { grid-column:1/-1; width:100%; min-width:0; }
  #homeFood .food-area { display:grid; grid-template-columns:1fr; gap:8px; margin-block:12px; }
  #homeFood .food-area label { min-width:0; }
  #homeFood .food-area select { width:100%; }
  #homeFood .food-grid { grid-template-columns:1fr; }
  .food-header { flex-wrap:wrap; gap:12px; padding:12px 0; }
  .food-nav { display:flex; flex-wrap:wrap; gap:8px; }
  .food-nav a, .food-nav button { min-height:44px; display:inline-flex; align-items:center; }
  .food-menu-page #restaurant .food-hero { padding:16px; margin:12px 0; }
  .food-menu-page #restaurant .food-hero h1 { font-size:26px; }
  .food-menu-page .food-workspace { display:block; }
  .food-menu-page .food-menu-scroll {
    max-height:none; height:auto; overflow:visible; min-width:0;
  }
  .food-menu-page #foodMenuGroupLinks {
    display:flex; flex-wrap:nowrap; overflow-x:auto; gap:8px; padding-bottom:8px;
  }
  .food-menu-page #foodMenuGroupLinks button { flex:none; white-space:nowrap; }
  .food-menu-page #menu { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .food-menu-page #menu .food-card { min-width:0; }
  .food-menu-page #menu .food-card img { width:100%; height:130px; object-fit:cover; }
  .food-menu-page #menu .food-card-body { padding:10px; }
  .food-menu-page #menu h3 { font-size:16px; overflow-wrap:anywhere; }
  .food-menu-page #menu button { width:100%; }
  .food-cart-drawer {
    width:100%; max-width:100%; height:92dvh; max-height:92dvh;
    margin:auto 0 0; padding-bottom:env(safe-area-inset-bottom);
    border-radius:18px 18px 0 0;
  }
  .food-cart-drawer .cart-drawer-body { min-height:0; overflow-y:auto; overscroll-behavior:contain; }
  .food-cart-drawer .food-area { grid-template-columns:1fr; }
  .food-cart-drawer :is(input,textarea,select) { width:100%; min-width:0; }
  .shop-preview-page header { flex-wrap:wrap; gap:8px; padding:12px; }
  .shop-preview-page header a { min-height:44px; display:inline-flex; align-items:center; }
  .shop-preview-page .shop-layout { display:flex; flex-direction:column; gap:0; }
  .shop-preview-page .shop-layout > section { width:100%; min-height:0; height:auto; max-height:none; margin-block:6px; padding:12px; }
  .shop-preview-page .shop-layout > section:first-child { max-height:190px; overflow-y:auto; }
  .shop-preview-page #categories { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .shop-preview-page #products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .shop-preview-page #products article { min-width:0; }
  .shop-preview-page #products .product-media { height:120px !important; }
  .shop-preview-page #products .product-actions { gap:4px; flex-wrap:wrap; font-size:14px; }
  .shop-preview-page #products .cart-icon-button { min-width:44px; min-height:44px; }
  .shop-preview-page .shop-branch-row { flex-wrap:wrap; }
  .shop-preview-page .shop-branch-row label { min-width:0; width:100%; }
  .shop-preview-page #shopBranch { width:100%; min-width:0; }
  .shop-preview-page #cart li { gap:8px; overflow-wrap:anywhere; }
  .shop-preview-page #cart li button { min-width:44px; min-height:44px; }
  .shop-preview-page dialog { width:calc(100% - 16px); max-width:calc(100% - 16px); max-height:90dvh; overflow-y:auto; padding:16px; }
  .shop-preview-page #checkoutForm { display:grid; grid-template-columns:1fr; }
  .shop-preview-page #checkoutForm input { width:100%; min-width:0; }
}
@media (max-width:360px) {
  .food-menu-page #menu { grid-template-columns:1fr; }
}

@media (max-width:750px) {
  .home-page .site-header {
    display:grid;
    grid-template-columns:1.15fr 1fr .9fr .9fr;
    align-items:center;
    gap:8px 6px;
    padding:10px 12px;
  }
  .home-page .site-header .header-actions { display:contents; }
  .home-page .site-header .brand {
    grid-row:1; grid-column:1;
    display:flex; gap:4px; min-width:0;
    font-size:18px; white-space:nowrap;
  }
  .home-page .site-header .brand-mark {
    width:26px; height:26px; min-width:26px; font-size:20px;
  }
  .home-page .site-header .tracking-top-link {
    grid-row:1; grid-column:2;
  }
  .home-page .site-header #homeStripReverse {
    grid-row:1; grid-column:3;
    margin:0 !important;
  }
  .home-page .site-header .post-link {
    grid-row:1; grid-column:4;
  }
  .home-page .site-header :is(.tracking-top-link,#homeStripReverse,.post-link) {
    display:flex; align-items:center; justify-content:center;
    width:100%; min-width:0; min-height:44px;
    margin:0; padding:6px 4px;
    font-size:0 !important;
    white-space:nowrap;
  }
  .home-page .site-header :is(.tracking-top-link,#homeStripReverse,.post-link)::after {
    font-size:12px; line-height:1.2; font-weight:650;
  }
  .home-page .site-header .language-picker {
    grid-row:2; grid-column:1 / 3; justify-self:start; margin:0;
  }
  .home-page .site-header .portal-admin {
    grid-row:2; grid-column:3 / 5; justify-self:end; margin:0;
  }
}

/* Full button names with a separate mobile action row. */
@media (max-width:750px) {
  .home-page .site-header {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .home-page .site-header .brand { grid-row:1; grid-column:1; }
  .home-page .site-header .language-picker {
    grid-row:1; grid-column:2; justify-self:center; min-width:0;
  }
  .home-page .site-header .language-picker select {
    width:100%; min-width:0; padding-inline:4px; font-size:14px;
  }
  .home-page .site-header .language-picker > span { display:none; }
  .home-page .site-header .portal-admin {
    grid-row:1; grid-column:3; justify-self:end;
    font-size:11px; padding-inline:0; overflow-wrap:anywhere;
  }
  .home-page .site-header .tracking-top-link { grid-row:2; grid-column:1; }
  .home-page .site-header #homeStripReverse { grid-row:2; grid-column:2; }
  .home-page .site-header .post-link { grid-row:2; grid-column:3; }
  .home-page .site-header :is(.tracking-top-link,#homeStripReverse,.post-link) {
    font-size:12px !important;
    white-space:normal !important;
    line-height:1.3;
    min-height:48px;
    padding:8px 5px;
    text-align:center;
    overflow-wrap:anywhere;
  }
  .home-page .site-header :is(.tracking-top-link,#homeStripReverse,.post-link)::after {
    content:none;
  }
}

@media (max-width:750px) {
  .home-page .site-header {
    padding-block:6px;
    row-gap:4px;
  }
  .home-page .site-header :is(.tracking-top-link,#homeStripReverse,.post-link) {
    min-height:34px;
    padding-block:4px;
    line-height:1.2;
  }
  .home-page .flyora-search-bar {
    margin-block:0;
    padding-top:6px;
    padding-bottom:6px;
  }
  .home-page .flyora-search-bar > div { gap:6px; }
  .home-page .compact-market-banner { margin-block:0 6px; }
  .home-page .food-home-menu { padding-block:0; }
  .home-page .flyora-featured { margin-block:6px; padding-block:8px; }
  .home-page .flyora-featured-header { margin-bottom:6px; }
  .home-page .flyora-featured-track { gap:6px; }
  .home-page .flyora-featured-group { gap:6px; padding:0 6px 0 0; }
}

.mobile-main-categories[hidden]{display:none}
@media(max-width:750px){
  .home-page .mobile-main-categories{margin:6px 12px;padding:0}
  .home-page .mobile-main-categories #categoryGrid{
    display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;
  }
  .home-page .mobile-main-categories #categoryGrid>a{min-width:0;margin:0;border-radius:8px}
  .home-page .mobile-main-categories .category-picture{height:46px;min-height:0}
  .home-page .mobile-main-categories .category-caption{padding:5px 3px;min-height:34px}
  .home-page .mobile-main-categories .category-caption b{font-size:11px;line-height:1.2;white-space:normal;overflow-wrap:anywhere}
  .home-page .mobile-main-categories .category-caption small{display:none}
  .home-page .categories-section .section-top{display:none}
  .home-page .food-strip-group .food-cuisine{height:86px;min-height:0;width:100px;min-width:100px;padding:6px;gap:4px}
  .home-page .food-strip-group .food-cuisine>span{font-size:34px}
  .home-page .food-strip-group .food-cuisine>span img{width:36px!important;height:36px!important}
  .home-page .food-strip-group .food-cuisine>b{font-size:12px}
  .home-page .flyora-featured-card{width:220px;min-width:220px;max-width:220px;padding:7px;gap:8px;min-height:76px}
  .home-page .flyora-featured-card img,
  .home-page .flyora-featured-image-fallback{width:52px;height:52px;font-size:28px}
  .home-page .flyora-featured-details{gap:2px}
  .home-page .flyora-featured-details :is(b,strong){font-size:13px}
  .home-page .flyora-featured-details small{font-size:11px}
}

@keyframes flyora-vertical-flow {
  from { transform:translateY(0); }
  to { transform:translateY(-50%); }
}
@media(max-width:750px){
  .home-page .flyora-featured{margin-inline:6px;max-width:calc(100% - 12px);padding:6px}
  .home-page .flyora-featured-track{
    display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr) minmax(0,1fr);
    align-items:start;gap:6px;height:640px;
  }
  .home-page .flyora-featured-row{height:640px;overflow:hidden;grid-row:1}
  .home-page .flyora-featured-row[data-lane="0"]{grid-column:1}
  .home-page .flyora-featured-row[data-lane="1"]{grid-column:3}
  .home-page .mobile-main-categories{
    grid-column:2;grid-row:1;margin:0;width:100%;height:640px;overflow-y:auto;
  }
  .home-page .mobile-main-categories #categoryGrid{
    display:grid;grid-template-columns:minmax(0,1fr);gap:6px;
  }
  .home-page .mobile-main-categories .category-picture{height:43px}
  .home-page .mobile-main-categories .category-caption{min-height:30px;padding:3px}
  .home-page .flyora-featured-lane{
    display:flex;flex-direction:column;width:100%;
    animation-name:flyora-vertical-flow;animation-timing-function:linear;
  }
  .home-page .flyora-featured-group{
    display:flex;flex-direction:column;width:100%;gap:6px;padding:0 0 6px;
  }
  .home-page .flyora-featured-card{
    display:flex;flex-direction:column;align-items:stretch;
    width:100%;min-width:0;max-width:100%;min-height:0;padding:5px;gap:4px;
  }
  .home-page .flyora-featured-card img,
  .home-page .flyora-featured-image-fallback{width:100%;height:76px;object-fit:cover}
  .home-page .flyora-featured-details b{
    font-size:11px;line-height:1.2;white-space:normal;overflow-wrap:anywhere;
  }
  .home-page .flyora-featured-details small{font-size:10px;line-height:1.2;overflow-wrap:anywhere}
  .home-page .flyora-featured-details strong{font-size:12px}
  .home-page .flyora-featured-row[data-lane="1"] .flyora-featured-lane{animation-direction:reverse}
  .home-page.mobile-columns-reversed .flyora-featured-row[data-lane="0"] .flyora-featured-lane{animation-direction:reverse}
  .home-page.mobile-columns-reversed .flyora-featured-row[data-lane="1"] .flyora-featured-lane{animation-direction:normal}
}
@media(max-width:750px) and (prefers-reduced-motion:reduce){
  .home-page .flyora-featured-row{overflow-y:auto}
  .home-page .flyora-featured-lane{animation:none}
}

@media(max-width:750px){
  .home-page .mobile-main-categories .category-picture{height:40px}
  .home-page .mobile-main-categories .category-caption{min-height:28px}
  .home-page .flyora-featured-card{height:156px;overflow:hidden}
  .home-page .flyora-featured-details b{max-height:28px;overflow:hidden}
}

/* Image-led mobile storefront approved in the F141 preview. */
@media(max-width:750px){
  .home-page .flyora-featured-track{
    grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1fr);
    height:650px;gap:4px;
  }
  .home-page .flyora-featured-row{height:650px}
  .home-page .mobile-main-categories{height:650px}
  .home-page .mobile-main-categories #categoryGrid{
    grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;
  }
  .home-page .mobile-main-categories #categoryGrid>a{
    height:158px;display:flex;flex-direction:column;overflow:hidden;
  }
  .home-page .mobile-main-categories .category-picture{
    height:126px;flex:0 0 126px;
  }
  .home-page .mobile-main-categories .category-caption{
    min-height:0;flex:1;display:flex;align-items:center;justify-content:center;
    padding:2px;text-align:center;
  }
  .home-page .mobile-main-categories .category-caption b{
    font-size:10px;line-height:1.15;overflow-wrap:normal;
  }
  .home-page .flyora-featured-group{gap:4px;padding-bottom:4px}
  .home-page .flyora-featured-card{
    display:grid;grid-template-rows:114px 38px;
    height:160px;min-height:160px;padding:3px;gap:2px;
    border-radius:9px;
  }
  .home-page .flyora-featured-card img,
  .home-page .flyora-featured-image-fallback{
    width:100%;height:114px;border-radius:6px;object-fit:cover;
  }
  .home-page .flyora-featured-details{display:flex;flex-direction:column;gap:1px;min-width:0}
  .home-page .flyora-featured-details small{display:none}
  .home-page .flyora-featured-details b{
    font-size:10px;line-height:11px;max-height:22px;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
    overflow:hidden;white-space:normal;
  }
  .home-page .flyora-featured-details strong{
    font-size:10px;line-height:13px;white-space:nowrap;letter-spacing:-.2px;
  }
}

@media(max-width:750px){
  .home-page .flyora-featured-track,
  .home-page .flyora-featured-row,
  .home-page .mobile-main-categories{height:750px}
  .home-page .mobile-main-categories #categoryGrid>a{height:139px}
  .home-page .mobile-main-categories .category-picture{
    height:107px;flex-basis:107px;
  }
  .home-page .flyora-featured-card{
    grid-template-rows:97px 38px;
    height:143px;min-height:143px;
  }
  .home-page .flyora-featured-card img,
  .home-page .flyora-featured-image-fallback{height:97px}
}

/* F145: Header remains in normal flow on landscape phones and tablets. */
.home-page:not(.portal-page) .site-header { height:auto; min-height:70px; flex-wrap:wrap; }
.home-page:not(.portal-page) .site-header .header-actions { position:static; transform:none; flex-wrap:wrap; }
@media (min-width:751px) and (max-width:1200px) {
  .home-page:not(.portal-page) .site-header { padding:10px 20px; gap:8px 12px; }
  .home-page:not(.portal-page) .site-header .header-actions { flex-basis:100%; margin:0; justify-content:flex-end; gap:10px; padding:0; }
}
@media (max-width:750px) {
  .home-page:not(.portal-page) .site-header { display:grid; }
  .home-page:not(.portal-page) .site-header .header-actions { display:contents; }
}


/* All center cards use the same 80/20 split and share one scroll area. */
@media (max-width:750px), (orientation:landscape) and (pointer:coarse) and (max-height:600px) {
  .home-page .flyora-featured .mobile-main-categories {
    --category-row-height:161px;
    overflow-y:auto;
    overscroll-behavior-y:contain;
  }
  .home-page .flyora-featured .mobile-main-categories #categoryGrid,
  .home-page .flyora-featured .mobile-main-categories .flyora-extra-gates {
    grid-template-columns:minmax(0,1fr);
    grid-auto-rows:var(--category-row-height);
    align-content:start;
    height:auto;
    overflow:visible;
    gap:4px;
  }
  .home-page .flyora-featured .mobile-main-categories #categoryGrid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  .home-page .flyora-featured .mobile-main-categories .flyora-extra-gates {
    --category-row-height:116px;
    margin:8px 0 0;
    padding:8px 0 0;
    border-top:1px solid #d6e2ce;
  }
  .home-page .flyora-featured .mobile-main-categories #categoryGrid > a,
  .home-page .flyora-featured .mobile-main-categories .flyora-extra-gates > a {
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    width:100%;
    height:var(--category-row-height);
    min-height:0;
    margin:0;
    padding:0;
    border-radius:8px;
    overflow:hidden;
  }
  .home-page .flyora-featured .mobile-main-categories .category-picture {
    flex:0 0 80%;
    width:100%;
    height:80%;
    min-width:0;
    min-height:0;
    border-radius:0;
  }
  .home-page .flyora-featured .mobile-main-categories .category-picture img {
    width:100%;
    height:100%;
    object-fit:cover;
  }
  .home-page .flyora-featured .mobile-main-categories .category-caption {
    display:grid;
    place-items:center;
    flex:0 0 20%;
    width:100%;
    height:20%;
    min-width:0;
    min-height:0;
    padding:0 3px;
    text-align:center;
  }
  .home-page .flyora-featured .mobile-main-categories #categoryGrid .category-picture {
    flex-basis:calc(100% - 28px);
    height:calc(100% - 28px);
  }
  .home-page .flyora-featured .mobile-main-categories #categoryGrid .category-caption {
    flex-basis:28px;
    height:28px;
  }
  .home-page .flyora-featured .mobile-main-categories .category-caption b {
    display:block;
    font-size:clamp(12px, 3.3vw, 16px);
    line-height:1;
    overflow-wrap:anywhere;
  }
}
