/* ==========================================================================
   هاوس كيبينق — menu page
   Theme tokens mirror the tenant theme published by the original storefront.
   ========================================================================== */

:root{
  --bodyBackgroundColor:#ffffff;
  --bodyTextColor:#000000;
  --bodySecondaryTextColor:#4caf50;
  --bodyFontFamily:"IBM Plex Sans Arabic";

  --navbarBackgroundColor:61,179,82;
  --navbarBackgroundColorScrolling:#3db352;
  --navbarFieldsBackgroundColor:#ffffff;
  --navbarFieldsBorderRadius:5px;
  --navbarFieldsTextColor:#4caf50;

  --blockBG:#ffffff;
  --blockBorderColor:#ededed;
  --blockBorderRadius:10px;
  --blockBoxShadow:rgba(0,0,0,.15) 0 0 8px 1px;
  --blockTextColor:#050505;

  --buttonBG:#161717;
  --buttonBGHover:22,23,23;
  --buttonText:#ffffff;
  --buttonsBorderRadius:5px;

  --priceColor:#000000;
  --categoryMenuTextColor:#000000;
  --sidebarBackgroundColor:#ffffff;
  --sidebarTextColor:#000000;
  --sidebarSelectedTextColor:#474b46;

  --tabsBG:#f1f1f1;
  --tabsText:#3db352;
  --tabsSelectedBG:#000000;
  --tabsSelectedText:#ffffff;

  --footerBG:#3db352;
  --footerText:#ffffff;

  --popUpBackgroundColor:#ffffff;

  --instagramIconColor:#982abc;
  --tiktokIconColor:#000000;
  --snapchatIconColor:#ffffff;
  --whatsappIconColor:#ffffff;

  --topBarHeight:60px;
}

/* ==========================================================================
   Icon fonts (as served by the original storefront)
   ========================================================================== */

@font-face{
  font-family:ordericons;
  src:url("../fonts/ordericons.woff") format("woff"),
      url("../fonts/ordericons.ttf") format("truetype");
  font-weight:400;font-style:normal;font-display:block;
}
@font-face{
  font-family:icomoon;
  src:url("../fonts/icomoon.woff") format("woff"),
      url("../fonts/icomoon.ttf") format("truetype");
  font-weight:400;font-style:normal;font-display:block;
}

[class^="icon-"],[class*=" icon-"],.sar-icon{
  font-style:normal;font-weight:400;
  font-variant:normal;text-transform:none;
  line-height:1;speak:never;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
[class^="icon-"],[class*=" icon-"]{font-family:icomoon}
.sar-icon{font-family:ordericons;display:inline-block;font-size:1em;vertical-align:-1px}

.sar-icon::before{content:"\e9bc"}
.icon-tiktok::before{content:"\e900"}
.icon-snapchat::before{content:"\e901"}
.icon-instagram::before{content:"\e902"}
.icon-whatsapp::before{content:"\e906"}

/* ==========================================================================
   Base
   ========================================================================== */

*,*::before,*::after{box-sizing:border-box}

[hidden]{display:none!important}

html{-webkit-text-size-adjust:100%}

body{
  margin:0;
  background:var(--bodyBackgroundColor);
  color:var(--bodyTextColor);
  font-family:var(--bodyFontFamily),Almarai,Roboto,system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:15px;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}

img{max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}

.container{
  width:100%;
  max-width:1320px;
  margin-inline:auto;
  padding-inline:12px;
}

.page{display:flex;flex-direction:column;justify-content:space-between;min-height:100vh}

/* ==========================================================================
   Top bar
   ========================================================================== */

.topBar{position:fixed;inset-block-start:0;inset-inline:0;width:100%;z-index:999}

.topBar nav{
  height:var(--topBarHeight);
  padding:10px 0;
  background:var(--navbarBackgroundColorScrolling);
}

.topBarInner{display:flex;align-items:center;justify-content:space-between;gap:10px}

.navBlock{
  height:40px;
  min-width:40px;
  border:0;
  padding:0;
  background:var(--navbarFieldsBackgroundColor);
  color:var(--navbarFieldsTextColor);
  border-radius:var(--navbarFieldsBorderRadius);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}

.cartBtn{flex-shrink:0;position:relative}
.cartBtn svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:1.1}

.cartCount{
  position:absolute;
  inset-block-start:-6px;
  inset-inline-start:-6px;
  min-width:19px;
  height:19px;
  padding:0 5px;
  border-radius:19px;
  background:var(--buttonBG);
  color:var(--buttonText);
  font-size:11px;
  line-height:19px;
  text-align:center;
}

.deliveryTypeBtn{
  flex-grow:1;
  padding:0 8px;
  gap:8px;
  justify-content:flex-end;
  overflow:hidden;
  text-align:start;
}
.deliveryTypeBtn .SelectTypeRequest{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  justify-content:center;
  flex-grow:1;
  overflow:hidden;
  gap:2px;
}
.SelectTypeRequest small,
.SelectTypeRequest .typeValue{font-size:12px;line-height:12px;white-space:nowrap}
.SelectTypeRequest .typeValue{font-weight:400}

.deliveryTypeBtn .chevron{
  flex-shrink:0;
  display:flex;
  align-items:center;
  justify-content:center;
  width:22px;height:22px;
}
.deliveryTypeBtn .chevron svg{width:14px;height:8px}

