/* ============================================================
   bahamfilm — Global Stylesheet
   ============================================================ */
:root {
  --bg-deep:       #0d0f14;
  --bg-surface:    #151820;
  --bg-raised:     #1c1f2b;
  --accent:        #e05c5c;
  --accent-dim:    #b84343;
  --accent-glow:   rgba(224, 92, 92, 0.25);
  --text-primary:  #f0ece6;
  --text-secondary:#9a9fad;
  --text-muted:    #5c6170;
  --border:        rgba(255,255,255,0.07);
  --border-hover:  rgba(255,255,255,0.14);
  --radius-sm:     6px;
  --radius-md:     12px;
  --radius-lg:     18px;
  --transition:    0.2s ease;
  --shadow-card:   0 8px 40px rgba(0,0,0,0.55);
  --shadow-glow:   0 0 24px var(--accent-glow);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: "Vazirmatn", system-ui, sans-serif;
  font-size: 15px; line-height: 1.65;
  color: var(--text-primary);
  background-color: var(--bg-deep);
  direction: rtl;
  -webkit-font-smoothing: antialiased;
}
.sr-only { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
.hidden { display: none !important; }

/* ── HOME PAGE ──────────────────────────────────────────────── */
.home-body { min-height:100dvh;display:flex;align-items:center;justify-content:center;overflow-y:auto;position:relative; }
.orb { position:fixed;border-radius:50%;filter:blur(100px);pointer-events:none;z-index:0; }
.orb-1 { width:520px;height:520px;background:radial-gradient(circle,rgba(224,92,92,0.18),transparent 70%);top:-160px;right:-160px; }
.orb-2 { width:400px;height:400px;background:radial-gradient(circle,rgba(100,80,200,0.12),transparent 70%);bottom:-120px;left:-120px; }
.home-wrap { position:relative;z-index:1;width:100%;max-width:480px;padding:24px 20px 40px;display:flex;flex-direction:column;align-items:center;gap:28px; }

.brand { text-align:center; }
.brand-icon { font-size:2.5rem; }
.brand-name { font-size:2.6rem;font-weight:700;letter-spacing:-0.5px;color:var(--text-primary);margin-top:6px; }
.brand-accent { color:var(--accent); }
.brand-sub { font-size:1rem;color:var(--text-secondary);margin-top:4px; }

.card { background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px 28px;width:100%;box-shadow:var(--shadow-card); }
.card-header { display:flex;align-items:center;gap:12px;margin-bottom:24px; }
.card-title { font-size:1.3rem;font-weight:600; }
.back-btn { display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--radius-sm);color:var(--text-secondary);border:1px solid var(--border);background:transparent;text-decoration:none;transition:var(--transition);flex-shrink:0; }
.back-btn svg { width:18px;height:18px;transform:scaleX(-1); }
.back-btn:hover { color:var(--text-primary);border-color:var(--border-hover);background:var(--bg-raised); }
.home-actions { display:flex;flex-direction:column;gap:14px; }

