/* ════════════════════════════════════════════════════════════════════
   home.css — استایل اختصاصی صفحه‌ی اصلی (جدا از Bootstrap)
   تم: تیره‌ی لوکس | زرشکی #7A1F2B–#8E2436 | سبز #1F4D3A–#2E5E45
   ساختار بخش‌ها: ناوبار، هیرو، درباره ما، منوی ویژه، گالری، نظرات، رزرو، فوتر
   ════════════════════════════════════════════════════════════════════ */

/* ── متغیرهای پایه (پالت رنگی طبق هویت برند) ─────────────────────── */
:root {
  --hm-bg:        #161210;              /* پس‌زمینه‌ی اصلی: تقریباً مشکی با ته‌رنگ گرم */
  --hm-bg-soft:   #1E1815;              /* پس‌زمینه‌ی بخش‌های متناوب (کمی روشن‌تر) */
  --hm-card:      #211a16;              /* پس‌زمینه‌ی کارت‌ها */
  --hm-burgundy:  #7A1F2B;              /* زرشکی تیره — رنگ اصلی برند */
  --hm-burgundy2: #8E2436;              /* زرشکی روشن‌تر برای hover */
  --hm-green:     #1F4D3A;              /* سبز تیره — رنگ ثانویه */
  --hm-green2:    #2E5E45;              /* سبز روشن‌تر برای hover */
  /* نسخه‌ی روشنِ رنگ‌های برند — فقط برای «متن و آیکون» روی پس‌زمینه‌ی تیره.
     زرشکی و سبزِ تیره روی #161210 نسبتِ کنتراستِ ۲.۲ داشتند و خوانده نمی‌شدند. */
  --hm-burgundy-on-dark: #D9576A;
  --hm-green-on-dark:    #5FAE7E;
  --hm-cream:     #F5F0E6;              /* متن اصلی: کرم روشن */
  --hm-muted:     rgba(245, 240, 230, 0.62);  /* متن کم‌اهمیت */
  --hm-gold:      #C9A227;              /* طلایی — فقط برای خط‌های تزئینی ظریف */
  --hm-line:      rgba(201, 162, 39, 0.25);   /* خط نازک طلایی دور کارت‌ها */
  --hm-line-burg: rgba(142, 36, 54, 0.4);     /* خط نازک زرشکی */
  --hm-radius:    18px;
  --hm-shadow:    0 18px 50px rgba(0, 0, 0, 0.45);
  --hm-nav-h:     76px;
}

/* ── پایه‌ی صفحه ──────────────────────────────────────────────────── */
html { scroll-behavior: smooth; }
body.hm-body {
  background: var(--hm-bg);
  color: var(--hm-cream);
  font-family: 'Vazirmatn', Tahoma, sans-serif;
  overflow-x: hidden;
}
/* جبران ارتفاع ناوبار چسبان هنگام پرش با لینک‌های داخلی (#anchor) */
section[id] { scroll-margin-top: calc(var(--hm-nav-h) + 12px); }

::selection { background: var(--hm-burgundy); color: #fff; }

/* تیتر بخش‌ها + خط تزئینی زیر آن */
.hm-sec-label {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--hm-gold);
  font-size: 0.85rem;
  font-weight: 600;
  margin-bottom: 0.75rem;
}
.hm-sec-label::before,
.hm-sec-label::after {
  content: '';
  width: 34px;
  height: 1px;
  background: linear-gradient(to left, transparent, var(--hm-gold));
}
.hm-sec-label::after { background: linear-gradient(to right, transparent, var(--hm-gold)); }
.hm-sec-title {
  font-size: clamp(1.7rem, 3.4vw, 2.6rem);
  font-weight: 900;
  line-height: 1.4;
  margin-bottom: 0.75rem;
}
.hm-sec-desc { color: var(--hm-muted); max-width: 560px; margin-inline: auto; line-height: 2; }

/* فاصله‌گذاری سخاوتمندانه‌ی بخش‌ها */
.hm-section { padding: clamp(4rem, 8vw, 7rem) 0; }
.hm-section--soft { background: var(--hm-bg-soft); }

