/* ==========================================================================
   storefront-pro.css — لایهٔ ظاهری حرفه‌ای ویترین (v1.1.4)
   فقط روی ویترین بارگذاری می‌شود (نه /manage). همه رنگ‌ها از متغیرهای تم
   (--brand / --card / --text / --muted / --border / --surface) می‌آیند تا
   تم روشن/تاریک و رنگ برند تنظیم‌شده توسط مدیر رعایت شود.
   ========================================================================== */

:root {
  --nh-r-sm: 12px;
  --nh-r-md: 18px;
  --nh-r-lg: 26px;
  --nh-ease: cubic-bezier(.22, .8, .24, 1);
  --nh-shadow-1: 0 1px 2px rgba(10, 20, 30, .06), 0 6px 18px rgba(10, 20, 30, .06);
  --nh-shadow-2: 0 2px 4px rgba(10, 20, 30, .08), 0 18px 40px rgba(10, 20, 30, .14);
  --nh-silver: linear-gradient(135deg, #f7f9fb 0%, #c9d1d9 42%, #f1f4f7 58%, #aab4be 100%);
  --nh-accent: var(--brand-accent, #d8b45a);
  --nh-glass: rgba(255, 255, 255, .72);
  --nh-glass-border: rgba(15, 30, 40, .08);
  --nh-tabbar-h: 0px;
}
html[theme-color="dark"] {
  --nh-shadow-1: 0 1px 2px rgba(0, 0, 0, .3), 0 8px 22px rgba(0, 0, 0, .28);
  --nh-shadow-2: 0 2px 6px rgba(0, 0, 0, .4), 0 22px 46px rgba(0, 0, 0, .45);
  --nh-glass: rgba(10, 32, 30, .72);
  --nh-glass-border: rgba(255, 255, 255, .08);
}
@media (max-width: 991.98px) { :root { --nh-tabbar-h: 84px; } }

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }
::selection { background: rgba(var(--brand-rgb), .28); }

/* فضای پایین صفحه تا نوار پایین موبایل روی محتوا نیفتد */
@media (max-width: 991.98px) {
  body.spa-enabled .site-footer { padding-bottom: calc(var(--nh-tabbar-h) + 12px); }
  body.has-stickybuy .site-footer { padding-bottom: calc(var(--nh-tabbar-h) + 84px); }
}

/* فوکوس قابل‌دسترس */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 2px solid var(--brand);
  outline-offset: 2px;
  border-radius: 8px;
}

/* ---------- انتقال نرم صفحه ---------- */
@view-transition { navigation: auto; }
@keyframes nhPageIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
#spa-root { animation: nhPageIn .34s var(--nh-ease) backwards; }
@media (prefers-reduced-motion: reduce) {
  #spa-root { animation: none; }
  @view-transition { navigation: none; }
  *, *::before, *::after { scroll-behavior: auto !important; }
}

/* ---------- هدر ---------- */
.nh-header { transition: box-shadow .25s ease, background-color .25s ease; }
.nh-header.is-scrolled { box-shadow: 0 8px 30px rgba(0, 0, 0, .18); }
.nh-icon-btn { transition: transform .18s var(--nh-ease), background-color .2s ease, border-color .2s ease; }
.nh-icon-btn:hover { transform: translateY(-1px); }
.nh-icon-btn:active { transform: scale(.94); }
.nh-theme-btn { cursor: pointer; }
.nh-theme-btn i { transition: transform .45s var(--nh-ease); }
.nh-theme-btn:hover i { transform: rotate(-18deg) scale(1.08); }
.nh-nav a { position: relative; }
.nh-nav a::after {
  content: ""; position: absolute; inset-inline: .9rem; bottom: .25rem; height: 2px; border-radius: 2px;
  background: var(--brand); transform: scaleX(0); transform-origin: center; transition: transform .28s var(--nh-ease);
}
.nh-nav a:hover::after, .nh-nav a:focus-visible::after { transform: scaleX(1); }

