@font-face { font-family: 'IRANSans'; src: url('/fonts/IRANSans/IRANSansWeb.woff2') format('woff2'), url('/fonts/IRANSans/IRANSansWeb.woff') format('woff'), url('/fonts/IRANSans/IRANSansWeb') format('truetype'); font-weight: normal; font-style: normal; font-display: swap; }

html, body {min-height: 100%;height: auto;}

body {font-size:14px;font-family:"IRANSans",system-ui,-apple-system,sans-serif;direction:rtl;background-color:#f9f9f9;-webkit-font-smoothing:antialiased;}


/* =====  Typography  ===== */
h1 { font-size: clamp(20px, 2.4vw, 26px); line-height: 1.7; margin-bottom: 14px; font-weight: 700; }
h2 { font-size: clamp(18px, 2.1vw, 22px); line-height: 1.7; margin-bottom: 12px; font-weight: 600; }
h3 { font-size: clamp(16px, 1.9vw, 20px); line-height: 1.7; margin-bottom: 10px; font-weight: 600; }
h4 { font-size: 15px; line-height: 1.7; margin-bottom: 8px; font-weight: 500; }
h5 { font-size: 14px; line-height: 1.7; font-weight: 500; }
h6 { font-size: 13px; line-height: 1.7; font-weight: 500; }
p { font-size: clamp(15px, 1.6vw, 16px); line-height: 1.95; margin-bottom: 16px; }



/* ---------------- هدر موبایل---------------- */

@media (max-width: 991px) { .navbar-collapse { position: fixed !important; top: 0; right: -100%; width: 80% !important; max-width: 300px; height: 100vh !important; background-color: #ffffff !important; z-index: 9999 !important; transition: all 0.3s ease-in-out !important; padding: 10px 0 20px 0 !important; box-shadow: -5px 0 15px rgba(0,0,0,0.1) !important; display: block !important; overflow-y: auto !important; } }
@media (max-width: 991px) { .navbar-collapse.show { right: 0 !important; } }
@media (max-width: 991px) { .btn-close { float: left; margin-left: 15px; margin-top: 10px; background-color: #f8f9fa; border-radius: 50%; padding: 10px; } }
@media (max-width: 991px) { .navbar-nav { flex-direction: column !important; width: 100% !important; padding-right: 0 !important; margin-right: 0 !important; margin-top: 50px; } }
@media (max-width: 991px) { .nav-item { width: 100% !important; border-bottom: 1px solid #eee; } }
@media (max-width: 991px) { .nav-link { text-align: right !important; padding: 15px 20px !important; width: 100%; } }
@media (max-width: 991px) { .dropdown-menu { position: relative !important; width: 100% !important; float: none !important; background-color: #f9f9f9 !important; border: none !important; padding-right: 20px !important; box-shadow: none !important; display: none !important; } }
@media (max-width: 991px) { .dropdown-menu.show { display: block !important; animation: slideLeft 0.3s ease-out; } }
@keyframes slideLeft { from { opacity: 0; transform: translateX(20px); } to { opacity: 1; transform: translateX(0); } }
.navbar-toggler { z-index: 10000 !important; }
@media (min-width: 992px) { .nav-item.dropdown:hover .dropdown-menu { display: block; margin-top: 0; } }
@media (min-width: 992px) { .dropdown-menu { background-color: #ffffff; border: 1px solid #ddd; box-shadow: 0 2px 8px rgba(0,0,0,0.15); text-align: right; direction: rtl; } }
@media (min-width: 992px) { .dropdown-item { color: #333; padding: 8px 20px; transition: background 0.3s, color 0.3s; text-align: right; padding-right: 20px; padding-left: 10px; } }
@media (min-width: 992px) { .dropdown-item:hover { background-color: #f2f2f2; color: #000; } }


/* ---------------- فوتر ---------------- */

:root{--mobile-nav-height:65px;}
main,footer{display:block;}
@media(max-width:991px){body{padding-bottom:calc(var(--mobile-nav-height) + 15px);}}

@media(min-width:992px){
.desktop-footer{display:flex;justify-content:space-between;align-items:flex-start;width:100%;background:#3e3e3e;border-top:1px solid #ddd;padding:20px 50px;height:300px;z-index:1000;color:#fff;}
.desktop-footer .footer-column{flex:1;margin:0 10px;}
.desktop-footer .footer-column h5{font-size:14px;margin-bottom:10px;color:#f78991;font-weight:700;}
.desktop-footer .footer-column p{font-size:13px;line-height:1.5;color:#fff;max-width:180px;}
.desktop-footer .footer-column ul{list-style:none;padding:0;margin:0;}
.desktop-footer .footer-column ul li{margin-bottom:6px;}
.desktop-footer .footer-column ul li a{color:#fff;text-decoration:none;transition:color .2s;}
.desktop-footer .footer-column ul li a:hover{color:#00bfff;}
.desktop-footer .footer-logos{display:flex;gap:10px;margin-bottom:10px;}
.desktop-footer .footer-logos img{max-width:50px;cursor:pointer;}
.desktop-footer .social-icons{display:flex;gap:10px;}
.desktop-footer .social-icons img{width:30px;height:30px;cursor:pointer;}
.desktop-footer .footer-brand img{max-width:150px;margin-bottom:10px;transition:transform .3s;}
.desktop-footer .footer-brand img:hover{transform:scale(1.05);}
}

@media(max-width:991px){
.desktop-footer{display:block;padding:20px 15px;text-align:center;background:#3e3e3e;color:#fff;}
.desktop-footer .footer-column{width:100%;margin:15px 0;}
.desktop-footer .footer-column h5{font-size:16px;margin-bottom:12px;color:#f78991;font-weight:700;}
.desktop-footer .footer-column p{font-size:14px;line-height:1.6;margin:0 auto 10px;}
.desktop-footer .footer-column ul li{margin-bottom:8px;}
.desktop-footer .footer-column ul li a{font-size:14px;color:#fff;text-decoration:none;}
.desktop-footer .footer-logos,.desktop-footer .social-icons{display:flex;justify-content:center;flex-wrap:wrap;gap:15px;margin-bottom:15px;}
.desktop-footer .footer-logos img{max-width:40px;}
.desktop-footer .social-icons img{width:28px;height:28px;}
}

.mobile-nav{position:fixed;bottom:0;left:0;right:0;height:var(--mobile-nav-height);background:#fff;border-top:1px solid #eee;display:none;justify-content:space-around;align-items:center;z-index:9998;box-shadow:0 -5px 20px rgba(0,0,0,.08);}
@media(max-width:991px){.desktop-footer{display:none!important;}.mobile-nav{display:flex;}}
.mobile-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none;font-size:11px;color:#666;flex:1;transition:.2s;}
.mobile-nav svg,.mobile-nav img{width:22px;height:22px;margin-bottom:3px;}
.mobile-nav a.active{color:#001d75;font-weight:600;}
.mobile-nav a.active svg{fill:#001d75;}

.back-to-top{position:fixed;bottom:28px;right:28px;width:48px;height:48px;border:none;border-radius:50%;background:rgba(0,29,117,.56);backdrop-filter:blur(12px);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 25px rgba(0,0,0,.25);z-index:9999;opacity:0;pointer-events:none;transform:translateY(20px);transition:.35s;}
.back-to-top.show{opacity:1;pointer-events:auto;transform:translateY(0);}
.back-to-top:hover{background:rgba(255,255,255,.32);}
@media(max-width:991px){.back-to-top{bottom:calc(var(--mobile-nav-height) + 30px);}}

#pageLoader{position:fixed;inset:0;background:rgba(255,255,255,.75);backdrop-filter:blur(15px);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:10000;opacity:0;visibility:hidden;transition:.4s;}
#pageLoader.active{opacity:1;visibility:visible;}
.loader-progress-bar{position:absolute;top:0;left:0;height:3px;background:linear-gradient(90deg,#001d75,#0052cc);width:0;}
#pageLoader.active .loader-progress-bar{width:75%;animation:progress-wait 2s infinite linear;}
@keyframes progress-wait{0%{width:70%;opacity:1;}50%{width:85%;opacity:.5;}100%{width:70%;opacity:1;}}

.loader-content{width:100px;height:100px;display:flex;align-items:center;justify-content:center;position:relative;}
.main-pulse,.secondary-pulse{position:absolute;width:100%;height:100%;border-radius:50%;background:#001d75;opacity:.15;animation:pulse-out 1.5s infinite ease-out;}
.secondary-pulse{animation-delay:.5s;}
.loader-icon{z-index:2;animation:icon-float 2s infinite;}
.loader-text{margin-top:20px;font-size:13px;color:#001d75;font-weight:500;opacity:.8;}
@keyframes pulse-out{0%{transform:scale(.5);opacity:.5;}100%{transform:scale(1.5);opacity:0;}}
@keyframes icon-float{0%,100%{transform:translateY(0);}50%{transform:translateY(-8px);}}


/* lodding*/
.vue-app-loader {position: fixed;inset: 0;background: #fff;display: flex;align-items: center;justify-content: center;flex-direction: column;opacity: 1;visibility: visible;z-index: 9999;transition: opacity .4s ease, visibility .4s ease;}
.vue-app-loader.hide {opacity: 0;visibility: hidden;}

