/*
Theme Name: مسیر - سینمای ورزش و طبیعت
Theme URI: https://example.com
Author: Masir Cinema
Description: قالب اختصاصی وردپرس برای سایت‌های ویدیویی ورزشی و طبیعت. شامل پست‌تایپ اختصاصی ویدیو، دسته‌بندی، وارد کردن خودکار از کانال آپارات، پخش‌کننده با واترمارک و تیزر تبلیغاتی پیش از پخش، انتخاب کیفیت و دانلود چندکیفیتی.
Version: 2.0
Requires at least: 5.8
Requires PHP: 7.4
Text Domain: masir
Tags: rtl-language-support, custom-post-types, video
*/

@font-face{
  font-family:'Vazirmatn Var';
  src:url('assets/fonts/Vazirmatn-Variable.woff2') format('woff2-variations'),
      url('assets/fonts/Vazirmatn-Variable.woff2') format('woff2');
  font-weight:100 900;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:'JetBrains Mono Var';
  src:url('assets/fonts/JetBrainsMono-Variable.woff2') format('woff2-variations'),
      url('assets/fonts/JetBrainsMono-Variable.woff2') format('woff2');
  font-weight:100 800;
  font-style:normal;
  font-display:swap;
}

:root{
  --bg:#0a0d12;
  --bg-soft:#10141b;
  --surface:#161b24;
  --surface-2:#1c2330;
  --text:#f5f2ea;
  --text-dim:#9aa3b5;
  --line:rgba(255,255,255,.09);
  --line-strong:rgba(255,255,255,.16);

  --sport-1:#ff8a3d;
  --sport-2:#ff3d68;
  --sport:linear-gradient(135deg,var(--sport-1),var(--sport-2));
  --sport-solid:#ff7a45;
  --sport-glow:rgba(255,110,60,.35);

  --nature-1:#22d3a8;
  --nature-2:#1c8ce0;
  --nature:linear-gradient(135deg,var(--nature-1),var(--nature-2));
  --nature-solid:#22c9a0;
  --nature-glow:rgba(34,211,168,.32);

  --radius-lg:18px;
  --radius-md:12px;
  --radius-sm:8px;
  --radius-pill:999px;

  --font-body:'Vazirmatn Var','Vazirmatn',Tahoma,sans-serif;
  --font-mono:'JetBrains Mono Var','JetBrains Mono',Consolas,monospace;

  --shadow-lg:0 20px 50px -20px rgba(0,0,0,.6);
  --shadow-md:0 10px 30px -12px rgba(0,0,0,.55);
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth; -webkit-text-size-adjust:100%;}
body{
  background:
    radial-gradient(circle at 15% 0%, rgba(255,122,69,.10), transparent 40%),
    radial-gradient(circle at 85% 15%, rgba(34,211,168,.10), transparent 40%),
    var(--bg);
  color:var(--text);
  font-family:var(--font-body);
  font-weight:400;
  line-height:1.85;
  min-height:100vh;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}
h1,h2,h3{font-weight:800; letter-spacing:-.01em;}
img{max-width:100%; display:block;}
a{color:inherit;}
.mono, .logo, .nav-btn, .admin-hint, .card-badge, .card-quality, .card-duration, .tag-chip,
.pill, .select-wrap, select.quality-select, .dl-menu a, .dl-menu span,
.hero-eyebrow, .hero-stats span, .section-head .meta, .card-meta,
.watermark-bug, .preroll .pre-logo, .preroll .pre-ad small, .preroll button,
.footer-inner p{
  font-family:var(--font-mono);
  font-feature-settings:"tnum" 1, "zero" 1;
}

.contour-divider{display:none;}

