/* Vazir removed — the site now uses a single Persian text font (Vazirmatn,
   loaded via assets/vazirmatn/vazirmatn.css) to cut ~340KB of duplicate fonts. */
body { font-family: 'Vazirmatn', sans-serif; transition: background-color 0.3s, color 0.3s; }
html, body {
    overflow-x: hidden; /* جلوگیری از اسکرول عرضی کل صفحه */
    width: 100%;
    margin: 0;
    padding: 0;
    -webkit-overflow-scrolling: touch; /* اسکرول نرم در iOS */
}

*, ::before, ::after {
    box-sizing: border-box; /* جلوگیری از تاثیر پدینگ بر عرض کل */
}

img, video {
    max-width: 100%;
    height: auto;
}
.mega-menu {
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    transform: translateY(10px);
}
.group:hover .mega-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.ir-gradient {
    background: linear-gradient(135deg, #f8faff 0%, #e1e9ff 100%);
}
.domain-box {
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.05);
}
.floating {
    animation: float 5s ease-in-out infinite;
}
@keyframes float {
    0%, 100% { transform: translateY(0px); }
    50% { transform: translateY(-20px); }
}
@keyframes subtle-float {
    0%, 100% { transform: translateY(0) rotate(3deg); }
    50% { transform: translateY(-15px) rotate(5deg); }
}
.animate-subtle-float {
    animation: subtle-float 6s ease-in-out infinite;
}
@keyframes bounce-slow {
    0%, 100% { transform: translateY(0px) rotate(0deg); }
    50% { transform: translateY(-10px) rotate(5deg); }
}
.animate-float {
    animation: float 6s ease-in-out infinite;
}
.animate-bounce-slow {
    animation: bounce-slow 4s ease-in-out infinite;
}
summary::-webkit-details-marker {
    display: none;
}
summary {
    list-style: none;
}
/* ============================================================
 * Design tokens — light-first (was dark; converted so blog / single
 * / forms match the rest of the light site). Single source of truth.
 * ============================================================ */
:root {
    --bg-dark: #ffffff;             /* legacy name, now the light surface */
    --surface-glass: #ffffff;
    --border-glass: #e5e9f1;
    --primary-glow: #2563eb;
    --secondary-glow: #3b82f6;
    --text-main: #0f172a;
    --text-dim: #64748b;
    --accent-gradient: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
}

.blog-dark-wrapper {
    background-color: #f8fafc;
    color: var(--text-main);
}

/* Card surface (was glassmorphism) — clean light panel */
.glass-panel {
    background: var(--surface-glass);
    border: 1px solid var(--border-glass);
    border-radius: 16px;
    box-shadow: 0 1px 2px rgba(16,33,71,.05);
    transition: box-shadow .2s ease, border-color .2s ease;
}

.glass-panel:hover {
    border-color: #cfd8e8;
    box-shadow: 0 6px 18px rgba(16,33,71,.08);
}

/* Headings — solid ink, no neon glow */
.glow-heading {
    color: var(--text-main);
    text-shadow: none;
}

/* Pull-quote — light, brand left rule */
.blog-quote {
    border-right: 4px solid var(--primary-glow);
    background: #f1f5fb;
    color: #334155;
    border-radius: 0 1rem 1rem 0;
}

/* Code block — light neutral surface */
.code-editor {
    background: #0f172a !important;   /* code stays dark for contrast (intentional) */
    border: 1px solid #1e293b;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.04);
    border-radius: 14px;
}

/* Primary action button */
.btn-action {
    background: var(--accent-gradient);
    color: #fff;
    box-shadow: 0 1px 2px rgba(16,33,71,.06);
    transition: transform .18s ease, box-shadow .18s ease;
}
.btn-action:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 22px -10px rgba(37,99,235,.5);
}

/* Form inputs — light */
.glass-input {
    background: #ffffff;
    border: 1px solid var(--border-glass);
    color: var(--text-main);
}
.glass-input:focus {
    border-color: var(--primary-glow);
    background: #ffffff;
    box-shadow: 0 0 0 3px rgba(37,99,235,.12);
    outline: none;
}