/* ورود نرم عناصر هنگام اسکرول (با IntersectionObserver در JS فعال می‌شود) */
.hm-reveal { opacity: 0; transform: translateY(28px); transition: opacity 0.7s ease, transform 0.7s ease; }
.hm-reveal.in-view { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .hm-reveal { opacity: 1; transform: none; transition: none; }
}

/* ── دکمه‌های برند (زرشکی / سبز — متناوب، نه قاطی) ──────────────── */
.btn-hm {
  --btn-bg: var(--hm-burgundy);
  --btn-bg-hover: var(--hm-burgundy2);
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.8rem 1.9rem;
  border: none;
  border-radius: 999px;
  background: var(--btn-bg);
  color: var(--hm-cream);
  font-weight: 700;
  font-size: 0.95rem;
  text-decoration: none;
  transition: background 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
  box-shadow: 0 10px 30px rgba(122, 31, 43, 0.35);
}
.btn-hm:hover {
  background: var(--btn-bg-hover);
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 14px 38px rgba(122, 31, 43, 0.5);
}
.btn-hm--green {
  --btn-bg: var(--hm-green);
  --btn-bg-hover: var(--hm-green2);
  box-shadow: 0 10px 30px rgba(31, 77, 58, 0.35);
}
.btn-hm--green:hover { box-shadow: 0 14px 38px rgba(31, 77, 58, 0.5); }
.btn-hm--outline {
  background: transparent;
  border: 1.5px solid var(--hm-line);
  box-shadow: none;
  color: var(--hm-cream);
}
.btn-hm--outline:hover { background: rgba(245, 240, 230, 0.07); transform: translateY(-2px); box-shadow: none; }
.btn-hm--sm { padding: 0.55rem 1.2rem; font-size: 0.85rem; }

/* ════════════════════════════════════════════════════════════════════
   ۱) ناوبار چسبان
   ════════════════════════════════════════════════════════════════════ */
.hm-nav {
  position: sticky;
  top: 0;
  z-index: 1000;
  height: var(--hm-nav-h);
  display: flex;
  align-items: center;
  background: rgba(22, 18, 16, 0.85);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid transparent;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}
.hm-nav.is-scrolled {
  border-bottom-color: var(--hm-line);
  box-shadow: 0 10px 34px rgba(0, 0, 0, 0.45);
}
.hm-nav__inner { display: flex; align-items: center; gap: 1rem; width: 100%; }

/* لوگو (سمت راست در RTL) */
.hm-brand {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  color: var(--hm-cream);
  text-decoration: none;
  font-weight: 900;
  font-size: 1.15rem;
  flex-shrink: 0;
}
.hm-brand:hover { color: var(--hm-cream); }
.hm-brand__icon {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--hm-burgundy), var(--hm-burgundy2));
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--hm-cream);
  border: 1px solid var(--hm-line);
}

/* لینک‌های ناوبری */
.hm-nav__links {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  list-style: none;
  margin: 0 auto;             /* وسط‌چین بین لوگو و دکمه */
  padding: 0;
}
.hm-nav__links a {
  color: var(--hm-muted);
  text-decoration: none;
  font-size: 0.92rem;
  font-weight: 600;
  padding: 0.5rem 0.9rem;
  border-radius: 10px;
  transition: color 0.2s ease, background 0.2s ease;
}
.hm-nav__links a:hover,
.hm-nav__links a.active { color: var(--hm-cream); background: rgba(142, 36, 54, 0.18); }

/* دکمه‌ی برجسته‌ی رزرو (سمت چپ ناوبار) */
.hm-nav__cta { flex-shrink: 0; }

/* اکشن‌های ناوبار: سبد، ورود/پروفایل، خروج، رزرو */
.hm-nav__actions { display: flex; align-items: center; gap: 0.55rem; flex-shrink: 0; }
.hm-iconbtn {
  position: relative;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  border: 1px solid rgba(245, 240, 230, 0.16);
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--hm-cream);
  cursor: pointer;
  transition: all 0.25s ease;
}
.hm-iconbtn:hover { border-color: var(--hm-line); background: rgba(245, 240, 230, 0.06); color: var(--hm-cream); }
.hm-badge {
  position: absolute;
  top: -7px;
  left: -7px;
  min-width: 19px;
  height: 19px;
  padding: 0 5px;
  border-radius: 999px;
  background: var(--hm-burgundy2);
  color: #fff;
  font-size: 0.65rem;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--hm-bg);
}
.hm-brand__logo { max-height: 44px; max-width: 130px; object-fit: contain; border-radius: 8px; }

