/* ============================================================
   BIM BANG — Unified Theme Stylesheet
   ============================================================ */

/* ---------- Color tokens (Dark = default) ---------- */
:root{
    --bg: oklch(12% 0.02 250);
    --surface: oklch(18% 0.03 245);
    --surface-2: oklch(22% 0.025 245);
    --border: oklch(30% 0.03 240);
    --text: oklch(94% 0.01 240);
    --muted: oklch(65% 0.02 240);

    --nav-bg: oklch(18% 0.025 240 / .75);
    --menu-bg: oklch(18% 0.025 240 / .95);
    --footer-bg: oklch(18% 0.025 240 / .75);
    --card-bg: oklch(30% 0.03 240 / .18);
    --card-bg-2: oklch(22% 0.025 245 / .55);
    --card-border: oklch(100% 0 0 / .08);
    --input-bg: oklch(28% 0.025 240 / .6);
    --modal-bg: oklch(20% 0.03 240 / .97);
    --info-card-bg: oklch(20% 0.03 240 / .95);
    --icon-badge-bg: oklch(28% 0.1 255 / .5);

    --star-opacity: 1;
    --nebula-opacity: 1;

    /* رنگ ثابت برند - تغییر نکند */
    --accent: #1800ac;
    --accent-hi: #4a63ff;
    --accent-lo: #12008a;

    --neb1: oklch(45% 0.16 300 / .16);
    --neb2: oklch(55% 0.16 200 / .14);
    --neb3: oklch(50% 0.18 340 / .10);
}

/* ---------- Light theme override ---------- */
html[data-theme="light"]{
    --bg: oklch(97% 0.004 240);
    --surface: oklch(100% 0 0);
    --surface-2: oklch(98% 0.003 240);
    --border: oklch(88% 0.01 240);
    --text: oklch(22% 0.02 245);
    --muted: oklch(45% 0.02 240);

    --nav-bg: oklch(100% 0 0 / .8);
    --menu-bg: oklch(100% 0 0 / .97);
    --footer-bg: oklch(100% 0 0 / .85);
    --card-bg: oklch(100% 0 0 / .7);
    --card-bg-2: oklch(100% 0 0 / .9);
    --card-border: oklch(0% 0 0 / .08);
    --input-bg: oklch(100% 0 0 / .9);
    --modal-bg: oklch(100% 0 0 / .98);
    --info-card-bg: oklch(100% 0 0 / .97);
    --icon-badge-bg: oklch(94% 0.03 255 / .8);

    --star-opacity: 0;
    --nebula-opacity: .35;

    --neb1: oklch(80% 0.08 300 / .12);
    --neb2: oklch(85% 0.08 200 / .10);
    --neb3: oklch(80% 0.09 340 / .08);
}

