/* ============================================================
   کامپوننت‌های اختصاصی صفحات
   ============================================================ */

/* ---------- Hero صفحه اصلی ---------- */
.hero{padding:64px 0 30px;position:relative;overflow:hidden;}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;}
.hero h1{font-size:clamp(30px,4.4vw,46px);color:var(--blue-deep);line-height:1.35;}
.hero h1 span{color:var(--orange);}
.hero p{margin-top:18px;font-size:16.5px;color:var(--ink-soft);max-width:480px;}
.hero-cta{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap;}
.hero-stats{display:flex;gap:26px;margin-top:38px;padding-top:26px;border-top:1px solid var(--line);}
.hero-stats div b{display:block;font-size:22px;color:var(--blue-deep);}
.hero-stats div span{font-size:12.5px;color:var(--ink-soft);}
@media (max-width:860px){.hero-grid{grid-template-columns:1fr;}}

/* ---------- رزومه ---------- */
.resume-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-l);padding:30px;display:flex;gap:24px;align-items:flex-start;}
.resume-avatar{width:96px;height:96px;border-radius:50%;flex:none;border:3px solid var(--orange-tint);}
.resume-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px;}
.resume-facts div{background:var(--paper-2);border-radius:var(--radius-s);padding:14px;}
.resume-facts b{display:block;font-size:20px;color:var(--blue-deep);}
.resume-facts span{font-size:12px;color:var(--ink-soft);}
.timeline{margin-top:10px;}
.timeline li{position:relative;padding-right:24px;padding-bottom:22px;border-right:2px solid var(--line);}
.timeline li:last-child{padding-bottom:0;}
.timeline li::before{content:'';position:absolute;right:-6px;top:2px;width:10px;height:10px;border-radius:50%;background:var(--orange);}
.timeline b{display:block;color:var(--blue-deep);font-size:15px;}
.timeline span{font-size:12.5px;color:var(--ink-soft);}
.timeline p{margin-top:4px;font-size:13.5px;color:var(--ink-soft);}

/* ---------- کارت دوره ---------- */
.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
@media (max-width:960px){.course-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:620px){.course-grid{grid-template-columns:1fr;}}
.course-card{
  background:var(--white);border:1px solid var(--line);border-radius:var(--radius-m);
  overflow:hidden;display:flex;flex-direction:column;transition:transform .18s,box-shadow .18s;
}
.course-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);}
.course-thumb{aspect-ratio:16/10;background:var(--blue-tint);position:relative;}
.course-thumb .free-tag{position:absolute;top:10px;left:10px;background:var(--ok);color:#fff;font-size:11.5px;font-weight:700;padding:4px 10px;border-radius:999px;}
.course-body{padding:18px;display:flex;flex-direction:column;gap:10px;flex:1;}
.course-cat{font-size:11.5px;color:var(--orange-deep);font-weight:700;}
.course-body h3{font-size:16.5px;color:var(--blue-deep);}
.course-body p{font-size:13.5px;color:var(--ink-soft);flex:1;}
.course-foot{display:flex;align-items:center;justify-content:space-between;margin-top:6px;}
.course-price{font-weight:700;color:var(--blue-deep);}
.course-price s{color:var(--ink-soft);font-weight:400;font-size:12px;margin-left:6px;}

/* ---------- منوی درختی محصولات ---------- */
.tree-menu{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-m);padding:10px;}
.tree-menu > li > button{
  width:100%;display:flex;align-items:center;justify-content:space-between;
  padding:12px 12px;border:none;background:none;font-weight:700;font-size:14.5px;color:var(--blue-deep);
  border-radius:var(--radius-s);
}
.tree-menu > li > button:hover{background:var(--paper-2);}
.tree-menu .chev{transition:transform .2s;font-size:12px;color:var(--ink-soft);}
.tree-menu li.open > button .chev{transform:rotate(90deg);}
.tree-sub{max-height:0;overflow:hidden;transition:max-height .25s ease;padding-right:10px;}
.tree-menu li.open .tree-sub{max-height:340px;}
.tree-sub a{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;font-size:13.5px;color:var(--ink-soft);border-radius:var(--radius-s);}
.tree-sub a:hover,.tree-sub a.active{background:var(--orange-tint);color:var(--orange-deep);}
.tree-sub a small{color:var(--ink-soft);font-size:11px;}
.courses-layout{display:grid;grid-template-columns:260px 1fr;gap:28px;align-items:start;}
@media (max-width:860px){.courses-layout{grid-template-columns:1fr;}}