/* دکمه‌ی خروج داخل منوی موبایل */
.hm-mobilemenu__logout {
  display: block;
  width: 100%;
  text-align: right;
  background: none;
  border: none;
  color: var(--hm-burgundy2);
  font-weight: 700;
  font-family: inherit;
  font-size: 1rem;
  padding: 0.85rem 0.5rem;
  cursor: pointer;
}

/* همبرگر موبایل */
.hm-nav__toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: 1px solid var(--hm-line);
  border-radius: 10px;
  padding: 9px 10px;
  cursor: pointer;
  margin-inline-start: auto;
}
.hm-nav__toggle span { width: 22px; height: 2px; background: var(--hm-cream); border-radius: 2px; }

/* منوی موبایل (باز/بسته با JS) */
.hm-mobilemenu {
  display: none;
  position: fixed;
  inset: var(--hm-nav-h) 0 auto 0;
  z-index: 990;
  background: rgba(22, 18, 16, 0.98);
  border-bottom: 1px solid var(--hm-line);
  padding: 1rem 1.25rem 1.5rem;
}
.hm-mobilemenu.open { display: block; }
.hm-mobilemenu a {
  display: block;
  color: var(--hm-cream);
  text-decoration: none;
  font-weight: 600;
  padding: 0.85rem 0.5rem;
  border-bottom: 1px solid rgba(245, 240, 230, 0.07);
}
.hm-mobilemenu a:last-child { border-bottom: none; }

@media (max-width: 991px) {
  .hm-nav__links, .hm-nav__cta { display: none; }
  .hm-nav__actions .hm-hide-mobile { display: none; }   /* در موبایل فقط سبد می‌ماند */
  .hm-nav__actions { margin-inline-start: auto; }
  .hm-nav__toggle { display: flex; }
}

/* ════════════════════════════════════════════════════════════════════
   ۲) هیرو — تک‌بخشِ متنی روی پس‌زمینه‌ی عکسِ تمام‌عرض (مثل رفرنس)
   ════════════════════════════════════════════════════════════════════ */
.hm-hero {
  position: relative;
  min-height: calc(100vh - var(--hm-nav-h));
  display: flex;
  align-items: center;
  overflow: hidden;
  background: var(--hm-bg);
  padding: 3.5rem 0 4rem;
}
/* عکسِ پس‌زمینه: برگرِ دودی؛ آینه می‌شود تا سوژه چپ و فضای تیره زیر متن (راست) بیفتد */
.hm-hero__bg { position: absolute; inset: 0; z-index: 0; }
.hm-hero__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: scaleX(-1);
}
/* اورلی: تیرگی از راست (زیر متن) + محوشدن به پایین برای پیوستگی با بخش بعد */
.hm-hero__bg::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to left, rgba(22, 18, 16, 0.95) 0%, rgba(22, 18, 16, 0.8) 34%, rgba(22, 18, 16, 0.35) 62%, rgba(22, 18, 16, 0.15) 100%),
    linear-gradient(to top, var(--hm-bg) 0, rgba(22, 18, 16, 0.35) 16%, transparent 38%),
    linear-gradient(to bottom, rgba(22, 18, 16, 0.6), transparent 22%);
}
.hm-hero .container { position: relative; z-index: 2; }
.hm-hero__content { max-width: 640px; }   /* در RTL خودکار به سمتِ راست می‌چسبد */
.hm-hero__title {
  font-size: clamp(2.3rem, 5vw, 3.9rem);
  font-weight: 900;
  line-height: 1.35;
  margin-bottom: 1.1rem;
  text-shadow: 0 2px 26px rgba(0, 0, 0, 0.65);
}
.hm-hero__title .accent { color: var(--hm-burgundy-on-dark); }
.hm-hero__sub {
  color: var(--hm-muted);
  font-size: 1.02rem;
  line-height: 2.1;
  max-width: 470px;
  margin-bottom: 2rem;
  text-shadow: 0 1px 14px rgba(0, 0, 0, 0.7);
}
.hm-hero__ctas { display: flex; flex-wrap: wrap; gap: 0.9rem; margin-bottom: 2.6rem; }