/* ---------- ریتم بخش‌ها و تیترها ---------- */
.home-pro .hp-section { padding-block: clamp(1.5rem, 3.4vw, 3.1rem); }
.home-pro .hp-section-head { margin-bottom: clamp(.9rem, 2vw, 1.5rem); align-items: flex-end; }
.hp-eyebrow {
  display: inline-flex; align-items: center; gap: .55rem;
  letter-spacing: .02em; font-weight: 700; color: var(--brand);
}
.hp-eyebrow::before {
  content: ""; width: 22px; height: 2px; border-radius: 2px;
  background: linear-gradient(90deg, var(--nh-accent), transparent);
}
.hp-section-head h2 { font-weight: 800; letter-spacing: -.01em; line-height: 1.35; font-size: clamp(1.25rem, 1.9vw + .7rem, 1.85rem); }
.hp-link {
  display: inline-flex; align-items: center; gap: .4rem; font-weight: 700; padding: .35rem .85rem;
  border-radius: 999px; border: 1px solid rgba(var(--brand-rgb), .25); transition: all .22s var(--nh-ease);
}
.hp-link i { transition: transform .22s var(--nh-ease); }
.hp-link:hover { background: rgba(var(--brand-rgb), .12); border-color: rgba(var(--brand-rgb), .5); text-decoration: none; }
.hp-link:hover i { transform: translateX(-4px); }

/* reveal: نرم‌تر و پلکانی */
.hp-reveal { transition: opacity .7s var(--nh-ease), transform .7s var(--nh-ease); }
@media (prefers-reduced-motion: reduce) { .hp-reveal { opacity: 1; transform: none; transition: none; } }