/* ---------- صفحه فروش ویدیو ---------- */
.video-page-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:36px;align-items:start;}
@media (max-width:920px){.video-page-grid{grid-template-columns:1fr;}}
.video-player{background:var(--blue-deep);border-radius:var(--radius-l);aspect-ratio:16/9;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.video-player .play-btn{width:64px;height:64px;border-radius:50%;background:var(--orange);display:flex;align-items:center;justify-content:center;border:none;box-shadow:0 10px 26px -8px rgba(224,118,47,.6);}
.video-player .bar{position:absolute;bottom:0;right:0;left:0;height:5px;background:rgba(255,255,255,.22);}
.video-player .bar i{display:block;height:100%;width:0%;background:var(--orange);transition:width .1s linear;}
.video-player .free-badge{position:absolute;top:14px;right:14px;background:var(--ok);color:#fff;font-size:12px;font-weight:700;padding:5px 12px;border-radius:999px;}
.curriculum li{display:flex;justify-content:space-between;align-items:center;padding:13px 4px;border-bottom:1px solid var(--line);font-size:14px;}
.curriculum li:last-child{border-bottom:none;}
.curriculum .lock{color:var(--ink-soft);font-size:12px;}
.buy-box{border:1.5px solid var(--line);border-radius:var(--radius-l);padding:24px;position:sticky;top:100px;}
.buy-box .price-row{display:flex;align-items:baseline;gap:10px;margin-bottom:6px;}
.buy-box .price-row b{font-size:26px;color:var(--blue-deep);}
.buy-box .price-row s{color:var(--ink-soft);font-size:14px;}
.buy-box ul{margin:18px 0;display:flex;flex-direction:column;gap:10px;font-size:13.5px;color:var(--ink-soft);}
.buy-box ul li{display:flex;gap:8px;align-items:flex-start;}

/* ---------- نظرات ---------- */
.comment{display:flex;gap:14px;padding:18px 0;border-bottom:1px solid var(--line);}
.comment:last-child{border-bottom:none;}
.comment .cav{width:42px;height:42px;border-radius:50%;flex:none;background:var(--blue-tint);}
.comment-head{display:flex;justify-content:space-between;align-items:center;}
.comment-head b{font-size:14px;color:var(--blue-deep);}
.comment-head span{font-size:12px;color:var(--ink-soft);}
.comment p{margin-top:6px;font-size:13.5px;color:var(--ink-soft);}
.comment-actions{display:flex;gap:16px;margin-top:8px;font-size:12.5px;color:var(--ink-soft);}
.comment-actions button{display:flex;align-items:center;gap:5px;background:none;border:none;color:inherit;}
.comment-actions button.liked{color:var(--orange-deep);font-weight:700;}

/* ---------- مقالات ---------- */
.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
@media (max-width:960px){.article-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:620px){.article-grid{grid-template-columns:1fr;}}
.article-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-m);overflow:hidden;}
.article-thumb{aspect-ratio:16/10;background:var(--orange-tint);}
.article-body{padding:18px;}
.article-date{font-size:12px;color:var(--ink-soft);margin-bottom:8px;}
.article-body h3{font-size:16px;color:var(--blue-deep);margin-bottom:8px;}
.article-body p{font-size:13.5px;color:var(--ink-soft);}

/* ---------- ورود / OTP ---------- */
.auth-wrap{min-height:calc(100vh - 78px);display:flex;align-items:center;justify-content:center;padding:50px 20px;background:
  radial-gradient(circle at 12% 15%, var(--blue-tint), transparent 45%),
  radial-gradient(circle at 90% 85%, var(--orange-tint), transparent 40%), var(--paper);}
.auth-box{width:100%;max-width:420px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-l);padding:36px;box-shadow:var(--shadow);}
.auth-box .logo{justify-content:center;margin-bottom:6px;}
.auth-box > p.muted{text-align:center;margin-bottom:26px;}
.auth-step{display:none;}
.auth-step.active{display:block;}
.otp-inputs{display:flex;gap:10px;justify-content:center;direction:ltr;margin:6px 0 4px;}
.otp-inputs input{width:46px;height:54px;text-align:center;font-size:20px;border:1.5px solid var(--line);border-radius:var(--radius-s);}
.otp-inputs input:focus{border-color:var(--orange);outline:none;}
.auth-switch{text-align:center;margin-top:18px;font-size:13.5px;color:var(--ink-soft);}
.auth-switch button{color:var(--orange-deep);font-weight:700;background:none;border:none;}
.resend{text-align:center;font-size:12.5px;color:var(--ink-soft);margin-top:14px;}
.resend button{color:var(--blue);font-weight:700;background:none;border:none;}
.resend button:disabled{color:var(--ink-soft);}