/* مهرِ «۱۰۰٪ کیفیت» — گوشه‌ی سمتِ تصویر (مثل رفرنس) */
.hm-hero__seal {
  position: absolute;
  z-index: 2;
  left: clamp(1.5rem, 8vw, 8rem);
  top: 14%;
  width: 116px;
  height: 116px;
  border-radius: 50%;
  border: 1px solid var(--hm-line);
  background: rgba(22, 18, 16, 0.55);
  backdrop-filter: blur(6px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  color: var(--hm-gold);
  box-shadow: 0 14px 44px rgba(0, 0, 0, 0.5);
}
.hm-hero__seal::before {
  content: '';
  position: absolute;
  inset: 7px;
  border-radius: 50%;
  border: 1px dashed rgba(201, 162, 39, 0.45);
}
.hm-hero__seal strong { font-size: 1.35rem; font-weight: 900; line-height: 1; }
.hm-hero__seal span { font-size: 0.6rem; font-weight: 700; color: var(--hm-muted); text-align: center; line-height: 1.7; }

/* سه ویژگی کوتاه زیر دکمه‌ها */
.hm-hero__feats { display: flex; flex-wrap: wrap; gap: 1.6rem; }
.hm-feat { display: flex; align-items: center; gap: 0.65rem; }
.hm-feat__icon {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--hm-line);
  color: var(--hm-gold);
  background: rgba(201, 162, 39, 0.06);
}
/* آیکون‌ها یکی‌درمیان سبز/زرشکی تا دو رنگ برند متناوب دیده شوند */
.hm-feat:nth-child(2) .hm-feat__icon { color: var(--hm-green-on-dark); border-color: rgba(46, 94, 69, 0.5); background: rgba(31, 77, 58, 0.12); }
.hm-feat:nth-child(3) .hm-feat__icon { color: var(--hm-burgundy-on-dark); border-color: var(--hm-line-burg); background: rgba(122, 31, 43, 0.12); }
.hm-feat__t { font-size: 0.88rem; font-weight: 700; }
.hm-feat__d { font-size: 0.73rem; color: var(--hm-muted); margin-top: 2px; }


/* ════════════════════════════════════════════════════════════════════
   ۳) درباره ما
   ════════════════════════════════════════════════════════════════════ */
.hm-about__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(2.5rem, 6vw, 5rem);
  align-items: center;
}
/* قاب عکس با خط طلایی آفست (قابل جایگزینی با هر عکس واقعی) */
.hm-about__media { position: relative; }
.hm-about__media::before {
  content: '';
  position: absolute;
  inset: 18px -18px -18px 18px;
  border: 1px solid var(--hm-line);
  border-radius: var(--hm-radius);
}
.hm-about__imgbox {
  position: relative;
  border-radius: var(--hm-radius);
  overflow: hidden;
  aspect-ratio: 4 / 3;
  border: 1px solid var(--hm-line);
  background: linear-gradient(150deg, #241c18, #191411 55%, #201915); /* fallback وقتی عکس نبود */
}
.hm-about__imgbox img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.7s ease; }
.hm-about__media:hover img { transform: scale(1.045); }

.hm-about__text p { color: var(--hm-muted); line-height: 2.1; margin-bottom: 1.4rem; }
.hm-check { display: flex; align-items: center; gap: 0.65rem; padding: 0.42rem 0; font-weight: 600; font-size: 0.95rem; }
.hm-check svg { color: var(--hm-green-on-dark); flex-shrink: 0; }

/* ════════════════════════════════════════════════════════════════════
   ۴) منوی ویژه — تب‌های فیلتر + گرید کارت
   ════════════════════════════════════════════════════════════════════ */
