:root[data-theme='light']{--navy:#0f5aa8;--navy2:#0b4a8a;--teal:#ef1d24;--teal2:#f02a31;--amber:#ffc928;--bg:#f6f1ed;--card:#fffaf7;--text:#182331;--muted:#66717b;--line:#e5dbd5;--shadow:0 16px 44px rgba(25,50,74,.10)}
:root[data-theme='dark']{--navy:#5ca8f3;--navy2:#2f78bd;--teal:#ff4148;--teal2:#ff555b;--amber:#ffd24a}
.jjBrand{gap:10px}.brandLogo{width:46px;height:46px;border-radius:13px;object-fit:cover;background:#fff;border:2px solid rgba(239,29,36,.18);box-shadow:0 7px 18px rgba(15,90,168,.12)}.jjBrand strong{font-size:16px;letter-spacing:-.02em}.jjBrand strong em{font-style:italic;color:#ef1d24}.jjBrand small{font-size:9px;letter-spacing:.04em}.header{border-bottom-color:rgba(239,29,36,.13)}.desktopNav a.active:after{background:#ef1d24}.desktopNav a.active,.desktopNav a:hover{color:#0f5aa8}.themeToggle{color:#0f5aa8}
.jjHero{background:linear-gradient(135deg,#073b73 0%,#0f5aa8 58%,#aa1118 125%)}.jjHero:before{border-color:rgba(255,255,255,.12)}.jjHero h1 em{color:#ffb9bc}.jjHero .primaryBtn{background:#ef1d24;color:#fff;box-shadow:0 12px 28px rgba(122,0,5,.30)}.jjHero .secondaryBtn{background:rgba(255,255,255,.12)}.jjHeroArt{min-height:390px}.logoShowcase{width:min(360px,78%);padding:18px;border-radius:30px;background:#fff;box-shadow:0 28px 70px rgba(0,0,0,.30);transform:rotate(2deg);position:relative}.logoShowcase:after{content:'';position:absolute;inset:-9px;border:2px solid rgba(255,255,255,.26);border-radius:36px;pointer-events:none}.logoShowcase img{width:100%;display:block;border-radius:22px}.logoShowcase>span{position:absolute;right:20px;bottom:18px;background:#0f5aa8;color:#fff;font-size:10px;font-weight:800;padding:8px 11px;border-radius:999px;letter-spacing:.08em;text-transform:uppercase}.jjHero .floatingStat b{color:#ef1d24}.jjHero .floatingBox{color:#0f5aa8}
.productCard{overflow:hidden}.productPhoto{height:205px;padding:0;background:#fff}.productPhoto:after{content:none}.productPhoto img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .25s ease}.productCard:hover .productPhoto img{transform:scale(1.035)}.productPhoto>b{background:#ef1d24;color:#fff}.productMeta>small{color:#ef1d24}.productMeta>strong{color:#0f5aa8}.tierHint{background:#eef5fc;color:#0f5aa8}.detailBtn{border-color:rgba(15,90,168,.24);color:#0f5aa8;background:#fff}.detailBtn:hover{background:#0f5aa8;color:#fff;border-color:#0f5aa8}
.homeCategoryGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.homeCategoryCard{background:var(--card);border:1px solid var(--line);border-radius:22px;overflow:hidden;transition:.22s;box-shadow:0 6px 20px rgba(25,50,74,.035)}.homeCategoryCard:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:rgba(239,29,36,.28)}.homeCategoryCard>img{width:100%;height:150px;object-fit:cover;display:block}.homeCategoryCard>div{padding:14px 15px 16px}.homeCategoryCard b{display:block;font-size:13px;color:var(--text)}.homeCategoryCard small{display:block;color:var(--muted);font-size:10px;line-height:1.5;margin-top:5px}
.menuHero{background:linear-gradient(135deg,#edf5fd,#fff4f3);border-color:rgba(15,90,168,.15)}.categoryHero{background:linear-gradient(135deg,#fff0ef,#eef6ff);border-color:rgba(239,29,36,.16)}.categoryShowcaseGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:28px}.categoryShowcaseCard{min-height:300px;border-radius:26px;overflow:hidden;position:relative;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);transition:.22s}.categoryShowcaseCard:hover{transform:translateY(-5px);box-shadow:0 22px 55px rgba(25,50,74,.16)}.categoryShowcaseCard>img{width:100%;height:100%;min-height:300px;object-fit:cover;display:block}.categoryShowcaseOverlay{position:absolute;inset:auto 0 0;padding:54px 22px 21px;background:linear-gradient(transparent,rgba(7,31,56,.90));color:#fff}.categoryShowcaseOverlay>span{display:inline-block;background:#ef1d24;border-radius:999px;padding:6px 9px;font-size:9px;font-weight:800}.categoryShowcaseOverlay h2{font-size:25px;margin:10px 0 5px}.categoryShowcaseOverlay p{font-size:10px;line-height:1.5;color:#e5edf5;margin:0 0 12px}.categoryShowcaseOverlay b{display:flex;align-items:center;gap:6px;font-size:10px;color:#fff}
.jjDetailVisual{padding:0;overflow:hidden;border:1px solid var(--line);position:relative}.jjDetailVisual img{width:100%;height:100%;min-height:520px;object-fit:cover;display:block}.jjDetailVisual>small{position:absolute;left:18px;bottom:18px;background:#ef1d24;color:#fff;padding:8px 12px;border-radius:999px;font-weight:800;box-shadow:0 10px 24px rgba(0,0,0,.15)}.detailInfo .eyebrow{color:#ef1d24}.detailInfo>strong,.tiers strong{color:#0f5aa8}.tiers{border-left:4px solid #ef1d24}
.jjPromoCard{background:linear-gradient(135deg,#0b4f93,#0f5aa8)}.jjPromoCard:nth-child(2n){background:linear-gradient(135deg,#c81018,#ef1d24)}.jjPromoCard:nth-child(3n){background:linear-gradient(135deg,#092f58,#0f5aa8)}.jjPromoCard .promoBadge{color:#ef1d24}.promoTypes>div{border-top:4px solid #ef1d24}
:root[data-theme='dark'] .promoTypes>div{background:#f1ece6!important;border-color:#ef1d24!important;color:#171c22!important;box-shadow:0 12px 34px rgba(0,0,0,.24)}:root[data-theme='dark'] .promoTypes>div h3{color:#171c22!important}:root[data-theme='dark'] .promoTypes>div p{color:#3d434a!important}
.headerActions{display:flex;align-items:center;gap:8px}.cartHeaderBtn{width:42px;height:42px;border-radius:14px;border:1px solid var(--line);display:grid;place-items:center;color:#0f5aa8;background:var(--card);position:relative;text-decoration:none;transition:.2s}.cartHeaderBtn>b{position:absolute;top:-5px;right:-5px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#ef1d24;color:#fff;font-size:10px;display:grid;place-items:center;border:2px solid var(--card)}
.mobileNav{grid-template-columns:repeat(5,minmax(0,1fr))}.mobileCartIcon{position:relative;display:grid;place-items:center}.mobileCartIcon>b{position:absolute;top:-7px;right:1px;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:#ef1d24;color:#fff;font-size:8px;display:grid;place-items:center}.productActions{display:grid;grid-template-columns:.85fr 1.15fr;gap:8px;padding:0 14px 14px}.cartAddBtn{min-height:42px;border:0;border-radius:13px;background:#ef1d24;color:#fff;font:inherit;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;transition:.2s}.cartAddBtn:hover{background:#d91920;transform:translateY(-1px)}.cartAddBtn.added{background:#0f5aa8}.detailCartRow{display:flex;align-items:center;gap:12px;margin:18px 0}.detailQty{height:46px}.detailCartBtn{border:0;min-height:46px;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}.detailCartBtn.added{background:#0f5aa8}.cartHero{background:linear-gradient(135deg,#edf5fd,#fff2f1);border-color:rgba(239,29,36,.16)}.cartProductVisual{overflow:hidden;padding:0!important}.cartProductVisual img{width:100%;height:100%;object-fit:cover;display:block}.cartLineTotal{white-space:nowrap}.cartSummary{position:sticky;top:110px}.cartSummary .total b{color:#0f5aa8}.cartBackBtn{display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;margin-top:14px}
:root[data-theme='dark'] .jjBrand strong{color:#f2f7fb}:root[data-theme='dark'] .jjBrand strong em{color:#ff555b}:root[data-theme='dark'] .productMeta>strong,:root[data-theme='dark'] .detailInfo>strong,:root[data-theme='dark'] .tiers strong{color:#69aff2}:root[data-theme='dark'] .tierHint{background:#14283a;color:#78b6f0}:root[data-theme='dark'] .detailBtn{background:#101e2c;color:#75b8f7;border-color:#294964}:root[data-theme='dark'] .menuHero,:root[data-theme='dark'] .categoryHero,:root[data-theme='dark'] .cartHero{background:linear-gradient(135deg,#10263c,#23191d);border-color:#2b4053}:root[data-theme='dark'] .homeCategoryCard{background:#0f1c29;border-color:#223443}
@media(max-width:1000px){.homeCategoryGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.categoryShowcaseGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.logoShowcase{width:min(330px,82%)}}
@media(max-width:680px){.brandLogo{width:40px;height:40px;border-radius:11px}.jjBrand strong{font-size:14px}.jjBrand small{font-size:8px}.jjHeroArt{min-height:310px}.logoShowcase{width:84%}.homeCategoryGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.homeCategoryCard>img{height:112px}.categoryShowcaseGrid{grid-template-columns:1fr;gap:14px}.categoryShowcaseCard,.categoryShowcaseCard>img{min-height:250px}.productPhoto{height:180px}.jjDetailVisual img{min-height:340px}.productActions{grid-template-columns:1fr 1fr;padding:0 11px 12px}.detailCartRow{align-items:stretch;flex-direction:column}.detailQty{width:100%;justify-content:space-between}.detailCartBtn{width:100%}.cartProductVisual{width:68px!important;height:68px!important;border-radius:14px}.cartItems article{grid-template-columns:68px 1fr auto!important;gap:10px!important}.cartItems article .qty{grid-column:2}.cartLineTotal{grid-column:2}.cartItems article .trash{grid-column:3;grid-row:1}.cartSummary{position:static}}

/* Fulfillment / shipping */
.fulfillmentCard{margin-top:22px;background:var(--card);border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:0 8px 28px rgba(25,50,74,.05)}.fulfillmentHead{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:15px}.fulfillmentHead span{font-size:9px;font-weight:800;letter-spacing:.12em;color:#ef1d24}.fulfillmentHead h3{font-size:17px;margin:5px 0 0;color:var(--navy)}.fulfillmentHead small{font-size:10px;color:var(--muted)}.fulfillmentOptions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.fulfillmentOption{border:1px solid var(--line);border-radius:15px;background:var(--card);padding:15px;text-align:left;color:var(--text);transition:.18s}.fulfillmentOption b{display:block;font-size:12px;color:var(--navy)}.fulfillmentOption small{display:block;font-size:9px;color:var(--muted);line-height:1.55;margin-top:4px}.fulfillmentOption.active{border:2px solid #ef1d24;background:rgba(239,29,36,.045);padding:14px}.deliveryQuote{margin-top:12px;padding:14px 15px;border-radius:14px;background:rgba(15,90,168,.07);display:flex;align-items:center;justify-content:space-between;gap:14px}.deliveryQuote b,.deliveryQuote span{display:block}.deliveryQuote b{font-size:11px;color:var(--navy)}.deliveryQuote span{font-size:9px;color:var(--muted);margin-top:3px;line-height:1.45}.locateBtn{background:var(--card);color:#0f5aa8;border:1px solid rgba(15,90,168,.2);white-space:nowrap;padding:10px 14px}.pickupNote{margin-top:12px;padding:12px 14px;border-radius:13px;background:#ecfdf5;color:#047857;font-size:10px;font-weight:700}.fulfillmentCheckout{display:grid;gap:5px;padding:15px;border-radius:14px;background:rgba(15,90,168,.07)}.fulfillmentCheckout b{font-size:12px;color:var(--navy)}.fulfillmentCheckout span{font-size:10px;color:var(--muted)}.fulfillmentCheckout a{font-size:10px;color:#ef1d24;font-weight:800;margin-top:4px}.orderDeliveryInfo{margin-top:22px;padding:14px 16px;border-radius:14px;background:rgba(15,90,168,.07);display:flex;justify-content:space-between;gap:12px;font-size:10px}.orderDeliveryInfo b{color:var(--navy)}.orderDeliveryInfo span{color:var(--muted)}.pickupSteps{grid-template-columns:repeat(4,1fr)!important}
:root[data-theme='dark'] .fulfillmentCard{background:#0f1c29;border-color:#223443}:root[data-theme='dark'] .fulfillmentOption{background:#101f2d;border-color:#29404f;color:#e8f0f5}:root[data-theme='dark'] .fulfillmentOption.active{background:#23191d;border-color:#ff555b}:root[data-theme='dark'] .deliveryQuote,:root[data-theme='dark'] .fulfillmentCheckout,:root[data-theme='dark'] .orderDeliveryInfo{background:#10263c}
@media(max-width:680px){.fulfillmentHead{flex-direction:column}.fulfillmentOptions{grid-template-columns:1fr}.deliveryQuote{align-items:stretch;flex-direction:column}.locateBtn{width:100%}.orderDeliveryInfo{flex-direction:column}.pickupSteps{grid-template-columns:1fr!important}}


/* V6 — requested light/dark fixes only */
:root[data-theme='light'] .promoHero{
  background:#ef1d24!important;
  border-color:#ef1d24!important;
}
:root[data-theme='light'] .promoHero>span,
:root[data-theme='light'] .promoHero h1,
:root[data-theme='light'] .promoHero p{
  color:#fff!important;
}
:root[data-theme='light'] .jjPromoCard>span{
  color:#fff!important;
}

:root[data-theme='light'] .checkoutHero{
  background:#ef1d24!important;
  border-color:#ef1d24!important;
}
:root[data-theme='light'] .checkoutHero>span,
:root[data-theme='light'] .checkoutHero h1,
:root[data-theme='light'] .checkoutHero p{
  color:#fff!important;
}

:root[data-theme='light'] .orderLookup .primaryBtn,
:root[data-theme='light'] .emptyCart .primaryBtn,
:root[data-theme='light'] .cartSummary .primaryBtn{
  color:#fff!important;
}

:root[data-theme='dark'] .unit,
:root[data-theme='dark'] .detailNotes,
:root[data-theme='dark'] .detailNotes span,
:root[data-theme='dark'] .tiers,
:root[data-theme='dark'] .tiers>b,
:root[data-theme='dark'] .tiers>div,
:root[data-theme='dark'] .tiers>div span,
:root[data-theme='dark'] .infoCards h3,
:root[data-theme='dark'] .infoCards p{
  color:#dce8f0!important;
}
:root[data-theme='dark'] .tiers{
  background:#0b1823!important;
  border-color:#223443!important;
}
:root[data-theme='dark'] .tiers>div{
  border-color:#223443!important;
}
:root[data-theme='dark'] .infoCards>div{
  background:#0f1c29!important;
  border-color:#223443!important;
}
.addressDetectStatus{
  margin-top:-3px;
  padding:10px 12px;
  border-radius:10px;
  background:rgba(15,90,168,.07);
  color:var(--muted);
  font-size:10px;
  line-height:1.5;
}
.addressDetectStatus.ok{background:#ecfdf5;color:#047857}
.addressDetectStatus.warn{background:#fff7e8;color:#8a5a00}
.addressDetectStatus.err{background:#fee2e2;color:#991b1b}
.addressDetectStatus.loading{background:rgba(15,90,168,.07);color:var(--muted)}
:root[data-theme='dark'] .addressDetectStatus{background:#10263c;color:#a9bdcb}
:root[data-theme='dark'] .addressDetectStatus.ok{background:#103128;color:#79dfbc}
:root[data-theme='dark'] .addressDetectStatus.warn{background:#382b15;color:#f2c978}
:root[data-theme='dark'] .addressDetectStatus.err{background:#3a1b21;color:#ff9ca0}


/* V7 — requested UI fixes only */

/* Dark mode quantity controls: make number area dark, not white-on-white */
:root[data-theme='dark'] .qty{
  background:#122230!important;
  border-color:#29404f!important;
}
:root[data-theme='dark'] .qty button,
:root[data-theme='dark'] .qty b{
  background:#122230!important;
  color:#e8f0f5!important;
}
:root[data-theme='dark'] .qty button{
  border-color:#29404f!important;
}

/* Light mode Status Pesanan hero: light brand blue + white text */
:root[data-theme='light'] .statusHero{
  background:#5ca8f3!important;
  border-color:#5ca8f3!important;
}
:root[data-theme='light'] .statusHero>span,
:root[data-theme='light'] .statusHero h1,
:root[data-theme='light'] .statusHero p{
  color:#fff!important;
}

/* Light mode order card eyebrow "PESANAN" */
:root[data-theme='light'] .orderCard .eyebrow{
  color:#15191d!important;
}

/* Light mode Category hero: red + white text */
:root[data-theme='light'] .categoryHero{
  background:#ef1d24!important;
  border-color:#ef1d24!important;
}
:root[data-theme='light'] .categoryHero>span,
:root[data-theme='light'] .categoryHero h1,
:root[data-theme='light'] .categoryHero p{
  color:#fff!important;
}


/* V8 — requested Menu hero light-mode fix only */
:root[data-theme='light'] .menuHero{
  background:#ef1d24!important;
  border-color:#ef1d24!important;
}
:root[data-theme='light'] .menuHero>span,
:root[data-theme='light'] .menuHero h1,
:root[data-theme='light'] .menuHero p{
  color:#fff!important;
}


/* V9 — requested cart total light-mode fix only */
:root[data-theme='light'] .cartSummary .total,
:root[data-theme='light'] .cartSummary .total span,
:root[data-theme='light'] .cartSummary .total b{
  color:#fff!important;
}


/* V10 — checkout "Gunakan Lokasi Saya" button */
.addressActionRow{
  display:flex;
  justify-content:flex-start;
  margin-top:-3px;
}
.useLocationBtn{
  min-height:42px;
  color:var(--navy)!important;
  background:var(--card)!important;
  border:1px solid var(--line)!important;
}
.useLocationBtn:hover{
  border-color:rgba(15,90,168,.35)!important;
  transform:translateY(-1px);
}
.useLocationBtn:disabled{
  opacity:.65;
  cursor:wait;
  transform:none!important;
}
:root[data-theme='dark'] .useLocationBtn{
  background:#101e2c!important;
  color:#75b8f7!important;
  border-color:#294964!important;
}


/* V11 — product synchronization states */
.cartAddBtn:disabled,
.detailCartBtn:disabled{
  opacity:.55;
  cursor:not-allowed;
  transform:none!important;
}
