/* Family Food V16 — product-first storefront, fixed responsive header, express POS, checkout */
:root{--ff-v16-orange:#ef6623;--ff-v16-radius:22px}
html{scroll-padding-top:84px}
body{padding-top:78px!important}
.topbar{position:fixed!important;top:0!important;left:0;right:0;width:100%;z-index:2147481000!important;background:rgba(255,253,249,.98)!important;box-shadow:0 6px 25px #2f170b10!important}
.topbar-inner{max-width:1480px!important;min-height:78px!important;gap:9px!important;padding:9px 16px!important}
.topbar .brand img{width:123px!important;height:50px!important}
.topbar .ff-global-menu{display:inline-flex!important;flex:none;min-width:40px;width:40px;height:40px}
.nav-links{flex:0 1 auto!important;overflow:visible!important}
.nav-links a{padding:9px!important;font-size:12px!important}
.header-search{flex:1 1 210px!important;min-width:100px!important;max-width:300px!important}
.nav-actions{gap:5px!important;flex:0 0 auto!important}
.nav-actions .header-action{padding:8px!important;min-width:42px!important}
.nav-actions .header-action span{display:none!important}
.nav-actions .profile-link{max-width:55px!important;padding:5px!important;min-width:45px!important;justify-content:center!important}
.nav-actions .profile-name,.nav-actions .profile-link small{display:none!important}
.mobile-menu-panel,.mobile-menu-backdrop{position:fixed!important}
.ff-drawer-logout{padding:15px 5px 30px}
body.menu-open .topbar{isolation:auto!important}
/* Home: immediate menu browsing, no long editorial blocks */
.ff-home-welcome{display:grid;grid-template-columns:38% 62%;height:280px;border-radius:27px;overflow:hidden;background:#261812;color:#fff;position:relative;margin:0 0 18px}
.ff-home-copy{padding:23px 32px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:12px;background:#291b15}
.ff-home-copy h1{font-family:Outfit,Inter,sans-serif;font-weight:950;color:#fff;font-size:clamp(32px,3.6vw,58px);line-height:1.03;margin:0;letter-spacing:-.035em}
.ff-home-copy h1 em{color:#ff994f;font-style:normal}.ff-home-copy .actions{gap:8px}.ff-home-copy .btn{font-size:12px;padding:9px 13px;min-height:40px}.ff-home-copy .btn-outline{background:transparent!important;border-color:#9b8275!important;color:#fff!important}
.ff-home-showcase{height:100%;position:relative;overflow:hidden;background:#392218}
.ff-home-slide{position:absolute;inset:0;opacity:0;visibility:hidden;background-position:center;background-size:cover;transition:opacity .55s ease,visibility .55s ease;display:flex!important;align-items:flex-end;padding:20px 25px}
.ff-home-slide:before{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#19100cd1)}
.ff-home-slide strong{position:relative;z-index:1;font-size:22px;color:#fff;letter-spacing:-.03em}
.ff-home-slide.is-active{opacity:1;visibility:visible;z-index:1}
.ff-home-slider-controls{position:absolute;z-index:5;bottom:16px;right:18px;display:flex;align-items:center;gap:8px;color:#fff}
.ff-home-slider-controls>button{width:29px;height:29px;border:1px solid #ffffff88;border-radius:50%;color:#fff;background:#281b17ac;cursor:pointer}
.ff-home-slider-controls .exp-hero-counter{font-size:11px;margin:0 3px}.ff-home-slider-controls .exp-hero-dots{display:flex;gap:5px}.ff-home-slider-controls .exp-hero-dots button{background:#ffffff75;width:7px;height:7px;border:none;border-radius:50%;padding:0;cursor:pointer}.ff-home-slider-controls .exp-hero-dots button[aria-current='true']{width:19px;border-radius:7px;background:#f76b26}
.ff-menu-first{scroll-margin-top:85px}.ff-shop-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:18px 0 12px}
.ff-shop-head h2{font-family:Outfit,Inter,sans-serif;font-weight:950;font-size:clamp(24px,3.3vw,37px);letter-spacing:-.035em;margin:2px 0}
.ff-home-category-list{display:flex;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;padding:5px 0 12px;scrollbar-width:thin}
.ff-category-chip{flex:0 0 auto;border:1px solid #e9d6c8;border-radius:999px;padding:9px 16px;background:#fff;font-size:13px;font-weight:800;color:#594336;cursor:pointer;white-space:nowrap}
.ff-category-chip.active{background:#f36a21;color:#fff;border-color:#f36a21}
.ff-home-search{display:flex;align-items:center;gap:10px;padding:4px 7px 4px 15px;border:1px solid #e9dacf;background:#fff;border-radius:15px;max-width:600px;margin:0 0 16px}
.ff-home-search input{height:39px;border:none;outline:none;min-width:0;flex:1;background:transparent;color:#201710}
.ff-home-search .icon-btn{width:30px;height:30px;border:none;background:#fff3e9}
.ff-home-products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.ff-home-products .exp-product-photo{height:clamp(150px,18vw,260px)}
.ff-home-products .exp-product-body{padding:13px}.ff-home-products .exp-product-desc{display:none}.ff-home-products .exp-product-meta{display:none}
.ff-home-products .exp-product-body h3{min-height:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ff-home-more{text-align:center;margin:18px 0 24px}
.ff-bottom-banner{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0 27px}
.ff-bottom-banner>a{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid #ecdbcf;border-radius:18px;padding:17px;color:var(--ff-ink)}
.ff-bottom-banner>a>i:first-child{width:43px;height:43px;display:grid;place-items:center;border-radius:12px;color:#e75817;background:#fff0e4}
.ff-bottom-banner span{flex:1;min-width:0}.ff-bottom-banner span>*{display:block}.ff-bottom-banner small{font-size:12px;color:var(--ff-muted);line-height:1.35}
/* Cart */
.ff-checkout-layout{grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr)!important;align-items:start}
.ff-checkout-panel{position:sticky;top:95px}.ff-fulfillment{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:16px 0}
.ff-mode{border:2px solid #f0e0d3;background:#fff;border-radius:16px;padding:12px 6px;min-height:98px;cursor:pointer;color:#413125;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}
.ff-mode i{font-size:20px;color:#dd6b28}.ff-mode strong{font-size:14px}.ff-mode small{font-size:11px;color:#998174}
.ff-mode.is-active{border-color:#f36a21;background:#fff2e9;box-shadow:0 0 0 2px #f36a2110}
.ff-delivery-box{border-top:1px solid var(--ff-border);padding-top:12px}.ff-checkout-step{display:flex;align-items:center;gap:10px;margin:10px 0}
.ff-checkout-step>span{display:grid;place-items:center;border-radius:50%;width:28px;height:28px;background:#f36a21;color:#fff;font-weight:900}
.ff-checkout-step strong,.ff-checkout-step small{display:block}.ff-checkout-step small{font-size:11px;color:var(--ff-muted)}
.ff-checkout-map{height:270px;min-height:270px;border-radius:15px;overflow:hidden;z-index:1}
.ff-delivery-box .actions{margin:10px 0;gap:7px}.ff-delivery-box .actions .btn{font-size:12px;min-height:40px}
.ff-delivery-box textarea{min-height:62px;resize:vertical}.ff-route-info{display:flex;align-items:center;gap:8px;padding:12px;background:#ecfff1;border:1px solid #bbebcd;border-radius:12px;font-size:12px}
.ff-checkout-totals{border:1px solid #f0e0d4;background:#fffaf6;border-radius:16px;padding:15px;margin:12px 0}
.ff-checkout-totals .split-actions{margin:7px 0}.ff-checkout-totals .ff-grand-total{padding-top:12px;border-top:1px solid #e6d2c4;font-size:18px}
.ff-confirm-order{min-height:52px}.ff-cart-line{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:11px;margin:8px 0;padding:12px!important;min-height:105px}
.ff-cart-line>a{display:flex;align-items:center;gap:10px;min-width:0}.ff-cart-thumbnail{width:78px;height:78px;border-radius:13px;object-fit:cover;background:#f9eee5;flex:none}
.ff-cart-line a span{min-width:0}.ff-cart-line a span>*{display:block}.ff-cart-line a strong{overflow-wrap:anywhere;font-size:13px}.ff-cart-line a small{color:var(--ff-muted);font-size:12px}
.ff-cart-line .qty{display:flex;align-items:center;gap:5px}.ff-cart-line .qty button{height:36px;width:35px;font-size:17px}
.ff-line-end{display:flex;align-items:center;justify-content:end;gap:8px}.ff-line-end>b{white-space:nowrap;font-size:13px}
.ff-cart-empty i{font-size:30px;color:#ed6725}.ff-busy{opacity:.65;pointer-events:none}
/* POS: product-first express sale */
.sale-workspace{grid-template-columns:minmax(0,1.3fr) minmax(330px,.7fr)!important;gap:13px!important}
.sale-left{display:flex!important;flex-direction:column;gap:11px!important}
.sale-left>.quick-panel{order:0}.sale-left>section:has(#short){order:1}.sale-left>.scan-panel{order:2}
.sale-cart-panel{position:sticky!important;top:96px!important;padding:16px!important}
.ff-pos-search{display:flex;align-items:center;gap:8px;background:#fffaf5;border:1px solid #efdacd;border-radius:12px;padding:0 12px;margin:13px 0 10px}
.ff-pos-search input{width:100%;height:42px;border:0;outline:0;background:transparent;color:var(--ff-ink);min-width:0}
.quick-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;max-height:600px;overflow-y:auto}
.ff-pos-product{min-height:126px;display:flex!important;flex-direction:column;align-items:stretch!important;text-align:left!important;position:relative;overflow:hidden;gap:5px!important;border-radius:13px!important;padding:7px!important;cursor:pointer}
.ff-pos-product>img{width:100%;height:83px;object-fit:cover;border-radius:9px;background:#ffe8d5}
.ff-pos-product .ff-pos-info{display:flex;flex-direction:column;min-width:0;line-height:1.25}.ff-pos-product .quick-product-name{font-size:12px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.ff-pos-product strong{font-size:12px;color:#e85c20!important}.ff-pos-product small{font-size:10px}.ff-pos-product>i{position:absolute;right:10px;top:10px;background:#f36a21;color:#fff;border-radius:50%;width:27px;height:27px;display:grid;place-items:center}
.ff-pos-product:disabled{opacity:.5;cursor:not-allowed}.ff-sale-success{margin-top:11px;padding:12px;border-radius:12px;background:#e7f9ee;display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;color:#17693d}
.ff-sale-success[hidden]{display:none}.ff-sale-success div{display:flex;gap:8px;align-items:center}
.ff-upload-qr{cursor:pointer;margin:10px 4px}
/* tablet/mobile keep useful actions in one line, hamburger handles the rest */
@media(max-width:1160px){.nav-links{display:none!important}.header-search{flex:1 1 200px!important;max-width:none!important}.nav-actions .utility-action,.nav-actions .logout-link{display:none!important}}
@media(max-width:900px){html{scroll-padding-top:66px}body{padding-top:62px!important}.topbar-inner{height:62px!important;min-height:62px!important;display:flex!important;align-items:center!important;padding:6px 10px!important;gap:5px!important}.topbar .brand img{width:105px!important;height:45px!important}.header-left{flex:0 0 auto!important}.nav-actions{margin-left:auto!important;min-width:0!important;gap:5px!important;overflow:hidden!important}.nav-actions .header-action,.nav-actions .profile-link{flex:0 0 38px!important;width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important}.nav-actions .header-action:nth-child(n+4){display:none!important}.nav-actions .utility-action,.nav-actions .logout-link{display:none!important}.topbar .header-search{display:none!important}.ff-home-welcome{height:225px;grid-template-columns:46% 54%}.ff-home-copy{padding:18px;gap:9px}.ff-home-copy h1{font-size:clamp(30px,5vw,43px)}.ff-home-copy .btn{padding:8px;font-size:11px}.ff-home-products{grid-template-columns:repeat(3,minmax(0,1fr))}.ff-checkout-layout{grid-template-columns:1fr!important}.ff-checkout-panel{position:static}.sale-workspace{grid-template-columns:1fr!important}.sale-cart-panel{position:static!important}.quick-product-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(max-width:600px){.ff-home-welcome{height:300px;display:flex;flex-direction:column-reverse}.ff-home-showcase{height:150px;flex:1}.ff-home-copy{padding:11px 15px 14px;flex:0 0 126px;gap:8px}.ff-home-copy h1{font-size:30px;line-height:1.04}.ff-home-copy h1 br{display:none}.ff-home-copy .exp-eyebrow{display:none}.ff-home-copy .btn{min-height:34px}.ff-home-slide strong{font-size:16px}.ff-home-slider-controls{bottom:9px;right:9px}.ff-home-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ff-shop-head h2{font-size:25px}.ff-shop-head .btn{padding:8px 10px;font-size:11px}.ff-bottom-banner{grid-template-columns:1fr;gap:8px}.ff-bottom-banner>a{padding:12px}.ff-cart-line{grid-template-columns:minmax(0,1fr) auto!important;gap:6px}.ff-cart-line>a{grid-column:1/-1}.ff-line-end{grid-column:2;grid-row:2}.ff-cart-line .qty{grid-column:1;grid-row:2}.quick-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.ff-pos-product>img{height:77px}.topbar .brand img{width:96px!important}.nav-actions .header-action:nth-child(n+3){display:none!important}}
@media(max-width:375px){.ff-home-products{gap:7px}.ff-home-copy h1{font-size:27px}.ff-shop-head .btn{font-size:10px}.ff-cart-thumbnail{width:65px;height:65px}.quick-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
:root[data-theme='dark'] .topbar{background:#050505!important;border-color:#292929!important}:root[data-theme='dark'] .ff-home-copy{background:#161010}:root[data-theme='dark'] .ff-category-chip,:root[data-theme='dark'] .ff-home-search,:root[data-theme='dark'] .ff-bottom-banner>a,:root[data-theme='dark'] .ff-mode,:root[data-theme='dark'] .ff-checkout-totals,:root[data-theme='dark'] .ff-pos-search{background:#111!important;color:#fff!important;border-color:#333!important}:root[data-theme='dark'] .ff-category-chip.active,:root[data-theme='dark'] .ff-mode.is-active{background:#271408!important;border-color:#f36a21!important}:root[data-theme='dark'] .ff-home-search input,:root[data-theme='dark'] .ff-pos-search input{color:#fff}:root[data-theme='dark'] .ff-route-info{background:#092017;border-color:#245139;color:#ecfff6}:root[data-theme='dark'] .ff-sale-success{background:#112c20;color:#c8ffe0}
@media(prefers-reduced-motion:reduce){.ff-home-slide{transition:none}}
/* Mobile header priorities: logo, menu, cart (or sign-in), profile. Other links remain in the drawer. */
@media(max-width:900px){.topbar .nav-actions .header-action{display:none!important}.topbar .nav-actions .header-action[href*="customer/cart.php"],.topbar .nav-actions .header-action[href*="login.php"]{display:inline-flex!important}.topbar .nav-actions .profile-link{display:flex!important}}