/* Accordion — light card */
.glass-accordion {
    background: #ffffff;
    border: 1px solid var(--border-glass);
    border-radius: 16px;
    box-shadow: 0 1px 2px rgba(16,33,71,.05);
    transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}

.glass-accordion[open] {
    background: #ffffff;
    border-color: #cfd8e8;
    box-shadow: 0 10px 26px -16px rgba(16,33,71,.18);
    transform: translateY(-2px);
}

.accordion-icon {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    background: #f1f5fb;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #64748b;
    transition: all 0.3s ease;
}

.glass-accordion[open] .accordion-icon {
    background: #2563eb;
    color: white;
    box-shadow: none;
}

/* No neon text glow on light */
.text-shadow-glow {
    text-shadow: none;
}

/* حذف مارکر پیش‌فرض مرورگر */
summary::-webkit-details-marker {
    display: none;
}
/* استایل کارت‌های شیشه‌ای */
.glass-card {
    background: #ffffff;
    border: 1px solid #e5e9f1;
    border-radius: 16px;
    box-shadow: 0 1px 2px rgba(16,33,71,.05);
}

/* استایل ورودی‌های فرم */
.contact-input {
    width: 100%;
    padding: 14px 18px;
    background: #ffffff;
    border: 1px solid #e5e9f1;
    border-radius: 12px;
    color: #0f172a;
    outline: none;
    transition: border-color .15s ease, box-shadow .15s ease;
}

.contact-input:focus {
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37,99,235,.12);
}

.contact-input::placeholder {
    color: #94a3b8;
}

/* استایل Select — هماهنگ با تم روشن */
select option {
    background: #ffffff;
    color: #0f172a;
}
/* کارت شیشه‌ای روشن */
.light-glass-card {
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 1);
    border-radius: 28px;
}

/* استایل ورودی‌های فرم در حالت روشن */
.light-input {
    width: 100%;
    padding: 16px 20px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    color: #1e293b;
    outline: none;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.light-input:focus {
    background: #ffffff;
    border-color: #3b82f6;
    box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.1);
}

.light-input::placeholder {
    color: #94a3b8;
}

/* استایل Select */
select option {
    background: white;
    color: #1e293b;
}

/* ============================================================
 * v3.6.0 — Branded preloader (Global Web)
 * Full-screen on-brand loader shown while body.afagh-loading is
 * present (removed by afagh-notify.js on load, 4s safety cap).
 * Pure CSS, fades + scales out. Honors reduced-motion.
 * ============================================================ */
/* v4.2.4 — Advanced premium loader: dual counter-rotating conic rings + glowing
 * orbit dot + logo glow-pulse + shimmer wordmark + a REAL progress bar driven by
 * rAF (0%→100%, eased, 60fps, tabular percent counter, light-sheen). GPU
 * transforms only. Honors reduced-motion. */
#afagh-preloader{
	position:fixed; inset:0; z-index:99999;
	display:flex; flex-direction:column; align-items:center; justify-content:center; gap:22px;
	background:
		radial-gradient(820px 480px at 50% 36%, rgba(37,99,235,.13), transparent 62%),
		radial-gradient(520px 420px at 50% 118%, rgba(59,130,246,.08), transparent 60%),
		#f7f9fd;
	opacity:1; visibility:visible;
	transition:opacity .5s ease, visibility 0s linear .5s;
}
/* fade out the moment the loading flag is cleared */
body:not(.afagh-loading) #afagh-preloader{
	opacity:0; visibility:hidden; pointer-events:none;
	transition:opacity .5s ease, visibility 0s linear .5s;
}
body:not(.afagh-loading) #afagh-preloader .afagh-pre-stage{ transform:scale(.9); }