.menuSideBtn{flex-shrink:0}
.burger{display:flex;flex-direction:column;gap:4px;width:18px}
.burger i{display:block;height:2px;border-radius:2px;background:currentColor}

/* ==========================================================================
   Header
   ========================================================================== */

header.withoutBackground{
  padding:calc(var(--topBarHeight) + 21px) 0 16px;
  background:#fff;
}
header .logo{display:flex;align-items:center;justify-content:center}
header .logo img{width:130px;height:130px;object-fit:contain}

/* ==========================================================================
   Layout grid
   ========================================================================== */

.menuPage{flex-grow:1;margin-bottom:16px}

.row{display:flex;flex-wrap:wrap;margin-inline:-12px}
.row > *{padding-inline:12px}

.col-main{width:75%;margin-bottom:16px}
.col-cart{width:25%}

.col-cats{width:33.3333%;position:sticky;inset-block-start:58px;align-self:flex-start}
.col-items{width:66.6667%}

/* ==========================================================================
   Category sidebar (desktop)
   ========================================================================== */

.blockStyle{
  background:var(--blockBG);
  border:1px solid var(--blockBorderColor);
  border-radius:var(--blockBorderRadius);
  box-shadow:var(--blockBoxShadow);
  color:var(--blockTextColor);
}

.categorySidebar{
  position:sticky;
  inset-block-start:calc(var(--topBarHeight) + 21px);
  overflow:hidden;
}
.categorySidebar a{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  position:relative;
  padding:10px;
  font-size:14px;
  color:var(--blockTextColor);
  cursor:pointer;
}
.categorySidebar a + a{border-block-start:1px solid var(--blockBorderColor)}
.categorySidebar a::before{
  content:"";
  flex-shrink:0;
  width:7px;height:7px;
  margin-inline-end:10px;
  border-top:1.5px solid #6d6d6d;
  border-left:1.5px solid #6d6d6d;
  transform:rotate(-45deg);
}
.categorySidebar a span{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.categorySidebar a.active{color:var(--sidebarSelectedTextColor);font-weight:700}

/* Category tabs (mobile) */
.categoryWithImages{
  display:none;
  position:sticky;
  inset-block-start:var(--topBarHeight);
  z-index:5;
  background:var(--bodyBackgroundColor);
  margin-bottom:24px;
  padding:8px 0;
}
.categoryWithImages ul{
  display:flex;
  align-items:stretch;
  justify-content:flex-start;
  gap:8px;
  list-style:none;
  margin:0;
  padding:0 0 2px;
  overflow-x:auto;
  scrollbar-width:none;
}
.categoryWithImages ul::-webkit-scrollbar{display:none}
.categoryWithImages .tabStyle{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:6px 12px;
  min-height:40px;
  border-radius:8px;
  background:var(--tabsBG);
  color:var(--tabsText);
  font-size:15px;
  white-space:nowrap;
  cursor:pointer;
}
.categoryWithImages .tabStyle.active{background:var(--tabsSelectedBG);color:var(--tabsSelectedText)}

/* ==========================================================================
   Menu groups + items
   ========================================================================== */

.groupItem{display:flex;flex-direction:column;gap:16px;margin-bottom:48px;scroll-margin-top:120px}
.groupName span{display:block;font-size:17px;font-weight:700;color:var(--categoryMenuTextColor)}

.item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:8px;
  background:var(--blockBG);
  border:1px solid var(--blockBorderColor);
  border-radius:var(--blockBorderRadius);
  box-shadow:var(--blockBoxShadow);
  cursor:pointer;
  transition:box-shadow .2s ease;
  text-align:start;
  width:100%;
  font-family:inherit;
}
.item:hover{box-shadow:rgba(0,0,0,.22) 0 0 10px 1px}

.item .txt{
  align-self:stretch;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:8px;
  flex-grow:1;
  min-width:0;
}
.item .topRow{display:flex;flex-direction:column;gap:4px;flex-grow:1}

