/*
Theme Name: HyperFab
Theme URI: https://hyperfab.ir
Author: HyperFab
Description: قالب اختصاصی HyperFab — فروشگاه و پلتفرم ساخت و تولید آنلاین قطعه. راست‌چین، سازگار با ووکامرس.
Version: 16.5
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 7.4
Text Domain: hyperfab
*/

:root{
  --navy:#171d2b; --navy2:#1b2233; --ink:#1f2430; --ink-soft:#5b616e; --muted:#9aa0a8;
  --bg:#f6f6f4; --card:#ffffff; --line:#eceae5; --line-2:#dcdad4;
  --accent:#EE2B47; --accent-tint:#fdeef1; --steel:#2F5C8A; --steel-tint:#eaf0f6;
  --shadow:0 10px 30px rgba(20,23,32,.08); --radius:16px;
  /* Space Grotesk فونتی لاتین است و رقم فارسی ندارد؛ اگر Vazirmatn را
     پیش از فونت‌های پشتیبان نگذاریم، «۰۹۹۶…» با فونت تصادفی سیستم رندر می‌شود. */
  --mono:'Space Grotesk',Vazirmatn,ui-monospace,monospace;
  --sans:'Vazirmatn',system-ui,'Segoe UI',Tahoma,sans-serif;

  /* ===================================================================
     v15.4 — توکن‌های نظام طراحی
     قاعده: از این پس هیچ عدد خامی برای عرض، فاصله، اندازه‌ی فونت، شعاع
     گوشه و سایه در قالب نوشته نمی‌شود؛ همه از همین فهرست می‌آیند.
     مقدارها عمداً روی همان چیزی تنظیم شده‌اند که امروز روی سایت دیده
     می‌شود، پس این نسخه هیچ تغییر ظاهری ایجاد نمی‌کند.
     شرح کامل قواعد: فایل DESIGN-RULES.md در ریشه‌ی قالب.
     =================================================================== */

  /* عرض‌ها — سه عرض، نه بیشتر */
  --hf-w-page:1680px;          /* ظرف اصلی همه‌ی صفحه‌ها */
  --hf-w-read:1040px;          /* ستون متن خواندنی */
  --hf-w-form:760px;           /* فرم و متن باریک */

  /* ارتفاع سربرگ — مرجع همه‌ی محاسبه‌های عمودی */
  --hf-head-h:76px;

  /* ارتفاع کمینه‌ی نوار هیرو (فقط دسکتاپ)
     بدون این عدد، بلندی هیرو را مقدار متن و اندازه‌ی تصویر هر صفحه تعیین
     می‌کند و هیچ دو صفحه‌ای با هم برابر درنمی‌آید. */
  --hf-hero-min:460px;

  /* مقیاس فاصله — هر پدینگ و حاشیه و گپ از اینجا */
  --sp-1:4px;  --sp-2:8px;  --sp-3:12px; --sp-4:16px;
  --sp-5:24px; --sp-6:32px; --sp-7:48px; --sp-8:64px;
  /* چهار پله‌ی میانی در ۱۶٫۳ اضافه شد. با هشت پله، مقادیر واقعی قالب
     گاهی هشت پیکسل جابه‌جا می‌شدند و چیدمان به‌هم می‌ریخت. با دوازده پله،
     بیشترین جابه‌جایی دو پیکسل است. */
  --sp-4b:20px; --sp-6b:40px; --sp-7b:56px; --sp-9:80px;

  /* مقیاس تیتر و متن — ده پله
     دو پله در ۱۶٫۲ اضافه شد: fs-0 برای ریزنویس‌هایی که واقعاً باید
     کوچک‌تر از متن پایه باشند (برچسب نوار موبایل، شمارنده)، و fs-9 برای
     تیترهای بزرگی که از fs-7 بزرگ‌ترند ولی تیتر صفحه نیستند. بدون این دو،
     مهاجرت مجبور می‌شد مقادیر واقعی را بیش از دو پیکسل جابه‌جا کند. */
  --fs-0:11px;
  --fs-1:12px;                 /* برچسب، شمارنده، ریزنویس */
  --fs-2:13px;                 /* متن کمکی */
  --fs-3:14px;                 /* متن پایه‌ی رابط */
  --fs-4:15.5px;               /* متن خواندنی و لید */
  --fs-5:17px;                 /* تیتر کارت */
  --fs-6:20px;                 /* تیتر بخش کوچک */
  --fs-7:24px;                 /* تیتر بخش */
  --fs-8:clamp(25px,3.1vw,40px); /* تیتر صفحه و هیرو */
  --fs-9:30px;                 /* تیتر بزرگ غیر از تیتر صفحه */

  /* شعاع گوشه — سه اندازه‌ی اصلی، دو لبه‌ای، و یک کاملاً گرد
     xs و xl در ۱۶٫۲ اضافه شدند چون بدون آنها برچسب‌های ریز و پنل‌های
     بزرگ بیش از دو پیکسل جابه‌جا می‌شدند. */
  --r-xs:6px;  --r-s:10px;  --r-m:12px;  --r-l:16px;  --r-xl:20px;  --r-pill:100px;

  /* ارتفاع (سایه) — سه سطح و یک حلقه‌ی تمرکز */
  --sh-1:0 6px 18px rgba(20,23,32,.04);    /* کارت آرام */
  --sh-2:0 10px 30px rgba(20,23,32,.08);   /* کارت برجسته و هاور */
  --sh-3:0 24px 60px rgba(20,23,32,.22);   /* شناور: مودال، منوی بازشو */

  /* همان سه سطح، برای زمینه‌ی تیره. سایه‌ی زمینه‌ی روشن روی سرمه‌ای اصلاً
     دیده نمی‌شود، پس یک مجموعه کافی نبود. */
  --sh-1d:0 6px 18px rgba(0,0,0,.28);
  --sh-2d:0 12px 28px rgba(0,0,0,.34);
  --sh-3d:0 24px 60px rgba(0,0,0,.42);

  --sh-focus:0 0 0 3px var(--accent-tint); /* حلقه‌ی تمرکز کیبورد */
}

/* سربرگ روی تبلت و گوشی کوتاه‌تر است؛ هر چیزی که به ارتفاع سربرگ
   وابسته باشد خودبه‌خود با همین یک عدد تنظیم می‌شود. */
@media(max-width:960px){
  :root{ --hf-head-h:62px; }
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--sans);background:var(--bg);color:var(--ink);line-height:1.7;font-size:var(--fs-4)}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,h4,h5{margin:0;line-height:1.25;font-weight:700}
.wrap{max-width:var(--hf-w-page);margin:0 auto;padding:0 var(--sp-5)} /* R-02 */
.kicker{font-family:var(--mono);font-size:var(--fs-1);letter-spacing:.14em;color:var(--accent);font-weight:700;text-transform:uppercase;direction:ltr;text-align:right;margin-bottom:var(--sp-2)}
.btn-red{background:var(--accent);color:var(--card);border:none;border-radius:var(--r-m);padding:var(--sp-3) var(--sp-5);font-family:inherit;font-weight:700;font-size:var(--fs-4);cursor:pointer;display:inline-flex;align-items:center;gap:var(--sp-2);transition:.15s}
.btn-red:hover{filter:brightness(1.07);color:var(--card)}
.btn-ghost{background:transparent;color:var(--card);border:1.5px solid rgba(255,255,255,.28);border-radius:var(--r-m);padding:var(--sp-3) var(--sp-4b);font-family:inherit;font-weight:600;font-size:var(--fs-4);cursor:pointer;transition:.15s}
.btn-ghost:hover{background:rgba(255,255,255,.08);color:var(--card)}
.btn-dark{background:var(--ink);color:var(--card);border:none;border-radius:var(--r-m);padding:var(--sp-3) var(--sp-4b);font-family:inherit;font-weight:600;font-size:var(--fs-3);cursor:pointer;transition:.15s}
.btn-dark:hover{background:var(--accent);color:var(--card)}

/* ---------- header ---------- */
.site-header{position:sticky;top:0;z-index:100;background:rgba(23,29,43,.92);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.07)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:var(--hf-head-h);gap:var(--sp-4b)} /* R-03 */
.brand{display:flex;align-items:center;gap:var(--sp-3)}
.brand .mk{width:44px;flex:none;display:flex}
.brand .mk svg{width:44px;height:auto;display:block}
.wordmark{font-family:var(--mono);font-weight:500;font-size:var(--fs-7);color:var(--card);line-height:1;display:inline-flex;align-items:center;letter-spacing:-.01em}
.wordmark .fab{color:var(--accent);font-weight:700}
.main-nav{display:flex;align-items:center;gap:var(--sp-2);flex:1;justify-content:center}
.main-nav ul{list-style:none;display:flex;gap:var(--sp-1);margin:0;padding:0;flex-wrap:wrap}
.main-nav a{color:#c9cfda;font-size:var(--fs-3);font-weight:500;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-s);transition:.15s}
.main-nav a:hover,.main-nav .current-menu-item>a{color:var(--card);background:rgba(255,255,255,.08)}
.head-actions{display:flex;align-items:center;gap:var(--sp-3)}
.icon-btn{position:relative;width:40px;height:40px;border-radius:var(--r-s);border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);display:grid;place-items:center;color:var(--card);cursor:pointer}
.icon-btn:hover{background:rgba(255,255,255,.1)}
.icon-btn .dot{position:absolute;top:-6px;left:-6px;background:var(--accent);color:var(--card);font-size:var(--fs-0);font-weight:700;min-width:18px;height:18px;border-radius:var(--r-s);display:grid;place-items:center;font-family:var(--mono)}
.order-btn{background:var(--accent);color:var(--card);border:none;border-radius:var(--r-s);padding:var(--sp-3) var(--sp-4);font-family:inherit;font-weight:600;font-size:var(--fs-3);cursor:pointer;display:inline-flex;align-items:center;gap:var(--sp-2)}
.order-btn:hover{filter:brightness(1.07);color:var(--card)}

/* ---------- hero ---------- */
.hero{background:radial-gradient(120% 140% at 80% 0%,#232a3d 0%,var(--navy2) 45%,var(--navy) 100%);color:var(--card);position:relative;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:.86fr 1.14fr;gap:var(--sp-6b);align-items:center;padding:70px var(--sp-5) var(--sp-9)}
.hero-card .eyebrow2{color:#8f97a8;font-size:var(--fs-2);margin-bottom:var(--sp-4)}
.hero-card h1{font-size:clamp(30px,4.4vw,50px);font-weight:700;letter-spacing:-.02em;line-height:1.12}
.hero-lead{color:var(--card);font-weight:600;font-size:var(--fs-5);margin:var(--sp-4) 0 0}
.hero-card p{color:#a7afbe;margin-top:var(--sp-3);font-size:var(--fs-3);line-height:1.9}
.hero-card p b{color:var(--card)}
.taglist{margin-top:var(--sp-3);font-size:var(--fs-2);color:#9aa2b2;line-height:2}
.taglist .tl-h{color:#c9d0dc;font-weight:600;margin-inline-end:4px}
.taglist a{color:#ff7183;font-weight:500}
.taglist a:hover{text-decoration:underline;color:#ff7183}
.taglist .tl-soon{color:#818aa0}
.hero-btns{display:flex;gap:var(--sp-3);margin-top:var(--sp-5);flex-wrap:wrap}
.hero-illo{display:flex;justify-content:center;align-items:center}
.hero-illo svg{width:100%;max-width:440px;height:auto}

/* ---------- sections ---------- */
.block{padding:var(--sp-8) 0}
.sec-head{margin-bottom:var(--sp-6)}
.sec-head h2{font-size:clamp(23px,2.8vw,32px);font-weight:700;letter-spacing:-.01em}
.sec-head p{color:var(--muted);margin-top:var(--sp-2);max-width:60ch;font-size:var(--fs-3)}
.section-alt{background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}

/* process cards */
.proc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-4b)}
.proc-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:var(--sp-5) var(--sp-4b);text-align:center;position:relative}
/* داخل بلوک یکپارچه، کارت‌ها کمی طوسی تا برجسته دیده شوند (مثل فروشگاه) */
.shop-block .proc-card{background:var(--bg)}
.proc-illo{height:220px;display:grid;place-items:center;text-decoration:none;cursor:pointer}
a.proc-illo img{transition:transform .22s,filter .22s}
a.proc-illo:hover img{transform:scale(1.06);filter:drop-shadow(0 12px 24px rgba(23,29,43,.26))}
.proc-illo svg{width:180px;height:auto}
.proc-illo img{width:200px;height:200px;border-radius:50%;display:block;object-fit:cover;
	filter:drop-shadow(0 8px 18px rgba(23,29,43,.18))}
/* v14.4 — تصویر و متن کارت به هم نزدیک شدند.
   ارتفاع ثابت ۱۸۰ پیکسل برای تصویرِ ۱۶۰ پیکسلی یعنی ۲۰ پیکسل فضای خالی
   بین دایره و عنوان، به‌علاوه‌ی min-height پاراگراف که کارت را کش می‌داد.
   حالا ارتفاع از خود تصویر می‌آید و متن بلافاصله زیرش می‌نشیند. */
@media(max-width:600px){
	.proc-illo{height:auto;margin-bottom:var(--sp-2)}
	.proc-illo img{width:112px;height:112px}
	.proc-card{padding:var(--sp-4) var(--sp-3)}
	.proc-card h4{font-size:var(--fs-3);margin:0 0 var(--sp-1);line-height:1.6}
	.proc-card p{font-size:var(--fs-1);line-height:1.7;min-height:0}
	.proc-grid{gap:var(--sp-3)}
}
@media(max-width:380px){
	.proc-illo img{width:92px;height:92px}
	.proc-card h4{font-size:var(--fs-2)}
	.proc-card p{font-size:var(--fs-0)}
}
.proc-card h4{font-size:var(--fs-4);margin:var(--sp-1) 0 var(--sp-2)}
.proc-card p{font-size:var(--fs-2);color:var(--ink-soft);line-height:1.75;min-height:66px}
.proc-more{display:inline-block;margin-top:var(--sp-3);font-size:var(--fs-2);font-weight:600;color:var(--ink);border:1px solid var(--line-2);border-radius:var(--r-s);padding:var(--sp-2) var(--sp-4);transition:.15s}
.proc-more:hover{background:var(--ink);color:var(--card);border-color:var(--ink)}
.proc-more.disabled{opacity:.45;pointer-events:none}
.soon-badge{position:absolute;top:14px;left:14px;font-family:var(--mono);font-size:var(--fs-0);font-weight:700;background:#EEF0F3;color:var(--muted);padding:var(--sp-1) var(--sp-2);border-radius:var(--r-xs);direction:ltr}

/* shop banner */
.shopbanner{background:linear-gradient(120deg,#232a3d,var(--navy));color:var(--card);border-radius:var(--r-xl);padding:var(--sp-6) var(--sp-6);display:flex;align-items:center;justify-content:space-between;gap:var(--sp-5);flex-wrap:wrap;box-shadow:var(--shadow)}
.shopbanner h3{font-size:var(--fs-7)}
.shopbanner p{color:#a7afbe;margin-top:var(--sp-2);font-size:var(--fs-3);max-width:54ch}

/* about */
.about p{font-size:var(--fs-4);color:var(--ink-soft);line-height:2.15;max-width:82ch}
.about a{color:var(--accent);font-weight:600}

/* ---------- footer ---------- */
.site-footer{background:var(--navy);color:#c9cfd8;padding:var(--sp-7b) 0 var(--sp-5);margin-top:var(--sp-4b)}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:var(--sp-6)}
.site-footer .wordmark{font-size:var(--fs-6)}
.foot-tag{color:#8b93a1;font-size:var(--fs-2);margin-top:var(--sp-3);line-height:1.9;max-width:34ch}
.foot-grid h5{color:var(--card);font-size:var(--fs-3);margin-bottom:var(--sp-4)}
.foot-grid ul{list-style:none;margin:0;padding:0}
.foot-grid li{margin-bottom:var(--sp-2)}
.foot-grid a,.foot-grid li{color:#9DA2A9;font-size:var(--fs-2)}
.foot-grid a:hover{color:var(--card)}
.foot-social{display:flex;gap:var(--sp-3);margin-top:var(--sp-4)}
.foot-social a{width:38px;height:38px;border-radius:var(--r-s);background:#222a3a;border:1px solid #2d3648;display:grid;place-items:center;transition:.15s}
.foot-social a:hover{background:#2d3648}
.foot-bottom{border-top:1px solid #2a3141;margin-top:var(--sp-6);padding-top:var(--sp-4b);display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--sp-3);color:#7d838b;font-size:var(--fs-1)}
.foot-bottom .mono{font-family:var(--mono);direction:ltr}

/* ---------- WooCommerce styling to match brand ---------- */
.woocommerce-page .wrap, .woocommerce .wrap{}
.page-shell{padding:var(--sp-6b) 0 var(--sp-8)}
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;text-align:right;padding:0!important;margin-bottom:var(--sp-5)!important}
.woocommerce ul.products li.product a img{margin:0;border-radius:0}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:var(--fs-4);font-weight:700;padding:var(--sp-3) var(--sp-4) var(--sp-1);color:var(--ink)}
.woocommerce ul.products li.product .price{color:var(--ink)!important;font-weight:800;padding:0 var(--sp-4)}
.woocommerce ul.products li.product .price .amount{color:var(--ink)}
.woocommerce ul.products li.product .button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit{background:var(--accent)!important;color:var(--card)!important;border-radius:10px!important;font-family:inherit!important;font-weight:600!important;margin:var(--sp-3) var(--sp-4) var(--sp-4)!important;padding:var(--sp-3) var(--sp-4)!important}
.woocommerce a.button:hover,.woocommerce button.button:hover{filter:brightness(1.07)}
.woocommerce span.onsale{background:var(--accent);border-radius:var(--r-pill)}
.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering{color:var(--muted)}
.woocommerce .star-rating span{color:var(--accent)}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--ink);font-weight:800}
.woocommerce #respond input#submit.alt,.woocommerce a.button.alt,.woocommerce button.button.alt{background:var(--accent)!important}
.woocommerce-message,.woocommerce-info{border-top-color:var(--accent)!important}
.woocommerce-message::before,.woocommerce-info::before{color:var(--accent)!important}

/* page content basic */
.entry-content h2{margin:var(--sp-5) 0 var(--sp-3);font-size:var(--fs-6)}
.entry-content h1{margin:0 0 var(--sp-4);font-size:var(--fs-9)}
.entry-content ul,.entry-content ol{padding-inline-start:22px;line-height:2}
.entry-content p{margin:0 0 var(--sp-4)}
.page-title{font-size:var(--fs-9);font-weight:700;margin-bottom:var(--sp-5)}

@media(max-width:960px){
  .hero .wrap{grid-template-columns:1fr;gap:var(--sp-5);padding:var(--sp-7) var(--sp-5) var(--sp-7b)}
  .hero-illo{order:-1}
  .proc-grid{grid-template-columns:1fr 1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
  .main-nav{display:none}
}
@media(max-width:560px){
  /* v14.4 — کارت‌ها دو ستونه می‌مانند.
     تک‌ستونه شدن یعنی برای دیدن شش خدمت باید شش صفحه اسکرول کرد و
     تصویر و متنِ هر کارت هم از هم دور می‌افتادند. */
  .proc-grid{grid-template-columns:1fr 1fr;gap:var(--sp-3)}
  .foot-grid{grid-template-columns:1fr}
  .shopbanner{flex-direction:column;text-align:center;align-items:stretch}
}

/* ============ HyperFab shop cards, filters, single product ============ */
.woocommerce .hf-filters,.hf-filters{display:flex;flex-wrap:wrap;gap:var(--sp-5);align-items:center;margin:0 0 var(--sp-5);padding:var(--sp-4) var(--sp-4b);background:var(--card);border:1px solid var(--line);border-radius:var(--r-m)}
.hf-fgroup{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}
.hf-flabel{font-size:var(--fs-2);font-weight:700;color:var(--ink-soft)}
.hf-chips{display:flex;gap:var(--sp-2);flex-wrap:wrap}
.hf-chip{border:1px solid var(--line-2);background:var(--card);border-radius:var(--r-pill);padding:var(--sp-2) var(--sp-4);font-family:inherit;font-size:var(--fs-2);font-weight:600;color:var(--ink-soft);cursor:pointer;transition:.15s}
.hf-chip:hover{border-color:var(--ink)}
.hf-chip.on{background:var(--ink);color:var(--card);border-color:var(--ink)}

/* product cards (override default WooCommerce list items) */
.woocommerce ul.products,.woocommerce-page ul.products{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--sp-4b);margin:0!important}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none!important}
.woocommerce ul.products li.product.hf-card,.woocommerce-page ul.products li.product.hf-card{width:auto!important;margin:0!important;padding:0!important;float:none!important;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:transform .16s,box-shadow .16s}
.woocommerce ul.products li.product.hf-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.hf-card .hf-card-link{display:block;color:inherit}
.hf-thumb{position:relative;aspect-ratio:1/1;overflow:hidden;background:#f3f4f2}
.hf-thumb img{width:100%;height:100%;object-fit:cover;display:block;margin:0!important;transition:transform .35s}
.hf-card:hover .hf-thumb img{transform:scale(1.05)}
.hf-lvl{position:absolute;top:10px;right:10px;z-index:2;font-size:var(--fs-0);font-weight:700;padding:var(--sp-1) var(--sp-3);border-radius:var(--r-pill)}
.hf-ctag{position:absolute;top:10px;left:10px;z-index:2;font-size:var(--fs-0);font-weight:700;padding:var(--sp-1) var(--sp-2);border-radius:var(--r-pill);background:var(--card);color:var(--ink-soft);border:1px solid var(--line)}
.hf-body{padding:var(--sp-3) var(--sp-4) var(--sp-4)}
.hf-cat{font-family:var(--mono);font-size:var(--fs-0);color:var(--muted);direction:ltr;text-align:right;letter-spacing:.04em}
.hf-title{font-size:var(--fs-4);font-weight:700;margin:var(--sp-1) 0 var(--sp-3);color:var(--ink);line-height:1.5}
.hf-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2)}
.hf-price{font-weight:800;font-size:var(--fs-4);color:var(--ink)}
.hf-price .amount{color:var(--ink)!important}
.hf-price del{color:var(--muted);font-weight:500;font-size:var(--fs-1)}
.hf-view{background:var(--ink);color:var(--card);border-radius:var(--r-s);padding:var(--sp-2) var(--sp-4);font-size:var(--fs-1);font-weight:600;transition:.15s}
.hf-card:hover .hf-view{background:var(--accent)}

/* single product: spec chips + gallery polish */
.hf-specs{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin:var(--sp-1) 0 var(--sp-4b)}
.hf-spec{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-s);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-2);font-weight:600}
.hf-spec b{color:var(--accent)}
.woocommerce div.product{margin-top:var(--sp-3)}
.woocommerce div.product div.images img{border-radius:var(--r-m)}
.woocommerce div.product .product_title{font-size:var(--fs-7);font-weight:700}
.woocommerce-page div.product,.single-product .page-shell{padding-top:var(--sp-6)}
.single-product .site-content,.woocommerce-shop .site-content{padding:var(--sp-6b) 0 var(--sp-8)}

@media(max-width:960px){.woocommerce ul.products,.woocommerce-page ul.products{gap:var(--sp-4)}}

/* ---- single product refinements ---- */
.woocommerce div.product .hf-specs,.hf-specs{display:flex!important;flex-wrap:wrap;gap:var(--sp-2);margin:var(--sp-2) 0 var(--sp-4)}
.woocommerce div.product .hf-specs .hf-spec,.hf-specs .hf-spec{margin:0 0 var(--sp-1) var(--sp-1);white-space:nowrap;display:inline-block}
.hf-variations{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-m);padding:var(--sp-3) var(--sp-4);font-size:var(--fs-2);color:var(--ink-soft);line-height:1.9;margin:0 0 var(--sp-4b)}
.hf-variations b{color:var(--ink)}
/* smaller, calmer product images */
.hf-thumb{aspect-ratio:4/3}
.woocommerce div.product div.images{max-width:44%;margin-inline-end:4%}
.woocommerce div.product div.summary{margin-bottom:0}
@media(max-width:768px){.woocommerce div.product div.images{max-width:100%;margin:0 0 var(--sp-4b)}}

/* ===== hardened single-product spec chips (v0.4) ===== */
.woocommerce div.product .summary .hf-specs,
.woocommerce div.product .hf-specs,
.hf-specs{
  display:flex !important; flex-wrap:wrap !important;
  gap:var(--sp-3) !important; margin:var(--sp-3) 0 var(--sp-4) !important; padding:0 !important; list-style:none !important;
}
.woocommerce div.product .summary .hf-specs .hf-spec,
.woocommerce div.product .hf-specs .hf-spec,
.hf-specs .hf-spec{
  display:inline-flex !important; align-items:center;
  background:#f4f5f3 !important; border:1px solid var(--line) !important; border-radius:var(--r-s) !important;
  padding:var(--sp-2) var(--sp-3) !important; margin:0 !important;
  font-size:var(--fs-2) !important; font-weight:600 !important; color:var(--ink) !important;
  white-space:nowrap; line-height:1.4 !important;
}
.hf-specs .hf-spec b{ margin-inline-start:5px; font-weight:800; }
.hf-variations{
  background:var(--bg); border:1px solid var(--line); border-radius:var(--r-m);
  padding:var(--sp-3) var(--sp-4); font-size:var(--fs-2); color:var(--ink-soft); line-height:1.9; margin:0 0 var(--sp-4b);
}
.hf-variations b{ color:var(--ink); }

/* ===== homepage carousels + shop-head + mobile fixes (v0.5) ===== */
html,body{overflow-x:hidden;max-width:100%}
*{min-width:0}

.shop-head{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--sp-4);flex-wrap:wrap;margin-bottom:var(--sp-5)}
.shop-head .kicker{margin-bottom:var(--sp-2)}
.btn-shop{background:var(--ink);color:var(--card);border:none;border-radius:var(--r-s);padding:var(--sp-3) var(--sp-4b);font-family:inherit;font-weight:600;font-size:var(--fs-3);white-space:nowrap;transition:.15s}
.btn-shop:hover{background:var(--accent);color:var(--card)}

.hf-carousel-wrap{position:relative}
.hf-carousel{overflow-x:auto;scroll-behavior:smooth;direction:ltr;scrollbar-width:none;-ms-overflow-style:none}
.hf-carousel::-webkit-scrollbar{display:none}
.hf-track{display:flex;gap:var(--sp-4);padding:var(--sp-1) var(--sp-1) var(--sp-3)}
.hf-ccard{flex:0 0 236px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:transform .16s,box-shadow .16s;color:inherit;display:block;direction:rtl}
.hf-ccard:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.hf-arrow{position:absolute;top:36%;z-index:5;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--ink);display:grid;place-items:center;cursor:pointer;box-shadow:var(--shadow);transition:.15s}
.hf-arrow:hover{background:var(--ink);color:var(--card)}
.hf-prev{left:-10px}
.hf-next{right:-10px}

/* shop grid: تبلت‌ها با auto-fill می‌چینند؛ موبایل دقیقاً ۲ ستون (استاندارد) */
@media(max-width:640px){.woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(2,1fr)!important;gap:var(--sp-4)}}
@media(max-width:520px){.woocommerce ul.products,.woocommerce-page ul.products{gap:var(--sp-3)}.hf-title{font-size:var(--fs-2)}.hf-price{font-size:var(--fs-2)}.hf-view{padding:var(--sp-2) var(--sp-3);font-size:var(--fs-0)}}

/* mobile header + hero + carousel sizing */
@media(max-width:600px){
	.site-header .wrap{gap:var(--sp-2)} /* R-38: ارتفاع از توکن می‌آید */
	.brand .mk,.brand .mk svg{width:36px}
	.wordmark{font-size:var(--fs-6)}
	.order-btn{padding:var(--sp-2) var(--sp-3);font-size:var(--fs-1);gap:var(--sp-1)}
	.order-btn svg{display:none}
	.icon-btn{width:36px;height:36px}
	.head-actions{gap:var(--sp-2)}
	.hero .wrap{padding:var(--sp-6) var(--sp-4b) var(--sp-6b)}
	.hero-card h1{font-size:27px}
	.hero-btns .btn-red,.hero-btns .btn-ghost{padding:var(--sp-3) var(--sp-4);font-size:var(--fs-3)}
	.block{padding:var(--sp-6b) 0}
	.sec-head h2,.shop-head h2{font-size:var(--fs-6)}
	.shopbanner{padding:var(--sp-5) var(--sp-4b)}
	.shopbanner h3{font-size:var(--fs-6)}
	.hf-ccard{flex-basis:62%}
	.hf-arrow{width:38px;height:38px;top:32%}
	.foot-grid{gap:var(--sp-5)}
}
@media(max-width:380px){.hf-ccard{flex-basis:75%}}

/* ===== auth links in header (v0.6) ===== */
.auth-link{color:#c9cfda;font-size:var(--fs-2);font-weight:600;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-s);white-space:nowrap;transition:.15s}
.auth-link:hover{color:var(--card);background:rgba(255,255,255,.08)}
.auth-btn{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);color:var(--card);font-size:var(--fs-2);font-weight:600;padding:var(--sp-2) var(--sp-4);border-radius:var(--r-s);white-space:nowrap;transition:.15s}
.auth-btn:hover{background:var(--accent);border-color:var(--accent);color:var(--card)}
@media(max-width:600px){
	.auth-link{padding:var(--sp-2) var(--sp-2);font-size:var(--fs-1)}
	.auth-btn{padding:var(--sp-2) var(--sp-3);font-size:var(--fs-1)}
}

/* ===== Ultimate Member login/register pages, branded ===== */
.um{max-width:520px!important;margin:var(--sp-6) auto var(--sp-8)!important;background:var(--card);border:1px solid var(--line);border-radius:var(--r-l);padding:var(--sp-6) var(--sp-5);box-shadow:var(--shadow);direction:rtl}
.um .um-form input[type=text],.um .um-form input[type=email],.um .um-form input[type=password],.um .um-form input[type=tel],.um .um-form input[type=number],.um .um-form select,.um .um-form textarea{
	border:1.5px solid var(--line)!important;border-radius:11px!important;padding:var(--sp-3) var(--sp-3)!important;font-family:inherit!important;font-size:var(--fs-3)!important;background:var(--card)!important;color:var(--ink)!important;box-shadow:none!important;
}
.um .um-form input:focus{border-color:var(--accent)!important;outline:none!important}
.um .um-form input[type=submit],.um .um-form .um-button,.um a.um-button{
	background:var(--accent)!important;border:none!important;border-radius:12px!important;font-family:inherit!important;font-weight:700!important;font-size:var(--fs-4)!important;padding:var(--sp-3) var(--sp-4b)!important;color:var(--card)!important;box-shadow:none!important;
}
.um .um-form input[type=submit]:hover,.um .um-form .um-button:hover{filter:brightness(1.07)}
.um .um-field-label label,.um .um-field-label{font-weight:600!important;color:var(--ink)!important;font-size:var(--fs-2)!important}
.um .um-field{margin-bottom:var(--sp-4)!important}
.um-form .um-field-error,.um .um-notice.err{border-radius:10px!important;font-size:var(--fs-2)!important}
.um-page-login .um,.um-page-register .um{margin-top:var(--sp-6b)!important}
.hf-auth-head{text-align:center;margin-bottom:var(--sp-5)}
.hf-auth-head .wordmark{color:var(--ink);font-size:var(--fs-7);justify-content:center}
.hf-auth-head .wordmark .hy{color:var(--ink)}
.hf-auth-head h2{font-size:var(--fs-6);font-weight:700;margin-top:var(--sp-3);color:var(--ink)}
.hf-auth-terms{margin:var(--sp-4b) auto 0;max-width:520px;text-align:center;color:var(--muted);font-size:var(--fs-1);line-height:1.9}

/* ===== v0.7: mobile gutters + single-row header + burger menu ===== */
/* keep page from overflowing WITHOUT killing side padding */
html,body{overflow-x:clip}
.wrap{padding-left:var(--sp-5);padding-right:var(--sp-5)}
@media(max-width:600px){
	.wrap{padding-left:var(--sp-4);padding-right:var(--sp-4)}
	.hero .wrap{padding-left:var(--sp-4);padding-right:var(--sp-4)}
}

/* burger button (hidden on desktop) */
.hf-burger{display:none;width:40px;height:40px;border-radius:var(--r-s);border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);cursor:pointer;padding:0;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-1);flex:none}
.hf-burger span{display:block;width:18px;height:2px;background:var(--card);border-radius:2px;transition:.2s}
.hf-burger.on span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.hf-burger.on span:nth-child(2){opacity:0}
.hf-burger.on span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

@media(max-width:960px){
	.site-header .wrap{flex-wrap:nowrap} /* R-38: ارتفاع از توکن می‌آید */
	.hf-burger{display:flex}
	.main-nav{display:none;position:absolute;top:var(--hf-head-h);right:0;left:0;background:var(--navy);border-bottom:1px solid rgba(255,255,255,.08);padding:var(--sp-2) var(--sp-4) var(--sp-4);box-shadow:var(--sh-3)}
	.main-nav.open{display:block}
	.main-nav ul{flex-direction:column;gap:var(--sp-1);width:100%}
	.main-nav li{width:100%}
	.main-nav a{display:block;width:100%;padding:var(--sp-3) var(--sp-3);font-size:var(--fs-3);border-radius:var(--r-s)}
	/* v14.4 — هدر روی موبایل با صفحه بالا می‌رود.
	   v14.8 — `static` بود و منوی کشویی را شکست: منو `position:absolute`
	   است و به نزدیک‌ترین نیای *موقعیت‌دار* تکیه می‌کند. با static، هدر
	   دیگر نیای موقعیت‌دار نبود و منو جای دیگری می‌رفت.
	   `relative` هم چسبان نیست و هم نیای موقعیت‌دار می‌ماند. */
	.site-header{position:relative}
	.head-actions{margin-inline-start:auto}
}
@media(max-width:600px){
	.main-nav{top:62px}
	.brand .mk,.brand .mk svg{width:32px}
	.wordmark{font-size:var(--fs-5)}
	.order-btn{padding:var(--sp-2) var(--sp-3);font-size:var(--fs-1)}
	.icon-btn{width:34px;height:34px}
	.auth-link{padding:var(--sp-1) var(--sp-2);font-size:var(--fs-1)}
	.auth-btn{padding:var(--sp-2) var(--sp-2);font-size:var(--fs-1)}
	.head-actions{gap:var(--sp-1)}
	.hf-burger{width:34px;height:34px}
}
/* very narrow: hide the text "ورود" to keep one row */
@media(max-width:400px){
	.order-btn{display:none}
}

/* ===== v0.8: WooCommerce page gutters on mobile ===== */
/* WooCommerce archive/single are wrapped in .wrap.page-shell — ensure padding survives */
.woocommerce .wrap.page-shell,
.woocommerce-page .wrap.page-shell,
.wrap.page-shell{
	padding-left:var(--sp-5) !important;
	padding-right:var(--sp-5) !important;
	max-width:1180px;
	margin-left:auto;
	margin-right:auto;
	box-sizing:border-box;
}
/* WooCommerce sometimes forces full-bleed containers */
.woocommerce .woocommerce-products-header,
.woocommerce .woocommerce-notices-wrapper,
.woocommerce-page .woocommerce-notices-wrapper{padding-left:0;padding-right:0}

/* grid + filters must never exceed their container */
.woocommerce ul.products,
.woocommerce-page ul.products,
.hf-filters{max-width:100%;box-sizing:border-box}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{max-width:100%;box-sizing:border-box}
.hf-thumb img{max-width:100%}

/* single product images shouldn't overflow */
.woocommerce div.product div.images,
.woocommerce div.product div.summary{box-sizing:border-box;max-width:100%}

@media(max-width:600px){
	.woocommerce .wrap.page-shell,
	.woocommerce-page .wrap.page-shell,
	.wrap.page-shell{padding-left:var(--sp-4) !important;padding-right:var(--sp-4) !important}
	.hf-filters{padding:var(--sp-4) var(--sp-4);gap:var(--sp-4)}
	.woocommerce ul.products,.woocommerce-page ul.products{gap:var(--sp-3)}
}

/* ===== v0.9: keep desktop header on ONE row ===== */
.site-header .wrap{
	flex-wrap:nowrap !important;      /* never wrap to a second row */
	gap:var(--sp-4);
	height:var(--hf-head-h); /* R-03 */
}
.brand{flex:0 0 auto;white-space:nowrap}

/* nav takes remaining space, never pushes actions down */
.main-nav{
	flex:1 1 auto;
	min-width:0;                       /* allow shrinking */
	overflow:hidden;
	justify-content:center;
}
.main-nav ul{
	flex-wrap:nowrap !important;       /* single line of links */
	justify-content:center;
	gap:var(--sp-1);
}
.main-nav li{flex:0 0 auto}
.main-nav a{white-space:nowrap;padding:var(--sp-2) var(--sp-2);font-size:var(--fs-2)}

/* actions stay put */
.head-actions{flex:0 0 auto;white-space:nowrap;gap:var(--sp-2)}
.order-btn{white-space:nowrap}

/* tighten things as the viewport narrows, before the burger kicks in */
@media(max-width:1240px){
	.main-nav a{padding:var(--sp-2) var(--sp-2);font-size:var(--fs-2)}
	.head-actions{gap:var(--sp-2)}
	.order-btn{padding:var(--sp-2) var(--sp-3);font-size:var(--fs-2)}
	.auth-link{padding:var(--sp-2) var(--sp-2);font-size:var(--fs-2)}
	.auth-btn{padding:var(--sp-2) var(--sp-3);font-size:var(--fs-2)}
}
@media(max-width:1100px){
	.wordmark{font-size:var(--fs-6)}
	.brand .mk,.brand .mk svg{width:38px}
	.main-nav a{padding:var(--sp-2) var(--sp-2);font-size:var(--fs-1)}
	.order-btn svg{display:none}
	.order-btn{padding:var(--sp-2) var(--sp-3)}
}

/* ===== v1.0: wider container + single person icon ===== */
/* Use most of the screen on laptops/desktops, small side gutters only */
.wrap{
	max-width:var(--hf-w-page) !important; /* R-02 */
	width:100%;
	padding-left:var(--sp-6) !important;
	padding-right:var(--sp-6) !important;
}
.woocommerce .wrap.page-shell,
.woocommerce-page .wrap.page-shell,
.wrap.page-shell{max-width:var(--hf-w-page) !important;padding-left:var(--sp-6) !important;padding-right:var(--sp-6) !important} /* R-02 */

@media(max-width:1400px){.wrap,.wrap.page-shell{padding-left:var(--sp-5) !important;padding-right:var(--sp-5) !important}}
@media(max-width:600px){
	.wrap,.wrap.page-shell,
	.woocommerce .wrap.page-shell,.woocommerce-page .wrap.page-shell{padding-left:var(--sp-4) !important;padding-right:var(--sp-4) !important}
}

/* more shop columns now that we have width */
@media(min-width:1500px){
	.woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(5,1fr)!important}
}

/* header actions order: سفارش ساخت | سبد | آدمک  */
.head-actions{display:flex;align-items:center;gap:var(--sp-2)}

/* ===== v1.1: کادرِ شیشه‌ای هیرو + کادرِ متن‌های بخش‌ها ===== */

/* پنل شیشه‌ای متن هیرو (مثل نمونه‌ی مرجع) */
.hero-card{
	background:rgba(255,255,255,.045);
	border:1px solid rgba(255,255,255,.09);
	border-radius:var(--r-xl);
	padding:var(--sp-6b) var(--sp-6b) var(--sp-6);
	box-shadow:var(--sh-3);
	backdrop-filter:blur(6px);
	-webkit-backdrop-filter:blur(6px);
}
.hero .wrap{align-items:center;gap:var(--sp-7)}
.hero-card .hero-btns{margin-top:var(--sp-5)}

/* پنل عمومی متن‌ها روی بخش‌های روشن */
.hf-panel{
	background:var(--card);
	border:1px solid var(--line);
	border-radius:var(--r-l);
	padding:var(--sp-5) var(--sp-5);
	box-shadow:var(--sh-2d);
}
/* روی بخش‌های سفید، پنل کمی تیره‌تر تا دیده شود */
.section-alt .hf-panel{background:var(--bg)}

/* تنظیم فاصله‌ها بعد از کادردار شدن */
.sec-head.hf-panel{margin-bottom:var(--sp-5)}
.sec-head.hf-panel p{margin-bottom:0}
.shop-head.hf-panel{margin-bottom:var(--sp-5)}
.about-panel .sec-head{margin-bottom:var(--sp-4)}
.about-panel p{margin:0}
.about-panel .about p,.about .about-panel p{max-width:none}

@media(max-width:960px){
	.hero .wrap{gap:var(--sp-5)}
	.hero-card{padding:var(--sp-6) var(--sp-5) var(--sp-5);border-radius:var(--r-xl)}
}
@media(max-width:600px){
	.hero-card{padding:var(--sp-5) var(--sp-4b) var(--sp-5);border-radius:var(--r-l)}
	.hf-panel{padding:var(--sp-4b) var(--sp-4);border-radius:var(--r-l)}
}

/* ===== v1.2: بخش «درباره‌ی ما» — ستون مرکزی با نسبت طلایی ===== */
.about-panel{
	max-width:1120px;            /* عرض کادر */
	margin:0 auto;
	padding:var(--sp-7) var(--sp-6b) var(--sp-6b);
	text-align:center;
}
.about-panel .sec-head{margin-bottom:var(--sp-4b);text-align:center}
.about-panel .kicker{text-align:center;direction:ltr}
.about-panel h2{font-size:clamp(21px,2.5vw,30px);line-height:1.5}
/* ستون متن = عرض کادر تقسیم بر ۱٫۶۱۸ */
.about-body{max-width:692px;margin:0 auto}
.about .about-body p,.about-panel .about-body p{
	max-width:none;
	margin:0 0 var(--sp-4);
	font-size:var(--fs-4);
	color:var(--ink-soft);
	line-height:2.1;
	text-align:center;
	text-wrap:balance;
}
.about-body p:last-child{margin-bottom:0}
.about-body b{color:var(--ink);font-weight:700}
.about-body .about-sign{margin-top:var(--sp-5);color:var(--ink);font-weight:700;font-size:var(--fs-4)}
@media(max-width:960px){
	.about-panel{padding:var(--sp-6) var(--sp-5)}
	.about-body{max-width:100%}
}
@media(max-width:600px){
	.about-panel{padding:var(--sp-5) var(--sp-4)}
	.about .about-body p{font-size:var(--fs-3);line-height:2}
}

/* ===================================================================
   v1.3 — حساب کاربری (پیشخوان) + دکمه‌ی شناور پشتیبانی
   =================================================================== */

/* ---------- چیدمان کلی صفحه‌ی حساب ---------- */
.woocommerce-account .page-title{display:none}
body.woocommerce-account{background:#f0f2f5}

.woocommerce-account .woocommerce{
	display:grid;
	grid-template-columns:320px minmax(0,1fr);
	gap:var(--sp-5);
	align-items:start;
	padding:var(--sp-2) 0 var(--sp-6);
}
.woocommerce-account .woocommerce::before,
.woocommerce-account .woocommerce::after{display:none!important}
/* کاربر مهمان: فقط فرم ورود، بدون ستون کناری */
body.woocommerce-account:not(.logged-in) .woocommerce{display:block;max-width:520px;margin:0 auto}

/* ---------- ستون کناری ---------- */
.hf-acc-nav{float:none!important;width:auto!important;margin:0!important}

.hf-acc-user{
	background:var(--card);border:1px solid var(--line);border-radius:var(--r-l);
	padding:var(--sp-5) var(--sp-4b);display:flex;align-items:center;gap:var(--sp-4);margin-bottom:var(--sp-4);
	box-shadow:var(--sh-2d);
}
.hf-avatar{
	position:relative;flex:none;width:74px;height:74px;border-radius:50%;
	background:#e6e9ef;color:#7a828f;display:grid;place-items:center;
	font-size:var(--fs-7);font-weight:700;
}
.hf-online{
	position:absolute;bottom:4px;left:4px;width:14px;height:14px;border-radius:50%;
	background:#2fbf6b;border:2.5px solid var(--card);
}
.hf-acc-id{min-width:0}
.hf-acc-id h3{font-size:var(--fs-6);font-weight:700;color:var(--ink);line-height:1.35}
.hf-acc-id span{display:block;margin-top:var(--sp-1);font-size:var(--fs-2);color:var(--muted);overflow:hidden;text-overflow:ellipsis}

.hf-acc-menu{
	list-style:none;margin:0;padding:var(--sp-2);
	background:var(--card);border:1px solid var(--line);border-radius:var(--r-l);
	box-shadow:var(--sh-2d);overflow:hidden;
}
.hf-acc-menu li{margin:0;border-bottom:1px solid var(--line)}
.hf-acc-menu li:last-child{border-bottom:none}
.hf-acc-menu a,
.hf-acc-menu .hf-credit-row{
	display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);
	padding:var(--sp-4) var(--sp-4);color:var(--ink-soft);font-size:var(--fs-3);font-weight:600;transition:.15s;
}
.hf-acc-menu a:hover{background:var(--bg);color:var(--ink)}
.hf-mi{display:flex;align-items:center;gap:var(--sp-3)}
.hf-mi svg{flex:none;opacity:.75}
.hf-chev{opacity:.4;flex:none}
.hf-acc-menu li.is-active>a{background:var(--bg);color:var(--ink)}
.hf-acc-menu li.is-active>a .hf-mi svg{opacity:1;color:var(--accent)}
.hf-acc-menu li.hf-logout>a{color:var(--accent)}
.hf-acc-menu li.hf-logout>a:hover{background:var(--accent-tint)}
.hf-credit-row{background:transparent}
.hf-credit-val{color:var(--accent);font-weight:700;font-size:var(--fs-2)}

/* ---------- محتوای حساب ---------- */
.woocommerce-account .woocommerce-MyAccount-content{
	float:none!important;width:auto!important;margin:0!important;min-width:0;
}
.hf-acc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-4b)}

