:root{--sf-ink:#111827;--sf-muted:#64748b;--sf-line:#e5e7eb;--sf-accent:#2563eb;--sf-card:#fff}
*{box-sizing:border-box}body.sf-home-page{margin:0;color:#111827;background:#f8fafc;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.sf-header-wrap{position:sticky;top:0;z-index:8000;padding:10px 14px;background:rgba(248,250,252,.92);border-bottom:1px solid rgba(226,232,240,.9);backdrop-filter:blur(16px)}
.sf-header{width:min(1500px,100%);min-height:68px;margin:auto;padding:9px 11px 9px 13px;border:1px solid #e7ebf1;border-radius:19px;background:rgba(255,255,255,.98);box-shadow:0 10px 30px rgba(15,23,42,.07);display:grid;grid-template-columns:minmax(220px,1fr) auto minmax(220px,1fr);align-items:center;gap:18px}
.sf-brand{min-width:0;display:flex;align-items:center;gap:11px;color:var(--sf-ink);text-decoration:none}.sf-brand img,.sf-brand-fallback{width:48px;height:48px;flex:0 0 48px;border:1px solid var(--sf-line);border-radius:14px;background:#fff;object-fit:contain}.sf-brand-fallback{display:grid;place-items:center;color:#1e3a8a;background:#eff6ff;font-size:14px;font-weight:1000}.sf-brand-text{min-width:0;display:flex;flex-direction:column}.sf-brand-text strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:18px;font-weight:1000}.sf-brand-text small{margin-top:3px;color:#94a3b8;font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.sf-nav{display:flex;align-items:center;gap:3px;padding:5px;border:1px solid #edf0f5;border-radius:14px;background:#f8fafc}.sf-nav a,.sf-nav button{min-width:94px;padding:11px 14px;border:0;border-radius:10px;background:transparent;color:#334155;text-align:center;text-decoration:none;font:inherit;font-size:12px;font-weight:1000;cursor:pointer}.sf-nav a:hover,.sf-nav button:hover{background:#fff;color:#1d4ed8}.sf-nav a.active{color:#fff;background:#111827;box-shadow:0 7px 16px rgba(15,23,42,.18)}
.sf-header-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px}.sf-whatsapp,.sf-cart{padding:10px 12px;border-radius:11px;text-decoration:none;font-size:11px;font-weight:1000;white-space:nowrap}.sf-whatsapp{border:1px solid #bbf7d0;color:#047857;background:#ecfdf5}.sf-cart{border:0;color:#fff;background:#111827;cursor:pointer}.sf-cart span{display:inline-grid;place-items:center;min-width:19px;height:19px;margin-left:3px;padding:0 5px;border-radius:99px;color:#111827;background:#fff}.sf-status{white-space:nowrap}.sf-nav-toggle{display:none;width:43px;height:43px;padding:9px;border:1px solid var(--sf-line);border-radius:12px;background:#fff;cursor:pointer}.sf-nav-toggle span{display:block;height:2px;margin:4px 0;border-radius:9px;background:#111827}
.sf-home-shell{width:min(1720px,100%);margin:auto;padding:18px 14px 46px}.sf-hero-grid{display:grid;grid-template-columns:minmax(180px,250px) minmax(0,1fr) minmax(180px,250px);gap:14px;align-items:stretch}.sf-hero-grid.no-left{grid-template-columns:minmax(0,1fr) minmax(180px,250px)}.sf-hero-grid.no-right{grid-template-columns:minmax(180px,250px) minmax(0,1fr)}.sf-hero-grid.no-left.no-right{display:block}.sf-side-banner,.sf-hero-main{overflow:hidden;border-radius:22px;background:#e2e8f0;box-shadow:0 15px 38px rgba(15,23,42,.10)}.sf-side-banner{display:block;min-width:0}.sf-side-banner img{display:block;width:100%;height:100%;object-fit:cover}.sf-hero-main{position:relative;aspect-ratio:4/1;background:#111827}.sf-hero-main .qd-promo-banner,.sf-hero-main .qd-promo-banner-link,.sf-hero-main picture{display:block;width:100%;height:100%;margin:0!important}.sf-hero-main .qd-promo-banner img{width:100%;height:100%;object-fit:cover}.sf-hero-fallback{position:absolute;inset:0;padding:clamp(24px,4vw,58px);display:flex;flex-direction:column;justify-content:center;color:#fff;background:radial-gradient(circle at 82% 18%,rgba(245,158,11,.4),transparent 29%),linear-gradient(135deg,#111827,#1f2937)}.sf-hero-fallback small{font-size:10px;font-weight:1000;letter-spacing:.18em;text-transform:uppercase;opacity:.7}.sf-hero-fallback h1{max-width:780px;margin:12px 0 0;font-size:clamp(30px,4vw,64px);line-height:.98;letter-spacing:-.04em}
.sf-home-intro{max-width:920px;margin:44px auto 34px;padding:0 20px;text-align:center}.sf-home-intro small,.sf-section-heading small{color:#d97706;font-size:10px;font-weight:1000;letter-spacing:.16em;text-transform:uppercase}.sf-home-intro h1{margin:10px 0 12px;color:#111827;font-size:clamp(34px,5vw,62px);line-height:1;letter-spacing:-.045em}.sf-home-intro p{max-width:720px;margin:auto;color:#64748b;font-size:16px;line-height:1.65}.sf-home-intro a{display:inline-flex;margin-top:21px;padding:12px 17px;border-radius:12px;color:#fff;background:#111827;text-decoration:none;font-size:12px;font-weight:1000}
.sf-categories{width:min(1280px,100%);margin:0 auto;padding:30px 0}.sf-section-heading{margin-bottom:18px}.sf-section-heading h2{margin:7px 0 0;color:#111827;font-size:30px;letter-spacing:-.035em}.sf-category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.sf-category-card{position:relative;overflow:hidden;aspect-ratio:1/1;border:1px solid rgba(226,232,240,.9);border-radius:20px;background:#111827;box-shadow:0 13px 32px rgba(15,23,42,.10);text-decoration:none}.sf-category-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.sf-category-card:hover img{transform:scale(1.05)}.sf-category-fallback{position:absolute;inset:0;display:grid;place-items:center;color:rgba(255,255,255,.22);background:linear-gradient(135deg,#1e293b,#334155);font-size:70px;font-weight:1000}.sf-category-card:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.88))}.sf-category-name{position:absolute;z-index:2;left:17px;right:17px;bottom:16px;color:#fff;font-size:17px;font-weight:1000}.sf-category-name small{display:block;margin-top:4px;color:rgba(255,255,255,.72);font-size:9px;letter-spacing:.1em;text-transform:uppercase}
.sf-modal-backdrop{position:fixed;inset:0;z-index:12000;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(15,23,42,.58);backdrop-filter:blur(5px)}.sf-modal-backdrop.open{display:flex}.sf-modal-card{position:relative;width:min(520px,100%);max-height:88vh;overflow:auto;padding:34px;border-radius:24px;background:#fff;box-shadow:0 28px 85px rgba(0,0,0,.32);animation:sfModalIn .2s ease}.sf-modal-close{position:absolute;right:14px;top:14px;width:38px;height:38px;border:0;border-radius:12px;background:#f1f5f9;color:#334155;font-size:23px;cursor:pointer}.sf-modal-kicker{color:#d97706;font-size:10px;font-weight:1000;letter-spacing:.16em;text-transform:uppercase}.sf-modal-card h2{margin:10px 42px 12px 0;color:#111827;font-size:34px;line-height:1.05;letter-spacing:-.04em}.sf-modal-card>p{margin:0;color:#64748b;font-size:15px;line-height:1.7}.sf-modal-primary{display:inline-flex;margin-top:22px;padding:12px 15px;border-radius:11px;color:#fff;background:#111827;text-decoration:none;font-size:12px;font-weight:1000}.sf-modal-whatsapp{background:#16a34a}.sf-contact-list{display:grid;gap:10px;margin-top:20px}.sf-contact-list div{padding:13px 14px;border:1px solid #e2e8f0;border-radius:13px;background:#f8fafc}.sf-contact-list small{display:block;margin-bottom:4px;color:#94a3b8;font-size:9px;font-weight:1000;letter-spacing:.1em;text-transform:uppercase}.sf-contact-list strong{color:#111827;font-size:13px;overflow-wrap:anywhere}@keyframes sfModalIn{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}
@media(max-width:1180px){.sf-header{grid-template-columns:minmax(190px,1fr) auto}.sf-nav{grid-column:1/-1;grid-row:2}.sf-header-actions{grid-column:2;grid-row:1}.sf-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.sf-header-wrap{position:relative;padding:8px}.sf-header{min-height:61px;padding:8px;border-radius:16px;grid-template-columns:minmax(0,1fr) auto auto;gap:8px}.sf-brand img,.sf-brand-fallback{width:43px;height:43px;flex-basis:43px}.sf-brand-text strong{font-size:15px}.sf-brand-text small{display:none}.sf-nav-toggle{display:block}.sf-nav{position:absolute;left:8px;right:8px;top:calc(100% + 7px);z-index:20;display:none;padding:8px;border-radius:15px;background:#fff;box-shadow:0 20px 50px rgba(15,23,42,.2)}.sf-nav.open{display:grid}.sf-nav a,.sf-nav button{min-width:0;text-align:left;padding:13px}.sf-header-actions{grid-column:auto;grid-row:auto}.sf-header-actions .sf-whatsapp,.sf-header-actions .connection-status{display:none}.sf-hero-grid,.sf-hero-grid.no-left,.sf-hero-grid.no-right{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.sf-hero-grid.no-left,.sf-hero-grid.no-right{grid-template-columns:1fr}.sf-hero-main{grid-column:1/-1;grid-row:1;aspect-ratio:8/5;border-radius:17px}.sf-side-banner{display:block;aspect-ratio:1/1;border-radius:17px}.sf-side-banner img{object-fit:cover}.sf-home-shell{padding:10px 8px 34px}.sf-home-intro{margin:30px auto 20px}.sf-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.sf-cart{font-size:0;padding:9px}.sf-cart span{margin:0;font-size:10px}.sf-home-intro{padding:0 10px}.sf-home-intro h1{font-size:37px}.sf-home-intro p{font-size:14px}.sf-categories{padding-top:20px}.sf-category-grid{gap:10px}.sf-category-card{border-radius:16px}.sf-category-name{left:12px;right:12px;bottom:12px;font-size:14px}.sf-modal-card{padding:28px 22px}.sf-modal-card h2{font-size:29px}}
@media(max-width:900px){.sf-side-banner{grid-row:2}}

/* Natural banner sizing: preserve the complete upload with no crop, blur or side-fill. */
.sf-hero-main.has-banner{aspect-ratio:auto;background:transparent}
.sf-hero-main.has-banner .qd-promo-banner,
.sf-hero-main.has-banner .qd-promo-banner-link,
.sf-hero-main.has-banner picture{width:100%;height:auto!important}
.sf-hero-main.has-banner .qd-promo-banner img{display:block;width:100%;height:auto!important;object-fit:contain!important}
.sf-menu-banner,.sf-menu-banner .qd-promo-banner,.sf-menu-banner .qd-promo-banner-link,.sf-menu-banner picture{height:auto!important;aspect-ratio:auto!important}
.sf-menu-banner img{display:block;width:100%;height:auto!important;object-fit:contain!important}
.qd-promo-banner,.qd-promo-banner-link,.qd-promo-banner picture{height:auto!important;aspect-ratio:auto!important}
.qd-promo-banner img{display:block;width:100%;height:auto!important;object-fit:contain!important}
@media(max-width:900px){.sf-hero-main.has-banner{aspect-ratio:auto}}

/* Side banners were retired. Keep the main Hero as the only full-width homepage banner. */
.sf-hero-grid,.sf-hero-grid.no-left,.sf-hero-grid.no-right,.sf-hero-grid.no-left.no-right{display:block}
.sf-side-banner{display:none!important}

/* Match the Customer page container width and responsive side spacing. */
.sf-home-shell{width:min(1420px,calc(100% - 32px));padding:18px 0 46px}
@media(max-width:900px){.sf-home-shell{width:min(100% - 20px,760px);padding:10px 0 34px}}
@media(max-width:640px){.sf-home-shell{width:calc(100% - 16px)}}

/* Menu banner auto-sizes to the uploaded image's own dimensions; never cropped. */
.sf-menu-banner{height:auto!important;aspect-ratio:auto!important}
.sf-menu-banner picture{display:block;width:100%;height:auto!important;aspect-ratio:auto!important}
.sf-menu-banner img{display:block;width:100%;height:auto!important;object-fit:contain!important}

/* Restore the Menu page's original centered banner width and side spacing. */
.sf-menu-banner-wrap{width:min(1428px,100%);margin:14px auto 18px;padding:0 14px}
.sf-menu-banner{display:block;overflow:hidden;width:100%;border:1px solid rgba(226,232,240,.9);border-radius:20px;background:#e2e8f0;box-shadow:0 13px 34px rgba(15,23,42,.09);text-decoration:none}
@media(max-width:900px){.sf-menu-banner-wrap{width:100%;margin:9px auto 12px;padding:0 8px}.sf-menu-banner{border-radius:16px}}

/* Hide both storefront headers behind every floating card, on every viewport. */
body.customer-floating-open{overflow:hidden!important}
body.customer-floating-open .sf-header-wrap,
body.customer-floating-open .mobile-category-bar{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
body.customer-floating-open .cart-fab,
body.customer-floating-open .customer-wa-float,
body.customer-floating-open .active-order-float,
body.customer-floating-open .appointment-status-float{opacity:0!important;visibility:hidden!important;pointer-events:none!important}


/* 2026-08-29 unified mobile website + category navigation. Desktop navigation stays unchanged. */
.sf-mobile-drawer,.sf-mobile-drawer-backdrop{display:none}
@media(max-width:900px){
  .sf-header-wrap{position:sticky!important;top:0;z-index:8000;padding:7px 8px;background:rgba(248,250,252,.96)}
  .sf-header{position:relative;min-height:61px;grid-template-columns:45px minmax(0,1fr) 45px!important;gap:7px!important;padding:7px 8px!important}
  .sf-nav-toggle{display:block;grid-column:1;grid-row:1;justify-self:start;width:43px;height:43px;padding:9px;border-radius:12px}
  .sf-brand{grid-column:2;grid-row:1;justify-self:center;justify-content:center;width:min(100%,440px);gap:8px;text-align:center}
  .sf-brand img,.sf-brand-fallback{width:41px!important;height:41px!important;flex-basis:41px!important;border-radius:12px!important}
  .sf-brand-text{align-items:flex-start;max-width:min(52vw,300px);text-align:left}
  .sf-brand-text strong{max-width:100%;font-size:14px!important}
  .sf-header-actions{grid-column:3!important;grid-row:1!important;justify-self:end;min-width:43px;justify-content:flex-end}
  .sf-header-actions .sf-whatsapp,.sf-header-actions .connection-status{display:none!important}
  .sf-nav{display:none!important}
  body.storefront-modern .mobile-category-bar{display:none!important}

  .sf-mobile-drawer-backdrop{display:block;position:fixed;inset:0;z-index:13990;background:rgba(15,23,42,.42);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s ease,visibility .22s ease;backdrop-filter:blur(2px)}
  .sf-mobile-drawer-backdrop.open{opacity:1;visibility:visible;pointer-events:auto}
  .sf-mobile-drawer{display:flex;position:fixed;left:0;top:0;bottom:0;z-index:14000;width:min(86vw,355px);padding:0 14px 20px;flex-direction:column;background:#fff;box-shadow:24px 0 70px rgba(15,23,42,.26);transform:translateX(-105%);visibility:hidden;pointer-events:none;transition:transform .24s ease,visibility .24s ease;overflow:hidden}
  .sf-mobile-drawer.open{transform:translateX(0);visibility:visible;pointer-events:auto}
  .sf-mobile-drawer-head{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #e5e7eb}
  .sf-mobile-drawer-head div{min-width:0}.sf-mobile-drawer-head small{display:block;margin-bottom:3px;color:#94a3b8;font-size:9px;font-weight:1000;letter-spacing:.14em;text-transform:uppercase}.sf-mobile-drawer-head strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#111827;font-size:17px}
  .sf-mobile-drawer-head button{width:40px;height:40px;flex:0 0 40px;border:0;border-radius:12px;background:#f1f5f9;color:#111827;font-size:25px;line-height:1;cursor:pointer}
  .sf-mobile-main-links{display:grid;gap:3px;padding:14px 0 10px}
  .sf-mobile-main-links a,.sf-mobile-main-links button{width:100%;min-height:47px;padding:12px 10px;border:0;border-radius:11px;background:transparent;color:#1f2937;text-align:left;text-decoration:none;font:inherit;font-size:13px;font-weight:1000;letter-spacing:.085em;text-transform:uppercase;cursor:pointer}
  .sf-mobile-main-links a.active,.sf-mobile-main-links a:hover,.sf-mobile-main-links button:hover{color:#fff;background:#111827}
  .sf-mobile-drawer-separator{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:9px;margin:3px 0 9px;color:#94a3b8}.sf-mobile-drawer-separator span{height:1px;background:#e2e8f0}.sf-mobile-drawer-separator strong{font-size:9px;font-weight:1000;letter-spacing:.14em;text-transform:uppercase}
  .sf-mobile-category-links{display:grid;flex:1;align-content:start;gap:3px;min-height:0;overflow-y:auto;padding:0 2px 18px 0;overscroll-behavior:contain}
  .sf-mobile-category-links a{min-height:44px;padding:10px 10px 10px 12px;border:1px solid transparent;border-radius:11px;display:flex;align-items:center;justify-content:space-between;gap:10px;color:#475569;background:#f8fafc;text-decoration:none;font-size:13px;font-weight:850}
  .sf-mobile-category-links a b{color:#94a3b8;font-size:20px;line-height:1}.sf-mobile-category-links a:hover,.sf-mobile-category-links a.active{border-color:#e2e8f0;color:#111827;background:#eef2f7}
  body.sf-drawer-open{overflow:hidden!important}
}
@media(max-width:420px){
  .sf-brand-text strong{font-size:13px!important}.sf-brand img,.sf-brand-fallback{width:38px!important;height:38px!important;flex-basis:38px!important}.sf-brand{gap:7px}
}


/* 2026-08-30 help contact + social media links. */
.sf-help{min-width:104px;padding:7px 10px;border:1px solid #dbeafe;border-radius:11px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;color:#1e3a8a;background:#eff6ff;text-decoration:none;line-height:1.05;white-space:nowrap}
.sf-help strong{font-size:11px;font-weight:1000}.sf-help small{margin-top:4px;color:#475569;font-size:9px;font-weight:850;letter-spacing:.015em}
.sf-social-links{display:flex;align-items:center;gap:6px}.sf-social-icon{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border:1px solid #e2e8f0;border-radius:10px;color:#334155;background:#fff;text-decoration:none;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.sf-social-icon:hover{transform:translateY(-1px);border-color:#cbd5e1;box-shadow:0 7px 18px rgba(15,23,42,.10)}.sf-social-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.sf-social-facebook svg,.sf-social-tiktok svg{fill:currentColor;stroke:none}.sf-social-icon svg .fill{fill:currentColor;stroke:none}
.sf-mobile-drawer-footer{display:none}
@media(max-width:1180px) and (min-width:901px){.sf-help{min-width:96px}.sf-social-icon{width:32px;height:32px;flex-basis:32px}.sf-social-icon svg{width:17px;height:17px}}
@media(max-width:900px){
  .sf-header-actions .sf-help,.sf-header-actions .sf-desktop-socials{display:none!important}
  .sf-mobile-drawer-footer{display:block;flex:0 0 auto;margin-top:auto;padding:13px 2px 0;border-top:1px solid #e5e7eb;background:#fff}
  .sf-mobile-socials{justify-content:center;gap:13px;padding:1px 0 2px}
  .sf-mobile-socials .sf-social-icon{width:42px;height:42px;flex-basis:42px;border-radius:13px;background:#f8fafc}
  .sf-mobile-socials .sf-social-icon svg{width:20px;height:20px}
}


/* v20260830-cart2: consistent header cart button on Home + Menu. */
.sf-cart{min-width:48px;height:43px;padding:0 11px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:12px;text-decoration:none!important;line-height:1;box-shadow:0 8px 20px rgba(15,23,42,.12);transition:transform .18s ease,box-shadow .18s ease}
.sf-cart:hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(15,23,42,.18)}
.sf-cart-svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:0 0 21px}
.sf-cart span{margin-left:0;min-width:20px;height:20px;padding:0 5px;font-size:10px;font-weight:1000}
@media(max-width:900px){
  .sf-header-actions .sf-desktop-socials,.sf-header-actions .sf-help{display:none!important}
  .sf-cart{width:43px;min-width:43px;height:43px;padding:0;position:relative;overflow:visible}
  .sf-cart-svg{width:22px;height:22px}
  .sf-cart span{position:absolute;right:-5px;top:-5px;min-width:19px;height:19px;padding:0 5px;border:2px solid #fff;font-size:9px;box-shadow:0 5px 12px rgba(15,23,42,.18)}
}