.btn { display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 24px;border-radius:var(--radius-md);font-family:inherit;font-size:1rem;font-weight:600;cursor:pointer;border:none;transition:var(--transition);text-decoration:none; }
.btn-lg { padding:15px 28px;font-size:1.05rem; }
.btn-full { width:100%; }
.btn-icon { width:20px;height:20px; }
.btn-primary { background:var(--accent);color:#fff; }
.btn-primary:hover:not(:disabled) { background:var(--accent-dim);box-shadow:var(--shadow-glow); }
.btn-primary:disabled { opacity:0.6;cursor:not-allowed; }
.btn-ghost { background:var(--bg-raised);color:var(--text-primary);border:1px solid var(--border); }
.btn-ghost:hover { border-color:var(--border-hover);background:#1f2435; }

.form-group { margin-bottom:20px; }
.form-label { display:block;font-size:0.88rem;font-weight:600;color:var(--text-secondary);margin-bottom:8px;text-transform:uppercase;letter-spacing:0.5px; }
.form-input { width:100%;padding:12px 14px;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-family:inherit;font-size:0.97rem;transition:var(--transition);outline:none; }
.form-input:focus { border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow); }
.form-input::placeholder { color:var(--text-muted); }
.form-hint { font-size:0.8rem;color:var(--text-muted);margin-top:6px; }

.file-drop { display:block;border:2px dashed var(--border-hover);border-radius:var(--radius-md);padding:32px 20px;text-align:center;cursor:pointer;transition:var(--transition); }
.file-drop:hover { border-color:var(--accent);background:rgba(224,92,92,0.05); }
.file-drop-inner { display:flex;flex-direction:column;align-items:center;gap:8px; }
.file-drop-icon { width:40px;height:40px;color:var(--accent); }
.file-drop-text { font-size:0.95rem;color:var(--text-primary);font-weight:500; }
.file-drop-sub  { font-size:0.8rem;color:var(--text-muted); }

/* ── Upload Progress ─────────────────────────────────────────── */
.progress-wrap { margin-bottom:20px;display:flex;flex-direction:column;align-items:center;gap:12px; }
.progress-label { font-size:0.9rem;color:var(--text-primary);font-weight:500;text-align:center; }
.upload-speed { font-size:0.78rem;color:var(--text-muted);text-align:center; }

/* Circle progress */
.upload-circle-wrap { position:relative;width:120px;height:120px; }
.upload-circle { transform:rotate(-90deg);width:120px;height:120px; }
.upload-circle-bg   { fill:none;stroke:var(--bg-raised);stroke-width:8; }
.upload-circle-fill { fill:none;stroke:var(--accent);stroke-width:8;stroke-linecap:round;transition:stroke-dashoffset 0.4s ease; }
.upload-circle-text { position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:1.1rem;font-weight:700;color:var(--text-primary); }
.upload-circle-text small { font-size:0.7rem;color:var(--text-muted);font-weight:400; }

/* Linear bar */
.progress-bar-track { width:100%;background:var(--bg-raised);border-radius:999px;height:6px;overflow:hidden; }
.progress-bar-fill  { height:100%;width:0%;background:linear-gradient(90deg,var(--accent-dim),var(--accent));border-radius:999px;transition:width 0.3s ease; }

.alert { padding:12px 14px;border-radius:var(--radius-sm);font-size:0.9rem;margin-bottom:18px; }
.alert-error { background:rgba(224,92,92,0.12);border:1px solid rgba(224,92,92,0.35);color:#f0a0a0; }

/* ── Password field with eye toggle ──────────────────────────── */
.password-wrap { position:relative; }
.password-wrap .form-input { padding-left:44px; }  /* جا برای دکمه چشم (RTL: سمت چپ) */
.password-toggle {
  position:absolute;left:8px;top:50%;transform:translateY(-50%);
  background:transparent;border:none;cursor:pointer;
  color:var(--text-muted);padding:6px;border-radius:var(--radius-sm);
  display:flex;align-items:center;justify-content:center;
  transition:color var(--transition);
}
.password-toggle:hover { color:var(--text-primary); }
.password-toggle svg { width:20px;height:20px; }

/* ── Source tabs (آپلود فایل / لینک ویدیو) ───────────────────── */
.source-tabs {
  display:flex;gap:8px;margin-bottom:20px;
  background:var(--bg-raised);border:1px solid var(--border);
  border-radius:var(--radius-md);padding:5px;
}
.source-tab {
  flex:1;padding:10px 8px;border:none;border-radius:var(--radius-sm);
  background:transparent;color:var(--text-secondary);
  font-family:inherit;font-size:0.9rem;font-weight:600;cursor:pointer;
  transition:var(--transition);
}
.source-tab:hover { color:var(--text-primary); }
.source-tab.active { background:var(--accent);color:#fff;box-shadow:var(--shadow-glow); }

/* ── Subtitle upload box ─────────────────────────────────────── */
.subtitle-note {
  font-size:0.8rem;color:#93c5fd;line-height:1.8;
  background:rgba(96,165,250,0.08);border:1px solid rgba(96,165,250,0.25);
  border-radius:var(--radius-sm);padding:10px 12px;margin-bottom:10px;
}
.file-drop-sm { padding:18px 16px; }
.sub-clear-btn {
  margin-top:8px;background:transparent;border:1px solid rgba(224,92,92,0.4);
  color:#f0a0a0;font-family:inherit;font-size:0.78rem;cursor:pointer;
  border-radius:var(--radius-sm);padding:6px 12px;transition:var(--transition);
}
.sub-clear-btn:hover { background:rgba(224,92,92,0.12); }

/* ── Upload done box (فیلم آپلود شد، بریم تو اتاق) ───────────── */
.upload-done-box {
  text-align:center;padding:24px 16px;margin-bottom:20px;
  background:rgba(74,222,128,0.06);border:1px solid rgba(74,222,128,0.3);
  border-radius:var(--radius-md);
  display:flex;flex-direction:column;align-items:center;gap:10px;
}
.upload-done-icon  { font-size:2.4rem; }
.upload-done-title { font-size:1.05rem;font-weight:700;color:#4ade80; }
.upload-done-sub   { font-size:0.85rem;color:var(--text-secondary);margin-bottom:6px; }

/* افزودن زیرنویس بعد از آپلود (وقتی یادش رفته) */
.late-sub-box {
  width:100%;padding:12px;margin-bottom:4px;
  background:rgba(96,165,250,0.06);border:1px dashed rgba(96,165,250,0.35);
  border-radius:var(--radius-sm);
}
.late-sub-text   { font-size:0.8rem;color:#93c5fd;margin-bottom:10px; }
.late-sub-status { font-size:0.78rem;margin-top:8px;min-height:1.2em; }

/* ── ROOM PAGE ──────────────────────────────────────────────── */
.room-body { display:flex;flex-direction:column;height:100dvh;overflow:hidden;background:var(--bg-deep); }

.room-topbar { display:flex;align-items:center;gap:16px;padding:10px 20px;background:var(--bg-surface);border-bottom:1px solid var(--border);flex-shrink:0;z-index:10; }
.room-topbar-brand { display:flex;align-items:center;gap:8px;font-weight:700;font-size:1.05rem; }
.room-topbar-info { flex:1; }
.room-id-badge { font-size:0.82rem;color:var(--text-secondary);background:var(--bg-raised);border:1px solid var(--border);border-radius:999px;padding:3px 12px; }
.sync-status { display:flex;align-items:center;gap:7px;font-size:0.82rem;color:var(--text-secondary); }
.sync-dot { width:8px;height:8px;border-radius:50%;background:var(--text-muted);transition:background 0.4s; }
.sync-dot.dot-connected { background:#4caf6e; }

.reminder-banner { display:flex;align-items:center;gap:10px;background:rgba(224,180,60,0.1);border-bottom:1px solid rgba(224,180,60,0.2);color:#e0c056;font-size:0.88rem;padding:9px 20px;flex-shrink:0; }
.reminder-icon { font-size:1rem; }
.reminder-close { margin-right:auto;background:transparent;border:none;color:inherit;cursor:pointer;font-size:0.85rem;opacity:0.7;transition:opacity var(--transition);padding:2px 6px; }
.reminder-close:hover { opacity:1; }

.room-main { display:flex;flex:1;overflow:hidden; }

.video-col { flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#000;position:relative;min-width:0; }
.video-wrapper { position:relative;width:100%;height:100%;display:flex;flex-direction:column;background:#000; }
.main-video { flex:1;width:100%;height:100%;object-fit:contain;display:block;cursor:pointer; }

/* ── Video Loading Overlay ──────────────────────────────────── */
.video-loading {
  position:absolute;inset:0;
  background:rgba(10,12,18,0.88);
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  gap:16px;z-index:15;
  transition:opacity 0.4s;
}
.loading-spinner {
  width:52px;height:52px;
  border:4px solid rgba(255,255,255,0.1);
  border-top-color:var(--accent);
  border-radius:50%;
  animation:spin 0.9s linear infinite;
}
@keyframes spin { to { transform:rotate(360deg); } }
.loading-text { color:var(--text-primary);font-size:0.95rem;font-weight:500; }
.loading-sub  { color:var(--text-muted);font-size:0.78rem; }
.loading-bar-track { width:220px;background:rgba(255,255,255,0.1);border-radius:999px;height:4px;overflow:hidden; }
.loading-bar-fill  { height:100%;width:0%;background:var(--accent);border-radius:999px;transition:width 0.5s ease; }

/* ── Custom Controls ────────────────────────────────────────── */
/* Controls: hidden by default, shown via JS class toggle */
.video-controls {
  display:flex;align-items:center;gap:10px;padding:10px 14px;
  background:linear-gradient(0deg,rgba(0,0,0,0.88) 0%,transparent 100%);
  position:absolute;bottom:0;left:0;right:0;
  opacity:0;
  transition:opacity 0.35s ease;
  z-index:10;
  pointer-events:none;   /* when hidden, clicks go through to video */
}
/* JS adds .controls-visible to show them */
.video-controls.controls-visible {
  opacity:1;
  pointer-events:auto;
}
/* Hide cursor when controls hidden (playing & idle) */
.video-wrapper:not(.controls-active) {
  cursor:none;
}
.ctrl-btn { background:transparent;border:none;color:#fff;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:color var(--transition),background var(--transition);flex-shrink:0; }
.ctrl-btn:hover { color:var(--accent);background:rgba(255,255,255,0.08); }
.ctrl-icon { width:20px;height:20px; }

.seek-wrap { flex:1;min-width:0;position:relative;height:18px;display:flex;align-items:center; }
.seek-buffered { position:absolute;top:50%;transform:translateY(-50%);left:0;height:4px;background:rgba(255,255,255,0.25);border-radius:2px;pointer-events:none;width:0%;transition:width 0.5s; }
.seek-bar,.vol-bar { -webkit-appearance:none;appearance:none;width:100%;height:4px;border-radius:2px;background:rgba(255,255,255,0.15);outline:none;cursor:pointer;transition:height var(--transition);position:relative;z-index:1; }
.seek-bar:hover,.vol-bar:hover { height:6px; }
.seek-bar::-webkit-slider-thumb,.vol-bar::-webkit-slider-thumb { -webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--accent);cursor:pointer;transition:transform var(--transition); }
.seek-bar::-webkit-slider-thumb:hover,.vol-bar::-webkit-slider-thumb:hover { transform:scale(1.3); }

.time-display { font-size:0.78rem;color:rgba(255,255,255,0.75);white-space:nowrap;font-variant-numeric:tabular-nums;flex-shrink:0; }
.vol-wrap { display:flex;align-items:center;gap:6px;flex-shrink:0; }
.vol-bar { width:70px; }

/* ── Fullscreen Chat Overlay ────────────────────────────────── */
.fs-chat-overlay { position:absolute;bottom:70px;left:16px;right:16px;display:flex;flex-direction:column;gap:8px;align-items:flex-start;pointer-events:none;z-index:20; }
.fs-overlay-msg { background:rgba(10,12,18,0.65);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff;font-size:0.9rem;padding:8px 14px;border-radius:var(--radius-sm);border-right:3px solid var(--accent);max-width:50%;word-break:break-word;opacity:0;transform:translateY(6px);transition:opacity 0.35s ease,transform 0.35s ease; }
.fs-overlay-msg--visible { opacity:1;transform:translateY(0); }
.fs-overlay-msg--hiding { opacity:0;transform:translateY(-4px);transition:opacity 0.9s ease,transform 0.9s ease; }

/* ── Chat Sidebar ───────────────────────────────────────────── */
.chat-col { width:320px;flex-shrink:0;display:flex;flex-direction:column;border-right:1px solid var(--border);background:var(--bg-surface);overflow:hidden; }
.chat-panel { display:flex;flex-direction:column;height:100%; }
.chat-username-bar { display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border);flex-shrink:0; }
.chat-username-label { font-size:0.8rem;color:var(--text-muted);white-space:nowrap; }
.chat-username-input { flex:1;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-family:inherit;font-size:0.88rem;padding:6px 10px;outline:none;transition:border-color var(--transition); }
.chat-username-input:focus { border-color:var(--accent); }
.chat-messages { flex:1;overflow-y:auto;padding:16px 14px;display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth; }
.chat-messages::-webkit-scrollbar { width:4px; }
.chat-messages::-webkit-scrollbar-track { background:transparent; }
.chat-messages::-webkit-scrollbar-thumb { background:var(--border-hover);border-radius:2px; }
.chat-empty { text-align:center;color:var(--text-muted);font-size:0.85rem;padding:20px 0; }
.chat-bubble { display:flex;flex-direction:column;gap:3px;max-width:85%; }
.chat-bubble-me    { align-self:flex-end;align-items:flex-end; }
.chat-bubble-them  { align-self:flex-start;align-items:flex-start; }
.chat-user { font-size:0.72rem;font-weight:600;color:var(--text-muted);padding:0 4px; }
.chat-text { padding:9px 13px;border-radius:var(--radius-md);font-size:0.9rem;line-height:1.5;word-break:break-word; }
.chat-bubble-me   .chat-text { background:var(--accent);color:#fff;border-bottom-left-radius:4px; }
.chat-bubble-them .chat-text { background:var(--bg-raised);color:var(--text-primary);border-bottom-right-radius:4px; }
.chat-input-row { display:flex;align-items:center;gap:8px;padding:12px 14px;border-top:1px solid var(--border);flex-shrink:0; }
.chat-text-input { flex:1;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-family:inherit;font-size:0.92rem;padding:10px 12px;outline:none;transition:border-color var(--transition); }
.chat-text-input:focus { border-color:var(--accent); }
.chat-text-input::placeholder { color:var(--text-muted); }
.chat-send-btn { background:var(--accent);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background var(--transition),box-shadow var(--transition); }
.chat-send-btn:hover { background:var(--accent-dim);box-shadow:var(--shadow-glow); }
.send-icon { width:18px;height:18px;transform:scaleX(-1); }

/* ── Responsive ─────────────────────────────────────────────── */
@media (max-width:768px) {
  .room-main { flex-direction:column; }
  .chat-col { width:100%;height:38dvh;border-right:none;border-top:1px solid var(--border); }
  .video-col { height:62dvh;flex:unset; }
  .fs-overlay-msg { max-width:90%; }
  .vol-bar { width:50px; }
  .time-display { display:none; }
}
@media (max-width:480px) {
  .home-wrap { padding:16px 12px 32px; }
  .card { padding:24px 18px; }
  .brand-name { font-size:2rem; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { transition-duration:0.01ms !important;animation-duration:0.01ms !important; }
}

/* Skip ±10s buttons */
.skip-btn { position:relative; }
.skip-btn svg text { font-weight:700; pointer-events:none; }

/* ── Subtitle sync menu (چرخ‌دنده) ───────────────────────────── */
.sub-settings-wrap { position:relative;flex-shrink:0; }
.sub-settings-menu {
  position:absolute;bottom:44px;left:50%;transform:translateX(-50%);
  width:290px;max-width:86vw;
  background:rgba(18,21,30,0.97);border:1px solid var(--border-hover);
  border-radius:var(--radius-md);box-shadow:var(--shadow-card);
  padding:14px;z-index:30;
  direction:rtl;text-align:right;
}
.sub-menu-title { font-size:0.9rem;font-weight:700;color:var(--text-primary);margin-bottom:6px; }
.sub-menu-desc  { font-size:0.75rem;color:var(--text-secondary);line-height:1.7;margin-bottom:12px; }
.sub-sync-row {
  display:flex;align-items:center;justify-content:center;gap:6px;
  direction:ltr;   /* دکمه‌های عددی چپ‌به‌راست منطقی‌ترن */
  margin-bottom:8px;
}
.sub-sync-btn {
  background:var(--bg-raised);border:1px solid var(--border);
  color:var(--text-primary);font-family:inherit;font-size:0.82rem;font-weight:600;
  border-radius:var(--radius-sm);padding:7px 9px;cursor:pointer;
  transition:var(--transition);min-width:44px;
  font-variant-numeric:tabular-nums;
}
.sub-sync-btn:hover { border-color:var(--accent);color:var(--accent);background:rgba(224,92,92,0.08); }
.sub-sync-value {
  min-width:76px;text-align:center;font-size:0.82rem;font-weight:700;
  color:var(--text-primary);font-variant-numeric:tabular-nums;
}
.sub-sync-hint { font-size:0.7rem;color:var(--text-muted);text-align:center;margin-bottom:12px;line-height:1.7; }
.sub-menu-row { display:flex;gap:8px; }
.sub-menu-action {
  flex:1;background:var(--bg-raised);border:1px solid var(--border);
  color:var(--text-secondary);font-family:inherit;font-size:0.78rem;font-weight:600;
  border-radius:var(--radius-sm);padding:8px 6px;cursor:pointer;transition:var(--transition);
}
.sub-menu-action:hover { color:var(--text-primary);border-color:var(--border-hover);background:#1f2435; }

/* زیرنویس‌ها روی موبایل کمی کوچک‌تر */
video::cue {
  background:rgba(0,0,0,0.65);
  color:#fff;
  font-family:"Vazirmatn",system-ui,sans-serif;
  font-size:1.05rem;
  line-height:1.6;
}
@media (max-width:768px) {
  .sub-settings-menu { position:fixed;bottom:auto;top:50%;left:50%;transform:translate(-50%,-50%); }
  video::cue { font-size:0.9rem; }
}

/* ============================================================
   بنر تبلیغاتی — بالا و پایین صفحه اصلی
   ============================================================ */
.ad-banner {
  display: block;
  width: 100%;
  text-decoration: none;
  border-radius: var(--radius-md);
  transition: var(--transition);
  overflow: hidden;
  position: relative;
}

/* پرتو نور طلایی و border درخشان — فقط برای حالت متنی (تبلیغ متنی یا جای خالی) */
.ad-banner.ad-text,
.ad-banner.ad-empty {
  border: 1px solid rgba(251, 191, 36, 0.35);
  background: linear-gradient(135deg, rgba(251,191,36,0.08), rgba(251,191,36,0.02));
  box-shadow: 0 0 0 1px rgba(251,191,36,0.08), 0 6px 24px rgba(251,191,36,0.08);
}
.ad-banner.ad-text::before,
.ad-banner.ad-empty::before {
  /* پرتو نور طلایی متحرک */
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(100deg, transparent 20%, rgba(251,191,36,0.18) 50%, transparent 80%);
  background-size: 200% 100%;
  animation: ad-shimmer 3.2s ease-in-out infinite;
  pointer-events: none;
}
@keyframes ad-shimmer {
  0%   { background-position: 150% 0; }
  100% { background-position: -50% 0; }
}
.ad-banner.ad-text:hover,
.ad-banner.ad-empty:hover {
  border-color: rgba(251, 191, 36, 0.6);
  box-shadow: 0 0 0 1px rgba(251,191,36,0.16), 0 8px 30px rgba(251,191,36,0.16);
}

/* حالت متنیِ تبلیغ واقعی */
.ad-banner.ad-text {
  padding: 14px 18px;
  text-align: center;
}
.ad-text-content {
  font-size: 0.9rem;
  font-weight: 600;
  color: #fbbf24;
  position: relative;
  z-index: 1;
}

/* حالت عکس/ویدیوی تبلیغ واقعی — بدون پرتو نور، خودِ رسانه نمایش اصلیه */
.ad-banner.ad-media {
  padding: 0;
  line-height: 0;
  border: 1px solid var(--border);
}
.ad-banner.ad-media:hover { border-color: var(--border-hover); }
.ad-banner.ad-media img,
.ad-banner.ad-media video {
  width: 100%;
  max-height: 160px;
  object-fit: cover;
  display: block;
  border-radius: var(--radius-md);
}

/* حالت خالی — وقتی تبلیغی ثبت نشده */
button.ad-banner.ad-empty {
  font-family: inherit;
  cursor: pointer;
  padding: 14px 18px;
  text-align: center;
  font-size: 0.9rem;
  font-weight: 600;
  color: #fbbf24;
  position: relative;
}
button.ad-banner.ad-empty::after {
  content: "برای هماهنگی تبلیغات این بخش با ما در ارتباط باشید";
  display: block;
  margin-top: 4px;
  font-size: 0.72rem;
  font-weight: 400;
  color: var(--text-secondary);
  position: relative;
  z-index: 1;
}
button.ad-banner.ad-empty > span,
button.ad-banner.ad-empty {
  position: relative;
  z-index: 1;
}

.home-wrap { gap: 14px; }

/* ── معرفی سایت (سئو) ─────────────────────────────────────────── */
.seo-intro { padding: 26px 24px; }
.seo-title { font-size: 1.15rem; font-weight: 700; color: var(--text-primary); margin-bottom: 10px; }
.seo-subtitle { font-size: 1rem; font-weight: 700; color: var(--text-primary); margin: 18px 0 8px; }
.seo-text { font-size: 0.88rem; color: var(--text-secondary); line-height: 1.9; }
.seo-text strong { color: var(--text-primary); }
.seo-features { display: flex; flex-direction: column; gap: 8px; margin-top: 14px; }
.seo-feature { font-size: 0.84rem; color: var(--text-secondary); display: flex; gap: 8px; align-items: baseline; }
.seo-steps { margin: 0; padding-right: 18px; font-size: 0.85rem; color: var(--text-secondary); line-height: 2; }

/* مودال «بدون تبلیغ فعال» */
.ad-empty-modal-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.7);
  z-index: 9999;
  justify-content: center;
  align-items: center;
  padding: 16px;
}
.ad-empty-modal-overlay.show { display: flex; }
.ad-empty-modal-box {
  background: var(--bg-surface);
  border: 1px solid rgba(251,191,36,.3);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card);
  max-width: 380px;
  width: 100%;
  padding: 26px 22px;
  text-align: center;
}
.ad-empty-modal-box p {
  font-size: .9rem;
  color: var(--text-primary);
  line-height: 1.9;
  margin-bottom: 18px;
}
.ad-tg-link {
  display: inline-block;
  margin-top: 6px;
  color: #fbbf24;
  font-weight: 700;
  text-decoration: underline;
}
.ad-empty-modal-box button {
  width: 100%;
  padding: 11px;
  background: rgba(251,191,36,.12);
  border: 1px solid rgba(251,191,36,.4);
  border-radius: var(--radius-md);
  color: #fbbf24;
  font-family: inherit;
  font-size: .85rem;
  font-weight: 700;
  cursor: pointer;
  transition: var(--transition);
}
.ad-empty-modal-box button:hover { background: rgba(251,191,36,.22); }
