/*
Theme Name: sepanta
Theme URI: http://ehsanargani.com
Author: Ehsan Argani
Author URI: http://ehsanargani.com
Version: 1.3
*/


@import url(fontiran.css); /* لینک فایلی که وظیفه بارگذاری فونت ها را برعهده دارد */
html,body {
	font-family: IRANSansX  !important;
	direction: rtl;
	background-color: #cdcdcd;
	margin: 0;
}
h1, h2, h3, h4, h5, h6,input, textarea,p {
	font-family: IRANSansX !important;
}
h1 {
	font-weight: bold;
}

:root{
    --bs-primary:#2E7D32;         /* رنگ اصلی سفارشی */
    --bs-primary-rgb:46,125,50;
    --bs-warning:#FFD700;         /* ثانویه */
}
body{ 
	
	direction: rtl;
	background:#fff; }
.brand-script{ font-family:'Pacifico', cursive; }


h1 {
	font-weight: bold;
}
*{
	font-family: 'IranYekanX', system-ui, -apple-system, Segoe UI, Roboto, 'Vazirmatn', sans-serif;
}
/* Header */
#header{
    transition: all .3s ease;
    background: transparent;
}
#header.nav-scrolled{
    background:#fff !important;
    box-shadow: 0 6px 20px rgba(0,0,0,.07);
}
#header .nav-link{ transition: color .2s ease; }

/* Hero */
.hero {
    position: relative;
    min-height: 100vh;
    background-size: cover;
    background-position: center;
}
.hero::before{
    content:"";
    position:absolute; inset:0;
    background: rgba(0,0,0,.5);
}
.hero > .hero-content{
    position:relative; z-index:2;
}
/* ویدیو بکگراندِ تمام‌صفحه داخل .hero */
.hero .bg-video{
    position:absolute; inset:0;
    width:100%; height:100%;
    object-fit:cover;             /* مثل background-size: cover */
    z-index:0;                    /* زیرِ اوورلِی و محتوا */
}

/* اوورلیِ تاریک که قبلاً داشتی با ::before باقی می‌ماند */
.hero > .hero-content{ position:relative; z-index:2; }
/* Dots */
.dot{ width:.75rem; height:.75rem; border-radius:50%; opacity:.6; }
.dot.active{ opacity:1; }