.productName{
  font-size:15px;
  font-weight:700;
  line-height:1.5;
  color:var(--blockTextColor);
}
.productDesc{
  font-size:13px;
  line-height:1.5;
  color:var(--blockTextColor);
  opacity:.55;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.bottomRow{display:flex;align-items:center;justify-content:space-between;flex-shrink:0}
.productPrice{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:2px 8px;
  border-radius:6px;
  background:rgba(0,0,0,.03);
  font-size:14px;
  color:var(--priceColor);
}
.newPrice{display:inline-flex;align-items:center;gap:4px}

.imgthumb{
  flex-shrink:0;
  width:120px;
  height:120px;
  border-radius:var(--blockBorderRadius);
  overflow:hidden;
  position:relative;
  background:#f4f4f4;
}
.imgthumb img{width:100%;height:100%;object-fit:cover;display:block}

/* ==========================================================================
   Cart sidebar
   ========================================================================== */

.cartSidebar{position:sticky;inset-block-start:calc(var(--topBarHeight) + 21px);display:block;margin-bottom:16px}

.cartEmpty{
  min-height:150px;
  padding:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  background:var(--blockBG);
  border:1px solid var(--blockBorderColor);
  border-radius:var(--blockBorderRadius);
  box-shadow:var(--blockBoxShadow);
  color:var(--bodySecondaryTextColor);
  text-align:center;
}
.cartEmpty .icon{margin-bottom:8px}
.cartEmpty svg{width:44px;height:44px;fill:none;stroke:currentColor;stroke-width:1.1;stroke-linecap:round}

.cartFilled{
  padding:12px;
  background:var(--blockBG);
  border:1px solid var(--blockBorderColor);
  border-radius:var(--blockBorderRadius);
  box-shadow:var(--blockBoxShadow);
}
.cartLine{display:flex;flex-direction:column;gap:8px;padding-bottom:12px}
.cartLine + .cartLine{border-block-start:1px solid var(--blockBorderColor);padding-top:12px}
.cartLine .lineName{font-weight:700;font-size:14px;text-align:start;flex-grow:1}
.cartLine .qtyRow{justify-content:flex-start}

.cartTotals{border-block-start:1px solid var(--blockBorderColor);padding:12px 0;font-size:14px}
.cartTotals .cardRow.total{margin-top:8px;font-weight:700;font-size:15px}

.btnPrimary{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  width:100%;
  border:0;
  padding:12px;
  border-radius:var(--buttonsBorderRadius);
  background:var(--buttonBG);
  color:var(--buttonText);
  font-weight:700;
  cursor:pointer;
}
.btnPrimary:hover{background:rgba(var(--buttonBGHover),.88)}

/* ==========================================================================
   Footer
   ========================================================================== */

footer .footerTop{padding:16px 0;background:var(--footerBG);color:var(--footerText)}
.footerTopInner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:16px;
}
footer .blockTitle{display:block;margin-bottom:12px;font-size:15px}
.socialMedia,.downloadApp{display:flex;flex-direction:column;align-items:flex-start}
.socialMedia[hidden],.downloadApp[hidden]{display:none}
.iconsArea a.svgSocial{display:inline-flex;align-items:center;justify-content:center;color:#fff}
.iconsArea{display:flex;align-items:center;justify-content:flex-start;gap:5px}
.iconsArea a{
  display:flex;
  align-items:center;
  justify-content:center;
  width:35px;height:35px;
  font-size:32px;
}
.icon-instagram{color:var(--instagramIconColor)}
.icon-tiktok{color:var(--tiktokIconColor)}
.icon-snapchat{color:var(--snapchatIconColor)}
.icon-whatsapp{color:var(--whatsappIconColor)}

.appArea{display:flex;align-items:flex-start;justify-content:flex-end;gap:8px}
.appArea img{width:200px;height:60px;object-fit:contain}

footer .footerBottom{padding:4px 0;background:#fff;color:#585858;font-size:15px}
.footerBottomInner{display:flex;align-items:center;justify-content:space-between}
.footerBottomInner a{color:inherit;text-decoration:underline}

/* ==========================================================================
   Modals
   ========================================================================== */

.modalOverlay{position:absolute;inset:0;background:rgba(0,0,0,.45)}

/* Side menu */
.sidebarMenuModal{
  position:fixed;
  inset:0;
  z-index:1050;
  display:flex;
  align-items:flex-start;
  justify-content:flex-start;
  padding:16px;
  overflow:hidden;
}
.sidebarMenuModalContent{
  position:relative;
  display:flex;
  flex-direction:column;
  width:min(320px,88vw);
  max-height:calc(100vh - 32px);
  background:var(--sidebarBackgroundColor);
  color:var(--sidebarTextColor);
  border-radius:var(--blockBorderRadius);
  box-shadow:0 .5rem 1rem rgba(0,0,0,.15);
  overflow:auto;
  animation:slideIn .22s ease;
}
@keyframes slideIn{from{transform:translateX(-16px);opacity:0}to{transform:none;opacity:1}}
.modalTitle{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 0;flex-shrink:0}
.closeSidebarMenuModalBtn{
  display:flex;align-items:center;justify-content:center;
  border:0;background:transparent;border-radius:var(--blockBorderRadius);
  padding:4px;cursor:pointer;
}
.sidebarMenuModalContent .modalContent{padding:16px;overflow:auto}
.sidebarMenuModalContent ul{margin:0;padding:0;list-style:none}
.sidebarMenuModalContent li + li{border-block-start:1px solid #f0f0f0}
.sidebarMenuModalContent a{display:block;padding:12px 4px;position:relative}
.sidebarMenuModalContent a:hover{color:var(--sidebarSelectedTextColor)}

/* Centered modals */
.centerModal{
  position:fixed;
  inset:0;
  z-index:1056;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px;
}
.centerModalContent{
  position:relative;
  width:min(480px,100%);
  max-height:calc(100vh - 32px);
  overflow:auto;
  background:var(--popUpBackgroundColor);
  border-radius:var(--blockBorderRadius);
  box-shadow:0 .5rem 1rem rgba(0,0,0,.15);
  padding:16px;
  animation:popIn .2s ease;
}
@keyframes popIn{from{transform:scale(.96);opacity:0}to{transform:none;opacity:1}}
.modalHeader{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.modalHeaderTitle{display:block;flex-grow:1;font-weight:700}
.closeModalBtn{border:0;background:transparent;font-size:26px;line-height:1;cursor:pointer;color:#777}

.orderTypeList{display:flex;flex-direction:column;gap:8px}
.orderTypeOption{
  border:1px solid var(--blockBorderColor);
  background:#fff;
  border-radius:var(--buttonsBorderRadius);
  padding:12px;
  text-align:start;
  cursor:pointer;
}
.orderTypeOption:hover,.orderTypeOption.active{border-color:var(--footerBG);color:var(--footerBG);font-weight:700}

/* Item modal */
.itemModal .centerModalContent{padding:0;width:min(520px,100%)}
.itemHero{position:relative;aspect-ratio:16/10;background:#f4f4f4;border-start-start-radius:var(--blockBorderRadius);border-start-end-radius:var(--blockBorderRadius);overflow:hidden}
.itemHero img{width:100%;height:100%;object-fit:cover}
.itemHero .closeModalBtn{
  position:absolute;inset-block-start:8px;inset-inline-end:8px;
  width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.9);color:#222;
  display:flex;align-items:center;justify-content:center;
}
.itemBody{padding:16px;display:flex;flex-direction:column;gap:8px}
.itemBody h2{margin:0;font-size:17px;font-weight:700}
.itemBody p{margin:0;font-size:14px;opacity:.6}
.itemFoot{display:flex;align-items:center;gap:12px;padding:0 16px 16px}
.qtyBox{display:flex;align-items:center;gap:4px;border:1px solid var(--blockBorderColor);border-radius:var(--buttonsBorderRadius);padding:4px}
.qtyBox button{width:32px;height:32px;border:0;background:transparent;font-size:18px;cursor:pointer;border-radius:4px}
.qtyBox button:hover{background:rgba(0,0,0,.05)}
.qtyBox .qtyVal{min-width:28px;text-align:center;font-weight:700}

/* Toasts */
.toastContainer{position:fixed;inset-block-start:70px;inset-inline-end:12px;z-index:2000;display:flex;flex-direction:column;gap:8px}
.toast{
  background:var(--buttonBG);
  color:var(--buttonText);
  padding:10px 14px;
  border-radius:var(--buttonsBorderRadius);
  box-shadow:0 4px 14px rgba(0,0,0,.2);
  font-size:14px;
  animation:popIn .2s ease;
}

body.modal-open{overflow:hidden}

/* ==========================================================================
   Responsive
   ========================================================================== */

@media (max-width:1199.98px){
  .container{max-width:960px}
}

@media (max-width:991.98px){
  .col-cats{width:100%;position:static}
  .col-items{width:100%}
  .categorySidebar{display:none}
  .categoryWithImages{display:block}
  .groupItem{scroll-margin-top:130px}
}

@media (max-width:767.98px){
  .container{max-width:100%}
  .col-main{width:100%}
  .col-cart{width:100%}
  .cartSidebar{position:static}
  header .logo img{width:100px;height:100px}
  .imgthumb{width:100px;height:100px}
  .footerTopInner{flex-direction:column;align-items:center}
  .socialMedia,.downloadApp{align-items:center}
  .appArea img{width:150px;height:45px}
  .footerBottomInner{font-size:13px}
}

/* ==========================================================================
   Shell additions — nav fields, sheets, auth, checkout, account pages
   ========================================================================== */

.navBlock .fieldIcon,
.navBlock .chevron{
  flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  width:22px;height:22px;
}
.navBlock .fieldIcon svg{width:20px;height:20px}
a.navBlock{text-decoration:none}

.timeBtn{padding:0 8px;min-width:64px}
.timeBtn .SelectTypeRequest{display:flex;flex-direction:column;justify-content:center;gap:2px;align-items:flex-end}

/* side menu: anchored to the inline start (right in RTL), full height */
.sidebarMenuModal{padding:0;align-items:stretch;justify-content:flex-start}
.sidebarMenuModalContent{
  width:min(300px,86vw);
  max-height:none;
  height:100%;
  border-radius:0;
  animation:slideInStart .22s ease;
}
@keyframes slideInStart{from{transform:translateX(-16px);opacity:0}to{transform:none;opacity:1}}
.sidebarMenuModalContent .modalTitle{justify-content:flex-start;padding:14px 16px 6px}
.closeSidebarMenuModalBtn{color:#777}
.closeSidebarMenuModalBtn svg{width:12px;height:21px}
.sidebarMenuModalContent .modalContent{padding:0 16px 16px}
.sidebarMenuModalContent a{padding:14px 4px;font-size:14px}
.sidebarMenuModalContent a.current{font-weight:700}
.sidebarMenuModalContent .sar-icon{font-size:.9em}

/* ---------- bottom-anchored sheet modals (order type, address) ---------- */

.sheetModal{
  position:fixed;inset:0;z-index:1055;
  display:flex;align-items:flex-start;justify-content:center;
  padding:24px 16px;
}
.sheetContent{
  position:relative;
  display:flex;flex-direction:column;
  width:min(760px,100%);
  height:min(760px,calc(100vh - 48px));
  background:#fff;
  border-radius:var(--blockBorderRadius);
  box-shadow:0 .5rem 1rem rgba(0,0,0,.15);
  overflow:hidden;
  animation:popIn .2s ease;
}
.sheetTabs{display:flex;flex-shrink:0;background:#f5f5f5}
.sheetTab{
  flex:1 1 0;
  border:0;
  padding:12px 8px;
  background:#f5f5f5;
  color:var(--tabsText);
  font-weight:700;
  cursor:pointer;
}
.sheetTab.active{background:var(--tabsSelectedBG);color:var(--tabsSelectedText)}
.sheetBody{flex-grow:1;overflow:auto;padding:16px}
.sheetFoot{flex-shrink:0;padding:16px}

.branchCard{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  border:1px solid var(--blockBorderColor);
  border-radius:var(--blockBorderRadius);
  padding:14px 16px;
}
.branchText{display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:start}
.branchTop{display:flex;align-items:center;gap:8px}
.branchName{font-weight:700;font-size:15px}
.branchCheck{
  width:22px;height:22px;flex-shrink:0;border-radius:50%;
  background:var(--buttonBG);color:var(--buttonText);
  display:flex;align-items:center;justify-content:center;font-size:11px;
}
.branchMeta{display:flex;align-items:center;gap:8px;font-size:12px}
.branchMeta .open,.branchMeta .dist{color:var(--footerBG)}
.branchMeta .open{background:#eaf7ec;border-radius:4px;padding:1px 6px}
.branchNote span{
  display:inline-block;font-size:12px;color:#8a8a8a;
  background:#f4f4f4;border-radius:4px;padding:2px 8px;
}
.branchIcons{display:flex;align-items:center;gap:10px;direction:ltr;flex-shrink:0}

.roundIcon{
  width:34px;height:34px;flex-shrink:0;
  border-radius:50%;
  border:1px solid var(--footerBG);
  background:#fff;color:var(--footerBG);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;
}
.roundIcon svg{width:18px;height:18px}
.roundIcon.sm{width:28px;height:28px;border-color:var(--blockBorderColor);color:var(--footerBG)}
.roundIcon.sm svg{width:16px;height:16px}

.arrowBack{display:inline-flex;align-items:center}
.arrowBack svg{width:9px;height:16px}

/* map */
.mapWrap{position:relative;flex-grow:1;min-height:180px;overflow:hidden}
.mapCanvas{width:100%;height:100%;display:block}
.mapControls{
  position:absolute;bottom:12px;right:12px;
  display:flex;flex-direction:column;gap:6px;
}
.mapBtn{
  width:30px;height:30px;border:0;border-radius:4px;
  background:#fff;color:#555;
  box-shadow:0 1px 4px rgba(0,0,0,.3);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;font-size:18px;line-height:1;
}
.mapBtn svg{width:16px;height:16px}

.addressPanel{flex-shrink:0;background:#fff;max-height:45%;overflow:auto}
.panelTitle{padding:12px;text-align:center;font-weight:500;border-block-end:1px solid #f0f0f0}
.addrRow{
  display:flex;align-items:center;justify-content:flex-start;gap:10px;
  width:100%;padding:12px;
  border:0;border-block-end:1px solid #f0f0f0;
  background:#fff;cursor:pointer;text-align:start;font:inherit;
}
.addrRow.plain{padding-inline-start:12px}
.newAddrForm{display:flex;gap:8px;padding:12px}
.newAddrForm input{
  flex:1 1 0;min-width:0;
  border:1px solid var(--blockBorderColor);
  border-radius:var(--buttonsBorderRadius);
  padding:10px 12px;font:inherit;
}
.addressPanel .btnPrimary{width:calc(100% - 24px);margin:0 12px 12px}

/* ---------- branch hours ---------- */

.dayChips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.dayChip{
  border:0;padding:6px 14px;border-radius:6px;
  background:var(--tabsBG);color:var(--tabsText);
  font-size:14px;cursor:pointer;
}
.dayChip.active{background:var(--tabsSelectedBG);color:var(--tabsSelectedText)}
.hoursValue{
  margin:28px auto 8px;width:max-content;
  padding:6px 16px;border-radius:6px;
  background:var(--tabsBG);color:var(--tabsText);font-size:14px;
}

.closeRound{
  width:30px;height:30px;flex-shrink:0;
  border:1px solid var(--blockBorderColor);border-radius:50%;
  background:#fff;color:#777;font-size:20px;line-height:1;
  display:flex;align-items:center;justify-content:center;cursor:pointer;
}

/* ---------- order time ---------- */

.slotsModal{padding:0;width:min(420px,100%);display:flex;flex-direction:column;max-height:min(560px,calc(100vh - 32px))}
.slotsModal .modalHeader{padding:16px;margin:0;flex-shrink:0}
.dayTabs{display:flex;overflow-x:auto;flex-shrink:0;scrollbar-width:none}
.dayTabs::-webkit-scrollbar{display:none}
.dayTab{
  flex:0 0 auto;
  border:0;background:#fff;cursor:pointer;
  padding:8px 14px;
  display:flex;flex-direction:column;align-items:center;gap:2px;
  color:var(--bodyTextColor);
}
.dayTab .dt-name{font-size:13px}
.dayTab .dt-date{font-size:11px;opacity:.6}
.dayTab.active{background:var(--tabsSelectedBG);color:var(--tabsSelectedText);border-radius:6px}
.dayTab.active .dt-date{opacity:.85}
.slotList{overflow:auto;border-block-start:1px solid #f0f0f0}
.slotRow{
  display:block;width:100%;
  border:0;border-block-end:1px solid #f2f2f2;
  background:#fff;padding:12px;
  text-align:center;cursor:pointer;font:inherit;
}
.slotRow:hover{background:#fafafa}

/* ---------- auth ---------- */

.authModal{width:min(380px,100%);text-align:center}
.authModal .modalHeader{margin-bottom:20px}
.phoneRow{display:flex;align-items:stretch;gap:0;direction:ltr;border:1px solid var(--blockBorderColor);border-radius:var(--buttonsBorderRadius);overflow:hidden;margin-bottom:12px}
.dialBtn{
  display:flex;align-items:center;gap:4px;
  border:0;background:#fff;padding:10px 12px;cursor:pointer;
}
.dialBtn .flag{font-size:16px}
.dialBtn .caret{font-size:10px;color:#888}
.phoneInput{flex-grow:1;min-width:0;border:0;padding:10px 12px;font:inherit;text-align:start;direction:ltr}
.phoneInput:focus{outline:none}

.countryDrop{
  border:1px solid var(--blockBorderColor);
  border-radius:var(--buttonsBorderRadius);
  margin-bottom:12px;overflow:hidden;text-align:start;
}
.countrySearch{width:100%;border:0;border-block-end:1px solid var(--blockBorderColor);padding:10px 12px;font:inherit}
.countrySearch:focus{outline:none}
.countryDrop ul{margin:0;padding:0;list-style:none;max-height:180px;overflow:auto}
.countryDrop li button{
  display:flex;align-items:center;gap:8px;width:100%;
  border:0;background:#fff;padding:8px 12px;cursor:pointer;font:inherit;
  direction:ltr;text-align:left;
}
.countryDrop li button:hover{background:#f4f4f4}
.countryDrop .cname{flex-grow:1}
.countryDrop .cdial{color:#3db352}

.otpLead{margin:0 0 4px;font-size:14px}
.otpPhone{margin:0 0 16px;font-size:15px}
.otpBoxes{display:flex;gap:8px;justify-content:center;margin-bottom:16px;direction:ltr}
.otpBoxes input{
  width:48px;height:44px;text-align:center;font-size:18px;
  border:1px solid var(--blockBorderColor);
  border-radius:var(--buttonsBorderRadius);
}
.otpBoxes input:focus{outline:none;border-color:var(--footerBG)}

/* ---------- share ---------- */

.shareModal{width:min(340px,100%)}
.socialLinks{display:flex;flex-direction:column;gap:4px}
.socialLinks > *{
  display:flex;align-items:center;gap:10px;
  padding:10px;border:0;border-radius:var(--blockBorderRadius);
  background:#fff;cursor:pointer;font:inherit;color:inherit;
}
.socialLinks > *:hover{background:#f6f6f6}
.socialLinks .brand{
  width:26px;height:26px;border-radius:6px;flex-shrink:0;
  background:#111 center/16px no-repeat;
}
.socialLinks .brand.tw{background-color:#1d9bf0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M23 5a9 9 0 0 1-2.6.7 4.5 4.5 0 0 0 2-2.5 9 9 0 0 1-2.9 1.1A4.5 4.5 0 0 0 11.7 8 12.8 12.8 0 0 1 2.4 3.3a4.5 4.5 0 0 0 1.4 6 4.4 4.4 0 0 1-2-.6 4.5 4.5 0 0 0 3.6 4.5 4.5 4.5 0 0 1-2 .1 4.5 4.5 0 0 0 4.2 3.1A9 9 0 0 1 1 18.3 12.7 12.7 0 0 0 7.9 20c8.3 0 12.9-7 12.6-13.3A9 9 0 0 0 23 5Z'/%3E%3C/svg%3E")}
.socialLinks .brand.wa{background-color:#25d366;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M12 2a10 10 0 0 0-8.6 15L2 22l5.2-1.4A10 10 0 1 0 12 2Zm5.3 14c-.2.6-1.3 1.2-1.8 1.2s-1.2.3-3.9-.9a13 13 0 0 1-4.5-4.6c-.3-.6-1-1.7-1-3.2s.8-2.2 1.1-2.5c.3-.3.6-.3.8-.3h.6c.2 0 .4 0 .6.5l.9 2.1c.1.2 0 .4 0 .5l-.4.5c-.2.2-.3.3-.1.6a9 9 0 0 0 4 3.4c.3.1.5.1.6-.1l.9-1c.2-.2.3-.2.6-.1l2 1c.3.1.4.2.5.3v1Z'/%3E%3C/svg%3E")}
.socialLinks .brand.cl{background-color:#444;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round'%3E%3Crect x='9' y='9' width='11' height='11' rx='2'/%3E%3Cpath d='M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1'/%3E%3C/svg%3E")}

/* ==========================================================================
   Generic page scaffolding (checkout, account, content pages)
   ========================================================================== */

.pageSection{flex-grow:1;margin-bottom:24px}
.pageHead{display:flex;align-items:center;justify-content:flex-start;gap:12px;margin-bottom:12px}
.pageHead h1{margin:0;font-size:17px;font-weight:700;flex-grow:1;text-align:start}
.backBtn{
  width:28px;height:28px;flex-shrink:0;
  border:0;border-radius:var(--buttonsBorderRadius);
  background:var(--buttonBG);color:var(--buttonText);
  display:flex;align-items:center;justify-content:center;cursor:pointer;
}
.backBtn svg{width:9px;height:16px}
.pageHead .sub{font-size:12px;color:var(--footerBG);display:block;font-weight:400}

.card{
  background:var(--blockBG);
  border:1px solid var(--blockBorderColor);
  border-radius:var(--blockBorderRadius);
  box-shadow:var(--blockBoxShadow);
  padding:16px;
  margin-bottom:12px;
}
.card > .cardTitle{display:block;margin-bottom:12px;font-weight:700;text-align:start}
.cardRow{display:flex;align-items:center;justify-content:space-between;gap:12px}
.cardRow + .cardRow{margin-top:8px}
.muted{opacity:.6}
.amount{white-space:nowrap}
.green{color:var(--footerBG)}

.fieldPair{display:flex;gap:12px;flex-wrap:wrap}
.field{
  flex:1 1 240px;min-width:0;
  display:flex;align-items:center;gap:8px;
  border:1px solid var(--blockBorderColor);
  border-radius:var(--buttonsBorderRadius);
  padding:8px 12px;
}
.field .fi{flex-shrink:0;color:#9a9a9a;display:flex}
.field .fi svg{width:18px;height:18px}
.field input{flex-grow:1;min-width:0;border:0;font:inherit;padding:2px 0;background:transparent}
.field input:focus{outline:none}
.field.stack{flex-direction:column;align-items:stretch;gap:4px}

textarea.plainArea{
  width:100%;border:0;resize:vertical;min-height:64px;font:inherit;background:transparent;
}
textarea.plainArea:focus{outline:none}

.pill{
  display:inline-block;padding:4px 16px;border-radius:20px;
  font-size:13px;
}
.pill.cancelled{background:#fde3e3;color:#c0392b}
.pill.done{background:#e3f6e7;color:#2e8b45}
.pill.pending{background:#fdf3d8;color:#a9821f}

.notice{
  background:#fdf8e6;
  border-radius:var(--blockBorderRadius);
  padding:12px 16px;
  font-size:13px;
  color:#8a7327;
  margin-bottom:12px;
  text-align:start;
}

.ghostBtn{
  display:inline-flex;align-items:center;gap:6px;
  border:1px solid var(--blockBorderColor);
  border-radius:20px;
  background:#fff;padding:5px 12px;font-size:13px;cursor:pointer;
}
.ghostBtn svg{width:15px;height:15px}

.linkBtn{
  display:inline-flex;align-items:center;gap:6px;
  border:0;background:transparent;cursor:pointer;font:inherit;color:inherit;
}
.linkBtn svg{width:18px;height:18px}

/* qty stepper used in cart / checkout */
.qtyRow{display:flex;align-items:center;gap:8px}
.qtyRow button{
  width:28px;height:28px;flex-shrink:0;
  border:0;border-radius:var(--buttonsBorderRadius);
  background:var(--buttonBG);color:var(--buttonText);
  display:flex;align-items:center;justify-content:center;
  font-size:16px;line-height:1;cursor:pointer;
}
.qtyRow button.danger{background:#e04a4a}
.qtyRow button.danger svg{width:15px;height:15px}
.qtyRow .n{min-width:20px;text-align:center}

.lineItem{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.lineItem .thumb{width:74px;height:52px;border-radius:6px;overflow:hidden;flex-shrink:0;background:#f4f4f4}
.lineItem .thumb img{width:100%;height:100%;object-fit:cover;display:block}

/* payment methods */
.payRow{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:12px 0;
}
.payRow + .payRow{border-block-start:1px solid var(--blockBorderColor)}
.payLeft{display:flex;align-items:center;gap:10px}
.payCheck{
  width:22px;height:22px;flex-shrink:0;
  border:1px solid #ccc;border-radius:4px;
  background:#fff;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
}
.payCheck.on{background:var(--buttonBG);border-color:var(--buttonBG);color:#fff}
.payCheck.on::after{content:"✓";font-size:13px}
.brandRow{display:flex;align-items:center;gap:6px}
.brandRow img{height:16px;width:auto}
.cardForm{display:flex;flex-direction:column;gap:8px;padding:8px 0 4px}
.cardForm .field{flex:1 1 auto}
.cardForm .split{display:flex;gap:8px}
.cardForm .split .field{flex:1 1 0}

.stickyFoot{
  position:sticky;inset-block-end:0;
  background:var(--bodyBackgroundColor);
  padding:12px 0;
}
.stickyFoot .btnPrimary{max-width:440px;margin-inline:auto}

/* empty states */
.emptyState{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:12px;padding:48px 16px;text-align:center;color:var(--footerBG);
}
.emptyState svg{width:72px;height:64px}
.emptyState .btnPrimary{width:auto;padding:10px 32px}

/* content pages */
.prose{text-align:start;line-height:1.9;font-size:14px}
.prose p{margin:0 0 12px}
.prose strong{font-weight:700}
.prose a{color:var(--footerBG);text-decoration:underline;word-break:break-word}
.prose .ql-align-center{text-align:center}
.prose .ql-align-justify{text-align:justify}

/* contact */
.contactForm{max-width:420px;margin-inline:auto;display:flex;flex-direction:column;gap:16px}
.contactForm label{display:block;margin-bottom:6px;font-size:14px;text-align:center}
.contactForm input,.contactForm textarea{
  width:100%;
  border:1px solid var(--blockBorderColor);
  border-radius:var(--blockBorderRadius);
  box-shadow:var(--blockBoxShadow);
  padding:12px;font:inherit;
}
.contactForm textarea{min-height:96px;resize:vertical}
.contactForm input:focus,.contactForm textarea:focus{outline:none;border-color:var(--footerBG)}
.followUs{margin-top:28px;text-align:center}
.followUs .blockTitle{display:block;margin-bottom:12px;font-weight:700}
.followUs .iconsArea{justify-content:center}
.followUs .icon-snapchat{color:#f5d90a}
.followUs .icon-whatsapp{color:#25d366}
.followUs .icon-instagram{color:var(--instagramIconColor)}
.followUs .icon-tiktok{color:#000}

/* wallet */
.walletCard{
  width:min(360px,100%);margin-inline:auto;
  text-align:center;
}
.walletCard .bal{font-size:18px;font-weight:700;display:block}
.walletCard .lbl{display:block;color:var(--footerBG);font-size:13px;margin-bottom:16px}

.rewardCard{display:flex;flex-direction:column;gap:2px;text-align:start}
.rewardCard .lbl{color:var(--footerBG);font-size:13px}
.rewardCard .val{font-weight:700}

/* orders list */
.orderRow{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:start}
.orderRow .meta{display:flex;flex-direction:column;gap:4px}
.orderRow .oid{font-weight:700}
.orderRow .odate{font-size:12px;color:var(--footerBG)}

@media (max-width:767.98px){
  .sheetModal{padding:0}
  .sheetContent{height:100vh;border-radius:0;width:100%}
  .fieldPair{flex-direction:column}
  .lineItem .thumb{width:64px;height:46px}
}

/* payment marks + checkout line rows */
.applePay{
  display:inline-flex;align-items:center;gap:2px;
  font-family:-apple-system,"SF Pro Display","Helvetica Neue",Arial,sans-serif;
  font-size:15px;font-weight:500;color:#111;
}
.applePay::before{content:"\F8FF";font-size:15px}
.applePay::after{content:"Pay"}

.btnInline{width:auto;flex-shrink:0;padding:10px 24px}

.coLine{display:flex;flex-direction:column;gap:10px;padding:10px 0}
.coLine + .coLine{border-block-start:1px solid var(--blockBorderColor)}
.coLine .lineName{flex-grow:1;font-size:14px;text-align:start}
.coLine .qtyRow{justify-content:flex-start}

.formTitle{text-align:center;font-weight:500;margin-bottom:4px}

/* wallet top-up */
.topUpBody{text-align:start;display:flex;flex-direction:column;gap:12px;margin-bottom:16px}
.topUpLabel{display:block;font-size:14px;margin-bottom:6px}
.radioRow{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  border:1px solid var(--blockBorderColor);
  border-radius:var(--buttonsBorderRadius);
  padding:10px 12px;flex-direction:row-reverse;
}
.radioDot{
  width:18px;height:18px;flex-shrink:0;border-radius:50%;
  border:1px solid #ccc;background:#fff;
}
.radioDot.on{border:5px solid var(--buttonBG)}
.couponRow{display:flex;align-items:center;gap:12px;flex-direction:row-reverse}
.couponRow .topUpLabel{margin:0;flex-shrink:0}
.couponRow input{
  flex-grow:1;min-width:0;border:1px solid var(--blockBorderColor);
  border-radius:var(--buttonsBorderRadius);padding:10px 12px;font:inherit;
}
.couponRow input:focus{outline:none;border-color:var(--footerBG)}

/* order details + orders list */
.statusWrap{text-align:center;margin-bottom:12px}
.centerRow{text-align:center;font-size:14px}
.card .cardRow .fi{color:#8a8a8a;display:flex}
.card .cardRow .fi svg{width:20px;height:20px}
.card .cardRow.total{margin-top:8px;font-weight:700}
a.orderCard{display:block;text-decoration:none;color:inherit}
a.orderCard:hover{box-shadow:rgba(0,0,0,.22) 0 0 10px 1px}
.btnPrimary.danger{background:#e04a4a}
.btnPrimary.danger:hover{background:#c93f3f}
.emptyState svg{width:64px;height:60px}
a.btnPrimary{text-decoration:none}

/* RTL ordering corrections to match the original */
.qtyRow{flex-direction:row-reverse}
.pageHead{justify-content:flex-start}
.pageHead h1{flex-grow:0}
.applePay{direction:ltr}
.pageSection{padding-bottom:8px}
.stickyFoot{z-index:2}

/* Until the store is identified (see config.js / backend.js). */
html.tenant-loading header .logo img { visibility: hidden; }
header .logo .storeName { display: inline-flex; align-items: center; justify-content: center; min-width: 130px; min-height: 130px;
  padding: 16px; border-radius: 28px; background: var(--navbarBackgroundColorScrolling); color: #fff; font-size: 22px; font-weight: 700; text-align: center; }

/* First visit: neutral chrome until the store's own colour arrives, instead of another store's green. */
html.tenant-loading:not(.brand-known) {
  --navbarBackgroundColor: 243,244,246;
  --navbarBackgroundColorScrolling: #f3f4f6;
  --footerBG: #f3f4f6;
  --bodySecondaryTextColor: #6b7280;
  --navbarFieldsTextColor: #6b7280;
  --tabsText: #6b7280;
}

/* English (LTR): the layout already uses logical properties; arrows mirror. */
[dir="ltr"] .categorySidebar a::before{transform:rotate(135deg)}
[dir="ltr"] .arrowBack svg,
[dir="ltr"] .backBtn svg,
[dir="ltr"] .closeSidebarMenuModalBtn svg{transform:scaleX(-1)}
[dir="ltr"] .mapControls{right:auto;left:12px}
/* Store text without an English version keeps its own direction. */
[dir="ltr"] .productName,[dir="ltr"] .productDesc,[dir="ltr"] .lineName,[dir="ltr"] .itemBody h2,[dir="ltr"] .itemBody p{unicode-bidi:plaintext}
