/* ---------------------------------------------------------------------------
   The site font.
   The theme asks for  iranSansX, IRANSansX, Ahang, Vazirmatn, Tahoma  but the
   first three were never loaded, so every page was falling back to Tahoma —
   which is why the Persian text and the digits looked like two different
   fonts. Vazirmatn is the open (SIL OFL) face cut in the same style as the
   IRANSans family SnappFood uses; it already sits in the theme's stack, so
   loading it here fixes the type everywhere without touching the theme.
   Four weights, Arabic + Latin only, ~20KB each and cached for good.
--------------------------------------------------------------------------- */
@font-face{font-family:'Vazirmatn';font-style:normal;font-display:swap;font-weight:400;src:url(vazirmatn-arabic-400-normal.woff2) format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC;}
@font-face{font-family:'Vazirmatn';font-style:normal;font-display:swap;font-weight:400;src:url(vazirmatn-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Vazirmatn';font-style:normal;font-display:swap;font-weight:600;src:url(vazirmatn-arabic-600-normal.woff2) format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC;}
@font-face{font-family:'Vazirmatn';font-style:normal;font-display:swap;font-weight:600;src:url(vazirmatn-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Vazirmatn';font-style:normal;font-display:swap;font-weight:700;src:url(vazirmatn-arabic-700-normal.woff2) format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC;}
@font-face{font-family:'Vazirmatn';font-style:normal;font-display:swap;font-weight:700;src:url(vazirmatn-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}

/* Brand — one place for the whole platform.
   snapp.css declares --sfx-pink / --sfx-pink-soft and every other pink in the theme reads from them;
   this file loads after the theme and after the other Alez plugins, so these lines retint everything. */
/* 1.2.21 (یاس، 5 مهر: «تغییر رنگ سازمانی در تمام ارکان رستوران»): رنگ از رنگ سازمانی رستوران (--az-brand، از قالب) خوانده می‌شود.
   پیش‌تر این دو خط بنفش ثابت را روی :root و روی خود پیشخوان (.alezp) می‌گذاشتند و نوار بخش‌های پیشخوان بنفش می‌ماند. */
.alezac, .alezau { --p:var(--az-brand, #A02BA6); }

.alezac { --p:var(--az-brand, #A02BA6); --ink:rgba(19,20,31,.9); --mute:rgba(19,20,31,.6); --faint:rgba(19,20,31,.38); --line:rgba(19,20,31,.08);
  color:var(--ink); max-width:720px; margin:0 auto; padding-bottom:8px; }
.alezac * { box-sizing:border-box; }
.alezac-h { font-size:17px; font-weight:700; margin:4px 0 14px; }
.alezac-sub { font-size:12px; color:var(--faint); margin:0 0 10px; }
.alezac-deny, .alezac-empty { padding:28px 16px; text-align:center; color:var(--mute); font-size:14px; line-height:2.2; }
.alezac-deny a, .alezac-empty a { color:var(--az-brand-text, var(--p)); text-decoration:none; }
.alezac-card { background:#fff; border:1px solid var(--line); border-radius:14px; padding:16px; margin-bottom:12px; }
.alezac-note { margin:8px 0 0; font-size:13px; }
.alezac-note.ok { color:#1f7a3d; }
.alezac-note.bad { color:#e01d1d; }

/* account */
.alezac-me { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.alezac-me__name { font-size:16px; font-weight:700; }
.alezac-me__phone { font-size:13px; color:var(--faint); }
.alezac-me__edit { margin-inline-start:auto; border:0; background:rgba(160,43,166,.10); background:color-mix(in srgb, var(--p) 10%, transparent); color:var(--az-brand-text, var(--p)); border-radius:999px; padding:8px 14px; font:inherit; font-size:12px; cursor:pointer; }
.alezac-menu { padding:4px 16px; }
.alezac-menu a { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:15px 0; border-bottom:1px solid rgba(19,20,31,.05); text-decoration:none; color:var(--ink); font-size:14px; }
.alezac-menu a:last-child { border-bottom:0; }
.alezac-menu i { font-style:normal; font-size:12px; color:var(--faint); }
.alezac-out { display:block; text-align:center; background:rgba(19,20,31,.05); color:var(--ink); border-radius:12px; padding:14px; font-size:14px; text-decoration:none; }

/* forms */
.alezac-form { display:flex; flex-direction:column; gap:10px; }
.alezac-form label { display:flex; flex-direction:column; gap:5px; font-size:12px; color:var(--faint); }
.alezac-form input, .alezac-search { border:1px solid var(--line); border-radius:11px; padding:11px 13px; font:inherit; font-size:14px; color:var(--ink); background:#fff; }
.alezac-form input:disabled { background:rgba(19,20,31,.04); color:var(--mute); }
.alezac-form button, .alezac-go { border:0; background:var(--p); color:var(--az-brand-ink, #fff); border-radius:11px; padding:12px 18px; font:inherit; font-size:14px; font-weight:600; cursor:pointer; }
.alezac-ghost { border:1px solid var(--line); background:#fff; color:var(--mute); border-radius:11px; padding:12px 18px; font:inherit; font-size:14px; cursor:pointer; }
.alezac-del { border:0; background:none; color:#e01d1d; font:inherit; font-size:13px; cursor:pointer; padding:12px 8px; }
.alezac-search { width:100%; margin-bottom:10px; }

/* orders */
.alezac-order__top { display:flex; align-items:center; gap:10px; }
.alezac-order__top b { font-size:15px; font-weight:700; }
.alezac-tag { font-size:11px; border-radius:999px; padding:3px 10px; }
.alezac-tag--ok { background:rgba(31,122,61,.1); color:#1f7a3d; }
.alezac-tag--bad { background:rgba(224,29,29,.08); color:#e01d1d; }
.alezac-tag--wait { background:rgba(160,43,166,.10); background:color-mix(in srgb, var(--p) 10%, transparent); color:var(--az-brand-text, var(--p)); }
.alezac-order__when { margin:8px 0 0; font-size:12px; color:var(--faint); }
.alezac-order__to { margin:6px 0 0; font-size:12px; color:var(--mute); }
.alezac-order__to span { color:var(--faint); }
.alezac-order__foot { display:flex; align-items:center; justify-content:space-between; margin-top:12px; padding-top:12px; border-top:1px solid rgba(19,20,31,.05); font-size:13px; color:var(--mute); }
.alezac-order__foot b { font-size:15px; color:var(--ink); }
.alezac-order__btns { display:flex; gap:8px; margin-top:12px; }
.alezac-order__btns > * { flex:1; }
.alezac-busy { opacity:.5; pointer-events:none; }

/* invoice */
.alezac-bill { margin-top:14px; padding-top:14px; border-top:1px dashed var(--line); }
.alezac-bill[hidden] { display:none !important; }
.alezac-bill__h { display:block; font-size:14px; font-weight:700; margin-bottom:10px; }
.alezac-bill__row { display:flex; justify-content:space-between; gap:14px; padding:7px 0; font-size:13px; }
.alezac-bill__row i { display:block; font-style:normal; font-size:11px; color:var(--faint); margin-top:3px; }
.alezac-bill__sum { border-top:1px solid rgba(19,20,31,.05); margin-top:6px; padding-top:12px; color:var(--mute); }
.alezac-bill__off b { color:#1f7a3d; }
.alezac-bill__total { border-top:1px solid rgba(19,20,31,.05); margin-top:6px; padding-top:12px; font-size:15px; font-weight:700; }

/* addresses */
.alezac-addr.is-default { border-color:var(--p); }
.alezac-addr__top { display:flex; align-items:center; gap:8px; }
.alezac-addr__top b { font-size:15px; font-weight:600; }
.alezac-addr__txt { margin:8px 0 0; font-size:13px; line-height:2; color:var(--mute); }
.alezac-addr__ph { margin:4px 0 0; font-size:12px; color:var(--faint); }
.alezac-map { height:280px; border-radius:12px; overflow:hidden; border:1px solid var(--line); margin-bottom:12px; }

/* offers */
.alezac-offer { display:flex; align-items:center; gap:12px; text-decoration:none; color:var(--ink); }
.alezac-offer img { width:64px; height:64px; border-radius:10px; object-fit:cover; flex:none; }
.alezac-offer__b { flex:1; min-width:0; }
.alezac-offer__b > b { display:block; font-size:14px; font-weight:600; }
.alezac-offer__p { display:flex; align-items:center; gap:8px; margin-top:8px; font-size:13px; }
.alezac-offer__p del { color:var(--faint); font-size:12px; }
.alezac-off { background:var(--p); color:var(--az-brand-ink, #fff); border-radius:999px; padding:2px 8px; font-size:11px; }

/* bottom bar */
.alezac-bar { position:fixed; inset-inline:0; bottom:0; z-index:900; display:flex; background:#fff; border-top:1px solid rgba(19,20,31,.06); padding:6px 0 max(6px, env(safe-area-inset-bottom)); }
.alezac-bar__i { flex:1; display:flex; flex-direction:column; align-items:center; gap:3px; text-decoration:none; color:rgba(19,20,31,.45); font-size:11px; padding:4px 0; }
.alezac-bar__i svg { width:22px; height:22px; }
.alezac-bar__i.is-on { color:var(--az-brand-text, var(--p)); font-weight:600; }
/* 1.2.7 — قد این نوار را خودش اعلام می‌کند، دیگران حدس نزنند.
   ⚠ آنچه اینجا بود و برداشته شد:
       body { padding-bottom:64px; }
       .sfx-cartbar, .sfx-bar, .alezp-bar { bottom:62px !important; }
   سه ایراد داشت. (۱) دو عدد ثابت ۶۴ و ۶۲ که با قدِ واقعی همین نوار نمی‌خواند،
   چون خودِ نوار پایینش `max(6px, env(safe-area-inset-bottom))` دارد و روی گوشی‌ای
   که نوار اشاره‌ای دارد بلندتر می‌شود؛ نتیجه‌اش این بود که نوار سبد قالب دقیقاً
   ۶۲ پیکسل بالا می‌نشست و روی گوشی زیر همین نوار می‌رفت (یافتهٔ یاس، ۲۷ شهریور).
   (۲) دست‌درازی به کلاس دو بستهٔ دیگر با `!important` — نقض قاعدهٔ ۱۸۱.
   (۳) `.sfx-bar` و `.alezp-bar` اصلاً در هیچ بسته‌ای وجود ندارند؛ دو سلکتور مرده.

   به‌جایش یک قرارداد: این نوار قدش را در `--alezac-bar-h` می‌گذارد و هر کس
   پایین صفحه چیزی دارد، رویش سوار می‌شود. مقدار زیر پایهٔ CSS‌ای است (تا پیش از
   اجرای جاوااسکریپت هم عدد درستی باشد) و `account.js` آن را با قدِ اندازه‌گیری‌شدهٔ
   واقعی دقیق می‌کند. */
:root { --alezac-bar-h: calc(62px + max(0px, env(safe-area-inset-bottom))); }
body { padding-bottom: var(--alezac-bar-h); }
/* 1.2.20 (یاس، 3 مهر؛ یافتهٔ آزمون شش اندازه): پایهٔ 62px با قد واقعی نوار (حدود 71px، از وقتی نوشتهٔ زیر آیکن‌ها طبق قاعدهٔ 19
   15px شد) نمی‌خواند؛ جاوااسکریپت پس از بار شدن آن را به 72px می‌رساند و طول همهٔ صفحه‌ها 10px بلند می‌شد. حالا پایه همان قد
   واقعی است و نوار دست‌کم همین قد را دارد، پس اندازه‌گیری همان عدد را برمی‌گرداند و چیزی جابه‌جا نمی‌شود. با قلم بزرگ سیستم
   نوار بلندتر می‌شود و اندازه‌گیری مثل قبل دقیقش می‌کند. */
:root { --alezac-bar-base: calc(66px + max(6px, env(safe-area-inset-bottom))); --alezac-bar-h: var(--alezac-bar-base); }
/* 1.2.23 (یاس، 5 مهر: «لرزش نوار پایین هنوز رفع نشده»؛ حکم مدیر کل روی 1.2.20: «min-height از متغیر پایهٔ ثابت جدا بخواند»):
   نوار حداقل قدش را از همان --alezac-bar-h می‌گرفت که جاوااسکریپت از اندازهٔ خود نوار می‌سازد؛ نوار به خودش گره خورده بود و با
   باز و بسته شدن نوار نشانی گوشی (رویداد resize) و گرد کردن زیرپیکسلی، می‌توانست پشت‌سرهم یک پیکسل بالا و پایین برود.
   حالا حداقل قد از پایهٔ ثابت است و --alezac-bar-h فقط برای دیگران (نوار سبد، فاصلهٔ پایین صفحه) اندازه گرفته می‌شود. */
.alezac-bar { min-height: var(--alezac-bar-base); }
@media (min-width:900px) { .alezac-bar { max-width:720px; margin:0 auto; border-radius:16px 16px 0 0; } }

/* ---------------------------------------------------------------------------
   The add-on sheet.
   Three complaints, three fixes: the control was too small to read as a
   button, the option text sat lighter than the heading and the prices, and a
   group you MUST answer looked exactly like one you may skip.
--------------------------------------------------------------------------- */

/* one type scale for the whole sheet — same face, same rhythm, aligned digits */
.sfx-sheet, .sfx-sheet *{ font-family:inherit; }
.sfx-sheet__panel{ font-variant-numeric:tabular-nums; }

.sfx-grp__head{
  display:flex; align-items:center; gap:8px; flex-wrap:wrap;
  font-size:16px; font-weight:800; color:#13141f; margin:18px 0 6px;
}
.sfx-grp__rule{ font-size:13px; font-weight:500; color:rgba(19,20,31,.55); }

.sfx-grp__title{ font-size:15px; font-weight:500; color:#13141f; }
.sfx-grp__price{ font-size:14px; font-weight:600; color:rgba(19,20,31,.72); }
.sfx-grp__free{ font-size:14px; font-weight:600; color:rgba(19,20,31,.55); }

/* اجباری / اختیاری — the answer to "which of these do I have to fill in?" */
.sfx-grp__req{
  display:inline-flex; align-items:center; gap:4px;
  padding:2px 9px; border-radius:999px;
  font-size:12px; font-weight:700; line-height:1.8; white-space:nowrap;
}
.sfx-grp__req.is-must{ background:var(--sfx-pink); color:var(--az-brand-ink, #fff); }
.sfx-grp__req.is-opt{ background:rgba(19,20,31,.06); color:rgba(19,20,31,.5); }
/* 1.2.8 — سه سطر بالای هر گروه: [اجباری] / قاعده / نام گروه */
.sfx-grp__meta{ display:flex; flex-direction:column; align-items:flex-start; gap:4px; margin:4px 0 0; }
.sfx-grp__meta .sfx-grp__rule{ display:block; }
.sfx-grp__meta + .sfx-grp__head{ margin-top:6px; }

/* the control itself — the size of a real button, in the brand purple */
.sfx-grp__row input[type="radio"],
.sfx-grp__row input[type="checkbox"]{
  -webkit-appearance:none; appearance:none;
  width:30px; height:30px; flex:none; margin:0;
  border:3px solid rgba(19,20,31,.28); background:#fff;
  display:grid; place-items:center; cursor:pointer;
  transition:border-color .12s ease, background-color .12s ease;
}
.sfx-grp__row input[type="radio"]{ border-radius:50%; }
.sfx-grp__row input[type="checkbox"]{ border-radius:9px; }
.sfx-grp__row input[type="radio"]:checked,
.sfx-grp__row input[type="checkbox"]:checked{
  border-color:var(--sfx-pink); background:var(--sfx-pink);
}
.sfx-grp__row input[type="radio"]:checked::after{
  content:""; width:12px; height:12px; border-radius:50%; background:#fff;
}
.sfx-grp__row input[type="checkbox"]:checked::after{
  content:"\2713"; color:var(--az-brand-ink, #fff); font-size:18px; font-weight:800; line-height:1;
}
.sfx-grp__row input:focus-visible{ outline:2px solid var(--sfx-pink); outline-offset:2px; }
.sfx-grp__row input:disabled{ opacity:.4; cursor:not-allowed; }

/* the whole row is the target, and a chosen row reads as a pressed button */
.sfx-grp__row{
  cursor:pointer; padding:12px 14px; border:1.5px solid transparent; border-radius:12px;
  transition:background-color .12s ease, border-color .12s ease;
}
.sfx-grp__row:has(input:checked){
  background:var(--sfx-pink-soft); border-color:var(--sfx-pink);
}
.sfx-grp__row:has(input:checked) .sfx-grp__title{ font-weight:700; }

/* ---------------------------------------------------------------------------
   Anything sitting on the solid brand purple reads in white.
--------------------------------------------------------------------------- */
/* only the SOLID purple fills — never the soft tints, whose text stays purple */
.sfx-sheet__go, .sfx-cartbar__go,
.alezp-nav__btn.is-on, .alezp-chip, .alezp-big, .alezp-sug__go,
.alezac-go, .alezac-off, .alezau__go{
  color:var(--az-brand-ink, #fff);
}
/* the add button is a tinted button with brand-coloured text, the way SnappFood draws it */
.sfx-add, .sfx-add *{ color:var(--az-brand-text, var(--sfx-pink)); }

/* links that are really buttons: a plain `a{color}` rule outranks a single class,
   so the anchor versions are named explicitly */
a.sfx-cartbar__go, .sfx-cartbar a.sfx-cartbar__go,
a.sfx-empty__go, .sfx-empty a.sfx-empty__go, a.sfx-sheet__go,
a.alezac-go, .alezac a.alezac-go,
a.alezau__go, .alezau a.alezau__go{ color:var(--az-brand-ink, #fff); }
.sfx-sheet__go *, .alezp-big *, .alezac-go *, .alezau__go *{ color:inherit; }

/* The bottom bar must never sit on top of an open sheet. */
.sfx-sheet{ z-index:1000; }
body:has(.sfx-sheet:not([hidden])) .alezac-bar{ display:none; }

/* the savings line under the bill */
.alezac-saved{ margin:10px 0 0; font-size:13px; font-weight:600; color:#1f7a3d; text-align:center; }

/* checkout — address chooser: from 1.2.16 a bottom sheet (see the end of this file) */
.alezac-hint{ font-size:13px; color:rgba(19,20,31,.6); margin:0; }
.alezac-hint a{ color:var(--az-brand-text, var(--sfx-pink)); text-decoration:none; }

/* checkout — hide what SnappFood does not show */
#alez_map_latlng_field{ display:none !important; }          /* machine field the map fills */
.alez-map-field{ display:none !important; }                  /* alez-core's second, unconfigured map */
#order_review_heading{ display:none !important; }            /* «سفارش شما» — our bill card says it */
.woocommerce-additional-fields > h3{ display:none !important; }
.woocommerce-checkout-review-order-table{ display:none !important; }
.woocommerce-billing-fields > h3{ display:none !important; }
.woocommerce-privacy-policy-text{ display:none !important; }  /* untranslated WooCommerce boilerplate */

/* the delivery-area verdict under the address map */
.alezac-zonenote{ margin:8px 0 12px; font-size:13px; line-height:1.9; border-radius:10px; padding:9px 12px; }
.alezac-zonenote.is-in{ background:#E7F6EC; color:#1f7a3d; }
.alezac-zonenote.is-out{ background:rgba(224,29,29,.07); color:#c31616; }

/* ---------------------------------------------------------------------------
   1.2.9 — قاعدهٔ ۱۹ «خوانایی سایت مشتری» (تصویب یاس ۱ مهر)، قدم اول: پنجرهٔ انتخاب افزودنی.
   فقط سه اندازه: ۱۸ (نام غذا، نام گروه، جمع) · ۱۶ (گزینه، قیمت، دکمه) · ۱۵ (راهنما و توضیح).
   ریزتر از ۱۵ نداریم؛ کم‌رنگ‌ترین نوشتهٔ خواندنی ۷۵٪ تیرگی.
   قیمت‌ها و جمع: هم‌رنگ، هم‌وزن، و در یک ستون (جمع همان فاصلهٔ داخلی ردیف گزینه را می‌گیرد).
--------------------------------------------------------------------------- */
.sfx-sheet .sfx-sheet__name{ font-size:18px; font-weight:800; color:#13141f; }
.sfx-sheet .sfx-grp__head{ font-size:18px; font-weight:800; color:#13141f; }
.sfx-sheet .sfx-grp__req{ font-size:15px; font-weight:700; line-height:1.6; padding:2px 10px; }
.sfx-sheet .sfx-grp__rule,
.sfx-sheet .sfx-grp__note{ font-size:15px; font-weight:400; color:rgba(19,20,31,.75); }
.sfx-sheet .sfx-grp__note{ margin:0 0 8px; line-height:1.7; }
.sfx-sheet .sfx-grp__title{ font-size:16px; font-weight:600; color:#13141f; }
.sfx-sheet .sfx-grp__price,
.sfx-sheet .sfx-grp__free{ font-size:16px; font-weight:700; color:#13141f; }
.sfx-sheet .sfx-sheet__total{ font-size:18px; font-weight:800; color:#13141f; }
.sfx-sheet .sfx-sheet__hint{ font-size:15px; font-weight:400; color:rgba(19,20,31,.75); }
.sfx-sheet .sfx-sheet__go{ font-size:16px; font-weight:700; }
/* ستون قیمت: فاصلهٔ داخلی ردیف گزینه (۱۲px) + کادر آن (۱.۵px) */
.sfx-sheet .sfx-sheet__sum{ padding-inline-end:13.5px; }
/* قاعدهٔ ۱۹ — نوشتهٔ نمونهٔ داخل کادرها (placeholder): طوسی و نازک، تا با نوشتهٔ واقعی اشتباه نشود.
   فقط کادرهای خودِ این بسته (فرم نشانی حساب کاربری). کادرهای تسویه مال alez-checkout است. */
.alezac-form input::placeholder, .alezac-form textarea::placeholder,
input.alezac-search::placeholder{ color:rgba(19,20,31,.45); font-weight:400; opacity:1; }

/* ---------------------------------------------------------------------------
   1.2.10 — قاعدهٔ ۱۹ «خوانایی سایت مشتری»، قدم ۲: صفحه‌های حساب، نوار پایین، سود خرید، راهنمای نشانی.
   ۱۵ راهنما و توضیح · ۱۶ گزینه، دکمه، کادر · ۱۸ عنوان. کم‌رنگ‌ترین ۷۵٪.
--------------------------------------------------------------------------- */
.alezac-sub, .alezac-note, .alezac-me__phone, .alezac-me__edit, .alezac-menu i, .alezac-form label, .alezac-del,
.alezac-tag, .alezac-order__when, .alezac-order__to, .alezac-order__foot, .alezac-bill__row i, .alezac-addr__txt,
.alezac-addr__ph, .alezac-offer__p del, .alezac-off, .alezac-bar__i, .alezac-saved, .alezac-pickaddr__row i,
.alezac-pickaddr__add, .alezac-hint, .alezac-zonenote { font-size:15px; }
.alezac-deny, .alezac-empty, .alezac-menu a, .alezac-out, .alezac-form input, .alezac-search, .alezac-form button,
.alezac-go, .alezac-ghost, .alezac-bill__row, .alezac-offer__b > b, .alezac-offer__p, .alezac-pickaddr__row b { font-size:16px; }
.alezac-bill__h { font-size:18px; }
.alezac-pickaddr__row i, .alezac-hint, .alezac-hint a { color:rgba(19,20,31,.75); }

/* ---------------------------------------------------------------------------
   1.2.11 — قاعدهٔ ۱۹، پلهٔ درشت‌تر (تصویب یاس ۱ مهر، با نمونهٔ اسنپ‌فود): ۲۰ · ۱۸ · ۱۷ · ۱۵.
   پنجرهٔ افزودنی: گزینه‌ها، قیمت‌ها و دکمه ۱۷ (قیمت بولد)؛ نام غذا، نام گروه و جمع ۱۸ (بی‌تغییر).
--------------------------------------------------------------------------- */
.sfx-sheet .sfx-grp__title, .sfx-sheet .sfx-sheet__go { font-size:17px; }
.sfx-sheet .sfx-grp__price, .sfx-sheet .sfx-grp__free { font-size:17px; font-weight:700; }
.alezac-deny, .alezac-empty, .alezac-menu a, .alezac-out, .alezac-form input, .alezac-search, .alezac-form button,
.alezac-go, .alezac-ghost, .alezac-bill__row, .alezac-offer__b > b, .alezac-offer__p, .alezac-pickaddr__row b { font-size:17px; }
.alezac-bill__h { font-size:20px; }

/* ---------------------------------------------------------------------------
   1.2.14 — قاعدهٔ ۶ (یاس، 2 مهر): یک ارتفاع 40px برای همهٔ دکمه‌ها و کادرهای صفحه‌های حساب
   («مشاهده فاکتور» و «سفارش مجدد» 54px بودند).
--------------------------------------------------------------------------- */
.alezac-go, .alezac-ghost, a.alezac-go, a.alezac-ghost, .alezac-form button, .alezac-out, .alezac-del {
  height:40px !important; min-height:40px !important; padding-top:0 !important; padding-bottom:0 !important;
  display:inline-flex; align-items:center; justify-content:center; line-height:1.2 !important; box-sizing:border-box;
}
.alezac-form input, .alezac-search { height:40px; min-height:40px; box-sizing:border-box; }

/* 1.2.15 — «حساب من» و «آدرس‌های من» طبق قواعد (یاس، 2 مهر؛ پیش‌تر موقتاً در قالب 0.9.100–0.9.101):
   کارت 16 · کادر و دکمه 12 و 40px · برچسب فرم 17 پررنگ سیاه · نوشتهٔ کم‌رنگ حداقل 75٪ · تمرکز بنفش ·
   فلش استاندارد 16px کنار ردیف‌ها (قاعدهٔ 18) · ردیف دوخطی به‌جای بریده · تیتر تکراری درون صفحه پنهان (سربرگ قالب نشانش می‌دهد). */
.alezac > h2.alezac-h:first-child { display:none; }
.alezac .alezac-card { border-radius:16px; }
.alezac :is(.alezac-sub, .alezac-me__phone, .alezac-menu a i, .alezac-empty) { color:rgba(19,20,31,.75) !important; }
.alezac .alezac-form label { font-size:17px !important; font-weight:700 !important; color:#191a20 !important; line-height:1.6; }
.alezac .alezac-form label :is(input, select, textarea) { font-weight:400 !important; font-size:17px !important; }
.alezac :is(input:not([type=checkbox]):not([type=radio]), select, textarea) { border:1px solid #d9d9db !important; border-radius:12px !important; box-shadow:none !important; }
.alezac :is(input, select, textarea):focus { border-color:var(--sfx-pink,#A02BA6) !important; box-shadow:0 0 0 1px var(--sfx-pink,#A02BA6) !important; outline:0 !important; }
.alezac :is(.alezac-search, .alezac-form button, .alezac-out) { border-radius:12px !important; font-weight:700 !important; }
.alezac .alezac-zonenote { border-radius:12px !important; }
.alezac .alezac-me__edit { height:40px !important; padding:0 16px !important; border-radius:12px !important; font-weight:700 !important; display:inline-flex; align-items:center; }
.alezac .alezac-menu a > span { font-weight:700; white-space:nowrap; flex:none; }
.alezac .alezac-menu a > i { flex:1 1 auto; min-width:0; white-space:normal; line-height:1.4; text-align:end; }
.alezac .alezac-menu a::after { content:''; flex:none; width:16px; height:16px; margin-inline-start:8px; background:var(--alez-arrow,var(--sfx-pink,#A02BA6)); -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M15 6l-6 6 6 6' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M15 6l-6 6 6 6' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat; }

/* 1.2.16 — آدرس تحویل، یک جا مثل اسنپ‌فود (یاس، 2 مهر). روی صفحه یک ردیف؛ «تغییر» این برگه را باز می‌کند.
   قاعده‌ها: کارت 16، دکمه و ورودی 40px با گوشهٔ 12، تیتر برگه 18، متن 17، راهنما 15 با .75، کادر #d9d9db، انتخاب = دایره + کادر بنفش (رنگ تنها نیست). */
html.alezac-has-asheet #billing_address_2_field { display:none !important; }
html.alezac-lock, html.alezac-lock body { overflow:hidden !important; }
.alezac-asheet { position:fixed; inset:0; z-index:10000; display:flex; align-items:flex-end; justify-content:center; }
.alezac-asheet[hidden], .alezac-asheet [hidden], .alezac-cur[hidden] { display:none !important; }
.alezac-asheet__bg { position:absolute; inset:0; background:rgba(0,0,0,.42); }
.alezac-asheet__box { position:relative; width:100%; max-width:520px; max-height:88dvh; display:flex; flex-direction:column; background:#fff; border-radius:16px 16px 0 0; padding-bottom:env(safe-area-inset-bottom,0px); box-sizing:border-box; animation:alezac-up .18s ease-out; }
@keyframes alezac-up { from { transform:translateY(24px); opacity:.6; } to { transform:none; opacity:1; } }
@media (prefers-reduced-motion:reduce) { .alezac-asheet__box { animation:none; } }
.alezac-asheet__hd { display:flex; align-items:center; gap:8px; min-height:60px; padding:8px 16px; border-bottom:1px solid #f0f0f0; box-sizing:border-box; }
.alezac-asheet__hd > span { flex:1; font-size:18px; font-weight:700; color:#191a20; }
.alezac-asheet__x { flex:none; width:36px; height:36px; padding:0; border:0; border-radius:8px; background:transparent; color:rgba(19,20,31,.75); cursor:pointer; font-size:0; position:relative; }
.alezac-asheet__x::before { content:""; position:absolute; inset:8px; background:currentColor; -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 6l12 12M18 6L6 18' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 6l12 12M18 6L6 18' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat; }
.alezac-asheet__back { flex:none; display:inline-flex; align-items:center; gap:4px; height:36px; padding:0 4px; border:0; background:transparent; color:var(--az-brand-text, var(--sfx-pink,#A02BA6)); font-size:15px; font-weight:700; cursor:pointer; }
.alezac-asheet__back::before { content:""; width:16px; height:16px; background:currentColor; -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 6l6 6-6 6' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 6l6 6-6 6' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat; }
.alezac-asheet__x:focus-visible, .alezac-asheet__back:focus-visible, .alezac-anew:focus-visible, .alezac-asave:focus-visible, .alezac-cur__chg:focus-visible { outline:2px solid var(--sfx-pink,#A02BA6); outline-offset:2px; }
.alezac-asheet__body { display:flex; flex-direction:column; gap:12px; padding:16px; overflow-y:auto; -webkit-overflow-scrolling:touch; }
.alezac-alist { display:flex; flex-direction:column; gap:8px; }
.alezac-asheet .alezac-arow { display:flex; align-items:flex-start; gap:12px; padding:12px; border:1px solid #d9d9db; border-radius:12px; background:#fff; cursor:pointer; }
.alezac-arow:has(input:checked) { border-color:var(--sfx-pink,#A02BA6); box-shadow:inset 0 0 0 1px var(--sfx-pink,#A02BA6); background:color-mix(in srgb, var(--sfx-pink,#A02BA6) 5%, #fff); }
.alezac-arow input { -webkit-appearance:none; appearance:none; flex:none; width:22px; height:22px; margin:3px 0 0; border:2px solid rgba(19,20,31,.3); border-radius:50%; background:#fff; display:grid; place-items:center; cursor:pointer; }
.alezac-arow input:checked { border-color:var(--sfx-pink,#A02BA6); background:var(--sfx-pink,#A02BA6); }
.alezac-arow input:checked::after { content:""; width:9px; height:9px; border-radius:50%; background:#fff; }
.alezac-arow input:focus-visible { outline:2px solid var(--sfx-pink,#A02BA6); outline-offset:2px; }
.alezac-arow__tx { min-width:0; flex:1; }
.alezac-arow__tx b { display:block; font-size:17px; font-weight:700; color:#191a20; line-height:1.5; }
.alezac-arow__tx i { display:block; margin-top:2px; font-style:normal; font-size:15px; line-height:1.8; color:rgba(19,20,31,.75); overflow-wrap:anywhere; }
.alezac-anew, .alezac-asave { display:flex; align-items:center; justify-content:center; width:100%; height:40px; padding:0 16px; box-sizing:border-box; border-radius:12px; font-size:17px !important; font-weight:700 !important; font-family:inherit; cursor:pointer; flex:none; }
.alezac-anew { border:2px solid var(--sfx-pink,#A02BA6); background:#fff; color:var(--az-brand-text, var(--sfx-pink,#A02BA6)); }
.alezac-asave { border:0; background:var(--sfx-pink,#A02BA6); color:var(--az-brand-ink, #fff); }
.alezac-asave:disabled { opacity:.45; cursor:not-allowed; }
.alezac-asheet .form-row { margin:0 !important; padding:0 !important; width:100% !important; float:none !important; }
.alezac-asheet .form-row label { display:block; margin:0 0 6px; font-size:17px !important; font-weight:700 !important; color:#191a20; }
.alezac-asheet .form-row input.input-text { width:100%; height:40px; box-sizing:border-box; padding:0 12px; border:1px solid #d9d9db !important; border-radius:12px !important; background:#fff; font-size:17px !important; font-family:inherit; box-shadow:none; }
.alezac-asheet .form-row input.input-text:focus { outline:0; border-color:var(--sfx-pink,#A02BA6) !important; box-shadow:0 0 0 1px var(--sfx-pink,#A02BA6) !important; }
.alezac-asheet .form-row input::placeholder { color:rgba(19,20,31,.45); opacity:1; }
.alezac-af2 { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.alezac-slot:empty { display:none; }
.alezac-asheet .sfx-mapwrap { margin:0; }
/* نقشهٔ قالب داخل برگه: تیتر هم‌اندازهٔ برچسب‌ها (17)، کادرها مثل بقیهٔ ورودی‌ها، نقشه کوتاه‌تر تا برگه جا شود */
.alezac-asheet .sfx-mapwrap h3 { font-size:17px !important; font-weight:700 !important; margin:0 0 8px !important; }
.alezac-asheet .sfx-mapbar__q { border:1px solid #d9d9db !important; border-radius:12px !important; }
.alezac-asheet .sfx-mapbar__btn { border-radius:12px !important; }
.alezac-asheet #alez-map { height:220px !important; border-radius:12px; }
.alezac-aerr { display:flex; align-items:center; gap:8px; margin:0; padding:8px 12px; border-radius:12px; background:#f9eded; color:#b91c1c; font-size:15px; font-weight:700; }
.alezac-aerr::before { content:"!"; flex:none; display:grid; place-items:center; width:20px; height:20px; border-radius:50%; background:#b91c1c; color:#fff; font-size:15px; line-height:1; }
/* ردیف آدرس روی صفحه — فقط وقتی افزونهٔ تسویه ردیف خودش را ندارد */
.alezac-cur { display:flex; align-items:center; gap:12px; margin:0 0 12px; padding:12px 16px; border:1px solid #d9d9db; border-radius:16px; background:#fff; }
.alezac-cur__t { flex:1; min-width:0; }
.alezac-cur__t b { display:block; font-size:17px; font-weight:700; color:#191a20; }
.alezac-cur__t i { display:block; font-style:normal; font-size:15px; line-height:1.8; color:rgba(19,20,31,.75); overflow-wrap:anywhere; }
.alezac-cur__chg { flex:none; min-height:40px; padding:0 4px; border:0; background:transparent; color:var(--az-brand-text, var(--sfx-pink,#A02BA6)); font-size:17px; font-weight:700; font-family:inherit; cursor:pointer; }

/* ---------------------------------------------------------------------------
   1.2.17 — الگوی ثابت تخفیف (یاس، 1 مهر): همان برچسب قرمز صفحهٔ اول در «تخفیف داغ» و فاکتور؛
   دایرهٔ قرمز «%» کنار هر ردیف تخفیف در صورت‌حساب سبد، تسویه و فاکتور؛ «سود شما» در کادر کم‌رنگ.
   مبلغ‌ها طبق قاعدهٔ ۱۹ هم‌رنگ و هم‌وزن بقیه‌اند؛ نشانهٔ تخفیف دایره و «−» است (قاعدهٔ ۱۴).
--------------------------------------------------------------------------- */
.alezac .alezac-offer__p { flex-direction:column; align-items:flex-start; gap:4px; }
.alezac-was { display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin-top:4px; }
.alezac-was del { font-size:15px !important; font-weight:400; color:rgba(19,20,31,.75) !important; }
.alezac .alezac-off, .alezac-was .alezac-off { display:inline-block; unicode-bidi:isolate; background:#b91c1c !important; color:#fff !important;
  font-size:15px !important; font-weight:700 !important; line-height:1.4; padding:2px 7px; border-radius:8px !important; white-space:nowrap; }
.alezac .alezac-now { font-size:17px; font-weight:700; color:#13141f; }
.alezac-bill__row > span .alezac-was { margin-top:4px; }
.alezac-bill__off b { color:#13141f !important; }
.alezac-seal { display:inline-grid; place-items:center; flex:none; width:22px; height:22px; margin-inline-end:6px; border-radius:50%;
  background:#b91c1c; color:#fff !important; font-style:normal; font-size:15px; font-weight:700; line-height:1; vertical-align:middle; }
.sfx-sum__row.alezac-offrow > span, .alezac-bill__off > span { display:inline-flex; align-items:center; }
.alezac-saved { display:flex !important; align-items:center; justify-content:center; gap:0; margin:12px 0 0 !important; padding:10px 16px;
  border-radius:12px; background:#f9eded; color:#13141f !important; font-size:17px !important; font-weight:700 !important; text-align:center; line-height:1.6; }

/* 1.2.17 — برگهٔ آدرس (یاس، 1 مهر): هر ردیف = انتخاب (دایره + عنوان + نشانی) و زیرش «ویرایش» و «حذف»؛
   «آدرس فعلی» با «ذخیره در آدرس‌های من»؛ برچسب نوشته‌دار «پیش‌فرض» (قاعدهٔ ۱۴)؛ حذف قرمز با تأیید داخل ردیف. */
.alezac-asheet .alezac-arow { flex-direction:column; align-items:stretch; gap:8px; cursor:default; }
.alezac-asheet .alezac-arow__pick { display:flex !important; align-items:flex-start; gap:12px; margin:0 !important; cursor:pointer; font-weight:inherit; }
.alezac-asheet .alezac-arow__acts { display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding-inline-start:34px; }
.alezac-asheet .alezac-arow__btn { height:40px; padding:0 14px; border:2px solid var(--sfx-pink,#A02BA6); border-radius:12px; background:#fff;
  color:var(--az-brand-text, var(--sfx-pink,#A02BA6)); font-family:inherit; font-size:17px; font-weight:700; cursor:pointer; line-height:1; }
.alezac-asheet .alezac-arow__btn--del { border-color:#f9eded; background:#f9eded; color:#b91c1c; }
.alezac-asheet .alezac-arow__btn:disabled { opacity:.45; cursor:not-allowed; }
.alezac-asheet .alezac-arow__btn:focus-visible { outline:2px solid var(--sfx-pink,#A02BA6); outline-offset:2px; }
.alezac-asheet .alezac-arow__q { flex-basis:100%; font-size:15px; font-weight:700; color:#b91c1c; }
.alezac-asheet .alezac-def { display:inline-block; margin-inline-start:6px; padding:0 8px; border-radius:8px; background:color-mix(in srgb, var(--sfx-pink,#A02BA6) 12%, #fff);
  color:var(--az-brand-text, var(--sfx-pink,#A02BA6)); font-style:normal; font-size:15px; font-weight:700; line-height:1.6; vertical-align:middle; }
.alezac-asheet .alezac-aempty { margin:0; font-size:15px; line-height:1.8; color:rgba(19,20,31,.75); }
.sfx-sum__row.alezac-offrow b, .alezac-bill__off b { white-space:nowrap; }
.alezac-code { unicode-bidi:isolate; direction:ltr; margin-inline-start:4px; font-weight:700; color:#13141f; }
.alezac-saved { flex-wrap:wrap; }
.alezac-saved__n { white-space:nowrap; }
/* 1.2.17 — ردیف کد در 320px: برچسب جای خودش را می‌گیرد و می‌شکند، مبلغ هرگز نمی‌شکند و کنار نمی‌رود */
.sfx-sum__row.alezac-offrow, .alezac-bill__off { gap:8px; }
.sfx-sum__row.alezac-offrow > span, .alezac-bill__off > span { flex:1 1 auto; min-width:0; flex-wrap:wrap; row-gap:2px; }
.sfx-sum__row.alezac-offrow > b, .alezac-bill__off > b { flex:none; }
.sfx-sum__row.alezac-offrow > span, .alezac-bill__off > span { column-gap:6px; }
.sfx-sum__row.alezac-offrow .alezac-code, .alezac-bill__off .alezac-code { margin:0; }
.sfx-sum__row.alezac-offrow > span > .alezac-seal, .alezac-bill__off > span > .alezac-seal { margin-inline-end:0; }
@media (max-width:360px){ .alezac-asheet .alezac-arow__acts { padding-inline-start:0; } }
.alezac-asheet .alezac-asheet__back { min-height:40px; }
/* 1.2.17 — در فاکتور، «i» ردیف‌ها برای افزودنی‌ها بلوکی و ریز است؛ دایرهٔ «%» از آن جداست. مبلغ هر ردیف یک‌خطی می‌ماند. */
.alezac-bill__row i.alezac-seal, .alezac-saved i.alezac-seal { display:inline-grid; margin-top:0; font-size:15px; color:#fff !important; }
.alezac-bill__row > b { white-space:nowrap; }
/* 1.2.17 — ردیف تخفیف وقتی جا نیست: برچسب («% تخفیف کالاها») هرگز از هم نمی‌پاشد؛ مبلغ به خط بعد می‌رود و سمت چپ می‌نشیند. */
.sfx-sum__row.alezac-offrow, .alezac-bill__off { flex-wrap:wrap; row-gap:6px; }
.sfx-sum__row.alezac-offrow > span, .alezac-bill__off > span { white-space:nowrap; }
.sfx-sum__row.alezac-offrow > b, .alezac-bill__off > b { margin-inline-start:auto; }
