﻿/* =====================================================================
   سایت عمومی شهرک صنعتی بزرگ شیراز — نظام طراحی (روی Bootstrap 5.3)
   هویت: قرمز برند + زغالی (مطابق لوگو)، قلم ایران‌سنس، طلایی فقط برای «ویژه/تبلیغ».
   ===================================================================== */
:root {
    --brand: #c8151d;
    --brand-rgb: 200, 21, 29;
    --brand-600: #a91118;
    --brand-700: #8c0d13;
    --brand-50: #fdf2f2;
    --brand-100: #fbe1e2;
    --ink: #1d232b;
    --ink-2: #2a323c;
    --ink-3: #3a4450;
    --gold: #a77a1f;
    --gold-50: #fbf5e7;
    --bg: #f4f5f7;
    --surface: #fff;
    --surface-2: #f8f9fb;
    --border: #e4e7ec;
    --text: #1f2933;
    --muted: #667085;
    --success: #12805c;
    --radius-sm: .375rem;
    --radius: .625rem;
    --radius-lg: 1rem;
    --shadow-sm: 0 1px 2px rgba(16, 24, 40, .06);
    --shadow: 0 1px 3px rgba(16, 24, 40, .08), 0 1px 2px rgba(16, 24, 40, .04);
    --shadow-lg: 0 16px 40px -12px rgba(16, 24, 40, .22);
    --container: 1280px;
    --header-h: 72px;
    --ease: cubic-bezier(.4, 0, .2, 1);
    --font: IRANSans, Tahoma, "Segoe UI", sans-serif;
    --bs-primary: var(--brand);
    --bs-primary-rgb: var(--brand-rgb);
    --bs-link-color: var(--brand);
    --bs-link-color-rgb: var(--brand-rgb);
    --bs-link-hover-color: var(--brand-700);
    --bs-link-hover-color-rgb: 140, 13, 19;
    --bs-body-font-family: var(--font);
    --bs-body-color: var(--text);
    --bs-body-bg: var(--bg);
    --bs-border-color: var(--border);
    --bs-border-radius: var(--radius);
}
html[lang="en"] { --font: "Segoe UI", Roboto, "Helvetica Neue", Arial, IRANSans, sans-serif; }