/* Cards hover overlay */
.overlay-wrap{ position:relative; overflow:hidden; border-radius:.75rem; }
.overlay-wrap img{ transition: transform .5s ease; }
.overlay{ position:absolute; inset:0; background:rgba(0,0,0,.5); opacity:0; display:flex; align-items:center; justify-content:center; color:#fff; text-align:center; transition:opacity .3s ease; padding:1rem; }
.overlay-wrap:hover img{ transform: scale(1.08); }
.overlay-wrap:hover .overlay{ opacity:1; }

/* Stats gradient */
.stats-gradient{ background: linear-gradient(90deg, var(--bs-primary), #2f9e44); }

/* Rounded pill buttons used در پروژه‌ها */
.btn-pill{ border-radius: .6rem; }

/* Fix icon font default glyph issue (اگر جایی بود) */
:where([class^="ri-"])::before { content: unset; }

.dim-video {
    filter: brightness(60%); /* 40% تیره‌تر */
}
/* رنگ فوترت اینجاست */
:root { --footer-bg:#212529; } /* اگر bg-dark نیست، این را عوض کن */

/* جلوگیری از اسکرول افقی ناشی از 100vw */
html, body { overflow-x:hidden; }

.footer-waves{
    position:relative;
    width:100%;
    height:120px;           /* ارتفاع موج‌ها */
    line-height:0;
    overflow:hidden;
    margin-top:-1px;        /* اتصال تمیز به سکشن بالا */
    background:transparent;
}

/* پر کردن دقیق کل عرض: 100vw + مرکز کردن با translateX */
.footer-waves .wave-svg{
    position:absolute;
    top:0; bottom:-1px;
    left:54%;               /* نقطه‌ی مرجع وسط صفحه */
    width:120vw;            /* دقیقاً برابر عرض ویوپورت */
    height:120px;
    transform:translateX(-50%) translateZ(0);
    pointer-events:none;
}
.footer-waves .wave-svg path{ fill:var(--footer-bg); }

/* انیمیشن حرکت نرمِ موج‌ها */
@keyframes slideWave {
    0%   { transform: translateX(-50%) translateZ(0); }
    100% { transform: translateX(calc(-50% - 8%)) translateZ(0); } /* جابجایی ملایم */
}
.wave-back  { opacity:.35; animation: slideWave 26s linear infinite reverse; }
.wave-mid   { opacity:.55; animation: slideWave 18s linear infinite; }
.wave-front { opacity:.95; animation: slideWave 14s linear infinite reverse; }

@media (prefers-reduced-motion: reduce){
    .wave-svg{ animation:none; }
}
.bg-fixed-section {
    background-image: url('assets/img/5.png');
    background-size: cover;          /* تصویر به طور کامل پر می‌کند */
    background-position: center;     /* مرکز عکس */
    background-repeat: no-repeat;    /* تکرار نمی‌شود */
    background-attachment: fixed;    /* ثابت کردن بک‌گراند */
    min-height: 400px;              /* ارتفاع پیش‌فرض */
    position: relative;
    z-index: 1;
}

/* برای تاریک کردن تصویر بک‌گراند (اختیاری) */
.bg-fixed-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.45); /* شفافیت لایه */
    z-index: -1;
}
:root {
    --bs-primary: #2E7D32;
    --bs-primary-hover: #256428;
}

/* 🎨 استایل دکمه‌های اصلی */
.btn-primary {
    background-color: var(--bs-primary);
    border: 2px solid var(--bs-primary);
    color: #fff;
    position: relative;
    overflow: hidden;
    z-index: 1;
    transition: all 0.3s ease-in-out;
}

.btn-primary:hover {
    background-color: var(--bs-primary-hover);
    transform: translateY(-2px) scale(1.05);
    box-shadow: 0 8px 20px rgba(46, 125, 50, 0.35);
}

/* 🎨 استایل دکمه‌های Outline */
.btn-outline-primary {
    background-color: transparent;
    border: 2px solid var(--bs-primary);
    color: var(--bs-primary);
    position: relative;
    overflow: hidden;
    z-index: 1;
    transition: all 0.3s ease-in-out;
}

.btn-outline-primary:hover {
    background-color: var(--bs-primary);
    color: #fff;
    transform: translateY(-2px) scale(1.05);
    box-shadow: 0 8px 20px rgba(46, 125, 50, 0.35);
}

/* 🎨 Ripple Effect */
.btn-primary::after,
.btn-outline-primary::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    width: 10px;
    height: 10px;
    background-color: rgba(255, 255, 255, 0.6);
    transform: scale(0);
    opacity: 0.75;
    pointer-events: none;
    transition: transform 0.6s ease, opacity 0.6s ease;
}

/* Ripple Animation */
.btn-primary.ripple::after,
.btn-outline-primary.ripple::after {
    transform: scale(15);
    opacity: 0;
}
/* رنگ برند سراسری */
:root{ --bs-primary:#2E7D32; --bs-primary-rgb:46,125,50; }

/* هدر شفاف → اسکرول سفید */
#header{ transition:all .3s ease; background:transparent; }
#header.scrolled{ background:#fff; box-shadow:0 6px 20px rgba(0,0,0,.08); }
#header .navbar-brand, #header .nav-link{ color:#fff; }
#header.scrolled .navbar-brand{ color:var(--bs-primary) !important; }
#header.scrolled .nav-link{ color:#000 !important; }

/* آیکون همبرگر روشن روی بک تیره */
.navbar-toggler{ background:rgba(255,255,255,.2); border-radius:8px; }
.navbar-toggler-icon{ filter:invert(1); }

/* دسکتاپ: فونت و فاصله + افکت خط زیر لینک */
.main-nav .nav-link{
    font-size:1.08rem; font-weight:600; position:relative; padding:.5rem 1rem;
    transition:color .25s ease;
}
.main-nav .nav-link::after{
    content:""; position:absolute; right:0; left:0; bottom:-4px; height:2px;
    background:var(--bs-primary); transform:scaleX(0); transform-origin:center; transition:transform .25s ease;
}
.main-nav .nav-link:hover{ color:var(--bs-primary) !important; }
.main-nav .nav-link:hover::after, .main-nav .nav-link.active::after{ transform:scaleX(1); }

/* Dropdown روی دسکتاپ */
.dropdown-menu{ min-width:14rem; border-radius:.6rem; }
.dropdown-menu .dropdown-item{ padding:.6rem .9rem; }
.dropdown-menu .dropdown-item:hover{ background:rgba(46,125,50,.2); }

/* dropend جهت RTL زیباتر */
.dropend .dropdown-toggle::after{ margin-right:.25rem; margin-left:0; }

/* Offcanvas موبایل/تبلت */
.offcanvas{ width:300px; }
.offcanvas .list-group-item{ color:#fff; border-color:rgba(255,255,255,.08); }
.offcanvas .list-group-item:hover{ color:var(--bs-primary); }
.accordion-button{ box-shadow:none !important; }
.accordion-button:not(.collapsed){ color:var(--bs-primary); background:rgba(46,125,50,.08); }

/* فاصله منوها روی دسکتاپ */
@media (min-width:992px){
    .main-nav{ gap:.25rem; }
    .offcanvas{
        display: none;
    }
    .navbar-nav {
        gap: 2.5rem;  /* پیش‌فرض 1rem هست → اینو بیشتر بذار */
    }
}

/* اگر هدر روی عکس/ویدیو است، در بالا سفید نشود */
body.has-dark-hero #header:not(.scrolled) .navbar-brand,
body.has-dark-hero #header:not(.scrolled) .nav-link{ color:#fff !important; }



.dropdown-menu {
    border: none;
    border-radius: 12px;
    padding: 0.6rem 0;
    min-width: 220px;
    background-color: #fff;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12);
    transition: all 0.3s ease-in-out;
    right: 0;
    left: auto; /* برای راست‌چین شدن */
}

/* استایل آیتم‌ها */
.dropdown-menu .dropdown-item {
    font-size: 0.95rem;
    padding: 10px 18px;
    color: #333;
    transition: all 0.3s ease;
    border-radius: 6px;
}

.dropdown-menu .dropdown-item:hover {
    background-color: rgba(46, 125, 50, 0.08);
    color: var(--bs-primary);
    padding-right: 24px; /* افکت حرکت نرم */
}

/* استایل زیرمنو سطح دوم */
.dropend .dropdown-menu {
    top: 0;
    right: 100%;
    margin-top: -5px;
}

/* فلش برای زیرمنوی سطح دوم */
.dropend > .dropdown-toggle::after {
    margin-right: 0.4rem;
    margin-left: 0;
}

/* افکت انیمیشن باز شدن */
.animated-dropdown {
    opacity: 0;
    transform: translateY(15px);
    visibility: hidden;
    transition: all 0.25s ease;
}

/* نمایش دراپ‌داون */
/* حالت پیش‌فرض: پنهان با انیمیشن */
.dropdown-menu.animated-dropdown{
    opacity: 0;
    transform: translateY(15px);
    visibility: hidden;
    transition: all .25s ease;
}

/* هنگام باز شدن: خودِ منو کلاس show می‌گیرد */
.dropdown-menu.animated-dropdown.show{
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
}
/* بگذار پاپر جایگذاری کند */
.navbar .dropdown-menu{
    inset: auto !important;   /* از right/left سفارشی خلاص شو */
    transform-origin: top center;
}
/* زیرمنوی سطح دوم (dropend) در RTL به چپِ آیتم والد باز شود */
.dropend .dropdown-menu{
    top: 0;
    right: 100%;
    left: auto;
    margin-top: -4px;
}

/* تغییر رنگ لینک اصلی در هاور */
.navbar-nav .dropdown:hover > .nav-link {
    color: var(--bs-primary) !important;
}
/* === Footer Theme (Sepanta) === */
:root{
    --footer-bg: #1B2B1B;   /* رنگ اصلی فوتر (قابل تغییر) */
    --footer-fg: #EAEAEA;   /* رنگ متن */
    --footer-accent: #FFD700; /* طلایی لوگو برای لینک/آیکون */
}

/* خود فوتر */
footer.bg-dark{
    background-color: var(--footer-bg) !important;
    color: var(--footer-fg);
}

/* تیترها و متن‌ها */
footer h5, footer .h3, footer .fw-semibold { color: #fff; }
footer p, footer li, footer .text-white-50 { color: var(--footer-fg) !important; opacity: .9; }

/* لینک‌ها */
footer a{
    color: var(--footer-accent);
    text-decoration: none;
    transition: color .25s ease, opacity .25s ease;
}
footer a:hover{
    color: #ffffff;
    opacity: 1;
}

/* آیکون‌های شبکه اجتماعی (دکمه‌های دور خط) */
footer .btn-outline-light,
footer .social-icon{
    --_c: var(--footer-accent);
    color: var(--_c);
    border-color: var(--_c);
    background: transparent;
    transition: all .25s ease;
}
footer .btn-outline-light:hover,
footer .social-icon:hover{
    background: var(--footer-accent);
    color: var(--footer-bg);
    border-color: var(--footer-accent);
}

/* خط جداکننده */
footer hr{ border-color: rgba(255,255,255,.12) !important; }

/* اگر موج SVG بالای فوتر داری، با رنگ فوتر هماهنگش کن */
.footer-waves .wave-svg path{ fill: var(--footer-bg); }


.post-hero {
    position: relative;
    background: url('assets/img/5.png') center/cover no-repeat;
    min-height: 320px; /* ارتفاع دلخواه */
    display: flex;
    align-items: center;   /* وسط عمودی */
    justify-content: center; /* وسط افقی */
    text-align: center;
    margin-top: var(--nav-h); /* جبران هدر fixed-top */
    color: #fff;
}
.post-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.45); /* لایه تیره روی بک‌گراند */
}
.post-hero .container {
    position: relative;
    z-index: 1;
}
.post-meta span, .post-meta a {
    color: #eee !important;
}
.hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.45); /* لایه تیره روی بک‌گراند */
}
.hero .container {
    position: relative;
    z-index: 1;
}