/* ---------- header ---------- */
header.site-header{
  position:sticky; top:0; z-index:50;
  background:rgba(10,13,18,.78);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.header-inner{max-width:1280px; margin:0 auto; padding:16px 24px; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;}
.logo{font-family:var(--font-mono); font-weight:700; font-size:17px; letter-spacing:.3px; color:var(--text); display:flex; align-items:center; gap:8px; white-space:nowrap; text-decoration:none;}
.logo .mark{
  background:var(--sport); -webkit-background-clip:text; background-clip:text; color:transparent;
  filter:drop-shadow(0 0 10px var(--sport-glow));
}
.logo small{display:block; font-size:9px; color:var(--text-dim); font-weight:400; letter-spacing:2px;}
nav.main-nav{display:flex; gap:6px; align-items:center; flex-wrap:wrap;}
.nav-btn{background:none; border:1px solid transparent; color:var(--text-dim); font-family:var(--font-body); font-size:14px; font-weight:500; padding:9px 18px; border-radius:var(--radius-pill); transition:.2s; text-decoration:none; display:inline-block;}
.nav-btn:hover{color:var(--text); background:rgba(255,255,255,.06);}
.nav-btn.active{color:#0a0d12; background:var(--text); font-weight:700;}
.admin-hint{font-family:var(--font-mono); font-size:11px; color:var(--text-dim); border:1px solid var(--line-strong); padding:8px 14px; border-radius:var(--radius-pill); letter-spacing:.5px; text-decoration:none; transition:.2s;}
.admin-hint:hover{border-color:var(--sport-solid); color:var(--sport-solid);}

/* ---------- hero ---------- */
.hero{position:relative; padding:72px 24px 48px; max-width:1280px; margin:0 auto; display:grid; grid-template-columns:1.1fr .9fr; gap:48px; align-items:center;}
@media (max-width:860px){.hero{grid-template-columns:1fr; padding-top:40px;}}
.hero-eyebrow{font-family:var(--font-mono); font-size:12px; letter-spacing:3px; color:var(--sport-solid); display:flex; align-items:center; gap:10px; margin-bottom:20px; font-weight:600;}
.hero-eyebrow::before{content:''; width:28px; height:2px; background:var(--sport); border-radius:2px;}
.hero h1{font-size:clamp(32px,5vw,58px); font-weight:900; line-height:1.18; margin-bottom:20px;}
.hero h1 span{background:var(--nature); -webkit-background-clip:text; background-clip:text; color:transparent;}
.hero p{color:var(--text-dim); font-size:16.5px; max-width:46ch; margin-bottom:28px;}
.hero-actions{display:flex; gap:14px; flex-wrap:wrap;}
.btn{font-family:var(--font-body); font-weight:700; font-size:13.5px; padding:11px 22px; border-radius:var(--radius-pill); border:1px solid transparent; cursor:pointer; transition:.2s; display:inline-flex; align-items:center; gap:7px; text-decoration:none;}
.btn-primary{background:var(--sport); color:#1a0e06; box-shadow:0 12px 30px -10px var(--sport-glow);}
.btn-primary:hover{transform:translateY(-2px); box-shadow:0 16px 36px -8px var(--sport-glow);}
.btn-ghost{background:rgba(255,255,255,.04); border-color:var(--line-strong); color:var(--text);}
.btn-ghost:hover{border-color:var(--text); background:rgba(255,255,255,.09);}
.hero-visual{position:relative; aspect-ratio:4/5; border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-lg); border:1px solid var(--line);}
.hero-visual img{width:100%; height:100%; object-fit:cover;}
.hero-visual::after{content:''; position:absolute; inset:0; background:linear-gradient(180deg, transparent 40%, rgba(10,13,18,.85) 100%);}
.hero-visual .tag{position:absolute; bottom:16px; right:16px; z-index:2; background:rgba(10,13,18,.7); backdrop-filter:blur(6px); font-family:var(--font-mono); font-size:11px; padding:8px 14px; border-radius:var(--radius-pill); border:1px solid var(--line-strong); letter-spacing:1px;}
.hero-stats{position:absolute; top:16px; left:16px; z-index:2; display:flex; flex-direction:column; gap:6px; font-family:var(--font-mono); font-size:11px;}
.hero-stats span{background:rgba(10,13,18,.7); backdrop-filter:blur(6px); padding:6px 11px; border-radius:var(--radius-pill); border:1px solid var(--line-strong);}

/* ---------- hero v2: full-bleed background ---------- */
.hero-v2{position:relative; min-height:52vh; max-height:560px; display:flex; align-items:flex-end; overflow:hidden; margin-bottom:8px;}
.hero-v2-bg{position:absolute; inset:0; z-index:0;}
.hero-v2-bg img{width:100%; height:100%; object-fit:cover; filter:saturate(1.05);}
.hero-v2-bg::after{
  content:''; position:absolute; inset:0;
  background:
    linear-gradient(0deg, var(--bg) 2%, rgba(10,13,18,.55) 45%, rgba(10,13,18,.15) 75%),
    linear-gradient(90deg, rgba(10,13,18,.92) 0%, rgba(10,13,18,.35) 55%, transparent 85%);
}
.hero-v2-content{position:relative; z-index:1; max-width:1280px; margin:0 auto; padding:36px 20px 32px; width:100%;}
.hero-v2-content .hero-eyebrow{margin-bottom:16px;}
.hero-v2-content h1{font-size:clamp(24px,3.6vw,40px); max-width:17ch; margin-bottom:12px; line-height:1.25;}
.hero-v2-content p{color:var(--text-dim); font-size:16px; max-width:52ch; margin-bottom:26px;}
.hero-v2-meta{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:22px;}
.hero-v2-meta span{font-family:var(--font-mono); font-size:11.5px; background:rgba(255,255,255,.08); backdrop-filter:blur(6px); padding:7px 14px; border-radius:var(--radius-pill); border:1px solid var(--line-strong);}

/* ---------- category showcase tiles ---------- */
.cat-tiles{display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:20px;}
.cat-tile{
  position:relative; border-radius:var(--radius-lg); overflow:hidden; min-height:170px; display:flex; align-items:flex-end;
  padding:22px; text-decoration:none; color:#fff; box-shadow:var(--shadow-md); transition:.25s;
  border:1px solid var(--line);
}
.cat-tile:hover{transform:translateY(-5px); box-shadow:var(--shadow-lg);}
.cat-tile.sport-tile{background:linear-gradient(150deg, rgba(255,138,61,.28), rgba(10,13,18,.65)), var(--surface);}
.cat-tile.nature-tile{background:linear-gradient(150deg, rgba(34,211,168,.28), rgba(10,13,18,.65)), var(--surface);}
.cat-tile-inner{position:relative; z-index:1;}
.cat-tile h3{font-size:20px; font-weight:800; margin-bottom:6px;}
.cat-tile span{font-family:var(--font-mono); font-size:11.5px; color:rgba(255,255,255,.75); letter-spacing:.5px;}
.cat-tile-icon{position:absolute; top:18px; left:18px; z-index:1; opacity:.85;}

/* ---------- trending badge ---------- */
.trend-badge{position:absolute; top:10px; right:10px; z-index:2; display:flex; align-items:center; gap:5px; font-family:var(--font-mono); font-weight:700; font-size:10px; padding:5px 10px; border-radius:var(--radius-pill); background:linear-gradient(135deg,#ffb03d,#ff3d3d); color:#1a0e06;}
.card.trending .card-thumb .card-badge{display:none;}
.section{max-width:1280px; margin:0 auto; padding:30px 20px;}
.section-head{display:flex; align-items:baseline; justify-content:space-between; gap:16px; margin-bottom:26px; flex-wrap:wrap;}
.section-head h2{font-size:23px; font-weight:800;}
.section-head .meta{font-family:var(--font-mono); font-size:11.5px; color:var(--text-dim); letter-spacing:1px; text-decoration:none; transition:.2s;}
.section-head .meta:hover{color:var(--sport-solid);}
.pill-row{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:26px;}
.pill{font-family:var(--font-mono); font-size:12px; padding:9px 18px; border:1px solid var(--line-strong); color:var(--text-dim); border-radius:var(--radius-pill); text-decoration:none; display:inline-block; transition:.2s; background:rgba(255,255,255,.03);}
.pill:hover{color:var(--text); border-color:var(--text-dim);}
.pill.active{color:#0a0d12; border-color:transparent; font-weight:700;}
.pill.sport-cat.active{background:var(--sport); box-shadow:0 8px 22px -8px var(--sport-glow);}
.pill.nature-cat.active{background:var(--nature); box-shadow:0 8px 22px -8px var(--nature-glow);}

/* ---------- cards ---------- */
.grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:22px;}
.card{
  background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-lg);
  transition:.25s cubic-bezier(.2,.8,.2,1); display:flex; flex-direction:column; overflow:hidden;
  text-decoration:none; color:var(--text); box-shadow:var(--shadow-md);
}
.card:hover{border-color:var(--line-strong); transform:translateY(-6px); box-shadow:0 24px 48px -18px rgba(0,0,0,.65);}
.card-thumb{position:relative; aspect-ratio:16/10; overflow:hidden; background:#000;}
.card-thumb img{width:100%; height:100%; object-fit:cover; transition:.4s;}
.card:hover .card-thumb img{transform:scale(1.08);}
.card-thumb::after{content:''; position:absolute; inset:0; background:linear-gradient(180deg, transparent 55%, rgba(10,13,18,.75) 100%);}
.card-badge{position:absolute; top:10px; right:10px; z-index:2; font-family:var(--font-mono); font-size:10px; font-weight:700; padding:5px 11px; letter-spacing:.5px; color:#0a0d12; border-radius:var(--radius-pill);}
.card-badge.sport{background:var(--sport);}
.card-badge.nature{background:var(--nature);}
.card-quality{position:absolute; bottom:10px; left:10px; z-index:2; font-family:var(--font-mono); font-size:10px; background:rgba(10,13,18,.75); backdrop-filter:blur(4px); padding:4px 9px; letter-spacing:1px; border-radius:var(--radius-sm);}
.card-duration{position:absolute; bottom:10px; right:10px; z-index:2; font-family:var(--font-mono); font-size:10px; background:rgba(10,13,18,.75); backdrop-filter:blur(4px); padding:4px 9px; border-radius:var(--radius-sm);}
.card-body{padding:13px 14px 15px;}
.card-body h3{font-size:14px; font-weight:700; margin-bottom:7px; line-height:1.5;}
.card-meta{font-family:var(--font-mono); font-size:10.5px; color:var(--text-dim); letter-spacing:.5px; display:flex; gap:10px;}
.empty-note{color:var(--text-dim); font-family:var(--font-mono); font-size:13px; padding:34px 0; text-align:center; border:1px dashed var(--line-strong); border-radius:var(--radius-md);}

/* ---------- pagination ---------- */
.nav-links, .pagination{display:flex; align-items:center; justify-content:center; gap:8px; margin-top:34px; flex-wrap:wrap;}
.nav-links .page-numbers, .pagination .page-numbers{
  font-family:var(--font-mono); font-size:13px; color:var(--text-dim); text-decoration:none;
  min-width:38px; height:38px; display:inline-flex; align-items:center; justify-content:center;
  border:1px solid var(--line-strong); border-radius:var(--radius-pill); padding:0 12px; transition:.2s;
}
.nav-links .page-numbers:hover{color:var(--text); border-color:var(--text-dim);}
.nav-links .page-numbers.current{background:var(--sport); color:#1a0e06; border-color:transparent; font-weight:700;}
.nav-links .page-numbers.dots{border-color:transparent;}

/* ---------- player page ---------- */
.player-page{max-width:1120px; margin:0 auto; padding:28px 20px 56px;}
.back-link{font-family:var(--font-mono); font-size:12px; color:var(--text-dim); text-decoration:none; margin-bottom:16px; display:inline-flex; align-items:center; gap:6px; transition:.2s;}
.back-link:hover{color:var(--text);}
.player-shell{position:relative; width:100%; aspect-ratio:16/9; background:#000; border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-lg); border:1px solid var(--line);}
.player-shell video, .player-shell iframe{width:100%; height:100%; border:none; display:block;}
.watermark-bug{position:absolute; top:12px; left:12px; z-index:5; font-family:var(--font-mono); font-size:10.5px; color:rgba(245,242,234,.85); background:rgba(10,13,18,.4); backdrop-filter:blur(4px); padding:5px 10px; border-radius:var(--radius-pill); letter-spacing:1px; pointer-events:none; display:flex; align-items:center; gap:6px;}

/* ---------- facade: poster + single play click (fast, no fake wait) ---------- */
.facade{
  position:absolute; inset:0; z-index:8; background-size:cover; background-position:center;
  display:flex; align-items:center; justify-content:center;
}
.facade::before{content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(10,13,18,.35), rgba(10,13,18,.75));}
.facade.loading .play-btn{opacity:0; transform:scale(.8);}
.play-btn{
  position:relative; z-index:1; width:64px; height:64px; border-radius:50%; border:none; cursor:pointer;
  background:var(--sport); color:#1a0e06; display:flex; align-items:center; justify-content:center;
  box-shadow:0 14px 34px -10px var(--sport-glow); transition:.2s;
}
.play-btn svg{margin-right:-3px;}
.play-btn:hover{transform:scale(1.08);}

/* ---------- ad overlay (text / image / video) ---------- */
.ad-overlay{position:absolute; inset:0; z-index:9; background:#0a0d12; display:none; flex-direction:column;}
.ad-overlay.show{display:flex;}
.ad-inner{flex:1; position:relative; display:flex; align-items:center; justify-content:center; overflow:hidden;}
.ad-inner img, .ad-inner video{width:100%; height:100%; object-fit:cover;}
.ad-text-slide{text-align:center; padding:20px;}
.ad-text-logo{font-family:var(--font-mono); font-size:13px; letter-spacing:3px; color:var(--text-dim); margin-bottom:14px;}
.ad-text-main{font-size:19px; font-weight:700; max-width:32ch;}
.ad-caption{position:absolute; bottom:0; right:0; left:0; padding:14px 16px; background:linear-gradient(0deg, rgba(10,13,18,.9), transparent); font-size:13px; color:var(--text);}
.ad-topbar{position:absolute; top:12px; left:12px; right:12px; z-index:2; display:flex; align-items:center; justify-content:space-between;}
.ad-label{font-family:var(--font-mono); font-size:10px; letter-spacing:1px; color:var(--text-dim); background:rgba(10,13,18,.6); padding:5px 10px; border-radius:var(--radius-pill);}
.ad-skip{font-family:var(--font-mono); font-size:11px; color:var(--text); background:rgba(10,13,18,.6); border:1px solid var(--line-strong); padding:6px 12px; border-radius:var(--radius-pill); cursor:pointer; display:none; align-items:center; gap:4px;}
.ad-skip:disabled{opacity:.5; cursor:not-allowed;}
.ad-skip:not(:disabled):hover{border-color:var(--text);}

.player-controls-row{display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 2px; flex-wrap:wrap; border-bottom:1px solid var(--line); margin-bottom:26px;}
.select-wrap{display:flex; align-items:center; gap:10px; font-family:var(--font-mono); font-size:12px; color:var(--text-dim);}
select.quality-select{background:var(--surface); color:var(--text); border:1px solid var(--line-strong); border-radius:var(--radius-pill); padding:9px 14px; font-family:var(--font-mono); font-size:12px;}
.dl-wrap{position:relative;}
.dl-menu{position:absolute; top:calc(100% + 8px); left:0; background:var(--surface-2); border:1px solid var(--line-strong); border-radius:var(--radius-md); min-width:170px; display:none; z-index:20; overflow:hidden; box-shadow:var(--shadow-md);}
.dl-menu.open{display:block;}
.dl-menu a, .dl-menu span{display:flex; justify-content:space-between; padding:11px 16px; font-family:var(--font-mono); font-size:12px; color:var(--text); text-decoration:none; border-bottom:1px solid var(--line);}
.dl-menu a:hover{background:var(--sport); color:#0a0d12;}
.dl-menu span{color:var(--text-dim); cursor:not-allowed;}
.dl-menu a:last-child, .dl-menu span:last-child{border-bottom:none;}

.player-info h1{font-size:27px; font-weight:800; margin-bottom:14px;}
.player-tags{display:flex; gap:9px; margin-bottom:18px; flex-wrap:wrap;}
.tag-chip{font-family:var(--font-mono); font-size:11px; padding:6px 13px; border:1px solid var(--line-strong); border-radius:var(--radius-pill); color:var(--text-dim); letter-spacing:.5px;}
.player-desc{color:var(--text-dim); font-size:14.5px; max-width:70ch;}

/* ---------- engagement: like / share ---------- */
.engage-row{display:flex; align-items:center; gap:12px; margin-bottom:22px;}
.engage-btn{
  display:inline-flex; align-items:center; gap:8px; background:var(--surface); border:1px solid var(--line-strong);
  color:var(--text-dim); font-family:var(--font-mono); font-size:13px; padding:10px 18px; border-radius:var(--radius-pill);
  cursor:pointer; transition:.2s;
}
.engage-btn:hover{color:var(--text); border-color:var(--text-dim);}
.engage-btn .ic-heart{transition:.2s;}
.engage-btn.liked{color:#fff; background:var(--sport); border-color:transparent; box-shadow:0 8px 22px -10px var(--sport-glow);}
.share-menu a{justify-content:flex-start; gap:10px;}

/* ---------- comments ---------- */
.comments-wrap{margin-top:44px; padding-top:34px; border-top:1px solid var(--line);}
.masir-comments .comments-title{font-size:19px; font-weight:800; margin-bottom:22px;}
.comment-list{list-style:none; display:flex; flex-direction:column; gap:18px; margin-bottom:30px;}
.comment-list .children{list-style:none; margin-top:18px; padding-right:28px; display:flex; flex-direction:column; gap:18px; border-right:2px solid var(--line);}
.comment-list li > article{
  background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-md); padding:16px 18px;
}
.comment-list .comment-author{display:flex; align-items:center; gap:10px; margin-bottom:8px;}
.comment-list .comment-author img{border-radius:50%; display:block;}
.comment-list .comment-author .fn{font-style:normal; font-weight:700; font-size:13.5px;}
.comment-list .comment-metadata{font-family:var(--font-mono); font-size:11px; color:var(--text-dim);}
.comment-list .comment-metadata a{text-decoration:none; color:inherit;}
.comment-list .comment-content p{color:var(--text-dim); font-size:13.5px; line-height:1.9;}
.comment-list .reply{margin-top:10px;}
.comment-list .reply a{font-family:var(--font-mono); font-size:11px; color:var(--sport-solid); text-decoration:none;}
.comments-closed{color:var(--text-dim); font-family:var(--font-mono); font-size:13px;}

.comment-respond{background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-lg); padding:24px;}
#reply-title{font-size:16px; font-weight:800; margin-bottom:16px;}
.comment-form p{margin-bottom:14px;}
.comment-form input[type="text"], .comment-form input[type="email"], .comment-form input[type="url"], .comment-form textarea{
  width:100%; background:var(--bg-soft); border:1px solid var(--line-strong); color:var(--text);
  padding:12px 14px; border-radius:var(--radius-md); font-family:var(--font-body); font-size:14px;
}
.comment-form textarea{min-height:110px; resize:vertical;}
.comment-form input:focus, .comment-form textarea:focus{outline:none; border-color:var(--sport-solid);}
.comment-form-cookies-consent{display:flex; align-items:center; gap:8px; font-size:12px; color:var(--text-dim);}
.comment-form .form-submit input{border:none; cursor:pointer;}

/* ---------- footer ---------- */
footer.site-footer{border-top:1px solid var(--line); margin-top:50px;}
.footer-inner{max-width:1280px; margin:0 auto; padding:28px 24px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;}
.footer-inner p{font-family:var(--font-mono); font-size:11px; color:var(--text-dim); letter-spacing:.5px;}

.toast{position:fixed; bottom:22px; right:22px; background:var(--text); color:#0a0d12; padding:13px 20px; border-radius:var(--radius-pill); font-family:var(--font-mono); font-size:12px; z-index:100; opacity:0; transform:translateY(10px); transition:.25s; pointer-events:none; box-shadow:var(--shadow-md);}
.toast.show{opacity:1; transform:translateY(0);}

::-webkit-scrollbar{width:10px;}
::-webkit-scrollbar-track{background:var(--bg);}
::-webkit-scrollbar-thumb{background:var(--line-strong); border-radius:6px;}
a:focus-visible, button:focus-visible, select:focus-visible, input:focus-visible{outline:2px solid var(--sport-solid); outline-offset:2px;}

/* ---------- mobile nav toggle ---------- */
.nav-toggle{
  display:none; flex-direction:column; justify-content:center; gap:4px;
  width:38px; height:38px; background:none; border:1px solid var(--line-strong); border-radius:var(--radius-sm);
  cursor:pointer; padding:0;
}
.nav-toggle span{display:block; width:16px; height:2px; background:var(--text); margin:0 auto; transition:.25s; border-radius:2px;}
.nav-toggle.open span:nth-child(1){transform:translateY(6px) rotate(45deg);}
.nav-toggle.open span:nth-child(2){opacity:0;}
.nav-toggle.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}
.admin-hint-mobile{display:none;}

/* ==========================================================
   ریسپانسیو — تبلت و موبایل
   ========================================================== */
@media (max-width:900px){
  .grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr)); gap:14px;}
  .cat-tiles{grid-template-columns:1fr 1fr; gap:14px;}
  .hero-v2-content h1{max-width:20ch;}
}

@media (max-width:760px){
  .header-inner{padding:12px 16px;}
  .nav-toggle{display:flex;}
  nav.main-nav{
    display:none; position:absolute; top:100%; right:0; left:0; flex-direction:column; align-items:stretch;
    background:rgba(10,13,18,.98); backdrop-filter:blur(14px); border-bottom:1px solid var(--line); padding:10px 16px 16px; gap:2px;
  }
  nav.main-nav.open{display:flex;}
  .nav-btn{width:100%; text-align:center; padding:12px 14px;}
  .admin-hint-desktop{display:none;}
  .admin-hint-mobile{display:block; text-align:center; margin-top:8px;}

  .hero-v2{min-height:auto;}
  .hero-v2-content{padding:26px 16px 24px;}
  .hero-v2-content h1{font-size:clamp(21px,6vw,28px); max-width:100%;}
  .hero-v2-content p{font-size:14px;}
  .hero-actions{width:100%;}
  .hero-actions .btn{flex:1; justify-content:center;}

  .section{padding:22px 16px;}
  .section-head h2{font-size:18px;}
  .grid{grid-template-columns:repeat(2,1fr); gap:10px;}
  .cat-tiles{grid-template-columns:1fr;}
  .card-body h3{font-size:12.5px;}
  .card-meta{font-size:9.5px; flex-wrap:wrap; gap:6px;}

  .player-page{padding:20px 14px 44px;}
  .player-controls-row{gap:10px;}
  .select-wrap{width:100%; justify-content:space-between;}
  select.quality-select{flex:1;}
  .dl-wrap{width:100%;}
  #dlToggle{width:100%; justify-content:center;}
  .dl-menu{left:0; right:0; min-width:0;}
  .player-info h1{font-size:20px;}
  .engage-row{flex-wrap:wrap;}
  .engage-btn{flex:1; justify-content:center;}

  .footer-inner{flex-direction:column; text-align:center;}
}

@media (max-width:420px){
  .grid{grid-template-columns:1fr 1fr;}
  .logo small{display:none;}
  .play-btn{width:54px; height:54px;}
}

/* ---------- custom logo (from Customizer) ---------- */
.logo-custom{display:flex; align-items:center;}
.logo-custom img{max-height:42px; width:auto; display:block;}

/* ---------- magazine layout ---------- */
.magazine-hero{padding-top:30px;}
.magazine-grid{display:grid; grid-template-columns:2fr 1fr; gap:20px; align-items:stretch;}
@media (max-width:900px){.magazine-grid{grid-template-columns:1fr;}}
.magazine-featured{
  position:relative; border-radius:var(--radius-lg); overflow:hidden; min-height:380px; display:flex; align-items:flex-end;
  text-decoration:none; color:#fff; box-shadow:var(--shadow-lg); border:1px solid var(--line);
}
.magazine-featured img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.magazine-featured::after{content:''; position:absolute; inset:0; background:linear-gradient(0deg, rgba(10,13,18,.92), rgba(10,13,18,.1) 60%);}
.magazine-featured-body{position:relative; z-index:1; padding:26px;}
.magazine-featured-body h1{font-size:clamp(20px,2.6vw,30px); font-weight:800; max-width:20ch; margin-top:8px;}
.magazine-list{background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-lg); padding:16px; display:flex; flex-direction:column; gap:10px; max-height:420px; overflow-y:auto;}
.magazine-list-title{font-size:14px; font-weight:800; margin-bottom:4px; padding:0 4px;}
.magazine-list-item{display:flex; gap:10px; align-items:center; text-decoration:none; color:var(--text); padding:8px; border-radius:var(--radius-md); transition:.15s;}
.magazine-list-item:hover{background:rgba(255,255,255,.05);}
.magazine-list-item img{width:64px; height:44px; object-fit:cover; border-radius:var(--radius-sm); flex-shrink:0;}
.magazine-list-item-body{display:flex; flex-direction:column; gap:4px; min-width:0;}
.magazine-list-item-body strong{font-size:12.5px; font-weight:600; line-height:1.4; overflow:hidden; text-overflow:ellipsis; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;}
.magazine-list-item-body em{font-family:var(--font-mono); font-style:normal; font-size:10px; color:var(--text-dim);}

/* ---------- announcement bar ---------- */
.announce-bar{background:var(--sport-solid, #ff7a45); color:#1a0e06; text-align:center; font-family:var(--font-mono); font-size:12px; font-weight:700; padding:8px 16px;}
.site-header.not-sticky{position:static;}

/* ---------- news ticker ---------- */
.masir-ticker{background:var(--ticker-bg,#12181a); color:var(--ticker-text,#f5f2ea); display:flex; align-items:stretch; border-bottom:1px solid var(--line);}
.ticker-label{flex-shrink:0; display:flex; align-items:center; font-family:var(--font-mono); font-size:11px; font-weight:700; background:var(--sport); color:#1a0e06; padding:8px 16px;}
.ticker-viewport{flex:1; overflow:hidden; display:flex; align-items:center;}
.ticker-track{display:flex; align-items:center; gap:22px; white-space:nowrap; padding:8px 20px; animation:masir-ticker-scroll linear infinite;}
.ticker-item{display:inline-flex;}
.ticker-track a, .ticker-track span{font-size:12.5px; color:inherit; text-decoration:none;}
.ticker-track a:hover{text-decoration:underline;}
.ticker-dot{font-size:6px; opacity:.5; margin-inline-start:22px;}
.ticker-viewport:hover .ticker-track{animation-play-state:paused;}
@keyframes masir-ticker-scroll{from{transform:translateX(0);} to{transform:translateX(50%);}}

/* حالت فهرست ثابت */
.ticker-list{flex:1; display:flex; flex-wrap:wrap; align-items:center; gap:8px 18px; padding:9px 18px;}
.ticker-list .ticker-item{font-size:12px; padding:4px 12px; background:rgba(255,255,255,.07); border-radius:var(--radius-pill);}
.ticker-list .ticker-item a{color:inherit; text-decoration:none;}
.ticker-list .ticker-item a:hover{text-decoration:underline;}

/* حالت یکی‌یکی محوشونده */
.ticker-fade{flex:1; position:relative; height:38px; overflow:hidden;}
.ticker-fade-item{
  position:absolute; inset:0; display:flex; align-items:center; padding:0 18px; font-size:13px;
  opacity:0; transform:translateY(6px); transition:opacity .5s ease, transform .5s ease; pointer-events:none;
}
.ticker-fade-item.active{opacity:1; transform:translateY(0); pointer-events:auto;}
.ticker-fade-item a{color:inherit; text-decoration:none;}
.ticker-fade-item a:hover{text-decoration:underline;}

/* ---------- social icons ---------- */
.social-icons{display:flex; align-items:center; gap:8px;}
.social-icon{
  width:30px; height:30px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,.06); border:1px solid var(--line-strong); color:var(--text); font-size:12px; font-weight:700;
  text-decoration:none; transition:.2s;
}
.social-icon:hover{background:var(--sport); color:#1a0e06; border-color:transparent;}
.social-icons-nav{margin-inline-start:8px;}

/* ---------- footer columns ---------- */
.footer-cols{max-width:1280px; margin:0 auto; padding:36px 24px 10px; display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:24px; border-top:1px solid var(--line);}
.footer-col h4{font-size:13.5px; font-weight:700; margin-bottom:10px;}
.footer-col p{font-size:12.5px; color:var(--text-dim); line-height:1.9;}

/* ---------- promo boxes ---------- */
.boxes-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:16px;}
.promo-box{
  display:block; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-lg); overflow:hidden;
  text-decoration:none; color:var(--text); box-shadow:var(--shadow-md); transition:.2s;
  border-top:3px solid var(--box-color, var(--sport-solid));
}
.promo-box:hover{transform:translateY(-4px);}
.promo-box img{width:100%; height:120px; object-fit:cover;}
.promo-box-body{padding:16px;}
.promo-box-body h3{font-size:15px; font-weight:700; margin-bottom:6px;}
.promo-box-body p{font-size:12.5px; color:var(--text-dim); line-height:1.8;}

/* ---------- slider ---------- */
.masir-slider{position:relative; min-height:52vh; max-height:560px; overflow:hidden;}
.masir-slider .slide{
  position:absolute; inset:0; opacity:0; transition:opacity .6s ease; background-size:cover; background-position:center;
  display:flex; align-items:flex-end;
}
.masir-slider .slide.active{opacity:1;}
.slide-overlay{position:absolute; inset:0; background:linear-gradient(0deg, var(--bg) 5%, rgba(10,13,18,.4) 60%, rgba(10,13,18,.1));}
.slide-content{position:relative; z-index:1; max-width:1280px; margin:0 auto; padding:40px 24px; width:100%;}
.slide-content h1{font-size:clamp(24px,4vw,42px); font-weight:800; max-width:18ch; margin-bottom:10px;}
.slide-content p{color:var(--text-dim); max-width:50ch; margin-bottom:18px;}
.slide-dots{position:absolute; bottom:16px; left:50%; transform:translateX(-50%); z-index:2; display:flex; gap:8px;}
.slide-dots button{width:9px; height:9px; border-radius:50%; border:none; background:rgba(255,255,255,.35); cursor:pointer; padding:0;}
.slide-dots button.active{background:var(--sport-solid); width:22px; border-radius:5px;}

@media (max-width:760px){
  .footer-cols{padding:24px 16px 6px; grid-template-columns:1fr 1fr;}
  .masir-slider{min-height:auto;}
  .slide-content{padding:24px 16px;}
  .ticker-label{display:none;}
}