.hm-tabs { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem; margin-bottom: 2.2rem; }
.hm-tab {
  padding: 0.55rem 1.35rem;
  border-radius: 999px;
  border: 1px solid rgba(245, 240, 230, 0.16);
  background: transparent;
  color: var(--hm-muted);
  font-weight: 600;
  font-size: 0.88rem;
  cursor: pointer;
  transition: all 0.25s ease;
}
.hm-tab:hover { color: var(--hm-cream); border-color: var(--hm-line); }
.hm-tab.active { background: var(--hm-burgundy); border-color: var(--hm-burgundy); color: #fff; }

/* کارت غذا: خط نازک طلایی، hover با بزرگ‌نمایی جزئی + سایه */
.hm-dish {
  background: var(--hm-card);
  border: 1px solid var(--hm-line);
  border-radius: var(--hm-radius);
  overflow: hidden;
  height: 100%;
  display: flex;
  flex-direction: column;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}
.hm-dish:hover {
  transform: translateY(-6px) scale(1.015);
  box-shadow: var(--hm-shadow);
  border-color: rgba(201, 162, 39, 0.5);
}
.hm-dish__img { height: 200px; overflow: hidden; background: #14100e; }
.hm-dish__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.55s ease; }
.hm-dish:hover .hm-dish__img img { transform: scale(1.07); }
.hm-dish__body { padding: 1.05rem 1.15rem 1.25rem; display: flex; flex-direction: column; flex: 1; }
.hm-dish__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 0.6rem; margin-bottom: 0.4rem; }
.hm-dish__name { font-weight: 800; font-size: 1.02rem; }
.hm-dish__price { color: var(--hm-gold); font-weight: 900; font-size: 0.95rem; white-space: nowrap; }
.hm-dish__desc { color: var(--hm-muted); font-size: 0.8rem; line-height: 1.9; margin-bottom: 0.9rem; flex: 1; }
.hm-dish__btn {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.5rem 1.2rem;
  border-radius: 999px;
  border: 1px solid rgba(46, 94, 69, 0.55);
  background: rgba(31, 77, 58, 0.16);
  color: #9fd4b5;
  font-size: 0.8rem;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.25s ease;
}
.hm-dish__btn:hover { background: var(--hm-green); color: #fff; border-color: var(--hm-green); }

/* ════════════════════════════════════════════════════════════════════
   ۵) گالری فضا
   ════════════════════════════════════════════════════════════════════ */
.hm-gallery { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.hm-gallery__item {
  position: relative;
  border-radius: var(--hm-radius);
  overflow: hidden;
  aspect-ratio: 3 / 4;
  border: 1px solid var(--hm-line);
  /* گرادیان زیر عکس؛ اگر عکس حذف شود همین باکس placeholder دیده می‌شود */
  background: linear-gradient(160deg, #241c18, #191411 60%, #1c1613);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.hm-gallery__item:hover { transform: translateY(-5px) scale(1.015); box-shadow: var(--hm-shadow); }
.hm-gallery__item img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.6s ease; }
.hm-gallery__item:hover img { transform: scale(1.06); }
.hm-gallery__cap {
  position: absolute;
  inset-inline: 0;
  bottom: 0;
  padding: 2.4rem 0.9rem 0.85rem;
  background: linear-gradient(to top, rgba(12, 9, 8, 0.92), transparent);
  font-size: 0.85rem;
  font-weight: 700;
}

/* ════════════════════════════════════════════════════════════════════
   ۶) نظرات مشتریان
   ════════════════════════════════════════════════════════════════════ */
.hm-review {
  background: var(--hm-card);
  border: 1px solid var(--hm-line-burg);
  border-radius: var(--hm-radius);
  padding: 1.6rem;
  height: 100%;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.hm-review:hover { transform: translateY(-5px); box-shadow: var(--hm-shadow); }
.hm-review__stars { color: var(--hm-gold); display: inline-flex; gap: 3px; margin-bottom: 0.8rem; }
.hm-review__text { color: var(--hm-muted); font-size: 0.92rem; line-height: 2; margin-bottom: 1.2rem; }
.hm-review__who { display: flex; align-items: center; gap: 0.7rem; border-top: 1px solid rgba(245, 240, 230, 0.08); padding-top: 1rem; }
.hm-review__avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  color: var(--hm-cream);
  background: linear-gradient(135deg, var(--hm-green), var(--hm-green2));
}
/* آواتارها یکی‌درمیان سبز/زرشکی */
.col:nth-child(2n) .hm-review__avatar { background: linear-gradient(135deg, var(--hm-burgundy), var(--hm-burgundy2)); }
.hm-review__name { font-weight: 700; font-size: 0.92rem; }
.hm-review__role { font-size: 0.75rem; color: var(--hm-muted); }

/* ════════════════════════════════════════════════════════════════════
   ۷) فرم رزرو میز — پس‌زمینه‌ی عکس تارشده + کارت فرم
   ════════════════════════════════════════════════════════════════════ */
.hm-reserve { position: relative; overflow: hidden; }
.hm-reserve__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: blur(7px) brightness(0.5);
  transform: scale(1.06);              /* جلوگیری از دیده‌شدن لبه‌های blur */
}
.hm-reserve__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(150deg, rgba(22, 18, 16, 0.9), rgba(31, 77, 58, 0.55) 55%, rgba(122, 31, 43, 0.5));
}
.hm-reserve__wrap { position: relative; z-index: 2; }
.hm-reserve__info p { color: rgba(245, 240, 230, 0.75); line-height: 2.1; }
.hm-reserve__contact {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  color: var(--hm-gold);
  font-weight: 800;
  font-size: 1.1rem;
  text-decoration: none;
  direction: ltr;                       /* شماره تلفن چپ‌به‌راست خوانده شود */
}
.hm-reserve__contact:hover { color: #E0BE55; }

/* کارت فرم */
.hm-form {
  background: rgba(24, 19, 16, 0.92);
  backdrop-filter: blur(12px);
  border: 1px solid var(--hm-line);
  border-radius: var(--hm-radius);
  padding: 1.9rem;
  box-shadow: var(--hm-shadow);
}
.hm-form__title {
  text-align: center;
  font-weight: 900;
  color: var(--hm-cream);
  margin-bottom: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.7rem;
}
.hm-form__title::before,
.hm-form__title::after { content: ''; width: 44px; height: 1px; background: linear-gradient(to left, transparent, var(--hm-gold), transparent); }

/* فیلدها (بازنویسی ظاهر Bootstrap برای تم تیره) */
.hm-form .form-control,
.hm-form .form-select {
  background: #14100e;
  border: 1px solid rgba(245, 240, 230, 0.14);
  border-radius: 12px;
  color: var(--hm-cream);
  padding: 0.7rem 1rem;
  font-size: 0.9rem;
}
.hm-form .form-control::placeholder { color: rgba(245, 240, 230, 0.35); }
.hm-form .form-control:focus,
.hm-form .form-select:focus {
  background: #14100e;
  color: var(--hm-cream);
  border-color: var(--hm-burgundy2);
  box-shadow: 0 0 0 3px rgba(142, 36, 54, 0.25);
}
/* آیکون‌های بومی تقویم/ساعت مرورگر در تم تیره دیده شوند */
.hm-form input[type="date"]::-webkit-calendar-picker-indicator,
.hm-form input[type="time"]::-webkit-calendar-picker-indicator { filter: invert(0.85); cursor: pointer; }
.hm-form label { font-size: 0.8rem; font-weight: 600; color: var(--hm-muted); margin-bottom: 0.35rem; }

/* دکمه‌ی بزرگ ارسال (زرشکی) */
.hm-form__submit {
  width: 100%;
  justify-content: center;
  font-size: 1.02rem;
  padding: 0.95rem 1rem;
}

/* ════════════════════════════════════════════════════════════════════
   ۸) فوتر
   ════════════════════════════════════════════════════════════════════ */
.hm-footer {
  background: #120e0c;
  border-top: 1px solid var(--hm-line);
  padding: clamp(3rem, 6vw, 4.5rem) 0 1.5rem;
  position: relative;
}
/* خط گرادیانی تزئینی بالای فوتر */
.hm-footer::before {
  content: '';
  position: absolute;
  top: -1px;
  inset-inline: 0;
  height: 2px;
  background: linear-gradient(to left, transparent, var(--hm-burgundy2), var(--hm-gold), var(--hm-green2), transparent);
}
.hm-footer h6 { font-weight: 800; margin-bottom: 1.1rem; color: var(--hm-cream); }
.hm-footer p, .hm-footer li, .hm-footer a { color: var(--hm-muted); font-size: 0.88rem; }
.hm-footer a { text-decoration: none; transition: color 0.2s ease; }
.hm-footer a:hover { color: var(--hm-gold); }
.hm-footer ul { list-style: none; padding: 0; margin: 0; }
.hm-footer ul li { padding: 0.3rem 0; }
.hm-footer__contact li { display: flex; align-items: center; gap: 0.55rem; }
.hm-footer__contact svg { color: var(--hm-green-on-dark); flex-shrink: 0; }

/* شبکه‌های اجتماعی */
.hm-social { display: flex; gap: 0.6rem; margin-top: 1rem; }
.hm-social a {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  border: 1px solid var(--hm-line);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--hm-muted);
  transition: all 0.25s ease;
}
.hm-social a:hover { background: var(--hm-burgundy); border-color: var(--hm-burgundy); color: #fff; transform: translateY(-3px); }

/* فرم خبرنامه */
.hm-news { display: flex; gap: 0.5rem; margin-top: 0.8rem; }
.hm-news input {
  flex: 1;
  background: #14100e;
  border: 1px solid rgba(245, 240, 230, 0.14);
  border-radius: 999px;
  color: var(--hm-cream);
  padding: 0.6rem 1.1rem;
  font-size: 0.85rem;
  font-family: inherit;
}
.hm-news input:focus { outline: none; border-color: var(--hm-green2); }
.hm-news button {
  border: none;
  border-radius: 999px;
  background: var(--hm-green);
  color: #fff;
  padding: 0.6rem 1.3rem;
  font-weight: 700;
  font-size: 0.85rem;
  font-family: inherit;
  cursor: pointer;
  transition: background 0.25s ease;
}
.hm-news button:hover { background: var(--hm-green2); }
.hm-news__msg { font-size: 0.78rem; color: var(--hm-green-on-dark); margin-top: 0.5rem; display: none; }
.hm-news__msg.show { display: block; }

.hm-footer__bottom {
  border-top: 1px solid rgba(245, 240, 230, 0.08);
  margin-top: 2.5rem;
  padding-top: 1.25rem;
  text-align: center;
  font-size: 0.8rem;
  color: rgba(245, 240, 230, 0.4);
}

/* ════════════════════════════════════════════════════════════════════
   سازگاری با صفحاتِ _Layout (منو/سبد/پروفایل و ...)
   ناوبارِ قبلیِ آن صفحات fixed بود و هدرها padding جبرانی داشتند؛
   ناوبارِ جدید sticky (درجریان) است، پس جبران لازم نیست.
   ════════════════════════════════════════════════════════════════════ */
.public-site .lux-menu-hero { padding-top: 2.5rem; }
.public-site .lux-page-header { padding-top: 2.25rem; }

/* ════════════════════════════════════════════════════════════════════
   ریسپانسیو
   ════════════════════════════════════════════════════════════════════ */
@media (max-width: 991px) {
  .hm-hero__content { max-width: none; text-align: center; }
  .hm-hero__sub { margin-inline: auto; }
  .hm-hero__ctas, .hm-hero__feats { justify-content: center; }
  .hm-hero__seal { display: none; }
  /* در موبایل سوژه وسط و اورلی یکنواخت‌تر تا متن وسط‌چین خوانا بماند */
  .hm-hero__bg img { object-position: 35% center; }
  .hm-hero__bg::after {
    background:
      linear-gradient(rgba(22, 18, 16, 0.78), rgba(22, 18, 16, 0.85)),
      linear-gradient(to top, var(--hm-bg) 0, transparent 24%);
  }
  .hm-about__grid { grid-template-columns: 1fr; }
  .hm-about__media { max-width: 560px; margin-inline: auto; }
  .hm-gallery { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 575px) {
  .hm-gallery { grid-template-columns: 1fr; }
  .hm-gallery__item { aspect-ratio: 16 / 10; }
  .hm-hero__feats { flex-direction: column; align-items: center; gap: 0.9rem; }
  .hm-news { flex-direction: column; }
}