/* ---------- پایه ---------- */
html { scroll-padding-top: calc(var(--header-h) + 12px); }
body { font-family: var(--font); background: var(--bg); color: var(--text); font-size: .95rem; line-height: 1.85; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
h1, h2, h3, h4, h5, h6 { font-weight: 700; line-height: 1.5; color: var(--ink); }
a { text-decoration: none; transition: color .15s var(--ease); }
img { max-width: 100%; height: auto; }
.container-site { max-width: var(--container); margin-inline: auto; padding-inline: 1rem; width: 100%; }
@media (min-width: 992px) { .container-site { padding-inline: 1.5rem; } }
.skip-link { position: absolute; inset-inline-start: 1rem; top: -60px; z-index: 2000; background: var(--ink); color: #fff; padding: .5rem 1rem; border-radius: var(--radius); }
.skip-link:focus { top: .75rem; color: #fff; }
:focus-visible { outline: 3px solid rgba(var(--brand-rgb), .45); outline-offset: 2px; }
::selection { background: var(--brand-100); color: var(--ink); }
.ltr, [dir="ltr"].num { direction: ltr; unicode-bidi: embed; }
.text-brand { color: var(--brand) !important; }
.text-muted-2 { color: var(--muted) !important; }
.bg-ink { background: var(--ink) !important; color: #fff; }
.fw-semibold { font-weight: 500 !important; }

/* ---------- دکمه‌ها ---------- */
.btn { font-weight: 500; border-radius: var(--radius); padding: .5rem 1.1rem; }
.btn-sm { padding: .35rem .8rem; border-radius: var(--radius-sm); }
.btn-lg { padding: .7rem 1.5rem; font-size: 1rem; }
.btn-brand { --bs-btn-color: #fff; --bs-btn-bg: var(--brand); --bs-btn-border-color: var(--brand); --bs-btn-hover-color: #fff; --bs-btn-hover-bg: var(--brand-600); --bs-btn-hover-border-color: var(--brand-600); --bs-btn-active-color: #fff; --bs-btn-active-bg: var(--brand-700); --bs-btn-active-border-color: var(--brand-700); --bs-btn-disabled-bg: var(--brand); --bs-btn-disabled-border-color: var(--brand); --bs-btn-focus-shadow-rgb: var(--brand-rgb); }
.btn-outline-brand { --bs-btn-color: var(--brand); --bs-btn-border-color: rgba(var(--brand-rgb), .45); --bs-btn-hover-color: #fff; --bs-btn-hover-bg: var(--brand); --bs-btn-hover-border-color: var(--brand); --bs-btn-active-color: #fff; --bs-btn-active-bg: var(--brand-600); --bs-btn-active-border-color: var(--brand-600); }
.btn-ink { --bs-btn-color: #fff; --bs-btn-bg: var(--ink); --bs-btn-border-color: var(--ink); --bs-btn-hover-color: #fff; --bs-btn-hover-bg: var(--ink-3); --bs-btn-hover-border-color: var(--ink-3); --bs-btn-active-color: #fff; --bs-btn-active-bg: #000; }
.btn-soft { --bs-btn-color: var(--ink); --bs-btn-bg: var(--surface-2); --bs-btn-border-color: var(--border); --bs-btn-hover-color: var(--brand); --bs-btn-hover-bg: var(--brand-50); --bs-btn-hover-border-color: var(--brand-100); }
.btn-icon { display: inline-flex; align-items: center; justify-content: center; width: 2.5rem; height: 2.5rem; padding: 0; border-radius: 50%; }
.btn i.bi { line-height: 1; vertical-align: -.1em; }

/* ---------- نوار متنی بالای صفحه (H-01) ---------- */
.ad-topbar:empty { display: none; }
.ad-topbar { background: var(--ink); color: #fff; font-size: .85rem; }
.ad-topbar .ad-text { display: flex; align-items: center; justify-content: center; gap: .75rem; padding: .45rem 1rem; color: #fff; text-align: center; flex-wrap: wrap; }
.ad-topbar .ad-text strong { font-weight: 500; }
.ad-topbar .ad-text .ad-cta { background: var(--brand); color: #fff; border-radius: 999px; padding: .1rem .75rem; font-size: .78rem; }
.ad-topbar .ad-label { background: rgba(255, 255, 255, .14); color: #e5e7eb; }

/* ---------- سربرگ ---------- */
.site-utility { background: var(--ink); color: #cfd5dd; font-size: .8rem; }
.site-utility .container-site { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 38px; }
.site-utility a { color: #cfd5dd; }
.site-utility a:hover { color: #fff; }
.utility-links { display: flex; flex-wrap: wrap; gap: .2rem 1.1rem; list-style: none; margin: 0; padding: 0; }
.utility-end { display: flex; align-items: center; gap: 1.1rem; white-space: nowrap; }
.utility-end .bi { margin-inline-end: .3rem; color: #9aa4b2; }
.lang-switch { display: inline-flex; gap: .15rem; background: rgba(255, 255, 255, .08); border-radius: 999px; padding: .15rem; }
.lang-switch a { padding: .05rem .65rem; border-radius: 999px; font-size: .75rem; }
.lang-switch a.active { background: #fff; color: var(--ink); }

.site-header { position: sticky; top: 0; z-index: 1030; background: rgba(255, 255, 255, .97); -webkit-backdrop-filter: saturate(160%) blur(8px); backdrop-filter: saturate(160%) blur(8px); border-bottom: 1px solid var(--border); transition: box-shadow .2s var(--ease); }
.site-header.scrolled { box-shadow: 0 6px 20px -10px rgba(16, 24, 40, .25); }
.site-header .container-site { display: flex; align-items: center; gap: 1rem; min-height: var(--header-h); }
.site-logo { display: flex; align-items: center; flex-shrink: 0; }
.site-logo img { height: 52px; width: auto; }
.nav-main { display: none; flex: 1 1 auto; justify-content: center; }
.nav-main > ul { display: flex; align-items: stretch; gap: .1rem; list-style: none; margin: 0; padding: 0; }
.nav-main > ul > li { position: relative; }
.nav-main > ul > li > a, .nav-main > ul > li > button { display: flex; align-items: center; gap: .3rem; height: var(--header-h); padding: 0 .7rem; color: var(--ink); font-weight: 500; font-size: .92rem; background: none; border: 0; position: relative; white-space: nowrap; }
.nav-main > ul > li > a::after, .nav-main > ul > li > button::after { content: ""; position: absolute; inset-inline: .7rem; bottom: 0; height: 3px; border-radius: 3px 3px 0 0; background: var(--brand); transform: scaleX(0); transition: transform .2s var(--ease); }
.nav-main > ul > li:hover > a, .nav-main > ul > li:hover > button, .nav-main > ul > li > .active { color: var(--brand); }
.nav-main > ul > li:hover > a::after, .nav-main > ul > li:hover > button::after, .nav-main > ul > li > .active::after { transform: scaleX(1); }
.nav-main .bi-chevron-down { font-size: .65rem; opacity: .6; }
.nav-drop { position: absolute; top: 100%; inset-inline-start: 0; min-width: 250px; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); padding: .5rem; list-style: none; margin: 0; opacity: 0; visibility: hidden; transform: translateY(6px); transition: all .18s var(--ease); z-index: 10; }
.nav-main li:hover > .nav-drop, .nav-main li:focus-within > .nav-drop { opacity: 1; visibility: visible; transform: none; }
.nav-drop a { display: flex; align-items: flex-start; gap: .65rem; padding: .55rem .7rem; border-radius: var(--radius); color: var(--ink); font-size: .88rem; line-height: 1.6; }
.nav-drop a:hover { background: var(--brand-50); color: var(--brand); }
.nav-drop a i { color: var(--brand); font-size: 1rem; margin-top: .1rem; }
.nav-drop a small { display: block; color: var(--muted); font-size: .75rem; }
.nav-drop .nav-drop-sub { padding-inline-start: 1.6rem; }
.nav-drop .nav-drop-title { font-size: .72rem; color: var(--muted); padding: .4rem .7rem .1rem; }
.nav-drop-wide { min-width: 520px; display: grid; grid-template-columns: 1fr 1fr; gap: .1rem; }
.header-actions { display: flex; align-items: center; gap: .5rem; margin-inline-start: auto; }
.header-search-btn { color: var(--ink); background: var(--surface-2); border: 1px solid var(--border); }
.header-search-btn:hover { color: var(--brand); border-color: var(--brand-100); background: var(--brand-50); }
.btn-login { display: none; }
.nav-toggler { color: var(--ink); background: var(--surface-2); border: 1px solid var(--border); font-size: 1.35rem; }
@media (min-width: 1200px) {
    .nav-main { display: flex; }
    .nav-toggler { display: none; }
    .header-actions { margin-inline-start: 0; }
}
@media (min-width: 576px) { .btn-login { display: inline-flex; align-items: center; gap: .4rem; } }
@media (max-width: 575.98px) { :root { --header-h: 62px; } .site-logo img { height: 44px; } }

/* جست‌وجوی سربرگ */
.search-panel { position: absolute; inset-inline: 0; top: 100%; background: var(--surface); border-bottom: 1px solid var(--border); box-shadow: var(--shadow-lg); padding: 1rem 0 1.25rem; display: none; }
.search-panel.open { display: block; }
.search-box { position: relative; max-width: 760px; margin-inline: auto; }
.search-box .form-control { height: 3.1rem; padding-inline-start: 3rem; border-radius: 999px; font-size: 1rem; border: 2px solid var(--border); background: var(--surface-2); }
.search-box .form-control:focus { border-color: var(--brand); box-shadow: 0 0 0 .25rem rgba(var(--brand-rgb), .12); background: #fff; }
.search-box > .bi-search { position: absolute; inset-inline-start: 1.15rem; top: 50%; transform: translateY(-50%); color: var(--muted); font-size: 1.1rem; }
.search-suggest { position: absolute; inset-inline: 0; top: calc(100% + .4rem); background: #fff; border: 1px solid var(--border); border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); padding: .4rem; z-index: 20; max-height: 70vh; overflow-y: auto; }
.search-suggest:empty { display: none; }
.search-suggest .sg-group { font-size: .72rem; color: var(--muted); padding: .45rem .75rem .15rem; }
.search-suggest a { display: flex; align-items: center; gap: .6rem; padding: .45rem .75rem; border-radius: var(--radius); color: var(--ink); }
.search-suggest a:hover, .search-suggest a.sel { background: var(--brand-50); color: var(--brand); }
.search-suggest a i { color: var(--muted); }
.search-suggest .sg-all { justify-content: center; font-weight: 500; color: var(--brand); border-top: 1px solid var(--border); border-radius: 0 0 var(--radius) var(--radius); margin-top: .3rem; }

/* منوی موبایل */
.offcanvas-site { --bs-offcanvas-width: min(340px, 88vw); }
.offcanvas-site .offcanvas-header { border-bottom: 1px solid var(--border); }
.offcanvas-site .offcanvas-header img { height: 42px; }
.mnav { list-style: none; margin: 0; padding: 0; }
.mnav > li { border-bottom: 1px solid var(--border); }
.mnav a, .mnav button { display: flex; align-items: center; gap: .65rem; width: 100%; padding: .8rem .25rem; color: var(--ink); font-weight: 500; background: none; border: 0; text-align: start; }
.mnav a i, .mnav button i:first-child { color: var(--brand); width: 1.25rem; text-align: center; }
.mnav button .bi-chevron-down { margin-inline-start: auto; font-size: .75rem; transition: transform .2s; }
.mnav button[aria-expanded="true"] .bi-chevron-down { transform: rotate(180deg); }
.mnav ul { list-style: none; padding: 0 0 .5rem; margin: 0; }
.mnav ul a { padding: .45rem 2rem .45rem .25rem; font-weight: 400; font-size: .88rem; color: var(--ink-3); }
html[dir="ltr"] .mnav ul a { padding: .45rem .25rem .45rem 2rem; }

/* نوار ثابت پایین موبایل */
.mobile-dock { position: fixed; bottom: 0; inset-inline: 0; z-index: 1035; background: rgba(255, 255, 255, .98); border-top: 1px solid var(--border); box-shadow: 0 -6px 20px -12px rgba(16, 24, 40, .3); display: grid; grid-template-columns: repeat(5, 1fr); padding-bottom: env(safe-area-inset-bottom); }
.mobile-dock a { display: flex; flex-direction: column; align-items: center; gap: .1rem; padding: .45rem 0 .4rem; color: var(--muted); font-size: .68rem; }
.mobile-dock a i { font-size: 1.25rem; }
.mobile-dock a.active, .mobile-dock a:hover { color: var(--brand); }
body.has-dock { padding-bottom: 64px; }
@media (min-width: 992px) { .mobile-dock { display: none; } body.has-dock { padding-bottom: 0; } }

/* ---------- سرصفحهٔ صفحات داخلی ---------- */
.page-hero { background: linear-gradient(120deg, var(--ink) 0%, var(--ink-2) 60%, #3b1a1d 100%); color: #fff; padding: 2rem 0 1.75rem; position: relative; overflow: hidden; }
.page-hero::after { content: ""; position: absolute; inset-inline-end: -80px; top: -120px; width: 340px; height: 340px; border-radius: 50%; background: radial-gradient(circle, rgba(var(--brand-rgb), .45), transparent 65%); pointer-events: none; }
.page-hero h1 { color: #fff; font-size: clamp(1.3rem, 2.4vw, 1.9rem); margin: .35rem 0 0; position: relative; z-index: 1; }
.page-hero p { color: #c9d0d9; margin: .5rem 0 0; max-width: 760px; position: relative; z-index: 1; }
.page-hero .breadcrumb { --bs-breadcrumb-divider-color: #8a95a3; --bs-breadcrumb-item-active-color: #c9d0d9; margin: 0; font-size: .82rem; position: relative; z-index: 1; }
.page-hero .breadcrumb a { color: #e3e7ec; }
.page-hero .breadcrumb a:hover { color: #fff; }
html[dir="rtl"] .breadcrumb-item + .breadcrumb-item::before { float: right; padding-left: var(--bs-breadcrumb-item-padding-x); padding-right: 0; }

/* ---------- بخش‌ها ---------- */
.section { padding-block: 2.5rem; }
.section-sm { padding-block: 1.5rem; }
.section-white { background: var(--surface); }
.section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-bottom: 1.25rem; flex-wrap: wrap; }
.section-head h2 { font-size: clamp(1.1rem, 1.8vw, 1.4rem); margin: 0; display: flex; align-items: center; gap: .6rem; }
.section-head h2::before { content: ""; width: 6px; height: 1.3em; border-radius: 3px; background: var(--brand); }
.section-head p { color: var(--muted); margin: .25rem 0 0; font-size: .88rem; }
.link-more { display: inline-flex; align-items: center; gap: .3rem; font-weight: 500; font-size: .88rem; color: var(--brand); white-space: nowrap; }
.link-more:hover { gap: .55rem; }
.box { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); }
.box-pad { padding: 1.25rem; }
@media (min-width: 768px) { .box-pad { padding: 1.5rem; } }
.box-title { font-size: 1rem; margin: 0 0 1rem; display: flex; align-items: center; gap: .5rem; }
.box-title i { color: var(--brand); }

/* ---------- اسلایدر صفحهٔ اصلی ---------- */
.hero { background: var(--ink); }
.hero .carousel-item { position: relative; aspect-ratio: 16 / 7; max-height: 560px; background: var(--ink-2); overflow: hidden; }
.hero .carousel-item > img, .hero .carousel-item > a > img { width: 100%; height: 100%; object-fit: cover; }
.hero .carousel-caption-site { position: absolute; inset: auto 0 0 0; padding: 4rem 0 2.75rem; background: linear-gradient(to top, rgba(10, 13, 18, .88), rgba(10, 13, 18, .35) 60%, transparent); }
.hero .carousel-caption-site h2 { color: #fff; font-size: clamp(1rem, 2.4vw, 1.75rem); max-width: 780px; margin: 0 0 .75rem; text-shadow: 0 2px 10px rgba(0, 0, 0, .35); }
.hero .carousel-indicators { margin-bottom: 1rem; }
.hero .carousel-indicators [data-bs-target] { width: 28px; height: 4px; border-radius: 4px; }
.hero .carousel-control-prev, .hero .carousel-control-next { width: 3rem; height: 3rem; top: 50%; transform: translateY(-50%); border-radius: 50%; background: rgba(0, 0, 0, .35); margin-inline: 1rem; opacity: 0; transition: opacity .2s; }
.hero:hover .carousel-control-prev, .hero:hover .carousel-control-next { opacity: 1; }
@media (max-width: 767.98px) { .hero .carousel-item { aspect-ratio: 4 / 3; } .hero .carousel-caption-site { padding: 3rem 0 2.25rem; } }

/* ---------- خدمات سریع ---------- */
.quick-wrap { position: relative; z-index: 3; margin-top: -2.25rem; }
.quick-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: .75rem; }
@media (min-width: 768px) { .quick-grid { grid-template-columns: repeat(4, 1fr); gap: 1rem; } }
.quick-tile { display: flex; align-items: center; gap: .85rem; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 1rem; box-shadow: var(--shadow); color: var(--ink); transition: transform .2s var(--ease), box-shadow .2s var(--ease), border-color .2s; height: 100%; }
.quick-tile:hover { transform: translateY(-3px); box-shadow: var(--shadow-lg); border-color: var(--brand-100); color: var(--ink); }
.quick-tile .qi { flex-shrink: 0; width: 3rem; height: 3rem; display: grid; place-items: center; border-radius: 14px; background: var(--brand-50); color: var(--brand); font-size: 1.4rem; }
.quick-tile strong { display: block; font-size: .95rem; }
.quick-tile small { display: block; color: var(--muted); font-size: .76rem; line-height: 1.6; }
@media (max-width: 575.98px) { .quick-tile { flex-direction: column; text-align: center; padding: .9rem .5rem; gap: .5rem; } .quick-tile small { display: none; } }

/* ---------- نوار آمار ---------- */
.stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--border); border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--border); }
@media (min-width: 768px) { .stats { grid-template-columns: repeat(4, 1fr); } }
.stat { background: var(--surface); padding: 1.1rem 1rem; display: flex; align-items: center; gap: .85rem; }
.stat i { font-size: 1.6rem; color: var(--brand); }
.stat b { display: block; font-size: 1.35rem; color: var(--ink); line-height: 1.3; }
.stat span { color: var(--muted); font-size: .8rem; }

/* ---------- زبانه‌های دسته ---------- */
.chips { display: flex; gap: .45rem; overflow-x: auto; scrollbar-width: none; padding-bottom: .25rem; -webkit-overflow-scrolling: touch; }
.chips::-webkit-scrollbar { display: none; }
.chip { flex-shrink: 0; border: 1px solid var(--border); background: var(--surface); color: var(--ink-3); border-radius: 999px; padding: .3rem .95rem; font-size: .83rem; white-space: nowrap; cursor: pointer; }
.chip:hover { border-color: var(--brand-100); color: var(--brand); }
.chip.active { background: var(--ink); border-color: var(--ink); color: #fff; }
.chip .count { opacity: .6; font-size: .72rem; margin-inline-start: .2rem; }

/* ---------- کارت‌ها ---------- */
.card-x { position: relative; display: flex; flex-direction: column; height: 100%; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg); overflow: hidden; transition: transform .2s var(--ease), box-shadow .2s var(--ease), border-color .2s; color: var(--text); }
.card-x:hover { transform: translateY(-3px); box-shadow: var(--shadow-lg); border-color: #d6dbe2; color: var(--text); }
.card-x .media { position: relative; aspect-ratio: 4 / 3; background: var(--surface-2); overflow: hidden; }
.card-x .media img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s var(--ease); }
.card-x:hover .media img { transform: scale(1.04); }
.card-x .media-contain img { object-fit: contain; padding: .75rem; }
.card-x .body { padding: .85rem 1rem 1rem; display: flex; flex-direction: column; gap: .3rem; flex: 1 1 auto; }
.card-x .title { font-size: .93rem; font-weight: 700; color: var(--ink); line-height: 1.65; margin: 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.card-x .desc { color: var(--muted); font-size: .8rem; line-height: 1.7; margin: 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.card-x .meta { display: flex; align-items: center; gap: .4rem; color: var(--muted); font-size: .76rem; margin-top: auto; padding-top: .4rem; }
.card-x .meta i { color: #98a2b3; }
.card-x .company-line { display: flex; align-items: center; gap: .4rem; font-size: .78rem; color: var(--ink-3); }
.card-x .company-line i { color: var(--success); }
.card-x .stretched { position: absolute; inset: 0; z-index: 1; }
.card-x .badge-float { position: absolute; top: .6rem; inset-inline-start: .6rem; z-index: 2; }
.card-company .logo { width: 72px; height: 72px; border-radius: 16px; border: 1px solid var(--border); background: #fff; display: grid; place-items: center; overflow: hidden; flex-shrink: 0; }
.card-company .logo img { width: 100%; height: 100%; object-fit: contain; padding: .35rem; }
.card-company .logo .initial { font-size: 1.6rem; font-weight: 700; color: var(--brand); }
.card-company .head { display: flex; gap: .85rem; align-items: center; padding: 1rem 1rem .25rem; }
.card-company .head .title { -webkit-line-clamp: 2; }
.card-company .tags { display: flex; flex-wrap: wrap; gap: .3rem; }
.tag { display: inline-flex; align-items: center; gap: .25rem; background: var(--surface-2); border: 1px solid var(--border); color: var(--ink-3); border-radius: 999px; padding: .05rem .6rem; font-size: .72rem; }
.tag-brand { background: var(--brand-50); border-color: var(--brand-100); color: var(--brand-700); }
.badge-verified { color: var(--success); font-size: .75rem; display: inline-flex; align-items: center; gap: .2rem; }
.badge-featured { display: inline-flex; align-items: center; gap: .25rem; background: var(--gold); color: #fff; font-size: .7rem; font-weight: 500; border-radius: 999px; padding: .1rem .55rem; box-shadow: 0 2px 6px rgba(167, 122, 31, .35); }
.card-x.is-featured { border-color: #e6d3a7; box-shadow: 0 0 0 1px #f0e2c0; }

/* فهرست افقی قابل پیمایش (موبایل) */
.hscroll { display: grid; grid-auto-flow: column; grid-auto-columns: 72%; gap: .85rem; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: .4rem; }
.hscroll::-webkit-scrollbar { display: none; }
.hscroll > * { scroll-snap-align: start; }
@media (min-width: 576px) { .hscroll { grid-auto-columns: 44%; } }
@media (min-width: 992px) { .hscroll.to-grid { grid-auto-flow: row; grid-template-columns: repeat(4, 1fr); overflow: visible; } }
.hscroll-nav { display: flex; gap: .35rem; }
.hscroll-nav button { width: 2.2rem; height: 2.2rem; border-radius: 50%; border: 1px solid var(--border); background: var(--surface); color: var(--ink); display: grid; place-items: center; }
.hscroll-nav button:hover { border-color: var(--brand); color: var(--brand); }

/* ---------- اخبار ---------- */
.news-lead { display: block; position: relative; border-radius: var(--radius-lg); overflow: hidden; aspect-ratio: 16 / 10; background: var(--ink-2); color: #fff; }
.news-lead img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--ease); }
.news-lead:hover img { transform: scale(1.03); }
.news-lead .cap { position: absolute; inset: auto 0 0 0; padding: 3rem 1.25rem 1.1rem; background: linear-gradient(to top, rgba(10, 13, 18, .9), transparent); }
.news-lead .cap h3 { color: #fff; font-size: 1.05rem; margin: 0 0 .25rem; }
.news-lead .cap span { color: #cbd2db; font-size: .76rem; }
.news-list { list-style: none; margin: 0; padding: 0; }
.news-list li + li { border-top: 1px dashed var(--border); }
.news-list a { display: flex; gap: .8rem; padding: .7rem 0; color: var(--ink); align-items: flex-start; }
.news-list a:hover .t { color: var(--brand); }
.news-list .thumb { width: 84px; aspect-ratio: 4 / 3; border-radius: var(--radius); overflow: hidden; flex-shrink: 0; background: var(--surface-2); }
.news-list .thumb img { width: 100%; height: 100%; object-fit: cover; }
.news-list .t { font-size: .88rem; font-weight: 500; line-height: 1.75; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.news-list .d { color: var(--muted); font-size: .74rem; display: flex; align-items: center; gap: .3rem; }
.news-list.compact a { padding: .55rem 0; }
.news-list.compact .bullet { width: 8px; height: 8px; border-radius: 50%; background: var(--brand); flex-shrink: 0; margin-top: .65rem; }
.nav-tabs-site { border: 0; gap: .35rem; margin-bottom: 1rem; flex-wrap: nowrap; overflow-x: auto; }
.nav-tabs-site .nav-link { border: 1px solid var(--border); border-radius: 999px; color: var(--ink-3); padding: .3rem 1rem; font-size: .85rem; white-space: nowrap; background: var(--surface); }
.nav-tabs-site .nav-link.active { background: var(--ink); color: #fff; border-color: var(--ink); }
.post-row { display: flex; gap: 1rem; padding: 1rem; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg); transition: box-shadow .2s, border-color .2s; color: var(--text); }
.post-row:hover { box-shadow: var(--shadow-lg); border-color: #d6dbe2; color: var(--text); }
.post-row .thumb { width: 180px; aspect-ratio: 16 / 10; border-radius: var(--radius); overflow: hidden; flex-shrink: 0; background: var(--surface-2); }
.post-row .thumb img { width: 100%; height: 100%; object-fit: cover; }
.post-row h2, .post-row h3 { font-size: 1rem; margin: 0 0 .35rem; line-height: 1.7; }
.post-row:hover h2, .post-row:hover h3 { color: var(--brand); }
.post-row p { color: var(--muted); font-size: .84rem; margin: 0 0 .4rem; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
@media (max-width: 575.98px) { .post-row { padding: .75rem; gap: .75rem; } .post-row .thumb { width: 104px; } .post-row p { display: none; } .post-row h2, .post-row h3 { font-size: .9rem; } }

/* ---------- متن مقاله ---------- */
.prose { font-size: 1rem; line-height: 2.1; color: #26313d; overflow-wrap: anywhere; }
.prose img { border-radius: var(--radius); height: auto !important; max-width: 100% !important; }
.prose iframe, .prose video { max-width: 100%; border-radius: var(--radius); }
.prose table { width: 100% !important; display: block; overflow-x: auto; border-collapse: collapse; margin: 1rem 0; }
.prose td, .prose th { border: 1px solid var(--border); padding: .4rem .6rem; }
.prose h2, .prose h3, .prose h4 { margin: 1.5rem 0 .75rem; }
.prose p { margin-bottom: 1rem; }
.prose a { color: var(--brand); text-decoration: underline; text-underline-offset: 3px; }
/* محتوای واردشده از Word/ویرایشگر: فونت و اندازهٔ درون‌خطی (B Nazanin، Nassim، Impact، 16pt، x-large و ...) نادیده گرفته می‌شود
   تا اگر آن فونت روی دستگاه بازدیدکننده نبود، متن با فونت سایت (IRANSans) و اندازهٔ عادی نمایش داده شود. آیکون‌ها و کد مستثنا هستند. */
.prose, .prose *:not(i):not(.bi):not([class*="fa-"]):not(code):not(pre):not(kbd):not(samp) { font-family: var(--font) !important; }
.prose * { font-size: inherit !important; line-height: inherit !important; }
.prose h1, .prose h2, .prose h3, .prose h4, .prose h5, .prose h6 { line-height: 1.7 !important; font-weight: 700; }
.prose h1 { font-size: 1.45rem !important; }
.prose h2 { font-size: 1.3rem !important; }
.prose h3 { font-size: 1.17rem !important; }
.prose h4, .prose h5, .prose h6 { font-size: 1.05rem !important; }
.prose sub, .prose sup { font-size: 75% !important; line-height: 0 !important; }
.prose code, .prose pre, .prose kbd, .prose samp { font-size: .9em !important; }
.prose blockquote { border-inline-start: 4px solid var(--brand); background: var(--surface-2); padding: .75rem 1rem; border-radius: var(--radius); }
.article-cover { border-radius: var(--radius-lg); overflow: hidden; margin-bottom: 1.25rem; aspect-ratio: 16 / 8; background: var(--surface-2); }
.article-cover img { width: 100%; height: 100%; object-fit: cover; }
.article-meta { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; color: var(--muted); font-size: .82rem; margin-bottom: 1rem; }
.share-bar { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; }
.share-bar a, .share-bar button { width: 2.2rem; height: 2.2rem; display: grid; place-items: center; border-radius: 50%; border: 1px solid var(--border); color: var(--ink-3); background: var(--surface); }
.share-bar a:hover, .share-bar button:hover { color: var(--brand); border-color: var(--brand); }

/* ---------- ستون کناری ---------- */
.side-box { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 1rem 1.1rem; margin-bottom: 1rem; }
.side-box h3, .side-box .side-title { font-size: .95rem; margin: 0 0 .75rem; padding-bottom: .6rem; border-bottom: 1px solid var(--border); display: flex; align-items: center; gap: .45rem; }
.side-box h3 i, .side-box .side-title i { color: var(--brand); }
.side-links { list-style: none; margin: 0; padding: 0; }
.side-links a { display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding: .42rem .55rem; border-radius: var(--radius); color: var(--ink-3); font-size: .86rem; }
.side-links a:hover, .side-links a.active { background: var(--brand-50); color: var(--brand); }
.side-links a .count { font-size: .72rem; color: var(--muted); background: var(--surface-2); border-radius: 999px; padding: 0 .5rem; }
.side-links ul { list-style: none; padding-inline-start: .9rem; margin: 0; }
.filter-toggle { display: none; }
@media (max-width: 991.98px) {
    .filter-toggle { display: inline-flex; }
    .filters-col .side-box.collapsible { display: none; }
    .filters-col.open .side-box.collapsible { display: block; }
}
.tag-cloud { display: flex; flex-wrap: wrap; gap: .35rem; }

/* ---------- فرم‌ها ---------- */
.form-control, .form-select { border-radius: var(--radius); border-color: #d5dae1; padding: .55rem .85rem; }
.form-control:focus, .form-select:focus { border-color: var(--brand); box-shadow: 0 0 0 .2rem rgba(var(--brand-rgb), .12); }
.form-label { font-weight: 500; font-size: .86rem; color: var(--ink-3); margin-bottom: .3rem; }
.form-label .req { color: var(--brand); }
.field-validation-error, .text-danger { color: #b42318 !important; font-size: .8rem; }
.input-validation-error { border-color: #f04438 !important; }
.validation-summary-errors ul { margin: 0; padding-inline-start: 1.1rem; }
.search-inline { position: relative; }
.search-inline .form-control { padding-inline-start: 2.6rem; height: 2.9rem; border-radius: 999px; }
.search-inline > i { position: absolute; inset-inline-start: 1rem; top: 50%; transform: translateY(-50%); color: var(--muted); }
.search-inline .btn { position: absolute; inset-inline-end: .3rem; top: .3rem; bottom: .3rem; border-radius: 999px; padding-block: 0; }
.form-section-title { font-size: .95rem; color: var(--ink); border-bottom: 1px solid var(--border); padding-bottom: .5rem; margin: 1.5rem 0 1rem; display: flex; align-items: center; gap: .4rem; }
.form-section-title i { color: var(--brand); }
.hp-field { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; clip-path: inset(50%) !important; white-space: nowrap !important; border: 0 !important; }

/* ---------- صفحه‌بندی (PagedList.Mvc + Bootstrap 5) ---------- */
.pagination { gap: .3rem; flex-wrap: wrap; justify-content: center; margin: 1.75rem 0 .5rem; padding: 0; }
.pagination > li > a, .pagination > li > span { display: inline-flex; align-items: center; justify-content: center; min-width: 2.4rem; height: 2.4rem; padding: 0 .65rem; border-radius: var(--radius) !important; border: 1px solid var(--border); background: var(--surface); color: var(--ink-3); font-size: .86rem; }
.pagination > li > a:hover { border-color: var(--brand); color: var(--brand); }
.pagination > li.active > a, .pagination > li.active > span { background: var(--brand); border-color: var(--brand); color: #fff; }
.pagination > li.disabled > a, .pagination > li.disabled > span { opacity: .45; pointer-events: none; }
.pagination-container { width: 100%; }

/* ---------- جایگاه تبلیغاتی ---------- */
.ad-slot { position: relative; display: block; width: 100%; }
.ad-slot[data-state="empty"] { display: none !important; }
.ad-slot .ad-box { position: relative; display: block; overflow: hidden; border-radius: var(--radius-lg); background: var(--surface-2); border: 1px solid var(--border); }
.ad-slot .ad-box img, .ad-slot .ad-box video { display: block; width: 100%; height: 100%; object-fit: cover; }
.ad-label { position: absolute; top: .45rem; inset-inline-end: .45rem; z-index: 3; display: inline-flex; align-items: center; gap: .2rem; background: rgba(255, 255, 255, .92); color: var(--ink-3); font-size: .66rem; line-height: 1.6; padding: 0 .45rem; border-radius: 999px; box-shadow: 0 1px 3px rgba(0, 0, 0, .15); }
.ad-label .ad-why { color: var(--muted); cursor: pointer; background: none; border: 0; padding: 0; line-height: 1; }
.ad-banner { aspect-ratio: var(--r, auto); }
@media (max-width: 767.98px) { .ad-banner { aspect-ratio: var(--rm, var(--r, auto)); } }
.ad-slot[data-ratio]:not([data-state="filled"]) { aspect-ratio: var(--ad-ratio); border-radius: var(--radius-lg); }
.ad-slot[data-state="loading"] { background: linear-gradient(90deg, #eef0f3 0%, #f7f8fa 50%, #eef0f3 100%); background-size: 200% 100%; animation: ad-shimmer 1.4s infinite linear; }
.ad-slot > .ad-item[hidden] { display: none !important; }
.ad-stack { display: grid; gap: .75rem; }
.ad-native { display: flex; gap: .85rem; align-items: center; padding: .9rem; background: linear-gradient(135deg, var(--gold-50), #fff); border: 1px solid #ecdcb8 !important; color: var(--ink); }
.ad-native .ad-img { width: 88px; aspect-ratio: 1; border-radius: var(--radius); overflow: hidden; flex-shrink: 0; }
.ad-native h4 { font-size: .95rem; margin: 0 0 .2rem; }
.ad-native p { font-size: .8rem; color: var(--muted); margin: 0 0 .35rem; }
.ad-native .btn { padding: .2rem .8rem; font-size: .78rem; }
.ad-textlink { display: block; padding: .75rem 1rem; border: 1px dashed #e0c98f !important; background: var(--gold-50) !important; }
.ad-textlink h4 { font-size: .92rem; margin: 0 0 .2rem; color: #1a4fa0; }
.ad-textlink p { margin: 0; font-size: .8rem; color: var(--ink-3); }
.ad-textlink .ad-url { font-size: .72rem; color: var(--success); direction: ltr; display: inline-block; }
.ad-skeleton { background: linear-gradient(90deg, #eef0f3 0%, #f7f8fa 50%, #eef0f3 100%); background-size: 200% 100%; animation: ad-shimmer 1.4s infinite linear; }
@keyframes ad-shimmer { from { background-position: 200% 0; } to { background-position: -200% 0; } }
.ad-report-menu { position: absolute; z-index: 5; top: 1.9rem; inset-inline-end: .45rem; background: #fff; border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow-lg); padding: .5rem .75rem; font-size: .75rem; max-width: 240px; }
.ad-report-menu a { display: block; padding: .2rem 0; }

/* ---------- نوار حامیان / برندها ---------- */
.logo-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: .75rem; }
@media (min-width: 768px) { .logo-grid { grid-template-columns: repeat(4, 1fr); } }
@media (min-width: 1200px) { .logo-grid { grid-template-columns: repeat(6, 1fr); } }
.logo-cell { display: grid; place-items: center; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg); aspect-ratio: 17 / 8; padding: .75rem; transition: box-shadow .2s, border-color .2s; }
.logo-cell:hover { box-shadow: var(--shadow); border-color: #d6dbe2; }
.logo-cell img { max-height: 100%; width: auto; object-fit: contain; filter: grayscale(.15); }

/* ---------- هیئت مدیره ---------- */
.person { text-align: center; color: var(--ink); display: block; }
.person .ph { width: 112px; height: 112px; margin: 0 auto .65rem; border-radius: 50%; overflow: hidden; background: var(--surface-2); border: 3px solid #fff; box-shadow: 0 0 0 1px var(--border), var(--shadow); }
.person .ph img { width: 100%; height: 100%; object-fit: cover; }
.person strong { display: block; font-size: .88rem; line-height: 1.7; }
.person:hover strong { color: var(--brand); }

/* ---------- کارت دعوت (CTA) ---------- */
.cta-card { position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: space-between; gap: 1rem; padding: 1.5rem; border-radius: var(--radius-lg); color: #fff; min-height: 200px; height: 100%; }
.cta-card h3 { color: #fff; font-size: 1.2rem; margin: 0 0 .35rem; }
.cta-card p { color: rgba(255, 255, 255, .82); margin: 0; font-size: .88rem; max-width: 460px; }
.cta-card .bg-ic { position: absolute; inset-inline-end: -10px; bottom: -30px; font-size: 9rem; opacity: .12; line-height: 1; }
.cta-ink { background: linear-gradient(135deg, var(--ink), var(--ink-3)); }
.cta-brand { background: linear-gradient(135deg, var(--brand-700), var(--brand)); }
.cta-card .btn-light { color: var(--ink); font-weight: 500; }

/* ---------- پانویس ---------- */
.site-footer { background: var(--ink); color: #b6bfca; margin-top: 3rem; font-size: .88rem; }
.site-footer .footer-top { padding: 3rem 0 2rem; }
.site-footer h3 { color: #fff; font-size: .98rem; margin-bottom: 1rem; }
.site-footer a { color: #b6bfca; }
.site-footer a:hover { color: #fff; }
.footer-links { list-style: none; margin: 0; padding: 0; }
.footer-links li { margin-bottom: .45rem; }
.footer-links a { display: inline-flex; align-items: center; gap: .4rem; }
.footer-links a::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: var(--brand); }
.footer-contact li { display: flex; gap: .6rem; margin-bottom: .7rem; align-items: flex-start; }
.footer-contact i { color: var(--brand); font-size: 1.05rem; margin-top: .15rem; }
.footer-logo { background: #fff; border-radius: var(--radius-lg); padding: .5rem .85rem; display: inline-block; margin-bottom: 1rem; }
.footer-logo img { height: 48px; }
.socials { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: 1rem; }
.socials a { width: 2.3rem; height: 2.3rem; display: grid; place-items: center; border-radius: 50%; background: rgba(255, 255, 255, .08); color: #e3e7ec; font-size: 1.05rem; }
.socials a:hover { background: var(--brand); color: #fff; }
.trust-seals { display: flex; gap: .5rem; flex-wrap: wrap; margin-top: 1rem; }
.trust-seals img { background: #fff; border-radius: 12px; padding: .25rem; max-height: 96px; }
.footer-bottom { border-top: 1px solid rgba(255, 255, 255, .08); padding: 1rem 0; font-size: .78rem; color: #8b96a5; }
.footer-bottom .container-site { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; justify-content: space-between; }
@media (max-width: 767.98px) { .site-footer .footer-top { padding: 2rem 0 1rem; } .footer-col-collapse h3 { cursor: pointer; display: flex; justify-content: space-between; } }

/* ---------- حالت خالی / 404 ---------- */
.empty-state { text-align: center; padding: 3rem 1rem; color: var(--muted); }
.empty-state i { font-size: 2.75rem; color: #c3cad4; display: block; margin-bottom: .75rem; }
.big-code { font-size: clamp(4rem, 12vw, 7rem); font-weight: 700; line-height: 1; background: linear-gradient(135deg, var(--brand), var(--ink)); -webkit-background-clip: text; background-clip: text; color: transparent; }

/* ---------- جزئیات محصول / پروفایل شرکت ---------- */
.gallery-main { aspect-ratio: 1 / 1; border-radius: var(--radius-lg); overflow: hidden; background: #fff; border: 1px solid var(--border); display: grid; place-items: center; }
.gallery-main img { width: 100%; height: 100%; object-fit: contain; }
.gallery-thumbs { display: flex; gap: .5rem; margin-top: .6rem; overflow-x: auto; }
.gallery-thumbs button { width: 72px; height: 72px; flex-shrink: 0; border-radius: var(--radius); overflow: hidden; border: 2px solid var(--border); padding: 0; background: #fff; }
.gallery-thumbs button.active { border-color: var(--brand); }
.gallery-thumbs img { width: 100%; height: 100%; object-fit: cover; }
.spec-table { width: 100%; font-size: .86rem; }
.spec-table th { width: 38%; color: var(--muted); font-weight: 400; padding: .5rem .75rem; background: var(--surface-2); }
.spec-table td { padding: .5rem .75rem; color: var(--ink); }
.spec-table tr + tr th, .spec-table tr + tr td { border-top: 1px solid var(--border); }
.company-cover { height: 200px; border-radius: var(--radius-lg) var(--radius-lg) 0 0; background: linear-gradient(120deg, var(--ink), var(--ink-3) 60%, var(--brand-700)); overflow: hidden; }
.company-cover img { width: 100%; height: 100%; object-fit: cover; }
.company-head { display: flex; gap: 1.25rem; align-items: flex-end; padding: 0 1.5rem 1.25rem; margin-top: -48px; flex-wrap: wrap; }
.company-head .logo { width: 112px; height: 112px; border-radius: 22px; background: #fff; border: 4px solid #fff; box-shadow: var(--shadow-lg); display: grid; place-items: center; overflow: hidden; flex-shrink: 0; }
.company-head .logo img { width: 100%; height: 100%; object-fit: contain; padding: .4rem; }
.company-head .logo .initial { font-size: 2.6rem; font-weight: 700; color: var(--brand); }
.company-head h1 { font-size: clamp(1.15rem, 2.3vw, 1.6rem); margin: 0 0 .25rem; }
.info-list { list-style: none; margin: 0; padding: 0; }
.info-list li { display: flex; gap: .65rem; padding: .55rem 0; border-bottom: 1px dashed var(--border); font-size: .88rem; }
.info-list li:last-child { border-bottom: 0; }
.info-list i { color: var(--brand); font-size: 1.05rem; margin-top: .1rem; }
.info-list .lbl { color: var(--muted); font-size: .76rem; display: block; }
.sticky-side { position: sticky; top: calc(var(--header-h) + 1rem); }

/* ---------- تابلوهای تبلیغاتی (وضعیت) ---------- */
.legend { display: flex; flex-wrap: wrap; gap: .5rem 1rem; font-size: .8rem; color: var(--ink-3); }
.legend span { display: inline-flex; align-items: center; gap: .35rem; }
.legend i { width: .8rem; height: .8rem; border-radius: 50%; display: inline-block; }

/* ---------- کمکی ---------- */
.reveal { opacity: 0; transform: translateY(14px); transition: opacity .5s var(--ease), transform .5s var(--ease); }
.reveal.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } .reveal { opacity: 1; transform: none; } }
.ratio-box { aspect-ratio: var(--r, 16 / 9); }
.divider-dot { width: 4px; height: 4px; border-radius: 50%; background: currentColor; opacity: .5; display: inline-block; }
.alert { border-radius: var(--radius-lg); }
.toast-site { position: fixed; bottom: 80px; inset-inline: 1rem; z-index: 2000; max-width: 420px; margin-inline: auto; }

@media print {
    .site-utility, .site-header, .site-footer, .mobile-dock, .ad-slot, .ad-topbar, .share-bar { display: none !important; }
    body { background: #fff; padding: 0 !important; }
    .page-hero { background: none; color: #000; padding: 0; }
    .page-hero h1 { color: #000; }
}

/* ---------- افزوده‌ها ---------- */
.min-w-0 { min-width: 0; }
[data-ad-section]:not(:has(.ad-slot)), [data-ad-section]:has(.ad-slot[data-state="empty"]) { display: none; }
.rounded-4 { border-radius: var(--radius-lg) !important; }
.ad-slot .ad-box.ad-native { display: flex; }
.btn-login { white-space: nowrap; }
.hscroll.to-grid > .ad-item, .hscroll.to-grid > .card-x { min-width: 0; }
@media (min-width: 992px) { .hscroll.to-grid.cols-4 { grid-template-columns: repeat(4, 1fr); } }
.company-head .company-title { padding-top: 3.5rem; }
@media (min-width: 768px) { .company-head .company-title { padding-top: 4.25rem; } }
.gallery-main img.is-placeholder, .card-x .media img.is-placeholder { object-fit: cover; padding: 0; }
.latin { font-family: Tahoma, "Segoe UI", Arial, sans-serif !important; letter-spacing: .02em; }
.site-footer .btn-light, .site-footer .btn-light:hover { color: var(--ink); }
.site-footer .btn-outline-light { color: #e3e7ec; }
.nav-main { min-width: 0; }
@media (min-width: 1200px) and (max-width: 1439.98px) {
    .nav-main > ul > li > a, .nav-main > ul > li > button { padding: 0 .5rem; font-size: .86rem; }
    html[lang="en"] .nav-main > ul > li > a, html[lang="en"] .nav-main > ul > li > button { padding: 0 .4rem; font-size: .82rem; }
    html[lang="en"] .site-logo img { height: 46px; }
}

/* ---------- کپچای تصویری فرم‌ها ---------- */
.captcha-row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.captcha-row .captcha-input { flex: 1 1 140px; max-width: 220px; letter-spacing: 3px; font-size: 1.05rem; text-align: center; }
.captcha-row .captcha-input::placeholder { letter-spacing: normal; font-size: .85rem; }
.captcha-img { width: 168px; height: 52px; border: 1px solid var(--border); border-radius: 10px; background: #f4f7fb; user-select: none; }
.captcha-refresh { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: 0; }

/* ================================================================ نهایی‌سازی (۲۶ اکتبر ۲۰۲۶) */
/* فوتر همیشه پایین صفحه (صفحه‌های کوتاه مثل گالری خالی) */
body.site { min-height: 100vh; display: flex; flex-direction: column; }
body.site > * { flex-shrink: 0; }
body.site > main { flex: 1 0 auto; width: 100%; }

/* اطلاعات تماس فوتر: بدون بولت پیوندها (آیکن خودش نشانه است) */
.footer-contact a::before { display: none; }

/* پیوند فایل داخل متن خبر/صفحه (site.js): برچسب نوع فایل + نام خوانا */
.prose a.file-link {
    display: inline-flex; align-items: center; gap: .55rem; max-width: 100%;
    margin: .3rem 0; padding: .55rem .95rem; border: 1px solid var(--border); border-radius: 12px;
    background: var(--surface-2); color: var(--ink); font-weight: 600; text-decoration: none; line-height: 1.6;
    transition: border-color .15s, color .15s, box-shadow .15s;
}
.prose a.file-link::before {
    content: attr(data-ext); flex: 0 0 auto; padding: .05rem .45rem; border-radius: 6px;
    background: var(--brand); color: #fff; font-size: .68rem; font-weight: 800; letter-spacing: .4px; direction: ltr;
}
.prose a.file-link:hover { border-color: var(--brand); color: var(--brand); box-shadow: 0 4px 14px rgba(var(--brand-rgb), .12); }
.prose a.file-link .fl-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