.hf-acc-card{
	background:var(--card);border:1px solid var(--line);border-radius:var(--r-l);overflow:hidden;
	box-shadow:var(--sh-2d);
}
.hf-acc-head{
	display:flex;align-items:center;gap:var(--sp-3);justify-content:flex-start;
	padding:var(--sp-4) var(--sp-4b);border-bottom:1px solid var(--line);
}
.hf-acc-head h3{font-size:var(--fs-4);font-weight:700;color:var(--ink)}
.hf-acc-head svg{color:var(--ink-soft);flex:none}
.hf-acc-body{padding:var(--sp-4b) var(--sp-4b) var(--sp-4b)}

.hf-rows{display:flex;flex-direction:column;gap:var(--sp-1)}
.hf-row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-3) var(--sp-3);border-radius:var(--r-s);font-size:var(--fs-3)}
.hf-row:nth-child(odd){background:var(--bg)}
.hf-row span{color:var(--muted);font-size:var(--fs-2)}
.hf-row b{color:var(--ink);font-weight:600;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hf-todo{color:var(--muted);font-style:normal;font-weight:400}
.hf-block-btn{display:block;text-align:center;margin-top:var(--sp-4)}

.hf-verify{
	display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);margin-bottom:var(--sp-3);
	border:1px solid var(--line);border-radius:var(--r-m);font-size:var(--fs-2);color:var(--ink);
}
.hf-vmark{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:var(--fs-2);font-weight:700;flex:none}
.hf-verify.ok .hf-vmark{background:#e7f6ec;color:#2f8a4e}
.hf-verify.no .hf-vmark{background:var(--accent-tint);color:var(--accent)}
.hf-vtext{flex:1}
.hf-vlink{color:var(--accent);font-weight:700;font-size:var(--fs-2)}
.hf-note{margin:var(--sp-2) 0 0}
.hf-muted{color:var(--muted);font-size:var(--fs-1);line-height:1.9}

.hf-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-3)}
.hf-stat{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-m);padding:var(--sp-4b) var(--sp-3);text-align:center}
.hf-stat b{display:block;font-size:var(--fs-7);font-weight:800;color:var(--ink);line-height:1.2}
.hf-stat span{display:block;margin-top:var(--sp-2);font-size:var(--fs-1);color:var(--muted)}

.hf-quick{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3)}
.hf-quick a{
	background:var(--bg);border:1px solid var(--line);border-radius:var(--r-m);
	padding:var(--sp-4) var(--sp-3);text-align:center;font-size:var(--fs-2);font-weight:600;color:var(--ink);transition:.15s;
}
.hf-quick a:hover{background:var(--ink);color:var(--card);border-color:var(--ink)}

.hf-empty{text-align:center;padding:var(--sp-5) var(--sp-3)}
.hf-empty p{margin:0 0 var(--sp-2);color:var(--ink)}
.hf-empty .btn-red{margin-top:var(--sp-4)}

/* فرم‌های ووکامرس داخل حساب */
.woocommerce-account .woocommerce-MyAccount-content > form,
.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-Addresses,
.woocommerce-account .woocommerce-MyAccount-content > p{
	background:var(--card);border:1px solid var(--line);border-radius:var(--r-l);padding:var(--sp-5) var(--sp-5);
	box-shadow:var(--sh-2d);
}
.woocommerce-account .woocommerce-MyAccount-content fieldset{border:1px solid var(--line);border-radius:var(--r-m);padding:var(--sp-4) var(--sp-4b);margin-top:var(--sp-4b)}
.woocommerce-account .woocommerce-MyAccount-content legend{font-weight:700;font-size:var(--fs-3);padding:0 var(--sp-2)}
.woocommerce-account .woocommerce-MyAccount-content label{font-size:var(--fs-2);font-weight:600;color:var(--ink)}
.woocommerce-account .woocommerce-MyAccount-content input.input-text,
.woocommerce-account .woocommerce-MyAccount-content select,
.woocommerce-account .woocommerce-MyAccount-content textarea{
	border:1.5px solid var(--line)!important;border-radius:11px!important;padding:var(--sp-3) var(--sp-3)!important;
	font-family:inherit!important;font-size:var(--fs-3)!important;background:var(--card)!important;width:100%;
}
.woocommerce-account .woocommerce-MyAccount-content input.input-text:focus{border-color:var(--accent)!important;outline:none}
.hf-hint{display:block;margin-top:var(--sp-2);font-size:var(--fs-1);color:var(--muted)}
.woocommerce-account .woocommerce-MyAccount-content table.shop_table{
	background:var(--card);border:1px solid var(--line)!important;border-radius:var(--r-l);overflow:hidden;
	box-shadow:var(--sh-2d);border-collapse:separate;border-spacing:0;
}
.woocommerce-account .woocommerce-MyAccount-content table.shop_table th{background:var(--bg);font-size:var(--fs-2);color:var(--ink-soft)}
.woocommerce-account .woocommerce-MyAccount-content table.shop_table td{font-size:var(--fs-2)}

@media(max-width:1100px){
	.woocommerce-account .woocommerce{grid-template-columns:1fr;gap:var(--sp-4b)}
	.hf-acc-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
	.hf-acc-user{padding:var(--sp-4);gap:var(--sp-3)}
	.hf-avatar{width:58px;height:58px;font-size:var(--fs-6)}
	.hf-acc-id h3{font-size:var(--fs-5)}
	.hf-acc-body{padding:var(--sp-4)}
	.hf-stats{grid-template-columns:1fr 1fr}
	.hf-stats .hf-stat:last-child{grid-column:1/-1}
	.hf-quick{grid-template-columns:1fr}
	.hf-row b{max-width:52%}
}

/* ---------- دکمه‌ی شناور پشتیبانی ---------- */
.hf-support{position:fixed;left:20px;bottom:20px;z-index:9000;direction:rtl}
.hf-sup-fab{
	width:58px;height:58px;border-radius:50%;border:none;cursor:pointer;
	background:var(--accent);box-shadow:var(--sh-3d);
	display:grid;place-items:center;transition:.18s;position:relative;
}
.hf-sup-fab:hover{transform:translateY(-2px);filter:brightness(1.06)}
.hf-sup-fab .hf-sup-close{display:none}
.hf-support.open .hf-sup-fab .hf-sup-ico{display:none}
.hf-support.open .hf-sup-fab .hf-sup-close{display:block}

