: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);
  /* 🔴 رنگ برند Alez. تا پیش از این، این مقدار #ff007a (صورتی مرجع) بود و رنگ
     واقعی سایت را افزونهٔ «سمت کاربر» با بازتعریف :root تحمیل می‌کرد — یعنی رنگ
     برند در خانهٔ غلط بود. حالا خانه‌اش همین‌جاست (قاعدهٔ ۵۰).
     قانون یاس: «رنگ برند رستوران‌های رایگان همان رنگ برند خودمان است.» */
  --sfx-pink: #A02BA6;
  --sfx-pink-soft: #f6e6f7;
  --sfx-red: #e01d1d;
  --sfx-bg: #f2f2f4;
  --sfx-col: 720px;
}
body.alez-restaurant { margin:0; background:var(--sfx-bg); color:var(--sfx-ink); font-family: iranSansX, IRANSansX, Vazirmatn, Tahoma, sans-serif; font-size:16px; line-height:1.7; -webkit-font-smoothing:antialiased; }
body.alez-restaurant * { box-sizing:border-box; }
body.alez-restaurant img { max-width:100%; display:block; }
body.alez-restaurant 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:18px; font-weight:700; margin:0; flex:1; }
.sfx-cover { position:relative; background:#ddd; }
.sfx-cover img { width:100%; height:auto; aspect-ratio:5/2; object-fit:cover; display:block; }
/* 0.9.41: بنر کامل دیده شود — نسبت استاندارد ۵:۲، بدون برش (تصمیم یاس).
   🔴 vendor.css (alez-vendor) روی .sfx-cover نسبت ۷۲:۱۳ و روی img ارتفاع ۱۰۰٪ می‌گذارد و بنر را می‌بُرد؛
   استاندارد بنر مال قالب است (alez_banner_spec)، پس با تخصیص بالاتر اینجا برنده می‌شود. */
.sfx-page .sfx-cover, div.sfx-cover { aspect-ratio:5/2 !important; height:auto !important; min-height:0; overflow:hidden; }
.sfx-page .sfx-cover img, .sfx-page .sfx-cover > img { width:100%; height:auto !important; aspect-ratio:5/2; object-fit:cover; display:block; }
.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); }
/* دکمهٔ اشتراک‌گذاری روی عکس بنر — v0.9.15 (هم‌جای اسنپ‌فود، تصمیم یاس ۱۸ شهریور)
   🔴 selector عمداً button.sfx-cover__share است، نه فقط .sfx-cover__share: در alez-vendor/vendor.css
   قاعدهٔ «.sfx-cover > *{width:100%;height:100%}» هست (برای عکس بنر) که با specificity برابر و
   ترتیب بارگذاری بعد از قالب، اندازهٔ این دکمه را هم به کل کادر می‌کشید — این‌جوری قطعی برنده می‌شود. */