/* ---------- ادمین ---------- */
.admin-shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh;}
.admin-side{background:var(--blue-deep);color:#fff;padding:22px 16px;position:sticky;top:0;height:100vh;overflow:auto;}
.admin-side .logo{color:#fff;margin-bottom:26px;padding:0 8px;}
.admin-side .logo small{color:rgba(255,255,255,.6);}
.admin-nav button{
  width:100%;display:flex;align-items:center;gap:10px;text-align:right;
  padding:12px 12px;border:none;background:none;color:rgba(255,255,255,.75);
  border-radius:var(--radius-s);font-size:14px;font-weight:500;margin-bottom:4px;
}
.admin-nav button:hover{background:rgba(255,255,255,.08);color:#fff;}
.admin-nav button.active{background:var(--orange);color:#fff;font-weight:700;}
.admin-nav .ic{width:18px;text-align:center;}
.admin-back{display:block;margin-top:22px;padding:12px;text-align:center;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-s);color:rgba(255,255,255,.75);font-size:13px;}

.admin-main{padding:28px 32px;}
.admin-topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px;}
.admin-topbar h1{font-size:22px;color:var(--blue-deep);}
.admin-topbar .who{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--ink-soft);}
.admin-topbar .who .av{width:36px;height:36px;border-radius:50%;background:var(--orange-tint);}

.admin-panel{display:none;}
.admin-panel.active{display:block;animation:fadein .3s ease;}
@keyframes fadein{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:translateY(0);}}

.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:28px;}
@media (max-width:1000px){.kpi-grid{grid-template-columns:1fr 1fr;}}
.kpi{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-m);padding:20px;}
.kpi span.lbl{font-size:12.5px;color:var(--ink-soft);}
.kpi b{display:block;font-size:26px;color:var(--blue-deep);margin:6px 0 4px;}
.kpi .delta{font-size:12px;font-weight:700;}
.kpi .delta.up{color:var(--ok);}
.kpi .delta.down{color:var(--danger);}

.panel-row{display:grid;grid-template-columns:1.4fr 1fr;gap:20px;margin-bottom:20px;align-items:start;}
@media (max-width:960px){.panel-row{grid-template-columns:1fr;}}

.chart-bars{display:flex;align-items:flex-end;gap:10px;height:170px;padding-top:10px;}
.chart-bars .bar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;justify-content:flex-end;height:100%;}
.chart-bars .bar-col i{width:100%;background:linear-gradient(180deg,var(--orange),var(--orange-deep));border-radius:6px 6px 0 0;}
.chart-bars .bar-col span{font-size:11px;color:var(--ink-soft);}

.retention-bars{display:flex;align-items:flex-end;gap:4px;height:150px;}
.retention-bars i{flex:1;background:var(--blue-soft);border-radius:3px 3px 0 0;}
.retention-bars i.drop{background:var(--orange-tint);}

table.data-table{width:100%;border-collapse:collapse;font-size:13.5px;}
table.data-table th{text-align:right;color:var(--ink-soft);font-weight:600;font-size:12.5px;padding:10px 8px;border-bottom:1.5px solid var(--line);}
table.data-table td{padding:12px 8px;border-bottom:1px solid var(--line);}
table.data-table tr:last-child td{border-bottom:none;}
.status-tag{font-size:11.5px;font-weight:700;padding:4px 10px;border-radius:999px;}
.status-tag.open{background:#fbe6e2;color:var(--danger);}
.status-tag.progress{background:var(--orange-tint);color:var(--orange-deep);}
.status-tag.closed{background:#e6f2ea;color:var(--ok);}

.upload-drop{
  border:2px dashed var(--line);border-radius:var(--radius-m);padding:34px;text-align:center;
  color:var(--ink-soft);font-size:13.5px;background:var(--white);
}
.upload-drop.drag{border-color:var(--orange);background:var(--orange-tint);}
.upload-list{margin-top:16px;display:flex;flex-direction:column;gap:10px;}
.upload-item{display:flex;align-items:center;gap:12px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-s);padding:11px 14px;font-size:13px;}
.upload-item .prog{flex:1;height:6px;background:var(--paper-2);border-radius:4px;overflow:hidden;}
.upload-item .prog i{display:block;height:100%;background:var(--ok);width:0%;transition:width .2s;}

.support-list{display:flex;flex-direction:column;gap:10px;}
.support-item{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-s);padding:14px 16px;display:flex;justify-content:space-between;gap:10px;align-items:center;}
.support-item .s-txt b{display:block;font-size:14px;color:var(--blue-deep);}
.support-item .s-txt span{font-size:12px;color:var(--ink-soft);}