.hero{
    background:linear-gradient(rgba(0,0,0,.45),rgba(0,0,0,.45)), url('assets/img/5.png') center/cover no-repeat;
    position: relative;

    min-height: 320px; /* ارتفاع دلخواه */
    display: flex;
    align-items: center;   /* وسط عمودی */
    justify-content: center; /* وسط افقی */
    text-align: center;
    margin-top: var(--nav-h); /* جبران هدر fixed-top */
    color: #fff;
}
.badge-cat{ background:#eaf6ec; color:var(--primary); }
.post-card{ transition:transform .15s ease, box-shadow .15s ease; }
.post-card:hover{ transform:translateY(-4px); box-shadow:0 10px 22px rgba(0,0,0,.08); }
.stats-bar{ background:#263238; color:#cfd8dc; }


.hero-about{
    position:relative; color:#fff;
    background:url('assets/img/hero-about.jpg') center/cover no-repeat;
    min-height:380px; display:flex; align-items:center;
}
.hero-about::before{ content:""; position:absolute; inset:0; background:linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,.35)); }
.hero-about .container{ position:relative; z-index:1; }
/* Cards / sections */
.section{ padding:56px 0; }
.shadow-card{ background:#fff; border:0; border-radius:14px; box-shadow:0 10px 26px rgba(0,0,0,.06); }
.icon-badge{ width:44px; height:44px; display:inline-grid; place-items:center; border-radius:10px; background:#eaf6ec; color:var(--primary); }
.stats{ background:#0f1f2b; color:#cfd8dc; }
.stats .num{ color:#fff; font-weight:800; font-size:28px; }
/* Timeline */
.timeline{ border-inline-start:3px solid #e7ecef; padding-inline-start:18px; }
.tl-item{ position:relative; margin-bottom:18px; }
.tl-item::before{
    content:""; position:absolute; inset-inline-start:-10px; top:4px;
    width:14px; height:14px; border-radius:50%; background:var(--primary);
    box-shadow:0 0 0 4px #eaf6ec;
}
/* Team */
.team-card img{ border-radius:14px; }
.team-card .social a{ color:#6c757d; }
.team-card .social a:hover{ color:var(--primary); }
/* Certificates strip */
.logo-row img{ filter:grayscale(100%); opacity:.6; transition:.2s }
.logo-row img:hover{ filter:none; opacity:1 }
/* FAQ */
.accordion-button:not(.collapsed){ color:#0e3b1f; background:#eaf6ec; }



/* Hero */
.hero-project{
    position:relative; color:#fff;
    background:url('assets/img/5.png') center/cover no-repeat;
    min-height:360px; display:flex; align-items:center;
}
.hero-project::before{ content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.55),rgba(0,0,0,.35)); }
.hero-project .container{ position:relative; z-index:1; }
.badge-soft{ background:#eaf6ec; color:var(--primary); border-radius:10px; }

/* Cards / blocks */
.section{ padding:56px 0; }
.card-clean{ background:#fff; border:0; border-radius:14px; box-shadow:0 10px 26px rgba(0,0,0,.06); }
.icon-blob{ width:44px; height:44px; display:grid; place-items:center; border-radius:10px; background:#eaf6ec; color:var(--primary); }
.meta-list .item{ display:flex; align-items:center; gap:.75rem; padding:.5rem 0; border-bottom:1px dashed #eef1f3; }
.meta-list .item:last-child{ border-bottom:0; }

/* spec table */
.spec-table th{ width:36%; color:#4b5965; background:#f1f5f2; }
.spec-table td, .spec-table th{ padding:.75rem 1rem; }

/* gallery thumbs */
.thumbs img{ border-radius:10px; cursor:pointer; transition:transform .12s; }
.thumbs img:hover{ transform:translateY(-2px); }

/* steps */
.step{ display:flex; gap:.75rem; }
.step .num{ width:34px; height:34px; border-radius:8px; background:#eaf6ec; color:var(--primary); font-weight:800; display:grid; place-items:center; }

/* related */
.rel-card{ transition:.15s; }
.rel-card:hover{ transform:translateY(-4px); box-shadow:0 12px 22px rgba(0,0,0,.08); }


.offcanvas.bg-dark .accordion-button{ box-shadow:none; }
.offcanvas.bg-dark .accordion-button::after{ filter:invert(1); }
.offcanvas.bg-dark .list-group-item{ border-color:rgba(255,255,255,.08); }

/* Dropdowns */
.dropdown-menu{ border:0; border-radius:12px; box-shadow:0 12px 28px rgba(0,0,0,.08); }
.animated-dropdown{ animation:fadeDown .15s ease; transform-origin: top center; }
@keyframes fadeDown{ from{opacity:0; transform:translateY(-6px)} to{opacity:1; transform:translateY(0)} }

/* سطح ۲ به بعد در RTL به چپ باز می‌شوند */
.dropdown-menu .dropend .dropdown-menu{
    margin-inline-end:.4rem;
    inset-inline-end:100%;
    inset-inline-start:auto;
    top:0;
}

/* هاور فعال در دسکتاپ (اختیاری) */
@media (min-width: 992px){
    .nav-item.dropdown:hover > .dropdown-menu{ display:block; }
    .dropdown-menu .dropend:hover > .dropdown-menu{ display:block; }
}

/* لینک فعال */
.navbar .nav-link.active, .navbar .nav-link:focus, .navbar .nav-link:hover{ color:#2E7D32; }


/* هدر اوِرلی روی هِرو */
.header-over-hero{
    z-index: 1030; /* بالاتر از ویدئو */
    background: linear-gradient(180deg, rgba(0,0,0,.35), rgba(0,0,0,0)); /* هاله ملایم برای خوانایی */
}

/* وقتی اسکرول می‌کنی، هدر ثابت و روشن شود */
.header-over-hero.scrolled{
    position: fixed;
    background: #fff !important;
    box-shadow: 0 10px 30px rgba(0,0,0,.06);
}
.header-over-hero.scrolled .nav-link,
.header-over-hero.scrolled .navbar-brand{ color:#222 !important; }
.header-over-hero .nav-link,
.header-over-hero .navbar-brand{ color:#fff; }

/* هِرو مطمئن باشد زیر هدر است و محتوا پنهان نشود */
.hero{ position: relative; min-height: 100vh; }
.hero .bg-video{
    position:absolute; inset:0; width:100%; height:100%;
    object-fit: cover; z-index: 1; filter: brightness(.85);
}
.hero .hero-content{ position: relative; z-index: 2; padding-top: clamp(96px, 12vh, 140px); }


.hover-zoom {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.hover-zoom:hover {
    transform: scale(1.05);
    box-shadow: 0 8px 20px rgba(0,0,0,0.15);
}
/* هدر عمومی */
.site-header{
    position: fixed;
    inset-inline: 0;
    top: 0;
    z-index: 1030;
    transition: background .25s ease, box-shadow .25s ease, color .25s ease;
    background: transparent; /* پیش‌فرض شفاف */
}

/* صفحات بدون هِرو: از ابتدا سفید باشد */
body.no-hero .site-header{
    background: #fff;
    box-shadow: 0 6px 20px rgba(0,0,0,.06);
}

/* لینک‌ها در حالت شفاف روی هِرو */
.site-header.header-overlay .navbar .nav-link,
.site-header.header-overlay .navbar .navbar-brand,
.site-header.header-overlay .navbar .btn{
    color:#fff;
}
.site-header.header-overlay .navbar .nav-link:hover{ color:#f8f9fa; }

/* آیکن منوی موبایل سفید وقتی شفاف است */
.site-header.header-overlay .navbar-toggler{
    filter: invert(1) brightness(2);
}

/* بعد از اسکرول: هدر سفید و لینک‌ها تیره */
.site-header.is-scrolled{
    background:#fff;
    box-shadow:0 6px 20px rgba(0,0,0,.08);
}
.site-header.is-scrolled .nav-link,
.site-header.is-scrolled .navbar-brand,
.site-header.is-scrolled .btn{
    color:#111;
}

/* جبران ارتفاع هدر بالای هِرو تا محتوا زیرش پنهان نشود */
.hero{
    min-height:60vh;
    display:grid;
    place-items:center;
    position:relative;
    color:#fff; /* اگر هِرو تیره نیست، رنگ را خودت override کن */
    padding: 120px 0 60px; /* فضای زیر هدر */
}
.hero::before{
    content:"";
    position:absolute; inset:0;
    background: rgba(0,0,0,.35); /* تاریک‌کننده؛ اگر بک‌گراندت خودش تیره‌ست حذفش کن */
    z-index:1;
}
.hero > *{ position:relative; z-index:2; }

.main-nav .current-menu-item > a,
.main-nav .current_page_item > a,
.main-nav .current-menu-ancestor > a,
.main-nav .current_page_ancestor > a {
    color: #2E7D32 !important; /* رنگ آبی */
    font-weight: 600;
    border-bottom: 2px solid #2E7D32;
}

/* حالت hover هم جذاب‌تر */
.main-nav .nav-link:hover {
    color: #2E7D32 !important;
    transition: 0.3s;
}
.navbar .nav-link.dropdown-toggle {
    color: #fff !important;
}

.offcanvas .dropdown button {
    background: transparent;
    border: 1px solid rgba(255,255,255,0.3);
    color: #fff;
}

.offcanvas .dropdown button i {
    color: #fff;
}

.offcanvas .dropdown-menu {
    background: #1e1e1e;
}

.offcanvas .dropdown-menu a {
    color: #fff;
}

.offcanvas .dropdown-menu a:hover {
    background: rgba(255,255,255,0.1);
}