button.sfx-cover__share { position:absolute; top:12px; inset-inline-start: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); }
button.sfx-cover__share.is-shared { color:var(--az-brand-text, var(--sfx-pink, #a02ba6)); }
.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); }
/* 0.9.32: ردیف آدرس/ساعت/وضعیت روی صفحهٔ اول (سئوی محلی + تجربه) */
.sfx-vendor__facts { display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; margin-top:10px; font-size:13px; color:var(--sfx-mute,#777); }
.sfx-fact { display:inline-flex; align-items:center; gap:5px; }
.sfx-fact__ic { font-size:13px; filter:grayscale(1); opacity:.85; }
.sfx-fact--status { font-weight:700; padding:2px 10px; border-radius:999px; font-size:12px; }
.sfx-fact--status.is-open { color:#1a7f37; background:rgba(26,127,55,.1); }
.sfx-fact--status.is-closed { color:#c0392b; background:rgba(192,57,43,.1); }
.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; }
/* 🔵 تصمیم یاس: منو هم رنگ سازمانی بگیرد — یک خط زیر کافی نیست.
   دستهٔ فعال: متن به رنگ برند + زیرخط ۳px؛ نوار دسته‌ها هم یک خط برند زیرش دارد. */
.sfx-tabs { border-bottom:2px solid var(--sfx-pink-soft); }
.sfx-tab.is-active { color:var(--az-brand-text, var(--sfx-pink)); font-weight:700; border-bottom:3px solid var(--sfx-pink); }
.sfx-tabs__tools button, .sfx-tabs__tools a { color:var(--az-brand-text, var(--sfx-pink)); }
.sfx-tab__seal { width:18px; height:18px; border-radius:50%; background:var(--sfx-pink); color:var(--az-brand-ink, #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:var(--az-brand-ink, #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:17px; font-weight:700; }
.sfx-item__desc { margin:8px 0 0; font-size:15px; color:var(--sfx-ink); 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); color:var(--az-brand-ink, #fff); font:inherit; font-size:14px; font-weight:700; cursor:pointer; display:flex; align-items:center; justify-content:center; gap:6px; box-shadow:0 2px 6px rgba(0,0,0,.12); transition:filter .15s, transform .05s; }
.sfx-add:hover { filter:brightness(.93); }
.sfx-add:active { transform:translateY(1px); box-shadow:0 1px 3px rgba(0,0,0,.12); }
.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(--az-brand-text, 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(--az-brand-text, var(--sfx-pink)); font-size:19px; line-height:1; cursor:pointer; }
.sfx-step__n { font-size:15px; }
.sfx-busy { opacity:.55; pointer-events:none; }
/* 0.9.63 — نوار سبد روی نوار پایینِ حساب کاربری سوار می‌شود، با قدی که خودِ آن
   بسته اعلام می‌کند (`--alezac-bar-h`). پیش از این، alez-account با یک قاعدهٔ
   `!important` روی همین کلاس عدد ثابت ۶۲px می‌گذاشت؛ روی گوشی‌ای که نوار اشاره‌ای
   دارد آن نوار بلندتر است و نوار سبد زیرش می‌رفت (یافتهٔ یاس، ۲۷ شهریور).
   نبودِ افزونهٔ حساب یعنی نبودِ متغیر یعنی `0px` — یعنی همان رفتار درست قبلی. */
.sfx-cartbar { position:fixed; inset-inline:0; bottom:var(--alezac-bar-h, 0px); 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:var(--az-brand-ink, #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; margin:8px 0; }
.sfx-review__stars { color:#f5a623; letter-spacing:1px; }

/* ── 0.9.27: صفحهٔ حساب کاربری به سبک اسنپ‌فود (سربرگ پروفایل + فهرست ردیفیِ آیکن‌دار) ── */
.woocommerce-account .woocommerce { max-width:640px; margin:0 auto; }
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content { width:100%; float:none; margin:0; }
.alez-acct-head { display:flex; align-items:center; gap:14px; background:#fff; border-radius:14px; padding:16px; margin:0 0 14px; box-shadow:0 1px 6px rgba(0,0,0,.06); }
.alez-acct-head__ava { width:56px; height:56px; flex:none; border-radius:50%; display:grid; place-items:center; background:var(--sfx-pink-soft,#f6e6f7); color:var(--az-brand-text, var(--sfx-pink,#A02BA6)); }
.alez-acct-head__txt { display:flex; flex-direction:column; min-width:0; }
.alez-acct-head__name { font-size:17px; font-weight:800; color:var(--sfx-ink,#222); }
.alez-acct-head__phone { font-size:14px; color:var(--sfx-mute,#888); direction:ltr; text-align:right; margin-top:2px; font-variant-numeric:tabular-nums; }
.alez-acct-nav { background:#fff; border-radius:14px; overflow:hidden; box-shadow:0 1px 6px rgba(0,0,0,.06); }
.alez-acct-nav ul { list-style:none; margin:0; padding:0; }
.alez-acct-nav li { border-bottom:1px solid #f0eef1; }
.alez-acct-nav li:last-child { border-bottom:0; }
.alez-acct-nav li a { display:flex; align-items:center; gap:12px; padding:15px 16px; color:var(--sfx-ink,#222); font-size:15px; font-weight:600; text-decoration:none; }
.alez-acct-nav .alez-acct__ic { color:var(--az-brand-text, var(--sfx-pink,#A02BA6)); flex:none; }
.alez-acct-nav .alez-acct__label { flex:1; min-width:0; }
.alez-acct-nav .alez-acct__go { color:#c9c4cc; font-size:24px; line-height:1; }
.alez-acct-nav li.is-active a { background:var(--sfx-pink-soft,#f6e6f7); color:var(--az-brand-text, var(--sfx-pink,#A02BA6)); }
.alez-acct-nav li a:hover { background:#faf7fb; }
.alez-acct-nav .alez-acct__logout a { color:#e0245e; }
.alez-acct-nav .alez-acct__logout .alez-acct__ic { color:#e0245e; }
.woocommerce-account .woocommerce-MyAccount-content:has(*) { margin-top:14px; background:#fff; border-radius:14px; padding:16px; box-shadow:0 1px 6px rgba(0,0,0,.06); }
/* در صفحهٔ «پیشخوان»، محتوای پیش‌فرض ووکامرس خالی است — کارتِ خالی پنهان شود (سبک اسنپ‌فود). */
.woocommerce-account .woocommerce-MyAccount-content:not(:has(*)) { display:none; }
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Message { border-radius:10px; }
/* 0.9.23: ظاهرِ فرم امتیاز/نظرِ بومیِ ووکامرس هماهنگ با قالب — ستاره‌ها نارنجی (مثل کارت غذا)،
   دکمه رنگ برند. فقط خریدارِ تأییدشده فرم را می‌بیند (تنظیم در alez-vendor). */
.sfx-reviews #reviews { margin-top:4px; }
.sfx-reviews .commentlist { list-style:none; margin:0 0 16px; padding:0; }
.sfx-reviews .commentlist li { border-bottom:1px solid var(--sfx-pink-soft); padding:12px 0; }
.sfx-reviews .woocommerce-review__author { font-weight:700; }
.sfx-reviews .woocommerce-review__dash { display:none; }
.sfx-reviews .meta { font-size:12px; color:var(--sfx-mute); margin:0 0 4px; }
.sfx-reviews .description p { margin:0; font-size:14px; }
.sfx-reviews .star-rating { color:#f5a623; direction:ltr; }
.sfx-reviews p.stars a { color:#f5a623; }
.sfx-reviews p.stars a::before, .sfx-reviews p.stars a.active::after, .sfx-reviews p.stars a:hover::after { color:#f5a623; }
.sfx-reviews #respond, .sfx-reviews #review_form_wrapper { margin-top:8px; }
.sfx-reviews .comment-reply-title { font-size:15px; font-weight:700; margin:0 0 8px; }
.sfx-reviews .comment-form-rating label { display:block; margin:0 0 4px; font-size:14px; }
.sfx-reviews .comment-form textarea { width:100%; border:1.5px solid #e6e6e6; border-radius:10px; padding:10px; font:inherit; font-size:14px; box-sizing:border-box; }
.sfx-reviews .comment-form textarea:focus { outline:2px solid var(--sfx-pink); border-color:transparent; }
.sfx-reviews .comment-form .form-submit input, .sfx-reviews #submit { background:var(--sfx-pink); color:var(--az-brand-ink, #fff); border:0; border-radius:10px; padding:11px 26px; font:inherit; font-size:15px; font-weight:600; cursor:pointer; margin-top:8px; }
.sfx-reviews .woocommerce-verification-required { color:var(--sfx-mute); font-size:14px; }
@media (max-width:720px) {
  .sfx-cover img { height:auto; }
  .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-restaurant [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:var(--az-brand-ink, #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(--az-brand-text, 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; max-height:86dvh; 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:var(--az-brand-ink, #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:var(--az-brand-ink, #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(--az-brand-text, 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 */

/* 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:var(--az-brand-ink, #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; }

/* دکمهٔ افزودن — توپرِ ملایم‌تر از رنگ برند (تصمیم یاس، ۱۵ شهریور).
   رنگ از همان توکن برند مشتق می‌شود، نه یک کد رنگ تازه — پس هر رستوران
   با رنگ خودش همین حالت را می‌گیرد. نسبت کنتراست متن سفید ≈ ۴.۹:۱ (بالاتر از حد AA).
   انتخابگر button.sfx-add است تا بازتعریف رنگِ افزونهٔ «سمت کاربر» رویش نیفتد. */
button.sfx-add { background:var(--sfx-pink); background:color-mix(in srgb, var(--sfx-pink) 88%, #fff); }
button.sfx-add, button.sfx-add * { color:var(--az-brand-ink, #fff); }

/* فوتر — کپی‌رایت، هدیهٔ اتحادیه، و سازنده.
   اندازه و وزن خطوط عمداً یکسان و سبک است، مثل فوتر مرجع: ۱۲px، وزن ۴۰۰،
   خاکستری ملایم. تنها تفاوت، رنگ برندِ لینک اتحادیه است تا کلیک‌شدنی بودنش پیدا باشد. */
.sfx-foot{ text-align:center; padding:18px 12px 26px; }
.sfx-foot p{ margin:0 0 2px; font-size:12px; font-weight:400; line-height:2; color:#9b9b9b; }
.sfx-foot p:last-child{ margin-bottom:0; }
/* 🔵 خط اتحادیه به رنگ خودِ رستوران است (--alez-main، از سفارشی‌ساز)، نه رنگ
   سازمانی Alez (--sfx-pink) — تصمیم یاس. لوگوی اتحادیه بالای همین خط. */
.sfx-foot .sfx-foot__gift{ margin-top:6px; margin-bottom:6px; }
.sfx-foot .sfx-foot__gift a{ color:var(--az-brand-text, var(--alez-main, var(--sfx-pink))); text-decoration:none; font-weight:400;
  display:inline-flex; flex-direction:column; align-items:center; gap:4px; }
.sfx-foot .sfx-foot__gift a:hover span{ text-decoration:underline; }
.sfx-foot .sfx-foot__gift span{ color:var(--az-brand-text, var(--alez-main, var(--sfx-pink))); }
.sfx-foot__ulogo{ display:block; width:auto; height:84px; max-width:100%; object-fit:contain; }
/* 0.9.42: لوگوی اتحادیه در همهٔ صفحه‌ها هم‌اندازهٔ صفحهٔ اول (تصمیم یاس).
   🔴 روی صفحه‌های ووکامرس (حساب کاربری، محصول، سبد، تسویه) قاعدهٔ «.woocommerce-page img{height:auto}»
   با تخصیص بالاتر ۸۴px را باطل می‌کرد و لوگو در اندازهٔ طبیعی (خیلی بزرگ) می‌آمد. */
body.alez-restaurant .sfx-foot img.sfx-foot__ulogo, .woocommerce-page img.sfx-foot__ulogo, .woocommerce img.sfx-foot__ulogo{
  height:84px !important; width:auto !important; max-width:100%; object-fit:contain; display:block; }
.sfx-foot .sfx-foot__by a{ color:#9b9b9b; text-decoration:none; }
.sfx-foot .sfx-foot__by a:hover{ color:var(--az-brand-text, var(--sfx-pink)); }

/* پیام «بیرون از محدودهٔ ارسال» زیر نقشه */
.alez-map-out{ color:#c0392b !important; font-weight:600 }

/* ── نوار خبر ──
   پررنگ و توی‌چشم، متن سفید، و متن از چپ به راست حرکت می‌کند.
   رنگ از توکن برند مشتق می‌شود تا هر رستوران با رنگ خودش همین را بگیرد. */
.sfx-page .alezn, div.alezn{ background:var(--sfx-pink);
  background:color-mix(in srgb, var(--sfx-pink) 92%, #000);
  color:var(--az-brand-ink-deep, #fff); overflow:hidden; position:relative }
.sfx-page .alezn a, div.alezn a{ color:var(--az-brand-ink-deep, #fff); text-decoration:underline }
.sfx-page .alezn .alezn__dot, div.alezn .alezn__dot{ background:var(--az-brand-ink-deep, #fff) }
.sfx-page .alezn .alezn__x, div.alezn .alezn__x{ color:var(--az-brand-ink-deep, #fff); opacity:.8 }
.alezn__in{ display:inline-block; white-space:nowrap; padding:9px 0; font-size:13px;
  font-weight:600; color:var(--az-brand-ink-deep, #fff); will-change:transform;
  animation:alezn-move 22s linear infinite }
@keyframes alezn-move{ from{ transform:translateX(-100%) } to{ transform:translateX(100%) } }
.alezn:hover .alezn__in{ animation-play-state:paused }
@media (prefers-reduced-motion:reduce){
  .alezn__in{ animation:none; display:block; text-align:center; padding:9px 12px }
}
/* خبر دوم — دقیقاً مثل خبر اول: تمام‌عرض، همان رنگ، همان سرعت (تصمیم یاس) */

/* نوار دسته‌بندی زیر نوار مدیریت وردپرس نرود */
.admin-bar .sfx-tabs{ top:0 }
@media screen and (max-width:782px){ .admin-bar .sfx-tabs{ top:0 } }
/* جای خالی خبر دوم — فقط برای مدیر */
.sfx-page .alezn--empty, div.alezn--empty{ background:none !important; border:1.5px dashed var(--sfx-pink);
  color:var(--az-brand-text, var(--sfx-pink)); border-radius:10px }
.sfx-foot .alezn--empty{ max-width:var(--sfx-col); margin:14px auto 0 }
.alezn--empty .alezn__in{ animation:none !important; display:block; text-align:center;
  color:var(--az-brand-text, var(--sfx-pink)); font-weight:600; opacity:.85 }

/* متن خبر سفید و خوانا — رنگ تیرهٔ افزونهٔ خبر روی زمینهٔ پررنگ خوانده نمی‌شد */
.sfx-page .alezn:not(.alezn--empty) .alezn__i,
div.alezn:not(.alezn--empty) .alezn__i,
.sfx-page .alezn:not(.alezn--empty) .alezn__i *,
div.alezn:not(.alezn--empty) .alezn__i *{ color:var(--az-brand-ink-deep, #fff) !important }
.sfx-page .alezn:not(.alezn--empty) .alezn__in,
div.alezn:not(.alezn--empty) .alezn__in{ color:var(--az-brand-ink-deep, #fff) }

/* خبر دوم در پای صفحه — زیر خط سازنده، تمام‌عرض مثل خبر اول */
.sfx-foot .alezn--2{ margin:14px 0 0; max-width:none; border-radius:0 }
.sfx-foot .alezn--2 .alezn__in{ padding:9px 0; font-size:13px; font-weight:600 }

/* ─────────────────────────────────────────────
 * ۰.۹.۰ — سرصفحهٔ سبد، حذف همه، و پیشنهاد افزودن
 * ───────────────────────────────────────────── */

.sfx-basket__head {
	display:flex; align-items:center; justify-content:space-between;
	gap:12px; padding:14px 4px 6px;
}
.sfx-basket__title { margin:0; font-size:17px; font-weight:800; color:#222 }
.sfx-basket__clear {
	font:inherit; font-size:13px; line-height:1.6; cursor:pointer;
	border:1px solid var(--sfx-line, #e6e6e6); border-radius:999px;
	background:#fff; color:#666; padding:6px 12px;
}
.sfx-basket__clear:hover { color:#c0392b; border-color:#e2b6b0 }
.sfx-basket__clear.is-armed { color:#fff; background:#c0392b; border-color:#c0392b }
.sfx-basket__clear:disabled { opacity:.6; cursor:default }

/* پیشنهاد افزودن — ردیف افقی کارت‌های کوچک */
.sfx-suggest__row {
	display:flex; gap:10px; overflow-x:auto; padding:2px 0 6px;
	scroll-snap-type:x proximity; scrollbar-width:none;
}
.sfx-suggest__row::-webkit-scrollbar { display:none }
.sfx-scard {
	flex:0 0 auto; width:150px; scroll-snap-align:start;
	display:flex; flex-direction:column; gap:6px;
	border:1px solid var(--sfx-line, #eee); border-radius:14px; padding:8px; background:#fff;
}
.sfx-scard__link { display:block; text-decoration:none; color:inherit }
.sfx-scard__img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:10px; display:block }
.sfx-scard__name { display:block; font-size:13px; line-height:1.7; margin-top:6px;
	overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical }
/* 🔴 دکمهٔ «افزودن» و ستون کنارش عرض ثابت ۱۲۴px دارند (برای ردیف منو)؛
   در کارت ۱۵۰px کنار قیمت جا نمی‌شوند و از کارت بیرون می‌زنند. اینجا پایین کارت
   دو طبقه می‌شود: قیمت، بعد دکمه/استپر تمام‌عرض. */
.sfx-scard__foot { display:flex; flex-direction:column; gap:8px; margin-top:auto }
.sfx-scard__price { font-size:12.5px; color:#444; font-weight:700; white-space:nowrap }
.sfx-scard .sfx-item__side { width:100%; gap:0 }
.sfx-scard .sfx-add, .sfx-scard .sfx-step { width:100%; height:34px; font-size:13px }
.sfx-suggest__row { padding-inline:2px; scroll-padding-inline:2px }

/* ─────────────────────────────────────────────
 * ۰.۹.۸ — شیت «اطلاعات و نظرات» (افزونهٔ صفحهٔ رستوران)
 * 🔴 سربرگ شیت با دکمهٔ بازگشت در y=0 می‌نشیند و وقتی نوار مدیریت
 * وردپرس بالای صفحه است (کاربر واردشده)، زیر آن نوار پنهان می‌شود —
 * پس مدیر راهی برای خروج نمی‌بیند. مشتری عادی نوار مدیریت ندارد و
 * دکمه را می‌بیند؛ ولی دکمه فقط یک «›» کوچک است. اینجا فقط رندر
 * اصلاح می‌شود (۱۳۲): جای شیت زیر نوار مدیریت، و برچسب «بازگشت».
 * ───────────────────────────────────────────── */
.admin-bar .alezv-sheet__panel, .admin-bar .alezv-sheet__bd { top:32px !important }
@media screen and (max-width:782px){ .admin-bar .alezv-sheet__panel, .admin-bar .alezv-sheet__bd { top:46px !important } }
/* برچسب متنی روی عنوان می‌افتاد؛ به‌جایش خودِ فلش درشت و رنگی و با هدف لمس بزرگ. */
.alezv-sheet__back { display:inline-flex !important; align-items:center; justify-content:center;
  width:40px; height:40px; border-radius:50%; font-size:24px !important; line-height:1;
  color:var(--az-brand-text, var(--sfx-pink)) !important; background:var(--sfx-pink-soft); cursor:pointer }


/* ═══ 0.9.12 — ۱۷ شهریور ۱۴۰۵ ═══ */

/* نام رستوران درشت‌تر (تصمیم یاس). فونت نمایشی پس از تصمیم قاعدهٔ ۱۳۴ اضافه می‌شود. */
.sfx-vendor__name { font-size:36px; font-weight:900; letter-spacing:-.2px; line-height:1.3 }
/* v0.9.21: نام درشت‌تر ۲۶→۳۶px (درخواست یاس)؛ روی موبایل ۳۰px برای جلوگیری از سرریز */
@media (max-width:480px){ .sfx-vendor__name:not(.sfx-vendor__name--svg) { font-size:30px } }

/* برچسب ثابت سمت راست نوار خبر — «اخبار رستوران:» بالا، «اخبار عمومی:» پایین (تصمیم یاس).
   برچسب روی متنِ در حرکت می‌نشیند و زمینهٔ خودش را دارد؛ متن از زیرش رد می‌شود (الگوی تیکر خبری). */
.sfx-page .alezn.alezn--own, div.alezn.alezn--own,
.sfx-foot .alezn--2:not(.alezn--empty) { padding-inline-start:0 }
/* 🔴 news.css (ارتباطات) خودش `.alezn--own::before{content:""}` دارد و بعد از قالب بار می‌شود؛
   با تخصیص بالاتر (.sfx-page .alezn.alezn--own) برچسب قالب برنده می‌شود — بدون دست‌زدن به بستهٔ خبر. */
.sfx-page .alezn.alezn--own::before, div.alezn.alezn--own::before,
.sfx-foot .alezn.alezn--2:not(.alezn--empty)::before {
  content:"اخبار رستوران:"; position:absolute; inset-inline-start:0; top:0; bottom:0; z-index:2;
  width:auto; height:auto; animation:none; border-radius:0; /* خنثی‌کردن «نقطهٔ چشمک‌زن» vendor.css قدیمی */
  display:flex; align-items:center; padding:0 12px; font-size:13px; font-weight:800; color:var(--az-brand-ink-deep, #fff);
  background:color-mix(in srgb, var(--sfx-pink) 78%, #000); white-space:nowrap;
  box-shadow: 8px 0 12px -6px rgba(0,0,0,.35);
}
html[dir="rtl"] .alezn--own::before, html[dir="rtl"] .alezn--2:not(.alezn--empty)::before { box-shadow:-8px 0 12px -6px rgba(0,0,0,.35) }
.sfx-foot .alezn.alezn--2:not(.alezn--empty)::before { content:"اخبار عمومی:" }
/* v0.9.14: برچسب نوار خبر روی موبایل هم همان ۱۳px می‌ماند (تصمیم یاس ۱۷ شهریور) */
/* روی موبایل نوار ثابت است (بدون حرکت) — جا برای برچسب باز شود */
@media (max-width:640px){
  .sfx-page .alezn--own .alezn__in, .sfx-foot .alezn--2:not(.alezn--empty) .alezn__in { padding-inline-start:118px; text-align:start }
}

/* شیت فهرست دسته‌ها — دکمهٔ سه‌خط کنار ذره‌بین (الگوی مرجع: فهرست پرشی دسته‌ها با شمار اقلام) */
.sfx-cats { position:fixed; inset:0; z-index:210; display:flex; align-items:flex-end; justify-content:center }
.sfx-cats[hidden] { display:none }
.sfx-cats__back { position:absolute; inset:0; background:rgba(19,20,31,.45) }
.sfx-cats__panel { position:relative; width:100%; max-width:var(--sfx-col); background:#fff; border-radius:16px 16px 0 0; max-height:80vh; max-height:80dvh; display:flex; flex-direction:column; animation:sfx-cats-up .22s ease-out }
@keyframes sfx-cats-up { from { transform:translateY(24px); opacity:.6 } to { transform:none; opacity:1 } }
@media (prefers-reduced-motion:reduce){ .sfx-cats__panel { animation:none } }
.sfx-cats__head { display:flex; align-items:center; justify-content:space-between; padding:14px 16px; border-bottom:1px solid var(--sfx-sep); font-weight:700 }
.sfx-cats__close { border:0; background:none; font-size:18px; cursor:pointer; color:var(--sfx-mute); padding:4px 8px }
.sfx-cats__list { overflow-y:auto; padding:6px 8px 16px; margin:0; list-style:none }
.sfx-cats__item { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; padding:13px 10px; border:0; background:none; font:inherit; font-size:15px; color:var(--sfx-ink); border-radius:10px; cursor:pointer; text-align:start }
.sfx-cats__item:hover, .sfx-cats__item:focus-visible { background:var(--sfx-pink-soft); outline:none }
.sfx-cats__item.is-active { color:var(--az-brand-text, var(--sfx-pink)); font-weight:700 }
.sfx-cats__n { font-size:12px; color:var(--sfx-mute); font-variant-numeric:tabular-nums; background:rgba(19,20,31,.05); border-radius:999px; padding:2px 9px }
.sfx-cats__item.is-active .sfx-cats__n { color:var(--az-brand-text, var(--sfx-pink)); background:var(--sfx-pink-soft) }
html.sfx-lock{overflow:hidden}

/* 0.9.13: نام رستوران به صورت SVG برداری (نستعلیق) — رنگ از متن، ارتفاع ثابت، عرض خودکار */
.sfx-vendor__name--svg { display:flex; align-items:center; line-height:1 }
.sfx-vendor__name--svg svg { height:88px; width:auto; max-width:100%; color:var(--sfx-ink); display:block }
@media (max-width:480px){ .sfx-vendor__name--svg svg { height:64px } }
/* v0.9.21: نام نستعلیق درشت‌تر شد — دسکتاپ ۶۴→۸۸px، موبایل ۵۰→۶۴px (درخواست یاس ۱۸ شهریور) */
/* v0.9.14: لوگوی SVG نام هم روی موبایل ۴۸px می‌ماند — یکسان با دسکتاپ (تصمیم یاس ۱۷ شهریور) */
.sfx-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap }
/* ── 0.9.17/0.9.18: مهر «عضو رسمی اتحادیه» + وسط‌چین نام (پرچم alez_union_member) ──
 * مهر در انتهای ردیف (سمت چپ) و جدا از نام؛ نام وسط‌چین؛ رشد انیمیشن به داخل تا اسکرول افقی نسازد. */
@keyframes sfx-stamp-in{0%{opacity:0;transform:scale(1.9) rotate(-22deg)}60%{opacity:1;transform:scale(.94) rotate(-6deg)}80%{transform:scale(1.04) rotate(-10deg)}100%{opacity:1;transform:scale(1) rotate(-8deg)}}
.sfx-vendor__top{overflow:clip;overflow-clip-margin:10px}
.sfx-vendor__name{min-width:0;justify-content:center}
.sfx-vendor__name--svg svg{flex:0 1 auto;min-width:0}
.sfx-stamp{order:9;flex:none;align-self:center;width:100px;height:35px;margin:0;background:url(../img/stamp-union.svg?v=navy) center/contain no-repeat;transform-origin:0% 50%;opacity:0;transform:scale(1.9) rotate(-22deg);animation:sfx-stamp-in .55s cubic-bezier(.2,.9,.3,1.2) 1.1s forwards}
@media (max-width:480px){.sfx-stamp{width:80px;height:28px}}
@media (prefers-reduced-motion:reduce){.sfx-stamp{animation:none;opacity:1;transform:rotate(-8deg)}}

/* ── 0.9.18: امتیاز خریداران روی کارت غذا ──
 * ستارهٔ نارنجی که به‌اندازهٔ درصد امتیاز پر می‌شود؛ عدد + تعداد نظر؛ غذای بی‌نظر: ستارهٔ خاکستری + «بدون نظر».
 * داده سمت سرور از میانگین امتیاز و شمار نظر ووکامرس می‌آید — بی‌پرش و سازگار با کش. */
.sfx-item__rate{display:inline-flex;align-items:center;gap:7px;margin:9px 0 0}
.sfx-item__rate .stars{--p:0%;position:relative;display:inline-block;font-size:15px;line-height:1;letter-spacing:1px;direction:ltr}
.sfx-item__rate .stars::before{content:"★★★★★";color:#e3ddd0}
.sfx-item__rate .stars::after{content:"★★★★★";color:#f5a623;position:absolute;inset:0;width:var(--p);overflow:hidden;white-space:nowrap}
.sfx-item__rate .num{font-size:13px;font-weight:700;color:#7a5200;direction:ltr;font-variant-numeric:tabular-nums}
.sfx-item__rate .cnt{font-size:12px;color:var(--sfx-faint)}
.sfx-item__rate.is-none .num{display:none}

/* ── 0.9.19: رفتار نوار خبر متحرک (بالا و پایین) — از «CSS اضافی» به قالب منتقل شد ──
 * متن کامل حرکت کند (نه بریده با …)، سرعت آرام (۴۵s)، و از لبهٔ چپ بی‌مکث شروع شود.
 * مالک محتوا/سیاست خبر تیم ارتباطات است (۱۳۲)؛ این فقط رفتارِ چسبیده به قالب است. */
.sfx-page .alezn.alezn--own, div.alezn.alezn--own,
.sfx-foot .alezn--2:not(.alezn--empty){ justify-content:flex-end }
.sfx-page .alezn.alezn--own .alezn__in, div.alezn.alezn--own .alezn__in,
.sfx-foot .alezn--2 .alezn__in{ display:inline-block; flex:0 0 auto; width:max-content; max-width:none; animation-duration:45s }
.sfx-page .alezn.alezn--own .alezn__i, div.alezn.alezn--own .alezn__i{ position:static; overflow:visible; text-overflow:clip; white-space:nowrap; width:auto }
.sfx-page .alezn.alezn--own .alezn__i:not(.is-on), div.alezn.alezn--own .alezn__i:not(.is-on){ display:none }

/* 0.9.37 — استثنای قاعدهٔ ۱۳۴ برای «عنوان اخبار» (اصلاح: روی برچسب ::before، نه بدنه).
 * یاس خواست عنوان اخبار («اخبار رستوران:» + «اخبار عمومی:») با خط نستعلیق «دیما شکسته» باشد.
 * متن در حرکت (بدنهٔ خبر) با فونت عادی می‌ماند. */
@font-face {
  font-family: 'Dima Shekasteh';
  src: url('../fonts/DimaShekasteh.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0600-06FF, U+FB50-FDFF, U+FE70-FEFF, U+0020, U+002C, U+002E, U+003A, U+003B, U+00AB, U+00BB;
}
.sfx-page .alezn.alezn--own::before,
div.alezn.alezn--own::before,
.sfx-foot .alezn.alezn--2:not(.alezn--empty)::before {
  font-family: 'Dima Shekasteh', var(--sfx-serif, Vazirmatn), system-ui !important;
  font-size: 24px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  padding: 0 16px !important;
}

/* 0.9.39 — پیلهٔ وضعیت باز/بسته — بی کادر، هم‌سایز نوار، متن و چراغ متناوب چشمک.
 * اصلاح ۰.۹.۳۸: کی‌فریم متن جدا برای باز/بسته (alez-pill-open-txt / alez-pill-closed-txt)؛
 * کی‌فریم قبلی (alez-pill-txt) فریم پایانی خالی داشت و متن همیشه شفاف می‌ماند. */
/* 0.9.39: پیله روی بنر — همان سمت (انتهای سطر)، پایینِ عکس. زمینهٔ سفیدِ نیمه‌شفاف فقط برای خوانایی روی عکس؛ بی کادر، بی سایه.
   🔴 selector با تخصیص بالا تا قاعدهٔ «.sfx-cover > *{width:100%;height:100%}» در vendor.css رویش نیفتد. */
.sfx-page .sfx-cover .sfx-vendor__facts, div.sfx-cover > .sfx-vendor__facts{
  position:absolute;bottom:12px;top:auto;inset-inline-end:12px;
  width:auto;height:32px;margin:0;padding:0 12px;border:0;box-shadow:none;
  background:rgba(255,255,255,.88);border-radius:999px;
  display:flex;align-items:center;font-size:12px;line-height:1;z-index:2;
}
.sfx-vendor__facts .sfx-fact:not(.sfx-fact--status){display:none}
.sfx-vendor__facts .sfx-fact--status{
  display:inline-flex;align-items:center;gap:6px;
  background:transparent;border:0;padding:0;margin:0;
  font-size:inherit;font-weight:700;line-height:inherit;
  box-shadow:none;
}
.sfx-vendor__facts .sfx-fact--status::before{
  content:'';width:9px;height:9px;border-radius:50%;display:inline-block;
  box-shadow:none;
}
.sfx-vendor__facts .sfx-fact--status.is-open{color:#16a34a}
.sfx-vendor__facts .sfx-fact--status.is-open::before{background:#22c55e}
.sfx-vendor__facts .sfx-fact--status.is-closed{color:#dc2626}
.sfx-vendor__facts .sfx-fact--status.is-closed::before{background:#ef4444}
/* 0.9.55 (تصمیم یاس، ۲۵ شهریور): متن «پذیرش سفارش / پیش سفارش» ثابت بماند — فقط چراغ (نقطهٔ رنگی)
   بین پررنگ و کم‌رنگ پالس بزند، بدون چشمک متن یا خاموش‌شدن کامل چراغ. جایگزین چشمک قبلی
   (متن transparent↔رنگ + چراغ opacity 1↔0 با steps) که هر دو با هم می‌پریدند. */
@keyframes alez-pill-dot{0%,100%{opacity:1}50%{opacity:.35}}
.sfx-vendor__facts .sfx-fact--status::before{animation:alez-pill-dot 1.6s ease-in-out infinite}

/* 0.9.39 (تصمیم یاس): پیوندهای «خانه · وبلاگ · حساب کاربری» هم‌رنگ متن سایت (--sfx-ink)، نه خاکستری کم‌رنگ */
.sfx-page .sfx-crumb.sfx-nav, .sfx-page .sfx-crumb.sfx-nav a, .sfx-page .sfx-crumb.sfx-nav span{ color:var(--sfx-ink) }
/* 0.9.39 (تصمیم یاس، الگوی کلید انتخاب مرجع بیرونی با رنگ سازمانی): پیش از انتخاب = کادر توخالی با خط رنگ سازمانی و متن رنگی روی سفید؛
   پس از انتخاب (استپر) = توپرِ رنگ سازمانی با متن و علامت‌های سفید. بی سایه، گوشهٔ 12px مثل مرجع. */
.sfx-page button.sfx-add, .sfx-page .sfx-add{
  background:#fff; border:2px solid var(--sfx-pink); border-radius:12px; box-shadow:none;
}
.sfx-page button.sfx-add, .sfx-page button.sfx-add *, .sfx-page .sfx-add{ color:var(--az-brand-text, var(--sfx-pink)) }
.sfx-page button.sfx-add:hover, .sfx-page button.sfx-add:focus-visible{ filter:none; background:var(--sfx-pink) }
.sfx-page button.sfx-add:hover, .sfx-page button.sfx-add:hover *, .sfx-page button.sfx-add:focus-visible, .sfx-page button.sfx-add:focus-visible *{ color:var(--az-brand-ink, #fff) }
.sfx-page button.sfx-add:active{ transform:none; box-shadow:none }
.sfx-page .sfx-step{
  background:var(--sfx-pink); color:var(--az-brand-ink, #fff); border:2px solid var(--sfx-pink); border-radius:12px; box-shadow:none;
}
.sfx-page .sfx-step button, .sfx-page .sfx-step .sfx-step__n{ color:var(--az-brand-ink, #fff) }


/* ═══ 0.9.43 — سرصفحه داخل بنر (تأیید یاس ۲۴ شهریور پس از چهار دور تست زنده) ═══
 * نام: وسطِ بالای بنر، سفید با حاشیهٔ مشکی (روی هر عکسی خوانا) · مهر: چپِ نام با زمینهٔ سفید ۷۲٪ ·
 * لوگو: لبهٔ پایین سمت راست، پایینش هم‌تراز پایین «خانه» · پیله: پایین‌چپ (قبلی).
 * 🔴 vendor.css به همهٔ فرزندان .sfx-cover عرض/ارتفاع ۱۰۰٪ و display:block می‌دهد — همهٔ انتخابگرها با تخصیص بالاتر. */
.sfx-page .sfx-cover, div.sfx-cover { overflow:visible !important; z-index:5; position:relative; }
.sfx-page .sfx-cover script, div.sfx-cover > script { display:none !important; }
.sfx-page .sfx-cover .sfx-cover__head, div.sfx-cover > .sfx-cover__head {
  position:absolute; top:10px; left:0; right:0; width:auto; height:auto; z-index:3; pointer-events:none;
  display:grid; grid-template-columns:1fr auto 1fr; align-items:center; column-gap:12px; padding:0 12px;
}
.sfx-cover .sfx-vendor__name { margin:0; grid-column:2; justify-content:center; min-width:0; }
.sfx-cover .sfx-vendor__name:not(.sfx-vendor__name--svg) { color:#fff; text-shadow:0 0 2px #000, 0 0 2px #000, 0 1px 6px rgba(0,0,0,.7); font-size:32px; }
.sfx-cover .sfx-vendor__name--svg svg {
  height:108px; color:#fff;
  filter:drop-shadow(0 0 1.5px #000) drop-shadow(0 0 1.5px #000) drop-shadow(0 0 2px #000) drop-shadow(0 0 3px rgba(0,0,0,.95)) drop-shadow(0 2px 8px rgba(0,0,0,.6));
}
.sfx-cover .sfx-stamp {
  grid-column:3; justify-self:start; order:0; margin:0 6px 0 0; align-self:center;
  width:90px; height:32px; padding:3px 12px; box-sizing:content-box; border-radius:8px;
  background-color:rgba(255,255,255,.72); background-size:contain; background-position:center; background-repeat:no-repeat;
}
.sfx-page .sfx-cover img.sfx-vendor__logo, div.sfx-cover > img.sfx-vendor__logo {
  position:absolute !important; top:auto; bottom:-46px; inset-inline-start:14px;
  width:68px !important; height:68px !important; aspect-ratio:1/1 !important; object-fit:cover;
  border-radius:16px; background:#fff; padding:3px; box-sizing:border-box; z-index:3;
  box-shadow:0 0 0 4px rgba(255,255,255,.75), 0 2px 8px rgba(0,0,0,.15);
}
.sfx-crumb.sfx-nav { padding-inline-start:96px; min-height:40px; align-items:center; }
.sfx-vendor__top { justify-content:center; }
@media (max-width:480px){
  .sfx-page .sfx-cover .sfx-cover__head, div.sfx-cover > .sfx-cover__head { top:6px; column-gap:8px; padding:0 8px; }
  .sfx-cover .sfx-vendor__name--svg svg { height:60px; }
  .sfx-cover .sfx-vendor__name:not(.sfx-vendor__name--svg) { font-size:22px; }
  .sfx-cover .sfx-stamp { width:64px; height:23px; padding:2px 8px; }
  .sfx-page .sfx-cover img.sfx-vendor__logo, div.sfx-cover > img.sfx-vendor__logo { width:56px !important; height:56px !important; bottom:-42px; inset-inline-start:10px; border-radius:12px; }
  .sfx-crumb.sfx-nav { padding-inline-start:76px; }
}

/* ═══ 0.9.44 — ورود متحرک سرصفحه (خواستهٔ یاس ۲۴ شهریور): اول لوگو، بعد نام، بعد مهر ═══
 * فقط CSS (transform/opacity روی کامپوزیتور) — صفر درخواست، صفر جاوااسکریپت، بی‌اثر روی سرعت.
 * زمان‌بندی: لوگو 0.15s→0.65s · نام 0.55s→1.1s · مهر (قبلی) 1.1s→1.65s. با «کاهش حرکت» همه ثابت و دیده‌شده. */
@keyframes sfx-logo-in { 0%{opacity:0;transform:translateY(16px) scale(.8)} 60%{opacity:1;transform:translateY(-4px) scale(1.05)} 100%{opacity:1;transform:none} }
@keyframes sfx-name-in { 0%{opacity:0;transform:translateY(-12px) scale(.95)} 100%{opacity:1;transform:none} }
/* 0.9.45 (یاس: آهسته‌تر و با فاصلهٔ بیشتر): لوگو 0.3→1.2s · نام 1.6→2.5s · مهر 2.9→3.7s */
.sfx-page .sfx-cover img.sfx-vendor__logo, div.sfx-cover > img.sfx-vendor__logo { opacity:0; animation:sfx-logo-in .9s cubic-bezier(.2,.8,.3,1.15) .3s forwards; }
.sfx-cover .sfx-vendor__name { opacity:0; animation:sfx-name-in .9s ease-out 1.6s forwards; }
.sfx-cover .sfx-stamp { animation-duration:.8s; animation-delay:2.9s; }
@media (prefers-reduced-motion:reduce){
  .sfx-page .sfx-cover img.sfx-vendor__logo, div.sfx-cover > img.sfx-vendor__logo, .sfx-cover .sfx-vendor__name { animation:none; opacity:1; transform:none; }
}

/* ═══ 0.9.46 — صفحهٔ بی‌قالب پیشخوان رستوران‌دار (body.alez-bare) ═══
 * نوار بالای قالب در header.php رندر نمی‌شود؛ نوار مدیریت وردپرس با show_admin_bar(false) نمی‌آید؛
 * نوار پایین alez-account و گپ‌یار (که از افزونه‌ها می‌آیند) اینجا پنهان می‌شوند. */
body.alez-bare .alezac-bar, body.alez-bare #alezchat, body.alez-bare #wpadminbar { display:none !important; }
html body.alez-bare { margin-top:0 !important; padding-bottom:0; }
.sfx-page--bare { padding-bottom:32px; }
.sfx-bare__top { display:flex; align-items:center; justify-content:space-between; gap:12px; height:52px; box-sizing:border-box; padding:0 16px; background:#fff; border-bottom:1px solid var(--sfx-sep, #eee); position:sticky; top:0; z-index:62; }
/* 0.9.48 (یاس): هر دو نوار چسبان — نوار بازگشت بالا (52px)، نوار دکمه‌های پیشخوان درست زیرش با فاصلهٔ روشن و زمینهٔ خودش؛ روی هم نمی‌افتند */
/* 0.9.50 (یاس): قاعدهٔ یک‌عرض — جعبه‌های پیشخوان لبه‌به‌لبهٔ ستون مثل کارت‌های سایت؛ تورفتگی ۱۲px حذف شد */
.sfx-page--bare .alezp { padding:0; }
/* 0.9.50: قاعدهٔ چسبانِ 0.9.48 برای ردیف دکمه‌ها حذف شد — از alez-panel 1.4.0 ردیف کاشی‌ای و ایستا است */
.sfx-bare__back { color:var(--az-brand-text, var(--sfx-pink)); text-decoration:none; font-size:13px; font-weight:700; }
.sfx-bare__title { font-size:15px; font-weight:800; color:var(--sfx-ink); }

/* ═══ 0.9.49 (یاس): نوار بالای پیشخوان سه‌ستونه — راست بازگشت · وسط لوگو · چپ عنوان نقش؛ روی کامپیوتر و موبایل یک شکل ═══ */
.sfx-page--bare .sfx-bare__top { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:10px; padding:0 16px; } /* 0.9.50: متن نوار ۱۶px از لبه، مثل متن کارت‌ها */
.sfx-bare__top .sfx-bare__back { grid-column:1; justify-self:start; white-space:nowrap; }
.sfx-bare__top .sfx-bare__logo { grid-column:2; display:flex; align-items:center; justify-content:center; width:38px; height:38px; border-radius:50%; overflow:hidden; background:#fff; border:1px solid var(--sfx-sep, #eee); }
.sfx-bare__top .sfx-bare__logo img, body.woocommerce-page .sfx-bare__top .sfx-bare__logo img { width:100% !important; height:100% !important; object-fit:cover; display:block; }
.sfx-bare__top .sfx-bare__title { grid-column:3; justify-self:end; white-space:nowrap; }
@media (max-width:480px) { .sfx-bare__top .sfx-bare__back { font-size:12px; } .sfx-bare__top .sfx-bare__title { font-size:13px; } }

/* ═══ 0.9.50 (یاس): قاعدهٔ یک‌عرض در کل سایت — ستون ۷۲۰ / تمام‌عرض موبایل؛ هر جعبه لبه‌به‌لبهٔ ستون؛ متن ۱۶px از لبه.
   خبر دوم پای صفحه (سبد/پرداخت/همه) تا حالا ۱۲px تو رفته بود: تمام‌عرض می‌شود، برچسبش ۱۶px. ═══ */
.sfx-page .sfx-foot { padding-inline:0; }
.sfx-foot .alezn--2 { margin-inline:0; }
.sfx-foot .alezn.alezn--2:not(.alezn--empty)::before { padding:0 16px; }
.sfx-foot .alezn--empty { margin-inline:0; }
/* 0.9.50 (یاس): مهر «عضو رسمی اتحادیه» سورمه‌ای مثل مهر واقعی (#1C2B6B) — فایل stamp-union.svg بازرنگ شد */

/* ═══ 0.9.51 (یاس): نشان کالری تقریبی زیر قیمت — کم‌رنگ، رقم لاتین ═══ */
/* 0.9.52 (تصمیم یاس ۲۴ شهریور): برچسب کالری زرد — رنگ مکمل بنفش برند؛ زرد فقط برای کالری
   0.9.53 (تصمیم یاس): توخالی مثل دکمهٔ «افزودن» — خط زرد، تهِ کِرِم خیلی کم‌رنگ، شعلهٔ زرد؛ توپر نیست تا از دکمهٔ خرید پررنگ‌تر نشود */
.sfx-item__kcal { display:inline-flex; align-items:center; gap:6px; direction:ltr; unicode-bidi:isolate; margin-top:6px; padding:3px 10px 3px 8px; border-radius:999px; background:#FFF8DC; color:#3a2a00; box-shadow:inset 0 0 0 1.5px #FFC93C; font-size:12.5px; font-weight:800; line-height:1.4; font-variant-numeric:tabular-nums; vertical-align:middle; }
.sfx-item__kcal::before { content:'کالری'; flex:none; color:#E8B000; font-size:11px; font-weight:700; direction:rtl; unicode-bidi:isolate; }
.sfx-item__kcal b { font-weight:800; }
.sfx-item__kcal small { font-size:10px; font-weight:600; opacity:.8; }
.sfx-item__kcal i { font-style:normal; font-size:11px; font-weight:600; direction:rtl; unicode-bidi:isolate; padding-inline-start:6px; border-inline-start:1px solid rgba(58,42,0,.25); }
.single-product .sfx-item__kcal { margin:4px 0 12px; font-size:16px; padding:5px 14px 5px 11px; }
.single-product .sfx-item__kcal::before { font-size:13px; }
.single-product .sfx-item__kcal small { font-size:12px; }
.single-product .sfx-item__kcal i { font-size:13px; }

/* 0.9.63 — حداقل سفارش: هشدار و دکمهٔ بی‌اثر.
   دکمه عمداً «حذف» نمی‌شود — مشتری باید ببیند ادامه کجاست و چرا هنوز نمی‌تواند. */
.sfx-cartbar { flex-wrap:wrap; }
.sfx-cartbar__warn { flex:1 0 100%; order:-1; margin:0 0 8px; font-size:13px; line-height:1.9; color:#b32d2e; font-weight:600; }
.sfx-cartbar.is-blocked .sfx-cartbar__go { background:#d9d2da; color:#fff; pointer-events:none; cursor:not-allowed; }

/* 0.9.64 (یاس ۳۱ شهریور، الگوی اسنپ): جست‌وجو و منوی آبشاری سمت راستِ دسته‌ها؛
   دکمهٔ حرکت دسته‌ها سمت چپ با رنگ سازمانی، و محوشدن لبهٔ چپ وقتی دستهٔ بیشتری هست. */
.sfx-tabs__tools { order: 0; }
.sfx-tabs__scroll { order: 1; }
/* 0.9.80: جهت محوشدن اصلاح شد — «to right» یعنی لبهٔ چپ (انتها) محو می‌شود؛ قبلاً لبهٔ راست (شروع) و علامت ٪ تب اول را محو می‌کرد */
.sfx-tabs.has-more .sfx-tabs__scroll {
	-webkit-mask-image: linear-gradient(to right, transparent 0, #000 32px);
	mask-image: linear-gradient(to right, transparent 0, #000 32px);
}
.sfx-tabs__more {
	order: 2; flex: 0 0 auto;
	width: 32px; height: 32px; padding: 0; margin-inline-start: 2px;
	display: grid; place-items: center;
	border-radius: 50%; border: 1px solid var(--sfx-pink-soft);
	background: #fff; color: var(--az-brand-text, var(--sfx-pink));
	box-shadow: 0 1px 4px rgba(160, 43, 166, .14);
	box-shadow: 0 1px 4px color-mix(in srgb, var(--sfx-pink) 14%, transparent); /* 0.9.119: سایه به رنگ سازمانی */
	box-shadow: 0 1px 4px color-mix(in srgb, var(--sfx-pink) 14%, transparent); /* 0.9.118: سایه هم به رنگ سازمانی */
	cursor: pointer;
}
.sfx-tabs__more[hidden] { display: none; }
.sfx-tabs__more:hover { background: var(--sfx-pink-soft); }
.sfx-tabs__more:focus-visible { outline: 2px solid var(--sfx-pink); outline-offset: 2px; }
.sfx-tabs__more svg { transition: transform .2s ease; }
.sfx-tabs__more.is-back svg { transform: rotate(180deg); }
@media (prefers-reduced-motion: reduce) { .sfx-tabs__more svg { transition: none; } }

/* 0.9.65 (یاس ۳۱ شهریور): برچسب کالری در همهٔ کارت‌های منو هم‌اندازه است (عدد سه یا چهاررقمی فرقی نمی‌کند)
   و زیر نام غذا، پیش از امتیاز می‌نشیند. */
.sfx-item__kcal { box-sizing: border-box; min-width: 104px; height: 24px; justify-content: center; font-variant-numeric: tabular-nums; white-space: nowrap; }
.sfx-item__body > .sfx-item__kcal { display: flex; width: fit-content; margin: 4px 0 2px; }
.single-product .sfx-item__kcal { height: auto; min-width: 0; }

/* 0.9.66 (یاس ۳۱ شهریور): کالری و ستاره‌های نظر در یک ردیف زیر نام غذا — کالری سمت راست، ستاره‌ها کنارش. */
.sfx-item__meta { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 12px; margin: 6px 0 4px; }
.sfx-item__meta > .sfx-item__kcal,
.sfx-item__meta > .sfx-item__rate { margin: 0; }

/* 0.9.67 (یاس ۳۱ شهریور، الگوی مرجع بیرونی): کالری و نظر هر دو داخل باکس سفید هم‌اندازه —
   اندازهٔ ثابت در همهٔ کارت‌ها (۱۳۶×۲۶)، با محتوا کوچک و بزرگ نمی‌شود. ستاره‌ها طلایی. */
.sfx-item__meta { gap: 8px; }
.sfx-item__meta > .sfx-item__kcal,
.sfx-item__meta > .sfx-item__rate {
	box-sizing: border-box; flex: 0 0 136px; width: 136px; min-width: 136px; max-width: 136px; height: 26px;
	display: inline-flex; align-items: center; justify-content: center; gap: 5px;
	padding: 0 8px; margin: 0; overflow: hidden; white-space: nowrap;
	background: #fff; border: 1px solid #DEDEDE; border-radius: 20px;
	box-shadow: 0 1px 4px rgba(0, 0, 0, .08);
}
.sfx-item__meta > .sfx-item__kcal { direction: rtl; color: #3A2A00; }
.sfx-item__meta > .sfx-item__kcal::before {
	content: ''; flex: 0 0 12px; width: 12px; height: 14px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23E8B000' d='M13.5 1.5c.4 3.1 2.2 4.9 3.8 6.8C19 10.3 20 12.3 20 15a8 8 0 0 1-16 0c0-3.2 1.7-5.2 3.4-6.6.2 1.8 1 3 2.3 3.6C9.4 7.6 11 4.3 13.5 1.5z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.sfx-item__meta > .sfx-item__kcal b { font-size: 13px; font-weight: 800; direction: ltr; font-variant-numeric: tabular-nums; }
.sfx-item__meta > .sfx-item__kcal::after { content: 'کالری'; font-size: 11px; font-weight: 600; color: #8A8A8A; }
.sfx-item__meta > .sfx-item__kcal small,
.sfx-item__meta > .sfx-item__kcal i { display: none; }
.sfx-item__meta > .sfx-item__rate .stars { font-size: 13px; letter-spacing: 0; }
.sfx-item__meta > .sfx-item__rate .num { font-size: 12px; }
.sfx-item__meta > .sfx-item__rate .cnt { font-size: 11px; color: #999; }
.sfx-item__meta > .sfx-item__rate { gap: 4px; padding: 0 6px; }

/* 0.9.69 (یاس ۳۱ شهریور، الگوی مرجع بیرونی به عرض عکس خودمان): هر دو باکس ۱۰۴×۲۶ ثابت در همهٔ کارت‌ها و همهٔ صفحه‌ها.
   کالری زیر نام غذا؛ نظر زیر عکس و بالای دکمهٔ افزودن. */
.sfx-item__meta > .sfx-item__kcal,
.sfx-item__side > .sfx-item__rate {
	box-sizing: border-box; flex: 0 0 26px; width: 104px; min-width: 104px; max-width: 104px; height: 26px;
	display: inline-flex; align-items: center; justify-content: center; gap: 3px;
	padding: 0 5px; margin: 0; overflow: hidden; white-space: nowrap;
	background: #fff; border: 1px solid #DEDEDE; border-radius: 20px;
	box-shadow: 0 1px 4px rgba(0, 0, 0, .08);
}
.sfx-item__side > .sfx-item__rate { align-self: center; }
.sfx-item__side > .sfx-item__rate .stars { font-size: 11px; letter-spacing: 0; }
.sfx-item__side > .sfx-item__rate .num { font-size: 11px; }
.sfx-item__side > .sfx-item__rate .cnt { font-size: 10px; color: #999; }

/* 0.9.70 (یاس ۳۱ شهریور): باکس امتیاز دقیقاً هم‌عرض دکمهٔ «افزودن» (ستون عکس)، ارتفاع ۲۶؛
   باکس کالری دقیقاً هم‌اندازهٔ باکس امتیاز — ۱۲۴ در کامپیوتر، ۱۰۴ در موبایل (همان شکست ۷۲۰ ستون عکس). */
.sfx-item__side > .sfx-item__rate { align-self: stretch; width: 100%; min-width: 0; max-width: none; }
.sfx-item__meta > .sfx-item__kcal { width: 124px; min-width: 124px; max-width: 124px; }
@media (max-width: 720px) {
	.sfx-item__meta > .sfx-item__kcal { width: 104px; min-width: 104px; max-width: 104px; }
}

/* 0.9.71 (یاس ۳۱ شهریور): باکس کالری زیر عکس و بالای باکس امتیاز — هم‌عرض دکمهٔ «افزودن»، ارتفاع ۲۶. */
.sfx-item__side > .sfx-item__kcal {
	box-sizing: border-box; flex: 0 0 26px; align-self: stretch; width: 100%; min-width: 0; max-width: none; height: 26px;
	display: inline-flex; align-items: center; justify-content: center; gap: 3px;
	padding: 0 5px; margin: 0; overflow: hidden; white-space: nowrap;
	background: #fff; border: 1px solid #DEDEDE; border-radius: 20px;
	box-shadow: 0 1px 4px rgba(0, 0, 0, .08);
	direction: rtl; color: #3A2A00;
}
.sfx-item__side > .sfx-item__kcal::before {
	content: ''; flex: 0 0 12px; width: 12px; height: 14px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23E8B000' d='M13.5 1.5c.4 3.1 2.2 4.9 3.8 6.8C19 10.3 20 12.3 20 15a8 8 0 0 1-16 0c0-3.2 1.7-5.2 3.4-6.6.2 1.8 1 3 2.3 3.6C9.4 7.6 11 4.3 13.5 1.5z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.sfx-item__side > .sfx-item__kcal b { font-size: 13px; font-weight: 800; direction: ltr; font-variant-numeric: tabular-nums; }
.sfx-item__side > .sfx-item__kcal::after { content: 'کالری'; font-size: 11px; font-weight: 600; color: #8A8A8A; }
.sfx-item__side > .sfx-item__kcal small,
.sfx-item__side > .sfx-item__kcal i { display: none; }

/* 0.9.72 (یاس ۳۱ شهریور): باکس یادداشت سرو (مثلاً «۱ نفره») زیر کالری — همان شکل و اندازهٔ باکس‌های کالری و امتیاز. */
.sfx-item__side > .sfx-item__note {
	box-sizing: border-box; flex: 0 0 26px; align-self: stretch; width: 100%; height: 26px;
	display: inline-flex; align-items: center; justify-content: center; gap: 4px;
	padding: 0 5px; margin: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;
	background: #fff; border: 1px solid #DEDEDE; border-radius: 20px;
	box-shadow: 0 1px 4px rgba(0, 0, 0, .08);
	font-size: 12px; font-weight: 700; color: #444;
}
.sfx-item__side > .sfx-item__note::before {
	content: ''; flex: 0 0 12px; width: 12px; height: 12px;
	/* 0.9.117: ماسک به‌جای رنگ ثابت در svg، تا رنگ سازمانی رستوران را بگیرد. */
	background: 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='M12 12a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9zm0 2c-4.4 0-8 2.2-8 5v2h16v-2c0-2.8-3.6-5-8-5z'/%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='M12 12a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9zm0 2c-4.4 0-8 2.2-8 5v2h16v-2c0-2.8-3.6-5-8-5z'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* 0.9.73 (یاس ۳۱ شهریور): یادداشت سرو بدون کادر، زیر نام غذا — متن کوچک خاکستری. */
.sfx-item__body > .sfx-item__note { margin: 3px 0 0; font-size: 12px; font-weight: 600; color: #8A8A8A; line-height: 1.5; }

/* 0.9.74 (یاس ۳۱ شهریور): صفحهٔ اختصاصی غذا — یادداشت سرو بدون کادر زیر نام؛
   باکس ستاره‌ها کنار عنوان «امتیاز و نظر خریداران»، با همان شکل و اندازهٔ کارت منو. */
.sfx-product__note { margin: 4px 0 0; font-size: 13px; font-weight: 600; color: #8A8A8A; line-height: 1.5; }
.sfx-product__head { flex-wrap: wrap; }
.sfx-product__head > .sfx-product__note { flex: 0 0 100%; order: 2; }
.sfx-reviews__head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px 12px; margin: 0 0 12px; }
.sfx-reviews__head > .sfx-card__title { margin: 0; }
.sfx-reviews__head > .sfx-item__rate {
	box-sizing: border-box; flex: 0 0 124px; width: 124px; height: 26px;
	display: inline-flex; align-items: center; justify-content: center; gap: 4px;
	padding: 0 6px; margin: 0; overflow: hidden; white-space: nowrap;
	background: #fff; border: 1px solid #DEDEDE; border-radius: 20px;
	box-shadow: 0 1px 4px rgba(0, 0, 0, .08);
}
.sfx-reviews__head > .sfx-item__rate .stars { font-size: 11px; letter-spacing: 0; }
.sfx-reviews__head > .sfx-item__rate .num { font-size: 11px; }
.sfx-reviews__head > .sfx-item__rate .cnt { font-size: 10px; color: #999; }
@media (max-width: 720px) { .sfx-reviews__head > .sfx-item__rate { flex-basis: 104px; width: 104px; } }

/* 0.9.76 (یاس ۳۱ شهریور): رفع اسکرول افقی موبایل در نوشته‌ها (پرداخت در محل / پرداخت اینترنتی و همهٔ نوشته‌ها).
   علت: کادر دیدگاه وردپرس عرضش را با «۴۵ حرف» می‌گیرد، نه با عرض صفحه؛ با درشت‌نمایی متن در اندروید تا ~۱۰۰px بیرون می‌زد.
   قاعده: فیلدهای فرم دیدگاه و رسانه‌های داخل متن هرگز از ستون پهن‌تر نمی‌شوند. */
#commentform textarea,
#commentform input[type="text"],
#commentform input[type="email"],
#commentform input[type="url"] { box-sizing: border-box; width: 100%; max-width: 100%; }
#commentform input[type="submit"] { max-width: 100%; }
.alez-prose img, .alez-prose video { max-width: 100%; height: auto; }
.alez-prose iframe, .alez-prose embed, .alez-prose object, .alez-prose pre { max-width: 100%; }
.alez-prose pre { overflow-x: auto; }
.alez-prose table { display: block; max-width: 100%; overflow-x: auto; }
.alez-prose { overflow-wrap: anywhere; }
/* ستون اصلی نوشته در چیدمان flex/grid نباید با محتوای درشت‌شده از ستون پهن‌تر شود */
.alez-layout > .alez-layout__main { min-width: 0; max-width: 100%; }
.alez-single { min-width: 0; overflow-wrap: anywhere; }
/* ستون grid با «1fr» به اندازهٔ پهن‌ترین محتوا کش می‌آمد (با متن درشت تا ۵۵px بیرون‌زدگی)؛ minmax(0,1fr) آن را به عرض صفحه قفل می‌کند */
.alez-layout { grid-template-columns: minmax(0, 1fr) 300px; }
.alez-layout--page { grid-template-columns: minmax(0, 1fr); }
@media (max-width: 1023px) { .alez-layout { grid-template-columns: minmax(0, 1fr); } }

/* 0.9.79 (یاس ۳۱ شهریور): علامت «٪» تخفیف‌دارها همه‌جا قرمز و خوانا — همان قرمز برچسب‌های تخفیف (#E01D1D)، «٪» سفید پررنگ.
   (تب نوار دسته‌ها + عنوان بخش تخفیف‌دارها) */
.sfx-tab__seal,
.sfx-tab .sfx-tab__seal,
.sfx-card__title .sfx-tab__seal {
	background: #E01D1D; background-image: none; color: #fff; opacity: 1; filter: none;
	font-size: 11px; font-weight: 800; line-height: 1;
	display: inline-grid; place-items: center;
}

/* 0.9.81 (یاس ۳۱ شهریور) — قانون قالب: «همهٔ فلش‌ها (⌄ ^ ‹ › → و فلش‌های SVG) به رنگ سازمانی».
   فلش تازه‌ای که ساخته می‌شود یکی از این کلاس‌ها را بگیرد یا به این فهرست اضافه شود. */
:root { --alez-arrow: var(--sfx-pink, #A02BA6); }
.sfx-pill > span[aria-hidden="true"],
.sfx-coupon__more > span[aria-hidden="true"],
.sfx-topbar__back,
.sfx-topbar__back svg,
.alez-breadcrumb .sep,
.alez-acct__go,
.alez-acct-nav .alez-acct__go,
.sfx-tabs__more,
.alezv-box__go,
.alezv-sheet__back,
.alez-arrow { color: var(--alez-arrow); opacity: 1; }

/* 0.9.83 (یاس ۳۱ شهریور) — قاعدهٔ ۱۷: فرمول مشترک «دکمهٔ انتخاب/بازکننده» — کلاس .alez-pickbtn
   آیکون در لبهٔ راست (فاصلهٔ ثابت ۱۲px)، متن بلافاصله بعد از آن و راست‌چین، فلش همیشه در منتهی‌الیه چپ (۱۲px) و بنفش.
   ساختار استاندارد برای دکمهٔ تازه:  .alez-pickbtn > .alez-pickbtn__ic + .alez-pickbtn__t + .alez-pickbtn__go
   اجزای بسته‌های موجود هم به همین نقش‌ها نگاشت شده‌اند (alezck-chip، alezv-box). دکمه‌های اقدام و گزینه‌های هم‌وزن شامل نمی‌شوند. */
.alez-pickbtn {
	display: flex !important; flex-direction: row !important; align-items: center !important;
	justify-content: flex-start !important; gap: 6px !important;
	padding-inline: 12px !important; text-align: start !important;
	box-sizing: border-box; min-width: 0;
}
.alez-pickbtn > .alez-pickbtn__ic,
.alez-pickbtn > .alezv-box__ic,
.alezck-chip.alez-pickbtn > span:first-child:not([class]) { flex: 0 0 auto; order: 0; margin: 0 !important; }
.alez-pickbtn > .alez-pickbtn__t,
.alez-pickbtn > .alezv-box__t,
.alez-pickbtn > .alezck-chip__t,
.alez-pickbtn > .alezck-ship {
	flex: 1 1 auto !important; order: 1; min-width: 0; margin: 0 !important;
	overflow: hidden; white-space: nowrap; text-align: start !important;
}
.alez-pickbtn > .alez-pickbtn__go,
.alez-pickbtn > .alezv-box__go,
.alez-pickbtn > .alezck-chip__go {
	flex: 0 0 auto; order: 2; margin: 0 !important; margin-inline-start: auto !important;
	color: var(--alez-arrow);
}
/* ردیف‌های چندکلمه‌ای (پنجرهٔ اطلاعات) به‌جای بریدن، دو خط شوند؛ در دکمه‌های باریک فاصلهٔ آیکون/متن/فلش کمتر */
.alez-pickbtn > .alezv-box__t { white-space: normal !important; overflow: visible; line-height: 1.5; }
@media (max-width: 400px) { .alez-pickbtn { gap: 4px !important; } }

/* ── 0.9.85: قانون ۱۷ (ادامه) ──
   ۱) ردیف‌های «نوع تحویل / پرداخت» در پنجرهٔ اطلاعات: هر ردیف تمام‌عرض، مثل ردیف‌های حساب کاربری (دیگر سه‌تایی و قدبلند نمی‌شوند).
   ۲) در موبایل حاشیهٔ دو طرف دکمه‌ها ۸px.
   ۳) متنی که در ۱۲px هم جا نشود، به‌جای کوچک‌تر شدن یا بریدن، دوخطی می‌شود (کلاس is-2l را اسکریپت می‌گذارد). */
.alezv-boxes--fill:has(> .alez-pickbtn) { display: grid !important; grid-template-columns: minmax(0,1fr) !important; gap: 8px !important; }
.alezv-boxes--fill > .alez-pickbtn { width: 100% !important; min-height: 48px; height: auto !important; flex-direction: row !important; }
.alezv-boxes--fill > .alez-pickbtn > .alezv-box__t { white-space: nowrap !important; }
@media (max-width: 400px) { .alez-pickbtn { padding-inline: 8px !important; gap: 4px !important; } }
.alez-pickbtn > .is-2l { white-space: normal !important; line-height: 1.35 !important; display: block !important; overflow: visible !important; text-overflow: clip !important; font-size: 12px !important; }

/* ── 0.9.86 (یاس ۳۱ شهریور): یک ارتفاع برای همهٔ دکمه‌ها ──
   قاعدهٔ تازه: هر دکمهٔ نوشته‌دار ۴۰px، هر دکمهٔ مربعیِ فقط‌آیکونی ۳۶×۳۶، و تنها استثنا دکمهٔ پایانی «ثبت سفارش» با ۴۸px.
   ورودی‌های هم‌ردیف (مثل کادر کد تخفیف) هم ۴۰px می‌شوند تا کنار دکمه‌شان ناهماهنگ نباشند.
   نوشتهٔ داخل دکمه‌ها بولد است (قاعدهٔ ۲: برچسب بولد، توضیح بدون بولد). */
:root { --alez-btn-h: 40px; --alez-btn-ic: 36px; --alez-btn-lg: 48px; }

.sfx-add, .sfx-pill, .sfx-basket__clear, .sfx-mapbar__btn, .alez-pickbtn,
.sfx-wc .button, .woocommerce .button, .woocommerce button.button, .woocommerce input.button,
.woocommerce a.button, .woocommerce-page .button, .alez-acct__go, .alez-btn {
	min-height: var(--alez-btn-h) !important;
	height: var(--alez-btn-h) !important;
	padding-block: 0 !important;
	font-weight: 600 !important;
	display: inline-flex; align-items: center; justify-content: center;
}
/* ورودی‌های تک‌خطیِ هم‌ردیف با دکمه */
.woocommerce .coupon input[type="text"], .sfx-wc input[type="text"], .sfx-wc input[type="tel"],
.sfx-wc input[type="email"], .sfx-wc input[type="number"], .sfx-wc select, .sfx-mapbar input {
	min-height: var(--alez-btn-h) !important; height: var(--alez-btn-h) !important;
}
/* دکمه‌های مربعی فقط‌آیکونی */
.sfx-iconbtn, .sfx-cover__share, .sfx-tabs__more, .sfx-plus, .sfx-qty button, .sfx-item__qty button, .sfx-cart__qty button, .sfx-step button {
	width: var(--alez-btn-ic) !important; height: var(--alez-btn-ic) !important; min-height: 0 !important; padding: 0 !important;
}
/* تنها استثنا: دکمهٔ پایانی ثبت سفارش */
.woocommerce #place_order, #place_order, .woocommerce button.alt#place_order {
	height: var(--alez-btn-lg) !important; min-height: var(--alez-btn-lg) !important;
}
/* نوشتهٔ باکس‌ها بولد؛ توضیح زیر باکس‌ها بدون بولد (قاعدهٔ ۲) */
.alez-pickbtn > .alezv-box__t, .alez-pickbtn > .alezck-chip__t, .alez-pickbtn > .alezck-ship,
.alezv-box__t, .alezck-chip__t, .alezck-ship, .alezck-seg__b { font-weight: 600 !important; }
.alezck-minfo, .alezck-note, .sfx-item__note, .sfx-product__note, .alezv-box__s, .alezck-mode__s { font-weight: 400 !important; }

/* ── 0.9.87: پنجرهٔ افزودنی‌ها (sfx-sheet) با قانون طراحی هم‌خوان شد — تا امروز هیچ‌وقت روی سایت دیده نشده بود.
   نردبان z-index (قاعدهٔ ۱۲): پرده ۹۰۰ / خودِ پنجره ۱۰۰۰. ردیف گزینه ۴۰px، نام گزینه بولد، قیمت بولد، توضیح گروه بدون بولد. */
.sfx-sheet { z-index: 1000; }
.sfx-grp__note { margin: -6px 0 8px; font-size: 13px; font-weight: 400; color: var(--sfx-mute); }
.sfx-grp__row { min-height: 40px; padding: 6px 0; font-weight: 600; }
.sfx-grp__price { font-weight: 600; }
.sfx-grp__rule { font-size: 12px; }
.sfx-sheet__go { height: 48px; padding: 0 26px; }
.sfx-sheet__close { width: 36px; height: 36px; padding: 0; display: inline-flex; align-items: center; justify-content: center; color: var(--alez-arrow); }
/* 0.9.87: ردیف گزینهٔ افزودنی دقیقاً ۴۰px (قاعدهٔ ۶) — پدینگ و اندازهٔ دایرهٔ انتخاب مهار شد */
.sfx-grp__row { min-height: 40px !important; padding: 5px 12px !important; box-sizing: border-box; }
.sfx-grp__row input { width: 20px !important; height: 20px !important; }


/* ═══ 0.9.88 — قاعدهٔ ۱۹ «خوانایی سایت مشتری» (تصویب یاس ۱ مهر) ═══
   فقط سه اندازه: ۱۸ عنوان بخش · ۱۶ گزینه، قیمت، دکمه، کادر · ۱۵ راهنما و توضیح.
   ریزتر از ۱۵ نداریم؛ کم‌رنگ‌ترین نوشتهٔ خواندنی ۷۵٪؛ متن بریده نمی‌شود. نوشتهٔ نمونهٔ کادرها طوسی و نازک (قاعدهٔ ۷). */
.sfx-rate .cnt, .sfx-rate span, .sfx-item__rate, .sfx-item__rate span, .sfx-tab__seal, .sfx-badge-red, .sfx-fact,
.sfx-crumb, .sfx-crumb a, .sfx-crumb span, .sfx-coupon__seal, .sfx-item__note,
.sfx-foot__c, .sfx-foot__by, .sfx-foot__gift, .sfx-foot__gift *,
.sfx-cartbar__count, .sfx-item__kcal, .sfx-item__kcal *, .sfx-coupon__sub, .sfx-coupon__more, .sfx-coupon__more *,
.sfx-item__was, .sfx-item__was *, .sfx-sum__min, .sfx-line__tops, .sfx-line__tops li,
.sfx-wc .form-row > label, .sfx-wc .payment_box p { font-size:15px !important; }
.sfx-crumb, .sfx-crumb a, .sfx-crumb span, .sfx-cartbar__count, .sfx-coupon__sub, .sfx-item__was, .sfx-item__was *:not(.sfx-badge-red),
.sfx-sum__min, .sfx-line__tops, .sfx-line__tops li, .sfx-wc .form-row > label { color:rgba(19,20,31,.75) !important; }
.sfx-add, .sfx-add *, .sfx-dcard__name, .sfx-dcard__final, .sfx-scard__price, .sfx-basket__clear, .sfx-basket__more,
.sfx-sum__row, .sfx-sum__row span, .sfx-sum__row b, .sfx-mapbar__btn, .sfx-wc .wc_payment_method > label { font-size:16px !important; }
.sfx-sum__row span { color:rgba(19,20,31,.75) !important; }
.sfx-sum__row b { color:#13141f !important; }
.sfx-wc input[type="text"], .sfx-wc input[type="email"], .sfx-wc input[type="tel"], .sfx-wc input[type="number"],
.sfx-wc input[type="search"], .sfx-wc input[type="password"], .sfx-wc textarea, .sfx-wc select,
.sfx-mapbar input { font-size:16px !important; }
.sfx-card__title, .sfx-sum__h { font-size:18px !important; font-weight:800 !important; color:#13141f !important; }
.sfx-wc input::placeholder, .sfx-wc textarea::placeholder, .sfx-mapbar input::placeholder,
.sfx-search input::placeholder { color:rgba(19,20,31,.45) !important; font-weight:400 !important; opacity:1; }
.sfx-vendor .alez-pickbtn, .sfx-vendor .alez-pickbtn .alez-pickbtn__t, .sfx-vendor .alez-pickbtn .alez-pickbtn__go { font-size:16px; }
.sfx-item__rate { flex-wrap:wrap; justify-content:center; height:auto !important; min-height:26px; row-gap:2px; }
.sfx-item__rate.is-none .stars, .sfx-item__rate.is-none .num { display:none !important; }
.sfx-dcard__name { white-space:normal !important; overflow:visible !important; text-overflow:clip !important; line-height:1.5 !important; min-height:3em; }
.sfx-wc .wc_payment_method > label { color:#13141f !important; }
/* 0.9.89 — نوار خبر پانویس و دکمهٔ «اطلاعات و نظرات» در گوشی کوچک: ۱۵px و سپس دوخطی، هرگز بریده */
.alezn__in, .sfx-foot .alezn--2 .alezn__in { font-size:15px !important; }
.sfx-vendor .alez-pickbtn .alez-pickbtn__t { overflow:visible; text-overflow:clip; }
@media (max-width:360px){ .sfx-vendor .alez-pickbtn .alez-pickbtn__t { font-size:15px; white-space:normal; line-height:1.2; } }
/* 0.9.90 — قاعدهٔ ۱۹: متن دوخطیِ دکمهٔ انتخاب در سایت مشتری ۱۵px، نه ۱۲px */
.alez-pickbtn > .is-2l { font-size:15px !important; }

/* ═══ 0.9.91 — قاعدهٔ ۱۹، پلهٔ درشت‌تر (تصویب یاس ۱ مهر، با نمونهٔ اسنپ‌فود): ۲۰ · ۱۸ · ۱۷ · ۱۵ ═══
   ۲۰ عنوان دسته و بخش · ۱۸ نام غذا، عنوان صفحه، جمع، دکمهٔ سبد خرید · ۱۷ توضیح، قیمت (بولد)، گزینه، دکمه، کادر، تب · ۱۵ راهنما. */
.sfx-card__title, .sfx-sum__h { font-size:20px !important; }
.sfx-item__name, .sfx-topbar__title, .sfx-basket__title, .sfx-cartbar__go, .sfx-cartbar__total, .sfx-line__name { font-size:18px !important; }
.sfx-item__name, .sfx-line__name { font-weight:700 !important; }
.sfx-item__desc, .sfx-item__now, .sfx-item__price, .sfx-add, .sfx-add *, .sfx-dcard__name, .sfx-dcard__final, .sfx-scard__price,
.sfx-basket__clear, .sfx-basket__more, .sfx-sum__row, .sfx-sum__row span, .sfx-sum__row b, .sfx-mapbar__btn, .sfx-tab,
.sfx-line__price, .sfx-wc .wc_payment_method > label,
.sfx-wc input[type="text"], .sfx-wc input[type="email"], .sfx-wc input[type="tel"], .sfx-wc input[type="number"],
.sfx-wc input[type="search"], .sfx-wc input[type="password"], .sfx-wc textarea, .sfx-wc select, .sfx-mapbar input { font-size:17px !important; }
.sfx-item__now, .sfx-line__price, .sfx-scard__price, .sfx-dcard__final, .sfx-sum__row b { font-weight:700 !important; }
.sfx-item__desc { line-height:1.8 !important; }
.sfx-vendor .alez-pickbtn, .sfx-vendor .alez-pickbtn .alez-pickbtn__t, .sfx-vendor .alez-pickbtn .alez-pickbtn__go { font-size:17px; }
@media (max-width:400px){ .sfx-vendor .alez-pickbtn .alez-pickbtn__t { font-size:15px; white-space:normal; line-height:1.2; } }
.sfx-wc #place_order { font-size:18px !important; }
.sfx-wc .button, .sfx-wc button[type="submit"] { font-size:17px; }
.alez-pickbtn > .is-2l { line-height:1.15 !important; }

/* 0.9.93 (یاس، 2 مهر) — قاعدهٔ ۶: دکمهٔ اصلی پایین هر مرحله («سبد خرید» / «ادامه خرید») دقیقاً 48px */
.sfx-cartbar__go, a.sfx-cartbar__go { height:48px !important; min-height:48px !important; padding-top:0 !important; padding-bottom:0 !important; display:flex !important; align-items:center; justify-content:center; line-height:1.2 !important; box-sizing:border-box; }

/* 0.9.94 — برچسب درصد تخفیف (یاس، 2 مهر، گزینهٔ الف): قرمز تیره‌تر --az-danger (#b91c1c) با نوشتهٔ سفید پررنگ.
   ریشهٔ خرابی: قانون خوانایی 0.9.91 نوشتهٔ کنار قیمت خط‌خورده را تیره می‌کرد و نوشتهٔ سفید برچسب هم تیره شد؛
   از این نسخه آن قانون به نوشتهٔ روی کادر رنگی دست نمی‌زند. همهٔ نشان‌های تخفیف سایت یک رنگ‌اند. */
.sfx-badge-red, .sfx-item__was .sfx-badge-red, .sfx-tab__seal, .sfx-coupon__seal { background:#b91c1c !important; color:#fff !important; }
.sfx-badge-red, .sfx-item__was .sfx-badge-red { font-weight:700 !important; padding:2px 7px !important; border-radius:8px !important; line-height:1.4 !important; display:inline-block; }

/* 0.9.96 — پاورقی (یاس، 2 مهر): «هدیهٔ اتحادیه…» سیاه و پررنگ در همهٔ صفحه‌ها (همچنان پیوند به سایت اتحادیه)؛
   «©…» و «Powered by…» از خاکستری #9b9b9b (کم‌رنگ‌تر از کف قاعدهٔ ۱۹) به ۷۵٪ تیرگی، وزن عادی. */
.sfx-foot__gift, .sfx-foot__gift a, .sfx-foot__gift span { color:#191a20 !important; font-weight:700 !important; }
.sfx-foot__c, .sfx-foot__by, .sfx-foot__by a { color:rgba(19,20,31,.75) !important; font-weight:400 !important; }

/* 0.9.97 — خط «حداقل سفارش» صورت‌حساب سبد (یاس، 2 مهر): بعد از رسیدن به حداقل لازم نیست؛ پیش از آن هشدار کهربایی خوانا (--az-warn). */
.sfx-sum .sfx-sum__min.is-met, .sfx-sum .sfx-sum__min.is-met.is-real { display:none !important; } /* بالاتر از vendor.css که .is-real را نشان می‌دهد */
.sfx-sum .sfx-sum__min.is-short { color:#9a5b00 !important; font-weight:700 !important; }

/* 0.9.99 — برچسب‌ها و کادرهای فرم‌های حساب کاربری، مثل تسویه (alez-checkout 1.9.56؛ یاس، 2 مهر):
   برچسب 17 پررنگ سیاه، «(اختیاری)» عادی خاکستری، کادر خاکستری روشن، تمرکز بنفش، قرمز فقط برای کادر ایراددار. */
body.woocommerce-account .woocommerce form .form-row > label { font-size:17px !important; font-weight:700 !important; color:#191a20 !important; line-height:1.6; }
body.woocommerce-account .woocommerce form .form-row > label .optional { font-size:15px !important; font-weight:400 !important; color:rgba(19,20,31,.75) !important; }
body.woocommerce-account .woocommerce form .form-row > label .required { color:#b91c1c !important; text-decoration:none !important; border:0 !important; }
body.woocommerce-account .woocommerce form .form-row :is(input.input-text, textarea, select) { border:1px solid #d9d9db !important; box-shadow:none !important; }
body.woocommerce-account .woocommerce form .form-row :is(input.input-text, textarea, select):focus { border-color:var(--sfx-pink,#A02BA6) !important; box-shadow:0 0 0 1px var(--sfx-pink,#A02BA6) !important; outline:0 !important; }
body.woocommerce-account .woocommerce form .form-row.woocommerce-invalid :is(input.input-text, textarea, select) { border-color:#b91c1c !important; box-shadow:0 0 0 1px #b91c1c !important; }

/* 0.9.102 — ظاهر «حساب من» و «آدرس‌های من» که در 0.9.100–0.9.101 موقتاً این‌جا بود، به خود alez-account 1.2.15 (از هاب) منتقل و از قالب برداشته شد. */

/* 0.9.104 — قاعدهٔ موقت 0.9.103 (برچسب کمکی پنجرهٔ ویرایش غذا) برداشته شد؛ از alez-panel 1.10.7 در خود پیشخوان است. */

/* 0.9.105 — سبد (یاس، 2 مهر): «حذف همه» دکمهٔ قرمز خطر با نماد سطل (قاعدهٔ ۱۴: رنگ هرگز تنها)؛ «＋ افزودن غذای بیشتر» دکمهٔ درجهٔ دوم تمام‌عرض، ۴۰px */
/* 0.9.105 — سبد (یاس، 2 مهر): «حذف همه» با رنگ خطر مصوب (--az-danger روی ته‌رنگش) و آیکون سطل خطی به‌جای ایموجی؛
   «افزودن آیتم بیشتر» → دکمهٔ درجهٔ دوم تمام‌عرض «＋ افزودن غذای بیشتر» (روی گوشی بریده می‌شد؛ «آیتم» واژهٔ فرنگی). */
.sfx-basket__clear { display:inline-flex !important; align-items:center; gap:6px; height:40px; padding:0 14px !important; border:0 !important; border-radius:12px !important; background:#f9eded !important; color:#b91c1c !important; font-size:17px !important; font-weight:700 !important; box-shadow:none !important; }
.sfx-basket__clear svg { width:18px; height:18px; flex:none; }
.sfx-basket__vendor { flex-wrap:wrap; }
.sfx-basket__vendor b { font-size:17px !important; font-weight:700; }
.sfx-basket__more { flex:1 1 100%; display:flex !important; align-items:center; justify-content:center; height:40px; box-sizing:border-box; border:2px solid var(--sfx-pink,#A02BA6); border-radius:12px; background:#fff; color:var(--az-brand-text, var(--sfx-pink,#A02BA6)) !important; font-size:17px !important; font-weight:700 !important; text-decoration:none !important; }

/* 0.9.106 — سبد (یاس، 2 مهر): «＋ افزودن غذای بیشتر» و «حذف همه» کنار هم در کارت رستوران؛ افزودن سمت راست و پهن‌تر، حذف ته ردیف و کوچک‌تر.
   اگر جای ردیف کمتر از دو دکمه با نوشتهٔ کامل باشد (گوشی زیر 360)، هر دو تمام‌عرض زیر هم می‌روند؛ نوشته کوتاه یا ریز نمی‌شود. */
.sfx-basket__acts { flex:1 1 100%; display:flex; flex-wrap:wrap; align-items:center; gap:8px; min-width:0; container-type:inline-size; }
.sfx-basket__acts .sfx-basket__more { flex:1 1 auto; min-width:0; padding:0 12px; white-space:nowrap; }
.sfx-basket__acts .sfx-basket__clear { flex:none; padding:0 12px !important; white-space:nowrap; }
@container (max-width: 306px) { .sfx-basket__acts .sfx-basket__more, .sfx-basket__acts .sfx-basket__clear { flex:1 1 100%; justify-content:center; } }

/* 0.9.107 — الگوی ثابت تخفیف (یاس، 1 مهر): هر جا غذایی با تخفیف هست — منو، کارت‌های «تخفیف‌دارها»،
   پیشنهادهای سبد، صفحهٔ غذا، ردیف‌های سبد و پنجرهٔ افزودنی‌ها — برچسب قرمز «20%»، قیمت اصلی خط‌خورده و
   قیمت بعد از تخفیف پررنگ. برچسب همان قاعدهٔ 0.9.94 است؛ این‌جا فقط جای آن در هر کارت. */
.sfx-item__was { flex-wrap:wrap; row-gap:4px; }
.sfx-item__was .sfx-badge-red { unicode-bidi:isolate; }
.sfx-dcard__price { flex-wrap:wrap; min-height:0; margin-top:6px; }
.sfx-dcard__price:empty { display:none; }
.sfx-scard__foot .sfx-item__was { gap:6px; }
.sfx-line .sfx-item__was { margin-top:8px; }
.sfx-line .sfx-item__was + .sfx-line__price { margin-top:4px; }
.sfx-sheet__price { display:flex; flex-direction:column; gap:4px; padding:12px 0; border-bottom:1px solid var(--sfx-sep, #f0f0f0); }
.sfx-sheet__price .sfx-sheet__now { font-size:17px !important; font-weight:700 !important; color:#13141f; }

/* 0.9.108 (یاس، 1 مهر): دکمهٔ حرکت کارت‌های «تخفیف‌دارها» — همان دکمهٔ نوار دسته‌ها (کلاس sfx-tabs__more)،
   در انتهای چپِ سطر عنوان؛ و همان محو شدن لبهٔ چپ وقتی کارت بیشتری هست. */
.sfx-strip__head { display:flex; align-items:center; justify-content:space-between; gap:8px; margin:0 0 12px; }
.sfx-strip__head .sfx-card__title { margin:0; }
.sfx-strip__more { order:0; margin:0; }
.sfx-strip.has-more .sfx-strip__scroll {
	-webkit-mask-image: linear-gradient(to right, transparent 0, #000 32px);
	mask-image: linear-gradient(to right, transparent 0, #000 32px);
}

/* 0.9.109 (یاس، 1 مهر): دکمهٔ حرکت برای کارت‌های «پیشنهاد برای افزودن به سبد خرید» (همان محو شدن لبهٔ چپ)؛
   و در نوار پایین سبد، جمع قیمت اصلی خط‌خورده بالای جمع بعد از تخفیف. */
.sfx-suggest .sfx-strip__head .sfx-card__title { margin:0; }
.sfx-suggest.has-more .sfx-suggest__row {
	-webkit-mask-image: linear-gradient(to right, transparent 0, #000 32px);
	mask-image: linear-gradient(to right, transparent 0, #000 32px);
}
.sfx-cartbar__was { font-size:15px; font-weight:400; line-height:1.3; color:rgba(19,20,31,.75); white-space:nowrap; }
.sfx-cartbar__was[hidden] { display:none; }
.sfx-cartbar__total { white-space:nowrap; }

/* 0.9.110 (یاس، 1 مهر): تعطیل فوری سفارش‌گیری — alez-checkout کلاس alezck-paused را روی body می‌گذارد.
   منو دیده می‌شود، ولی هر دکمه‌ای که به سبد اضافه می‌کند خاموش است (کم‌رنگ .45، قاعدهٔ 18). سرور هم رد می‌کند. */
.alezck-paused .sfx-add, .alezck-paused .sfx-plus, .alezck-paused .sfx-step button[data-delta="1"],
.alezck-paused .sfx-step button[data-cdelta="1"], .alezck-paused .sfx-sheet__go {
	opacity:.45; pointer-events:none; cursor:not-allowed;
}

/* 0.9.111 (یاس، 2 مهر): قاب بخش کوپن‌های صفحهٔ اول — بلیت‌ها مال alez-cpn (home.css) */
.sfx-coupons .sfx-strip__head { align-items:flex-start; }
.sfx-coupons__hd { display:flex; flex-direction:column; gap:2px; min-width:0; }
.sfx-coupons__hd .sfx-card__title { margin:0; }
.sfx-coupons__sub { margin:0; font-size:15px; line-height:1.6; color:#616166; }
.sfx-coupons__strip { padding:4px 2px 8px; align-items:stretch; }
.alezcpn-h__msg { margin:8px 0 0; font-size:15px; font-weight:700; line-height:1.6; color:#191a20; }
.sfx-coupons a.sfx-coupons__login { display:inline-block; margin-top:8px; font-size:15px; font-weight:700; line-height:1.6; color:var(--az-brand-text, var(--sfx-pink,#a02ba6)); text-decoration:none; }

/* ═══ 0.9.112 (یاس، 3 مهر): محلهٔ رستوران انتهای ردیف «خانه · وبلاگ · حساب کاربری» ═══
 * فقط نمایش (بی‌لینک). سنجاق رنگ سازمانی، نام پررنگ هم‌رنگ متن سایت، 15px (قاعدهٔ ردیف).
 * چپ‌چین (یاس): لبهٔ چپ همیشه هم‌راستای دکمهٔ «اطلاعات و نظرات»؛ نام بلند به سمت راست بزرگ می‌شود، اگر جا نبود
 * به خط بعد می‌رود و همان‌جا چپ‌چین می‌ماند؛ هرگز از کادر بیرون نمی‌زند.
 * رنگ تنها نشانه نیست: سنجاق + نام. وقتی نام هست، فاصلهٔ ردیف تا لوگو 12px کمتر می‌شود تا روی گوشی 360 یک خط بماند. */
.sfx-crumb.sfx-nav .sfx-area { display:inline-flex; align-items:center; gap:4px; margin-inline-start:auto; max-width:100%; min-width:0; }
.sfx-crumb.sfx-nav .sfx-area__t { min-width:0; text-align:left; overflow-wrap:anywhere; line-height:1.5; }
.sfx-crumb.sfx-nav .sfx-area svg { flex:0 0 18px; fill:var(--sfx-pink, #A02BA6); }
.sfx-crumb.sfx-nav .sfx-area .sfx-area__t { color:var(--sfx-ink, #13141f) !important; font-weight:700; }
@media (max-width:480px){ .sfx-crumb.sfx-nav--area { padding-inline-start:64px; } }
/* 0.9.114 (یاس، 3 مهر: «همه را درست کن با رعایت تمام قوانین طراحی»؛ یافته‌های آزمون شش اندازه — طول و پهنای صفحه پس از بار شدن ثابت):
   1) نوار «خبر رستوران»: جایش با ارتفاع ثابت از اولین نقاشی (قالب، alez_render_cover)؛ نوار روی همان جا می‌نشیند.
      زمینهٔ جای خالی همان زمینهٔ نوار است، پس تا رسیدن نوشته فقط نوار بی‌نوشته دیده می‌شود. نوشته همان 15px (قاعدهٔ 19).
   2) سرتیتر نوارهای افقی (تخفیف‌دارها، کوپن‌ها، پیشنهادها): جای دکمهٔ فلش 36px (قاعدهٔ 6) از اول نگه داشته می‌شود؛
      پنهان بودن فلش وقتی همه جا شوند (پ-3) بی‌تغییر است. */
:root { --sfx-news-h:54px; }
.sfx-news-slot { display:block; height:var(--sfx-news-h); background:var(--sfx-pink); background:color-mix(in srgb, var(--sfx-pink) 92%, #000); }
.sfx-page .alezn.alezn--own { height:var(--sfx-news-h); min-height:0; box-sizing:border-box; }
.sfx-page .sfx-news-slot + .alezn.alezn--own { margin-top:calc(-1 * var(--sfx-news-h)); }
.sfx-strip__head { min-height:36px; }
/* 3) مهر عضویت روی بنر در گوشی باریک (320px) با نام بلند رستوران 1.6px از لبهٔ چپ بیرون می‌زد و 1px اسکرول افقی می‌ساخت (پ-2).
      فقط وقتی ستونش جا ندارد کمی کوچک‌تر می‌شود (همان نسبت، background-size:contain)؛ در 360px و بیشتر همان اندازهٔ تأییدشده. */
.sfx-cover .sfx-stamp { max-width:calc(100% - 24px); }
/* 4) دستهٔ فعال زیرخط ضخیم‌تری دارد (2.67px به‌جای 2px)؛ وقتی visual.js پس از بار شدن «فعال» را جابه‌جا می‌کند، نوار دسته‌ها
      و همهٔ صفحهٔ زیرش 0.67px بالا و پایین می‌رفت. قد هر دو حالت یکی شد؛ شکل زیرخط همان است. */
.sfx-tabs .sfx-tab { min-height:44px; box-sizing:border-box; }
/* 0.9.115 (یاس، 3 مهر) — فلش برداری سربرگ صفحه‌های ساده، به‌جای نویسهٔ «›» (قاعدهٔ 18) */
.sfx-bare__back .sfx-bare__arr { display:inline-block; width:16px; height:16px; vertical-align:-3px; flex:none; }