.afagh-pre-stage{
	position:relative; width:126px; height:126px;
	display:flex; align-items:center; justify-content:center;
	transition:transform .5s cubic-bezier(.22,1,.36,1);
}
/* outer rotating ring */
.afagh-pre-ring{
	position:absolute; inset:0; border-radius:50%;
	background:conic-gradient(from 0deg, transparent 0 6%, #60a5fa 52%, #2563eb 82%, #1d4ed8 96%, transparent 100%);
	-webkit-mask:radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 3px));
	        mask:radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 3px));
	animation:afagh-pre-spin 1.5s cubic-bezier(.65,.1,.35,.9) infinite;
	filter:drop-shadow(0 6px 16px rgba(37,99,235,.28));
}
/* inner counter-rotating ring */
.afagh-pre-ring2{
	position:absolute; inset:15px; border-radius:50%;
	background:conic-gradient(from 200deg, transparent 0 58%, #93c5fd 82%, #3b82f6 100%);
	-webkit-mask:radial-gradient(farthest-side, transparent calc(100% - 2px), #000 calc(100% - 2px));
	        mask:radial-gradient(farthest-side, transparent calc(100% - 2px), #000 calc(100% - 2px));
	animation:afagh-pre-spin-r 2.6s linear infinite; opacity:.85;
}
/* glowing dot orbiting on the outer ring */
.afagh-pre-orbit{ position:absolute; inset:0; border-radius:50%; animation:afagh-pre-spin 1.5s linear infinite; }
.afagh-pre-orbit::before{
	content:""; position:absolute; top:-3px; left:50%; transform:translateX(-50%);
	width:9px; height:9px; border-radius:50%; background:#2563eb;
	box-shadow:0 0 14px 3px rgba(37,99,235,.55);
}
/* logo tile */
.afagh-pre-badge{
	position:relative; width:66px; height:66px; border-radius:20px;
	background:#ffffff; border:1px solid #e8edf6;
	display:flex; align-items:center; justify-content:center;
	box-shadow:0 14px 32px -12px rgba(37,99,235,.32), inset 0 1px 0 rgba(255,255,255,.7);
	animation:afagh-pre-pulse 2s ease-in-out infinite;
}
.afagh-pre-logo{ width:42px; height:42px; display:block; }
.afagh-pre-brand{
	font-weight:900; font-size:19px; letter-spacing:.6px;
	background:linear-gradient(90deg,#1d4ed8,#3b82f6,#93c5fd,#3b82f6,#1d4ed8);
	background-size:200% auto; -webkit-background-clip:text; background-clip:text;
	color:transparent; -webkit-text-fill-color:transparent;
	animation:afagh-pre-shimmer 2.4s linear infinite;
}
.afagh-pre-track{
	position:relative; width:230px; height:5px; border-radius:999px; overflow:hidden;
	background:#e6ebf4; box-shadow:inset 0 1px 2px rgba(16,33,71,.06);
}
.afagh-pre-bar{
	position:absolute; inset:0; border-radius:999px;
	transform-origin:left center; transform:scaleX(0); will-change:transform;
	background:linear-gradient(90deg,#1d4ed8,#3b82f6,#60a5fa);
}
.afagh-pre-bar::after{
	content:""; position:absolute; inset:0; border-radius:999px;
	background:linear-gradient(90deg, transparent, rgba(255,255,255,.55), transparent);
	transform:translateX(-100%); animation:afagh-pre-sheen 1.4s ease-in-out infinite;
}
.afagh-pre-pct{
	font-size:13px; font-weight:800; color:#1e3a8a; letter-spacing:.5px;
	font-variant-numeric:tabular-nums;
}
@keyframes afagh-pre-spin{ to{ transform:rotate(360deg); } }
@keyframes afagh-pre-spin-r{ to{ transform:rotate(-360deg); } }
@keyframes afagh-pre-pulse{
	0%,100%{ transform:scale(1);    box-shadow:0 14px 30px -12px rgba(37,99,235,.28), inset 0 1px 0 rgba(255,255,255,.7); }
	50%    { transform:scale(1.06); box-shadow:0 20px 40px -10px rgba(37,99,235,.45), inset 0 1px 0 rgba(255,255,255,.7); }
}
@keyframes afagh-pre-shimmer{ to{ background-position:200% center; } }
@keyframes afagh-pre-sheen{ 0%{ transform:translateX(-100%); } 60%,100%{ transform:translateX(230px); } }
@media (prefers-reduced-motion:reduce){
	.afagh-pre-ring, .afagh-pre-ring2, .afagh-pre-orbit, .afagh-pre-badge, .afagh-pre-brand{ animation:none; }
	.afagh-pre-bar::after{ animation:none; display:none; }
	.afagh-pre-bar{ transform:scaleX(1); }
}