.hf-sup-panel{
	position:absolute;left:0;bottom:72px;width:330px;max-width:calc(100vw - 40px);
	background:var(--card);border:1px solid var(--line);border-radius:var(--r-l);overflow:hidden;
	box-shadow:var(--sh-3d);
	animation:hfSupIn .16s ease-out;
}
@keyframes hfSupIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.hf-sup-head{background:linear-gradient(120deg,#232a3d,var(--navy));color:var(--card);padding:var(--sp-4b) var(--sp-4b) var(--sp-4)}
.hf-sup-head h4{font-size:var(--fs-4);font-weight:700}
.hf-sup-head span{display:block;margin-top:var(--sp-1);font-size:var(--fs-1);color:#a7afbe}
.hf-sup-body{padding:var(--sp-4)}
.hf-sup-form label{display:block;margin-bottom:var(--sp-3)}
.hf-sup-form label>span{display:block;font-size:var(--fs-1);font-weight:600;color:var(--ink-soft);margin-bottom:var(--sp-1)}
.hf-sup-form input,.hf-sup-form textarea{
	width:100%;box-sizing:border-box;border:1.5px solid var(--line);border-radius:var(--r-s);
	padding:var(--sp-3) var(--sp-3);font-family:inherit;font-size:var(--fs-3);background:var(--card);color:var(--ink);resize:vertical;
}
.hf-sup-form input:focus,.hf-sup-form textarea:focus{border-color:var(--accent);outline:none}
.hf-sup-hp{position:absolute!important;left:-9999px!important;opacity:0;height:0}
.hf-sup-send{width:100%;justify-content:center;margin-top:var(--sp-1)}
.hf-sup-send:disabled{opacity:.6;cursor:default}
.hf-sup-alt{margin:var(--sp-3) 0 0;text-align:center;font-size:var(--fs-1);color:var(--muted)}
.hf-sup-alt a{color:var(--accent);font-weight:700}
.hf-sup-msg{border-radius:var(--r-m);padding:var(--sp-3) var(--sp-4);font-size:var(--fs-2);line-height:1.8;margin-bottom:var(--sp-3)}
.hf-sup-msg.ok{background:#e7f6ec;color:#26653c}
.hf-sup-msg.err{background:var(--accent-tint);color:#a2122a}

@media(max-width:600px){
	.hf-support{left:14px;bottom:14px}
	.hf-sup-fab{width:52px;height:52px}
	.hf-sup-panel{width:min(330px,calc(100vw - 28px));bottom:66px}
}

/* ===== v1.5: دکمه‌ی نمایش رمز عبور ===== */
.hf-pw{position:relative;display:block;width:100%}
.hf-pw > input{width:100%;box-sizing:border-box;padding-left:var(--sp-7)!important}
.hf-pw-btn{
	position:absolute;left:6px;top:50%;transform:translateY(-50%);
	width:32px;height:32px;padding:0;border:none;background:transparent;cursor:pointer;
	color:var(--muted);display:grid;place-items:center;border-radius:var(--r-xs);transition:.15s;
}
.hf-pw-btn:hover{color:var(--ink);background:rgba(0,0,0,.04)}
.hf-pw-btn:focus{outline:none}
.hf-pw-btn svg{width:19px;height:19px;display:block}
/* داخل فرم‌های Ultimate Member */
.um .um-form .hf-pw > input{padding-left:var(--sp-7)!important}
.um .hf-pw-btn{color:#a3a8b0}
/* پنل پشتیبانی و کارت‌های حساب */
.hf-sup-form .hf-pw > input{padding-left:var(--sp-6b)}

/* ===================================================================
   v1.7 — دفترچه‌ی آدرس + تاریخ تولد
   =================================================================== */

.hf-addr-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);margin-bottom:var(--sp-4)}
.hf-addr-head h2{font-size:var(--fs-5);font-weight:700;color:var(--ink)}
.hf-addr-new{
	display:inline-flex;align-items:center;gap:var(--sp-2);flex-direction:row-reverse;
	background:#dde3ec;border:none;border-radius:var(--r-m);padding:var(--sp-3) var(--sp-4b);
	font-family:inherit;font-size:var(--fs-3);font-weight:600;color:var(--ink);cursor:pointer;transition:.15s;
}
.hf-addr-new:hover{background:var(--ink);color:var(--card)}

/* حالت خالی */
.hf-addr-empty{
	background:#e2e7ee;border-radius:var(--r-l);min-height:340px;
	display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-4b);
}
.hf-addr-empty p{margin:0;color:#98a0ad;font-size:var(--fs-4)}

/* کارت آدرس */
.hf-addr-list{display:flex;flex-direction:column;gap:var(--sp-4)}
.hf-addr-card{
	background:var(--card);border:1px solid var(--line);border-radius:var(--r-l);
	padding:var(--sp-4) var(--sp-4b);display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:var(--sp-4b);align-items:stretch;
	box-shadow:var(--sh-2d);
}
.hf-addr-icon{background:#f1f4f8;border-radius:var(--r-m);display:grid;place-items:center;min-height:104px}
.hf-addr-main{min-width:0;display:flex;flex-direction:column;gap:var(--sp-1);padding-top:var(--sp-1)}
.hf-addr-line1{font-size:var(--fs-3);font-weight:700;color:var(--ink);margin-bottom:var(--sp-1)}
.hf-addr-line{font-size:var(--fs-2);color:var(--muted);line-height:1.9}
.hf-addr-line span{color:var(--ink-soft)}
.hf-addr-side{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:var(--sp-4)}
.hf-addr-acts{display:flex;gap:var(--sp-2)}
.hf-icon-act{
	width:34px;height:34px;border:none;background:transparent;border-radius:var(--r-s);cursor:pointer;
	color:var(--ink-soft);display:grid;place-items:center;transition:.15s;
}
.hf-icon-act:hover{background:var(--bg);color:var(--ink)}
.hf-addr-del:hover{background:var(--accent-tint);color:var(--accent)}

/* کلید پیش‌فرض */
.hf-switch{display:inline-flex;align-items:center;gap:var(--sp-2);background:none;border:none;padding:0;cursor:pointer;font-family:inherit}
.hf-switch-ui{width:44px;height:24px;border-radius:var(--r-pill);background:#d7dbe2;position:relative;transition:.18s;flex:none}
.hf-switch-ui i{position:absolute;top:3px;right:3px;width:18px;height:18px;border-radius:50%;background:var(--card);transition:.18s;box-shadow:var(--sh-1)}
.hf-switch.on .hf-switch-ui{background:var(--accent)}
.hf-switch.on .hf-switch-ui i{right:23px}
.hf-switch-lb{font-size:var(--fs-2);font-weight:600;color:var(--ink-soft)}
.hf-switch:disabled{cursor:default}
.hf-switch:not(.on):hover .hf-switch-ui{background:#c3c9d2}

/* مودال */
.hf-modal{position:fixed;inset:0;z-index:9500;display:grid;place-items:center;padding:var(--sp-4b)}
.hf-modal[hidden]{display:none}
.hf-modal-back{position:absolute;inset:0;background:rgba(20,23,32,.55);backdrop-filter:blur(2px)}
.hf-modal-box{
	position:relative;background:var(--card);border-radius:var(--r-xl);width:100%;max-width:760px;
	max-height:90vh;overflow:auto;box-shadow:var(--sh-3);
	animation:hfModalIn .16s ease-out;
}
@keyframes hfModalIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.hf-modal-head{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-4b) var(--sp-5);border-bottom:1px solid var(--line)}
.hf-modal-head h3{font-size:var(--fs-5);font-weight:700;color:var(--ink)}
.hf-modal-x{width:36px;height:36px;border:none;background:transparent;border-radius:var(--r-s);cursor:pointer;color:var(--ink-soft);display:grid;place-items:center}
.hf-modal-x:hover{background:var(--bg);color:var(--ink)}
.hf-modal-body{padding:var(--sp-4b) var(--sp-5) var(--sp-2)}
.hf-modal-foot{padding:var(--sp-4) var(--sp-5) var(--sp-5)}
.hf-modal-foot .btn-red{padding:var(--sp-3) var(--sp-6)}

.hf-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-4);margin-bottom:var(--sp-4)}
.hf-grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-4);margin-bottom:var(--sp-4)}
.hf-modal-body label{display:block}
.hf-modal-body label>span{display:block;font-size:var(--fs-2);font-weight:600;color:var(--ink);margin-bottom:var(--sp-2)}
.hf-modal-body input,.hf-modal-body select,.hf-modal-body textarea{
	width:100%;box-sizing:border-box;border:1.5px solid var(--line);border-radius:var(--r-s);
	padding:var(--sp-3) var(--sp-3);font-family:inherit;font-size:var(--fs-3);background:var(--card);color:var(--ink);resize:vertical;
}
.hf-modal-body select:disabled{background:#eef0f4;color:var(--muted);cursor:not-allowed}
.hf-modal-body input:focus,.hf-modal-body select:focus,.hf-modal-body textarea:focus{border-color:var(--accent);outline:none}
.hf-full{margin-bottom:var(--sp-4)}
.hf-addr-msg{background:var(--accent-tint);color:#a2122a;border-radius:var(--r-s);padding:var(--sp-3) var(--sp-4);font-size:var(--fs-2);margin-bottom:var(--sp-4)}

@media(max-width:760px){
	.hf-grid3,.hf-grid2{grid-template-columns:1fr}
	.hf-addr-card{grid-template-columns:1fr;gap:var(--sp-4)}
	.hf-addr-icon{min-height:72px}
	.hf-addr-side{flex-direction:row;align-items:center;justify-content:space-between}
	.hf-modal{padding:var(--sp-3)}
	.hf-modal-body{padding:var(--sp-4)}
}

/* تاریخ تولد */
.hf-birth{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:var(--sp-3);max-width:420px}
.hf-birth select{
	width:100%;box-sizing:border-box;border:1.5px solid var(--line)!important;border-radius:11px!important;
	padding:var(--sp-3) var(--sp-3)!important;font-family:inherit!important;font-size:var(--fs-3)!important;background:var(--card)!important;color:var(--ink);
}
.hf-birth select:focus{border-color:var(--accent)!important;outline:none}
.hf-birth-row label{display:block;margin-bottom:var(--sp-2)}
.um .um-field-hf_birth_date .hf-birth{max-width:none}
@media(max-width:520px){.hf-birth{grid-template-columns:1fr}}

/* ===================================================================
   v1.8 — کارت «اطلاعات مشتری» با ویرایش درجا
   =================================================================== */

.hf-profile{grid-row:span 2}
.hf-acc-head{position:relative}
.hf-saved{
	margin-inline-start:auto;font-size:var(--fs-1);font-weight:700;color:#2f8a4e;
	background:#e7f6ec;border-radius:var(--r-pill);padding:var(--sp-1) var(--sp-3);
	animation:hfSavedIn .18s ease-out;
}
@keyframes hfSavedIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}

.hf-field{margin-bottom:var(--sp-3);position:relative}
.hf-field:last-child{margin-bottom:0}
.hf-field > label{display:block;font-size:var(--fs-1);font-weight:600;color:var(--ink-soft);margin-bottom:var(--sp-2)}
.hf-field input[type=text],
.hf-field input[type=tel],
.hf-field input[type=email],
.hf-field input[type=password]{
	width:100%;box-sizing:border-box;background:var(--card);color:var(--ink);
	border:1.5px solid var(--line);border-radius:var(--r-m);
	padding:var(--sp-3) var(--sp-4);font-family:inherit;font-size:var(--fs-3);text-align:center;transition:.15s;
}
.hf-field input::placeholder{color:#b7bcc4}
.hf-field input:focus{border-color:var(--accent);outline:none;background:var(--card)}
.hf-field input:disabled{background:#e8ebf0;color:var(--ink-soft);cursor:not-allowed;font-weight:600}

.hf-field.saving input,.hf-field.saving select{opacity:.6}
.hf-field.has-err input,.hf-field.has-err select{border-color:var(--accent)}
.hf-ferr{display:block;margin-top:var(--sp-2);font-size:var(--fs-1);color:var(--accent);line-height:1.8;text-align:center}
.hf-ferr:empty{display:none}
.hf-fhint{display:block;margin-top:var(--sp-2);font-size:var(--fs-0);color:var(--muted);text-align:center}

.hf-field-birth .hf-birth{max-width:none}
.hf-field-birth .hf-birth select{text-align:center;text-align-last:center}

.hf-upload{
	width:100%;box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:var(--sp-3);
	background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-m);padding:var(--sp-3) var(--sp-4);
	font-family:inherit;font-size:var(--fs-3);color:var(--ink-soft);cursor:pointer;transition:.15s;
}
.hf-upload:hover{border-color:var(--ink);color:var(--ink)}
.hf-upload:disabled{opacity:.6;cursor:default}

.hf-ava-preview{display:flex;justify-content:center;margin-top:var(--sp-4b)}
.hf-ava-circle{
	width:150px;height:150px;border-radius:50%;background:#e6e9ef;overflow:hidden;
	display:grid;place-items:center;
}
.hf-ava-circle img{width:100%;height:100%;object-fit:cover;display:block}

/* آواتار ستون کناری وقتی تصویر دارد */
.hf-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}

@media(max-width:1100px){ .hf-profile{grid-row:auto} }

/* ===================================================================
   v1.9 — منوی هدر: ناحیه‌ی کلیک تمام‌ارتفاع + تایپوگرافی درشت‌تر
   =================================================================== */

/* هدر کمی بلندتر؛ حالا که کانتینر ۱۶۸۰ است جا داریم */

/* منو و آیتم‌ها تا ته ارتفاع هدر کشیده می‌شوند */
.main-nav{align-self:stretch;overflow:visible}
.main-nav ul{height:100%;align-items:stretch;gap:0}
.main-nav li{display:flex;align-items:stretch}

/* کل مستطیلِ آیتم قابل کلیک است، نه فقط خودِ متن */
.main-nav a{
	display:flex;align-items:center;height:100%;
	padding:0 var(--sp-4b);border-radius:0;
	font-size:var(--fs-4);font-weight:600;letter-spacing:-.005em;
	color:#cfd5e0;white-space:nowrap;position:relative;
	transition:color .15s,background .15s;
}
.main-nav a::after{
	content:"";position:absolute;right:12px;left:12px;bottom:0;height:3px;border-radius:3px 3px 0 0;
	background:var(--accent);transform:scaleX(0);transform-origin:center;transition:transform .18s;
}
.main-nav a:hover,
.main-nav .current-menu-item>a,
.main-nav .current_page_item>a{color:var(--card);background:rgba(255,255,255,.06)}
.main-nav a:hover::after,
.main-nav .current-menu-item>a::after,
.main-nav .current_page_item>a::after{transform:scaleX(1)}

/* هرچه باریک‌تر، فشرده‌تر — ولی همچنان تمام‌ارتفاع */
@media(max-width:1400px){ .main-nav a{padding:0 var(--sp-4);font-size:var(--fs-3)} }
@media(max-width:1240px){ .main-nav a{padding:0 var(--sp-3);font-size:var(--fs-3)} }
@media(max-width:1100px){ .main-nav a{padding:0 var(--sp-2);font-size:var(--fs-2)} }

/* موبایل: منوی کشویی، آیتم‌ها دوباره بلوکی می‌شوند */
@media(max-width:960px){
	.main-nav{align-self:auto}
	.main-nav ul{height:auto;align-items:stretch}
	.main-nav li{display:block}
	.main-nav a{
		display:block;height:auto;padding:var(--sp-3) var(--sp-3);font-size:var(--fs-4);
		border-radius:var(--r-s);background:transparent;
	}
	.main-nav a::after{display:none}
	.main-nav a:hover{background:rgba(255,255,255,.08)}
}

/* ===================================================================
   v2.0 — اطلاعات تماس (فوتر، شورت‌کد، ویجت پشتیبانی)
   =================================================================== */

.foot-grid{grid-template-columns:1.4fr 1fr 1.1fr 1.9fr}
.foot-contact{list-style:none;margin:0;padding:0}
.foot-contact li{display:flex;align-items:flex-start;gap:var(--sp-2);margin-bottom:var(--sp-3);line-height:1.95;font-size:var(--fs-2);color:#9DA2A9}
.foot-contact .fc-ico{flex:none;margin-top:var(--sp-1);color:#7d8494}
.foot-contact li b{color:#c9cfd8;font-weight:600}
.fc-num{font-family:var(--mono);direction:ltr;display:inline-block;color:var(--accent);font-weight:600;transition:.15s}
.fc-num:hover{color:#ff6f83}
.foot-note{color:#767c85;font-size:var(--fs-1)}

/* ای‌نماد */
.hf-badges{margin-top:var(--sp-4b);display:flex;gap:var(--sp-3);flex-wrap:wrap;align-items:center}
.hf-badge{display:inline-flex;align-items:center;justify-content:center;background:transparent;border-radius:var(--r-m);padding:0;line-height:0;min-width:64px;min-height:96px} /* R-06 */
.hf-badges .hf-badge{margin-top:0}
/* هر دو نشان دقیقاً هم‌ارتفاع تا متقارن دیده شوند */
.hf-badge img{display:block;height:96px;width:auto;border-radius:var(--r-m)}
.hf-badge-zp img{height:96px;width:auto;border-radius:var(--r-m)}
.hf-badge-empty{
	line-height:1.9;font-size:var(--fs-1);color:var(--muted);background:transparent;
	border:1px dashed #3a4256;border-radius:var(--r-m);padding:var(--sp-3) var(--sp-4);max-width:230px;
}
.hf-badge-empty span{color:#6f7684;font-size:var(--fs-0)}

/* شورت‌کد [hf_contact] */
.hf-contact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-4);margin:var(--sp-2) 0 var(--sp-1)}
.hf-contact-item{
	display:flex;gap:var(--sp-4);align-items:flex-start;
	background:var(--card);border:1px solid var(--line);border-radius:var(--r-l);padding:var(--sp-4b) var(--sp-4b);
	box-shadow:var(--sh-2d);
}
.hf-contact-ico{
	flex:none;width:44px;height:44px;border-radius:var(--r-m);
	background:var(--accent-tint);color:var(--accent);display:grid;place-items:center;
}
.hf-contact-item h4{font-size:var(--fs-3);font-weight:700;color:var(--ink);margin-bottom:var(--sp-2)}
.hf-contact-item p{margin:0 0 var(--sp-1);font-size:var(--fs-2);color:var(--ink-soft);line-height:1.95}
.hf-contact-item a{color:var(--ink);font-weight:600}
.hf-contact-item a:hover{color:var(--accent)}
.hf-contact-note{display:inline-block;margin-top:var(--sp-1);font-size:var(--fs-1);color:var(--muted)}
@media(max-width:760px){.hf-contact{grid-template-columns:1fr}}
@media(max-width:900px){.foot-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.foot-grid{grid-template-columns:1fr}}

/* واتساپ در پنل پشتیبانی */
.hf-sup-wa{
	display:flex;align-items:center;justify-content:center;gap:var(--sp-2);margin-top:var(--sp-3);
	border:1.5px solid var(--line);border-radius:var(--r-s);padding:var(--sp-3) var(--sp-3);
	font-size:var(--fs-2);font-weight:600;color:var(--ink-soft);transition:.15s;
}
.hf-sup-wa:hover{border-color:#25a866;color:#1f8b53;background:#f2fbf6}

/* ===================================================================
   v2.3 — اعتبار حساب و درخواست وجه
   =================================================================== */

.hf-credit .hf-acc-head{gap:var(--sp-3)}
.hf-cr-actions{margin-inline-start:auto;display:flex;align-items:center;gap:var(--sp-2)}
.hf-cr-save{padding:var(--sp-2) var(--sp-4);font-size:var(--fs-2);border-radius:var(--r-s)}

.hf-credit-body{display:grid;grid-template-columns:1fr 320px;gap:var(--sp-5);align-items:start}
.hf-credit-card{
	background:linear-gradient(150deg,#d3143a,#f4576f);
	border-radius:var(--r-l);min-height:300px;display:grid;place-items:center;
	box-shadow:var(--sh-3d);
}
.hf-credit-card svg{width:62%;height:auto}

.hf-credit-stats{display:flex;gap:var(--sp-6);flex-wrap:wrap;margin-bottom:var(--sp-4b)}
.hf-credit-stats > div{display:flex;flex-direction:column;gap:var(--sp-2)}
.hf-credit-stats span{font-size:var(--fs-1);color:var(--muted)}
.hf-credit-stats b{font-size:var(--fs-5);font-weight:800;color:var(--ink)}
.hf-credit-stats .hf-avail{color:var(--accent)}

.hf-cr-field{display:block;margin-bottom:var(--sp-4)}
.hf-cr-field > span{display:block;font-size:var(--fs-1);font-weight:600;color:var(--ink-soft);margin-bottom:var(--sp-2)}
.hf-cr-field input{
	width:100%;box-sizing:border-box;border:1.5px solid var(--line);border-radius:var(--r-m);
	padding:var(--sp-3) var(--sp-4);font-family:var(--mono);font-size:var(--fs-3);background:var(--card);color:var(--ink);
	letter-spacing:.04em;
}
.hf-cr-field input:focus{border-color:var(--accent);outline:none}
.hf-cr-field input::placeholder{font-family:var(--sans);letter-spacing:0;color:#b7bcc4}

.hf-cr-toggle{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;margin-top:var(--sp-2)}
.hf-cr-switch:disabled{opacity:.55}
.hf-cr-hint{font-size:var(--fs-1);color:var(--muted)}
.hf-cr-claim{margin-top:var(--sp-4b);padding-top:var(--sp-4b);border-top:1px solid var(--line)}
.hf-cr-claim .btn-red{width:100%;justify-content:center}

.hf-credit-msg{border-radius:var(--r-m);padding:var(--sp-3) var(--sp-4);font-size:var(--fs-2);margin-bottom:var(--sp-4)}
.hf-credit-msg.ok{background:#e7f6ec;color:#26653c}
.hf-credit-msg.err{background:var(--accent-tint);color:#a2122a}

.hf-wd-list{margin-top:var(--sp-5);padding-top:var(--sp-4b);border-top:1px solid var(--line)}
.hf-wd-list h4{font-size:var(--fs-3);font-weight:700;color:var(--ink);margin-bottom:var(--sp-3)}
.hf-wd-row{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-3);border-radius:var(--r-s);font-size:var(--fs-2)}
.hf-wd-row:nth-child(odd){background:var(--bg)}
.hf-wd-amt{font-weight:700;color:var(--ink)}
.hf-wd-date{color:var(--muted);font-family:var(--mono);direction:ltr;margin-inline-start:auto}
.hf-wd-badge{font-size:var(--fs-0);font-weight:700;padding:var(--sp-1) var(--sp-3);border-radius:var(--r-pill)}
.hf-wd-badge.wait{background:#fbf3dd;color:#8a6410}
.hf-wd-badge.ok{background:#e7f6ec;color:#2f8a4e}
.hf-wd-badge.no{background:var(--accent-tint);color:var(--accent)}

@media(max-width:900px){
	.hf-credit-body{grid-template-columns:1fr}
	.hf-credit-card{order:-1;min-height:170px}
	.hf-credit-card svg{width:45%}
}

/* ===================================================================
   v2.4 — سبد خرید خالی
   =================================================================== */

.hf-cart-empty{
	background:#e2e7ee;border-radius:var(--r-l);
	padding:70px var(--sp-5) var(--sp-9);text-align:center;
	display:flex;flex-direction:column;align-items:center;
}
.hf-cart-ico{width:104px;height:104px;margin-bottom:var(--sp-5)}
.hf-cart-title{margin:0 0 var(--sp-4);font-size:var(--fs-5);color:#98a0ad}
.hf-cart-sub{margin:0 0 var(--sp-5);font-size:var(--fs-3);color:#8b93a1}

.hf-cart-actions{display:flex;gap:var(--sp-3);flex-wrap:wrap;justify-content:center}
.hf-cart-actions a{
	background:var(--card);border:1px solid transparent;border-radius:var(--r-s);
	padding:var(--sp-3) var(--sp-6);font-size:var(--fs-3);font-weight:600;color:var(--ink);
	box-shadow:var(--sh-1d);transition:.15s;
}
.hf-cart-actions a:hover{background:var(--accent);color:var(--card);box-shadow:var(--sh-2d)}
.hf-cart-actions a:first-child{color:var(--ink)}

/* پیام پیش‌فرض «سبد خرید خالی است» ووکامرس دیگر لازم نیست */
.woocommerce-cart .cart-empty,
.woocommerce-cart .return-to-shop{display:none}

@media(max-width:600px){
	.hf-cart-empty{padding:var(--sp-7) var(--sp-4) var(--sp-7b);border-radius:var(--r-l)}
	.hf-cart-ico{width:78px;height:78px;margin-bottom:var(--sp-4b)}
	.hf-cart-actions{flex-direction:column;width:100%;max-width:280px}
	.hf-cart-actions a{width:100%}
}

/* ===================================================================
   v2.5 — ارسال، کد تخفیف، پرداخت، کانال بله
   =================================================================== */

/* توضیح زیر هر روش ارسال */
.hf-ship-note{font-size:var(--fs-1);color:var(--muted);line-height:1.9;margin:var(--sp-2) 0 var(--sp-1)}
.hf-ship-note b{color:var(--ink)}
.hf-weight-row th,.hf-weight-row td{font-size:var(--fs-2);color:var(--ink-soft)}

/* کارت تخفیف اولین خرید */
.hf-promo{
	margin-top:var(--sp-4);background:linear-gradient(120deg,#232a3d,var(--navy));color:var(--card);
	border-radius:var(--r-m);padding:var(--sp-4) var(--sp-4b);display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap;
}
.hf-promo-text{display:flex;flex-direction:column;gap:var(--sp-1)}
.hf-promo-lb{font-size:var(--fs-1);color:#a7afbe}
.hf-promo-amt{font-size:var(--fs-5);font-weight:800;color:var(--accent)}
.hf-promo-code{
	font-family:var(--mono);direction:ltr;letter-spacing:.06em;font-size:var(--fs-2);font-weight:700;color:var(--card);
	background:transparent;border:1.5px dashed rgba(255,255,255,.35);border-radius:var(--r-s);
	padding:var(--sp-3) var(--sp-4b);cursor:pointer;transition:.15s;white-space:nowrap;
}
.hf-promo-code:hover{border-color:var(--accent);color:var(--accent)}

/* پرداخت: بازگشت و قوانین */
.hf-terms-notice{
	margin:var(--sp-1) 0 var(--sp-4);font-size:var(--fs-1);color:var(--muted);line-height:2;text-align:center;
}
.hf-terms-notice a{color:var(--accent);font-weight:600}
.hf-terms-notice a:hover{text-decoration:underline}

/* لوگوی درگاه‌ها: هرگز از کادر بیرون نزند */
/* آیکون‌های پرداخت در بخش v3.9 استایل می‌گیرند */

/* دکمه‌های پیام‌رسان در پنل پشتیبانی */
.hf-sup-apps{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-2);margin-top:var(--sp-3)}
.hf-sup-apps a{
	display:flex;align-items:center;justify-content:center;gap:var(--sp-2);
	border:1.5px solid var(--line);border-radius:var(--r-s);padding:var(--sp-3) var(--sp-2);
	font-size:var(--fs-2);font-weight:600;color:var(--ink-soft);transition:.15s;
}
.hf-sup-apps a:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-tint)}

/* بلوک کانال بله در فوتر */
.foot-channel{
	display:flex;align-items:center;gap:var(--sp-4);margin-top:var(--sp-6);
	background:#1f2637;border:1px solid #2d3648;border-radius:var(--r-l);padding:var(--sp-4b) var(--sp-4b);
	transition:.15s;flex-wrap:wrap;
}
.foot-channel:hover{border-color:var(--accent)}
.fch-ico{flex:none;width:46px;height:46px;border-radius:var(--r-m);background:#2a3346;color:var(--card);display:grid;place-items:center}
.fch-text{display:flex;flex-direction:column;gap:var(--sp-1);min-width:0;flex:1}
.fch-text b{color:var(--card);font-size:var(--fs-3);font-weight:700}
.fch-id{font-family:var(--mono);color:var(--accent);font-size:var(--fs-2);margin-inline-start:6px}
.fch-text span{color:#9DA2A9;font-size:var(--fs-2);line-height:1.9}
.fch-cta{flex:none;color:var(--card);font-size:var(--fs-2);font-weight:700;background:var(--accent);border-radius:var(--r-s);padding:var(--sp-3) var(--sp-4)}

@media(max-width:600px){
	.hf-promo{flex-direction:column;align-items:stretch;text-align:center}
	.hf-promo-code{width:100%}
	.foot-channel{padding:var(--sp-4)}
	.fch-cta{width:100%;text-align:center}
}

/* ===================================================================
   v2.7 — صفحه‌های مستند و گزارش خطا
   =================================================================== */

.hf-doc{max-width:900px;margin:0 auto}
.hf-doc-intro{font-size:var(--fs-4);color:var(--ink-soft);line-height:2.15;margin-bottom:var(--sp-5)}

.hf-doc-search{position:relative;display:flex;align-items:center}
.hf-doc-search svg{position:absolute;inset-inline-start:16px;color:var(--muted);pointer-events:none}
.hf-doc-search input{
	width:100%;box-sizing:border-box;border:1.5px solid var(--line);border-radius:var(--r-m);
	padding:var(--sp-4) var(--sp-7) var(--sp-4) var(--sp-4);font-family:inherit;font-size:var(--fs-3);background:var(--card);color:var(--ink);
}
.hf-doc-search input:focus{border-color:var(--accent);outline:none}
.hf-doc-search input::-webkit-search-cancel-button{cursor:pointer}
.hf-doc-hint{font-size:var(--fs-2);color:var(--muted);margin:var(--sp-3) 0 var(--sp-4b)}

.hf-doc-cats{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-bottom:var(--sp-6)}
.hf-doc-cats a{
	background:#eaedf2;border-radius:var(--r-pill);padding:var(--sp-2) var(--sp-4);
	font-size:var(--fs-2);font-weight:600;color:var(--ink-soft);transition:.15s;
}
.hf-doc-cats a:hover{background:var(--accent);color:var(--card)}

.hf-doc-group{margin-bottom:var(--sp-6);scroll-margin-top:96px}
.hf-doc-cat{
	font-size:var(--fs-5);font-weight:800;color:var(--ink);
	padding-bottom:var(--sp-3);margin-bottom:var(--sp-4);border-bottom:2px solid var(--line);
}

.hf-doc-item{border:1px solid var(--line);border-radius:var(--r-m);margin-bottom:var(--sp-3);background:var(--card);overflow:hidden}
.hf-doc-item[open]{border-color:#d6dae1;box-shadow:var(--sh-2d)}
.hf-doc-item summary{
	display:flex;align-items:center;gap:var(--sp-3);cursor:pointer;list-style:none;
	padding:var(--sp-4) var(--sp-4b);font-size:var(--fs-3);font-weight:600;color:var(--ink);
}
.hf-doc-item summary::-webkit-details-marker{display:none}
.hf-doc-item summary span{flex:1}
.hf-doc-chev{flex:none;color:var(--muted);transition:transform .18s}
.hf-doc-item[open] .hf-doc-chev{transform:rotate(180deg);color:var(--accent)}
.hf-doc-body{padding:0 var(--sp-4b) var(--sp-4b);border-top:1px solid var(--line);padding-top:var(--sp-4)}
.hf-doc-body p{font-size:var(--fs-3);color:var(--ink-soft);line-height:2.1;margin:0 0 var(--sp-3)}
.hf-doc-body p:last-child{margin-bottom:0}
.hf-doc-body ul,.hf-doc-body ol{margin:0 0 var(--sp-3);padding-inline-start:22px}
.hf-doc-body li{font-size:var(--fs-3);color:var(--ink-soft);line-height:2.05;margin-bottom:var(--sp-2)}
.hf-doc-body strong{color:var(--ink);font-weight:700}
.hf-doc-body code{font-family:var(--mono);background:#f0f2f5;border-radius:var(--r-xs);padding:var(--sp-1) var(--sp-2);font-size:var(--fs-1)}

.hf-doc-table{width:100%;border-collapse:collapse;margin:var(--sp-2) 0 var(--sp-4);font-size:var(--fs-2)}
.hf-doc-table th,.hf-doc-table td{border:1px solid var(--line);padding:var(--sp-3) var(--sp-3);text-align:right}
.hf-doc-table th{background:var(--bg);font-weight:700;color:var(--ink)}
.hf-doc-table td{color:var(--ink-soft)}

.hf-doc-empty{background:var(--accent-tint);color:#a2122a;border-radius:var(--r-m);padding:var(--sp-4) var(--sp-4b);font-size:var(--fs-3)}
.hf-doc-updated{margin-top:var(--sp-6);font-size:var(--fs-1);color:var(--muted);text-align:center}

/* گزارش خطا */
.hf-bug-hero{
	background:linear-gradient(140deg,#e5254a,#f4566f);color:var(--card);
	border-radius:var(--r-xl);padding:var(--sp-7) var(--sp-6b) var(--sp-7);text-align:center;margin-bottom:var(--sp-6);
}
.hf-bug-crumb{display:flex;align-items:center;justify-content:center;gap:var(--sp-2);font-size:var(--fs-2);color:rgba(255,255,255,.85);margin-bottom:var(--sp-4)}
.hf-bug-crumb a{color:rgba(255,255,255,.85)}
.hf-bug-crumb a:hover{color:var(--card)}
.hf-bug-hero h1{font-size:var(--fs-9);font-weight:800;margin:0 0 var(--sp-4);color:var(--card)}
.hf-bug-hero p{max-width:640px;margin:0 auto;font-size:var(--fs-3);line-height:2.15;color:rgba(255,255,255,.92)}

.hf-bug-form{max-width:900px;margin:0 auto}
.hf-bug-field{display:block;margin-bottom:var(--sp-4b)}
.hf-bug-field > span{display:block;font-size:var(--fs-2);font-weight:600;color:var(--ink-soft);margin-bottom:var(--sp-2)}
.hf-bug-field input[type=url],.hf-bug-field textarea{
	width:100%;box-sizing:border-box;border:1.5px solid var(--line);border-radius:var(--r-m);
	padding:var(--sp-3) var(--sp-4);font-family:inherit;font-size:var(--fs-3);background:var(--card);color:var(--ink);line-height:2;
}
.hf-bug-field textarea{resize:vertical;min-height:150px}
.hf-bug-field input:focus,.hf-bug-field textarea:focus{border-color:var(--accent);outline:none}
.hf-bug-field small{display:block;margin-top:var(--sp-2);font-size:var(--fs-1);color:var(--muted)}

.hf-bug-upload{
	width:100%;box-sizing:border-box;display:flex;align-items:center;gap:var(--sp-3);
	background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-m);padding:var(--sp-3) var(--sp-4);
	font-family:inherit;font-size:var(--fs-3);color:var(--ink-soft);cursor:pointer;transition:.15s;
}
.hf-bug-upload:hover{border-color:var(--ink);color:var(--ink)}
.hf-bug-hp{position:absolute;left:-9999px;opacity:0;height:0;width:0}
.hf-bug-actions{display:flex;justify-content:flex-start}
.hf-bug-actions .btn-red{padding:var(--sp-3) var(--sp-6)}

.hf-bug-msg{border-radius:var(--r-m);padding:var(--sp-3) var(--sp-4);font-size:var(--fs-2);margin-bottom:var(--sp-4b);line-height:1.95}
.hf-bug-msg.ok{background:#e7f6ec;color:#26653c}
.hf-bug-msg.err{background:var(--accent-tint);color:#a2122a}

@media(max-width:600px){
	.hf-bug-hero{padding:var(--sp-6) var(--sp-4b) var(--sp-6b);border-radius:var(--r-l)}
	.hf-bug-hero h1{font-size:var(--fs-7)}
	.hf-doc-cats{gap:var(--sp-2)}
	.hf-doc-table{font-size:var(--fs-1)}
	.hf-doc-table th,.hf-doc-table td{padding:var(--sp-2) var(--sp-2)}
}

/* v2.9 — برگه‌ی گزارش خطا عنوان خودش را در هدر قرمز دارد */
.hf-page-bug-report .page-title,
.hf-page-bug-report .entry-title{display:none}

/* ===================================================================
   v3.1 — پرداخت چندمرحله‌ای
   =================================================================== */

.hf-wizard{max-width:820px;margin:0 auto}
/* html.hf-js را یک اسکریپت درون‌خطی در <head> می‌گذارد، پیش از نخستین رنگ‌آمیزی.
   پس این‌ها هرگز «ظاهر و ناپدید» نمی‌شوند. بدون جاوااسکریپت، کلاس نمی‌آید و
   همه‌ی مرحله‌ها پشت سر هم دیده می‌شوند. */
html:not(.hf-js) .hf-wz-bar,
html:not(.hf-js) .hf-wz-nav{display:none}
html:not(.hf-js) .hf-step[hidden]{display:block}

/* نوار پیشرفت */
.hf-wz-bar{
	position:relative;display:flex;
	list-style:none;margin:0 0 var(--sp-5);padding:0;
}
/* چهار نقطه، هرکدام ۱/۴ عرض. مرکز اولی روی ۱۲٫۵٪ و آخری روی ۸۷٫۵٪ است،
   پس خط باید از همان ۱۲٫۵٪ تا ۱۲٫۵٪ آن‌سو کشیده شود، نه بیشتر. */
.hf-wz-track{position:absolute;top:14px;right:12.5%;left:12.5%;height:3px;background:#dde1e8;border-radius:3px;z-index:0}
.hf-wz-track i{display:block;height:100%;width:0;background:var(--accent);border-radius:3px;transition:width .32s ease}
.hf-wz-node{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:var(--sp-2);cursor:default;flex:1}
.hf-wz-dot{
	width:21px;height:21px;border-radius:50%;background:#dde1e8;
	border:5px solid var(--bg);box-sizing:content-box;transition:.2s;
}
.hf-wz-node.on .hf-wz-dot{background:var(--accent)}
.hf-wz-node.here .hf-wz-dot{box-shadow:0 0 0 6px var(--accent-tint)}
.hf-wz-node.on:not(.here){cursor:pointer}
.hf-wz-label{font-size:var(--fs-1);font-weight:600;color:var(--muted)}
.hf-wz-node.on .hf-wz-label{color:var(--accent)}

/* ناوبری */
.hf-wz-nav{
	display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);
	background:var(--card);border:1px solid var(--line);border-radius:var(--r-l);padding:var(--sp-4) var(--sp-4);margin-bottom:var(--sp-4b);
}
.hf-wz-prev,.hf-wz-next{
	display:inline-flex;align-items:center;gap:var(--sp-2);border:0;border-radius:var(--r-m);
	padding:var(--sp-3) var(--sp-4b);font-family:inherit;font-size:var(--fs-3);font-weight:600;cursor:pointer;transition:.15s;
}
.hf-wz-prev{background:#eef0f4;color:var(--ink)}
.hf-wz-prev:hover{background:#e2e6ec}
.hf-wz-next{background:var(--accent);color:var(--card)}
.hf-wz-next:hover{background:#d31f3a}
.hf-wz-next:disabled{opacity:.45;cursor:default}

.hf-wz-msg{
	background:var(--accent-tint);color:#a2122a;border-radius:var(--r-m);
	padding:var(--sp-3) var(--sp-4);font-size:var(--fs-2);margin-bottom:var(--sp-4);
}

/* کارت مرحله */
.hf-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-l);padding:var(--sp-4b) var(--sp-4b);margin-bottom:var(--sp-4)}
.hf-card-head{display:flex;align-items:center;gap:var(--sp-4);margin-bottom:var(--sp-4)}
.hf-card-head h3{font-size:var(--fs-4);font-weight:800;color:var(--ink);margin:0;flex:1}

.hf-note-warn{
	display:flex;align-items:flex-start;gap:var(--sp-3);margin:var(--sp-4) 0 0;
	background:#fdf6e3;border-radius:var(--r-m);padding:var(--sp-4) var(--sp-4);font-size:var(--fs-2);color:#7a5c14;line-height:1.95;
}
.hf-note-warn span{
	flex:none;width:22px;height:22px;border-radius:50%;border:1.5px solid #c9a53c;color:#a4801c;
	display:grid;place-items:center;font-weight:800;font-size:var(--fs-1);font-family:var(--mono);
}

/* فیلدهای ووکامرس */
/* ووکامرس فرم را چپ‌چین و شناور می‌سازد؛ اینجا کاملاً راست‌چین می‌شود */
.hf-wc-fields .form-row{
	margin:0 0 var(--sp-3);padding:0;float:none;width:auto;
	direction:rtl;text-align:right;
}
.hf-wc-fields label{
	display:block;font-size:var(--fs-1);font-weight:600;color:var(--ink-soft);
	margin-bottom:var(--sp-2);text-align:right;float:none;line-height:1.8;
}

.hf-wc-fields .input-text,.hf-wc-fields select{
	width:100%;box-sizing:border-box;border:1.5px solid var(--line);border-radius:var(--r-s);
	padding:var(--sp-3) var(--sp-3);font-family:inherit;font-size:var(--fs-2);background:var(--card);color:var(--ink);
	direction:rtl;text-align:right;
}
.hf-wc-fields .input-text:focus,.hf-wc-fields select:focus{border-color:var(--accent);outline:none}
.hf-wc-fields .input-text[readonly]{background:#eef0f4;color:var(--ink-soft);cursor:default}
.hf-wc-fields .form-row.woocommerce-invalid .input-text,
.hf-wc-fields .form-row.woocommerce-invalid select{border-color:var(--accent);background:#fff7f8}
.hf-wc-fields .description{
	display:block;margin-top:var(--sp-2);font-size:var(--fs-0);color:var(--muted);line-height:1.9;text-align:right;
}

/* از نسخه‌ی ۴.۳ خودِ PHP ردیف‌ها را مستقیماً اینجا چاپ می‌کند، پس گرید
   باید روی همین بنشیند. سلکتور دوم برای وقتی است که ووکامرس
   (یا افزونه‌ای) باز هم لایه‌ی __field-wrapper را بسازد. */
.hf-billing-fields .woocommerce-billing-fields > h3{display:none}
.hf-billing-fields,
.hf-billing-fields .woocommerce-billing-fields__field-wrapper{
	display:grid;grid-template-columns:1fr 1fr;gap:0 var(--sp-4);direction:rtl;
}
.hf-billing-fields .form-row{grid-column:span 1}
.hf-billing-fields .form-row-wide{grid-column:span 2}

/* ووکامرس دور هر ورودی یک span می‌پیچد */
.hf-wc-fields .woocommerce-input-wrapper{display:block;width:100%}

/* لیبل تمیز: بدون ستاره‌ی الزامی، بدون «(اختیاری)»، با دونقطه‌ی پایانی */
.hf-wc-fields label abbr.required,
.hf-wc-fields label span.required,
.hf-wc-fields label .required,
.hf-wc-fields label .optional{display:none}
.hf-wc-fields label::after{content:':'}

.hf-wc-fields .hf-hidden,
#billing_email_field,#billing_country_field{display:none !important}
.hf-address-fields.hf-collapsed{display:none}
/* بدون جاوااسکریپت، دکمه‌ی «ویرایش دستی نشانی» کار نمی‌کند؛ پس فیلدها باز بمانند */
html:not(.hf-js) .hf-address-fields.hf-collapsed{display:grid}
html:not(.hf-js) .hf-addr-edit{display:none}

/* آدرس‌ها */
.hf-addr-new{
	display:inline-flex;align-items:center;gap:var(--sp-2);background:#eef0f4;border-radius:var(--r-s);
	padding:var(--sp-3) var(--sp-4);font-size:var(--fs-2);font-weight:600;color:var(--ink);transition:.15s;
}
.hf-addr-new:hover{background:var(--ink);color:var(--card)}
.hf-addr-hint{font-size:var(--fs-1);color:var(--muted);margin:var(--sp-4) 0 0}

.hf-ck-addrs{display:flex;flex-direction:column;gap:var(--sp-3)}
.hf-ck-addr{
	display:flex;align-items:center;gap:var(--sp-4);cursor:pointer;
	border:1.5px solid var(--line);border-radius:var(--r-l);padding:var(--sp-4) var(--sp-4b);transition:.15s;
}
.hf-ck-addr.on{border-color:var(--accent)}
.hf-ck-addr input{position:absolute;opacity:0;pointer-events:none}
.hf-ck-check{
	flex:none;width:34px;height:34px;border-radius:var(--r-s);border:2px solid var(--line);
	display:grid;place-items:center;color:transparent;font-weight:800;transition:.15s;
}
.hf-ck-addr.on .hf-ck-check{background:var(--accent);border-color:var(--accent);color:var(--card)}
.hf-ck-body{flex:1;display:flex;flex-direction:column;gap:var(--sp-1);min-width:0}
.hf-ck-body b{font-size:var(--fs-3);color:var(--ink)}
.hf-ck-body span{font-size:var(--fs-2);color:var(--muted);line-height:1.95}
.hf-ck-map{flex:none;width:92px;height:74px;border-radius:var(--r-m);background:var(--bg);display:grid;place-items:center}

/* روش ارسال */
.hf-ship-hint{
	background:#eef1f5;border-radius:var(--r-m);padding:var(--sp-3) var(--sp-4);
	font-size:var(--fs-1);color:var(--ink-soft);line-height:2;margin:0 0 var(--sp-4b);
}
.hf-ship-list{display:flex;flex-direction:column;gap:var(--sp-3)}
.hf-ship-row{
	display:flex;align-items:flex-start;gap:var(--sp-4);cursor:pointer;
	border:1.5px solid var(--line);border-radius:var(--r-l);padding:var(--sp-4);transition:.15s;
}
.hf-ship-row.on{border-color:var(--accent)}
.hf-ship-row input{position:absolute;opacity:0;pointer-events:none}
.hf-ship-box{flex:none;width:62px;height:56px;border-radius:var(--r-m);background:var(--bg);color:#9aa3b0;display:grid;place-items:center}
.hf-ship-box svg{width:34px;height:34px}
.hf-ship-info{flex:1;display:flex;flex-direction:column;gap:var(--sp-1);min-width:0}
.hf-ship-info b{font-size:var(--fs-3);color:var(--ink)}
.hf-ship-sub{font-size:var(--fs-1);color:var(--muted);line-height:1.9}
.hf-ship-warn{background:#fdeef0;border-radius:var(--r-s);padding:var(--sp-3) var(--sp-3);font-size:var(--fs-1);color:#8c2033;line-height:1.95;margin:var(--sp-1) 0}
.hf-ship-warn b{font-size:var(--fs-1);color:#8c2033}
.hf-ship-price{font-size:var(--fs-3);font-weight:800;color:var(--accent);font-family:var(--mono);direction:rtl}
.hf-ship-eta{font-size:var(--fs-1);color:var(--muted)}
.hf-ship-tag{align-self:flex-start;background:var(--accent);color:var(--card);border-radius:var(--r-xs);padding:var(--sp-1) var(--sp-3);font-size:var(--fs-0);font-weight:700}
.hf-ship-check{
	flex:none;width:30px;height:30px;border-radius:var(--r-s);border:2px solid var(--line);
	display:grid;place-items:center;color:transparent;font-weight:800;transition:.15s;
}
.hf-ship-row.on .hf-ship-check{background:var(--accent);border-color:var(--accent);color:var(--card)}
.hf-ship-none{background:var(--accent-tint);color:#a2122a;border-radius:var(--r-m);padding:var(--sp-4) var(--sp-4);font-size:var(--fs-2)}

.hf-ship-summary{display:flex;align-items:center;gap:var(--sp-4);margin-top:var(--sp-4b);padding-top:var(--sp-4b);border-top:1px solid var(--line)}
.hf-ship-sum-ico{flex:none;width:54px;height:50px;border-radius:var(--r-m);background:var(--bg);color:#9aa3b0;display:grid;place-items:center}
.hf-ship-sum-ico svg{width:28px;height:28px}
.hf-ship-summary p{margin:0 0 var(--sp-1);font-size:var(--fs-2);color:var(--muted)}
.hf-ship-summary b{color:var(--ink)}

.woocommerce-terms-and-conditions-wrapper{margin-top:var(--sp-4)}
.woocommerce-form__label-for-checkbox{display:flex;align-items:center;gap:var(--sp-3);font-size:var(--fs-2);color:var(--ink)}

/* بررسی نهایی */
.hf-review-total{
	display:flex;align-items:center;justify-content:space-between;
	background:var(--navy);color:var(--card);border-radius:var(--r-m);padding:var(--sp-4) var(--sp-4b);margin-bottom:var(--sp-4);
}
.hf-review-total span{font-size:var(--fs-2);color:#b9c0cd}
.hf-review-total b{font-size:var(--fs-5);font-weight:800;font-family:var(--mono)}

.hf-review-lines{background:var(--card);border:1px solid var(--line);border-radius:var(--r-l);padding:var(--sp-2) var(--sp-4b);margin-top:var(--sp-4)}
.hf-rl{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-3) 0;font-size:var(--fs-2);color:var(--ink-soft)}
.hf-rl + .hf-rl{border-top:1px solid #f0f2f5}
.hf-rl b{color:var(--ink);font-weight:700}
.hf-rl-head{color:var(--muted)}
.hf-rl-sub{color:var(--muted);font-size:var(--fs-1);padding:var(--sp-2) 0}
.hf-rl-sub + .hf-rl-sub{border-top:0}
.hf-rl-off span:last-child{color:var(--accent);font-weight:700}
.hf-rl-final b{color:#2f8a4e;font-size:var(--fs-4)}

/* اقلام سفارش — همیشه باز، چون باید دیده شوند */
.hf-review-items{
	background:var(--card);border:1px solid var(--line);border-radius:var(--r-l);
	padding:var(--sp-2) var(--sp-4b) var(--sp-4);margin-top:var(--sp-4);
}
.hf-ri-head{
	display:flex;align-items:center;justify-content:space-between;
	padding:var(--sp-4) 0;border-bottom:1px solid var(--line);
}
.hf-ri-head h4{font-size:var(--fs-3);font-weight:800;color:var(--ink);margin:0}
.hf-ri-head span{font-size:var(--fs-1);color:var(--muted);font-family:var(--mono)}

.hf-ri{display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-4) 0;border-bottom:1px solid #f2f4f7}
.hf-ri:last-of-type{border-bottom:0}
.hf-ri-thumb{flex:none;width:56px;height:56px;border-radius:var(--r-s);overflow:hidden;background:var(--bg)}
.hf-ri-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.hf-ri-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--sp-1)}
.hf-ri-body b{font-size:var(--fs-2);font-weight:600;color:var(--ink);line-height:1.85}
.hf-ri-meta{font-size:var(--fs-0);color:var(--muted)}
.hf-ri-meta dl{display:flex;flex-wrap:wrap;gap:var(--sp-1) var(--sp-3);margin:0}
.hf-ri-meta dt,.hf-ri-meta dd{margin:0}
.hf-ri-qty{font-size:var(--fs-1);color:var(--muted);font-family:var(--mono)}
.hf-ri-price{flex:none;font-size:var(--fs-2);font-weight:800;color:var(--ink);font-family:var(--mono);white-space:nowrap}

.hf-ri-note{
	margin:var(--sp-4) 0 var(--sp-1);background:#fdf6e3;border-radius:var(--r-s);padding:var(--sp-3) var(--sp-3);
	font-size:var(--fs-1);color:#7a5c14;line-height:1.95;
}

/* دکمه‌ی نهایی */
#place_order{
	width:100%;background:var(--accent);color:var(--card);border:0;border-radius:var(--r-m);
	padding:var(--sp-4);font-family:inherit;font-size:var(--fs-4);font-weight:700;cursor:pointer;transition:.15s;
}
#place_order:hover{background:#d31f3a}
#place_order.hf-locked,#place_order:disabled{opacity:.45;cursor:not-allowed}

/* صفحه‌ی موفقیت */
.hf-success{
	max-width:560px;margin:0 auto;text-align:center;
	background:#e9f6ec;border-radius:var(--r-xl);padding:var(--sp-7) var(--sp-6) var(--sp-5);
}
.hf-success-mark{width:104px;height:104px;margin:0 auto var(--sp-5)}
.hf-success-mark svg{width:100%;height:100%}
.hf-success h2{font-size:var(--fs-6);font-weight:800;color:#3f7a53;margin:0 0 var(--sp-4)}
.hf-success-sub{font-size:var(--fs-2);color:#5f8c6e;margin:0 0 var(--sp-4b);line-height:2}

.hf-success-contact{display:flex;flex-direction:column;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-5)}
.hf-success-bale{width:56px;height:56px;border-radius:50%;background:#3f7a53;display:grid;place-items:center}
.hf-success-phone{font-family:var(--mono);font-size:var(--fs-5);font-weight:700;color:#2f6041}
.hf-success-apps{font-size:var(--fs-1);color:#6f9880}

.hf-success-amount{
	background:var(--card);border-radius:var(--r-m);padding:var(--sp-4) var(--sp-4b);margin-bottom:var(--sp-4);
	display:flex;align-items:center;justify-content:space-between;
}
.hf-success-amount span{font-size:var(--fs-2);color:var(--muted)}
.hf-success-amount b{font-size:var(--fs-6);font-weight:800;color:var(--ink);font-family:var(--mono)}

.hf-success-card{background:var(--card);border-radius:var(--r-m);padding:var(--sp-4);margin-bottom:var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-2)}
.hf-sc-num{font-family:var(--mono);font-size:var(--fs-6);font-weight:700;letter-spacing:.1em;color:var(--ink)}
.hf-sc-owner{font-size:var(--fs-2);color:var(--ink-soft)}
.hf-sc-bank{font-size:var(--fs-1);color:var(--muted)}
.hf-success-note{font-size:var(--fs-1);color:#5f8c6e;line-height:2;margin:0 0 var(--sp-4b)}

.hf-success-bar{
	display:flex;align-items:center;gap:var(--sp-3);background:var(--card);border-radius:var(--r-m);
	padding:var(--sp-4) var(--sp-4);font-size:var(--fs-2);color:var(--ink);transition:.15s;
}
.hf-success-bar:hover{box-shadow:var(--sh-2d)}
.hf-sb-ico{color:#3f7a53}
.hf-sb-order{flex:1;text-align:right}
.hf-sb-order b{font-family:var(--mono)}
.hf-sb-total{font-weight:700;font-family:var(--mono)}
.hf-sb-arrow{color:var(--muted)}

@media(max-width:700px){
	.hf-billing-fields,
	.hf-billing-fields .woocommerce-billing-fields__field-wrapper{grid-template-columns:1fr}
	.hf-wz-label{font-size:var(--fs-0)}
	.hf-card{padding:var(--sp-4b) var(--sp-4);border-radius:var(--r-l)}
	.hf-ck-map{display:none}
	.hf-wz-nav{padding:var(--sp-3)}
	.hf-wz-prev,.hf-wz-next{padding:var(--sp-3) var(--sp-4);font-size:var(--fs-2)}
}

/* ===================================================================
   v3.2 — درباره‌ی ما
   =================================================================== */

.hf-about{max-width:960px;margin:0 auto}

.hf-ab-hero{
	background:linear-gradient(150deg,var(--navy),#232c42);color:var(--card);
	border-radius:var(--r-xl);padding:var(--sp-7b) var(--sp-7);margin-bottom:var(--sp-7);
}
.hf-ab-eyebrow{
	display:inline-block;background:rgba(238,43,71,.16);color:#ff8598;
	border-radius:var(--r-pill);padding:var(--sp-2) var(--sp-4);font-size:var(--fs-1);font-weight:700;margin-bottom:var(--sp-4b);
}
.hf-ab-hero h1{font-size:34px;font-weight:800;color:var(--card);margin:0 0 var(--sp-4b);line-height:1.5}
.hf-ab-hero p{max-width:660px;margin:0;font-size:var(--fs-4);line-height:2.3;color:#c3cad8}

.hf-ab-block{margin-bottom:var(--sp-7)}
.hf-ab-block h2{
	font-size:var(--fs-7);font-weight:800;color:var(--ink);margin:0 0 var(--sp-4b);
	padding-bottom:var(--sp-4);border-bottom:2px solid var(--line);
}
.hf-ab-block > p{font-size:var(--fs-4);color:var(--ink-soft);line-height:2.3;margin:0 0 var(--sp-4)}
.hf-ab-block b{color:var(--ink);font-weight:700}
.hf-ab-small{font-size:var(--fs-2) !important;color:var(--muted) !important;line-height:2.15 !important}

.hf-ab-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-4);margin:var(--sp-5) 0}
.hf-ab-stats > div{
	background:var(--card);border:1px solid var(--line);border-radius:var(--r-l);padding:var(--sp-5) var(--sp-4b);text-align:center;
}
.hf-ab-stats b{display:block;font-size:var(--fs-9);font-weight:800;color:var(--accent);font-family:var(--mono);margin-bottom:var(--sp-3)}
.hf-ab-stats span{font-size:var(--fs-1);color:var(--muted);line-height:1.95}

.hf-ab-services{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-4);margin-top:var(--sp-5)}
.hf-ab-svc{
	background:var(--card);border:1px solid var(--line);border-radius:var(--r-l);padding:var(--sp-5) var(--sp-5);transition:.15s;
}
.hf-ab-svc:hover{border-color:var(--accent);box-shadow:var(--sh-3d)}
.hf-ab-svc-ico{
	display:grid;place-items:center;width:52px;height:52px;border-radius:var(--r-m);
	background:var(--accent-tint);color:var(--accent);margin-bottom:var(--sp-4);
}
.hf-ab-svc-ico svg{width:28px;height:28px}
.hf-ab-svc h3{font-size:var(--fs-4);font-weight:700;color:var(--ink);margin:0 0 var(--sp-3)}
.hf-ab-svc p{font-size:var(--fs-2);color:var(--muted);line-height:2.05;margin:0}

.hf-ab-mats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-4);margin:var(--sp-5) 0}
.hf-ab-mats > div{background:var(--bg);border-radius:var(--r-m);padding:var(--sp-4b) var(--sp-4b)}
.hf-ab-mats b{display:block;font-size:var(--fs-3);color:var(--ink);margin-bottom:var(--sp-2)}
.hf-ab-mats span{font-size:var(--fs-1);color:var(--muted);line-height:2}

.hf-ab-steps{counter-reset:s;list-style:none;margin:var(--sp-5) 0 0;padding:0}
.hf-ab-steps li{
	counter-increment:s;position:relative;padding:var(--sp-4) var(--sp-8) var(--sp-4) var(--sp-4b);margin-bottom:var(--sp-3);
	background:var(--card);border:1px solid var(--line);border-radius:var(--r-m);
	font-size:var(--fs-3);color:var(--ink-soft);line-height:2.05;
}
.hf-ab-steps li::before{
	content:counter(s);position:absolute;inset-inline-start:18px;top:15px;
	width:30px;height:30px;border-radius:50%;background:var(--accent);color:var(--card);
	display:grid;place-items:center;font-weight:800;font-size:var(--fs-2);font-family:var(--mono);
}

.hf-ab-cta{
	background:var(--bg);border:1px solid var(--line);border-radius:var(--r-xl);
	padding:var(--sp-6b) var(--sp-6);text-align:center;
}
.hf-ab-cta h2{font-size:var(--fs-6);font-weight:800;color:var(--ink);margin:0 0 var(--sp-3);border:0;padding:0}
.hf-ab-cta > p{font-size:var(--fs-3);color:var(--ink-soft);margin:0 0 var(--sp-5)}
.hf-ab-cta-btns{display:flex;gap:var(--sp-3);justify-content:center;flex-wrap:wrap;margin-bottom:var(--sp-4b)}
.hf-ab-cta-btns .btn-red{padding:var(--sp-4) var(--sp-6)}
.hf-ab-cta-alt{
	background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-m);padding:var(--sp-3) var(--sp-6);
	font-size:var(--fs-3);font-weight:600;color:var(--ink);transition:.15s;
}
.hf-ab-cta-alt:hover{border-color:var(--ink)}
.hf-ab-cta-note{font-size:var(--fs-2);color:var(--muted);margin:0}
.hf-ab-cta-note a{color:var(--accent);font-family:var(--mono);font-weight:600}

@media(max-width:900px){
	.hf-ab-services,.hf-ab-mats{grid-template-columns:1fr 1fr}
	.hf-ab-stats{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
	.hf-ab-hero{padding:var(--sp-6) var(--sp-5);border-radius:var(--r-l)}
	.hf-ab-hero h1{font-size:var(--fs-7)}
	.hf-ab-services,.hf-ab-mats,.hf-ab-stats{grid-template-columns:1fr}
}

/* ===================================================================
   v3.3 — سبد خرید دوستونه
   =================================================================== */

.hf-cart{max-width:1180px;margin:0 auto}
.hf-cart-grid{display:grid;grid-template-columns:1fr 340px;gap:var(--sp-4b);align-items:start}

/* اقلام */
.hf-cart-items{display:flex;flex-direction:column;gap:var(--sp-3)}
.hf-ci{
	display:flex;align-items:flex-start;gap:var(--sp-4b);
	background:var(--card);border:1px solid var(--line);border-radius:var(--r-l);padding:var(--sp-4b);
}
.hf-ci-thumb{flex:none;width:96px;height:96px;border-radius:var(--r-m);overflow:hidden;background:var(--bg)}
.hf-ci-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.hf-ci-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--sp-3)}
.hf-ci-name{font-size:var(--fs-3);font-weight:700;color:var(--ink);margin:0;line-height:1.9}
.hf-ci-name a{color:var(--ink)}
.hf-ci-name a:hover{color:var(--accent)}
.hf-ci-meta{font-size:var(--fs-1);color:var(--muted);line-height:1.95}
.hf-ci-meta p{margin:0;display:inline-block}
.hf-ci-meta dl{display:flex;flex-wrap:wrap;gap:var(--sp-1) var(--sp-4);margin:0}
.hf-ci-meta dt{font-weight:600;margin:0}
.hf-ci-meta dd{margin:0}

.hf-ci-tools{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;margin-top:var(--sp-1)}
.hf-ci-remove{
	display:inline-flex;align-items:center;gap:var(--sp-2);background:var(--bg);border-radius:var(--r-s);
	padding:var(--sp-2) var(--sp-4);font-size:var(--fs-1);font-weight:600;color:var(--ink-soft);transition:.15s;
}
.hf-ci-remove:hover{background:var(--accent-tint);color:var(--accent)}

.hf-ci-qty{display:inline-flex;align-items:center;gap:var(--sp-1);background:var(--bg);border-radius:var(--r-s);padding:var(--sp-1)}
.hf-ci-qty button{
	width:34px;height:34px;border:0;border-radius:var(--r-s);background:var(--card);color:var(--ink);
	display:grid;place-items:center;cursor:pointer;transition:.15s;
}
.hf-ci-qty button:disabled{opacity:.35;cursor:not-allowed}
.hf-ci-qty .hf-qty-plus{background:var(--accent);color:var(--card)}
.hf-ci-qty .hf-qty-plus:hover{background:#d31f3a}
.hf-ci-qty .hf-qty-minus:hover{background:#e6e9ee}
.hf-qty-input{
	width:44px;height:34px;border:0;background:transparent;text-align:center;
	font-family:var(--mono);font-size:var(--fs-3);font-weight:700;color:var(--ink);
	-moz-appearance:textfield;
}
.hf-qty-input::-webkit-outer-spin-button,.hf-qty-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.hf-ci-qty-fixed{font-size:var(--fs-1);color:var(--muted)}

.hf-ci-price{flex:none;text-align:left;display:flex;flex-direction:column;gap:var(--sp-1);align-items:flex-end}
.hf-ci-price span{font-size:var(--fs-1);color:var(--muted)}
.hf-ci-price b{font-size:var(--fs-3);font-weight:800;color:var(--ink);font-family:var(--mono);white-space:nowrap}

/* دکمه‌ی به‌روزرسانی: فقط بدون جاوااسکریپت */
html.hf-js .hf-cart-update{display:none}
.hf-cart-update{margin-top:var(--sp-2)}
.hf-cart-update-btn{
	background:var(--ink);color:var(--card);border:0;border-radius:var(--r-m);padding:var(--sp-3) var(--sp-5);
	font-family:inherit;font-size:var(--fs-2);font-weight:600;cursor:pointer;
}
.hf-cart.is-updating .hf-cart-items{opacity:.55;pointer-events:none;transition:opacity .15s}

/* ستون کناری */
.hf-cart-side{display:flex;flex-direction:column;gap:var(--sp-4);position:sticky;top:96px}
.hf-cs-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-l);padding:var(--sp-4b)}
.hf-cs-card h2{
	font-size:var(--fs-4);font-weight:800;color:var(--ink);margin:0 0 var(--sp-4);
	padding-bottom:var(--sp-4);border-bottom:1px solid var(--line);
}

.hf-cs-coupon-head{
	display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);
	cursor:pointer;font-size:var(--fs-2);color:var(--ink-soft);font-family:inherit;font-weight:600;
}
.hf-cs-coupon-head input{position:absolute;opacity:0;pointer-events:none}
.hf-switch-ui{
	flex:none;width:44px;height:24px;border-radius:var(--r-pill);background:#d8dce3;
	position:relative;transition:.18s;
}
.hf-switch-ui i{
	position:absolute;top:3px;inset-inline-start:3px;width:18px;height:18px;border-radius:50%;
	background:var(--card);transition:.18s;
}
.hf-cs-coupon-head input:checked + .hf-switch-ui{background:var(--accent)}
.hf-cs-coupon-head input:checked + .hf-switch-ui i{transform:translateX(-20px)}

.hf-cs-coupon-body{margin-top:var(--sp-4)}
.hf-cs-coupon-row{display:flex;gap:var(--sp-2)}
.hf-coupon-input{
	flex:1;min-width:0;border:1.5px solid var(--line);border-radius:var(--r-s);padding:var(--sp-3) var(--sp-3);
	font-family:inherit;font-size:var(--fs-2);color:var(--ink);background:var(--card);
}
.hf-coupon-input:focus{border-color:var(--accent);outline:none}
.hf-coupon-btn{
	flex:none;background:var(--ink);color:var(--card);border:0;border-radius:var(--r-s);padding:var(--sp-3) var(--sp-4b);
	font-family:inherit;font-size:var(--fs-2);font-weight:600;cursor:pointer;
}
.hf-coupon-btn:hover{background:#000}
.hf-cs-coupon-on{
	display:flex;align-items:center;justify-content:space-between;margin-top:var(--sp-3);
	background:#eaf7ee;border-radius:var(--r-s);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-1);color:#2b6b40;
}
.hf-cs-coupon-on span{font-family:var(--mono);font-weight:700}
.hf-cs-coupon-on a{color:var(--accent);font-weight:600}

.hf-cs-line{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-3) 0;font-size:var(--fs-2);color:var(--ink-soft)}
.hf-cs-off span:last-child{color:var(--accent);font-weight:700;font-family:var(--mono)}

.hf-cs-total{
	display:flex;align-items:center;justify-content:space-between;
	margin-top:var(--sp-4);padding-top:var(--sp-4);border-top:1px solid var(--line);
}
.hf-cs-total span{font-size:var(--fs-2);color:var(--ink-soft);font-weight:600}
.hf-cs-total b{font-size:var(--fs-4);font-weight:800;color:var(--ink);font-family:var(--mono)}

.hf-cs-checkout{
	display:flex;align-items:center;justify-content:center;gap:var(--sp-3);margin-top:var(--sp-4);
	background:var(--accent);color:var(--card);border-radius:var(--r-m);padding:var(--sp-4);
	font-size:var(--fs-3);font-weight:700;transition:.15s;
}
.hf-cs-checkout:hover{background:#d31f3a;color:var(--card)}

.hf-cs-note{display:flex;align-items:flex-start;gap:var(--sp-3);background:#eef1f5;border-radius:var(--r-l);padding:var(--sp-4) var(--sp-4b)}
.hf-cs-note-ico{
	flex:none;width:24px;height:24px;border-radius:50%;border:1.5px solid #98a1b0;color:#6d7686;
	display:grid;place-items:center;font-family:var(--mono);font-size:var(--fs-1);font-weight:800;
}
.hf-cs-note p{margin:0;font-size:var(--fs-1);color:var(--muted);line-height:2.05}
.hf-cs-note a{color:var(--ink-soft);font-weight:600;text-decoration:underline}
.hf-cs-note a:hover{color:var(--accent)}

.hf-cs-promo{
	display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);width:100%;
	background:var(--navy);border:0;border-radius:var(--r-l);padding:var(--sp-4b);cursor:pointer;
	font-family:inherit;text-align:right;transition:.15s;
}
.hf-cs-promo:hover{background:#0f1420}
.hf-cs-promo-text{display:flex;flex-direction:column;gap:var(--sp-1)}
.hf-cs-promo-text b{font-size:var(--fs-4);font-weight:800;color:var(--accent)}
.hf-cs-promo-text span{font-size:var(--fs-1);color:#aab2c0}
.hf-cs-promo-code{
	flex:none;border:1.5px dashed #5b6478;border-radius:var(--r-s);padding:var(--sp-3) var(--sp-4);
	font-family:var(--mono);font-size:var(--fs-1);font-weight:700;color:var(--card);letter-spacing:.05em;
}

@media(max-width:900px){
	.hf-cart-grid{grid-template-columns:1fr}
	.hf-cart-side{position:static}
}
@media(max-width:560px){
	.hf-ci{flex-wrap:wrap;padding:var(--sp-4)}
	.hf-ci-thumb{width:74px;height:74px}
	.hf-ci-price{width:100%;flex-direction:row;justify-content:space-between;align-items:center;
		border-top:1px solid var(--line);padding-top:var(--sp-3);margin-top:var(--sp-1)}
}

/* v3.7 — روش ارسالِ غیرقابل انتخاب */
.hf-ship-row.off{opacity:.6;cursor:not-allowed;background:#fafbfc;border-style:dashed}
.hf-ship-row.off .hf-ship-box{background:#f0f2f5;color:#bcc3cd}
.hf-ship-row.off .hf-ship-check{border-color:#e2e6ec;background:#f4f6f8}
.hf-ship-off{
	display:inline-block;background:#eef1f5;border-radius:var(--r-xs);padding:var(--sp-2) var(--sp-3);
	font-size:var(--fs-1);color:#7a828f;align-self:flex-start;margin-top:var(--sp-1);
}
.hf-ship-summary p b{font-family:var(--mono)}

/* ===================================================================
   v3.9 — روش‌های پرداخت
   =================================================================== */

.woocommerce-checkout-payment{background:transparent;border-radius:0}
.woocommerce-checkout-payment ul.payment_methods{
	list-style:none;margin:0 0 var(--sp-4);padding:0;border:0;
	display:flex;flex-direction:column;gap:var(--sp-3);
}
.woocommerce-checkout-payment ul.payment_methods li{
	background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-l);
	padding:0;margin:0;transition:.15s;list-style:none;
	display:flex;align-items:center;gap:var(--sp-4);
	padding:var(--sp-4) var(--sp-4b);flex-wrap:wrap;
}
.woocommerce-checkout-payment ul.payment_methods li:has(input:checked){border-color:var(--accent);box-shadow:var(--sh-2d)}

.woocommerce-checkout-payment ul.payment_methods li input[type=radio]{
	appearance:none;-webkit-appearance:none;flex:none;order:3;
	width:22px;height:22px;border-radius:50%;border:2px solid var(--line);
	background:var(--card);cursor:pointer;transition:.15s;margin:0;position:relative;
}
.woocommerce-checkout-payment ul.payment_methods li input[type=radio]:checked{
	border-color:var(--accent);border-width:6px;
}
.woocommerce-checkout-payment ul.payment_methods li label{
	display:flex;align-items:center;gap:var(--sp-4);order:1;flex:1;min-width:0;
	font-size:var(--fs-4);font-weight:700;color:var(--ink);cursor:pointer;margin:0;
	flex-direction:row-reverse;justify-content:flex-end;
}
/* آیکون در یک ستون هم‌عرض (اول، سمت راست)، بعد متن — همه یک اندازه و تراز */
.woocommerce-checkout-payment ul.payment_methods li label img,
.woocommerce-checkout-payment ul.payment_methods li label img.hf-pay-icon{
	order:0;flex:none;
	width:40px;height:32px;max-height:32px;object-fit:contain;object-position:center;
	margin:0;display:inline-block;
}
.woocommerce-checkout-payment ul.payment_methods li .payment_box{order:4;flex-basis:100%}

.woocommerce-checkout-payment .payment_box{
	background:var(--bg);border-radius:var(--r-m);padding:var(--sp-3) var(--sp-4);margin:var(--sp-3) 0 0;
	font-size:var(--fs-1);color:var(--ink-soft);line-height:2;
}
.woocommerce-checkout-payment .payment_box::before{display:none}
.woocommerce-checkout-payment .payment_box p{margin:0}
.woocommerce-checkout-payment .payment_box span[dir=ltr]{font-family:var(--mono);color:var(--accent);font-weight:700}

.woocommerce-privacy-policy-text{
	font-size:var(--fs-1);color:var(--muted);line-height:2;margin:var(--sp-4) 0 var(--sp-3);
}
.woocommerce-privacy-policy-text a{color:var(--ink-soft);text-decoration:underline}

.woocommerce-terms-and-conditions-wrapper{margin-top:var(--sp-2)}
.woocommerce-terms-and-conditions-wrapper .form-row{margin:0 0 var(--sp-3);padding:0}
.validate-required label.woocommerce-form__label-for-checkbox{
	display:flex;align-items:flex-start;gap:var(--sp-3);font-size:var(--fs-2);color:var(--ink);line-height:1.95;
}
.woocommerce-form__label-for-checkbox input[type=checkbox]{
	flex:none;margin-top:var(--sp-1);width:19px;height:19px;accent-color:var(--accent);cursor:pointer;
}
.woocommerce-terms-and-conditions-checkbox-text a{color:var(--accent);font-weight:700}

/* v4.0 — کادر بازشوی قوانین داخل صفحه حذف شده؛ اگر افزونه‌ای بازش گرداند، پنهان بماند */
.woocommerce-terms-and-conditions{display:none !important}
.hf-terms-notice{
	font-size:var(--fs-1);color:var(--muted);line-height:2;margin:var(--sp-2) 0 var(--sp-3);
}
.hf-terms-notice a{color:var(--ink-soft);text-decoration:underline}
.hf-terms-notice a:hover{color:var(--accent)}

/* v4.2 — دکمه‌ی ثبت سفارش ووکامرس پنهان است؛ دکمه‌ی «پرداخت» ویزارد جایش را گرفته */
html.hf-js #place_order{display:none !important}
.hf-wz-next.is-final{padding:var(--sp-3) var(--sp-6)}
.hf-wz-next:disabled{opacity:.45;cursor:not-allowed}

/* v4.3 — بدون جهش چیدمان هنگام بارگذاری */
.hf-addr-edit{
	background:none;border:0;padding:var(--sp-2) 0 0;margin:0;cursor:pointer;
	font-family:inherit;font-size:var(--fs-1);font-weight:600;color:var(--ink-soft);
	text-decoration:underline;text-underline-offset:3px;
}
.hf-addr-edit:hover{color:var(--accent)}
.hf-account-fields{margin-top:var(--sp-4)}

/* ===================================================================
   v4.5 — جزئیات سفارش
   =================================================================== */

.hf-order{max-width:1100px}

.hf-od-top{display:flex;justify-content:flex-start;margin-bottom:var(--sp-4)}
.hf-od-new{
	display:inline-flex;align-items:center;gap:var(--sp-2);background:var(--ink);color:var(--card);
	border-radius:var(--r-m);padding:var(--sp-3) var(--sp-4b);font-size:var(--fs-2);font-weight:600;transition:.15s;
}
.hf-od-new:hover{background:#000;color:var(--card)}
.hf-od-new span{font-size:var(--fs-5);line-height:1;font-weight:400}

/* نوار وضعیت */
.hf-od-bar{
	display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4b);
	background:var(--card);border:1px solid var(--line);border-radius:var(--r-l);padding:var(--sp-4) var(--sp-4b);margin-bottom:var(--sp-4);
}
.hf-od-back{
	display:inline-flex;align-items:center;gap:var(--sp-2);background:var(--bg);border-radius:var(--r-s);
	padding:var(--sp-3) var(--sp-4b);font-size:var(--fs-2);font-weight:600;color:var(--ink);transition:.15s;
}
.hf-od-back:hover{background:var(--ink);color:var(--card)}
.hf-od-state{display:flex;align-items:center;gap:var(--sp-3)}
.hf-od-state-label{font-size:var(--fs-1);color:var(--ink-soft);white-space:nowrap}
.hf-od-state-ico{color:var(--muted)}

.hf-od-track{
	display:block;width:120px;height:7px;border-radius:var(--r-pill);background:#e6e9ee;overflow:hidden;
}
.hf-od-track.sm{width:100px;height:6px;margin-top:var(--sp-2)}
.hf-od-track i{display:block;height:100%;border-radius:var(--r-pill)}
.hf-od-track i.tone-wait{background:#c3c9d2}
.hf-od-track i.tone-hold{background:#f0b429}
.hf-od-track i.tone-bad{background:var(--accent)}
.hf-od-track i.tone-go{background:#3b82f6}
.hf-od-track i.tone-done{background:#3f9c62}
.hf-od-track i.tone-muted{background:#9aa3b0}

/* چیدمان دو ستونه */
.hf-od-grid{display:grid;grid-template-columns:320px 1fr;gap:var(--sp-4);align-items:start}
.hf-od-main{display:flex;flex-direction:column;gap:var(--sp-4)}
.hf-od-side{display:flex;flex-direction:column;gap:var(--sp-4);order:-1}
.hf-od-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-l);padding:var(--sp-4) var(--sp-4b)}

/* اقلام */
.hf-od-item{display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-3) 0}
.hf-od-item + .hf-od-item{border-top:1px solid #f2f4f7}
.hf-od-thumb{flex:none;width:58px;height:58px;border-radius:var(--r-m);overflow:hidden;background:var(--bg)}
.hf-od-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.hf-od-item-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--sp-1)}
.hf-od-item-body b{font-size:var(--fs-2);font-weight:600;color:var(--ink);line-height:1.85}
.hf-od-item-meta{font-size:var(--fs-0);color:var(--muted)}
.hf-od-item-meta p{margin:0;display:inline-block}
.hf-od-item-price{flex:none;display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-1)}
.hf-od-item-price b{font-size:var(--fs-2);font-weight:800;color:var(--ink);font-family:var(--mono);white-space:nowrap}
.hf-od-item-price span{font-size:var(--fs-1);color:var(--muted);font-family:var(--mono)}

/* هزینه‌ها */
.hf-od-costs{display:flex;align-items:flex-start;gap:var(--sp-4b)}
.hf-od-costs-ico{flex:none;color:#aeb5bf;margin-top:var(--sp-5)}
.hf-od-costs-lines{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--sp-2)}
.hf-od-costs-lines > div{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);font-size:var(--fs-2)}
.hf-od-costs-lines span{color:var(--muted)}
.hf-od-costs-lines b{color:var(--ink);font-family:var(--mono);font-weight:700;white-space:nowrap}
.hf-od-costs-lines .off b{color:var(--accent)}
.hf-od-costs-lines .sum{padding-top:var(--sp-3);margin-top:var(--sp-1);border-top:1px solid var(--line)}
.hf-od-costs-lines .sum span{color:var(--ink-soft);font-weight:600}
.hf-od-costs-lines .sum b{color:var(--accent);font-size:var(--fs-3);font-weight:800}

/* برچسب بالای هر کارت */
.hf-od-label{
	display:flex;align-items:center;gap:var(--sp-2);margin:0 0 var(--sp-3);
	font-size:var(--fs-1);font-weight:700;color:var(--ink-soft);
}
.hf-od-label::before{content:'';width:3px;height:14px;border-radius:2px;background:var(--accent)}

/* تایم‌لاین */
.hf-od-tl{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4b);padding:var(--sp-4) 0}
.hf-od-tl + .hf-od-tl{border-top:1px solid #f2f4f7}
.hf-od-tl-right{display:flex;flex-direction:column;align-items:flex-end;order:2}
.hf-od-tl-right b{font-size:var(--fs-2);font-weight:600;color:var(--ink-soft)}
.hf-od-tl-left{display:flex;flex-direction:column;gap:var(--sp-1);order:1;text-align:right}
.hf-od-tl-left span{font-size:var(--fs-1);color:var(--muted)}
.hf-od-tl-left b{color:var(--ink-soft);font-weight:700}

/* کارت‌های اطلاعات */
.hf-od-info h3{font-size:var(--fs-3);font-weight:800;color:var(--ink);margin:0 0 var(--sp-3)}
.hf-od-info dl{margin:0;display:flex;flex-direction:column;gap:var(--sp-2)}
.hf-od-info dl > div{display:flex;align-items:flex-start;gap:var(--sp-2);font-size:var(--fs-1);line-height:1.95}
.hf-od-info dt{flex:none;color:var(--ink-soft);font-weight:600}
.hf-od-info dd{margin:0;color:var(--muted);word-break:break-word}

@media(max-width:960px){
	.hf-od-grid{grid-template-columns:1fr}
	.hf-od-side{order:0}
}
@media(max-width:560px){
	.hf-od-bar{flex-direction:column;align-items:stretch;gap:var(--sp-4)}
	.hf-od-state{justify-content:space-between}
	.hf-od-tl{flex-direction:column;align-items:flex-start;gap:var(--sp-3)}
	.hf-od-tl-right{order:1}
	.hf-od-tl-left{order:2}
	.hf-od-item-price{align-items:flex-end}
}

/* ===================================================================
   v4.6 — یادداشت‌ها، سفارش‌های فایل، فضای بیشتر
   =================================================================== */

/* عرض بیشتر و حاشیه‌ی کمتر در موبایل */
.wrap{max-width:var(--hf-w-page);padding:0 var(--sp-5)} /* R-02 */
.hf-order{max-width:none}
.woocommerce-account .woocommerce{grid-template-columns:300px minmax(0,1fr);gap:var(--sp-4b)}
@media(max-width:1100px){ .wrap{padding:0 var(--sp-4)} }
@media(max-width:640px){
	.wrap{padding:0 var(--sp-3)}
	.hf-od-card{padding:var(--sp-4)}
	.hf-od-info dl > div{flex-direction:column;gap:var(--sp-1)}
	.hf-od-item-body b{font-size:var(--fs-2)}
}

/* دکمه‌ی یادداشت */
.hf-od-notes-btn{
	position:relative;flex:none;width:38px;height:38px;border:0;border-radius:var(--r-s);
	background:var(--bg);color:var(--ink-soft);display:grid;place-items:center;cursor:pointer;transition:.15s;
}
.hf-od-notes-btn:hover{background:var(--ink);color:var(--card)}
.hf-od-notes-dot,.hf-od-notes-btn.has-notes::after{
	content:'';position:absolute;top:7px;inset-inline-end:7px;
	width:7px;height:7px;border-radius:50%;background:var(--accent);
}

/* پنجره */
body.hf-modal-open{overflow:hidden}
.hf-notes{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:var(--sp-4b)}
.hf-notes[hidden]{display:none}
.hf-notes-back{position:absolute;inset:0;background:rgba(23,29,43,.45)}
.hf-notes-box{
	position:relative;width:min(560px,100%);max-height:86vh;display:flex;flex-direction:column;
	background:var(--card);border-radius:var(--r-l);overflow:hidden;box-shadow:var(--sh-3d);
}
.hf-notes-head{
	display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);
	padding:var(--sp-4) var(--sp-4b);border-bottom:1px solid var(--line);
}
.hf-notes-head h3{margin:0;font-size:var(--fs-4);font-weight:800;color:var(--ink)}
.hf-notes-head h3 span{font-family:var(--mono)}
.hf-notes-x{
	border:0;background:transparent;color:var(--muted);cursor:pointer;
	width:32px;height:32px;border-radius:var(--r-s);display:grid;place-items:center;transition:.15s;
}
.hf-notes-x:hover{background:var(--bg);color:var(--ink)}

.hf-notes-body{flex:1;min-height:220px;overflow:auto;background:#eceff3;padding:var(--sp-4b)}
.hf-note-empty{height:100%;min-height:200px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-4)}
.hf-note-empty p{margin:0;font-size:var(--fs-2);color:var(--muted)}

.hf-note-list{display:flex;flex-direction:column;gap:var(--sp-3)}
.hf-note{background:var(--card);border-radius:var(--r-m);padding:var(--sp-4) var(--sp-4)}
.hf-note header{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-3)}
.hf-note-dot{width:8px;height:8px;border-radius:50%;background:#3f9c62;flex:none}
.hf-note header b{font-size:var(--fs-2);font-weight:700;color:var(--ink)}
.hf-note-when{flex:1;font-size:var(--fs-0);color:var(--muted)}
.hf-note-del{
	border:0;background:transparent;color:var(--muted);cursor:pointer;
	width:30px;height:30px;border-radius:var(--r-xs);display:grid;place-items:center;transition:.15s;
}
.hf-note-del:hover{background:var(--accent-tint);color:var(--accent)}
.hf-note-text{margin:0;font-size:var(--fs-2);color:var(--ink-soft);line-height:2.05;white-space:pre-wrap}
.hf-note-file{
	display:inline-flex;align-items:center;gap:var(--sp-2);margin-top:var(--sp-3);
	background:var(--bg);border-radius:var(--r-s);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-1);color:var(--ink-soft);
}
.hf-note-file:hover{background:var(--accent-tint);color:var(--accent)}
.hf-note-file em{font-style:normal;color:var(--muted);font-family:var(--mono);font-size:var(--fs-0)}

/* ویرایشگر */
.hf-note-editor{background:#eceff3;padding:0 var(--sp-4b) var(--sp-4b);border-top:0}
.hf-note-editor[hidden]{display:none}
.hf-note-editor-head{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-3)}
.hf-note-editor-head b{font-size:var(--fs-2);font-weight:700;color:var(--ink)}
.hf-note-actions{margin-inline-start:auto;display:flex;gap:var(--sp-2)}
.hf-note-save,.hf-note-cancel{
	display:inline-flex;align-items:center;gap:var(--sp-2);border:1px solid var(--line);background:var(--card);
	border-radius:var(--r-s);padding:var(--sp-2) var(--sp-3);font-family:inherit;font-size:var(--fs-1);font-weight:600;
	color:var(--ink);cursor:pointer;transition:.15s;
}
.hf-note-save:hover{border-color:var(--ink);background:var(--ink);color:var(--card)}
.hf-note-cancel:hover{border-color:var(--accent);color:var(--accent)}
.hf-note-save:disabled{opacity:.5;cursor:default}

.hf-note-upload{
	display:flex;align-items:center;gap:var(--sp-3);background:var(--card);border-radius:var(--r-m);
	padding:var(--sp-3) var(--sp-4);margin-bottom:var(--sp-3);cursor:pointer;
}
.hf-note-upload input{display:none}
.hf-note-upload-cta{font-size:var(--fs-2);font-weight:700;color:var(--accent);white-space:nowrap}
.hf-note-upload-hint{font-size:var(--fs-0);color:var(--muted);font-family:var(--mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hf-note-upload-hint.has-file{color:var(--ink-soft)}

.hf-note-editor textarea{
	width:100%;box-sizing:border-box;border:0;border-radius:var(--r-m);background:var(--card);
	padding:var(--sp-4);font-family:inherit;font-size:var(--fs-2);color:var(--ink);line-height:2;resize:vertical;min-height:110px;
}
.hf-note-editor textarea:focus{outline:2px solid var(--accent);outline-offset:-2px}
.hf-note-err{margin:var(--sp-3) 0 0;background:var(--accent-tint);color:#a2122a;border-radius:var(--r-s);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-1)}
.hf-note-err[hidden]{display:none}

.hf-notes-foot{padding:var(--sp-4) var(--sp-4b);border-top:1px solid var(--line);display:flex;justify-content:flex-start}
.hf-note-new{
	display:inline-flex;align-items:center;gap:var(--sp-2);background:var(--bg);border:0;border-radius:var(--r-s);
	padding:var(--sp-3) var(--sp-4b);font-family:inherit;font-size:var(--fs-2);font-weight:600;color:var(--ink);cursor:pointer;transition:.15s;
}
.hf-note-new:hover{background:var(--accent);color:var(--card)}
.hf-note-new span{font-size:var(--fs-4);line-height:1}

/* فهرست سفارش‌ها */
.hf-orders{display:flex;flex-direction:column;gap:var(--sp-3)}
.hf-orders-empty{background:var(--card);border:1px solid var(--line);border-radius:var(--r-l);padding:var(--sp-6b);text-align:center}
.hf-orders-empty p{margin:0;font-size:var(--fs-2);color:var(--muted)}

@media(max-width:700px){
			.hf-notes{padding:0}
	.hf-notes-box{width:100%;max-height:100vh;height:100%;border-radius:0}
}

/* ===================================================================
   v4.7 — فهرست سفارش‌ها
   =================================================================== */

.hf-orders-head{
	display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);
	margin:0 0 var(--sp-4b);padding-bottom:var(--sp-1);
}
.hf-orders-head h2{font-size:var(--fs-6);font-weight:800;color:var(--ink);margin:0}
.hf-orders-cta{
	display:inline-flex;align-items:center;gap:var(--sp-2);background:var(--ink);color:var(--card);
	border-radius:var(--r-m);padding:var(--sp-3) var(--sp-4b);font-size:var(--fs-2);font-weight:600;transition:.15s;white-space:nowrap;
}
.hf-orders-cta:hover{background:var(--accent);color:var(--card)}
.hf-orders-cta span{font-size:var(--fs-5);line-height:1;font-weight:400}

.hf-orders{display:flex;flex-direction:column;gap:var(--sp-4)}
.hf-ocard{
	background:var(--card);border:1px solid var(--line);border-radius:var(--r-l);overflow:hidden;transition:.15s;
}
.hf-ocard:hover{box-shadow:var(--sh-2d)}

.hf-ocard-top{
	display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-4) var(--sp-4);border-bottom:1px solid #f2f4f7;
}
.hf-ocard-num{flex:none;font-size:var(--fs-1);color:var(--muted)}
.hf-ocard-num b{font-family:var(--mono);color:var(--ink-soft);font-weight:700;margin-inline-start:4px}

.hf-ocard-state{flex:1;display:flex;align-items:center;justify-content:flex-end;gap:var(--sp-3);min-width:0}
.hf-ocard-state em{font-style:normal;font-size:var(--fs-1);color:var(--muted);white-space:nowrap}
.hf-ocard-state .hf-od-track{width:190px;max-width:36vw}

.hf-ocard-open{
	flex:none;width:34px;height:34px;border-radius:var(--r-s);color:var(--muted);
	display:grid;place-items:center;transition:.15s;
}
.hf-ocard-open:hover{background:var(--bg);color:var(--ink)}

.hf-ocard-bot{
	display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap;
	padding:var(--sp-3) var(--sp-4);font-size:var(--fs-1);color:var(--muted);
}
.hf-ocard-bot b{color:var(--ink-soft);font-weight:700;font-family:var(--mono)}
.hf-ocard-total b{color:var(--accent);font-size:var(--fs-2)}
.hf-ocard-changed{margin-inline-start:auto}

.hf-orders-empty{background:var(--card);border:1px solid var(--line);border-radius:var(--r-l);padding:var(--sp-7);text-align:center}
.hf-orders-empty p{margin:0;font-size:var(--fs-2);color:var(--muted)}

@media(max-width:700px){
	.hf-orders-head{flex-direction:column;align-items:stretch;gap:var(--sp-3)}
	.hf-orders-head h2{font-size:var(--fs-5)}
	.hf-ocard-top{flex-wrap:wrap;gap:var(--sp-3)}
	.hf-ocard-num{flex-basis:100%}
	.hf-ocard-state{justify-content:flex-start}
	.hf-ocard-state .hf-od-track{width:120px}
	.hf-ocard-bot{gap:var(--sp-2)}
	.hf-ocard-changed{margin-inline-start:0;flex-basis:100%}
}

/* ===================================================================
   v4.8 — لغو سفارش
   =================================================================== */

.hf-od-cancel-btn{
	position:relative;flex:none;width:38px;height:38px;border:0;border-radius:var(--r-s);
	background:var(--bg);color:var(--muted);display:grid;place-items:center;
	cursor:pointer;transition:.18s cubic-bezier(.2,.8,.3,1);
}
.hf-od-cancel-btn:hover{background:var(--accent-tint);color:var(--accent)}

/* کلیک اول: قرمز و کمی بزرگ‌تر */
.hf-od-cancel-btn.is-armed{
	background:var(--accent);color:var(--card);transform:scale(1.14);
	box-shadow:var(--sh-2d);
}
.hf-od-cancel-btn.is-armed svg{animation:hf-shake .4s ease}
.hf-od-cancel-btn.is-busy{opacity:.6;cursor:default;transform:none}

@keyframes hf-shake{
	0%,100%{transform:rotate(0)}
	25%{transform:rotate(-9deg)}
	75%{transform:rotate(9deg)}
}

/* راهنمای «دوباره بزنید» — دقیقاً هم‌سبک دکمه‌ی حذف سفارش ساخت (hfb-del-hint) */
.hf-cancel-hint{
	position:absolute;top:calc(100% + 10px);left:0;transform:translateY(-4px);
	background:var(--navy);color:var(--card);border-radius:var(--r-xs);padding:var(--sp-2) var(--sp-3);
	font-family:'Vazirmatn',Tahoma,sans-serif;font-size:var(--fs-1);font-weight:600;
	line-height:1.7;white-space:nowrap;pointer-events:none;opacity:0;
	transition:.16s;z-index:6;
}
.hf-cancel-hint::after{
	content:'';position:absolute;bottom:100%;left:13px;
	border:5px solid transparent;border-bottom-color:var(--navy);
}
.hf-od-cancel-btn.is-armed .hf-cancel-hint{opacity:1;transform:translateY(0)}

/* پیام لغو در تایم‌لاین */
.hf-tl-bad{color:var(--accent) !important}
.hf-tl-bad b{color:var(--accent) !important}

/* ===================================================================
   v5.0 — درگاه به‌پرداخت ملت
   =================================================================== */
.hf-mellat-go{text-align:center;padding:var(--sp-6b) var(--sp-4b)}
.hf-mellat-go p{margin:0 0 var(--sp-4b);font-size:var(--fs-3);color:var(--ink-soft)}
.hf-mellat-go .button{background:var(--ink);color:var(--card);border:0;border-radius:var(--r-m);padding:var(--sp-3) var(--sp-5);font-family:inherit;font-size:var(--fs-2);cursor:pointer}
.hf-mellat-go .button:hover{background:var(--accent)}

/* ===================================================================
   v5.0 — دکمه‌ی مرتب‌سازی محصولات
   =================================================================== */
.woocommerce .woocommerce-ordering{margin-bottom:var(--sp-4b)}
.woocommerce .woocommerce-ordering select,
.woocommerce-page .woocommerce-ordering select{
	font-family:inherit;font-size:var(--fs-2);font-weight:600;color:var(--ink);
	background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-m);
	padding:var(--sp-3) var(--sp-6b) var(--sp-3) var(--sp-4);cursor:pointer;transition:.15s;
	-webkit-appearance:none;appearance:none;line-height:1.4;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23697086' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	background-repeat:no-repeat;
	background-position:left 14px center;
	min-width:190px;
}
.woocommerce .woocommerce-ordering select:hover{border-color:var(--ink-soft)}
.woocommerce .woocommerce-ordering select:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent)}
.woocommerce .woocommerce-ordering select option{font-family:inherit;font-size:var(--fs-3);color:var(--ink)}

/* ===================================================================
   v5.1 — اجزای صفحات خدمات (برای محتوایی که کاربر در برگه می‌چسباند)
   =================================================================== */
.hf-svc-hero{background:linear-gradient(135deg,var(--navy),#0f1420);color:var(--card);border-radius:var(--r-xl);padding:var(--sp-6b) var(--sp-6);margin:0 0 var(--sp-6);position:relative;overflow:hidden}
.hf-svc-hero::after{content:'';position:absolute;top:-40%;left:-8%;width:280px;height:280px;background:radial-gradient(circle,rgba(238,43,71,.22),transparent 70%)}
.hf-svc-hero > *{position:relative;z-index:1}
.hf-svc-hero h2{color:var(--card) !important;font-size:var(--fs-7) !important;margin:0 0 var(--sp-3) !important;font-weight:800}
.hf-svc-hero p{color:#c3c9d6 !important;font-size:var(--fs-4);margin:0 !important;max-width:600px}

.hf-svc-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4);margin:var(--sp-5) 0}
.hf-svc-card{background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-l);padding:var(--sp-5);transition:.15s;text-decoration:none;display:block}
.hf-svc-card:hover{border-color:var(--accent);box-shadow:var(--sh-2d);transform:translateY(-2px)}
.hf-svc-card .ic{font-size:var(--fs-9);margin-bottom:var(--sp-3);display:block}
.hf-svc-card h3{margin:0 0 var(--sp-2) !important;font-size:var(--fs-5) !important;color:var(--navy) !important}
.hf-svc-card p{margin:0 !important;font-size:var(--fs-2);color:var(--ink-soft)}

.hf-svc-section{background:var(--card);border:1px solid var(--line);border-radius:var(--r-l);padding:var(--sp-5) var(--sp-5);margin:var(--sp-4b) 0}
.hf-svc-section h3{margin:0 0 var(--sp-3) !important;font-size:var(--fs-5) !important;color:var(--navy) !important;display:flex;align-items:center;gap:var(--sp-3)}
.hf-svc-section h3::before{content:'';width:4px;height:20px;border-radius:2px;background:var(--accent);flex:none}
.hf-svc-section ul{margin:var(--sp-3) 0;padding:0;list-style:none}
.hf-svc-section ul li{position:relative;padding-inline-start:24px;margin-bottom:var(--sp-2);line-height:1.95}
.hf-svc-section ul li::before{content:'';position:absolute;inset-inline-start:5px;top:12px;width:7px;height:7px;border-radius:50%;background:var(--accent)}

.hf-svc-cta{background:linear-gradient(135deg,var(--accent),#c01732);border-radius:var(--r-l);padding:var(--sp-6) var(--sp-6);margin:var(--sp-6) 0;text-align:center;color:var(--card)}
.hf-svc-cta h3{color:var(--card) !important;font-size:var(--fs-6) !important;margin:0 0 var(--sp-2) !important}
.hf-svc-cta p{color:#ffe0e6 !important;margin:0 0 var(--sp-4b) !important;font-size:var(--fs-3)}
.hf-svc-cta a.hf-btn{display:inline-block;background:var(--card);color:var(--accent);border-radius:var(--r-m);padding:var(--sp-3) var(--sp-6);font-weight:700;font-size:var(--fs-4);text-decoration:none;transition:.15s}
.hf-svc-cta a.hf-btn:hover{background:var(--navy);color:var(--card)}

.hf-svc-tag{display:inline-block;background:var(--accent-tint);color:var(--accent);border-radius:var(--r-pill);padding:var(--sp-1) var(--sp-4);font-size:var(--fs-1);font-weight:700;margin-bottom:var(--sp-4)}

.hf-price-note{background:var(--steel-tint);border:1px solid #cddbe9;border-radius:var(--r-m);padding:var(--sp-4) var(--sp-4b);margin:var(--sp-4) 0;font-size:var(--fs-2);color:var(--navy);line-height:1.95}
.hf-price-note b{color:var(--steel)}

@media(max-width:600px){
	.hf-svc-hero{padding:var(--sp-5) var(--sp-5)}
	.hf-svc-hero h2{font-size:var(--fs-6) !important}
	.hf-svc-grid{grid-template-columns:1fr}
	.hf-svc-section{padding:var(--sp-4b) var(--sp-4b)}
}

/* ===================================================================
   v6.2 — فرم‌های احراز هویت موبایل‌محور (ثبت‌نام/ورود/بازیابی)
   =================================================================== */
.hf-auth-card{max-width:640px;margin:var(--sp-7) auto;background:var(--card);border:1px solid var(--line);
	border-radius:var(--r-xl);padding:var(--sp-7) var(--sp-7);box-shadow:var(--sh-3d)}
.hf-auth-card .hf-auth-head{margin-bottom:var(--sp-4b)}
.hf-auth-card h2{font-size:var(--fs-7);font-weight:800;color:var(--ink);text-align:center;margin:var(--sp-4) 0 var(--sp-5)}
.hf-auth-sub{font-size:var(--fs-2);color:var(--muted);line-height:2;margin:0 0 var(--sp-4)}
.hf-auth-sub b{color:var(--ink)}
.hf-fld{display:block;margin-bottom:var(--sp-4)}
.hf-fld span{display:block;font-size:var(--fs-3);font-weight:600;color:var(--ink);margin-bottom:var(--sp-2)}
.hf-fld span i{font-weight:400;color:var(--muted);font-style:normal;font-size:var(--fs-1)}
.hf-fld input{width:100%;box-sizing:border-box;height:52px;border:1.5px solid var(--line-2);
	border-radius:var(--r-m);padding:0 var(--sp-4);font-family:'Vazirmatn',Tahoma,sans-serif;font-size:var(--fs-4);
	color:var(--ink);background:var(--card);transition:.15s}
.hf-fld input:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}
.hf-auth-btn{display:block;width:100%;height:54px;border:0;border-radius:var(--r-m);cursor:pointer;
	background:var(--accent);color:var(--card);font-family:'Vazirmatn',Tahoma,sans-serif;font-size:var(--fs-4);
	font-weight:700;transition:.15s;margin-top:var(--sp-2)}
.hf-auth-btn:hover{filter:brightness(1.05)}
.hf-auth-btn:disabled{opacity:.6;cursor:default}
.hf-auth-link{background:0;border:0;cursor:pointer;color:var(--steel);font-family:inherit;
	font-size:var(--fs-1);font-weight:600;padding:0}
.hf-auth-link:disabled{color:var(--muted);cursor:default}
.hf-auth-resend{text-align:center;margin:var(--sp-1) 0 var(--sp-3)}
.hf-auth-remember{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-2);color:var(--ink-soft);margin:var(--sp-1) 0 var(--sp-4)}
.hf-auth-remember input{width:16px;height:16px;accent-color:var(--accent)}
.hf-auth-msg{margin:var(--sp-3) 0 0;font-size:var(--fs-2);font-weight:600;text-align:center;min-height:1px}
.hf-auth-msg.bad{color:var(--accent)}
.hf-auth-msg.ok{color:#1a8f57}
.hf-auth-alt{text-align:center;font-size:var(--fs-2);color:var(--muted);margin:var(--sp-4) 0 0}
.hf-auth-alt a{color:var(--steel);font-weight:700;text-decoration:none}
.hf-auth-alt span{margin:0 var(--sp-2);color:var(--line-2)}
.hf-auth-done{text-align:center;color:var(--ink);font-weight:700;margin:0 0 var(--sp-4)}
/* زبانه‌های بازیابی (موبایل/ایمیل) */
.hf-auth-tabs{display:flex;gap:var(--sp-2);background:var(--bg);border-radius:var(--r-m);padding:var(--sp-1);margin-bottom:var(--sp-4b)}
.hf-auth-tab{flex:1;height:38px;border:0;border-radius:var(--r-s);cursor:pointer;background:transparent;
	font-family:'Vazirmatn',Tahoma,sans-serif;font-size:var(--fs-2);font-weight:700;color:var(--muted);transition:.15s}
.hf-auth-tab.is-on{background:var(--card);color:var(--ink);box-shadow:var(--sh-1d)}
@media(max-width:680px){.hf-auth-card{margin:var(--sp-4b) var(--sp-3);padding:var(--sp-5) var(--sp-4b)}.hf-auth-card h2{font-size:var(--fs-6)}}

/* v6.6 — لایه‌ی ضدربات: هانی‌پات + کپچای ساده */
.hf-hp{position:absolute!important;left:-9999px!important;top:auto;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}
.hf-cap-fld span{display:flex;align-items:center;gap:var(--sp-2)}
.hf-cap-q{font-weight:800;color:var(--ink);letter-spacing:.5px;font-size:var(--fs-3)}
.hf-cap-new{margin-inline-start:auto;background:var(--bg);border:1px solid var(--line-2);border-radius:var(--r-xs);
	width:28px;height:28px;cursor:pointer;color:var(--ink-soft);font-size:var(--fs-4);line-height:1;transition:.15s}
.hf-cap-new:hover{background:var(--accent-tint);color:var(--accent);border-color:var(--accent-tint)}

/* v6.7 — راهنمای دکمه‌ی پرداخت (چرا غیرفعال است) */
.hf-pay-hint{margin:var(--sp-3) var(--sp-1) 0;font-size:var(--fs-1);font-weight:600;color:var(--accent);
	text-align:center;background:var(--accent-tint);border-radius:var(--r-s);padding:var(--sp-2) var(--sp-3)}

/* ===================================================================
   v6.8 — قاب تصویر هیرو + بلوک یکپارچه‌ی فروشگاه
   =================================================================== */

/* تصویر هیرو (PNG شفاف روی صحنه‌ی تیره) — بدون کادر، فقط هاله‌ی نور ملایم + سایه */
.hero-illo-frame{
	position:relative;width:100%;max-width:680px;margin-inline:auto;
	/* هاله‌ی نور نرم پشت قطعات، بدون خط و جعبه */
	background:radial-gradient(60% 55% at 50% 42%,rgba(255,255,255,.10) 0%,rgba(255,255,255,.035) 45%,rgba(255,255,255,0) 72%);
}
.hero-illo-frame img{
	display:block;width:100%;height:auto;
	filter:drop-shadow(0 22px 30px rgba(0,0,0,.42));
}
@media(max-width:600px){.hero-illo-frame{max-width:520px}}

/* بلوک یکپارچه: عنوان + کاروسل داخل یک کادر واحد */
.shop-block{
	background:var(--card);
	border:1px solid var(--line);
	border-radius:var(--r-xl);
	padding:var(--sp-5) var(--sp-5) var(--sp-4);
	box-shadow:var(--sh-2d);
}
.shop-block .shop-head{
	margin-bottom:var(--sp-4b);padding-bottom:var(--sp-4);
	border-bottom:1px solid var(--line);
}
/* کارت‌ها کمی طوسی تا داخل بلوک سفید جدا و برجسته دیده شوند */
.shop-block .hf-ccard{background:var(--bg)}
@media(max-width:600px){.shop-block{padding:var(--sp-4b) var(--sp-4) var(--sp-3)}}

/* ===================================================================
   v7.0 — نوار کانال بله (سبز، بالای فوتر)
   =================================================================== */
.bale-band{padding:var(--sp-4) 0 var(--sp-6b);background:transparent}
.bale-cta{
	display:flex;align-items:center;gap:var(--sp-4b);flex-wrap:wrap;
	background:linear-gradient(110deg,#2f5a86 0%,#3a8090 52%,#4aab9d 100%);
	border-radius:var(--r-l);padding:var(--sp-4b) var(--sp-5);color:var(--card);
	box-shadow:var(--sh-3d);
	transition:transform .15s,box-shadow .15s;
}
.bale-cta:hover{transform:translateY(-2px);box-shadow:var(--sh-3d)}
.bale-logo{flex:none;width:52px;height:52px;border-radius:var(--r-m);box-shadow:var(--sh-1)}
.bale-text{flex:1;min-width:200px;line-height:1.7}
.bale-text b{display:block;font-size:var(--fs-4);font-weight:800;color:var(--card)}
.bale-text b .bale-id{font-weight:600;opacity:.85;font-size:var(--fs-2);margin-inline-start:6px;font-family:var(--mono)}
.bale-text > span{color:rgba(255,255,255,.9);font-size:var(--fs-2)}
.bale-btn{
	flex:none;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.38);
	color:var(--card);font-weight:700;font-size:var(--fs-3);border-radius:var(--r-s);padding:var(--sp-3) var(--sp-4b);white-space:nowrap;transition:.15s;
}
.bale-cta:hover .bale-btn{background:var(--card);color:#2f6a86}
@media(max-width:600px){
	.bale-cta{flex-direction:column;text-align:center;padding:var(--sp-5) var(--sp-4b)}
	.bale-text{min-width:0}
	.bale-btn{width:100%}
}

/* ===================================================================
   v7.2 — فرم یکپارچه‌ی ورود/ثبت‌نام چندمرحله‌ای + تأیید ایمیل
   =================================================================== */
.hf-screen[hidden]{display:none}
.hf-auth-brand{display:flex;align-items:center;justify-content:center;gap:var(--sp-2);margin:0 0 var(--sp-5);text-decoration:none}
.hf-auth-brand:hover{opacity:.85}
.hf-auth-brand .mk{width:40px;flex:none;display:flex}
.hf-auth-brand .mk svg{width:40px;height:auto;display:block}
.hf-auth-brand .wordmark{font-family:var(--mono);font-weight:500;font-size:var(--fs-7);color:var(--ink);line-height:1;display:inline-flex;align-items:center;letter-spacing:-.01em}
.hf-auth-brand .wordmark .hy{color:var(--ink)}
.hf-auth-brand .wordmark .fab{color:var(--accent);font-weight:700}
.hf-back{background:0;border:0;cursor:pointer;color:var(--muted);font-family:inherit;font-size:var(--fs-2);
	font-weight:600;padding:0;margin:0 0 var(--sp-4);display:inline-block}
.hf-back:hover{color:var(--ink)}
.hf-2col{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3)}
.hf-2col .hf-fld{margin-bottom:var(--sp-4)}
@media(max-width:480px){.hf-2col{grid-template-columns:1fr;gap:0}}
.hf-auth-terms{margin:var(--sp-4) 0 0;font-size:var(--fs-1);color:var(--muted);line-height:2;text-align:center}
.hf-auth-terms a{color:var(--steel);font-weight:600}

/* ردیف‌های احراز هویت در حساب کاربری */
.hf-idrow{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;padding:var(--sp-3) 0;border-bottom:1px solid var(--line)}
.hf-idrow:last-of-type{border-bottom:0}
.hf-idlabel{color:var(--muted);font-size:var(--fs-2);font-weight:600;min-width:44px}
.hf-idval{color:var(--ink);font-size:var(--fs-3);font-weight:600}
.hf-vbadge{font-family:'Vazirmatn',Tahoma,sans-serif;font-size:var(--fs-1);font-weight:700;border-radius:var(--r-xl);padding:var(--sp-1) var(--sp-3);margin-inline-start:auto;white-space:nowrap;line-height:1.6}
.hf-vbadge.ok{background:#e7f6ee;color:#1a8f57}
.hf-vbadge.no{background:var(--bg);color:var(--muted)}
.hf-vbadge.link{background:var(--accent-tint);color:var(--accent);border:0;cursor:pointer;transition:.15s}
.hf-vbadge.link:hover{background:var(--accent);color:var(--card)}
.hf-ev-code{flex-basis:100%;display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;margin-top:var(--sp-2)}
.hf-ev-code[hidden]{display:none}
.hf-idrow .hf-auth-msg{flex-basis:100%;margin-top:var(--sp-2)}
.hf-idrow .hf-auth-msg:empty{display:none}
.hf-ev-code input{flex:1;min-width:120px;height:42px;border:1.5px solid var(--line-2);border-radius:var(--r-s);
	padding:0 var(--sp-3);font-family:'Vazirmatn',Tahoma,sans-serif;font-size:var(--fs-4);text-align:center;letter-spacing:3px}
.hf-ev-code input:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}
.hf-auth-btn.hf-sm{width:auto;height:42px;padding:0 var(--sp-4b);margin:0}

/* v7.7 — دکمه‌ی ویرایش/افزودن ایمیل در حساب کاربری */
.hf-idedit{background:0;border:0;cursor:pointer;color:var(--steel);font-family:inherit;
	font-size:var(--fs-1);font-weight:700;padding:0;white-space:nowrap}
.hf-idedit:hover{color:var(--accent)}
.hf-ev-code[data-ev="edit"] input{letter-spacing:0;text-align:right}

/* v7.8 — دکمه‌ی «ثبت ایمیل» کنار فیلد ایمیل در کارت پروفایل */
#hfProfileEmailField{position:relative}
.hf-email-save{margin-top:var(--sp-2);background:var(--accent);color:var(--card);border:0;border-radius:var(--r-s);
	cursor:pointer;font-family:'Vazirmatn',Tahoma,sans-serif;font-size:var(--fs-2);font-weight:700;padding:var(--sp-2) var(--sp-4)}
.hf-email-save:hover{filter:brightness(1.05)}
.hf-email-save:disabled{opacity:.6;cursor:default}

/* ===================================================================
   v8.4 — بخش نمونه‌کارها (ظاهر متمایز از فروشگاه: بلوک تیره + کارت افقی)
   =================================================================== */
.works-section{background:var(--bg)}
.works-block{
	background:linear-gradient(160deg,var(--navy2) 0%,var(--navy) 60%,#141a27 100%);
	border:1px solid rgba(255,255,255,.07);
	border-radius:var(--r-xl);padding:var(--sp-5) var(--sp-5) var(--sp-4b);
	box-shadow:var(--sh-3d);
}
/* سربرگ روشن روی زمینه‌ی تیره */
.works-block .shop-head{border-bottom:1px solid rgba(255,255,255,.10);margin-bottom:var(--sp-4b);padding-bottom:var(--sp-4)}
.works-block .shop-head h2{color:var(--card)}
.works-block .shop-head p{color:#a7afbe}
.works-block .kicker{color:#ff6b81}
.btn-works{
	background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.26);color:var(--card);
	border-radius:var(--r-s);padding:var(--sp-3) var(--sp-4b);font-size:var(--fs-3);font-weight:700;white-space:nowrap;
	height:fit-content;transition:.15s;text-decoration:none
}
.btn-works:hover{background:var(--card);color:var(--navy)}

/* کارت نمونه‌کار: افقی، با کپشن روی تصویر (برخلاف کارت فروشگاه) */
.hf-works .hf-track{gap:var(--sp-4)}
.hf-wcard{
	flex:0 0 330px;position:relative;display:block;border-radius:var(--r-m);overflow:hidden;
	text-decoration:none;background:#0f131d;border:1px solid rgba(255,255,255,.08);
	transition:transform .18s,box-shadow .18s
}
.hf-wcard:hover{transform:translateY(-3px);box-shadow:var(--sh-3)}
.hf-wthumb{position:relative;aspect-ratio:16/10;overflow:hidden}
.hf-wthumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s}
.hf-wcard:hover .hf-wthumb img{transform:scale(1.06)}
.hf-wnoimg{display:block;width:100%;height:100%;background:linear-gradient(135deg,#2a3346,var(--navy2))}
/* برچسب نوع خدمت */
.hf-wsvc{
	position:absolute;top:10px;inset-inline-end:10px;z-index:2;
	background:var(--accent);color:var(--card);font-size:var(--fs-0);font-weight:700;
	border-radius:var(--r-xl);padding:var(--sp-1) var(--sp-3);white-space:nowrap
}
/* کپشن روی تصویر با محو تیره */
.hf-wover{
	position:absolute;inset-inline:0;bottom:0;z-index:2;padding:var(--sp-5) var(--sp-4) var(--sp-3);
	background:linear-gradient(to top,rgba(10,13,20,.92) 0%,rgba(10,13,20,.62) 55%,rgba(10,13,20,0) 100%)
}
.hf-wtitle{margin:0;font-size:var(--fs-4);font-weight:700;color:var(--card);line-height:1.6}
.hf-wmat{display:block;margin-top:var(--sp-1);font-size:var(--fs-1);color:#b9c0cc}
/* فلش‌ها روی زمینه‌ی تیره */
.works-block .hf-arrow{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.22);color:var(--card)}
.works-block .hf-arrow:hover{background:var(--card);color:var(--navy)}

@media(max-width:600px){
	.works-block{padding:var(--sp-4b) var(--sp-4) var(--sp-3)}
	.hf-wcard{flex:0 0 260px}
}

/* ===================================================================
   v8.5 — صفحه‌ی تک نمونه‌کار: تصویر بزرگ + توضیحات + گالری + لایت‌باکس
   =================================================================== */
.work-single{background:var(--bg)}
.ws-top{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--sp-4);
	padding-bottom:var(--sp-4b);margin-bottom:var(--sp-4b);border-bottom:1px solid rgba(255,255,255,.10)}
.ws-head .kicker{color:#ff6b81}
.ws-head h1{margin:var(--sp-2) 0 0;font-size:var(--fs-7);font-weight:800;color:var(--card);line-height:1.5}

.ws-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:var(--sp-5);align-items:start}
.ws-hero{display:block;position:relative;border-radius:var(--r-l);overflow:hidden;background:#0f131d;
	border:1px solid rgba(255,255,255,.08);aspect-ratio:4/3}
.ws-hero img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.ws-hero:hover img{transform:scale(1.04)}
.ws-noimg{background:linear-gradient(135deg,#2a3346,var(--navy2))}
.ws-zoom{position:absolute;inset-block-end:12px;inset-inline-end:12px;width:38px;height:38px;border-radius:50%;
	display:grid;place-items:center;background:rgba(10,13,20,.72);color:var(--card);opacity:0;transition:.18s}
.ws-hero:hover .ws-zoom{opacity:1}

.ws-info{display:flex;flex-direction:column}
.ws-labels{margin:0 0 var(--sp-4b);display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3)}
.ws-labels div{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);border-radius:var(--r-m);padding:var(--sp-3) var(--sp-3)}
.ws-labels dt{color:#8b93a4;font-size:var(--fs-1);font-weight:700;margin-bottom:var(--sp-1)}
.ws-labels dd{margin:0;color:#eef1f6;font-size:var(--fs-3);font-weight:600}
.ws-desc h3,.ws-gallery h3{color:var(--card);font-size:var(--fs-4);font-weight:800;margin:0 0 var(--sp-3);
	padding-inline-start:10px;border-inline-start:3px solid var(--accent)}
.ws-desc{margin-bottom:var(--sp-5)}
.ws-desc p{color:#b9c0cc;font-size:var(--fs-3);line-height:2.15;margin:0 0 var(--sp-3);text-align:justify}
.ws-order{align-self:flex-start;margin-top:auto}

.ws-gallery{margin-top:var(--sp-5);padding-top:var(--sp-5);border-top:1px solid rgba(255,255,255,.10)}
.ws-ggrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--sp-3)}
.ws-gitem{display:block;border-radius:var(--r-m);overflow:hidden;background:#0f131d;border:1px solid rgba(255,255,255,.08);
	aspect-ratio:1/1;transition:transform .18s,box-shadow .18s}
.ws-gitem:hover{transform:translateY(-3px);box-shadow:var(--sh-3)}
.ws-gitem img{width:100%;height:100%;object-fit:cover;display:block}

@media(max-width:820px){
	.ws-grid{grid-template-columns:1fr;gap:var(--sp-4b)}
	.ws-order{align-self:stretch;text-align:center}
}
@media(max-width:520px){
	.ws-labels{grid-template-columns:1fr}
	.ws-top{flex-direction:column}
}

/* لایت‌باکس */
.hf-lightbox{position:fixed;inset:0;z-index:9999;background:rgba(8,10,16,.94);
	display:flex;align-items:center;justify-content:center;padding:var(--sp-6b) var(--sp-4b)}
.hf-lightbox[hidden]{display:none}
.hf-lightbox img{max-width:92vw;max-height:86vh;border-radius:var(--r-s);display:block;box-shadow:var(--sh-3)}
.hf-lb-close{position:absolute;top:16px;inset-inline-end:20px;background:rgba(255,255,255,.12);border:0;color:var(--card);
	width:42px;height:42px;border-radius:50%;font-size:var(--fs-5);cursor:pointer;transition:.15s}
.hf-lb-close:hover{background:var(--card);color:var(--navy)}
.hf-lb-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.12);border:0;color:var(--card);
	width:48px;height:48px;border-radius:50%;font-size:var(--fs-9);line-height:1;cursor:pointer;transition:.15s}
.hf-lb-nav:hover{background:var(--card);color:var(--navy)}
.hf-lb-prev{inset-inline-start:18px}
.hf-lb-next{inset-inline-end:18px}
.hf-lb-count{position:absolute;bottom:18px;inset-inline:0;text-align:center;color:#b9c0cc;font-size:var(--fs-2);direction:ltr}
@media(max-width:600px){.hf-lb-nav{width:40px;height:40px;font-size:var(--fs-7)}}

/* ===================================================================
   v8.6 — آرشیو نمونه‌کارها (لیست + فیلتر) + برچسب‌های چهارگانه
   =================================================================== */
.works-archive{background:var(--bg)}
.wa-head{margin-bottom:var(--sp-5);text-align:right}
.wa-head .kicker{color:var(--accent)}
.wa-head h1,.wa-head h2{font-size:var(--fs-7);font-weight:800;color:var(--ink);margin:var(--sp-2) 0 0} /* R-05 */
.wa-head p{color:var(--muted);font-size:var(--fs-3);margin:var(--sp-2) 0 0;max-width:640px;line-height:2.1;text-align:justify;text-align-last:right}
.wa-layout{display:grid;grid-template-columns:270px 1fr;gap:var(--sp-5);align-items:start}

/* سایدبار فیلتر */
.wa-side{position:sticky;top:90px;display:flex;flex-direction:column;gap:var(--sp-4)}
.wa-search label{display:block;font-size:var(--fs-2);font-weight:700;color:var(--ink);margin-bottom:var(--sp-2)}
.wa-search input{width:100%;box-sizing:border-box;height:44px;border:1.5px solid var(--line-2);border-radius:var(--r-s);
	padding:0 var(--sp-3);font-family:inherit;font-size:var(--fs-3)}
.wa-search input:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}
.wa-fbox{background:var(--card);border:1px solid var(--line);border-radius:var(--r-m);padding:var(--sp-4) var(--sp-4)}
.wa-fbox h4{margin:0 0 var(--sp-3);font-size:var(--fs-3);font-weight:800;color:var(--ink);padding-bottom:var(--sp-2);border-bottom:1px solid var(--line)}
.wa-check{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-2);color:var(--ink-soft);padding:var(--sp-1) 0;cursor:pointer}
.wa-check input{appearance:none;-webkit-appearance:none;width:19px;height:19px;flex:none;margin:0;cursor:pointer;
	border:1.5px solid var(--line-2);border-radius:var(--r-xs);background:var(--card);position:relative;transition:.15s}
.wa-check input:hover{border-color:var(--accent)}
.wa-check input:checked{background:var(--accent);border-color:var(--accent)}
.wa-check input:checked::after{content:"";position:absolute;top:3px;inset-inline-start:6px;width:4px;height:9px;
	border:solid var(--card);border-width:0 2px 2px 0;transform:rotate(45deg)}
.wa-check input:focus-visible{outline:2px solid var(--accent-tint);outline-offset:2px}
.wa-check:hover{color:var(--ink)}
.wa-clear{background:var(--bg);border:1px solid var(--line-2);border-radius:var(--r-s);padding:var(--sp-3);cursor:pointer;
	font-family:inherit;font-weight:700;font-size:var(--fs-2);color:var(--ink-soft)}
.wa-clear:hover{border-color:var(--accent);color:var(--accent)}
.wa-count{font-size:var(--fs-2);color:var(--muted);text-align:center;background:var(--card);border:1px solid var(--line);border-radius:var(--r-m);padding:var(--sp-3)}
.wa-count b{color:var(--ink)}

/* لیست آیتم‌ها */
.wa-list{display:flex;flex-direction:column;gap:var(--sp-4)}
.wa-item{display:flex;gap:var(--sp-4);background:var(--card);border:1px solid var(--line);border-radius:var(--r-l);
	padding:var(--sp-4);transition:box-shadow .16s,transform .16s}
.wa-item:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.wa-thumb{position:relative;flex:0 0 150px;aspect-ratio:1/1;border-radius:var(--r-m);overflow:hidden;background:#eef0f3;display:block}
.wa-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.wa-noimg{display:block;width:100%;height:100%;background:linear-gradient(135deg,#dfe3ea,#c7ccd6)}
.wa-expand{position:absolute;top:8px;inset-inline-end:8px;width:28px;height:28px;border-radius:var(--r-xs);display:grid;place-items:center;
	background:rgba(23,29,43,.55);color:var(--card);opacity:0;transition:.15s}
.wa-thumb:hover .wa-expand{opacity:1}
.wa-info{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center}
.wa-title{font-size:var(--fs-5);font-weight:800;color:var(--ink);text-decoration:none;margin-bottom:var(--sp-3)}
.wa-title:hover{color:var(--accent)}
.wa-labels{margin:0;display:flex;flex-direction:column;gap:var(--sp-1)}
.wa-labels div{display:flex;gap:var(--sp-2);font-size:var(--fs-2);line-height:1.7}
.wa-labels dt{color:var(--muted);font-weight:700;flex:none}
.wa-labels dd{margin:0;color:var(--ink-soft)}
.wa-empty,.wa-noresult{color:var(--muted);text-align:center;padding:var(--sp-6b) 0}

@media(max-width:860px){
	.wa-layout{grid-template-columns:1fr}
	.wa-side{position:static;order:-1;flex-direction:column}
}
@media(max-width:520px){
	.wa-item{flex-direction:column}
	.wa-thumb{flex-basis:auto;width:100%;aspect-ratio:16/10}
}

/* ===================================================================
   v8.7 — منوی کشویی (زیرمنو)
   v10.4 — عرض زیرمنو دیگر ثابت نیست و با بلندترین عنوان تنظیم می‌شود.
   v10.5 — خنثی‌سازی قواعد ارثی نوار منو روی زیرمنو.
   خط ۹۲۸ قالب `.main-nav ul{height:100%;gap:0}` را روی همه‌ی ul های
   داخل منو می‌گذارد؛ چون زیرمنو هم ul است، ارتفاعش به ارتفاع هدر
   قفل می‌شد و آیتم‌ها بیرون می‌ریختند. اینجا صریحاً آزادش می‌کنیم.
   =================================================================== */
.main-nav li{position:relative}
.main-nav .menu-item-has-children>a::after{content:"▾";font-size:var(--fs-0);margin-inline-start:5px;opacity:.7}
.main-nav .sub-menu{
	list-style:none;margin:0;padding:var(--sp-2);position:absolute;top:100%;
	right:0;left:auto;direction:rtl;text-align:right;
	width:max-content;min-width:200px;max-width:min(320px,92vw);
	height:auto;align-items:stretch;gap:var(--sp-1);
	background:#1f2637;border:1px solid rgba(255,255,255,.10);border-radius:var(--r-m);
	box-shadow:var(--sh-3);display:flex;flex-direction:column;
	opacity:0;visibility:hidden;transform:translateY(6px);transition:.16s;z-index:60
}
.main-nav li:hover>.sub-menu,.main-nav li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
.main-nav .sub-menu li{display:block;width:100%;height:auto;flex:0 0 auto;position:relative}
.main-nav .sub-menu a{display:block;height:auto;white-space:normal;line-height:1.75;font-size:var(--fs-2);font-weight:500;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-xs)}
.main-nav .sub-menu a::after{display:none}
.main-nav .sub-menu a:hover{background:rgba(255,255,255,.09)}
.main-nav .sub-menu .current-menu-item>a{background:rgba(238,43,71,.16);color:var(--card)}

/* موبایل: زیرمنو به‌صورت آکاردئونی باز می‌شود */
@media(max-width:960px){
	.main-nav .sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;
		border:0;background:rgba(255,255,255,.04);margin:var(--sp-1) 0 var(--sp-1);display:none;
		width:auto;min-width:0;max-width:none}
	.main-nav .menu-item-has-children.open>.sub-menu{display:flex}
	.main-nav .menu-item-has-children>a::after{float:inline-start}
}

/* v9.6 — کل کارت سفارش کلیک‌پذیر (نه فقط دکمه‌ی سه‌نقطه) */
.hf-ocard-link{cursor:pointer;transition:box-shadow .16s,transform .16s,border-color .16s}
.hf-ocard-link:hover{box-shadow:var(--shadow);transform:translateY(-2px);border-color:var(--line-2)}
.hf-ocard-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
/* دکمه‌ها و لینک‌های داخل کارت نباید کلیکشان به کارت سرایت کند */
.hf-ocard-link button,.hf-ocard-link a{position:relative;z-index:2}

/* v9.7 — ورود با رمز یک‌بارمصرف */
.hf-or{display:flex;align-items:center;gap:var(--sp-3);margin:var(--sp-4) 0 var(--sp-4);color:var(--muted);font-size:var(--fs-1)}
.hf-or::before,.hf-or::after{content:"";flex:1;height:1px;background:var(--line)}
.hf-auth-btn.ghost{background:var(--bg);color:var(--ink);border:1.5px solid var(--line-2)}
.hf-auth-btn.ghost:hover{border-color:var(--accent);color:var(--accent);background:var(--card)}
#hfOtpCode{text-align:center;letter-spacing:10px;font-size:var(--fs-6);font-weight:700;direction:ltr}

/* ===================================================================
   v10.1 — صفحه‌ی ۴۰۴
   =================================================================== */
.hf-404{background:var(--bg)}
.hf-404-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-xl);
	padding:var(--sp-6b) var(--sp-6);text-align:center;box-shadow:var(--shadow);max-width:820px;margin:0 auto}
.hf-404-code{font-family:'Rajdhani','Vazirmatn',sans-serif;font-size:74px;font-weight:700;
	color:var(--accent);line-height:1;letter-spacing:2px}
.hf-404-card h1{font-size:var(--fs-7);font-weight:800;color:var(--ink);margin:var(--sp-2) 0 var(--sp-2)}
.hf-404-card>p{color:var(--muted);font-size:var(--fs-3);margin:0 0 var(--sp-5)}
.hf-404-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--sp-3);margin-bottom:var(--sp-5)}
.hf-404-item{display:block;background:var(--bg);border:1px solid var(--line);border-radius:var(--r-m);
	padding:var(--sp-4) var(--sp-4);text-decoration:none;transition:.16s;text-align:center}
.hf-404-item:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:var(--shadow);background:var(--card)}
.hf-404-item .ic{display:grid;place-items:center;width:42px;height:42px;margin:0 auto var(--sp-2);
	border-radius:var(--r-m);background:var(--accent-tint);color:var(--accent)}
.hf-404-item b{display:block;font-size:var(--fs-3);color:var(--ink);margin-bottom:var(--sp-1)}
.hf-404-item small{display:block;font-size:var(--fs-1);color:var(--muted);line-height:1.7}
.hf-404-search{display:flex;gap:var(--sp-2);max-width:420px;margin:0 auto var(--sp-4b)}
.hf-404-search input{flex:1;height:46px;border:1.5px solid var(--line-2);border-radius:var(--r-s);
	padding:0 var(--sp-4);font-family:inherit;font-size:var(--fs-3)}
.hf-404-search input:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}
.hf-404-search button{background:var(--ink);color:var(--card);border:0;border-radius:var(--r-s);padding:0 var(--sp-5);
	font-family:inherit;font-weight:700;font-size:var(--fs-3);cursor:pointer}
.hf-404-search button:hover{background:var(--accent)}
.hf-404-home{color:var(--steel);font-size:var(--fs-2);font-weight:600;text-decoration:none}
.hf-404-home:hover{color:var(--accent)}
@media(max-width:600px){.hf-404-card{padding:var(--sp-6) var(--sp-4b)}.hf-404-code{font-size:56px}}

/* ===================================================================
   v10.2 — صفحات فرود خدمات (ماژول inc-services.php)
   همه‌ی کلاس‌ها با پیشوند hfs- تا با استایل‌های موجود تداخل نکنند.
   کلاس‌های مشترک قالب (.wrap .block .section-alt .kicker .btn-red)
   بازاستفاده می‌شوند و اینجا بازتعریف نمی‌گردند.
   =================================================================== */

/* صفحه‌ی خدمات تمام‌عرض می‌شود (page.php محتوا را در .wrap.page-shell می‌پیچد) */
body.hf-service-page .wrap.page-shell{max-width:none !important;padding:0 !important;margin:0 !important}
body.hf-service-page .entry-content{margin:0}
body.hf-service-page .entry-content > *:first-child{margin-top:0}

/* ---------- هیرو ---------- */
.hfs-hero{position:relative;background:radial-gradient(120% 140% at 82% 0%,#232a3d 0%,var(--navy2,var(--navy2)) 45%,var(--navy) 100%);color:var(--card);overflow:hidden}
.hfs-hero::after{content:'';position:absolute;top:-30%;left:-6%;width:420px;height:420px;background:radial-gradient(circle,rgba(238,43,71,.20),transparent 70%);pointer-events:none}
.hfs-hero .wrap{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;gap:var(--sp-7);align-items:center;padding:var(--sp-7b) var(--sp-5) var(--sp-7)}
.hfs-crumb{font-size:var(--fs-2);color:#8f97a8;margin-bottom:var(--sp-4)}
.hfs-crumb a{color:#8f97a8}
.hfs-crumb a:hover{color:var(--card)}
.hfs-hero h1{font-size:var(--fs-9);font-weight:800;line-height:1.45;margin:0 0 var(--sp-4);color:var(--card)}
.hfs-hero h1 em{font-style:normal;color:var(--accent)}
.hfs-lead{color:#c3c9d6;font-size:var(--fs-4);margin:0 0 var(--sp-5);max-width:560px}
.hfs-ticks{list-style:none;margin:0 0 var(--sp-5);padding:0;display:grid;gap:var(--sp-3)}
.hfs-ticks li{display:flex;align-items:flex-start;gap:var(--sp-3);font-size:var(--fs-3);color:#dfe3ea}
.hfs-ticks li::before{content:none}
.hfs-ticks svg{flex:none;margin-top:var(--sp-1);color:var(--accent)}
.hfs-ticks b{color:var(--card);font-weight:600}
.hfs-lat{font-family:var(--mono,'Space Grotesk',monospace);direction:ltr;unicode-bidi:embed;display:inline-block}
.hfs-hero-btns{display:flex;gap:var(--sp-3);flex-wrap:wrap}
.hfs-btn-ghost{background:transparent;color:var(--card);border:1.5px solid rgba(255,255,255,.28);border-radius:var(--r-m);padding:var(--sp-3) var(--sp-5);font-weight:600;font-size:var(--fs-4);transition:.15s;display:inline-flex;align-items:center}
.hfs-btn-ghost:hover{background:rgba(255,255,255,.09);color:var(--card)}
.hfs-hero-art{border-radius:var(--r-xl);overflow:hidden;min-height:250px;display:grid;place-items:center;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.10)}
.hfs-hero-art img{width:100%;height:100%;object-fit:cover;display:block}

/* ---------- نوار آمار ---------- */
.hfs-stats{background:#0f1420;border-top:1px solid rgba(255,255,255,.07)}
.hfs-stats .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding:0 var(--sp-5)}
.hfs-stat{padding:var(--sp-5) var(--sp-4);text-align:center;border-inline-start:1px solid rgba(255,255,255,.07)}
.hfs-stat:first-child{border-inline-start:none}
.hfs-stat .si{width:40px;height:40px;margin:0 auto var(--sp-3);border-radius:var(--r-m);background:rgba(238,43,71,.12);color:var(--accent);display:grid;place-items:center}
.hfs-stat .v{font-family:var(--mono,'Space Grotesk',monospace);direction:ltr;font-size:var(--fs-6);font-weight:700;color:var(--card);line-height:1.3;display:flex;align-items:baseline;justify-content:center;gap:var(--sp-1)}
.hfs-stat .v .u{font-family:inherit;direction:rtl;font-size:var(--fs-2);font-weight:500;color:#aeb6c4}
.hfs-stat .k{font-size:var(--fs-1);color:#8f97a8;margin-top:var(--sp-1)}

/* ---------- سرتیتر بخش ---------- */
.hfs-head{text-align:center;max-width:660px;margin:0 auto var(--sp-6b)}
.hfs-head h2{font-size:var(--fs-7);color:var(--navy);margin:0 0 var(--sp-3)}
.hfs-head p{color:var(--ink-soft);font-size:var(--fs-3);margin:0}
.hfs-head .kicker{text-align:center}

/* ---------- چرا ما ---------- */
.hfs-why{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-5)}
.hfs-why-card{text-align:center;padding:var(--sp-2) var(--sp-4)}
.hfs-why-ic{width:60px;height:60px;margin:0 auto var(--sp-4);border-radius:var(--r-l);background:var(--accent-tint);display:grid;place-items:center;color:var(--accent)}
.hfs-why-card h3{font-size:var(--fs-5);color:var(--navy);margin:0 0 var(--sp-2)}
.hfs-why-card p{font-size:var(--fs-2);color:var(--ink-soft);margin:0;line-height:1.95}

/* ---------- مزایا ---------- */
.hfs-adv{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-4)}
.hfs-adv-card{background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-l);padding:var(--sp-5);transition:.15s}
.hfs-adv-card:hover{border-color:var(--accent);box-shadow:var(--sh-2d);transform:translateY(-2px)}
.hfs-adv-card .ic{width:44px;height:44px;border-radius:var(--r-m);background:var(--steel-tint);color:var(--steel);display:grid;place-items:center;margin-bottom:var(--sp-4)}
.hfs-adv-card h3{font-size:var(--fs-4);color:var(--navy);margin:0 0 var(--sp-2)}
.hfs-adv-card p{font-size:var(--fs-2);color:var(--ink-soft);margin:0;line-height:1.9}

/* ---------- تکنولوژی‌ها (صفحه‌ی پرینت) ---------- */
.hfs-tech{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4b)}
.hfs-tech-card{background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-l);overflow:hidden;transition:.15s;scroll-margin-top:90px}
.hfs-tech-card:hover{border-color:var(--accent);box-shadow:var(--sh-3d)}
.hfs-tech-top{height:104px;display:flex;align-items:center;padding:0 var(--sp-5);color:var(--card)}
.hfs-tech-top .tn{font-family:var(--mono,'Space Grotesk',monospace);font-size:var(--fs-7);font-weight:700;direction:ltr;line-height:1.2}
.hfs-tech-top .ts{font-size:var(--fs-2);opacity:.85;margin-top:var(--sp-1)}
.hfs-tech-body{padding:var(--sp-4b) var(--sp-5) var(--sp-5)}
.hfs-tech-body > p{font-size:var(--fs-3);color:var(--ink-soft);margin:0 0 var(--sp-4);line-height:1.95}
.hfs-tech-row{display:flex;gap:var(--sp-3);padding:var(--sp-2) 0;border-top:1px solid var(--line);font-size:var(--fs-2);align-items:baseline}
.hfs-tech-row .k{color:var(--muted);width:118px;flex:none}
.hfs-tech-row .v{color:var(--navy);font-weight:600}
.hfs-tags{display:flex;gap:var(--sp-2);flex-wrap:wrap;margin-bottom:var(--sp-4)}
.hfs-tag{background:var(--accent-tint);color:var(--accent);border-radius:var(--r-pill);padding:var(--sp-1) var(--sp-3);font-size:var(--fs-0);font-weight:700}
.hfs-tech-cta{margin-top:var(--sp-4)}
.hfs-tech-cta a{display:inline-flex;align-items:center;gap:var(--sp-2);background:var(--ink);color:var(--card);border-radius:var(--r-s);padding:var(--sp-3) var(--sp-4b);font-size:var(--fs-2);font-weight:600;transition:.15s}
.hfs-tech-cta a:hover{background:var(--accent);color:var(--card)}

/* ---------- کارت متریال (فیلامنت/رزین) ---------- */
.hfs-mat{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-4)}
.hfs-mat-card{background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-l);overflow:hidden;transition:.15s}
.hfs-mat-card:hover{border-color:var(--accent);box-shadow:var(--sh-2d)}
.hfs-mat-top{height:72px;display:flex;align-items:center;padding:0 var(--sp-4b);color:var(--card)}
.hfs-mat-top .nm{font-family:var(--mono,'Space Grotesk',monospace);font-size:var(--fs-6);font-weight:700;direction:ltr}
.hfs-mat-body{padding:var(--sp-4) var(--sp-4b) var(--sp-4b)}
.hfs-mat-body p{font-size:var(--fs-2);color:var(--ink-soft);margin:0;line-height:1.9}
.hfs-colors{display:flex;gap:var(--sp-1);margin-top:var(--sp-3)}
.hfs-colors i{width:19px;height:19px;border-radius:var(--r-xs);border:1px solid rgba(0,0,0,.10);display:block}

/* ---------- کارت ورق (لیزر/CNC) ---------- */
.hfs-sheet{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-4)}
.hfs-sheet-card{background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-l);overflow:hidden;transition:.15s}
.hfs-sheet-card:hover{border-color:var(--accent);box-shadow:var(--sh-2d)}
.hfs-sheet-sw{height:88px;position:relative}
.hfs-sheet-sw span{position:absolute;bottom:10px;inset-inline-start:12px;background:rgba(0,0,0,.55);color:var(--card);font-family:var(--mono,'Space Grotesk',monospace);font-size:var(--fs-0);font-weight:700;border-radius:var(--r-xs);padding:var(--sp-1) var(--sp-2);direction:ltr}
.hfs-sheet-body{padding:var(--sp-4) var(--sp-4b) var(--sp-4b)}
.hfs-sheet-body h3{font-size:var(--fs-4);color:var(--navy);margin:0 0 var(--sp-2)}
.hfs-sheet-body p{font-size:var(--fs-2);color:var(--ink-soft);margin:0 0 var(--sp-3);line-height:1.9}
.hfs-thick{display:flex;gap:var(--sp-2);flex-wrap:wrap;align-items:center}
.hfs-thick .lb{font-size:var(--fs-1);color:var(--muted)}
.hfs-thick i{background:var(--steel-tint);color:var(--steel);border-radius:var(--r-xs);padding:var(--sp-1) var(--sp-2);font-family:var(--mono,'Space Grotesk',monospace);font-size:var(--fs-0);font-weight:700;font-style:normal;direction:ltr}

/* ---------- جدول‌ها ---------- */
.hfs-tbl-wrap{background:var(--card);border:1px solid var(--line);border-radius:var(--r-l);overflow:hidden}
.hfs-tbl-wrap.narrow{max-width:860px;margin:0 auto}
.hfs-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.hfs-tbl{width:100%;border-collapse:collapse;font-size:var(--fs-3);margin:0}
.hfs-tbl thead th{background:var(--steel-tint);color:var(--navy);font-size:var(--fs-2);font-weight:700;padding:var(--sp-4) var(--sp-4b);text-align:right;border-bottom:1px solid var(--line)}
.hfs-tbl thead th.c{text-align:center;width:150px}
.hfs-tbl td{padding:var(--sp-4) var(--sp-4b);border-bottom:1px solid var(--line);vertical-align:top}
.hfs-tbl tr:last-child td{border-bottom:none}
.hfs-tbl tbody tr:hover{background:#fafaf8}
.hfs-tbl .p{font-weight:600;color:var(--navy);width:250px}
.hfs-tbl .p small{display:block;font-weight:400;color:var(--muted);font-size:var(--fs-1);margin-top:var(--sp-1);line-height:1.75}
.hfs-tbl td.c{text-align:center;font-family:var(--mono,'Space Grotesk',monospace);direction:ltr;font-weight:700;color:var(--accent);white-space:nowrap;font-size:var(--fs-2)}
.hfs-tbl td.c.na{color:var(--line-2)}
.hfs-tbl td.c small{display:block;font-family:inherit;direction:rtl;font-weight:400;color:var(--muted);font-size:var(--fs-0);margin-top:var(--sp-1);white-space:normal}
.hfs-tbl td.d{color:var(--ink-soft);font-size:var(--fs-2);line-height:1.9}
.hfs-tbl .val{color:var(--ink-soft)}
.hfs-tbl .val b{color:var(--accent);font-family:var(--mono,'Space Grotesk',monospace);direction:ltr;display:inline-block}
.hfs-hint{display:none;text-align:center;font-size:var(--fs-1);color:var(--muted);margin-top:var(--sp-3)}
.hfs-note{background:var(--steel-tint);border:1px solid #cddbe9;border-radius:var(--r-m);padding:var(--sp-4) var(--sp-4b);margin-top:var(--sp-4b);font-size:var(--fs-2);color:var(--navy);line-height:1.95}
.hfs-note b{color:var(--steel)}

/* ---------- راهنمای طراحی ---------- */
.hfs-dg{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3);max-width:940px;margin:0 auto}
.hfs-dg-item{background:var(--card);border:1px solid var(--line);border-radius:var(--r-m);padding:var(--sp-4) var(--sp-4b);display:flex;gap:var(--sp-3);align-items:flex-start}
.hfs-dg-item svg{color:var(--accent);flex:none;margin-top:var(--sp-1)}
.hfs-dg-item p{margin:0;font-size:var(--fs-2);color:var(--ink-soft);line-height:1.9}
.hfs-dg-item p b{color:var(--navy);font-family:var(--mono,'Space Grotesk',monospace);direction:ltr;display:inline-block}

/* ---------- کاربردها ---------- */
.hfs-use{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-4) var(--sp-6)}
.hfs-use-item{display:flex;gap:var(--sp-3);align-items:flex-start;background:var(--card);border:1px solid var(--line);border-radius:var(--r-m);padding:var(--sp-4) var(--sp-4b)}
.hfs-use-item .n{font-family:var(--mono,'Space Grotesk',monospace);font-size:var(--fs-2);font-weight:700;color:var(--accent);background:var(--accent-tint);width:30px;height:30px;border-radius:var(--r-s);display:grid;place-items:center;flex:none}
.hfs-use-item h4{font-size:var(--fs-3);color:var(--navy);margin:0 0 var(--sp-1)}
.hfs-use-item p{font-size:var(--fs-2);color:var(--ink-soft);margin:0;line-height:1.85}

/* ---------- لینک متقابل ---------- */
.hfs-xlink{display:flex;gap:var(--sp-4);align-items:center;background:var(--steel-tint);border:1px solid #cddbe9;border-radius:var(--r-l);padding:var(--sp-4b) var(--sp-5);margin-top:var(--sp-5)}
.hfs-xlink .ic{width:44px;height:44px;border-radius:var(--r-m);background:var(--card);color:var(--steel);display:grid;place-items:center;flex:none}
.hfs-xlink p{margin:0;font-size:var(--fs-2);color:var(--navy);line-height:1.95}
.hfs-xlink a{color:var(--accent);font-weight:700}

/* ---------- مراحل ---------- */
.hfs-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-4b)}
.hfs-step{background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-l);padding:var(--sp-5) var(--sp-4b);position:relative}
.hfs-step .n{position:absolute;top:-15px;inset-inline-start:20px;width:32px;height:32px;border-radius:var(--r-s);background:var(--accent);color:var(--card);display:grid;place-items:center;font-family:var(--mono,'Space Grotesk',monospace);font-weight:700;font-size:var(--fs-4)}
.hfs-step h3{font-size:var(--fs-4);color:var(--navy);margin:var(--sp-3) 0 var(--sp-2)}
.hfs-step p{font-size:var(--fs-2);color:var(--ink-soft);margin:0;line-height:1.9}

/* ---------- باکس مشاوره ---------- */
.hfs-advice{background:#f0f9f3;border:1px solid #c7e6d4;border-radius:var(--r-l);padding:var(--sp-4b) var(--sp-5);display:flex;gap:var(--sp-4);align-items:center;margin-top:var(--sp-5)}
.hfs-advice .ic{width:44px;height:44px;border-radius:50%;background:#d6f0e0;color:#1a7f47;display:grid;place-items:center;flex:none}
.hfs-advice p{margin:0;font-size:var(--fs-2);color:#1c3d2a;line-height:1.95}
.hfs-advice p b{color:#14663a}

/* ---------- نمونه‌کارها ---------- */
.hfs-works{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-4)}
.hfs-work{background:var(--navy);border-radius:var(--r-l);overflow:hidden;position:relative;display:block;aspect-ratio:16/10}
.hfs-work img{width:100%;height:100%;object-fit:cover;display:block;transition:.25s}
.hfs-work:hover img{transform:scale(1.05)}
.hfs-work .bd{position:absolute;top:12px;inset-inline-end:12px;background:var(--accent);color:var(--card);font-size:var(--fs-0);font-weight:700;border-radius:var(--r-pill);padding:var(--sp-1) var(--sp-3);z-index:1}
.hfs-work .ttl{position:absolute;inset-inline:0;bottom:0;padding:var(--sp-5) var(--sp-4) var(--sp-3);background:linear-gradient(transparent,rgba(15,20,32,.88));color:var(--card);font-size:var(--fs-2);font-weight:600}
.hfs-works-more{text-align:center;margin-top:var(--sp-5)}
.hfs-btn-dark{background:var(--ink);color:var(--card);border:none;border-radius:var(--r-m);padding:var(--sp-3) var(--sp-5);font-weight:600;font-size:var(--fs-3);display:inline-block;transition:.15s}
.hfs-btn-dark:hover{background:var(--accent);color:var(--card)}

/* ---------- سؤالات متداول ---------- */
.hfs-faq{max-width:860px;margin:0 auto}
.hfs-faq details{background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-m);margin-bottom:var(--sp-3);overflow:hidden;transition:.15s}
.hfs-faq details[open]{border-color:var(--accent)}
.hfs-faq summary{padding:var(--sp-4) var(--sp-4b);cursor:pointer;font-weight:600;font-size:var(--fs-3);color:var(--navy);list-style:none;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4)}
.hfs-faq summary::-webkit-details-marker{display:none}
.hfs-faq summary::after{content:'+';font-family:var(--mono,'Space Grotesk',monospace);font-size:var(--fs-6);color:var(--accent);flex:none}
.hfs-faq details[open] summary::after{content:'\2212'}
.hfs-faq .ans{padding:0 var(--sp-4b) var(--sp-4b);font-size:var(--fs-2);color:var(--ink-soft);line-height:2}

/* ---------- CTA پایانی ---------- */
.hfs-cta{background:linear-gradient(135deg,var(--accent),#c01732);border-radius:var(--r-xl);padding:var(--sp-6b) var(--sp-6);text-align:center;color:var(--card)}
.hfs-cta h2{color:var(--card);font-size:var(--fs-7);margin:0 0 var(--sp-3)}
.hfs-cta p{color:#ffe0e6;margin:0 auto var(--sp-5);font-size:var(--fs-3);max-width:560px}
.hfs-cta .b{display:inline-flex;gap:var(--sp-3);flex-wrap:wrap;justify-content:center}
.hfs-cta a.w{background:var(--card);color:var(--accent);border-radius:var(--r-m);padding:var(--sp-4) var(--sp-6);font-weight:700;font-size:var(--fs-4);transition:.15s}
.hfs-cta a.w:hover{background:var(--navy);color:var(--card)}
.hfs-cta a.o{border:1.5px solid rgba(255,255,255,.5);color:var(--card);border-radius:var(--r-m);padding:var(--sp-3) var(--sp-6);font-weight:600;font-size:var(--fs-4);transition:.15s}
.hfs-cta a.o:hover{background:rgba(255,255,255,.12);color:var(--card)}

/* ---------- برگه‌ی چتر خدمات ---------- */
.hfs-index{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-4b)}
.hfs-index-card{background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-l);overflow:hidden;transition:.15s;display:block}
.hfs-index-card:hover{border-color:var(--accent);box-shadow:var(--sh-3d);transform:translateY(-2px)}
.hfs-index-card .im{height:150px;background:var(--navy);display:grid;place-items:center}
.hfs-index-card .im img{width:104px;height:104px;object-fit:contain}
.hfs-index-card .bd{padding:var(--sp-4b) var(--sp-4b) var(--sp-4b)}
.hfs-index-card h3{font-size:var(--fs-5);color:var(--navy);margin:0 0 var(--sp-2)}
.hfs-index-card p{font-size:var(--fs-2);color:var(--ink-soft);margin:0;line-height:1.9}
.hfs-index-card .go{display:inline-block;margin-top:var(--sp-3);color:var(--accent);font-weight:700;font-size:var(--fs-2)}

/* ---------- جاستیفای متن ---------- */
.hfs-lead,.hfs-head p,.hfs-why-card p,.hfs-adv-card p,.hfs-use-item p,
.hfs-mat-body p,.hfs-sheet-body p,.hfs-step p,.hfs-faq .ans,.hfs-note,
.hfs-advice p,.hfs-xlink p,.hfs-dg-item p,.hfs-tbl td.d,.hfs-tbl .val,
.hfs-tech-body > p,.hfs-cta p,.hfs-index-card p{
	text-align:justify;text-justify:inter-word;text-align-last:right;
	overflow-wrap:break-word;word-break:normal;
}
.hfs-head p,.hfs-cta p{text-align-last:center}

/* ---------- واکنش‌گرایی ---------- */
@media(max-width:960px){
	.hfs-hero .wrap{grid-template-columns:1fr;gap:var(--sp-6);padding:var(--sp-6b) var(--sp-5) var(--sp-6)}
	.hfs-hero h1{font-size:var(--fs-7)}
	.hfs-stats .wrap{grid-template-columns:1fr 1fr}
	.hfs-stat:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.07)}
	.hfs-stat:nth-child(odd){border-inline-start:none}
	.hfs-why,.hfs-adv,.hfs-steps{grid-template-columns:1fr 1fr}
	.hfs-mat,.hfs-works,.hfs-index{grid-template-columns:1fr 1fr}
	.hfs-sheet{grid-template-columns:1fr 1fr}
}
@media(max-width:820px){
	.hfs-tbl .p{width:auto}
	.hfs-scroll table{min-width:640px}
	.hfs-scroll .p{position:sticky;inset-inline-start:0;background:var(--card);z-index:1;box-shadow:1px 0 0 var(--line)}
	.hfs-scroll thead .p{background:var(--steel-tint)}
	.hfs-hint{display:block}
}
@media(min-width:621px) and (max-width:820px){
	.hfs-why-card p,.hfs-adv-card p,.hfs-use-item p,.hfs-mat-body p,
	.hfs-sheet-body p,.hfs-step p,.hfs-dg-item p{text-align:right;text-align-last:right}
}
@media(max-width:620px){
	.hfs-hero h1{font-size:var(--fs-6);line-height:1.6}
	.hfs-ticks li{font-size:var(--fs-2)}
	.hfs-head h2{font-size:var(--fs-6)}
	.hfs-head p{text-align:right;text-align-last:right}
	.hfs-why,.hfs-adv,.hfs-steps,.hfs-use,.hfs-mat,.hfs-sheet,
	.hfs-works,.hfs-dg,.hfs-tech,.hfs-index{grid-template-columns:1fr}
	.hfs-why-card p,.hfs-adv-card p,.hfs-use-item p,.hfs-mat-body p,
	.hfs-sheet-body p,.hfs-step p,.hfs-faq .ans,.hfs-dg-item p,
	.hfs-advice p,.hfs-xlink p,.hfs-lead{line-height:2.05}
	.hfs-why-card{padding:var(--sp-2) var(--sp-1)}
	.hfs-adv-card,.hfs-step,.hfs-use-item{padding:var(--sp-4b) var(--sp-4)}
	.hfs-steps{gap:var(--sp-5)}
	.hfs-faq summary{padding:var(--sp-4) var(--sp-4);font-size:var(--fs-3)}
	.hfs-faq .ans{padding:0 var(--sp-4) var(--sp-4)}
	.hfs-cta{padding:var(--sp-6) var(--sp-5)}
	.hfs-xlink{flex-direction:column;text-align:center}
	.hfs-tech-row .k{width:100px}
}

/* ===================================================================
   v10.3 — یکدست‌سازی و جاستیفای متن‌های سراسر سایت
   فقط پاراگراف‌های واقعی هدف گرفته شده‌اند؛ دکمه‌ها، برچسب‌ها،
   راهنمای فرم‌ها، سلول جدول‌ها و متن‌های تک‌خطی دست‌نخورده مانده‌اند.
   =================================================================== */

/* ---------- بلوک‌های متنی راست‌چین ---------- */
.entry-content > p,
.hf-ab-hero p,
.hf-ab-block > p,
.hf-ab-steps li,
.hf-ab-svc p,
.hf-ab-mats span,
.hf-doc-intro,
.hf-doc-body p,
.hf-doc-body li,
.hf-contact-item p,
.hero-card p,
.woocommerce-Tabs-panel--description p,
.woocommerce-product-details__short-description p{
	text-align:justify;
	text-justify:inter-word;
	text-align-last:right;
	overflow-wrap:break-word;
	word-break:normal;
}

/* ---------- بلوک‌های متنی وسط‌چین: خط آخر هم وسط بماند ---------- */
.sec-head p,
.shop-head p,
.hf-bug-hero p,
.hf-ab-cta > p:not(.hf-ab-cta-note),
.hf-404-card > p{
	text-align:justify;
	text-justify:inter-word;
	text-align-last:center;
	overflow-wrap:break-word;
}

/* ---------- ستون‌های باریک: جاستیفای فاصله‌های زشت می‌سازد ---------- */
@media(min-width:621px) and (max-width:900px){
	.hf-ab-svc p,
	.hf-ab-mats span,
	.hf-contact-item p{text-align:right;text-align-last:right}
}

/* ---------- خوانایی در موبایل ---------- */
@media(max-width:620px){
	.hf-ab-block > p{font-size:var(--fs-3);line-height:2.15}
	.hf-ab-hero p{font-size:var(--fs-3);line-height:2.1}
	.hf-ab-steps li{line-height:2.1;padding:var(--sp-4) var(--sp-7b) var(--sp-4) var(--sp-4)}
	.hf-doc-body p,.hf-doc-body li{line-height:2.15}
	.hf-doc-intro{font-size:var(--fs-3);line-height:2.1}
	.hf-contact-item p{line-height:2.05}
	.entry-content > p{line-height:2.1}
	/* در عرض کم، وسط‌چین کردن خط آخر متن را شکسته نشان می‌دهد */
	.sec-head p,.shop-head p{text-align:right;text-align-last:right}
}

/* ===================================================================
   v10.6 — آکادمی و پایگاه دانش (ماژول inc-academy.php)
   کلاس‌ها با پیشوند hfa- تا با استایل‌های موجود تداخل نکنند.
   =================================================================== */

body.hf-academy-page .wrap.page-shell{max-width:none !important;padding:0 !important}

/* ---------- هیرو ---------- */
.hfa-hero{background:radial-gradient(120% 140% at 82% 0%,#232a3d 0%,var(--navy2,var(--navy2)) 45%,var(--navy) 100%);color:var(--card);padding:var(--sp-7) 0 var(--sp-6b);position:relative;overflow:hidden}
.hfa-hero::after{content:'';position:absolute;top:-30%;left:-6%;width:380px;height:380px;background:radial-gradient(circle,rgba(238,43,71,.18),transparent 70%);pointer-events:none}
.hfa-hero .wrap{position:relative;z-index:1}
.hfa-hero h1{font-size:27px;font-weight:800;line-height:1.5;margin:0 0 var(--sp-3);color:var(--card)}
.hfa-hero h1 em{font-style:normal;color:var(--accent)}
.hfa-hero .hfs-lead{max-width:760px;margin:0}

/* ---------- چیدمان ---------- */
.hfa-shell{display:grid;grid-template-columns:300px minmax(0,1fr);gap:var(--sp-5);align-items:start;padding-block:30px 56px}
.hfa-main{min-width:0}

/* ---------- نوار کناری ---------- */
.hfa-side{position:sticky;top:92px;display:flex;flex-direction:column;gap:var(--sp-4)}
.hfa-panel{background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-l);padding:var(--sp-4) var(--sp-4b)}
.hfa-panel h2{font-size:var(--fs-3);color:var(--navy);margin:0 0 var(--sp-3)}
.hfa-panel h3{font-size:var(--fs-2);color:var(--ink-soft);margin:0 0 var(--sp-2);font-weight:600}

.hfa-search{display:flex;align-items:center;gap:var(--sp-2);background:var(--bg);border:1px solid var(--line);border-radius:var(--r-s);padding:var(--sp-2) var(--sp-3);color:var(--muted)}
.hfa-search input{border:0;background:transparent;outline:none;width:100%;font:inherit;font-size:var(--fs-2);color:var(--ink)}

.hfa-cats{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-1)}
.hfa-cats li::before{content:none}
.hfa-cats a{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-s);font-size:var(--fs-2);color:var(--ink-soft);transition:.15s}
.hfa-cats a span{font-family:var(--mono,monospace);font-size:var(--fs-0);color:var(--muted);background:var(--bg);border-radius:var(--r-pill);padding:var(--sp-1) var(--sp-2)}
.hfa-cats a:hover{background:var(--bg);color:var(--navy)}
.hfa-cats li.on a{background:var(--accent-tint);color:var(--accent);font-weight:700}
.hfa-cats li.on a span{background:var(--card);color:var(--accent)}

.hfa-fgroup{margin-bottom:var(--sp-4)}
.hfa-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--sp-2)}
.hfa-chips li::before{content:none}
.hfa-chips a{display:inline-block;padding:var(--sp-1) var(--sp-3);border-radius:var(--r-pill);font-size:var(--fs-1);border:1px solid var(--line-2);color:var(--ink-soft);transition:.15s}
.hfa-chips a:hover{border-color:var(--accent);color:var(--accent)}
.hfa-chips a.on{background:var(--accent);border-color:var(--accent);color:var(--card);font-weight:700}

.hfa-toggles{display:flex;flex-direction:column;gap:var(--sp-2);margin-top:var(--sp-1)}
.hfa-toggle{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);font-size:var(--fs-2);color:var(--ink-soft);padding:var(--sp-2) var(--sp-1)}
.hfa-toggle i{width:36px;height:20px;border-radius:var(--r-pill);background:var(--line-2);position:relative;transition:.18s;flex:none}
.hfa-toggle i::after{content:'';position:absolute;top:2px;inset-inline-end:2px;width:16px;height:16px;border-radius:50%;background:var(--card);transition:.18s}
.hfa-toggle.on{color:var(--accent);font-weight:700}
.hfa-toggle.on i{background:var(--accent)}
.hfa-toggle.on i::after{inset-inline-end:18px}

.hfa-clear{display:block;text-align:center;margin-top:var(--sp-3);font-size:var(--fs-1);color:var(--accent);font-weight:600}

/* ---------- شبکه‌ی کارت‌ها ---------- */
.hfa-count{font-size:var(--fs-2);color:var(--muted);margin-bottom:var(--sp-4)}
.hfa-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-4b)}
.hfa-card{background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-l);overflow:hidden;display:flex;flex-direction:column;transition:.15s}
.hfa-card:hover{border-color:var(--accent);box-shadow:var(--sh-3d);transform:translateY(-2px)}
.hfa-card-im{display:block;position:relative;aspect-ratio:16/10;background:var(--navy);overflow:hidden}
.hfa-card-im img{width:100%;height:100%;object-fit:cover;display:block;transition:.25s}
.hfa-card:hover .hfa-card-im img{transform:scale(1.05)}
.hfa-noim{width:100%;height:100%;display:grid;place-items:center;color:#4a5468}
.hfa-badge-feat{position:absolute;top:10px;inset-inline-start:10px;background:var(--accent);color:var(--card);font-size:var(--fs-0);font-weight:700;border-radius:var(--r-pill);padding:var(--sp-1) var(--sp-3)}
.hfa-badge-feat.static{position:static}
.hfa-card-bd{padding:var(--sp-4) var(--sp-4) var(--sp-4);display:flex;flex-direction:column;flex:1}
.hfa-cat{display:inline-flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-0);font-weight:700;color:var(--ink-soft);margin-bottom:var(--sp-2)}
.hfa-cat i{width:7px;height:7px;border-radius:50%;background:var(--accent);flex:none}
.hfa-cat:hover{color:var(--accent)}
.hfa-card h3{font-size:var(--fs-4);line-height:1.6;margin:0 0 var(--sp-2);color:var(--navy)}
.hfa-card h3 a{color:inherit}
.hfa-card h3 a:hover{color:var(--accent)}
.hfa-card p{font-size:var(--fs-2);color:var(--ink-soft);line-height:1.9;margin:0 0 var(--sp-3);flex:1;
	text-align:justify;text-justify:inter-word;text-align-last:right}
.hfa-card-ft{display:flex;align-items:center;gap:var(--sp-3);border-top:1px solid var(--line);padding-top:var(--sp-3)}
.hfa-meta{display:inline-flex;align-items:center;gap:var(--sp-1);font-size:var(--fs-0);color:var(--muted)}
.hfa-go{margin-inline-start:auto;width:32px;height:32px;border-radius:var(--r-s);background:var(--bg);color:var(--ink-soft);display:grid;place-items:center;transition:.15s;flex:none}
.hfa-card:hover .hfa-go{background:var(--accent);color:var(--card)}

/* ---------- صفحه‌بندی ---------- */
.hfa-pager{display:flex;gap:var(--sp-2);justify-content:center;flex-wrap:wrap;margin-top:var(--sp-6)}
.hfa-pager .page-numbers{min-width:38px;height:38px;display:inline-grid;place-items:center;padding:0 var(--sp-3);border:1px solid var(--line-2);border-radius:var(--r-s);font-size:var(--fs-2);color:var(--ink-soft);transition:.15s}
.hfa-pager .page-numbers:hover{border-color:var(--accent);color:var(--accent)}
.hfa-pager .page-numbers.current{background:var(--accent);border-color:var(--accent);color:var(--card);font-weight:700}

/* ---------- خالی ---------- */
.hfa-empty{background:var(--card);border:1.5px dashed var(--line-2);border-radius:var(--r-l);padding:var(--sp-7) var(--sp-5);text-align:center;color:var(--muted)}
.hfa-empty h2{font-size:var(--fs-5);color:var(--navy);margin:var(--sp-4) 0 var(--sp-2)}
.hfa-empty p{font-size:var(--fs-2);margin:0 0 var(--sp-4b)}

/* ===================================================================
   تک مقاله
   =================================================================== */
.hfa-single{padding-top:var(--sp-5)}
.hfa-article{background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-l);padding:var(--sp-6) var(--sp-6) var(--sp-6);scroll-margin-top:96px}
.hfa-crumb{color:var(--muted);margin-bottom:var(--sp-4)}
.hfa-crumb a{color:var(--muted)}
.hfa-crumb a:hover{color:var(--accent)}
.hfa-title{font-size:var(--fs-9);line-height:1.55;color:var(--navy);margin:0 0 var(--sp-4)}
.hfa-metabar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-4);padding-bottom:var(--sp-4b);border-bottom:1px solid var(--line);margin-bottom:var(--sp-5)}
.hfa-cover{border-radius:var(--r-m);overflow:hidden;margin-bottom:var(--sp-5)}
.hfa-cover img{width:100%;height:auto;display:block}

/* بدنه‌ی مقاله */
.hfa-body{font-size:var(--fs-4);line-height:2.15;color:var(--ink)}
.hfa-body p{margin:0 0 var(--sp-4);text-align:justify;text-justify:inter-word;text-align-last:right}
.hfa-body h2{font-size:var(--fs-6);color:var(--navy);margin:var(--sp-6) 0 var(--sp-4);scroll-margin-top:96px;padding-inline-start:12px;border-inline-start:4px solid var(--accent);line-height:1.5}
.hfa-body h3{font-size:var(--fs-5);color:var(--navy);margin:var(--sp-5) 0 var(--sp-3);scroll-margin-top:96px;line-height:1.55}
.hfa-body h4{font-size:var(--fs-4);color:var(--navy);margin:var(--sp-4b) 0 var(--sp-2)}
.hfa-body ul,.hfa-body ol{margin:0 0 var(--sp-4b);padding-inline-start:22px}
.hfa-body li{margin-bottom:var(--sp-2);line-height:2.05;text-align:justify;text-align-last:right}
.hfa-body a{color:var(--accent);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.hfa-body img{max-width:100%;height:auto;border-radius:var(--r-m);margin:var(--sp-2) 0 var(--sp-4b)}
.hfa-body figure{margin:var(--sp-4b) 0}
.hfa-body figcaption{font-size:var(--fs-1);color:var(--muted);text-align:center;margin-top:var(--sp-2)}
.hfa-body blockquote{margin:var(--sp-4b) 0;padding:var(--sp-4) var(--sp-4b);background:var(--steel-tint);border-inline-start:4px solid var(--steel);border-radius:0 12px 12px 0;font-size:var(--fs-3);line-height:2.05;color:var(--navy)}
.hfa-body blockquote p:last-child{margin:0}
.hfa-body table{width:100%;border-collapse:collapse;font-size:var(--fs-2);margin:var(--sp-4b) 0;display:block;overflow-x:auto}
.hfa-body th{background:var(--steel-tint);color:var(--navy);font-weight:700;padding:var(--sp-3) var(--sp-4);text-align:right;border:1px solid var(--line)}
.hfa-body td{padding:var(--sp-3) var(--sp-4);border:1px solid var(--line);vertical-align:top}
.hfa-body code{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-xs);padding:var(--sp-1) var(--sp-2);font-family:var(--mono,monospace);font-size:var(--fs-1);direction:ltr;display:inline-block}
.hfa-body hr{border:0;border-top:1px solid var(--line);margin:var(--sp-6) 0}

/* CTA انتهای مقاله */
.hfa-cta{display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap;background:var(--steel-tint);border:1px solid #cddbe9;border-radius:var(--r-l);padding:var(--sp-4b) var(--sp-5);margin-top:var(--sp-6)}
.hfa-cta .ic{width:48px;height:48px;border-radius:var(--r-m);background:var(--card);color:var(--steel);display:grid;place-items:center;flex:none}
.hfa-cta .tx{flex:1;min-width:180px}
.hfa-cta h3{font-size:var(--fs-4);color:var(--navy);margin:0 0 var(--sp-1)}
.hfa-cta p{font-size:var(--fs-2);color:var(--ink-soft);margin:0}

/* ---------- پیمایش‌گر ---------- */
.hfa-toc h2{margin-bottom:var(--sp-4)}
.hfa-toc-wrap{position:relative;padding-inline-end:14px}
.hfa-toc-rail{position:absolute;inset-inline-end:3px;top:6px;bottom:6px;width:2px;background:var(--line-2);border-radius:2px;overflow:hidden}
.hfa-toc-rail i{display:block;width:100%;height:0;background:var(--accent);transition:height .18s}
.hfa-toc ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-1)}
.hfa-toc li{position:relative}
.hfa-toc li::before{content:'';position:absolute;inset-inline-end:-14px;top:11px;width:8px;height:8px;border-radius:50%;background:var(--card);border:2px solid var(--line-2);transition:.18s}
.hfa-toc li.passed::before{border-color:var(--accent);background:var(--accent)}
.hfa-toc a{display:block;font-size:var(--fs-2);line-height:1.75;color:var(--ink-soft);padding:var(--sp-1) 0 var(--sp-1) var(--sp-1);transition:.15s}
.hfa-toc a:hover{color:var(--accent)}
.hfa-toc a.on{color:var(--accent);font-weight:700}
.hfa-toc a.done{color:var(--ink)}
.hfa-toc li.lvl3 a{padding-inline-start:14px;font-size:var(--fs-1);color:var(--muted)}
.hfa-toc li.lvl3::before{width:6px;height:6px;top:12px}

/* ---------- مطالب مرتبط ---------- */
.hfa-related{margin-top:var(--sp-5);background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-l);padding:var(--sp-5) var(--sp-5)}
.hfa-related h2{font-size:var(--fs-5);color:var(--navy);margin:0 0 var(--sp-4)}
.hfa-rel-list{display:flex;flex-direction:column;gap:var(--sp-3)}
.hfa-rel{display:flex;gap:var(--sp-3);align-items:center;border:1px solid var(--line);border-radius:var(--r-m);padding:var(--sp-2);transition:.15s}
.hfa-rel:hover{border-color:var(--accent);background:#fafaf8}
.hfa-rel .im{width:86px;height:58px;border-radius:var(--r-s);overflow:hidden;background:var(--navy);flex:none}
.hfa-rel .im img{width:100%;height:100%;object-fit:cover;display:block}
.hfa-rel .tx{display:flex;flex-direction:column;gap:var(--sp-1);min-width:0}
.hfa-rel strong{font-size:var(--fs-3);color:var(--navy);font-weight:600;line-height:1.7}
.hfa-rel small{font-size:var(--fs-0);color:var(--muted)}

/* ===================================================================
   واکنش‌گرایی
   =================================================================== */
@media(max-width:1080px){
	.hfa-shell{grid-template-columns:260px minmax(0,1fr);gap:var(--sp-4b)}
	.hfa-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:900px){
	.hfa-shell{grid-template-columns:1fr}
	.hfa-side{position:static;order:2}
	.hfa-main{order:1}
	.hfa-toc-side{order:0}
	.hfa-toc ul{max-height:none}
	.hfa-article{padding:var(--sp-5) var(--sp-4b) var(--sp-5)}
	.hfa-title{font-size:var(--fs-7)}
}
@media(max-width:620px){
	.hfa-hero{padding:var(--sp-6) 0 var(--sp-6)}
	.hfa-hero h1{font-size:var(--fs-6)}
	.hfa-grid{grid-template-columns:1fr 1fr;gap:var(--sp-3)}
	.hfa-card-bd{padding:var(--sp-3) var(--sp-3) var(--sp-3)}
	.hfa-card h3{font-size:var(--fs-2)}
	.hfa-card p{display:none}
	.hfa-card-ft{gap:var(--sp-2);flex-wrap:wrap}
	.hfa-article{padding:var(--sp-4b) var(--sp-4) var(--sp-5);border-radius:var(--r-m)}
	.hfa-title{font-size:var(--fs-6);line-height:1.6}
	.hfa-body{font-size:var(--fs-3);line-height:2.2}
	.hfa-body h2{font-size:var(--fs-5)}
	.hfa-body h3{font-size:var(--fs-4)}
	.hfa-rel .im{width:70px;height:50px}
	.hfa-cta{padding:var(--sp-4)}
}

/* ===================================================================
   v10.7 — دانشکده‌ی هایپرفب: سراها، ردیف مطالب، زمان باقی‌مانده
   =================================================================== */

/* ---------- جست‌وجو و چیپ‌های هیرو ---------- */
.hfa-hero-search{display:flex;align-items:center;gap:var(--sp-3);background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:var(--r-m);padding:var(--sp-2) var(--sp-2) var(--sp-2) var(--sp-4);max-width:560px;margin:var(--sp-4b) 0 var(--sp-4);color:#9aa2b2}
.hfa-hero-search input{flex:1;border:0;background:transparent;outline:none;font:inherit;font-size:var(--fs-3);color:var(--card);min-width:0}
.hfa-hero-search input::placeholder{color:#8f97a8}
.hfa-hero-search .btn-red{padding:var(--sp-2) var(--sp-4b);border-radius:var(--r-s);font-size:var(--fs-3);flex:none}
.hfa-hero-chips{display:flex;flex-wrap:wrap;gap:var(--sp-2)}
.hfa-hero-chips a{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.14);color:#dfe3ea;border-radius:var(--r-pill);padding:var(--sp-1) var(--sp-4);font-size:var(--fs-1);transition:.15s}
.hfa-hero-chips a:hover{background:var(--accent);border-color:var(--accent);color:var(--card)}

/* ---------- کارت سراها ---------- */
.hfa-halls{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-4b)}
.hfa-hall{background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-l);overflow:hidden;display:flex;flex-direction:column;transition:.15s}
.hfa-hall:hover{border-color:var(--accent);box-shadow:var(--sh-3d);transform:translateY(-2px)}
.hfa-hall-im{height:150px;display:grid;place-items:center;background:linear-gradient(160deg,#f2f4f7,#e6eaef);border-bottom:1px solid var(--line)}
.hfa-hall-im img{max-width:120px;max-height:120px;width:auto;height:auto;object-fit:contain}
.hfa-hall-im .ph{color:var(--accent);opacity:.85}
.hfa-hall-bd{padding:var(--sp-4b) var(--sp-4b) var(--sp-4b);display:flex;flex-direction:column;flex:1}
.hfa-hall-bd h3{font-size:var(--fs-5);color:var(--navy);margin:0 0 var(--sp-1)}
.hfa-hall-sub{font-size:var(--fs-1);color:var(--muted);margin-bottom:var(--sp-3)}
.hfa-hall-sub.light{color:#9aa2b2}
.hfa-hall-bd p{font-size:var(--fs-2);color:var(--ink-soft);line-height:1.95;margin:0 0 var(--sp-4);flex:1;
	text-align:justify;text-justify:inter-word;text-align-last:right}
.hfa-hall-btn{align-self:flex-start;background:var(--bg);border:1px solid var(--line-2);color:var(--ink-soft);border-radius:var(--r-s);padding:var(--sp-2) var(--sp-4b);font-size:var(--fs-2);font-weight:600;transition:.15s}
.hfa-hall:hover .hfa-hall-btn{background:var(--accent);border-color:var(--accent);color:var(--card)}

/* سربرگ صفحه‌ی سرا */
.hfa-hall-head{display:flex;align-items:center;gap:var(--sp-4);margin-bottom:var(--sp-3)}
.hfa-hall-ic{width:56px;height:56px;border-radius:var(--r-l);background:rgba(238,43,71,.14);color:var(--accent);display:grid;place-items:center;flex:none}
.hfa-hall-head h1{margin:0}

/* ---------- ردیف افقی مطالب ---------- */
.hfa-rows{display:flex;flex-direction:column;gap:var(--sp-3)}
.hfa-row{display:flex;gap:var(--sp-4);background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-m);padding:var(--sp-3);transition:.15s}
.hfa-row:hover{border-color:var(--accent);box-shadow:var(--sh-2d)}
.hfa-row-im{width:132px;height:92px;border-radius:var(--r-s);overflow:hidden;background:var(--navy);flex:none;display:block}
.hfa-row-im img{width:100%;height:100%;object-fit:cover;display:block;transition:.25s}
.hfa-row:hover .hfa-row-im img{transform:scale(1.05)}
.hfa-row-bd{flex:1;min-width:0;display:flex;flex-direction:column}
.hfa-row-bd h3{font-size:var(--fs-4);line-height:1.7;margin:0 0 var(--sp-1);color:var(--navy)}
.hfa-row-bd h3 a{color:inherit}
.hfa-row-bd h3 a:hover{color:var(--accent)}
.hfa-row-bd p{font-size:var(--fs-2);color:var(--ink-soft);line-height:1.9;margin:0 0 var(--sp-3);
	text-align:justify;text-justify:inter-word;text-align-last:right}
.hfa-row-bd .hfa-badge-feat.static{align-self:flex-start;margin-bottom:var(--sp-2)}
.hfa-row-ft{display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap;margin-top:auto}
.hfa-rt{display:inline-flex;align-items:center;gap:var(--sp-1);border:1px solid var(--accent);color:var(--accent);background:var(--accent-tint);border-radius:var(--r-xs);padding:var(--sp-1) var(--sp-3);font-size:var(--fs-0);font-weight:700}
.hfa-more{text-align:center;margin-top:var(--sp-5)}
.hfa-btn-dark{background:var(--ink);color:var(--card);border-radius:var(--r-m);padding:var(--sp-3) var(--sp-5);font-weight:600;font-size:var(--fs-3);display:inline-block;transition:.15s}
.hfa-btn-dark:hover{background:var(--accent);color:var(--card)}

/* ---------- زمان باقی‌مانده کنار پیمایش‌گر ---------- */
.hfa-left{display:flex;align-items:center;gap:var(--sp-2);background:var(--accent-tint);color:var(--accent);border:1px solid rgba(238,43,71,.22);border-radius:var(--r-s);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-1);font-weight:700;margin-bottom:var(--sp-4)}
.hfa-left.done{background:#eef7f1;color:#1a7f47;border-color:#c7e6d4}

/* ---------- واکنش‌گرایی ---------- */
@media(max-width:1080px){
	.hfa-halls{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){
	.hfa-halls{grid-template-columns:1fr}
	.hfa-hall-im{height:120px}
	.hfa-hero-search{flex-wrap:wrap;padding:var(--sp-2)}
	.hfa-hero-search input{width:100%;flex:1 1 100%;padding:var(--sp-1) var(--sp-1)}
	.hfa-hero-search .btn-red{width:100%}
	.hfa-row{flex-direction:column;gap:var(--sp-3)}
	.hfa-row-im{width:100%;height:150px}
	.hfa-row-bd p{display:none}
	.hfa-hall-head{gap:var(--sp-3)}
	.hfa-hall-ic{width:46px;height:46px;border-radius:var(--r-m)}
}

/* ===================================================================
   v11.2 — تصاویر دانشکده و سراها
   =================================================================== */

/* هیروی دوستونه: متن راست، تصویر چپ */
.hfa-hero-grid{display:grid;grid-template-columns:1fr;gap:0}
.hfa-hero.has-art .hfa-hero-grid{grid-template-columns:1.05fr .95fr;gap:var(--sp-6);align-items:center}
.hfa-hero-tx{min-width:0}
.hfa-hero .hfa-hero-art{display:none}
.hfa-hero.has-art .hfa-hero-art{display:block;min-width:0}
.hfa-hero.has-art .hfa-hero-art img{width:100%;height:auto;display:block;
	filter:drop-shadow(0 18px 38px rgba(0,0,0,.45))}

/* تصویر کارت سرا */
.hfa-hall-im picture{display:block;width:100%;height:100%}
.hfa-hall-im img{max-width:82%;max-height:82%;width:auto;height:auto;object-fit:contain;
	filter:drop-shadow(0 8px 16px rgba(20,23,32,.18));transition:.22s}
.hfa-hall:hover .hfa-hall-im img{transform:translateY(-3px) scale(1.04)}
.hfa-hall-im{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}

@media(max-width:900px){
	.hfa-hero.has-art .hfa-hero-grid{grid-template-columns:1fr;gap:var(--sp-5)}
	.hfa-hero.has-art .hfa-hero-art{max-width:460px;margin-inline:auto}
}
@media(max-width:620px){
	.hfa-hero.has-art .hfa-hero-art{max-width:100%}
	.hfa-hall-im{height:132px}
}

/* ===================================================================
   v11.4 — کارت سرا کاملاً کلیک‌پذیر + تصویر در هیروی سرا
   کارت حالا خودش یک <a> است، پس عناصر داخلی به span تبدیل شده‌اند
   و باید صریحاً block شوند.
   =================================================================== */
a.hfa-hall{text-decoration:none;color:inherit;cursor:pointer}
.hfa-hall{display:flex;flex-direction:column}
.hfa-hall .hfa-hall-im{display:flex;align-items:center;justify-content:center;
	height:150px;background:linear-gradient(160deg,#f2f4f7,#e6eaef);
	border-bottom:1px solid var(--line);overflow:hidden;position:relative}
.hfa-hall .hfa-hall-bd{display:flex;flex-direction:column;flex:1;padding:var(--sp-4b) var(--sp-4b) var(--sp-4b)}
.hfa-hall-t{display:block;font-size:var(--fs-5);font-weight:700;color:var(--navy);margin:0 0 var(--sp-1);line-height:1.5}
.hfa-hall .hfa-hall-sub{display:block;font-size:var(--fs-1);color:var(--muted);margin-bottom:var(--sp-3)}
.hfa-hall-d{display:block;font-size:var(--fs-2);color:var(--ink-soft);line-height:1.95;margin:0 0 var(--sp-4);flex:1;
	text-align:justify;text-justify:inter-word;text-align-last:right}
.hfa-hall .hfa-hall-btn{display:inline-block;align-self:flex-start;
	background:var(--bg);border:1px solid var(--line-2);color:var(--ink-soft);
	border-radius:var(--r-s);padding:var(--sp-2) var(--sp-4b);font-size:var(--fs-2);font-weight:600;transition:.15s}
a.hfa-hall:hover .hfa-hall-t{color:var(--accent)}
a.hfa-hall:hover .hfa-hall-btn{background:var(--accent);border-color:var(--accent);color:var(--card)}

/* تصویر در هیروی صفحه‌ی هر سرا */
.hfa-hero-hall.has-art .hfa-hero-grid{grid-template-columns:1.15fr .85fr;gap:var(--sp-6);align-items:center}
.hfa-hero-hall.has-art .hfa-hero-art{display:block}
.hfa-hero-hall.has-art .hfa-hero-art img{width:100%;max-width:330px;height:auto;display:block;
	margin-inline:auto;filter:drop-shadow(0 16px 32px rgba(0,0,0,.42))}
.hfa-hero-hall .hfa-hall-head{margin-bottom:var(--sp-3)}

@media(max-width:900px){
	.hfa-hero-hall.has-art .hfa-hero-grid{grid-template-columns:1fr;gap:var(--sp-4b)}
	.hfa-hero-hall.has-art .hfa-hero-art img{max-width:230px}
}
@media(max-width:620px){
	.hfa-hero-hall.has-art .hfa-hero-art img{max-width:180px}
}

/* ===================================================================
   v11.5 — رفع جای‌گیری تصویر در کارت سرا
   قاعده‌ی picture{width:100%;height:100%} باعث می‌شد خودِ picture کل کادر
   را پر کند، پس وسط‌چینیِ کادر روی آن اعمال می‌شد نه روی تصویر داخلش
   و تصویر در راست‌چین به گوشه‌ی بالا-راست می‌چسبید.
   حالا خودِ picture هم وسط‌چین‌کننده است.
   =================================================================== */
.hfa-hall .hfa-hall-im picture,
.hfa-hall-im picture{
	display:flex;align-items:center;justify-content:center;
	width:100%;height:100%;margin:0;padding:0;
}
.hfa-hall .hfa-hall-im img,
.hfa-hall-im img{
	max-width:86%;max-height:86%;width:auto;height:auto;
	object-fit:contain;display:block;margin:0 auto;
	filter:drop-shadow(0 8px 16px rgba(20,23,32,.18));transition:.22s;
}
.hfa-hall .hfa-hall-im{height:172px}

/* هیروی سرا: تصویر داخل picture هم باید وسط بماند */
.hfa-hero-art picture{display:flex;align-items:center;justify-content:center;width:100%}

@media(max-width:620px){
	.hfa-hall .hfa-hall-im{height:150px}
}

/* ===================================================================
   v11.6 — تصاویر هیروی صفحات خدمات، درباره ما و نمونه‌کارها
   =================================================================== */

/* ---------- هیروی صفحات خدمات ---------- */
.hfs-hero-art.has-pic{background:transparent;border:0;min-height:0;padding:0;display:flex;
	align-items:center;justify-content:center;border-radius:0;overflow:visible}
.hfs-hero-art.has-pic picture{display:flex;align-items:center;justify-content:center;width:100%}
.hfs-hero-art.has-pic img{width:100%;max-width:520px;height:auto;display:block;margin:0 auto;
	filter:drop-shadow(0 18px 36px rgba(0,0,0,.45))}

/* کارت‌های برگه‌ی چتر خدمات */
.hfs-index-card .im{height:170px;display:flex;align-items:center;justify-content:center;
	background:linear-gradient(160deg,#1d2434,#141a27);overflow:hidden;padding:var(--sp-3)}
.hfs-index-card .im picture{display:flex;align-items:center;justify-content:center;width:100%;height:100%}
.hfs-index-card .im img{max-width:92%;max-height:92%;width:auto;height:auto;object-fit:contain;
	filter:drop-shadow(0 8px 18px rgba(0,0,0,.4));transition:.22s}
.hfs-index-card:hover .im img{transform:translateY(-3px) scale(1.04)}

/* ---------- هیروی درباره ما ---------- */
.hf-ab-hero.has-pic{display:grid;grid-template-columns:1.08fr .92fr;gap:var(--sp-6);align-items:center}
.hf-ab-hero.has-pic .hf-ab-hero-tx{min-width:0}
.hf-ab-hero.has-pic .hf-ab-hero-tx p{max-width:none}
.hf-ab-hero-pic{min-width:0;display:flex;align-items:center;justify-content:center}
.hf-ab-hero-pic picture{display:flex;align-items:center;justify-content:center;width:100%}
.hf-ab-hero-pic img{width:100%;max-width:470px;height:auto;display:block;
	filter:drop-shadow(0 16px 34px rgba(0,0,0,.45))}

/* ---------- هیروی آرشیو نمونه‌کارها ---------- */
.hf-wk-hero{background:radial-gradient(120% 140% at 82% 0%,#232a3d 0%,var(--navy2,var(--navy2)) 45%,var(--navy) 100%);
	color:var(--card);position:relative;overflow:hidden;margin-bottom:var(--sp-5)}
.hf-wk-hero::after{content:'';position:absolute;top:-30%;left:-6%;width:380px;height:380px;
	background:radial-gradient(circle,rgba(238,43,71,.18),transparent 70%);pointer-events:none}
.hf-wk-hero .wrap{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;
	gap:var(--sp-6);align-items:center;padding:var(--sp-6b) var(--sp-5) var(--sp-6b)}
.hf-wk-hero .kicker{text-align:right}
.hf-wk-hero h1{font-size:var(--fs-9);font-weight:800;line-height:1.45;margin:0 0 var(--sp-3);color:var(--card)}
.hf-wk-hero h1 em{font-style:normal;color:var(--accent)}
.hf-wk-hero p{color:#c3c9d6;font-size:var(--fs-4);line-height:2.1;margin:0;
	text-align:justify;text-justify:inter-word;text-align-last:right}
.hf-wk-hero-pic{min-width:0;display:flex;align-items:center;justify-content:center}
.hf-wk-hero-pic picture{display:flex;align-items:center;justify-content:center;width:100%}
.hf-wk-hero-pic img{width:100%;max-width:500px;height:auto;display:block;
	filter:drop-shadow(0 16px 34px rgba(0,0,0,.45))}

/* ---------- واکنش‌گرایی ---------- */
@media(max-width:900px){
	.hf-ab-hero.has-pic{grid-template-columns:1fr;gap:var(--sp-5)}
	.hf-ab-hero-pic img{max-width:380px;margin-inline:auto}
	.hf-wk-hero .wrap{grid-template-columns:1fr;gap:var(--sp-4b);padding:var(--sp-6) var(--sp-5) var(--sp-6)}
	.hf-wk-hero-pic img{max-width:420px;margin-inline:auto}
	.hf-wk-hero h1{font-size:var(--fs-7)}
}
@media(max-width:620px){
	.hfs-hero-art.has-pic img{max-width:100%}
	.hf-ab-hero-pic img,.hf-wk-hero-pic img{max-width:100%}
	.hf-wk-hero h1{font-size:var(--fs-6)}
	.hfs-index-card .im{height:140px}
}

/* ===================================================================
   v12.0 — منوی موبایل: والد قابل کلیک + آکاردئون + بستن با تپ بیرون
   =================================================================== */
.hf-sub-toggle{display:none}

/* ===================================================================
   v12.1 — ناحیه‌ی لمس زیرمنو بزرگ شد.
   در ۱۲٫۰ دکمه ۴۸×۴۸ بود و مثلثش ۹ پیکسل؛ باز کردن زیرمنو با انگشت سخت بود.
   حالا دکمه تمام‌ارتفاعِ آیتم و ۱۰۰ پیکسل عرض دارد، مثلث بزرگ‌تر و پررنگ‌تر
   است و یک خط جداکننده‌ی کم‌رنگ نشان می‌دهد تا کجا دکمه است.
   `padding-left` لینک والد از عرض دکمه بیشتر است تا متن زیر دکمه نرود و
   رفتن به خودِ صفحه دشوار نشود.
   نکته: به‌جای `inset-inline-end` صریحاً `left/right` نوشته شده —
   تله‌ی ثبت‌شده‌ی RTL (بند ۸ بریف).
   =================================================================== */
@media(max-width:960px){
	.main-nav .menu-item-has-children{position:relative}
	/* لینک والد جا برای دکمه باز کند تا هر دو قابل لمس باشند */
	.main-nav .menu-item-has-children>a{padding-left:112px;padding-right:var(--sp-3)}
	/* فلش قدیمیِ چسبیده به متن حذف می‌شود */
	.main-nav .menu-item-has-children>a::after{content:none}

	.hf-sub-toggle{
		display:block;position:absolute;top:0;bottom:0;left:0;right:auto;
		width:100px;height:auto;background:transparent;border:0;padding:0;
		border-radius:var(--r-s) 0 0 9px;
		cursor:pointer;z-index:5;-webkit-tap-highlight-color:transparent;
		transition:background .15s
	}
	.hf-sub-toggle:active{background:rgba(255,255,255,.08)}
	.main-nav .menu-item-has-children.open>.hf-sub-toggle{background:rgba(255,255,255,.05)}

	/* خط جداکننده: مرز ناحیه‌ی لمس را نشان می‌دهد */
	.hf-sub-toggle::after{
		content:'';position:absolute;top:11px;bottom:11px;right:0;left:auto;
		width:1px;background:rgba(255,255,255,.12)
	}

	/* مثلث: از ۹ به ۱۳ پیکسل و ضخامت ۲ به ۲٫۶ */
	.hf-sub-toggle::before{
		content:'';position:absolute;top:50%;left:43px;right:auto;
		width:13px;height:13px;margin-top:-8px;
		border-right:2.6px solid #dfe4ec;border-bottom:2.6px solid #dfe4ec;
		transform:rotate(45deg);transition:transform .18s,border-color .18s
	}
	.main-nav .menu-item-has-children.open>.hf-sub-toggle::before{
		transform:rotate(-135deg);margin-top:-4px;border-color:var(--accent)
	}

}

/* گوشی‌های باریک: دکمه کمی جمع‌تر تا متن منو جا بماند */
@media(max-width:380px){
	.main-nav .menu-item-has-children>a{padding-left:96px}
	.hf-sub-toggle{width:84px}
	.hf-sub-toggle::before{left:35px}
}

/* =====================================================================
   v13.3 — نوار فیلتر فروشگاه روی موبایل
   پیش‌تر برچسب و تراشه‌ها در یک ردیف flex با wrap بودند؛ روی عرض موبایل
   تراشه‌ها پله‌پله می‌شکستند و برچسب وسطشان گیر می‌کرد. حالا برچسب خط
   خودش را دارد و تراشه‌ها یک نوار افقیِ قابل کشیدن‌اند — همیشه یک ردیف،
   بدون شکستن، و همه‌ی گزینه‌ها با یک سوایپ در دسترس.
   ===================================================================== */
@media(max-width:720px){
	.woocommerce .hf-filters,.hf-filters{
		flex-direction:column;
		align-items:stretch;
		gap:var(--sp-4);
		padding:var(--sp-4);
		overflow:hidden
	}
	.hf-fgroup{
		display:block;
		flex-wrap:nowrap;
		min-width:0
	}
	.hf-flabel{
		display:block;
		margin:0 0 var(--sp-2);
		font-size:var(--fs-1)
	}
	/* نوار افقیِ کشیدنی جواب نداد: آخرین تراشه همیشه نصفه دیده می‌شد و
	   کاربر نمی‌فهمید باید بکشد. حالا تراشه‌ها می‌شکنند و در چند سطر
	   مرتب راست‌چین می‌نشینند — هیچ‌چیز بریده نمی‌شود و همه‌شان دیده‌اند. */
	.hf-chips{
		display:flex;
		flex-wrap:wrap;
		justify-content:flex-start;
		overflow:visible;
		padding:0;
		margin:0;
		gap:var(--sp-2);
		min-width:0
	}
	.hf-chip{
		flex:0 1 auto;
		max-width:100%;
		padding:var(--sp-2) var(--sp-4);
		font-size:var(--fs-2);
		white-space:nowrap
	}
	.hf-chips::-webkit-scrollbar{display:none}

}

/* =====================================================================
   v13.3 — برگه‌ی فرود فروشگاه
   ===================================================================== */
.hf-shopland{margin:0 0 var(--sp-6)}

.hf-shopland-head{
	background:var(--navy);
	background-image:radial-gradient(120% 140% at 88% 0%,var(--navy2) 0%,var(--navy) 62%);
	border-radius:var(--radius);
	padding:var(--sp-6) var(--sp-6) var(--sp-6);
	color:var(--card);
	text-align:right
}
.hf-shopland-kicker{
	margin:0 0 var(--sp-2);
	font-family:var(--mono);
	font-size:var(--fs-1);
	font-weight:600;
	letter-spacing:.06em;
	color:var(--accent);
	text-align-last:right
}
.hf-shopland-title{
	margin:0;
	font-size:clamp(22px,3.4vw,32px);
	font-weight:800;
	line-height:1.5;
	color:var(--card);
	text-align:right;
	text-align-last:right
}
.hf-shopland-lead{
	margin:var(--sp-3) 0 0;
	max-width:56ch;
	font-size:var(--fs-4);
	line-height:2;
	color:rgba(255,255,255,.76);
	text-align:right;
	text-align-last:right
}
.hf-shopland-cta{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin-top:var(--sp-5)}
.hf-shopland-cta .btn-red,.hf-shopland-cta .btn-ghost{
	display:inline-block;
	text-decoration:none;
	line-height:1.6
}

.hf-shopland-cards{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:var(--sp-4);
	margin-top:var(--sp-4)
}
.hf-shopcard{
	display:flex;
	flex-direction:column;
	background:var(--card);
	border:1px solid var(--line);
	border-radius:var(--radius);
	overflow:hidden;
	text-decoration:none;
	color:inherit;
	transition:border-color .15s,transform .15s,box-shadow .15s
}
.hf-shopcard:hover{
	border-color:var(--line-2);
	transform:translateY(-2px);
	box-shadow:var(--shadow)
}
.hf-shopcard-img{
	display:block;
	aspect-ratio:16/10;
	background:var(--bg);
	overflow:hidden
}
.hf-shopcard-img img{
	width:100%;
	height:100%;
	object-fit:cover;
	display:block
}
.hf-shopcard-body{display:block;padding:var(--sp-4) var(--sp-4b) var(--sp-4b)}
.hf-shopcard-title{
	display:block;
	font-weight:800;
	font-size:var(--fs-4);
	color:var(--ink)
}
.hf-shopcard-desc{
	display:block;
	margin-top:var(--sp-2);
	font-size:var(--fs-2);
	line-height:1.95;
	color:var(--ink-soft);
	text-align:right;
	text-align-last:right
}
.hf-shopcard-count{
	display:inline-block;
	margin-top:var(--sp-3);
	font-family:var(--mono);
	font-size:var(--fs-1);
	font-weight:600;
	color:var(--steel);
	background:var(--steel-tint);
	border-radius:var(--r-pill);
	padding:var(--sp-1) var(--sp-3)
}

.hf-shopland-facts{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:var(--sp-3);
	margin:var(--sp-4) 0 0;
	padding:0;
	list-style:none
}
.hf-shopland-facts li{
	background:var(--card);
	border:1px solid var(--line);
	border-radius:var(--r-m);
	padding:var(--sp-4) var(--sp-4)
}
.hf-shopland-facts b{display:block;font-size:var(--fs-3);color:var(--ink)}
.hf-shopland-facts span{
	display:block;
	margin-top:var(--sp-1);
	font-size:var(--fs-1);
	line-height:1.85;
	color:var(--ink-soft);
	text-align:right;
	text-align-last:right
}

.hf-shopland-anchor{display:block;height:1px;scroll-margin-top:96px}
/* رفتن نرم به لنگر، ولی نه برای کسی که حرکت را خاموش کرده */
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.hf-shopland-sub{
	margin:var(--sp-2) 0 var(--sp-4);
	font-size:var(--fs-5);
	font-weight:800;
	color:var(--ink)
}

@media(max-width:960px){
	.hf-shopland-cards{grid-template-columns:repeat(2,1fr)}
	.hf-shopland-facts{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:720px){
	.hf-shopland-head{padding:var(--sp-5) var(--sp-4b) var(--sp-5);border-radius:var(--r-m)}
	.hf-shopland-lead{font-size:var(--fs-3)}
	.hf-shopland-cta{gap:var(--sp-2)}
	.hf-shopland-cta .btn-red,.hf-shopland-cta .btn-ghost{flex:1 1 auto;text-align:center;padding:var(--sp-3) var(--sp-4);font-size:var(--fs-3)}
	.hf-shopland-cards{grid-template-columns:1fr;gap:var(--sp-3)}
	.hf-shopcard{flex-direction:row;align-items:stretch}
	.hf-shopcard-img{flex:0 0 116px;aspect-ratio:auto}
	.hf-shopcard-body{padding:var(--sp-4) var(--sp-4);min-width:0}
	.hf-shopcard-desc{font-size:var(--fs-2)}
	.hf-shopland-facts{grid-template-columns:1fr;gap:var(--sp-2)}
	.hf-shopland-facts li{padding:var(--sp-3) var(--sp-4)}
}

/* =====================================================================
   v14.4 — بخش دانشکده در صفحه‌ی اصلی
   چهار سرا در یک ردیف؛ روی موبایل دو ستونه می‌ماند تا اسکرول کم بماند.
   ===================================================================== */
.acad-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-4)}
.acad-card{
	display:flex;flex-direction:column;gap:var(--sp-1);
	background:var(--card);border:1px solid var(--line);
	border-radius:var(--radius);padding:var(--sp-4b) var(--sp-4b) var(--sp-4);
	text-decoration:none;color:inherit;
	border-top:3px solid var(--steel);
	transition:transform .15s,box-shadow .15s,border-color .15s
}
.acad-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:var(--line-2)}
.acad-card:nth-child(2){border-top-color:var(--accent)}
.acad-name{font-weight:800;font-size:var(--fs-4);color:var(--ink)}
.acad-sub{font-size:var(--fs-2);color:var(--ink-soft);line-height:1.75}
.acad-count{
	margin-top:var(--sp-2);align-self:flex-start;
	font-family:var(--mono);font-size:var(--fs-0);font-weight:600;
	color:var(--steel);background:var(--steel-tint);
	border-radius:var(--r-pill);padding:var(--sp-1) var(--sp-3)
}
.acad-cta{margin-top:var(--sp-4);text-align:center}

@media(max-width:960px){.acad-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){
	.acad-grid{gap:var(--sp-3)}
	.acad-card{padding:var(--sp-4) var(--sp-3)}
	.acad-name{font-size:var(--fs-3)}
	.acad-sub{font-size:var(--fs-1)}
}

/* =====================================================================
   v14.6 — کارت‌های خدمات صفحه‌ی اصلی
   توضیح هر خدمت از جریان صفحه بیرون رفت و به تولتیپِ روی هاور تبدیل شد.
   شش پاراگرافِ سه‌خطی، بخش خدمات را بی‌دلیل بلند کرده بود در حالی که
   کاربر معمولاً فقط عنوان را می‌خواند و روی همان کلیک می‌کند.

   متن در DOM می‌ماند (برای گوگل و صفحه‌خوان)، فقط دیده نمی‌شود.
   `:focus-within` هم اضافه شده تا با کیبورد هم باز شود.
   دامنه عمداً `#services` است؛ کلاس proc-card در بخش فروشگاه هم
   استفاده می‌شود و نباید آنجا تولتیپ بسازد.
   ===================================================================== */
#services .proc-grid{gap:var(--sp-3)}
#services .proc-card{padding:var(--sp-4b) var(--sp-4) var(--sp-4);overflow:visible}
#services .proc-illo{height:auto;margin-bottom:var(--sp-3)}
#services .proc-illo img{width:150px;height:150px}
#services .proc-card h4{margin:0;font-size:var(--fs-4);line-height:1.7}

#services .proc-card p{
	position:absolute;
	right:10px;left:10px;
	top:100%;
	margin:-4px 0 0;
	min-height:0;
	background:var(--navy);
	color:rgba(255,255,255,.9);
	font-size:var(--fs-1);
	line-height:1.9;
	text-align:center;
	text-align-last:center;
	border-radius:var(--r-m);
	padding:var(--sp-3) var(--sp-4);
	box-shadow:var(--sh-3d);
	opacity:0;
	visibility:hidden;
	transform:translateY(-6px);
	transition:opacity .16s,transform .16s,visibility .16s;
	pointer-events:none;
	z-index:40
}
/* نوک تولتیپ */
#services .proc-card p::before{
	content:'';
	position:absolute;
	bottom:100%;
	right:50%;
	left:auto;
	margin-right:-7px;
	border:7px solid transparent;
	border-bottom-color:var(--navy)
}
#services .proc-card:hover p,
#services .proc-card:focus-within p{
	opacity:1;
	visibility:visible;
	transform:translateY(0)
}

/* =====================================================================
   موبایل: ماوسی در کار نیست، پس توضیح اصلاً نمایش داده نمی‌شود.
   عنوان خدمت به‌تنهایی گویاست و کاربر با یک ضربه وارد صفحه‌ی همان خدمت
   می‌شود که توضیح کامل را دارد. متن در DOM می‌ماند و از سئو چیزی کم نمی‌شود.
   ===================================================================== */
@media(hover:none),(max-width:720px){
	#services .proc-card p{
		position:absolute;
		width:1px;
		height:1px;
		padding:0;
		margin:-1px;
		overflow:hidden;
		clip-path:inset(50%);
		white-space:nowrap;
		border:0;
		opacity:0;
		box-shadow:none
	}
	#services .proc-card{padding:var(--sp-3) var(--sp-3)}
	#services .proc-illo{margin-bottom:var(--sp-2)}
	#services .proc-card h4{font-size:var(--fs-2)}
}

/* =====================================================================
   v14.7 — کارت‌های خدمات بدون کادر
   کادر خاکستری دور هر خدمت شش مستطیل جدا می‌ساخت و شبکه را تکه‌تکه
   نشان می‌داد. حالا دایره‌ها مستقیم روی زمینه می‌نشینند و خودشان
   ریتم بصری را می‌سازند. بازخورد هاور روی خود دایره است، نه روی کادر.
   ===================================================================== */
#services .proc-card{
	background:transparent;
	border:0;
	box-shadow:none;
	padding:var(--sp-2) var(--sp-2) var(--sp-3)
}
#services .shop-block .proc-card{background:transparent}
#services .proc-grid{gap:var(--sp-1) 0}
#services .proc-illo{margin-bottom:var(--sp-2)}

/* هاور روی خود دایره بزرگ‌نمایی می‌کند؛ عنوان هم رنگ می‌گیرد */
#services .proc-card h4{transition:color .15s}
#services .proc-card:hover h4{color:var(--accent)}

/* تولتیپ کمی جمع‌تر می‌شود چون دیگر کادری نیست که پهنایش را تعریف کند */
#services .proc-card p{
	right:auto;
	left:auto;
	right:50%;
	transform:translate(50%,-6px);
	width:min(280px,88vw);
	margin-top:var(--sp-1)
}
#services .proc-card:hover p,
#services .proc-card:focus-within p{transform:translate(50%,0)}

@media(hover:none),(max-width:720px){
	#services .proc-card{padding:var(--sp-1) var(--sp-1) var(--sp-3)}
	#services .proc-grid{gap:var(--sp-1) 0}
	#services .proc-illo{margin-bottom:var(--sp-2)}
}

/* v14.8 — تصویر سراها در کارت دانشکده‌ی صفحه‌ی اصلی */
.acad-card{padding:0;overflow:hidden}
.acad-thumb{display:block;aspect-ratio:16/10;background:var(--bg);overflow:hidden}
.acad-thumb picture,.acad-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.acad-name{padding:var(--sp-4) var(--sp-4) 0}
.acad-sub{padding:0 var(--sp-4)}
.acad-count{margin:var(--sp-2) var(--sp-4) var(--sp-4)}
@media(max-width:560px){
	.acad-name{padding:var(--sp-3) var(--sp-3) 0}
	.acad-sub{padding:0 var(--sp-3)}
	.acad-count{margin:var(--sp-2) var(--sp-3) var(--sp-3)}
}

/* v15.0 — تصویر کارت‌های متریال در «درباره‌ی ما» */
.hf-ab-mats > div.has-pic{padding:0;overflow:hidden;display:flex;flex-direction:column}
.hf-ab-mat-im{display:block;aspect-ratio:4/3;background:var(--card);overflow:hidden}
.hf-ab-mat-im picture,.hf-ab-mat-im img{display:block;width:100%;height:100%;object-fit:cover}
.hf-ab-mats > div.has-pic b{margin:var(--sp-4) var(--sp-4b) var(--sp-2)}
.hf-ab-mats > div.has-pic span:not(.hf-ab-mat-im){display:block;padding:0 var(--sp-4b) var(--sp-4)}
@media(max-width:640px){
	.hf-ab-mats > div.has-pic b{margin:var(--sp-3) var(--sp-4) var(--sp-1)}
	.hf-ab-mats > div.has-pic span:not(.hf-ab-mat-im){padding:0 var(--sp-4) var(--sp-3)}
}

/* =====================================================================
   v15.0 — هیروی «درباره‌ی ما» با بقیه‌ی سایت یکسان شد
   پیش‌تر کارتی گرد داخل کانتینر برگه بود و تنها هیروی سایت بود که از دو
   طرف تورفتگی داشت. حالا مثل .hfs-hero تمام‌عرض است: پس‌زمینه لبه‌تا‌لبه
   و محتوا داخل عرض استاندارد. گرادیان و درخشش قرمز هم همان الگو شد.
   ===================================================================== */
.hf-about .hf-ab-hero{
	position:relative;
	width:100vw;
	max-width:100vw;
	margin-right:calc(50% - 50vw);
	margin-left:calc(50% - 50vw);
	margin-bottom:var(--sp-7);
	border-radius:0;
	padding:0;
	overflow:hidden;
	background:radial-gradient(120% 140% at 82% 0%,#232a3d 0%,var(--navy2,var(--navy2)) 45%,var(--navy) 100%)
}
.hf-about .hf-ab-hero::after{
	content:'';
	position:absolute;
	top:-30%;
	left:-6%;
	right:auto;
	width:420px;
	height:420px;
	background:radial-gradient(circle,rgba(238,43,71,.20),transparent 70%);
	pointer-events:none
}
.hf-about .hf-ab-hero.has-pic{
	display:grid;
	grid-template-columns:1.05fr .95fr;
	gap:var(--sp-7);
	align-items:center;
	max-width:1180px;
	margin-right:auto;
	margin-left:auto;
	padding:var(--sp-7b) var(--sp-5) var(--sp-7);
	width:auto
}
/* پس‌زمینه‌ی تمام‌عرض با یک لایه‌ی جداگانه، تا شبکه داخل عرض استاندارد بماند */
.hf-about .hf-ab-hero.has-pic::before{
	content:'';
	position:absolute;
	top:0;
	bottom:0;
	right:calc(50% - 50vw);
	left:calc(50% - 50vw);
	background:inherit;
	z-index:-1
}
.hf-about .hf-ab-hero > *{position:relative;z-index:1}
.hf-about .hf-ab-hero h1{font-size:var(--fs-9)}
.hf-about .hf-ab-hero .hfs-crumb{margin-bottom:var(--sp-3)}
.hf-about .hf-ab-hero-pic{border-radius:var(--r-xl);overflow:hidden;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.04)}
.hf-about .hf-ab-hero-pic picture,.hf-about .hf-ab-hero-pic img{display:block;width:100%;height:auto}

@media(max-width:900px){
	.hf-about .hf-ab-hero.has-pic{grid-template-columns:1fr;gap:var(--sp-5);padding:var(--sp-6b) var(--sp-4b) var(--sp-6)}
	.hf-about .hf-ab-hero h1{font-size:var(--fs-7)}
}

/* =====================================================================
   v15.2 — اصلاحات بصری
   ===================================================================== */

/* --- تصویر کارت‌های دانشکده کراپ نشود ---
   `cover` تصویر را بزرگ می‌کرد تا کادر را پر کند و لبه‌ها را می‌برید.
   `contain` با پس‌زمینه‌ی سرمه‌ای جواب می‌دهد چون خودِ این تصاویر پس‌زمینه‌ی
   تیره‌ی یکدست دارند، پس فضای باقی‌مانده اصلاً دیده نمی‌شود. */
.acad-thumb{background:var(--navy)}
.acad-thumb picture,.acad-thumb img{object-fit:contain}

/* --- هیروی برگه‌ی روش‌های تولید ---
   تصویر تازه پس‌زمینه‌ی شفاف دارد، پس کادر و پس‌زمینه‌ی کارت دیگر لازم نیست
   و فقط یک مستطیل تیره داخل هیروی تیره می‌ساخت. */
.hfs-hero-art.has-pic{
	background:transparent;
	border:0;
	box-shadow:none;
	padding:0;
	border-radius:0
}
.hfs-hero-art.has-pic picture,
.hfs-hero-art.has-pic img{
	display:block;
	width:100%;
	height:auto;
	border-radius:0
}

/* --- فاصله‌ی عنوان برگه تا هدر ---
   وقتی عنوان وردپرسی پر شد، به کادر بالایی می‌چسبید. */
.page-shell .page-title{margin:var(--sp-5) 0 var(--sp-4b);font-size:var(--fs-9);line-height:1.6}
@media(max-width:720px){.page-shell .page-title{margin:var(--sp-4b) 0 var(--sp-4);font-size:var(--fs-6)}}

/* --- کارت «شما وارد حساب خود هستید» ---
   دکمه به لبه‌ی راست کارت چسبیده بود. طبق تله‌ی ثبت‌شده، به‌جای
   `inset-inline-end` از چیدمان صریح استفاده شده. */
.hf-auth-card .hf-auth-done + .hf-auth-btn,
.hf-auth-card > .hf-auth-btn{
	display:block;
	width:auto;
	max-width:320px;
	margin:0 auto;
	text-align:center;
	padding:var(--sp-3) var(--sp-5);
	box-sizing:border-box
}
@media(max-width:480px){
	.hf-auth-card > .hf-auth-btn{max-width:100%;padding:var(--sp-3) var(--sp-4b)}
}

/* --- متن معرفی صفحه‌ی سفارش --- */
.hf-order-intro{
	max-width:860px;
	margin:var(--sp-6b) auto 0;
	padding-top:var(--sp-6);
	border-top:1px solid var(--line)
}
.hf-order-intro h2{font-size:var(--fs-6);font-weight:800;color:var(--ink);margin:0 0 var(--sp-4)}
.hf-order-intro h3{font-size:var(--fs-5);font-weight:700;color:var(--ink);margin:var(--sp-5) 0 var(--sp-2)}
.hf-order-intro p{font-size:var(--fs-4);line-height:2.1;color:var(--ink-soft);margin:0 0 var(--sp-3)}
.hf-order-intro strong{color:var(--ink);font-weight:700}
@media(max-width:720px){
	.hf-order-intro{margin-top:var(--sp-6);padding-top:var(--sp-5)}
	.hf-order-intro h2{font-size:var(--fs-6)}
	.hf-order-intro h3{font-size:var(--fs-4)}
	.hf-order-intro p{font-size:var(--fs-3);line-height:2}
}

/* =====================================================================
   v15.3 — یکسان‌سازی هیروها + فشرده‌سازی موبایل
   ---------------------------------------------------------------------
   مسئله‌ی ۱ (دسکتاپ): هفت هیرو در هفت زمان جدا نوشته شده بودند و هیچ
   مقیاس مشترکی نداشتند؛ تیتر یکی ۵۰ پیکسل بود و دیگری ۲۷، تصویر یکی
   داخل کادر بود و دیگری بی‌کادر، عرض یکی ۹۶۰ و دیگری ۱۶۸۰.
   اینجا ساختار هر صفحه دست‌نخورده می‌ماند ولی مقیاس مشترک می‌شود.

   مسئله‌ی ۲ (موبایل): صفحه‌ی اصلی ما حدود ۴۰٪ بلندتر از رقیب بود.
   ریشه‌اش تصویرها نبود، تراکم چیدمان بود: دایره‌های بزرگ خدمات،
   کارت‌های عکس‌دار دانشکده، و هیرویی که اول تصویر را نشان می‌داد.

   نکته: مقدار `--hf-hb` را PHP روی خود سکشن هیرو می‌گذارد و فقط
   داخل مدیا-کوئری موبایل مصرف می‌شود، پس دسکتاپ آن فایل را دانلود
   نمی‌کند. همه‌جا fallback دارد تا اگر تصویری نبود، گرادیان قبلی
   سر جایش بماند.
   ===================================================================== */

/* ---------- ۱. مقیاس مشترک تیتر و متن هیرو ---------- */
.hero-card h1,
.hfs-hero h1,
.hfa-hero h1,
.hf-ab-hero h1,
.hf-wk-hero h1,
.hf-bug-hero h1,
.hf-shopland-title{
	font-size:clamp(25px,3.1vw,40px);
	font-weight:800;
	line-height:1.5;
	letter-spacing:-.01em
}

.hero-lead,
.hero-card p,
.hfs-lead,
.hf-ab-hero p,
.hf-wk-hero p,
.hf-bug-hero p,
.hf-shopland-lead{
	font-size:var(--fs-4);
	line-height:2.05;
	max-width:64ch
}
.hero-lead{font-weight:600}

/* پدینگ مشترک سکشن هیرو */
.hero .wrap,
.hfs-hero .wrap{padding:var(--sp-8) var(--sp-5) var(--sp-8)}
.hf-wk-hero .wrap{padding:var(--sp-8) var(--sp-5) var(--sp-8)}

/* ---------- ۲. رفتار مشترک تصویر هیرو ----------
   R-09 (v15.5) — اینجا در ۱۵٫۳ زیاده‌روی شده بود: کادر روشنِ پشت تصویر
   هم برداشته شده بود. آن کادر تزئین نبود؛ تصویرها با همان تُن ساخته
   شده‌اند و بدون آن، تصویر از هیرو گسسته دیده می‌شود. کادر برگشت.

   چیزی که از ۱۵٫۳ می‌ماند فقط همان اصلاح واقعی است: تصویر با `contain`
   رندر می‌شود نه `cover`، پس دیگر لبه‌ی قطعه بریده نمی‌شود. */
.hfs-hero-art img,
.hf-about .hf-ab-hero-pic img,
.hf-ab-hero-pic img,
.hf-wk-hero-pic img,
.hfa-hero.has-art .hfa-hero-art img{
	width:100%;
	height:100%;
	max-width:520px;
	margin-inline:auto;
	object-fit:contain
}
.hero-illo-frame{max-width:520px}

/* ---------- ۳. عرض صفحه‌ی درباره‌ی ما ----------
   هیرو مثل بقیه‌ی صفحات تمام‌عرض می‌شود؛ متن‌ها در ستون خوانا می‌مانند
   چون سطر بلندتر از این، خواندن فارسی را سخت می‌کند. */
.hf-about{max-width:none}
.hf-about > *:not(.hf-ab-hero){max-width:1040px;margin-inline:auto}

/* =====================================================================
   ۴. موبایل — تصویر هیرو به پس‌زمینه‌ی بلر تبدیل می‌شود
   ===================================================================== */
@media(max-width:820px){

	.hero,
	.hfs-hero,
	.hfa-hero,
	.hf-wk-hero,
	.hf-about .hf-ab-hero{
		background-color:var(--navy);
		/* R-10 — پرده از ۵۸٪ به ۴۰٪ آمد؛ تصویرهای بلر هم روی همان
		   گرادیان برند بازسازی شدند تا موبایل از دسکتاپ تیره‌تر نباشد. */
		background-image:
			linear-gradient(rgba(23,29,43,.40),rgba(23,29,43,.40)),
			var(--hf-hb,radial-gradient(120% 140% at 82% 0%,#232a3d 0%,var(--navy2) 45%,#101521 100%));
		background-size:cover;
		background-position:center;
		background-repeat:no-repeat
	}

	.hero-illo,
	.hfs-hero-art,
	.hf-ab-hero-pic,
	.hf-wk-hero-pic,
	.hfa-hero.has-art .hfa-hero-art{display:none}

	/* متن اول — تصویری هم نمانده که بخواهد بالا بیاید */
	.hero-illo{order:0}

	.hero .wrap,
	.hfs-hero .wrap,
	.hf-wk-hero .wrap{padding:var(--sp-6) var(--sp-4b) var(--sp-6);grid-template-columns:1fr;gap:0}

	/* ---------- ۵. دو ردیف چیپ «نوع قطعه» هرکدام در یک خط ---------- */
	.taglist{
		display:block;
		white-space:nowrap;
		overflow-x:auto;
		scrollbar-width:none;
		-webkit-overflow-scrolling:touch
	}
	.taglist::-webkit-scrollbar{display:none}

	/* ---------- ۶. خدمات: از دایره‌های بزرگ به ردیف فشرده ---------- */
	#services .proc-grid{grid-template-columns:1fr;gap:0}
	#services .proc-card{
		display:grid;
		grid-template-columns:54px 1fr;
		align-items:center;
		gap:var(--sp-3);
		padding:var(--sp-2) var(--sp-1);
		text-align:right;
		border-bottom:1px solid var(--line)
	}
	#services .proc-card:last-child{border-bottom:0}
	#services .proc-illo{margin:0;height:auto}
	#services .proc-illo img{width:54px;height:54px}
	#services .proc-card h4{margin:0;font-size:var(--fs-3);text-align:right;line-height:1.6}
	.soon-badge{top:10px;left:2px}

	/* ---------- ۷. دانشکده: از کارت عکس‌دار به ردیف باریک ---------- */
	.acad-grid{grid-template-columns:1fr;gap:var(--sp-3)}
	.acad-card{display:grid;grid-template-columns:92px 1fr;align-items:center}
	.acad-thumb{grid-column:1;grid-row:1/span 3;aspect-ratio:1/1;height:100%}
	.acad-name{grid-column:2;padding:var(--sp-3) var(--sp-3) 0;font-size:var(--fs-3)}
	.acad-sub{grid-column:2;padding:0 var(--sp-3);font-size:var(--fs-1)}
	.acad-count{grid-column:2;margin:var(--sp-1) var(--sp-3) var(--sp-3)}
}

/* =====================================================================
   ۸. نوار ثابت پایین صفحه (فقط موبایل)
   مسیر «سفارش قطعه» از هر جای صفحه یک ضربه فاصله دارد، پس بلندی صفحه
   دیگر هزینه‌ی پیمایش ندارد. z-index زیر مودال‌ها (۹۵۰۰ و ۹۹۹۹) است.
   ===================================================================== */
.hf-mbar{display:none}

@media(max-width:820px){
	.hf-mbar{
		display:grid;
		grid-template-columns:repeat(5,1fr);
		position:fixed;
		right:0;
		left:0;
		bottom:0;
		z-index:9100;
		/* R-12 — همان سطح سربرگ: رنگ برند با همان شفافیت و همان بلر.
		   قبلاً #101521 بود که از سرمه‌ای برند تیره‌تر است و توی چشم می‌زد. */
		background:rgba(23,29,43,.92);
		backdrop-filter:blur(10px);
		border-top:1px solid rgba(255,255,255,.07);
		padding:var(--sp-2) var(--sp-1);
		padding-bottom:calc(6px + env(safe-area-inset-bottom,0px))
	}
	.hf-mbar-i{
		display:grid;
		justify-items:center;
		align-content:center;
		gap:var(--sp-1);
		padding:var(--sp-1) var(--sp-1);
		font-size:var(--fs-0);
		font-weight:600;
		color:#c3cad8;
		text-decoration:none;
		border-radius:var(--r-s)
	}
	.hf-mbar-i svg{width:21px;height:21px}
	.hf-mbar-i span{white-space:nowrap}
	.hf-mbar-i:active{background:rgba(255,255,255,.07)}
	.hf-mbar-cta{color:var(--card)}
	.hf-mbar-cta svg{
		width:28px;
		height:28px;
		padding:var(--sp-1);
		border-radius:var(--r-s);
		background:var(--accent);
		color:var(--card)
	}
	body{padding-bottom:var(--sp-8)}
	.hf-support{bottom:78px}
}

/* گوشی‌های باریک: پنج برچسب باید در یک خط جا شوند */
@media(max-width:380px){
	.hf-mbar-i{font-size:var(--fs-0)}
	.hf-mbar-i svg{width:19px;height:19px}
	.hf-mbar-cta svg{width:25px;height:25px}
}


/* =====================================================================
   R-04 — لنگرهای داخل صفحه با ارتفاع سربرگ هماهنگ می‌شوند
   سربرگ فقط روی دسکتاپ چسبان است، پس این قاعده هم فقط همان‌جا لازم است.
   هیچ چیزی در چیدمان جابه‌جا نمی‌شود؛ فقط وقتی کاربر روی لنگری کلیک
   می‌کند، عنوان زیر سربرگ پنهان نمی‌ماند.
   ===================================================================== */
@media(min-width:961px){
	section[id],h2[id],h3[id]{scroll-margin-top:calc(var(--hf-head-h) + var(--sp-3))}
}


/* =====================================================================
   R-11 — چیدمان صفحه‌ی حساب کاربری در موبایل
   ---------------------------------------------------------------------
   ایراد قدیمی بود، نه تازه. در بخش v4.6 فایل، یک قاعده‌ی بدون مدیا-کوئری
   ستون‌بندی حساب کاربری را روی «۳۰۰ پیکسل + بقیه» می‌گذاشت. چون آن قاعده
   بعد از مدیا-کوئری ۱۱۰۰ پیکسل می‌آید و هم‌وزن آن است، در آبشار برنده
   می‌شد و در موبایل هم اجرا می‌شد. نتیجه این بود که ستون محتوا روی گوشی
   به یک نوار چند ده پیکسلی له می‌شد و متنش عمودی و ناخوانا می‌ماند.

   این دقیقاً همان بدهی آبشاری است که در ممیزی ثبت شد: قاعده‌ی مرده‌ای که
   بعداً نوشته شده و بی‌صدا برنده می‌شود.
   ===================================================================== */
@media(max-width:1100px){
	.woocommerce-account .woocommerce{grid-template-columns:1fr}
	.hf-acc-grid{grid-template-columns:1fr}
}

/* =====================================================================
   v15.7 — اصلاح بازخوردها
   ===================================================================== */

/* ---------- R-13: اندازه‌ی تصویر هیروی صفحه‌ی اصلی ----------
   در ۱۵٫۳ هنگام یکسان‌سازی، حداکثر عرض این تصویر از ۶۸۰ به ۵۲۰ آمده بود
   و تصویر حدود یک‌چهارم کوچک شد. عدد اصلی برگشت. بقیه‌ی تصویرهای هیرو
   همان ۵۲۰ می‌مانند چون در ستون باریک‌تری می‌نشینند. */
.hero-illo-frame{max-width:680px}

/* ---------- R-14 و R-15: هیروی تمام‌عرض ----------
   دو هیرو از دو طرف تورفتگی داشتند چون داخل ظرف برگه نشسته بودند:
   درباره‌ی ما و فروشگاه. این قاعده از ظرف بیرون می‌زند و پس‌زمینه را
   لبه‌تا‌لبه می‌کند، ولی متن را دقیقاً هم‌عرض بقیه‌ی سایت نگه می‌دارد. */
/* R-24/R-25 (v15.9) — ترفند بیرون‌زدن از ظرف حذف شد.
   آن راه‌حل به عرض پنجره و نبود بریدگی در والدها وابسته بود و روی صفحه‌ی
   درباره‌ی ما کار نمی‌کرد. حالا همان مکانیزم صفحات خدمات به کار می‌رود:
   ظرف برگه برای این دو صفحه خنثی می‌شود و عرض متن را ظرف داخلی هیرو
   تعیین می‌کند. قاعده‌ی خنثی‌سازی پایین‌تر آمده است. */
.hf-about .hf-ab-hero,
.hf-shopland-head{border-radius:0;max-width:none}

/* فروشگاه: همان پس‌زمینه و همان مقیاس هیروهای دیگر */
.hf-shopland-head{
	background:radial-gradient(120% 140% at 82% 0%,#232a3d 0%,var(--navy2,var(--navy2)) 45%,var(--navy) 100%);
	border:0;
	padding-top:var(--sp-8);
	padding-bottom:var(--sp-8);
	margin-bottom:var(--sp-6)
}
.hf-shopland-head .hfs-crumb{margin-bottom:var(--sp-3)}

/* =====================================================================
   R-16 — پاورقی فشرده‌ی موبایل
   روی دسکتاپ اصلاً وجود ندارد؛ روی موبایل جای ستون‌های لینک را می‌گیرد.
   ===================================================================== */
.foot-mini{display:none}

@media(max-width:820px){
	.site-footer .foot-grid{display:none}
	.foot-mini{
		display:flex;
		flex-direction:column;
		align-items:center;
		gap:var(--sp-4);
		padding:var(--sp-6) 0 var(--sp-5)
	}
	.foot-mini-badges .hf-badge img{height:88px}
	.foot-mini-tel{
		display:inline-flex;
		align-items:center;
		gap:var(--sp-3);
		padding:var(--sp-3) var(--sp-5);
		border-radius:var(--r-m);
		background:rgba(255,255,255,.06);
		border:1px solid rgba(255,255,255,.10);
		color:var(--card);
		font-size:var(--fs-5);
		font-weight:700;
		text-decoration:none
	}
	.foot-mini-tel svg{color:var(--accent);flex:none}
	.foot-mini-social{display:flex;gap:var(--sp-4)}
	.foot-mini-social a{
		display:grid;
		place-items:center;
		width:44px;
		height:44px;
		border-radius:var(--r-pill);
		background:rgba(255,255,255,.06);
		border:1px solid rgba(255,255,255,.10);
		color:#c2c9d6
	}
	.foot-mini-social img{border-radius:var(--r-pill)}
}

/* =====================================================================
   R-17 (v15.8) — ارتفاع یکسان نوار سرمه‌ای در همه‌ی صفحه‌ها
   ---------------------------------------------------------------------
   ارتفاع سربرگ از ۱۵٫۴ یکسان است، ولی چیزی که به چشم می‌آید مجموع سربرگ
   و هیروست. بلندی هیرو تا امروز از محتوا می‌آمد: هر صفحه به اندازه‌ی متن
   و تصویر خودش بلند می‌شد، پس هیچ دو صفحه‌ای برابر درنمی‌آمد — از حدود
   ۴۵۰ تا ۶۲۰ پیکسل.

   دو قاعده این را می‌بندد:
   ۱) هر هیرو دست‌کم به اندازه‌ی `--hf-hero-min` بلند است و محتوایش عمودی
      وسط می‌نشیند. صفحه‌های کم‌متن دیگر کوتاه نمی‌مانند.
   ۲) تصویر هیرو نمی‌تواند نوار را بلندتر کند: ارتفاعش به همان اندازه
      محدود است و چون با `contain` رندر می‌شود، فقط کوچک‌تر می‌شود و
      هیچ‌جایش بریده نمی‌شود.

   فقط دسکتاپ. در موبایل هیرو باید به اندازه‌ی محتوا باشد، نه بیشتر.
   ===================================================================== */
@media(min-width:961px){

	.hero .wrap,
	.hfs-hero .wrap,
	.hfa-hero .wrap,
	.hf-wk-hero .wrap{
		min-height:var(--hf-hero-min);
		align-content:center
	}

	.hf-about .hf-ab-hero,
	.hf-shopland-head{
		min-height:var(--hf-hero-min);
		align-content:center
	}

	/* سقف ارتفاع تصویر: کمینه‌ی نوار منهای پدینگ بالا و پایین */
	.hero-illo-frame img,
	.hfs-hero-art img,
	.hf-about .hf-ab-hero-pic img,
	.hf-ab-hero-pic img,
	.hf-wk-hero-pic img,
	.hfa-hero.has-art .hfa-hero-art img{
		max-height:calc(var(--hf-hero-min) - var(--sp-8) - var(--sp-7));
		object-fit:contain
	}
}

/* =====================================================================
   v15.9
   ===================================================================== */

/* ---------- R-18: نوار سفید بالای فروشگاه ----------
   عنوان برگه بالای هیرو یک نوار سفید می‌ساخت و هیرو را از سربرگ جدا
   می‌کرد. عنوان واقعی صفحه داخل خود هیروست، پس این یکی تکراری است.
   همان کاری که برای برگه‌ی گزارش خطا از قبل انجام شده بود. */
body.hf-page-store .page-title,
body.hf-page-store .entry-title{display:none}

/* ---------- R-19: تیتر هیروی فروشگاه ---------- */
.hf-shopland-title em{font-style:normal;color:var(--accent)}

/* ---------- R-20: ارتفاع هیروی دانشکده ----------
   بعد از R-17 همه‌ی هیروها ۴۶۰ پیکسل شدند جز دانشکده که ۸۴ پیکسل
   بلندتر ماند. علتش جست‌وجو یا چیپ‌ها نبود؛ محل پدینگ بود.

   در بقیه‌ی هیروها پدینگ روی همان جعبه‌ای است که کمینه‌ی ارتفاع را دارد،
   پس داخل ۴۶۰ حساب می‌شود. در دانشکده پدینگ روی سکشن بیرونی بود و
   کمینه روی جعبه‌ی داخلی، پس ۴۴ و ۴۰ پیکسل به کل ارتفاع اضافه می‌شد.
   حالا پدینگ هم به همان جعبه منتقل شده و هر پنج هیرو دقیقاً هم‌ارتفاعند. */
@media(min-width:961px){
	.hfa-hero{padding-top:0;padding-bottom:0}
	.hfa-hero .wrap{padding-top:var(--sp-8);padding-bottom:var(--sp-8)}
	.hfa-hero-search{margin:var(--sp-4) 0 var(--sp-3)}
}

/* =====================================================================
   R-24 و R-25 (v15.9) — دو صفحه‌ی باقی‌مانده، با همان مکانیزم صفحات خدمات
   ---------------------------------------------------------------------
   صفحات خدمات و دانشکده از اول این‌طور کار می‌کردند: ظرف برگه برای آن
   صفحه خنثی می‌شود و هر بخش ظرف داخلی خودش را دارد. درباره‌ی ما و
   فروشگاه این ظرف داخلی را نداشتند، برای همین هیچ قاعده‌ی CSS نمی‌توانست
   تمام‌عرضشان کند. حالا هر دو ظرف داخلی دارند و همین قاعده کافی است.
   ===================================================================== */
body.hf-about-page .wrap.page-shell,
body.hf-page-store .wrap.page-shell{max-width:none !important;padding:0 !important}

/* بدنه‌ی این دو صفحه در ستون خوانا می‌ماند؛ فقط هیرو تمام‌عرض است */
.hf-about > *:not(.hf-ab-hero){max-width:var(--hf-w-read);margin-inline:auto;padding-inline:22px}
.hf-shopland > *:not(.hf-shopland-head){max-width:var(--hf-w-page);margin-inline:auto;padding-inline:22px}

/* هیروی درباره‌ی ما: ظرف داخلی همان شبکه‌ی قبلی را می‌گیرد */
.hf-about .hf-ab-hero{padding-inline:0}
.hf-ab-hero-in{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-6b);align-items:center}

/* هیروی فروشگاه: تک‌ستونه، و اگر تصویر آمد دو ستونه */
.hf-shopland-head{padding-inline:0}
.hf-shopland-head-in{display:grid;grid-template-columns:1fr;gap:var(--sp-6b);align-items:center}
.hf-shopland-head.has-pic .hf-shopland-head-in{grid-template-columns:1.05fr .95fr}
.hf-shopland-art img{width:100%;height:auto;max-width:520px;margin-inline:auto;display:block;object-fit:contain}

@media(min-width:961px){
	.hf-shopland-art img{max-height:calc(var(--hf-hero-min) - var(--sp-8) - var(--sp-7))}
}

@media(max-width:960px){
	.hf-ab-hero-in,
	.hf-shopland-head.has-pic .hf-shopland-head-in{grid-template-columns:1fr;gap:var(--sp-4b)}
}

/* =====================================================================
   R-28 (v16.1) — اصلاح چیدمان هیروی درباره‌ی ما
   ---------------------------------------------------------------------
   در ۱۶٫۰ ظرف داخلی به هیرو اضافه شد ولی شبکه‌ی دوستونه‌ی قدیمی روی خود
   هیرو باقی ماند. نتیجه این شد که هیرو یک شبکه‌ی دوستونه با یک فرزند
   داشت: ظرف داخلی در ستون اول جا می‌شد و نیمی از عرض را می‌گرفت، و شبکه‌ی
   داخلی همان نصف را دوباره نصف می‌کرد. برای همین متن باریک و تصویر کوچک
   و سمت چپ خالی شد.

   حالا ستون‌بندی فقط یک جا تعریف می‌شود: روی ظرف داخلی، با همان نسبت و
   فاصله‌ی اصلی. بیرون‌زدگی دستی هم لازم نیست، چون ظرف برگه برای این صفحه
   خنثی است و هیرو خودبه‌خود تمام‌عرض می‌شود.
   ===================================================================== */
body.hf-about-page .hf-about .hf-ab-hero,
body.hf-about-page .hf-about .hf-ab-hero.has-pic{
	display:block;
	width:auto;
	max-width:none;
	margin-inline:0;
	padding:var(--sp-8) 0 var(--sp-8)
}
.hf-ab-hero-in{grid-template-columns:1.08fr .92fr;gap:var(--sp-6)}

@media(max-width:960px){
	body.hf-about-page .hf-about .hf-ab-hero,
	body.hf-about-page .hf-about .hf-ab-hero.has-pic{padding:var(--sp-6) 0 var(--sp-6)}
}

/* =====================================================================
   v16.3 — دسته‌ی دو سند اجرایی
   ===================================================================== */

/* ---------- R-36: کلاس جایگزین استایل درون‌خطی ---------- */
.hfb-disabled{text-align:center;color:#8a1226}
.hfb-input[inputmode="numeric"]{text-align:right}

/* =====================================================================
   R-37 — یکسان‌سازی فرم‌ها
   ---------------------------------------------------------------------
   عمداً با :where نوشته شده، یعنی وزن صفر دارد. هر قاعده‌ی موجودی در
   قالب از این قوی‌تر است و برنده می‌شود. پس این بلوک فقط جاهایی اثر
   می‌گذارد که تا امروز هیچ تعریفی نداشته‌اند — و به همین دلیل نمی‌تواند
   ظاهر هیچ فرمی را که از قبل طراحی شده به هم بزند.

   مهم‌ترین چیزی که اضافه می‌کند حلقه‌ی تمرکز کیبورد است. تا امروز در
   بیشتر فرم‌ها وقتی با Tab جلو می‌رفتید معلوم نبود کجای فرم هستید.
   :focus-visible فقط با کیبورد فعال می‌شود، نه با ضربه یا کلیک، پس برای
   کاربر موبایل هیچ فرقی نمی‌کند.
   ===================================================================== */
:where(input,select,textarea){
	font-family:inherit;
	border-radius:var(--r-s)
}
:where(input,select,textarea,button,a,summary,[tabindex]):focus-visible{
	outline:2px solid transparent;
	outline-offset:2px;
	box-shadow:var(--sh-focus)
}

/* =====================================================================
   v16.4 — اصلاح بازخوردها
   ===================================================================== */

/* ---------- R-40: فضای خالی بزرگ در هیروی صفحات خدمات ----------
   از ۱۵٫۸ کمینه‌ی ارتفاع روی هیرو نشست و از ۱۵٫۹ تصویر با `contain`
   رندر می‌شود. ترکیب این دو با `height:100%` روی تصویر یعنی جعبه‌ی تصویر
   تا ته ردیف کش می‌آمد و تصویر وسطش کوچک می‌ماند — همان مستطیل سیاه
   بزرگی که دیده می‌شد. حالا جعبه به اندازه‌ی خود تصویر است. */
.hfs-hero-art,
.hf-about .hf-ab-hero-pic,
.hf-ab-hero-pic,
.hf-wk-hero-pic{min-height:0;align-self:center}

.hfs-hero-art img,
.hf-about .hf-ab-hero-pic img,
.hf-ab-hero-pic img,
.hf-wk-hero-pic img,
.hfa-hero.has-art .hfa-hero-art img{height:auto}

/* ---------- R-44: چیدمان هیروی درباره‌ی ما در موبایل ----------
   قاعده‌ی دوستونه‌ای که در ۱۶٫۱ نوشتم بدون مدیا-کوئری بود و بعد از
   قاعده‌ی موبایل می‌آمد، پس در گوشی هم برنده می‌شد. ستون تصویر در موبایل
   پنهان است، پس نیمی از عرض صفحه خالی می‌ماند و متن در نصف باریک
   می‌چپید. همان الگوی «قاعده‌ی دیرتر، خنثی‌کننده‌ی قاعده‌ی درست». */
@media(max-width:960px){
	.hf-ab-hero-in,
	.hf-shopland-head.has-pic .hf-shopland-head-in{grid-template-columns:1fr;gap:var(--sp-4b)}
}

/* ---------- R-41: فشرده‌سازی نوار مشخصات در موبایل ----------
   چهار مشخصه، هر کدام یک بلوک تمام‌عرض با آیکون بزرگ — تقریباً یک صفحه‌ی
   کامل اسکرول برای چهار عدد. دوستونه و جمع‌تر شد. */
@media(max-width:600px){
	.hfs-stats .wrap{grid-template-columns:1fr 1fr;padding:0}
	.hfs-stat{padding:var(--sp-3) var(--sp-2);border-top:1px solid rgba(255,255,255,.07)}
	.hfs-stat:nth-child(-n+2){border-top:0}
	.hfs-stat:nth-child(odd){border-inline-start:none}
	.hfs-stat .si{width:28px;height:28px;margin-bottom:var(--sp-1);border-radius:var(--r-xs)}
	.hfs-stat .si svg{width:15px;height:15px}
	.hfs-stat .v{font-size:var(--fs-5)}
	.hfs-stat .k{font-size:var(--fs-1)}
}