/* transition نرم بین دو تم */
html{ transition: background-color .35s ease; }
body, .dark-card, .team-card, .form-input, .dim-input,
.floating-nav, .info-card, .dim-modal-box, .theme-toggle{
    transition: background-color .35s ease, color .35s ease, border-color .35s ease;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html,body{height:100%;}
body{
    font-family:'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
    background:var(--bg);
    color:var(--text);
    overflow-x:hidden;
}

/* ---------- Stars + Nebula ---------- */
body::before, body::after, .bg-nebula{content:'';position:fixed;inset:0;pointer-events:none;z-index:0;}
body::before{
    opacity:var(--star-opacity);
    background:
        radial-gradient(1.6px 1.6px at 12% 8%,  oklch(95% 0 0 / .6), transparent),
        radial-gradient(1px 1px at 34% 22%,  oklch(95% 0 0 / .40), transparent),
        radial-gradient(1.6px 1.6px at 58% 14%,  oklch(95% 0 0 / .55), transparent),
        radial-gradient(1px 1px at 76% 38%,  oklch(95% 0 0 / .35), transparent),
        radial-gradient(1.6px 1.6px at 88% 6%,  oklch(95% 0 0 / .5), transparent),
        radial-gradient(1px 1px at 22% 55%,  oklch(95% 0 0 / .30), transparent),
        radial-gradient(1.6px 1.6px at 45% 70%,  oklch(95% 0 0 / .45), transparent),
        radial-gradient(1px 1px at 67% 82%,  oklch(95% 0 0 / .35), transparent),
        radial-gradient(1.6px 1.6px at 90% 65%,  oklch(95% 0 0 / .55), transparent),
        radial-gradient(1px 1px at 5% 90%,  oklch(95% 0 0 / .30), transparent),
        radial-gradient(1.2px 1.2px at 15% 40%,  oklch(95% 0 0 / .30), transparent),
        radial-gradient(1.2px 1.2px at 63% 30%,  oklch(95% 0 0 / .35), transparent),
        radial-gradient(1.2px 1.2px at 80% 90%,  oklch(95% 0 0 / .30), transparent),
        radial-gradient(1.2px 1.2px at 30% 85%,  oklch(95% 0 0 / .30), transparent);
    animation: twinkle 7s ease-in-out infinite;
    transition: opacity .35s ease;
}
.bg-nebula{
    opacity:var(--nebula-opacity);
    background:
        radial-gradient(circle at 18% 22%, var(--neb1), transparent 45%),
        radial-gradient(circle at 82% 18%, var(--neb2), transparent 50%),
        radial-gradient(circle at 65% 85%, var(--neb3), transparent 50%),
        radial-gradient(circle at 30% 75%, oklch(55% 0.12 230 / .10), transparent 45%);
    filter:blur(2px);
    animation: nebulaDrift 40s ease-in-out infinite alternate;
    transition: opacity .35s ease;
}
body::after{
    background:
        radial-gradient(circle at 20% 20%, oklch(62% 0.14 220 / .08), transparent 40%),
        radial-gradient(circle at 80% 70%, oklch(62% 0.14 220 / .06), transparent 45%);
    opacity:var(--star-opacity);
}
@keyframes twinkle{0%,100%{opacity:.7}50%{opacity:1}}
@keyframes nebulaDrift{0%{transform:scale(1) translate(0,0);}100%{transform:scale(1.08) translate(-1.5%,1.5%);}}

/* ============================================================
   Navbar (مشترک بین همه صفحات)
   ============================================================ */
.topnav, .topnav-idx{
    position:relative;z-index:60;
    background:var(--nav-bg);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    border-bottom:1px solid var(--border);
}
.topnav a, .topnav-idx a{ color:var(--muted); transition:color .2s; }
.topnav a:hover, .topnav-idx a:hover{ color:var(--accent-hi); }
.topnav .site-name, .topnav-idx .font-black{
    color:var(--text) !important; font-weight:900; font-size:1.1rem;
    letter-spacing:-.01em; text-decoration:none;
}
.topnav .btn-join, .topnav-idx a.bg-blue-700{
    background:var(--accent) !important; color:#fff !important;
    padding:6px 16px; border-radius:8px; font-weight:700; font-size:.85rem;
    transition:background .2s;
}
.topnav .btn-join:hover, .topnav-idx a.bg-blue-700:hover{ background:var(--accent-lo) !important; }
.topnav .active-link{ color:var(--accent-hi) !important; font-weight:700; }
.topnav-idx a.text-gray-600, .topnav-idx a.text-gray-700{ color:var(--muted) !important; }
.topnav-idx a.text-gray-600:hover, .topnav-idx a.text-gray-700:hover{ color:var(--accent-hi) !important; }

#mobileMenu{ background:var(--menu-bg) !important; border-top:1px solid var(--border) !important; }
.nav-menu{ display:none; }
.nav-menu.open{ display:flex; }

.lang-switch{ border-color:var(--border) !important; }
.lang-switch a.active{ background:var(--accent) !important; color:#fff !important; }
.lang-switch a:not(.active){ color:var(--muted) !important; }
.lang-switch a:not(.active):hover{ color:var(--accent-hi) !important; }

/* ---------- دکمه تغییر تم ---------- */
.theme-toggle{
    width:38px;height:38px;border-radius:50%;
    border:1px solid var(--border);
    background:var(--surface-2);
    color:var(--muted);
    display:inline-flex;align-items:center;justify-content:center;
    cursor:pointer;font-size:.85rem;flex-shrink:0;
}
.theme-toggle:hover{ color:var(--accent-hi); border-color:var(--accent-hi); transform:translateY(-2px); }
.theme-toggle .ti-light{ display:none; }
html[data-theme="light"] .theme-toggle .ti-dark{ display:none; }
html[data-theme="light"] .theme-toggle .ti-light{ display:inline-block; }
.theme-toggle.theme-toggle-mobile{ width:100%;border-radius:10px;justify-content:flex-start;gap:8px;padding:10px 14px;font-size:.85rem;font-weight:600; }

/* ============================================================
   نوار شناور دسته‌بندی (فقط صفحه اصلی)
   ============================================================ */
.floating-nav-wrap{
    position:fixed;top:14px;left:50%;
    transform:translateX(-50%) translateY(-140%);
    z-index:200;opacity:0;pointer-events:none;
    transition:transform .35s cubic-bezier(.4,0,.2,1), opacity .35s ease;
}
.floating-nav-wrap.show{transform:translateX(-50%) translateY(0);opacity:1;pointer-events:auto;}
.floating-nav{
    display:flex;align-items:center;gap:4px;
    background:oklch(0.21 0.04 255.4);
    backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
    border:1px solid oklch(100% 0 0 / .08);
    border-radius:999px;padding:6px;
    box-shadow:0 12px 32px oklch(0% 0 0 / .45);
    max-width:92vw;overflow-x:auto;scrollbar-width:none;
}
html[data-theme="light"] .floating-nav{
    background:oklch(100% 0 0 / .95);
    box-shadow:0 12px 32px oklch(0% 0 0 / .18);
    border-color:oklch(0% 0 0 / .06);
}
.floating-nav::-webkit-scrollbar{display:none;}
.floating-nav a{
    position:relative;display:inline-flex;align-items:center;white-space:nowrap;
    padding:10px 20px;border-radius:999px;
    font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
    color:oklch(1 0 0 / 0.72);text-decoration:none;
    transition:background .25s ease,color .25s ease;
}
html[data-theme="light"] .floating-nav a{ color:oklch(0.3 0.02 250 / .75); }
.floating-nav a:hover{color:#fff;}
html[data-theme="light"] .floating-nav a:hover{ color:#000; }
.floating-nav a.active{background:#fff;color:#2a1a12;}

/* ============================================================
   Hero (صفحه اصلی - Glass Planet)
   ============================================================ */
@keyframes heroEntrance{0%{opacity:0;transform:translateY(-30px) scale(.96);}100%{opacity:1;transform:translateY(0) scale(1);}}
.hero-logo{
    position:relative;z-index:20;text-align:start;padding:10px 40px;overflow:hidden;
    background:rgb(4 25 126);
    backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%);
    animation:heroEntrance 1.1s cubic-bezier(.16,1,.3,1) forwards;
    width: 40%;
}
@media (max-width:768px){.hero-logo{ width: unset; }}
.hero-logo-inner{line-height:.85;display:flex;flex-direction:column;align-items:start;justify-content:start;}
.hero-line{display:block;font-size:clamp(3rem,11vw,7.5rem);font-weight:900;letter-spacing:-.02em;color:#ffffff;text-transform:uppercase;text-shadow:0 4px 24px rgba(0,0,0,.6),0 0 40px rgba(74,99,255,.4);}
.hero-sub{font-size:clamp(.9rem,2vw,1.15rem);font-weight:700;color:white;text-shadow:0 2px 8px rgba(0,0,0,.5);}
.hero-tag{font-size:.7rem;letter-spacing:.25em;color:white;margin-top:6px;text-transform:uppercase;font-weight:600;}

/* ---------- Hero (صفحات About/Contact) ---------- */
.about-hero{position:relative;z-index:10;padding:72px 20px 56px;text-align:center;}
.about-hero h1{font-size:clamp(2.2rem,7vw,4rem);font-weight:900;color:var(--text);letter-spacing:-.02em;line-height:1.1;margin-bottom:14px;}
.about-hero h1 span{color:var(--accent-hi);}
.about-hero p{color:var(--muted);font-size:clamp(.9rem,2vw,1.1rem);font-weight:500;}

/* ---------- Breadcrumb ---------- */
.breadcrumb{position:relative;z-index:10;max-width:75rem;margin:0 auto;padding:0 1rem 12px;font-size:.72rem;color:var(--muted);display:flex;align-items:center;gap:6px;}
.breadcrumb a{color:var(--muted);text-decoration:none;transition:color .2s;}
.breadcrumb a:hover{color:var(--accent-hi);}
.breadcrumb span:last-child{color:var(--text);font-weight:600;}

/* ============================================================
   Scene / Orbit system (صفحه اصلی)
   ============================================================ */
:root{ --tilt-deg:-24; --ellipse-ratio:.44; }
.scene-wrap{position:relative;width:100%;height:68vh;min-height:480px;overflow:hidden;perspective:1600px;}
.scene{position:absolute;inset:0;z-index:10;}
.empty-state{position:relative;z-index:10;text-align:center;color:var(--muted);padding:80px 20px;}
.orbit-system{position:absolute;inset:0;transform-origin:50% 50%;}
.orbit-ring{position:absolute;top:50%;left:50%;border-radius:50%;border:1px dashed oklch(62% 0.14 220 / .16);pointer-events:none;transform:translate(-50%,-50%) rotate(calc(var(--tilt-deg) * 1deg));z-index:6;}

.core{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:var(--core-size,136px);height:var(--core-size,136px);border-radius:50%;
    background:radial-gradient(circle at 32% 26%, var(--accent), oklch(12% 0.02 250) 72%);
    box-shadow:0 0 0 2px var(--accent),0 0 0 5px rgba(24,0,172,.2),0 0 40px rgba(24,0,172,.35),inset 0 0 28px oklch(0% 0 0 / .5);
    z-index:20;display:flex;align-items:center;justify-content:center;animation:corePulse 4s ease-in-out infinite;}
.core span{color:#ffffff;font-weight:800;font-size:.85rem;letter-spacing:.12em;text-align:center;line-height:1.3;text-shadow:0 0 12px rgba(255,255,255,.6);}
@keyframes corePulse{
    0%,100%{box-shadow:0 0 0 2px var(--accent),0 0 0 5px rgba(24,0,172,.2),0 0 40px rgba(24,0,172,.35),inset 0 0 28px oklch(0% 0 0 / .5);}
    50%{box-shadow:0 0 0 2px #2a0fd6,0 0 0 9px rgba(24,0,172,.3),0 0 65px rgba(24,0,172,.6),inset 0 0 28px oklch(0% 0 0 / .5);}
}

.shockwave{position:absolute;top:50%;left:50%;width:20px;height:20px;border-radius:50%;border:2px solid var(--accent-hi);transform:translate(-50%,-50%) scale(0);opacity:1;pointer-events:none;z-index:15;animation:shockOut 1.1s cubic-bezier(.16,.84,.44,1) forwards;}
@keyframes shockOut{to{transform:translate(-50%,-50%) scale(40);opacity:0;}}

.body-anchor{position:absolute;top:50%;left:50%;opacity:0;transition:opacity .7s ease;}
.body-anchor.in{opacity:1;}
.planet-inner{position:relative;cursor:pointer;}

.sphere{border-radius:50%;position:relative;flex-shrink:0;overflow:hidden;z-index:2;display:flex;align-items:center;justify-content:center;transition:transform .3s cubic-bezier(.34,1.56,.64,1), box-shadow .3s ease;}
.sphere::before{content:'';position:absolute;inset:-20%;background:conic-gradient(from 210deg,hsl(var(--hue,220) 75% 60%),hsl(calc(var(--hue,220) + 35) 70% 42%),hsl(calc(var(--hue,220) - 15) 65% 30%),hsl(calc(var(--hue,220) + 20) 72% 50%),hsl(var(--hue,220) 75% 60%));animation:swirl 14s linear infinite;opacity:.9;}
.sphere::after{content:'';position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 30% 24%, oklch(100% 0 0 / .85), transparent 32%),radial-gradient(circle at 70% 78%, oklch(0% 0 0 / .35), transparent 55%);box-shadow:inset -10px -12px 24px oklch(0% 0 0 / .55),inset 4px 6px 14px oklch(100% 0 0 / .14),0 0 0 1px oklch(100% 0 0 / .08),0 6px 22px oklch(0% 0 0 / .45);pointer-events:none;}
@keyframes swirl{to{transform:rotate(360deg);}}
.sphere i{color:oklch(98% 0.01 240);position:relative;z-index:2;filter:drop-shadow(0 1px 4px oklch(0% 0 0 / .7));transition:transform .3s ease;}

.planet-sphere{width:var(--planet-size,100px);height:var(--planet-size,100px);}
.planet-sphere .planet-abr{font-size:calc(var(--planet-size,100px) * .26);font-weight:900;color:#fff;position:relative;z-index:2;text-shadow:0 1px 6px oklch(0% 0 0 / .7);letter-spacing:.02em;}
.planet-inner .sphere.planet-sphere::before{background:var(--planet-gradient, conic-gradient(from 210deg,#0026e0,var(--accent),#0a0060,#0033ff,#0026e0)) !important;opacity:.95;}
.planet-inner .sphere.planet-sphere::after{background:radial-gradient(circle at 30% 24%, oklch(0% 0 0 / .15), transparent 32%),radial-gradient(circle at 70% 78%, rgba(10,0,60,.45), transparent 55%) !important;}
.planet-inner:hover .planet-sphere{transform:scale(1.14) translateY(-4px);box-shadow:0 10px 34px rgba(24,0,172,.55);}
.planet-inner:hover .planet-sphere i{transform:scale(1.1);}
.planet-inner.active .planet-sphere{transform:scale(1.14) translateY(-4px);box-shadow:0 0 0 3px var(--accent),0 10px 34px rgba(24,0,172,.6);}

.planet-label{position:absolute;top:50%;transform:translateY(-50%);pointer-events:none;max-width:150px;background:oklch(14% 0.02 250 / .55);border-radius:8px;padding:3px 8px;z-index:6;}
html[data-theme="light"] .planet-label{ background:oklch(100% 0 0 / .8); box-shadow:0 2px 8px oklch(0% 0 0 / .1); }
.planet-label.side-right{left:calc(100% + 14px);text-align:left;}
.planet-label.side-left{right:calc(100% + 14px);text-align:right;}
.planet-label.pos-bottom{top:calc(100% + 12px);left:50%;right:auto;transform:translateX(-50%);text-align:center;max-width:170px;}
.planet-id{font-size:1.35rem;font-weight:900;color:var(--accent-hi);margin-bottom:2px;text-shadow:0 0 12px rgba(24,0,172,.45);}
.planet-title{font-size:.58rem;font-weight:700;color:var(--text);text-transform:uppercase;letter-spacing:.01em;line-height:1.25;white-space:normal;}

.moon-slot{position:absolute;top:50%;left:50%;z-index:5;}
.moon-label{position:absolute;top:50%;transform:translateY(-50%);pointer-events:none;max-width:110px;background:oklch(14% 0.02 250 / .5);border-radius:6px;padding:2px 6px;}
html[data-theme="light"] .moon-label{ background:oklch(100% 0 0 / .8); }
.moon-label.side-right{left:calc(100% + 8px);text-align:left;}
.moon-label.side-left{right:calc(100% + 8px);text-align:right;}
.moon-label.pos-top{bottom:calc(100% + 8px);top:auto;left:50%;right:auto;transform:translateX(-50%);text-align:center;max-width:120px;}
.moon-title{font-size:.56rem;font-weight:700;color:var(--text);text-transform:uppercase;letter-spacing:.01em;line-height:1.25;white-space:normal;}
.moon-sphere{width:var(--moon-size,44px);height:var(--moon-size,44px);cursor:pointer;}
.moon-sphere::before{animation-duration:9s;}
.moon-sphere .moon-abr{font-size:calc(var(--moon-size,44px) * .3);font-weight:900;color:#fff;position:relative;z-index:2;text-shadow:0 1px 4px oklch(0% 0 0 / .7);}
.moon-slot:hover .moon-sphere{transform:scale(1.25);box-shadow:0 0 0 2px hsl(var(--hue,215) 60% 75%),0 4px 16px hsl(var(--hue,215) 60% 60% / .55);}
.moon-slot.active .moon-sphere{transform:scale(1.25);box-shadow:0 0 0 2px hsl(var(--hue,215) 60% 75%),0 4px 16px hsl(var(--hue,215) 60% 60% / .55);}

.particle{position:absolute;top:50%;left:50%;width:3px;height:3px;border-radius:50%;background:var(--accent-hi);opacity:.6;box-shadow:0 0 5px 1px rgba(24,0,172,.5);animation:particleFly 2.8s ease-out forwards;pointer-events:none;}
@keyframes particleFly{0%{transform:translate(-50%,-50%) scale(1);opacity:.7;}100%{transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(0);opacity:0;}}

@media (max-width:900px){ .planet-title{font-size:.62rem;} }

/* ---------- Halo ---------- */
.planet-halo{position:absolute;top:50%;left:50%;width:calc(var(--planet-size,100px) * 1.6);height:calc(var(--planet-size,100px) * .42);transform:translate(-50%,-50%) rotate(-20deg);border-radius:50%;border:calc(var(--planet-size,100px) * .032) solid var(--halo-color,#4a63ff);pointer-events:none;box-shadow:0 0 calc(var(--planet-size,100px) * .10) var(--halo-color,#4a63ff),0 0 calc(var(--planet-size,100px) * .22) color-mix(in srgb, var(--halo-color,#4a63ff) 55%, transparent);}
.planet-halo-back{z-index:1;opacity:.5;filter:blur(1px);}
.planet-halo-front{z-index:3;opacity:.9;filter:blur(.4px);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,transparent 36%,rgba(0,0,0,.5) 46%,black 56%,black 100%);mask-image:linear-gradient(to bottom,transparent 0%,transparent 36%,rgba(0,0,0,.5) 46%,black 56%,black 100%);}

/* ============================================================
   Info card (پاپ‌آپ سیاره/ماه)
   ============================================================ */
.info-card{position:fixed;z-index:70;width:min(320px,86vw);max-height:70vh;overflow:auto;background:var(--info-card-bg);backdrop-filter:blur(14px);border:1px solid var(--border);border-radius:16px;padding:18px 20px 20px;box-shadow:0 14px 40px oklch(0% 0 0 / .5);opacity:0;transform:translateY(6px) scale(.98);pointer-events:none;transition:opacity .18s ease, transform .18s ease;}
.info-card.open{opacity:1;transform:translateY(0) scale(1);pointer-events:auto;}
.info-card .ic-close{position:absolute;top:10px;right:12px;background:none;border:none;color:var(--muted);font-size:.9rem;cursor:pointer;}
.info-card .ic-close:hover{color:var(--text);}
.info-card .ic-abr{display:inline-block;font-size:.68rem;font-weight:800;color:var(--accent-hi);border:1px solid var(--accent);border-radius:999px;padding:2px 10px;margin-bottom:8px;}
.info-card h3{font-size:1.02rem;font-weight:900;color:var(--text);margin-bottom:6px;padding-right:16px;}
.info-card p.ic-desc{color:var(--muted);font-size:.8rem;line-height:1.6;margin-bottom:14px;}
.ic-pages{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px;}
.ic-page{display:flex;align-items:center;gap:7px;background:var(--surface-2);border:1px solid var(--border);border-radius:9px;padding:5px 10px;text-decoration:none;font-size:.72rem;color:var(--text);font-weight:600;transition:.2s;}
.ic-page:hover{background:var(--accent-lo);border-color:var(--accent-hi);color:#fff;}
.ic-page .ptype{width:20px;height:20px;border-radius:6px;display:flex;align-items:center;justify-content:center;background:rgba(24,0,172,.18);color:var(--accent-hi);font-size:9px;flex-shrink:0;}
.ic-empty{color:var(--muted);font-size:.72rem;margin-bottom:14px;}
.ic-link{display:inline-flex;align-items:center;gap:7px;background:var(--accent);color:#fff;padding:8px 16px;border-radius:9px;font-size:.76rem;font-weight:700;text-decoration:none;transition:.2s;}
.ic-link:hover{background:var(--accent-lo);}

/* ============================================================
   Stats / Partners
   ============================================================ */
.stats-section{position:relative;z-index:10;margin:40px auto;padding:24px 32px;max-width:1100px;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:4px;background:var(--card-bg);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);border:1px solid var(--card-border);border-radius:18px;}
.stat-card{background:transparent;padding:18px 12px;text-align:center;opacity:0;transform:translateY(24px);transition:opacity .6s ease, transform .6s ease;}
.stat-card.in-view{opacity:1;transform:translateY(0);}
.stat-card i{font-size:18px;color:var(--accent-hi);margin-bottom:8px;display:block;}
.stat-card .num{font-size:1.7rem;font-weight:800;background:linear-gradient(135deg, var(--accent-hi), var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.stat-card .lbl{font-size:.72rem;color:var(--muted);margin-top:4px;font-weight:500;}

.partners-section{position:relative;z-index:10;margin:24px auto;padding:20px 28px;max-width:1100px;background:var(--card-bg);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);border:1px solid var(--card-border);border-radius:18px;}
.partners-section h2{text-align:center;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:18px;font-weight:700;}
.marquee{overflow:hidden;position:relative;}
.marquee-track{display:flex;gap:56px;width:max-content;animation:marqueeScroll 34s linear infinite;}
.marquee:hover .marquee-track{animation-play-state:paused;}
@keyframes marqueeScroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.partner-item{display:flex;align-items:center;justify-content:center;height:64px;flex-shrink:0;filter:grayscale(1) opacity(.55);transition:filter .3s ease, transform .3s ease;text-decoration:none;}
.partner-item:hover{filter:grayscale(0) opacity(1);transform:translateY(-3px) scale(1.05);}
.partner-item img{max-height:100%;max-width:140px;object-fit:contain;}
.partner-item .no-logo{font-size:.85rem;font-weight:800;color:var(--muted);white-space:nowrap;}

/* ============================================================
   Contact / Newsletter section (صفحه اصلی)
   ============================================================ */
.dim-contact-section{position:relative;z-index:10;margin:24px auto;padding:28px 28px 32px;max-width:1100px;background:var(--card-bg);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);border:1px solid var(--card-border);border-radius:18px;}
.dim-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:26px;}
@media (max-width:760px){.dim-contact-grid{grid-template-columns:1fr;}}
.dim-contact-card{border:1px solid var(--border);border-radius:14px;padding:22px;background:var(--card-bg-2);display:flex;flex-direction:column;gap:10px;}
.dim-contact-card .ic-label{display:flex;align-items:center;gap:8px;color:var(--accent-hi);font-size:.68rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;}
.dim-contact-card h3{font-size:1.15rem;font-weight:900;color:var(--text);}
.dim-contact-card p{font-size:.82rem;color:var(--muted);line-height:1.6;}
.dim-contact-btn{margin-top:6px;align-self:flex-start;background:var(--accent);color:#fff;border:none;cursor:pointer;padding:10px 20px;border-radius:9px;font-size:.76rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;transition:.2s;}
.dim-contact-btn:hover{background:var(--accent-lo);}
.dim-social-row{display:flex;justify-content:center;gap:10px;}
.dim-social-btn{width:44px;height:44px;border-radius:12px;background:var(--accent);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px;transition:.2s;}
.dim-social-btn:hover{background:var(--accent-hi);transform:translateY(-2px);}

.dim-modal{position:fixed;inset:0;z-index:100;background:oklch(0% 0 0 / .55);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:16px;}
.dim-modal.hidden{display:none;}
.dim-modal-box{position:relative;width:100%;max-width:440px;background:var(--modal-bg);border:1px solid var(--border);border-radius:18px;padding:28px;box-shadow:0 20px 60px oklch(0% 0 0 / .55);}
.dim-modal-close{position:absolute;top:14px;right:16px;background:none;border:none;color:var(--muted);font-size:1rem;cursor:pointer;}
.dim-modal-close:hover{color:var(--text);}
.dim-input{width:100%;background:var(--input-bg);border:1px solid var(--border);border-radius:9px;padding:10px 14px;font-size:.82rem;color:var(--text);outline:none;}
.dim-input::placeholder{color:var(--muted);}
.dim-input:focus{border-color:var(--accent-hi);}
.dim-msg-ok{margin-bottom:14px;padding:10px 14px;border-radius:9px;font-size:.78rem;background:oklch(45% 0.12 150 / .18);border:1px solid oklch(55% 0.14 150 / .5);color:oklch(60% 0.1 150);}
html[data-theme="light"] .dim-msg-ok{ color:oklch(35% 0.1 150); }

/* ============================================================
   Cards / Prose (About / Contact)
   ============================================================ */
.about-main{position:relative;z-index:10;max-width:68rem;margin:0 auto;padding:0 1rem 80px;display:flex;flex-direction:column;gap:40px;}
.dark-card{background:var(--card-bg);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);border:1px solid var(--card-border);border-radius:18px;padding:32px;}
.icon-badge{width:40px;height:40px;border-radius:10px;background:var(--icon-badge-bg);border:1px solid var(--card-border);display:flex;align-items:center;justify-content:center;margin-bottom:16px;color:var(--accent-hi);font-size:1rem;flex:none;}
.card-title{font-size:1rem;font-weight:900;color:var(--text);margin-bottom:12px;letter-spacing:.01em;}
.section-label{font-size:.68rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--accent-hi);margin-bottom:8px;display:block;}

.prose{line-height:1.8;font-size:.875rem;color:var(--muted);}
.prose h1,.prose h2,.prose h3{font-weight:800;color:var(--text);margin-bottom:.4rem;}
.prose p{margin-bottom:1rem;}
.prose ul{list-style:disc;padding-left:1.2rem;margin-bottom:1rem;}
.prose ol{list-style:decimal;padding-left:1.2rem;margin-bottom:1rem;}

.mv-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
@media (max-width:640px){.mv-grid{grid-template-columns:1fr;}}

.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px;}
.team-card{background:var(--card-bg-2);border:1px solid var(--border);border-radius:14px;padding:24px 20px;display:flex;flex-direction:column;align-items:center;text-align:center;transition:border-color .2s, transform .2s;}
.team-card:hover{border-color:var(--accent-hi);transform:translateY(-3px);}
.team-avatar{width:72px;height:72px;border-radius:50%;object-fit:cover;margin-bottom:14px;box-shadow:0 0 0 3px oklch(100% 0 0 / .06),0 0 0 6px oklch(100% 0 0 / .04);}
.team-avatar-placeholder{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg, var(--accent), var(--accent-hi));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:900;font-size:1.5rem;margin-bottom:14px;box-shadow:0 0 0 3px oklch(100% 0 0 / .06),0 6px 20px oklch(0% 0 0 / .4);}
.team-name{font-weight:800;font-size:.92rem;color:var(--text);margin-bottom:4px;}
.team-role{font-size:.72rem;font-weight:700;color:var(--accent-hi);margin-bottom:8px;text-transform:uppercase;letter-spacing:.08em;}
.team-bio{font-size:.75rem;color:var(--muted);line-height:1.6;}

.section-heading{font-size:1.5rem;font-weight:900;color:var(--text);text-align:center;margin-bottom:28px;letter-spacing:-.01em;}

/* ============================================================
   Contact page
   ============================================================ */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
@media (max-width:768px){.contact-grid{grid-template-columns:1fr;}}
.info-row{display:flex;align-items:flex-start;gap:14px;margin-bottom:20px;}
.info-row:last-child{margin-bottom:0;}
.info-label{font-size:.68rem;font-weight:700;color:var(--muted);margin-bottom:4px;text-transform:uppercase;letter-spacing:.05em;}
.info-value{font-size:.875rem;color:var(--text);font-weight:500;line-height:1.6;}

.social-icons{display:flex;gap:12px;}
.social-icons a{width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;transition:transform .2s, box-shadow .2s;border:1px solid oklch(100% 0 0 / .1);}
.social-icons a:hover{transform:translateY(-3px);box-shadow:0 8px 20px oklch(0% 0 0 / .35);}

.form-label{font-size:.72rem;font-weight:700;color:var(--muted);display:block;margin-bottom:6px;}
.form-input{width:100%;background:var(--input-bg);border:1px solid var(--border);border-radius:10px;padding:10px 14px;font-size:.875rem;color:var(--text);outline:none;transition:border-color .2s, background .2s;}
.form-input::placeholder{color:oklch(55% 0.02 240);}
.form-input:focus{border-color:var(--accent-hi);}
textarea.form-input{resize:none;}

.btn-submit{width:100%;background:linear-gradient(135deg, var(--accent), var(--accent-hi));color:#fff;font-weight:700;font-size:.875rem;padding:13px;border-radius:10px;border:none;cursor:pointer;transition:opacity .2s, box-shadow .2s;}
.btn-submit:hover{opacity:.92;box-shadow:0 8px 24px oklch(45% 0.16 260 / .35);}

.alert-success{background:oklch(45% 0.14 150 / .15);border:1px solid oklch(60% 0.14 150 / .4);color:oklch(60% 0.12 150);border-radius:14px;padding:16px;font-size:.85rem;text-align:center;margin-bottom:24px;}
html[data-theme="light"] .alert-success{ color:oklch(30% 0.12 150); }

/* ============================================================
   Footer
   ============================================================ */
.dim-footer, .about-footer{
    position:relative;z-index:10;background:var(--footer-bg);
    backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
    border-top:1px solid var(--border);margin-top:32px;padding:24px 0;
}
.dim-footer p, .about-footer p{color:var(--muted);font-size:.75rem;}
.dim-footer a, .about-footer a{color:var(--muted);text-decoration:none;font-size:.75rem;transition:color .2s;}
.dim-footer a:hover, .about-footer a:hover{color:var(--accent-hi);}
.dim-footer a.footer-privacy, .about-footer a.footer-privacy{color:var(--accent-hi);font-weight:600;}


/* ============================================================
   Education / Learning Hub page — theme tokens
   (پالت مستقل از رنگ اصلی برند، اما همراه با دارک/لایت)
   ============================================================ */
:root{
    --edu-blue: #3b82f6;       /* ثابت در هر دو تم */
    --edu-blue-light: #60a5fa; /* ثابت در هر دو تم */

    --edu-bg: #0f172a;
    --edu-nav-bg: oklch(18% 0.025 240 / .75);
    --edu-nav-border: #334155;
    --edu-surface: #000713;
    --edu-surface-alt: #000713;
    --edu-thumb-bg: #1e293b;
    --edu-border: #334155;
    --edu-text: #e2e8f0;
    --edu-text-strong: #f8fafc;
    --edu-muted: #94a3b8;
    --edu-muted-2: #64748b;
    --edu-empty-icon: #334155;
    --edu-badge-bg: #1e3a8a30;
    --edu-badge-border: #1e3a8a;
    --edu-badge-text: #60a5fa;
    --edu-others-badge-bg: #33415530;
    --edu-others-badge-border: #334155;
    --edu-others-badge-text: #94a3b8;
    --edu-card-bg: #0f172a;
    --edu-scrollbar: #334155;
    --edu-arrow-bg: #1e293b;
}

html[data-theme="light"]{
    --edu-bg: #f4f6fb;
    --edu-nav-bg: #ffffff;
    --edu-nav-border: #e2e8f0;
    --edu-surface: #ffffff;
    --edu-surface-alt: #f8fafc;
    --edu-thumb-bg: #eef1f7;
    --edu-border: #e2e8f0;
    --edu-text: #1e293b;
    --edu-text-strong: #0f172a;
    --edu-muted: #64748b;
    --edu-muted-2: #94a3b8;
    --edu-empty-icon: #cbd5e1;
    --edu-badge-bg: #dbeafe;
    --edu-badge-border: #bfdbfe;
    --edu-badge-text: #2563eb;
    --edu-others-badge-bg: #f1f5f9;
    --edu-others-badge-border: #e2e8f0;
    --edu-others-badge-text: #64748b;
    --edu-card-bg: #ffffff;
    --edu-scrollbar: #cbd5e1;
    --edu-arrow-bg: #ffffff;
}

/* ---------- Layout ---------- */
.edu-page{ font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif; background:var(--edu-bg); color:var(--edu-text); min-height:100vh; transition:background-color .35s ease, color .35s ease; }

.edu-topnav{ position:sticky; top:0; z-index:100; background:var(--edu-nav-bg); border-bottom:1px solid var(--edu-nav-border); backdrop-filter:blur(10px); transition:background-color .35s ease, border-color .35s ease; }
.edu-topnav-inner{ max-width:1200px; margin:0 auto; padding:0 20px; height:58px; display:flex; align-items:center; gap:14px; }
.edu-back{ display:flex; align-items:center; gap:8px; color:var(--edu-muted); text-decoration:none; font-size:.8rem; font-weight:700; padding:7px 12px; border-radius:8px; border:1px solid var(--edu-border); transition:.15s; }
.edu-back:hover{ color:var(--edu-text); background:var(--edu-surface-alt); }
.edu-brand{ font-weight:900; color:var(--edu-blue-light); font-size:.95rem; letter-spacing:-.02em; }
.edu-nav-spacer{ flex:1; }

/* ---------- Hero ---------- */
.edu-hero{ max-width:1200px; margin:0 auto; padding:44px 20px 8px; }
.edu-hero .eyebrow{ display:inline-flex; align-items:center; gap:8px; font-size:.68rem; font-weight:800; letter-spacing:.18em; text-transform:uppercase; color:var(--edu-badge-text); background:var(--edu-badge-bg); border:1px solid var(--edu-badge-border); border-radius:999px; padding:6px 14px; margin-bottom:14px; }
.edu-hero h1{ font-size:clamp(1.7rem,4vw,2.6rem); font-weight:900; color:var(--edu-text-strong); letter-spacing:-.02em; margin-bottom:10px; }
.edu-hero p{ color:var(--edu-muted); font-size:.92rem; max-width:640px; line-height:1.7; }

.edu-stats-strip{ max-width:1200px; margin:22px auto 8px; padding:0 20px; display:flex; gap:14px; flex-wrap:wrap; }
.edu-chip{ display:flex; align-items:center; gap:8px; background:var(--edu-surface); border:1px solid var(--edu-border); border-radius:999px; padding:8px 16px; font-size:.75rem; font-weight:700; color:var(--edu-text); }
.edu-chip i{ color:var(--edu-blue); }

/* ---------- Company rows ---------- */
.edu-main{ max-width:1200px; margin:0 auto; padding:26px 20px 80px; }

.company-row{ background:linear-gradient(180deg,var(--edu-surface),var(--edu-surface-alt)); border:1px solid var(--edu-border); border-radius:18px; padding:22px 22px 18px; margin-bottom:22px; position:relative; overflow:hidden; transition:background-color .35s ease, border-color .35s ease; }
.company-row::before{ content:''; position:absolute; top:0; left:0; right:0; height:2px; background:linear-gradient(90deg,var(--edu-blue),transparent 70%); opacity:.7; }
.company-head{ display:flex; align-items:center; gap:14px; margin-bottom:18px; flex-wrap:wrap; }
.company-logo{ width:54px; height:54px; border-radius:13px; background:var(--edu-bg); border:1px solid var(--edu-border); flex-shrink:0; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.company-logo img{ width:100%; height:100%; object-fit:contain; }
.company-logo i{ color:var(--edu-blue); font-size:1.3rem; }
.company-meta{ flex:1; min-width:150px; }
.company-name{ font-size:1.05rem; font-weight:800; color:var(--edu-text-strong); letter-spacing:-.01em; }
.company-count{ font-size:.72rem; color:var(--edu-muted-2); font-weight:600; margin-top:2px; }
.company-badge{ font-size:.62rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--edu-badge-text); background:var(--edu-badge-bg); border:1px solid var(--edu-badge-border); border-radius:999px; padding:4px 10px; }
.others-row .company-badge{ color:var(--edu-others-badge-text); background:var(--edu-others-badge-bg); border-color:var(--edu-others-badge-border); }
.others-row .company-logo{ background:var(--edu-bg); }
.others-row .company-name{ color:var(--edu-text); }

/* ---------- Carousel ---------- */
.carousel-wrap{ position:relative; }
.carousel-track{ display:flex; gap:14px; overflow-x:auto; scroll-behavior:smooth; scroll-snap-type:x mandatory; padding:4px 2px 10px; }
.carousel-track::-webkit-scrollbar{ height:6px; }
.carousel-track::-webkit-scrollbar-thumb{ background:var(--edu-scrollbar); border-radius:3px; }
.carousel-track::-webkit-scrollbar-track{ background:transparent; }

.course-card{ flex:0 0 220px; scroll-snap-align:start; background:var(--edu-card-bg); border:1px solid var(--edu-border); border-radius:14px; overflow:hidden; cursor:pointer; text-decoration:none; display:block; transition:transform .22s ease, border-color .22s ease, box-shadow .22s ease, background-color .35s ease; }
.course-card:hover{ transform:translateY(-5px); border-color:var(--edu-blue); box-shadow:0 14px 34px rgba(59,130,246,.25); }
.course-thumb-wrap{ width:100%; height:118px; background:var(--edu-thumb-bg); display:flex; align-items:center; justify-content:center; overflow:hidden; position:relative; }
.course-thumb-wrap img{ width:100%; height:100%; object-fit:cover; }
.course-thumb-wrap i{ font-size:1.6rem; color:var(--edu-border); }
.course-type-badge{ position:absolute; top:8px; right:8px; width:24px; height:24px; border-radius:7px; background:color-mix(in srgb, var(--edu-bg) 85%, transparent); border:1px solid var(--edu-border); display:flex; align-items:center; justify-content:center; color:var(--edu-blue-light); font-size:10px; }
.course-body{ padding:11px 13px 14px; }
.course-title{ font-size:.8rem; font-weight:700; color:var(--edu-text); line-height:1.45; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:2.3em; }
.course-cta{ margin-top:9px; display:flex; align-items:center; gap:6px; font-size:.66rem; font-weight:800; color:var(--edu-blue); letter-spacing:.03em; text-transform:uppercase; }
.course-card:hover .course-cta{ color:var(--edu-blue-light); }

.carousel-arrow{ position:absolute; top:50%; transform:translateY(-50%); width:34px; height:34px; border-radius:50%; background:var(--edu-arrow-bg); border:1px solid var(--edu-border); color:var(--edu-muted); display:flex; align-items:center; justify-content:center; cursor:pointer; z-index:5; transition:.15s; font-size:12px; }
.carousel-arrow:hover{ background:var(--edu-blue); border-color:var(--edu-blue); color:#fff; }
.carousel-arrow.left{ left:-6px; }
.carousel-arrow.right{ right:-6px; }
@media (max-width:640px){ .carousel-arrow{ display:none; } }

.edu-empty{ text-align:center; padding:80px 20px; color:var(--edu-muted-2); }
.edu-empty i{ font-size:2.4rem; margin-bottom:14px; display:block; color:var(--edu-empty-icon); }
.edu-empty p{ font-size:.85rem; font-weight:600; }

.logo-img {
    transition: filter .2s ease;
}

[data-theme="light"] .logo-img {
    filter: invert(1);
}
.hero-logo {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 22px;
    direction: ltr; /* لوگو حتی در صفحه RTL سمت چپ می‌ماند */

    width: 100%;
    padding: 20px 28px;
    text-align: left;
}

.hero-logo .hero-logo-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 110px;
    line-height: 1;
}

.hero-logo .hero-logo-inner img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    object-fit: contain;
}

.hero-logo .hero-divider {
    flex: 0 0 1px;
    align-self: stretch;
    min-height: 60px;
    background: rgba(255, 255, 255, .35);
}

.hero-logo .hero-text {
    flex: 1;
    min-width: 0;
}

.hero-logo .hero-sub {
    margin: 0;
    font-size: clamp(.9rem, 1.3vw, 1.15rem);
    font-weight: 700;
    line-height: 1.5;
    color: #fff;
    text-align: start;
    overflow-wrap: anywhere;
}

.hero-logo .hero.hero-logo .hero-tag {
    margin: 7px;
    font-size: .7rem;
    font-weight: 500;
    line-height: 1.7;
    letter-spacing: .06em;
    color: rgba(255, 255, 255, .255, .8);
    text-align: start;
    overflow-wrap: anywhere;
}

/* و موبایل؛ چیدمان همچنان افقی می‌ماند */
@media (max-width: 1024px) {
    .hero-logo {
        width: 100%;
    }
}

@media (max-width: 480px) {
    .hero-logo {
        gap: 12px;
        padding: 16px;
    }

    .hero-logo .hero-logo-inner {
        flex-basis: 75px;
    }

    .hero-logo .hero-sub {
        font-size: .85rem;
    }

    .hero-logo .hero-tag {
        font-size: .65rem;
        letter-spacing: .02em;
    }
}
