:root {
  --sfx-ink: rgba(19, 20, 31, 0.9);
  --sfx-mute: rgba(19, 20, 31, 0.6);
  --sfx-faint: rgba(19, 20, 31, 0.38);
  --sfx-line: rgba(19, 20, 31, 0.08);
  --sfx-sep: rgba(19, 20, 31, 0.05);
  --sfx-pink: #ff007a;
  --sfx-pink-soft: #ffe6f1;
  --sfx-red: #e01d1d;
  --sfx-bg: #f2f2f4;
  --sfx-col: 720px;
}
body.alez-snapp { margin:0; background:var(--sfx-bg); color:var(--sfx-ink); font-family: iranSansX, IRANSansX, Ahang, Vazirmatn, Tahoma, sans-serif; font-size:16px; line-height:1.7; -webkit-font-smoothing:antialiased; }
body.alez-snapp * { box-sizing:border-box; }
body.alez-snapp img { max-width:100%; display:block; }
body.alez-snapp a { color:inherit; text-decoration:none; }
.sfx-page { width:100%; max-width:var(--sfx-col); margin:0 auto; padding-bottom:96px; background:var(--sfx-bg); }
.sfx-card { background:#fff; padding:16px; margin-bottom:8px; }
.sfx-card__title { margin:0 0 12px; font-size:14px; font-weight:600; line-height:24px; color:var(--sfx-mute); }
.sfx-topbar { position:sticky; top:0; z-index:60; height:64px; background:#fff; display:flex; align-items:center; gap:12px; padding:0 16px; max-width:var(--sfx-col); margin:0 auto; }
.sfx-topbar__back, .sfx-topbar__fav { width:32px; height:32px; display:grid; place-items:center; border:0; background:none; color:var(--sfx-ink); cursor:pointer; padding:0; }
.sfx-topbar__title { font-size:17px; font-weight:600; margin:0; flex:1; }
.sfx-cover { position:relative; background:#ddd; }
.sfx-cover img { width:100%; height:190px; object-fit:cover; }
.sfx-cover__fav { display:none; position:absolute; top:12px; inset-inline-end:12px; width:36px; height:36px; border-radius:50%; border:0; background:#fff; color:var(--sfx-ink); display:grid; place-items:center; cursor:pointer; box-shadow:0 1px 4px rgba(0,0,0,.14); }
.sfx-crumb { font-size:12px; color:var(--sfx-faint); display:flex; gap:6px; align-items:center; margin-bottom:14px; flex-wrap:wrap; }
.sfx-crumb .is-current { color:var(--sfx-mute); }
.sfx-vendor__top { display:flex; align-items:center; gap:12px; }
.sfx-vendor__logo { width:56px; height:56px; border-radius:12px; object-fit:cover; flex:none; }
.sfx-vendor__name { margin:0; font-size:20px; font-weight:900; flex:1; }
.sfx-badge-red { background:var(--sfx-red); color:#fff; border-radius:4px; padding:1px 5px; font-size:13px; font-weight:600; line-height:1.6; white-space:nowrap; }
.sfx-badge-red--sm { font-size:11px; padding:0 4px; }
.sfx-vendor__meta { margin-top:14px; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.sfx-rate { display:flex; align-items:center; gap:6px; font-size:14px; }
.sfx-rate__dot, .sfx-rate__votes { color:var(--sfx-mute); }
.sfx-pill { border:0; background:rgba(19,20,31,.05); color:var(--sfx-ink); border-radius:999px; padding:9px 18px; font:inherit; font-size:14px; cursor:pointer; }
.sfx-info { margin-top:14px; border-top:1px solid var(--sfx-sep); padding-top:10px; }
.sfx-info__row { display:flex; justify-content:space-between; gap:16px; font-size:14px; padding:6px 0; }
.sfx-info__row span { color:var(--sfx-mute); flex:none; }
.sfx-info__row b { font-weight:600; text-align:left; }
.sfx-coupon { border:1px solid var(--sfx-line); border-radius:12px; padding:12px 14px; max-width:260px; }
.sfx-coupon__head { display:flex; align-items:center; gap:8px; font-size:15px; }
.sfx-coupon__seal { width:22px; height:22px; border-radius:50%; background:var(--sfx-red); color:#fff; display:grid; place-items:center; font-size:12px; font-weight:700; }
.sfx-coupon__sub { margin:8px 0 10px; font-size:13px; color:var(--sfx-faint); border-bottom:1px dashed var(--sfx-line); padding-bottom:10px; }
.sfx-coupon__more { font-size:13px; }
.sfx-tabs { position:sticky; top:0; z-index:50; background:#fff; display:flex; align-items:center; gap:4px; padding:6px 12px; margin:0 auto 8px; max-width:var(--sfx-col); }
.sfx-tabs__tools { display:flex; gap:2px; flex:none; order:2; }
.sfx-iconbtn { width:36px; height:36px; border:0; background:none; color:var(--sfx-ink); display:grid; place-items:center; cursor:pointer; padding:0; }
.sfx-tabs__scroll { order:1; flex:1; display:flex; gap:20px; overflow-x:auto; scrollbar-width:none; padding:4px 2px; }
.sfx-tabs__scroll::-webkit-scrollbar { display:none; }
.sfx-tab { white-space:nowrap; font-size:15px; color:var(--sfx-mute); padding:6px 2px; border-bottom:2px solid transparent; display:flex; align-items:center; gap:6px; }
.sfx-tab.is-active { color:var(--sfx-ink); font-weight:600; border-bottom-color:var(--sfx-pink); }
.sfx-tab__seal { width:18px; height:18px; border-radius:50%; background:var(--sfx-pink); color:#fff; display:grid; place-items:center; font-size:10px; font-weight:700; }
.sfx-search { position:sticky; top:0; z-index:51; background:#fff; display:flex; align-items:center; gap:8px; padding:10px 14px; margin:0 auto 8px; max-width:var(--sfx-col); }
.sfx-search__input { flex:1; border:0; background:rgba(19,20,31,.05); border-radius:10px; padding:10px 14px; font:inherit; font-size:14px; color:var(--sfx-ink); }
.sfx-search__close { border:0; background:none; font-size:16px; cursor:pointer; color:var(--sfx-mute); }
.sfx-card__title--strip { display:flex; align-items:center; gap:8px; color:var(--sfx-ink); font-size:15px; }
.sfx-strip__scroll { display:flex; gap:12px; overflow-x:auto; scrollbar-width:none; padding-bottom:4px; }
.sfx-strip__scroll::-webkit-scrollbar { display:none; }
.sfx-dcard { width:176px; flex:none; position:relative; }
.sfx-dcard__media img { width:176px; height:176px; object-fit:cover; border-radius:8px; }
.sfx-plus { position:absolute; top:148px; inset-inline-start:10px; width:34px; height:34px; border-radius:50%; border:0; background:#fff; color:var(--sfx-ink); font-size:20px; line-height:1; cursor:pointer; box-shadow:0 1px 5px rgba(0,0,0,.18); display:grid; place-items:center; }
.sfx-plus.is-in { background:var(--sfx-pink); color:#fff; }
.sfx-dcard__name { display:block; margin-top:10px; font-size:14px; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sfx-dcard__price { display:flex; align-items:center; gap:6px; margin-top:6px; min-height:20px; }
.sfx-dcard__price del { color:var(--sfx-faint); font-size:12px; }
.sfx-dcard__final { font-size:14px; font-weight:600; margin-top:2px; }
.sfx-cat__list { display:flex; flex-direction:column; }
.sfx-item { display:flex; gap:14px; padding:18px 0; border-bottom:1px solid var(--sfx-sep); }
.sfx-item:last-child { border-bottom:0; }
.sfx-item[hidden] { display:none; }
.sfx-item__body { flex:1; min-width:0; display:flex; flex-direction:column; }
.sfx-item__name { font-size:16px; font-weight:600; }
.sfx-item__desc { margin:8px 0 0; font-size:14px; color:var(--sfx-mute); line-height:1.9; }
.sfx-item__price { margin-top:auto; padding-top:14px; }
.sfx-item__was { display:flex; align-items:center; gap:6px; }
.sfx-item__was del { color:var(--sfx-faint); font-size:13px; }
.sfx-item__now { font-size:15px; font-weight:600; margin-top:2px; }
.sfx-item__side { flex:none; width:124px; display:flex; flex-direction:column; gap:12px; }
.sfx-item__media img { width:124px; height:124px; object-fit:cover; border-radius:8px; }
.sfx-add { width:124px; height:38px; border:0; border-radius:8px; background:var(--sfx-pink-soft); color:var(--sfx-pink); font:inherit; font-size:14px; font-weight:600; cursor:pointer; display:flex; align-items:center; justify-content:center; gap:6px; }
.sfx-add__plus { font-size:17px; line-height:1; }
.sfx-step { width:124px; height:38px; border-radius:8px; background:var(--sfx-pink-soft); color:var(--sfx-pink); display:flex; align-items:center; justify-content:space-between; padding:0 6px; font-weight:600; }
.sfx-step button { width:30px; height:30px; border:0; background:none; color:var(--sfx-pink); font-size:19px; line-height:1; cursor:pointer; }
.sfx-step__n { font-size:15px; }
.sfx-busy { opacity:.55; pointer-events:none; }
.sfx-cartbar { position:fixed; inset-inline:0; bottom:0; z-index:70; max-width:var(--sfx-col); margin:0 auto; background:#fff; border-top:1px solid var(--sfx-line); box-shadow:0 -2px 12px rgba(0,0,0,.07); padding:12px 16px; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.sfx-cartbar[hidden] { display:none; }
.sfx-cartbar__go { background:var(--sfx-pink); color:#fff; border-radius:10px; padding:11px 26px; font-size:15px; font-weight:600; }
.sfx-cartbar__info { display:flex; flex-direction:column; align-items:flex-end; line-height:1.5; }
.sfx-cartbar__total { font-size:15px; font-weight:600; }
.sfx-cartbar__count { font-size:12px; color:var(--sfx-mute); }
.sfx-foot { padding:22px 16px; text-align:center; color:var(--sfx-faint); font-size:13px; }
.sfx-foot p { margin:0; }
.sfx-product__gallery { padding:0; }
.sfx-product__gallery img { width:100%; height:auto; background:#fafafa; }
.sfx-product__head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.sfx-product__name { margin:0; font-size:19px; font-weight:700; }
.sfx-product__desc { margin:12px 0 0; font-size:14px; color:var(--sfx-mute); line-height:2; }
.sfx-product__buy { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-top:20px; }
.sfx-product__reviews { color:var(--sfx-mute); font-size:14px; }
@media (max-width:720px) {
  .sfx-cover img { height:150px; }
  .sfx-vendor__logo { width:48px; height:48px; }
  .sfx-vendor__name { font-size:18px; }
  .sfx-item__side { width:104px; }
  .sfx-item__media img { width:104px; height:104px; }
  .sfx-add, .sfx-step { width:104px; }
  .sfx-dcard { width:152px; }
  .sfx-dcard__media img { width:152px; height:152px; }
  .sfx-plus { top:124px; }
}
body.alez-snapp [hidden] { display: none !important; }

/* WooCommerce classic pages (cart, checkout, account) in the restaurant look */
.sfx-wc { font-size:14px; }
.sfx-wc h1, .sfx-wc h2, .sfx-wc h3 { font-size:15px; font-weight:600; color:var(--sfx-ink); margin:0 0 12px; }
.sfx-wc table { width:100%; border-collapse:collapse; }
.sfx-wc th, .sfx-wc td { padding:12px 8px; border-bottom:1px solid var(--sfx-sep); text-align:right; vertical-align:middle; }
.sfx-wc th { color:var(--sfx-mute); font-weight:600; }
.sfx-wc img { width:56px; height:56px; object-fit:cover; border-radius:8px; }
.sfx-wc input[type=text], .sfx-wc input[type=email], .sfx-wc input[type=tel], .sfx-wc input[type=password], .sfx-wc input[type=number], .sfx-wc textarea, .sfx-wc select, .sfx-wc .select2-selection {
  width:100%; border:1px solid var(--sfx-line); border-radius:10px; padding:11px 14px; font:inherit; font-size:14px; color:var(--sfx-ink); background:#fff; }
.sfx-wc input:focus, .sfx-wc textarea:focus, .sfx-wc select:focus { outline:2px solid var(--sfx-pink); border-color:transparent; }
.sfx-wc label { display:block; font-size:13px; color:var(--sfx-mute); margin:12px 0 6px; }
.sfx-wc .button, .sfx-wc button[type=submit], .sfx-wc #place_order {
  background:var(--sfx-pink); color:#fff; border:0; border-radius:10px; padding:12px 26px; font:inherit; font-size:15px; font-weight:600; cursor:pointer; }
.sfx-wc .button:hover, .sfx-wc #place_order:hover { filter:brightness(.94); }
.sfx-wc .quantity input { width:70px; text-align:center; }
.sfx-wc .woocommerce-message, .sfx-wc .woocommerce-info, .sfx-wc .woocommerce-error {
  background:rgba(19,20,31,.04); border-radius:10px; padding:12px 14px; list-style:none; margin:0 0 14px; }
.sfx-wc .cart-collaterals, .sfx-wc .cart_totals { margin-top:18px; }
.sfx-wc del { color:var(--sfx-faint); }
.sfx-wc a { color:var(--sfx-pink); }
.sfx-wc .woocommerce-privacy-policy-text { color:var(--sfx-faint); font-size:12px; }

/* add-ons bottom sheet */
.sfx-sheet { position:fixed; inset:0; z-index:200; display:flex; align-items:flex-end; justify-content:center; }
.sfx-sheet[hidden] { display:none; }
.sfx-sheet__back { position:absolute; inset:0; background:rgba(19,20,31,.45); }
.sfx-sheet__panel { position:relative; width:100%; max-width:var(--sfx-col); background:#fff; border-radius:16px 16px 0 0; max-height:86vh; display:flex; flex-direction:column; }
.sfx-sheet__head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px; border-bottom:1px solid var(--sfx-sep); }
.sfx-sheet__head b { font-size:16px; font-weight:600; }
.sfx-sheet__close { border:0; background:none; font-size:16px; cursor:pointer; color:var(--sfx-mute); }
.sfx-sheet__body { overflow-y:auto; padding:4px 16px 16px; }
.sfx-grp { padding:14px 0; border-bottom:1px solid var(--sfx-sep); }
.sfx-grp:last-child { border-bottom:0; }
.sfx-grp__head { margin:0 0 10px; font-size:15px; font-weight:600; display:flex; align-items:baseline; gap:8px; }
.sfx-grp__rule { font-size:12px; font-weight:400; color:var(--sfx-faint); }
.sfx-grp__row { display:flex; align-items:center; gap:10px; padding:10px 0; font-size:14px; cursor:pointer; }
.sfx-grp__row input { width:18px; height:18px; accent-color:var(--sfx-pink); flex:none; margin:0; }
.sfx-grp__row input:disabled + .sfx-grp__title { opacity:.45; }
.sfx-grp__title { flex:1; }
.sfx-grp__price { color:var(--sfx-ink); font-size:13px; }
.sfx-grp__free { color:var(--sfx-faint); font-size:13px; }
.sfx-sheet__foot { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 16px; border-top:1px solid var(--sfx-line); }
.sfx-sheet__go { background:var(--sfx-pink); color:#fff; border:0; border-radius:10px; padding:12px 26px; font:inherit; font-size:15px; font-weight:600; cursor:pointer; }
.sfx-sheet__go:disabled { opacity:.45; cursor:default; }
.sfx-sheet__sum { display:flex; flex-direction:column; align-items:flex-end; line-height:1.5; }
.sfx-sheet__total { font-size:15px; font-weight:600; }
.sfx-sheet__hint { font-size:12px; color:var(--sfx-faint); }

/* basket page */
.sfx-empty { text-align:center; padding:40px 16px; }
.sfx-empty__text { color:var(--sfx-mute); margin:0 0 16px; }
.sfx-empty__go { display:inline-block; background:var(--sfx-pink); color:#fff; border-radius:10px; padding:11px 26px; font-size:15px; font-weight:600; }
.sfx-basket__vendor { display:flex; align-items:center; gap:12px; }
.sfx-basket__vendor b { flex:1; font-size:15px; }
.sfx-basket__more { color:var(--sfx-pink); font-size:13px; }
.sfx-line { display:flex; gap:14px; padding:16px 0; border-bottom:1px solid var(--sfx-sep); }
.sfx-line:last-child { border-bottom:0; }
.sfx-line__body { flex:1; min-width:0; }
.sfx-line__name { font-size:15px; font-weight:600; display:block; }
.sfx-line__tops { margin:8px 0 0; padding:0; list-style:none; }
.sfx-line__tops li { font-size:13px; color:var(--sfx-mute); line-height:1.9; }
.sfx-line__price { margin-top:10px; font-size:15px; font-weight:600; }
.sfx-line__side { flex:none; width:96px; display:flex; flex-direction:column; gap:10px; align-items:center; }
.sfx-line__img { width:76px; height:76px; object-fit:cover; border-radius:8px; }
.sfx-line .sfx-step { width:96px; }
.sfx-sum__row { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:9px 0; font-size:14px; }
.sfx-sum__row span { color:var(--sfx-mute); }
.sfx-sum__row.is-off b { color:var(--sfx-red); }
.sfx-sum__row.is-total { border-top:1px solid var(--sfx-sep); margin-top:6px; padding-top:14px; font-size:15px; }
.sfx-sum__row.is-total span { color:var(--sfx-ink); font-weight:600; }
.sfx-sum__min { margin:12px 0 0; font-size:12px; color:var(--sfx-faint); }

/* phone + code sign-in */
.sfx-auth { padding:28px 20px 32px; }
.sfx-auth__title { margin:0 0 8px; font-size:19px; font-weight:700; }
.sfx-auth__hint { margin:0 0 18px; font-size:14px; color:var(--sfx-mute); line-height:1.9; }
.sfx-auth__phone { width:100%; border:1px solid var(--sfx-line); border-radius:10px; padding:13px 16px; font:inherit; font-size:16px; letter-spacing:1px; direction:ltr; text-align:center; }
.sfx-auth__phone:focus { outline:2px solid var(--sfx-pink); border-color:transparent; }
.sfx-auth__go, .sfx-auth__verify { width:100%; margin-top:16px; background:var(--sfx-pink); color:#fff; border:0; border-radius:10px; padding:13px; font:inherit; font-size:15px; font-weight:600; cursor:pointer; }
.sfx-auth__go:disabled, .sfx-auth__verify:disabled { opacity:.5; cursor:default; }
.sfx-auth__err { margin:12px 0 0; font-size:13px; color:var(--sfx-red); }
.sfx-otp { display:flex; gap:8px; direction:ltr; justify-content:center; }
.sfx-otp__box { width:46px; height:54px; border:1px solid var(--sfx-line); border-radius:10px; font:inherit; font-size:20px; text-align:center; }
.sfx-otp__box:focus { outline:2px solid var(--sfx-pink); border-color:transparent; }
.sfx-auth__foot { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:16px; }
.sfx-auth__foot button { border:0; background:none; font:inherit; font-size:13px; color:var(--sfx-pink); cursor:pointer; padding:0; }
.sfx-auth__foot button:disabled { color:var(--sfx-faint); cursor:default; }

/* address map */
.sfx-mapwrap { margin:0 0 22px; }
.sfx-mapbar { display:flex; gap:8px; margin-bottom:10px; flex-wrap:wrap; }
.sfx-mapbar__q { flex:1; min-width:180px; border:1px solid var(--sfx-line); border-radius:10px; padding:10px 14px; font:inherit; font-size:14px; }
.sfx-mapbar__btn { border:0; background:var(--sfx-pink); color:#fff; border-radius:10px; padding:10px 18px; font:inherit; font-size:14px; font-weight:600; cursor:pointer; }
.sfx-mapbar__btn.is-ghost { background:rgba(19,20,31,.05); color:var(--sfx-ink); }
.sfx-map { height:280px; border-radius:12px; overflow:hidden; border:1px solid var(--sfx-line); }
.sfx-map__addr { margin:10px 0 0; font-size:13px; color:var(--sfx-mute); min-height:20px; }