/* ---------- هیرو ---------- */
.home-pro .home-hero-classic .single-hero-slide {
  border-radius: var(--nh-r-lg);
  height: clamp(210px, 34vw, 400px);
  min-height: 0;
  box-shadow: var(--nh-shadow-2);
  isolation: isolate;
}
.home-pro .home-hero-classic .single-hero-slide::before {
  background:
    radial-gradient(120% 90% at 100% 50%, rgba(8, 14, 20, .82) 0%, rgba(8, 14, 20, .5) 45%, rgba(8, 14, 20, .12) 100%),
    linear-gradient(0deg, rgba(8, 14, 20, .55), transparent 40%);
}
.home-pro .home-hero-classic .single-hero-slide::after {
  content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; z-index: 1;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .12);
}
.home-pro .home-hero-classic .single-hero-slide .slide-content { padding: clamp(1.1rem, 3vw, 3rem); }
.home-pro .home-hero-classic .single-hero-slide .slide-text { max-width: min(34rem, 100%); }
.home-pro .home-hero-classic .single-hero-slide .slide-text h4 {
  font-size: clamp(1.35rem, 3.4vw, 2.6rem); line-height: 1.35; font-weight: 800;
}
.home-pro .home-hero-classic .single-hero-slide .slide-text p {
  font-size: clamp(.9rem, 1.2vw + .5rem, 1.1rem); max-width: 30rem; line-height: 1.9;
}
.single-hero-slide .slide-text .btn {
  border-radius: 999px; padding: .6rem 1.6rem; font-weight: 700; border: 0;
  background: linear-gradient(135deg, var(--brand), color-mix(in srgb, var(--brand) 70%, #fff));
  color: #04201e; box-shadow: 0 10px 26px rgba(var(--brand-rgb), .38);
  transition: transform .22s var(--nh-ease), box-shadow .22s var(--nh-ease);
}
.single-hero-slide .slide-text .btn:hover { transform: translateY(-2px); box-shadow: 0 16px 34px rgba(var(--brand-rgb), .5); color: #04201e; }
html:not([theme-color="dark"]) .single-hero-slide .slide-text .btn { color: #fff; }
html:not([theme-color="dark"]) .single-hero-slide .slide-text .btn:hover { color: #fff; }
.hero-slides .owl-dots { bottom: 16px; gap: 2px; }
.hero-slides .owl-dots .owl-dot {
  width: 8px; height: 8px; flex-basis: 8px; max-width: none; background: rgba(255, 255, 255, .55); border-radius: 999px;
  transition: width .35s var(--nh-ease), background-color .3s ease;
}
.hero-slides .owl-dots .owl-dot.active { width: 28px; flex-basis: 28px; background: var(--nh-accent); }
.hero-slides .owl-dots .owl-dot.active::after { display: none; }
.hero-slides .owl-dots .owl-dot span { display: none; }
@keyframes nhKen { from { transform: scale(1); } to { transform: scale(1.06); } }

/* ---------- تابلوی قیمت ---------- */
.live-price-ticker {
  border-radius: var(--nh-r-md);
  background: var(--card);
  border: 1px solid var(--border);
  box-shadow: var(--nh-shadow-1);
  padding: .7rem 0;
}
.live-price-chip {
  padding: .5rem .95rem .5rem .8rem; gap: .65rem; box-shadow: none;
  background: linear-gradient(180deg, rgba(var(--brand-rgb), .07), rgba(var(--brand-rgb), .02));
  min-height: 48px;
}
.live-price-chip:hover { box-shadow: 0 8px 20px rgba(var(--brand-rgb), .16); }
.live-price-chip .chip-name { font-size: .72rem; }
.live-price-chip .chip-val { font-size: .95rem; letter-spacing: .01em; }
.live-price-chip .chip-chg { font-variant-numeric: tabular-nums; }
.live-price-chip .chip-chg.is-up { background: rgba(16, 185, 129, .16); color: #10b981; }
.live-price-chip .chip-chg.is-down { background: rgba(239, 68, 68, .14); color: #ef4444; }
.live-price-chip .chip-chg.is-flat { background: rgba(127, 140, 150, .16); color: var(--muted); }
.live-price-chip[hidden], .live-price-chip.is-empty { display: none !important; }

/* ---------- کارت محصول ---------- */
.product-card {
  position: relative; background: var(--card); border: 1px solid var(--border) !important; border-radius: var(--nh-r-md) !important;
  overflow: hidden; box-shadow: var(--nh-shadow-1);
  transition: transform .35s var(--nh-ease), box-shadow .35s var(--nh-ease), border-color .3s ease;
}
.product-card::after {
  content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; opacity: 0;
  box-shadow: inset 0 0 0 1.5px rgba(var(--brand-rgb), .55); transition: opacity .3s ease;
}
@media (hover: hover) {
  .product-card:hover { transform: translateY(-5px); box-shadow: var(--nh-shadow-2); }
  .product-card:hover::after { opacity: 1; }
  .product-card:hover .product-thumb-frame img { transform: scale(1.07); }
}
.product-card .product-thumb-frame {
  position: relative; display: block; width: 100%; aspect-ratio: 1 / 1; overflow: hidden; border-radius: var(--nh-r-sm);
  background:
    linear-gradient(110deg, transparent 30%, rgba(255, 255, 255, .22) 50%, transparent 70%) 0 0 / 220% 100% no-repeat,
    rgba(var(--brand-rgb), .08);
  animation: nhShimmer 1.6s linear infinite;
}
.product-card .product-thumb-frame img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: opacity .5s ease, transform .6s var(--nh-ease);
}
html.nh-js .product-card .product-thumb-frame img:not(.is-loaded) { opacity: 0; }
.product-card .product-thumb-frame:has(img.is-loaded) { animation: none; background: rgba(var(--brand-rgb), .06); }
@keyframes nhShimmer { from { background-position: 120% 0, 0 0; } to { background-position: -120% 0, 0 0; } }
@media (prefers-reduced-motion: reduce) {
  .product-card .product-thumb-frame { animation: none; }
}
.product-card .product-title {
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  font-weight: 700; line-height: 1.6; min-height: 3.2em; color: var(--text);
}
.product-card .product-title:hover { color: var(--brand); }
.product-card .product-meta { color: var(--muted); font-size: .76rem; }
.product-card .sale-price { font-weight: 800; color: var(--brand); font-variant-numeric: tabular-nums; }
.product-card .real-price { color: var(--muted); font-weight: 500; text-decoration: line-through; margin-inline-start: .35rem; font-size: .74em; }
.product-card .badge {
  font-weight: 700; letter-spacing: .01em; padding: .38em .8em; box-shadow: 0 4px 12px rgba(0, 0, 0, .18);
  backdrop-filter: blur(6px);
}
.product-card .add-cart-form .btn {
  width: 40px; height: 40px; border-radius: 14px; display: inline-grid; place-items: center; padding: 0; border: 0;
  transition: transform .22s var(--nh-ease), box-shadow .22s var(--nh-ease);
}
.product-card .add-cart-form .btn:hover { transform: translateY(-2px) rotate(90deg); box-shadow: 0 10px 22px rgba(var(--brand-rgb), .4); }
.product-card .add-cart-form .btn:active { transform: scale(.92); }
.product-card .wishlist-btn { transition: transform .2s var(--nh-ease), background-color .2s ease; }
.product-card .wishlist-btn:hover { transform: scale(1.12); }

/* ---------- دکمه‌های عمومی nh-btn ---------- */
.nh-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 46px; padding: .6rem 1.6rem;
  border-radius: 999px; font-weight: 700; text-decoration: none !important; border: 1.5px solid transparent;
  transition: transform .22s var(--nh-ease), box-shadow .22s var(--nh-ease), background-color .22s ease, border-color .22s ease;
  cursor: pointer;
}
.nh-btn:hover { transform: translateY(-2px); }
.nh-btn--solid { background: linear-gradient(135deg, var(--brand), color-mix(in srgb, var(--brand) 72%, #fff)); color: #04201e; box-shadow: 0 10px 26px rgba(var(--brand-rgb), .32); }
html:not([theme-color="dark"]) .nh-btn--solid { color: #fff; }
.nh-btn--solid:hover { box-shadow: 0 16px 34px rgba(var(--brand-rgb), .46); color: #04201e; }
html:not([theme-color="dark"]) .nh-btn--solid:hover { color: #fff; }
.nh-btn--ghost { border-color: rgba(var(--brand-rgb), .4); color: var(--text); background: transparent; }
.nh-btn--ghost:hover { background: rgba(var(--brand-rgb), .12); color: var(--text); }

/* ---------- «چرا ما» ---------- */
.hp-why-grid article {
  position: relative; background: var(--card); border: 1px solid var(--border); border-radius: var(--nh-r-md);
  box-shadow: var(--nh-shadow-1); transition: transform .3s var(--nh-ease), box-shadow .3s var(--nh-ease);
}
.hp-why-grid article:hover { transform: translateY(-4px); box-shadow: var(--nh-shadow-2); }
.hp-why-grid article > i {
  width: 52px; height: 52px; display: grid; place-items: center; border-radius: 16px; font-size: 1.25rem;
  color: var(--brand); background: rgba(var(--brand-rgb), .12);
}

/* ---------- نظرات مشتریان ---------- */
.nh-reviews-grid {
  display: grid; gap: 1rem; grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media (max-width: 991.98px) {
  .nh-reviews-grid { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: min(82%, 320px); overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: .6rem; scrollbar-width: none; }
  .nh-reviews-grid::-webkit-scrollbar { display: none; }
  .nh-review { scroll-snap-align: start; }
}
.nh-review {
  margin: 0; padding: 1.2rem 1.25rem; display: flex; flex-direction: column; gap: .55rem;
  background: var(--card); border: 1px solid var(--border); border-radius: var(--nh-r-md); box-shadow: var(--nh-shadow-1);
  position: relative; transition: transform .3s var(--nh-ease), box-shadow .3s var(--nh-ease);
}
.nh-review::before {
  content: "”"; position: absolute; inset-block-start: .35rem; inset-inline-end: 1rem; font-size: 3.2rem; line-height: 1;
  color: rgba(var(--brand-rgb), .22); font-family: Georgia, serif;
}
.nh-review:hover { transform: translateY(-3px); box-shadow: var(--nh-shadow-2); }
.nh-review-stars { color: #f5b301; font-size: .82rem; letter-spacing: 1px; }
.nh-review-title { font-size: .95rem; color: var(--text); }
.nh-review blockquote { margin: 0; color: var(--text); opacity: .86; line-height: 1.95; font-size: .88rem; flex: 1; }
.nh-review figcaption { display: flex; align-items: center; gap: .65rem; margin-top: .3rem; padding-top: .75rem; border-top: 1px dashed var(--border); }
.nh-review-avatar {
  width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; font-weight: 800; font-size: .9rem;
  color: #04201e; background: linear-gradient(135deg, var(--brand), color-mix(in srgb, var(--brand) 60%, #fff));
}
.nh-review figcaption span:last-child { display: flex; flex-direction: column; line-height: 1.5; min-width: 0; }
.nh-review figcaption b { font-size: .84rem; color: var(--text); }
.nh-review figcaption a { font-size: .74rem; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* ---------- سؤالات متداول ---------- */
.nh-faq-list { display: grid; gap: .65rem; max-width: 880px; margin-inline: auto; }
.nh-faq-list details {
  background: var(--card); border: 1px solid var(--border); border-radius: var(--nh-r-md); box-shadow: var(--nh-shadow-1);
  transition: border-color .25s ease, box-shadow .25s ease;
}
.nh-faq-list details[open] { border-color: rgba(var(--brand-rgb), .45); box-shadow: var(--nh-shadow-2); }
.nh-faq-list summary {
  list-style: none; cursor: pointer; padding: 1rem 1.2rem; font-weight: 700; color: var(--text);
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
}
.nh-faq-list summary::-webkit-details-marker { display: none; }
.nh-faq-list summary::after {
  content: "+"; flex: 0 0 auto; width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%;
  font-size: 1.2rem; line-height: 1; color: var(--brand); background: rgba(var(--brand-rgb), .12); transition: transform .3s var(--nh-ease);
}
.nh-faq-list details[open] summary::after { transform: rotate(45deg); }
.nh-faq-list details p { margin: 0; padding: 0 1.2rem 1.1rem; color: var(--muted); line-height: 2; font-size: .9rem; }
.nh-faq-list details p a { color: var(--brand); font-weight: 700; }

/* ---------- بنر دعوت به اقدام ---------- */
.nh-cta-band { padding-block: clamp(1.2rem, 3vw, 2.4rem) clamp(2rem, 4vw, 3.5rem); }
.nh-cta-inner {
  position: relative; overflow: hidden; isolation: isolate;
  display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; flex-wrap: wrap;
  padding: clamp(1.4rem, 3.5vw, 2.6rem); border-radius: var(--nh-r-lg);
  background: linear-gradient(135deg, color-mix(in srgb, var(--brand) 78%, #000) 0%, color-mix(in srgb, var(--brand) 38%, #061413) 100%);
  color: #fff; box-shadow: var(--nh-shadow-2);
}
.nh-cta-inner::before {
  content: ""; position: absolute; inset: -40% auto -40% -10%; width: 55%; z-index: -1; opacity: .5;
  background: radial-gradient(closest-side, rgba(255, 255, 255, .35), transparent); transform: rotate(18deg);
}
.nh-cta-inner h2 { margin: 0 0 .3rem; font-size: clamp(1.2rem, 2vw + .6rem, 1.8rem); font-weight: 800; color: #fff; }
.nh-cta-inner p { margin: 0; opacity: .85; color: #fff; }
.nh-cta-actions { display: flex; gap: .7rem; flex-wrap: wrap; }
.nh-cta-inner .nh-btn--solid, html:not([theme-color="dark"]) .nh-cta-inner .nh-btn--solid, html:not([theme-color="dark"]) .nh-cta-inner .nh-btn--solid:hover { background: #fff; color: #0b2b29; box-shadow: 0 10px 26px rgba(0, 0, 0, .25); }
.nh-cta-inner .nh-btn--ghost { border-color: rgba(255, 255, 255, .55); color: #fff; }
.nh-cta-inner .nh-btn--ghost:hover { background: rgba(255, 255, 255, .14); color: #fff; }

/* ---------- فوتر ---------- */
.site-footer { position: relative; margin-top: clamp(1rem, 3vw, 2rem); }
.site-footer::before {
  content: ""; position: absolute; inset-inline: 0; top: 0; height: 1px;
  background: linear-gradient(90deg, transparent, var(--nh-accent), transparent); opacity: .7;
}
.site-footer a { transition: color .2s ease, transform .2s var(--nh-ease); }
.site-footer-col ul a:hover { color: var(--brand); transform: translateX(-3px); }
.site-footer-social a {
  transition: transform .25s var(--nh-ease), background-color .25s ease, color .25s ease, border-color .25s ease;
}
.site-footer-social a:hover { transform: translateY(-3px) scale(1.06); }

/* ---------- نوار پایین موبایل ---------- */
.nav-glass-tabbar .suha-footer-nav ul li a { transition: color .2s ease, transform .2s var(--nh-ease); }
.nav-glass-tabbar .suha-footer-nav ul li a:active { transform: scale(.92); }
.nav-glass-tabbar .suha-footer-nav ul li.is-active a i { transform: translateY(-2px); }

/* ---------- خرید چسبان صفحه محصول (موبایل) ---------- */
.nh-stickybuy { display: none; }
@media (max-width: 991.98px) {
  .nh-stickybuy {
    position: fixed; inset-inline: .75rem; bottom: calc(env(safe-area-inset-bottom, 0px) + 78px); z-index: 1390;
    display: flex; align-items: center; gap: .8rem; padding: .55rem .6rem .55rem .9rem;
    background: var(--nh-glass); backdrop-filter: blur(16px) saturate(1.3); -webkit-backdrop-filter: blur(16px) saturate(1.3);
    border: 1px solid var(--nh-glass-border); border-radius: 20px; box-shadow: var(--nh-shadow-2);
    transform: translateY(160%); opacity: 0; transition: transform .4s var(--nh-ease), opacity .3s ease; pointer-events: none;
  }
  .nh-stickybuy.is-on { transform: none; opacity: 1; pointer-events: auto; }
  .nh-stickybuy__info { display: flex; flex-direction: column; min-width: 0; flex: 1; line-height: 1.4; }
  .nh-stickybuy__info small { color: var(--muted); font-size: .7rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .nh-stickybuy__info b { color: var(--brand); font-size: 1rem; font-weight: 800; white-space: nowrap; font-variant-numeric: tabular-nums; }
  .nh-stickybuy button {
    flex: 0 0 auto; min-height: 46px; padding: 0 1.3rem; border: 0; border-radius: 15px; font-weight: 800; display: inline-flex; align-items: center; gap: .5rem;
    color: #04201e; background: linear-gradient(135deg, var(--brand), color-mix(in srgb, var(--brand) 70%, #fff));
    box-shadow: 0 8px 20px rgba(var(--brand-rgb), .38);
  }
  html:not([theme-color="dark"]) .nh-stickybuy button { color: #fff; }
}

/* ---------- بازگشت به بالا ---------- */
.nh-totop {
  position: fixed; inset-inline-end: 1rem; bottom: calc(var(--nh-tabbar-h) + 14px); z-index: 1300;
  width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--nh-glass-border); cursor: pointer;
  display: grid; place-items: center; color: var(--brand); background: var(--nh-glass);
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); box-shadow: var(--nh-shadow-1);
  opacity: 0; transform: translateY(12px); pointer-events: none; transition: opacity .3s ease, transform .3s var(--nh-ease);
}
.nh-totop.is-on { opacity: 1; transform: none; pointer-events: auto; }
.nh-totop:hover { background: rgba(var(--brand-rgb), .16); }
@media (max-width: 991.98px) { body.has-stickybuy .nh-totop { bottom: calc(var(--nh-tabbar-h) + 82px); } }

/* ---------- صفحه ۴۰۴ ---------- */
.nh-error { text-align: center; padding: clamp(3rem, 10vw, 6rem) 1rem; max-width: 560px; margin-inline: auto; }
.nh-error-code {
  font-size: clamp(5rem, 22vw, 9rem); font-weight: 900; line-height: 1;
  background: var(--nh-silver); -webkit-background-clip: text; background-clip: text; color: transparent;
  filter: drop-shadow(0 8px 24px rgba(var(--brand-rgb), .25));
}
.nh-error h1 { font-size: clamp(1.25rem, 3vw, 1.7rem); font-weight: 800; margin: .5rem 0; }
.nh-error p { color: var(--muted); line-height: 2; }
.nh-error-actions { display: flex; flex-wrap: wrap; gap: .6rem; justify-content: center; margin-top: 1.4rem; }

/* ---------- سایر ظرافت‌ها ---------- */
.card, .pd-panel, .cart-card { transition: box-shadow .3s ease, border-color .3s ease; }
img { max-width: 100%; }
img[loading="lazy"] { background: rgba(var(--brand-rgb), .05); }
.form-control, .form-select { border-radius: var(--nh-r-sm); transition: border-color .2s ease, box-shadow .2s ease; }
.form-control:focus, .form-select:focus { border-color: var(--brand); box-shadow: 0 0 0 .22rem rgba(var(--brand-rgb), .2); }
.btn { transition: transform .2s var(--nh-ease), box-shadow .2s var(--nh-ease), background-color .2s ease, border-color .2s ease; }
.btn:active { transform: scale(.97); }
html { scrollbar-color: rgba(var(--brand-rgb), .45) transparent; scrollbar-width: thin; }

/* جلوگیری از اسکرول افقی ناخواسته */
.page-content-wrapper { overflow-x: clip; }

/* دکمه‌های تکراری فوتر وقتی بنر دعوت به اقدام در همان صفحه هست */
#spa-root:has(.nh-cta-band) .site-footer-cta { display: none; }

/* ---------- ۱.۱.۵: ریزه‌کاری‌های طراحی ---------- */
/* بعد از حذف نوار اعتماد، تابلوی نرخ مستقیم زیر اسلایدر می‌آید؛ فاصلهٔ عمودی یکدست */
.hero-wrapper + .hp-prices { padding-top: clamp(.6rem, 1.6vw, 1.1rem); }
.hp-cat-card, .hp-collect, .hp-why-grid > *, .nh-review { transition: transform .26s var(--nh-ease), box-shadow .26s var(--nh-ease), border-color .26s ease; }
@media (hover: hover) {
  .hp-cat-card:hover, .hp-collect:hover, .hp-why-grid > *:hover, .nh-review:hover { transform: translateY(-3px); box-shadow: var(--nh-shadow-2); }
}
.hp-section a:focus-visible, .hp-section button:focus-visible, .hp-faq summary:focus-visible { outline: 2px solid var(--brand); outline-offset: 3px; border-radius: 10px; }
.hp-section-head { margin-bottom: clamp(.9rem, 2vw, 1.4rem); }
@media (prefers-reduced-motion: reduce) {
  .hp-cat-card, .hp-collect, .hp-why-grid > *, .nh-review { transition: none; }
  .hp-cat-card:hover, .hp-collect:hover, .hp-why-grid > *:hover, .nh-review:hover { transform: none; }
}

/* ---------- صفحهٔ پرسش‌های متداول (۱.۱.۵) ---------- */
.faq-page .faq-hero { text-align: center; padding: clamp(1.4rem, 4vw, 2.6rem) 1rem clamp(1.2rem, 3vw, 2rem); }
.faq-page .faq-hero h1 { font-weight: 800; letter-spacing: -.01em; font-size: clamp(1.5rem, 3.2vw + .6rem, 2.3rem); margin: .2rem 0 .6rem; color: var(--text); }
.faq-page .faq-hero .hp-eyebrow { justify-content: center; }
.faq-page .faq-lead { color: var(--muted); max-width: 560px; margin: 0 auto; line-height: 1.9; font-size: .95rem; }
.faq-page .faq-list { gap: .8rem; }
.faq-page .nh-faq-list summary { font-size: 1rem; padding: 1.1rem 1.3rem; }
.faq-page .nh-faq-list details p { padding: 0 1.3rem 1.25rem; font-size: .95rem; line-height: 2; }
.faq-help { max-width: 880px; margin: 1.6rem auto 0; display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap;
  padding: 1.1rem 1.3rem; border-radius: var(--nh-r-md); background: var(--card); border: 1px solid var(--border); box-shadow: var(--nh-shadow-1); }
.faq-help > div:first-child { display: flex; flex-direction: column; gap: .2rem; }
.faq-help b { color: var(--text); font-weight: 800; }
.faq-help span { color: var(--muted); font-size: .86rem; }
.faq-help-actions { display: flex; gap: .5rem; flex-wrap: wrap; }
.faq-help .nh-btn--ghost { color: var(--brand); border-color: rgba(var(--brand-rgb), .4); }
@media (max-width: 575.98px) { .faq-help { flex-direction: column; align-items: stretch; text-align: center; } .faq-help-actions { justify-content: center; } }
