/* ==================================================================
   نوار ناوبری اصلی + صفحات جدید — الگوی SET Online (sportdata)
   اندازه‌های مرجع: navbar ارتفاع 52px، متن uppercase، dropdown با برند
   ================================================================== */

/* ---------- نوار ناوبری: زیر هدر برند، تمام‌عرض ---------- */
.public-page .main-nav {
  background: rgba(0, 0, 0, .55);
  border-top: 1px solid rgba(255, 255, 255, .07);
  border-bottom: 1px solid var(--border);
  position: sticky;
  top: 0;
  z-index: 45;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}
.public-page .main-nav-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 48px;
}
.public-page .nav-list {
  display: flex;
  align-items: center;
  gap: 2px;
  list-style: none;
  margin: 0;
  padding: 0;
  flex-wrap: wrap;
}
.public-page .nav-item { position: relative; }
.public-page .nav-item > a,
.public-page .nav-drop-toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 9px 13px;
  font-size: 13px;
  font-weight: 600;
  color: var(--text);
  text-decoration: none;
  background: none;
  border: 0;
  border-bottom: 3px solid transparent;
  cursor: pointer;
  font-family: inherit;
  white-space: nowrap;
  transition: color .15s ease, border-color .15s ease, background-color .15s ease;
}
.public-page .nav-item > a:hover,
.public-page .nav-drop-toggle:hover,
.public-page .nav-item.open .nav-drop-toggle {
  color: #fff;
  background: rgba(255, 255, 255, .06);
  border-bottom-color: var(--brand);
}
.public-page .nav-item.active > a,
.public-page .nav-item.active .nav-drop-toggle {
  color: #fff;
  border-bottom-color: var(--link);
}
.public-page .nav-item i { font-size: 12.5px; opacity: .9; }
.public-page .nav-caret { font-size: 10px !important; opacity: .6; }

/* ---------- زیرمنو (dropdown) — مثل مرجع: پس‌زمینهٔ بنفش‌خاکستری، radius 10 ---------- */
.public-page .nav-drop {
  position: absolute;
  top: calc(100% + 4px);
  right: 0;
  min-width: 232px;
  background: #1c1d26;
  border: 1px solid var(--brand-line);
  border-radius: var(--radius);
  box-shadow: 0 18px 45px rgba(0, 0, 0, .6);
  padding: 6px;
  list-style: none;
  margin: 0;
  display: none;
  z-index: 60;
}
.public-page .nav-item.open .nav-drop,
.public-page .nav-login-wrap.open .nav-drop { display: block; }
.public-page .nav-drop li { margin: 0; }
.public-page .nav-drop a {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 9px 11px;
  border-radius: 7px;
  color: var(--text);
  font-size: 12.5px;
  text-decoration: none;
  transition: background-color .13s ease, color .13s ease;
}
.public-page .nav-drop a:hover { background: var(--brand); color: #fff; }
.public-page .nav-drop a i { width: 15px; text-align: center; font-size: 12px; }

/* ---------- بخش راست: زبان + ورود ---------- */
.public-page .nav-right { display: flex; align-items: center; gap: 8px; }
.public-page .nav-lang {
  display: inline-flex; align-items: center; gap: 6px;
  background: rgba(0, 0, 0, .22);
  border: 1px solid var(--brand-line);
  border-radius: var(--radius);
  padding: 0 10px;
  min-height: 34px;
  font-size: 12.5px;
  color: var(--text);
}
.public-page .nav-lang i { font-size: 12px; opacity: .8; }
.public-page .nav-lang select {
  background: transparent;
  border: 0;
  color: var(--text);
  font-family: inherit;
  font-size: 12.5px;
  min-height: auto;
  padding: 0 2px;
  width: auto;
  cursor: pointer;
}
.public-page .nav-lang select:focus { box-shadow: none; }
.public-page .nav-lang select option { background: #141623; }
.public-page .nav-login-wrap { position: relative; }
.public-page .nav-drop-left { right: 0; left: auto; }

/* ---------- موبایل ---------- */
@media (max-width: 860px) {
  .public-page .main-nav-inner { flex-wrap: wrap; padding-bottom: 6px; }
  .public-page .nav-list { width: 100%; overflow-x: auto; flex-wrap: nowrap; padding-bottom: 2px; }
  .public-page .nav-item > a,
  .public-page .nav-drop-toggle { padding: 8px 10px; font-size: 12.5px; }
  .public-page .nav-right { width: 100%; justify-content: flex-start; }
  .public-page .nav-drop { right: auto; left: 0; min-width: 210px; }
}

/* ==================================================================
   صفحات جدید: آرشیو / اخبار / رده‌بندی / راهنما / تماس
   ================================================================== */

/* ---------- آرشیو ---------- */
.public-page .archive-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 1rem;
  margin: 5px;
}
.public-page .archive-card {
  display: block;
  position: relative;
  background: var(--panel);
  border: 1px solid var(--brand-line);
  border-radius: var(--radius);
  padding: 14px;
  text-decoration: none;
  transition: border-color .18s ease, transform .18s ease;
}
.public-page .archive-card:hover { border-color: rgba(255, 255, 255, .35); transform: translateY(-2px); }
.public-page .arch-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
.public-page .arch-date {
  display: inline-flex; flex-direction: column; align-items: center;
  background: rgba(93, 102, 162, .7);
  border-radius: var(--radius);
  padding: 6px 12px; min-width: 74px;
}
.public-page .arch-date .ad-day { font-size: 21px; font-weight: 300; line-height: 1.05; }
.public-page .arch-date .ad-month { font-size: 13px; font-weight: 600; }
.public-page .arch-date .ad-year { font-size: 12px; font-weight: 300; opacity: .85; }
.public-page .arch-logo { width: 46px; height: 46px; object-fit: cover; border-radius: var(--radius); border: 1px solid var(--border); }
.public-page .arch-title { font-size: 16px; font-weight: 700; color: #fff; margin: 0 0 4px; }
.public-page .arch-sub { font-size: 12.5px; color: var(--muted); margin: 0 0 8px; }
.public-page .arch-meta { display: flex; flex-wrap: wrap; gap: 10px; font-size: 12px; color: var(--muted); }
.public-page .arch-cta { display: inline-flex; align-items: center; gap: 6px; margin-top: 10px; font-size: 12.5px; font-weight: 700; color: var(--link); }

/* ---------- اخبار ---------- */
.public-page .news-list { display: flex; flex-direction: column; gap: 12px; }
.public-page .news-item { padding: 16px; }
.public-page .news-head { display: flex; align-items: flex-start; gap: 12px; }
.public-page .news-icon {
  flex: 0 0 auto; width: 42px; height: 42px;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--brand); border-radius: var(--radius);
  font-size: 18px; color: #fff;
}
.public-page .news-head-text h3 { margin: 0 0 4px; font-size: 15px; color: #fff; font-weight: 700; }
.public-page .news-date { font-size: 11.5px; color: var(--muted); }
.public-page .news-body { margin: 10px 0 0; font-size: 13px; color: var(--text); line-height: 1.9; white-space: pre-wrap; }

/* ---------- رده‌بندی ---------- */
.public-page .rank-wrap { padding: 0; overflow: hidden; }
.public-page .rank-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.public-page .rank-table th {
  background: rgba(0, 0, 0, .3);
  padding: 12px;
  text-align: right;
  font-weight: 700;
  font-size: 12.5px;
  color: var(--text);
  border-bottom: 1px solid var(--border);
}
.public-page .rank-table td { padding: 11px 12px; border-bottom: 1px solid rgba(255, 255, 255, .06); }
.public-page .rank-table tbody tr:hover { background: rgba(255, 255, 255, .04); }
.public-page .rank-cell { width: 62px; font-weight: 700; text-align: center; }
.public-page .rank-points { font-weight: 700; color: var(--link); }
.public-page .rank-1 { color: #f5c542; font-size: 17px; }
.public-page .rank-2 { color: #c9d2e3; font-size: 16px; }
.public-page .rank-3 { color: #cd8b52; font-size: 16px; }
.public-page .rank-top-1 { background: rgba(245, 197, 66, .07); }

/* ---------- راهنما ---------- */
.public-page .help-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 1rem;
}
.public-page .help-card { padding: 18px; }
.public-page .help-icon {
  width: 46px; height: 46px; display: inline-flex; align-items: center; justify-content: center;
  background: var(--brand); border-radius: var(--radius);
  font-size: 19px; color: #fff; margin-bottom: 10px;
}
.public-page .help-card h3 { margin: 0 0 10px; font-size: 15px; color: #fff; font-weight: 700; }
.public-page .help-card ol, .public-page .help-card ul { margin: 0; padding-right: 20px; }
.public-page .help-card li { font-size: 13px; color: var(--text); line-height: 1.95; margin-bottom: 4px; }

/* ---------- تماس ---------- */
.public-page .contact-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
}
.public-page .contact-form { padding: 20px; }
.public-page .contact-form .form-grid { gap: 0 16px; }
.public-page .contact-side { display: flex; flex-direction: column; gap: 1rem; }
.public-page .contact-box { padding: 16px; }
.public-page .contact-box h3 { display: flex; align-items: center; gap: 8px; font-size: 14px; color: #fff; margin: 0 0 12px; }
.public-page .contact-methods { list-style: none; margin: 0; padding: 0; }
.public-page .contact-methods li {
  display: flex; align-items: flex-start; gap: 10px;
  font-size: 12.5px; color: var(--text); line-height: 1.85; margin-bottom: 10px;
}
.public-page .contact-methods li i { color: var(--link); margin-top: 4px; width: 15px; text-align: center; }
.public-page .contact-methods a { color: var(--link); }
.public-page .contact-box.warn { border-color: rgba(245, 197, 66, .45); }

@media (max-width: 900px) {
  .public-page .contact-grid { grid-template-columns: 1fr; }
}

/* ---------- فوتر ---------- */
.public-page .site-footer .footer-sep { opacity: .4; margin: 0 6px; }
.public-page .site-footer a { margin: 0 2px; }

/* ==================================================================
   تب پخش زنده — نقطهٔ قرمز چشمک‌زن + کارت‌های استریم
   ================================================================== */
.public-page .nav-live { position: relative; }
.public-page .live-dot {
  display: inline-block;
  width: 8px; height: 8px;
  border-radius: 50%;
  background: #e5484d;
  box-shadow: 0 0 0 0 rgba(229, 72, 77, .75);
  animation: livePulse 1.8s infinite;
  vertical-align: middle;
  margin-left: 2px;
}
@keyframes livePulse {
  0%   { box-shadow: 0 0 0 0 rgba(229, 72, 77, .75); }
  70%  { box-shadow: 0 0 0 8px rgba(229, 72, 77, 0); }
  100% { box-shadow: 0 0 0 0 rgba(229, 72, 77, 0); }
}
.public-page .page-intro h1 .live-dot { width: 11px; height: 11px; margin-left: 6px; }

.public-page .live-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 1rem;
}
.public-page .live-card { padding: 18px; }
.public-page .live-card.is-live { border-color: rgba(229, 72, 77, .65); }
.public-page .live-head {
  display: flex; align-items: center; justify-content: space-between;
  gap: 10px; flex-wrap: wrap; margin-bottom: 10px;
}
.public-page .live-state {
  display: inline-flex; align-items: center; gap: 7px;
  font-size: 11.5px; font-weight: 700;
  padding: 4px 10px; border-radius: 5px;
  background: rgba(255, 255, 255, .07);
  color: var(--text);
}
.public-page .live-card.is-live .live-state { background: rgba(229, 72, 77, .85); color: #fff; }
.public-page .live-date { font-size: 11.5px; color: var(--muted); }
.public-page .live-title { font-size: 16px; font-weight: 700; color: #fff; margin: 0 0 12px; }
.public-page .live-btn { width: 100%; justify-content: center; display: inline-flex; gap: 8px; }
.public-page .live-url {
  margin: 8px 0 0; font-size: 11px; word-break: break-all; opacity: .7;
}
.public-page .live-note-card {
  display: flex; align-items: flex-start; gap: 10px;
  font-size: 13px; border-color: rgba(93, 102, 162, .7);
}
.public-page .live-note-card i { color: var(--link); margin-top: 3px; }

/* کارت «پخش اصلی» — برجسته‌تر از کارت‌های هر مسابقه */
.public-page .live-card.featured { border-width: 2px; border-color: rgba(229, 72, 77, .8); }
.public-page .live-card.featured .live-title { font-size: 19px; }

/* ==================================================================
   صفحهٔ رنکینگ — الگوی WAKO Ranking (بومی‌سازی‌شده)
   مرجع: setopen.sportdata.org/wakoranking/ranking_main_competitor.php
   ================================================================== */

/* ---------- تب‌های رنکینگ ---------- */
.public-page .rank-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin: 4px 0 14px;
  border-bottom: 1px solid var(--border);
  padding-bottom: 2px;
}
.public-page .rank-tab {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 9px 14px;
  background: none;
  border: 0;
  border-bottom: 3px solid transparent;
  color: var(--text);
  font-family: inherit;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: color .15s ease, border-color .15s ease, background-color .15s ease;
}
.public-page .rank-tab:hover { color: #fff; background: rgba(255, 255, 255, .05); }
.public-page .rank-tab.active { color: #fff; border-bottom-color: var(--brand); }
.public-page .rank-panel { display: none; }
.public-page .rank-panel.active { display: block; }

/* ---------- فیلترها ---------- */
.public-page .rank-filters { padding: 16px; margin-bottom: 1rem; }
.public-page .rank-filter-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 10px 14px;
}
.public-page .rank-filter-grid label { font-size: 12.5px; }
.public-page .rank-filter-grid select,
.public-page .rank-filter-grid input { min-height: 38px; font-size: 13px; }
.public-page .rank-filter-actions {
  display: flex; gap: 8px; flex-wrap: wrap; margin-top: 14px;
}

/* ---------- رده‌ها ---------- */
.public-page .rank-cats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1rem;
}
.public-page .rank-cats .card { padding: 16px; }
.public-page .rank-cats h3 {
  display: flex; align-items: center; gap: 8px;
  font-size: 14px; color: #fff; margin: 0 0 12px;
}
.public-page .rank-chiplist {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-wrap: wrap; gap: 6px;
}
.public-page .rank-chiplist li {
  padding: 4px 10px;
  border-radius: 5px;
  background: rgba(93, 102, 162, .35);
  border: 1px solid rgba(93, 102, 162, .5);
  font-size: 12px;
  color: #fff;
}
@media (max-width: 700px) {
  .public-page .rank-tab { padding: 8px 11px; font-size: 12.5px; }
}

/* ==================================================================
   صفحهٔ اطلاعات مسابقه — الگوی SET Online Event Info
   مرجع: veranstaltung_info_main.php?vernr=2915
   ابعاد دقیق از CSS مرجع (main_fisu2.css):
     • .card2 { width:10%; min-width:100px; min-height:150px; padding:18px;
                background:#1c1d26; text-transform:uppercase; }
     • .fa-round { border-radius:60px; border:1px solid #fff;
                   padding:.3em; font-size:19px }
     • .smalltext { padding-top:5px; font-size:10px }
     • body { font-family:"Open Sans",Arial,sans-serif; color:#fff; background:#1c1d26 }
   ================================================================== */

/* ---------- سرصفحهٔ رویداد ---------- */
.public-page .event-info-head {
  text-align: center;
  padding: 18px 0 6px;
}
.public-page .event-info-logo {
  height: 74px;
  width: auto;
  max-width: 120px;
  object-fit: contain;
  background: transparent;
  border: 0;
  box-shadow: none;
  margin-bottom: 10px;
}
.public-page .event-info-logo.shape-circle { border-radius: 50%; }
.public-page .event-info-logo.shape-square { border-radius: 8px; }
.public-page .event-info-title {
  /* مرجع: h1 بزرگ و پررنگ */
  font-size: clamp(1.4rem, 3.2vw, 2.1rem);
  font-weight: 700;
  line-height: 1.3;
  color: #fff;
  margin: 0 0 6px;
}
.public-page .event-info-sub {
  color: rgba(255, 255, 255, .72);
  font-size: 14px;
  margin: 0 0 4px;
}

/* ---------- کارت‌های منو (.card2 مرجع) ---------- */
.public-page .event-menu-cards {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 4px;
  margin: 8px 0 26px;
}
.public-page .card2 {
  /* ابعاد عیناً از مرجع */
  display: inline-block;
  min-width: 100px;
  min-height: 150px;
  padding: 18px;
  margin: 2px;
  text-align: center;
  position: relative;
  background: rgba(28, 29, 38, .82);
  border: 1px solid rgba(255, 255, 255, .09);
  border-radius: 4px;
  text-transform: uppercase;
  transition: all .5s ease 0s;
  overflow: hidden;
}
.public-page .card2:hover {
  background: rgba(93, 102, 162, .55);
  border-color: rgba(255, 255, 255, .3);
}
.public-page .card2 a,
.public-page .card2 > span {
  display: block;
  color: #fff;
  text-decoration: none;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .3px;
}
.public-page .card2:hover a { color: #fff; }
.public-page .card2 .service-icon {
  /* .fa-round مرجع: دایرهٔ ۶۰px با حاشیهٔ سفید، فونت ۱۹px */
  display: inline-block;
  width: 60px;
  height: 60px;
  line-height: 58px;
  border-radius: 60px;
  border: 1px solid #fff;
  font-size: 19px !important;
  color: #fff;
  vertical-align: middle;
  margin-bottom: 14px;
  transition: background-color .3s ease;
}
.public-page .card2:hover .service-icon { background: rgba(255, 255, 255, .12); }

/* ---------- بلوک اطلاعات (۱۳ ردیف مرجع) ---------- */
.public-page .event-info-block {
  padding: 6px 0;
  margin-bottom: 20px;
  overflow: hidden;
}
.public-page .event-info-table {
  width: 100%;
  border-collapse: collapse;
}
.public-page .event-info-table th,
.public-page .event-info-table td {
  padding: 13px 16px;
  text-align: right;
  vertical-align: top;
  border-bottom: 1px solid rgba(255, 255, 255, .07);
}
.public-page .event-info-table tr:last-child th,
.public-page .event-info-table tr:last-child td { border-bottom: 0; }
.public-page .event-info-table th {
  width: 190px;
  font-weight: 400;
  background: rgba(255, 255, 255, .025);
}
.public-page .event-info-table h5 {
  /* مرجع: h5 برچسب — کوچک و کم‌رنگ */
  margin: 0;
  font-size: 12.5px;
  font-weight: 600;
  color: rgba(255, 255, 255, .72);
  text-transform: uppercase;
  letter-spacing: .4px;
  display: flex;
  align-items: center;
  gap: 7px;
}
.public-page .event-info-table h5 i { color: var(--brand); font-size: 13px; }
.public-page .event-info-table td {
  font-size: 13.5px;
  color: rgba(255, 255, 255, .95);
  line-height: 1.7;
}
.public-page .event-info-table td strong { color: #fff; font-weight: 700; }
.public-page .smalltext { padding-top: 5px; font-size: 10px; }   /* عیناً مرجع */
.public-page .smalltext.muted { color: rgba(255, 255, 255, .6); }
.public-page a.datalink2 {
  color: #9cc5ff;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.public-page a.datalink2:hover { text-decoration: underline; color: #c3dbff; }

/* نشان باز/بستهٔ ثبت‌نام */
.public-page .badge-soft {
  display: inline-block;
  padding: 2px 9px;
  border-radius: 4px;
  font-size: 10.5px;
  font-weight: 700;
  margin-right: 6px;
}
.public-page .badge-open { background: rgba(62, 207, 142, .22); color: #7fe4b3; border: 1px solid rgba(62, 207, 142, .45); }
.public-page .badge-closed { background: rgba(229, 72, 77, .18); color: #f2999c; border: 1px solid rgba(229, 72, 77, .4); }

/* ---------- دکمه‌های پایانی ---------- */
.public-page .event-info-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  justify-content: center;
  margin: 6px 0 34px;
}
.public-page .event-info-actions .btn-reg-ref {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 26px;
  border-radius: 8px;
  min-width: 130px;
}
.public-page .event-info-actions .btn-reg-ref .service-icon {
  display: inline-block;
  width: 30px;
  height: 30px;
  line-height: 30px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, .5);
  font-size: 15px;
  margin: 0;
}
.public-page .event-info-actions .btn-reg-ref .reg-label { font-size: 14px; font-weight: 700; }

@media (max-width: 700px) {
  .public-page .card2 { min-width: 88px; min-height: 122px; padding: 13px 10px; }
  .public-page .card2 .service-icon { width: 48px; height: 48px; line-height: 46px; font-size: 16px !important; margin-bottom: 10px; }
  .public-page .card2 a { font-size: 10px; }
  .public-page .event-info-table th { width: 118px; padding: 11px 12px; }
  .public-page .event-info-table td { padding: 11px 12px; font-size: 13px; }
  .public-page .event-info-table h5 { font-size: 11px; }
}

/* ==================================================================
   عنوان کارت مسابقه: لینک با خط زیر در hover (درخواست کاربر)
   ================================================================== */
.public-page .hero-title-link {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color .15s ease, color .15s ease;
  cursor: pointer;
}
.public-page .hero-title-link:hover {
  border-bottom-color: rgba(255, 255, 255, .85);   /* خط زیر در hover */
  color: #fff;
}

/* ==================================================================
   بنر مسابقه + شمارش معکوس (الگوی SET Online Event Info)
   ابعاد دقیق از main_fisu2.css مرجع:
     #clockdiv { font-size:30px; font-weight:100; color:#fff; display:inline-block; text-align:center }
     #clockdiv > div { padding:5px; border-radius:3px; background:rgba(0,0,0,.2); display:inline-block }
     #clockdiv div > span { padding:15px; background:rgba(0,0,0,.5); display:inline-block }
     .carousel-textbg { background:rgba(0,0,0,.7); padding:10px; text-transform:uppercase }
     .carousel-img-fullscreen { width:100% }
     .carousel .item { max-height:90vh }
   ================================================================== */

/* ---------- ۱) بنر مسابقه ---------- */
.public-page .event-banner {
  margin: 10px 0 18px;
  border-radius: 6px;
  overflow: hidden;
  position: relative;
  background: #1c1d26;
}
.public-page .event-banner-inner { position: relative; }
.public-page .event-banner-img {
  /* مرجع: width:100% + max-height:90vh */
  display: block;
  width: 100%;
  max-height: 70vh;
  object-fit: cover;
  object-position: center;
}
.public-page .event-banner-caption {
  position: absolute;
  inset: auto 0 0 0;
  padding: 0 12px 14px;
  text-align: center;
}
.public-page .event-banner-textbg {
  /* مرجع: rgba(0,0,0,.7) + padding 10px + uppercase */
  display: inline-block;
  background: rgba(0, 0, 0, .72);
  padding: 12px 20px;
  border-radius: 4px;
  text-transform: uppercase;
  max-width: 100%;
}
.public-page .event-banner-title {
  font-size: clamp(1.05rem, 2.4vw, 1.7rem);
  font-weight: 700;
  line-height: 1.3;
  color: #fff;
  margin: 0 0 4px;
}
.public-page .event-banner-sub {
  font-size: 13px;
  color: rgba(255, 255, 255, .8);
  margin: 0 0 8px;
}
.public-page .event-banner-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #dc3545;         /* btn-danger مرجع */
  border: 1px solid #dc3545;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  padding: 8px 18px;
  border-radius: 4px;
  text-decoration: none;
  margin-top: 4px;
}
.public-page .event-banner-btn:hover { background: #bb2d3b; border-color: #bb2d3b; color: #fff; }

/* ---------- ۲) سرصفحه: لوگو + عنوان + آیکون‌ها + تایمر ---------- */
.public-page .event-head {
  margin: 0 0 20px;
}
.public-page .event-head-main {
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
  padding: 16px;
  background: rgba(255, 255, 255, .035);
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 6px;
}
.public-page .event-head-logo {
  height: 76px;
  width: auto;
  max-width: 120px;
  object-fit: contain;
  background: transparent;
  border: 0;
  flex: 0 0 auto;
}
.public-page .event-head-logo.shape-circle { border-radius: 50%; }
.public-page .event-head-logo.shape-square { border-radius: 8px; }
.public-page .event-head-text { flex: 1 1 260px; min-width: 220px; }
.public-page .event-head-text .event-banner-title { text-transform: none; margin-bottom: 6px; }
.public-page .event-head-icons {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 16px;
  margin-top: 6px;
}
.public-page .eh-icon {
  display: inline-flex;
  align-items: center;
  font-size: 12.5px;
  color: rgba(255, 255, 255, .8);
}
.public-page .eh-icon i { color: var(--brand); font-size: 13px; }
.public-page .eh-icon a { color: #9cc5ff; text-decoration: none; }
.public-page .eh-icon a:hover { text-decoration: underline; }

/* ---------- ۳) شمارش معکوس (#clockdiv مرجع) ---------- */
.public-page .event-clock {
  /* مرجع: font-size:30px; font-weight:100; display:inline-block; text-align:center */
  font-size: 30px;
  font-weight: 100;
  color: #fff;
  display: inline-block;
  text-align: center;
  flex: 0 0 auto;
}
.public-page .event-clock .ec-label-top {
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .6px;
  color: rgba(255, 255, 255, .65);
  margin-bottom: 6px;
}
.public-page .event-clock .ec-units { display: flex; gap: 3px; justify-content: center; }
.public-page .event-clock .ec-unit {
  /* مرجع: #clockdiv > div { padding:5px; border-radius:3px; background:rgba(0,0,0,.2) } */
  padding: 5px;
  border-radius: 3px;
  background: rgba(0, 0, 0, .2);
  display: inline-block;
  min-width: 62px;
}
.public-page .event-clock .ec-unit > span {
  /* مرجع: #clockdiv div > span { padding:15px; background:rgba(0,0,0,.5) } */
  padding: 15px 8px;
  background: rgba(0, 0, 0, .5);
  display: block;
  border-radius: 2px;
  font-variant-numeric: tabular-nums;
  min-width: 52px;
}
.public-page .event-clock .smalltext {
  /* مرجع: .smalltext { padding-top:5px; font-size:10px } */
  padding-top: 5px;
  font-size: 10px;
  font-weight: 600;
  color: rgba(255, 255, 255, .7);
  text-transform: uppercase;
}
/* وقتی مهلت تمام شد */
.public-page .event-clock.is-done .ec-unit > span { background: rgba(229, 72, 77, .35); }

/* ---------- نوار مهلت ثبت‌نام ---------- */
.public-page .event-regbar {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  flex-wrap: wrap;
  margin-top: 10px;
  padding: 9px 14px;
  border-radius: 5px;
  font-size: 13px;
  border: 1px solid transparent;
}
.public-page .event-regbar.is-open {
  background: rgba(62, 207, 142, .14);
  border-color: rgba(62, 207, 142, .4);
  color: #8fe9bd;
}
.public-page .event-regbar.is-closed {
  background: rgba(229, 72, 77, .13);
  border-color: rgba(229, 72, 77, .38);
  color: #f2a3a6;
}
.public-page .event-regbar b { color: #fff; }
.public-page .erb-count { font-weight: 700; font-variant-numeric: tabular-nums; }
.public-page .erb-live { color: rgba(255, 255, 255, .7); }

@media (max-width: 700px) {
  .public-page .event-head-main { gap: 12px; padding: 13px; }
  .public-page .event-head-logo { height: 58px; }
  .public-page .event-clock { font-size: 22px; width: 100%; }
  .public-page .event-clock .ec-unit { min-width: 52px; padding: 4px; }
  .public-page .event-clock .ec-unit > span { padding: 10px 5px; min-width: 42px; }
  .public-page .event-banner-caption { padding: 0 8px 10px; }
  .public-page .event-banner-textbg { padding: 9px 12px; }
}

/* ==================================================================
   نوار تب افقی + پنل‌ها + آمار + اخبار
   ابعاد دقیق از main_fisu2.css مرجع:
     .nav-tabs > li > a { background:#1c1d26; border:1px solid #393939;
                          border-radius:4px 4px 0 0; }
     .nav-tabs > li.active > a { color:#fff; border:1px solid;
                          border-top:3px solid; border-bottom-color:transparent }
     .alert-info { color:#e44c65; background:#1c1d26; border:0;
                          box-shadow: inset 0 0 1px 2px #e44c65; border-radius:0 }
     table.moduletable th { font-size:13px; text-transform:uppercase;
                          box-shadow:0 0 1px rgba(255,255,255,.2) }
     .newsheader_eventhead { font-size:36px; font-weight:500; text-transform:uppercase }
   ================================================================== */

/* ---------- نوار تب افقی ---------- */
.public-page .event-tabs {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 4px 0 0;
  padding: 0;
  border-bottom: 1px solid rgba(255, 255, 255, .12);
  gap: 3px;
}
.public-page .event-tabs > li { margin: 0; }
.public-page .event-tabs > li > a {
  /* مرجع: background #1c1d26 + border 1px #393939 + radius 4px 4px 0 0 */
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 9px 15px;
  background: #1c1d26;
  border: 1px solid #393939;
  border-radius: 4px 4px 0 0;
  color: rgba(255, 255, 255, .82);
  font-size: 12.5px;
  font-weight: 600;
  text-decoration: none;
  text-transform: uppercase;
  cursor: pointer;
  transition: all .18s ease;
}
.public-page .event-tabs > li > a:hover {
  color: #fff;
  border-color: #555;
  background: #23242f;
}
.public-page .event-tabs > li.active > a {
  /* مرجع: border-top 3px solid (تب فعال) */
  color: #fff;
  cursor: default;
  border: 1px solid;
  border-top: 3px solid #5d66a2;
  border-bottom-color: transparent;
  background: rgba(93, 102, 162, .22);
  padding-top: 7px;
}
.public-page .event-tabs > li > a i { font-size: 12px; }

/* ---------- پنل‌ها ---------- */
.public-page .event-tabpanels { padding-top: 16px; }
.public-page .event-tabpanel { display: none; }
.public-page .event-tabpanel.active { display: block; }
.public-page .event-panel-card { padding: 18px; }
.public-page .event-panel-card > h3 {
  display: flex; align-items: center; gap: 8px;
  font-size: 15px; color: #fff; margin: 0 0 14px;
  text-transform: uppercase; font-weight: 600; letter-spacing: .3px;
}
.public-page .event-panel-card > h3 i { color: var(--brand); }
.public-page .ec-group { margin-bottom: 18px; }
.public-page .ec-group h4 {
  font-size: 12.5px; color: rgba(255, 255, 255, .72);
  text-transform: uppercase; margin: 0 0 9px; font-weight: 600;
}
.public-page .event-filelist {
  list-style: none; margin: 0 0 14px; padding: 0;
  font-size: 13.5px; line-height: 2;
}
.public-page .event-filelist li i { color: var(--brand); margin-left: 6px; }
.public-page .event-result-links { display: flex; flex-wrap: wrap; gap: 9px; }

/* ---------- آمار ---------- */
.public-page .event-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 16px 0 4px;
}
.public-page .event-stat {
  /* مرجع: table.moduletable th { box-shadow:0 0 1px rgba(255,255,255,.2) } */
  flex: 1 1 120px;
  text-align: center;
  padding: 13px 10px;
  border-radius: 4px;
  background: rgba(255, 255, 255, .04);
  box-shadow: 0 0 1px rgba(255, 255, 255, .2);
}
.public-page .event-stat i { display: block; color: var(--brand); font-size: 17px; margin-bottom: 6px; }
.public-page .event-stat .es-num {
  display: block; font-size: 22px; font-weight: 700; color: #fff;
  font-variant-numeric: tabular-nums;
}
.public-page .event-stat .es-lbl {
  display: block; font-size: 10px; text-transform: uppercase;
  color: rgba(255, 255, 255, .65); margin-top: 3px; letter-spacing: .4px;
}

/* ---------- اخبار رویداد (alert-info مرجع: قاب قرمز inset) ---------- */
.public-page .event-news { margin: 18px 0 4px; }
.public-page .event-news-h {
  font-size: 15px; color: #fff; margin: 0 0 10px;
  display: flex; align-items: center; gap: 8px;
  text-transform: uppercase; font-weight: 600;
}
.public-page .event-news-h i { color: #e44c65; }
.public-page .event-news-item {
  /* مرجع: .alert-info { background:#1c1d26; box-shadow: inset 0 0 1px 2px #e44c65 } */
  display: flex;
  gap: 12px;
  background: #1c1d26;
  box-shadow: inset 0 0 1px 2px #e44c65;
  padding: 11px 13px;
  margin-bottom: 8px;
  border-radius: 0;
}
.public-page .event-news-item .eni-icon { color: #e44c65; font-size: 19px; flex: 0 0 auto; padding-top: 2px; }
.public-page .event-news-item .eni-date {
  font-size: 10px; color: rgba(255, 255, 255, .6); margin-bottom: 3px;
  font-variant-numeric: tabular-nums;
}
.public-page .event-news-item .eni-title { font-size: 13px; color: #fff; font-weight: 600; line-height: 1.5; }
.public-page .event-news-item .eni-text {
  font-size: 12px; color: rgba(255, 255, 255, .75); line-height: 1.7; margin-top: 4px;
}

@media (max-width: 700px) {
  .public-page .event-tabs > li > a { padding: 8px 10px; font-size: 11px; }
  .public-page .event-tabs { gap: 2px; }
  .public-page .event-stat { flex: 1 1 90px; padding: 10px 6px; }
  .public-page .event-stat .es-num { font-size: 18px; }
  .public-page .event-news-item { gap: 9px; padding: 10px; }
}

/* ==================================================================
   فیلتر بنر مسابقه — عیناً از modern.css مرجع
   مرجع:
     .carousel-inner { min-height:30vh; max-height:100vh;
       background: linear-gradient(0deg, rgba(16,20,53,.8) 0%, rgba(16,20,53,.8) 50%) }
     .carousel-inner::before { content:""; position:absolute; inset:0;
       background: linear-gradient(180deg, rgba(93,102,162,1) 0%, rgba(93,102,162,0) 100%); z-index:1 }
     .carousel-inner::after { content:""; position:absolute; inset:0;
       background: linear-gradient(to bottom, rgba(255,255,255,0) 60%, #141623 100%); z-index:1 }
     .carousel-caption { position:absolute; top:auto; left:10%; right:10%; bottom:10%;
       padding:10px; text-shadow: 0 4px 4px rgba(0,0,0,.9) }
     .carousel-textbg { background: linear-gradient(var(--gradient-text));
       background-clip: text; -webkit-background-clip: text }
     --gradient-text: 0deg, #888888 0%, #ffffff 75%
   ================================================================== */

/* سایهٔ زیرین بنر (لایهٔ بنفش تیره — روی تصویر) */
.public-page .event-banner-inner {
  position: relative;
  min-height: 30vh;
  max-height: 100vh;
  /* اورلی بنفش سراسری مرجع: rgba(16,20,53,.8) */
  background: linear-gradient(0deg, rgba(16, 20, 53, .8) 0%, rgba(16, 20, 53, .8) 50%);
  overflow: hidden;
}
/* لایهٔ ۱: گرادیان بنفش برند از بالا (مرجع ::before) */
.public-page .event-banner-inner::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(93, 102, 162, 1) 0%, rgba(93, 102, 162, 0) 100%);
  z-index: 1;
  pointer-events: none;
}
/* لایهٔ ۲: محو شدن به رنگ زمینه از ۶۰٪ پایین (مرجع ::after) */
.public-page .event-banner-inner::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 60%, #141623 100%);
  z-index: 1;
  pointer-events: none;
}
/* خود تصویر زیر لایه‌ها */
.public-page .event-banner-img {
  position: relative;
  z-index: 0;
}
/* کپشن روی لایه‌ها — مرجع: bottom 10% / left-right 10% / shadow 0 4px 4px */
.public-page .event-banner-caption {
  position: absolute;
  top: auto;
  left: 10%;
  right: 10%;
  bottom: 10%;
  padding: 10px;
  z-index: 2;
  text-align: center;
  text-shadow: 0 4px 4px rgba(0, 0, 0, .9);
}
/* متن کپشن با گرادیان متن مرجع:
   --gradient-text: 0deg, #888888 0%, #ffffff 75%  → متن سفید-خاکستری گرادیانتی */
.public-page .event-banner-textbg {
  background: linear-gradient(0deg, #888888 0%, #ffffff 75%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  /* ⚠️ پس‌زمینهٔ کپشن حذف می‌شود چون متن خودش گرادیانتی است (عیناً مرجع) */
  background-color: transparent;
  padding: 10px;
  text-transform: uppercase;
}
/* در حالت گرادیانتی، عناصر داخلی هم باید شفاف باشند */
.public-page .event-banner-textbg .event-banner-title,
.public-page .event-banner-textbg .event-banner-sub {
  background: inherit;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
/* دکمهٔ ثبت‌نام داخل کپشن باید رنگ خودش را داشته باشد (نه گرادیانتی) */
.public-page .event-banner-textbg .event-banner-btn {
  -webkit-text-fill-color: #fff;
  color: #fff;
  background: #dc3545;
  background-clip: padding-box;
}
.public-page .event-banner-textbg .event-banner-btn:hover {
  -webkit-text-fill-color: #fff;
  color: #fff;
}

/* در موبایل کپشن کم‌تر فاصله بگیرد */
@media (max-width: 700px) {
  .public-page .event-banner-caption { left: 6%; right: 6%; bottom: 6%; }
  .public-page .event-banner-inner { min-height: 26vh; }
}

/* ==================================================================
   ⚠️ اصلاح: متن کپشن بنر خیلی کم‌رنگ بود (۱.۳٪ پیکسل روشن)
   ── علت: گرادیان `#888888 → #ffffff` روی پس‌زمینهٔ تیره، کنتراست کم می‌دهد.
   ── راه‌حل: همین گرادیان مرجع را نگه می‌داریم ولی سایهٔ متن قوی‌تر
      (مرجع: text-shadow 0 4px 4px rgba(0,0,0,.9)) + پس‌زمینهٔ نیمه‌تیرهٔ کپشن
      (مرجع: .carousel-textbg { background: rgba(0,0,0,.7) }) تا خوانا شود.
   ================================================================== */
.public-page .event-banner-textbg {
  /* پس‌زمینهٔ نیمه‌تیرهٔ مرجع (اصلی) — روی متن گرادیانتی */
  background-color: rgba(0, 0, 0, .72);
  background-image: none;
  padding: 12px 20px;
  border-radius: 4px;
}
.public-page .event-banner-textbg .event-banner-title {
  /* گرادیان متن مرجع روی عنوان */
  background-image: linear-gradient(0deg, #b8b8b8 0%, #ffffff 70%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  text-shadow: none;
  /* ⚠️ سایه روی متن شفاف اثر نمی‌کند → از drop-shadow استفاده می‌کنیم */
  filter: drop-shadow(0 2px 3px rgba(0, 0, 0, .95)) drop-shadow(0 0 1px rgba(0, 0, 0, .8));
  font-size: clamp(1.05rem, 2.3vw, 1.6rem);
}
.public-page .event-banner-textbg .event-banner-sub {
  background: none;
  -webkit-text-fill-color: rgba(255, 255, 255, .88);
  color: rgba(255, 255, 255, .88);
  filter: none;
}


/* ==================================================================
   روزشمار «شروع مسابقات تا» — ترتیب از چپ: روز، ساعت، دقیقه، ثانیه
   ── درخواست کاربر: «از سمت چپ: روز، ساعت، دقیقه، ثانیه»
   ── ⚠️ چرا row-reverse؟ چون ظرف `direction:rtl` است و در flex-row،
      آیتم اول در RTL سمت **راست** می‌افتد. row-reverse آن را به چپ می‌برد.
      در LTR دست نمی‌زنیم (آنجا ترتیب DOM = ترتیب چپ‌به‌راست است).
   ================================================================== */
.public-page .event-clock .ec-units { display: flex; gap: 8px; justify-content: center; }
[dir="rtl"] .public-page .event-clock .ec-units { flex-direction: row-reverse; }
.public-page .event-clock .ec-unit { margin: 0 4px; }
.public-page .event-clock .ec-unit .smalltext { margin-top: 2px; }
/* فاصلهٔ عدد و واحد («30 days» نه «30days») — جهت‌آگاه */
[dir="rtl"] .public-page .event-clock .ec-unit > span { margin-left: 3px; }
[dir="ltr"] .public-page .event-clock .ec-unit > span { margin-right: 3px; }


/* ==================================================================
   داشبورد لایو مسابقه — آینهٔ SET Online event_dashboard.php
   پالت تیرهٔ سایت + کارت‌های شیشه‌ای + برچسب‌های رنگی
   ================================================================== */
.public-page .live-dash { max-width: 1180px; margin: 0 auto; padding: 22px 14px 56px; }

/* ---------- سربرگ ---------- */
.public-page .ld-head { margin-bottom: 20px; }
.public-page .ld-eyebrow {
  display: inline-flex; align-items: center; gap: 7px;
  font-size: 12px; font-weight: 700; letter-spacing: .4px;
  color: #9aa2c4; text-transform: uppercase;
  background: rgba(93, 102, 162, .16);
  border: 1px solid rgba(93, 102, 162, .35);
  padding: 5px 11px; border-radius: 999px; margin-bottom: 12px;
}
.public-page .ld-title { margin: 0 0 6px; font-size: 25px; line-height: 1.35; color: #fff; font-weight: 700; }
.public-page .ld-title a { color: inherit; text-decoration: none; }
.public-page .ld-title a:hover { color: #c9cfe8; }
.public-page .ld-sub { margin: 0 0 14px; color: #9aa2c4; font-size: 14px; }

.public-page .ld-statebar { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 16px; }
.public-page .ld-chip {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 12.5px; font-weight: 700; padding: 5px 11px; border-radius: 999px;
  background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .14); color: #dfe3f2;
}
.public-page .ld-chip-live { background: rgba(198, 40, 40, .2); border-color: rgba(255, 120, 120, .5); color: #ff9a9a; }
.public-page .ld-chip-live i { animation: ldBlink 1.5s infinite; }
@keyframes ldBlink { 0%,100% { opacity: 1 } 50% { opacity: .3 } }
.public-page .ld-chip-ended { background: rgba(232, 161, 58, .18); border-color: rgba(240, 178, 74, .5); color: #f5c064; }
.public-page .ld-chip-open { background: rgba(93, 102, 162, .22); border-color: rgba(140, 150, 210, .5); color: #c3caf0; }

/* ---------- آمار ---------- */
.public-page .ld-stats {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(96px, 1fr)); gap: 9px;
  margin-top: 6px;
}
.public-page .ld-stat {
  background: linear-gradient(160deg, rgba(255, 255, 255, .07), rgba(255, 255, 255, .03));
  border: 1px solid rgba(255, 255, 255, .1); border-radius: 13px;
  padding: 12px 8px; text-align: center;
}
.public-page .ld-stat b { display: block; font-size: 22px; font-weight: 700; color: #fff; line-height: 1.1; }
.public-page .ld-stat span { display: block; font-size: 11.5px; color: #98a0c0; margin-top: 4px; }
.public-page .ld-stat-live b { color: #ff8a8a; }

/* ---------- شبکهٔ ماژول‌ها (الگوی مرجع) ---------- */
.public-page .ld-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(255px, 1fr));
  gap: 13px; margin: 22px 0 30px;
}
.public-page .ld-card {
  position: relative; display: flex; flex-direction: column;
  background: linear-gradient(165deg, rgba(255, 255, 255, .075), rgba(20, 22, 35, .92));
  border: 1px solid rgba(255, 255, 255, .11); border-radius: 15px;
  padding: 17px 16px 15px; text-decoration: none; color: inherit;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
  min-height: 152px;
}
.public-page .ld-card:hover {
  transform: translateY(-3px);
  border-color: rgba(140, 150, 210, .6);
  box-shadow: 0 12px 30px rgba(0, 0, 0, .45);
}
.public-page .ld-card-live { border-color: rgba(198, 40, 40, .35); }
.public-page .ld-icon { font-size: 25px; line-height: 1; margin-bottom: 10px; }
.public-page .ld-bracket { display: inline-flex; width: 26px; height: 26px; color: #b9c0e0; }
.public-page .ld-bracket svg { width: 100%; height: 100%; }
.public-page .ld-card-title { font-size: 16px; font-weight: 700; color: #fff; margin-bottom: 6px; }
.public-page .ld-card-text { font-size: 12.5px; line-height: 1.6; color: #9aa2c4; flex: 1; }
.public-page .ld-badge {
  align-self: flex-start; margin-top: 11px;
  font-size: 10.5px; font-weight: 700; letter-spacing: .3px;
  padding: 3px 9px; border-radius: 999px;
  background: rgba(93, 102, 162, .24); border: 1px solid rgba(140, 150, 210, .4); color: #c3caf0;
}
.public-page .ld-card-live .ld-badge { background: rgba(198, 40, 40, .24); border-color: rgba(255, 120, 120, .45); color: #ff9a9a; }

/* ---------- بخش‌ها ---------- */
.public-page .ld-section { margin: 30px 0 8px; }
.public-page .ld-h2 {
  display: flex; align-items: center; gap: 9px;
  font-size: 18px; font-weight: 700; color: #fff; margin: 0 0 13px;
  padding-bottom: 9px; border-bottom: 1px solid rgba(255, 255, 255, .09);
}
.public-page .ld-h2 i { color: #8c96d2; }
.public-page .ld-count {
  font-size: 12px; font-weight: 700; color: #9aa2c4;
  background: rgba(255, 255, 255, .07); border-radius: 999px; padding: 2px 9px;
}
.public-page .ld-empty {
  display: flex; align-items: center; gap: 9px;
  padding: 15px 16px; border-radius: 12px;
  background: rgba(255, 255, 255, .045); border: 1px dashed rgba(255, 255, 255, .14);
  color: #98a0c0; font-size: 13.5px; margin: 0;
}

/* ---------- کارت مبارزهٔ زنده ---------- */
.public-page .ld-live-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 13px; }
.public-page .ld-live-card {
  background: linear-gradient(160deg, rgba(198, 40, 40, .17), rgba(20, 22, 35, .95));
  border: 1px solid rgba(198, 40, 40, .42); border-radius: 15px; padding: 15px;
}
.public-page .ld-meta { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 12px; }
.public-page .ld-tag {
  font-size: 11px; font-weight: 700; padding: 3px 9px; border-radius: 999px;
  background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .13); color: #cfd4ea;
}
.public-page .ld-tag-live { background: rgba(198, 40, 40, .28); border-color: rgba(255, 120, 120, .5); color: #ff9a9a; }
.public-page .ld-tag-pending { color: #b8bdd8; }
.public-page .ld-vs { display: grid; grid-template-columns: 1fr auto 1fr; gap: 9px; align-items: center; }
.public-page .ld-fighter { text-align: center; }
.public-page .ld-fighter b { display: block; font-size: 14px; color: #fff; font-weight: 700; }
.public-page .ld-fighter span { display: block; font-size: 11.5px; color: #98a0c0; margin-top: 3px; }
.public-page .ld-score { display: flex; align-items: center; gap: 7px; }
.public-page .ld-score b {
  font-size: 21px; font-weight: 700; color: #fff;
  min-width: 32px; text-align: center;
  background: rgba(0, 0, 0, .35); border-radius: 7px; padding: 3px 5px;
}
.public-page .ld-score i { font-size: 10px; color: #98a0c0; font-style: normal; font-weight: 700; }
.public-page .ld-round { text-align: center; margin-top: 11px; font-size: 12px; color: #9aa2c4; font-weight: 700; }

/* ---------- جدول‌ها ---------- */
.public-page .ld-table-wrap {
  overflow-x: auto; border-radius: 13px;
  border: 1px solid rgba(255, 255, 255, .1); background: rgba(0, 0, 0, .22);
}
.public-page .ld-table { width: 100%; border-collapse: collapse; min-width: 620px; }
.public-page .ld-table thead th {
  font-size: 11.5px; font-weight: 700; color: #b3b9d6; text-align: right;
  padding: 10px 11px; background: rgba(255, 255, 255, .055);
  border-bottom: 1px solid rgba(255, 255, 255, .11); white-space: nowrap;
}
.public-page .ld-table tbody td {
  font-size: 12.5px; color: #dfe3f2; padding: 9px 11px;
  border-bottom: 1px solid rgba(255, 255, 255, .055); vertical-align: middle;
}
.public-page .ld-table tbody tr:last-child td { border-bottom: 0; }
.public-page .ld-table tbody tr:hover td { background: rgba(255, 255, 255, .035); }
.public-page .ld-row-live td { background: rgba(198, 40, 40, .13); }
.public-page .ld-win { color: #7fe4b3 !important; font-weight: 700; }
.public-page .ld-scorecell { white-space: nowrap; font-variant-numeric: tabular-nums; }
.public-page .ld-medal { color: #f5c064; }
.public-page .ld-rank { font-weight: 700; color: #b3b9d6; }
.public-page .ld-club { font-weight: 700; color: #fff; }
.public-page .ld-table-medals .ld-g b { color: #f5c064; }
.public-page .ld-table-medals .ld-s b { color: #cfd4ea; }
.public-page .ld-table-medals .ld-b b { color: #d29a6a; }

.public-page .ld-foot { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 30px; }

@media (max-width: 700px) {
  .public-page .ld-title { font-size: 20px; }
  .public-page .ld-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .public-page .ld-card { min-height: 138px; padding: 14px 12px 12px; }
  .public-page .ld-card-title { font-size: 14px; }
  .public-page .ld-card-text { font-size: 11.5px; }
  .public-page .ld-live-grid { grid-template-columns: 1fr; }
  .public-page .ld-vs { grid-template-columns: 1fr; gap: 7px; }
  .public-page .ld-score { justify-content: center; }
}
@media (max-width: 400px) {
  .public-page .ld-grid { grid-template-columns: 1fr; }
}


/* ==================================================================
   پخش جاسازی‌شدهٔ آپارات (aparat.com) — iframe واکنش‌گرا
   فرمت: https://www.aparat.com/video/video/embed/videohash/<HASH>/vt/frame
   ================================================================== */
.public-page .aparat-frame {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 12px;
  overflow: hidden;
  background: #000;
  border: 1px solid rgba(255, 255, 255, .12);
  margin: 10px 0 12px;
}
.public-page .aparat-frame iframe {
  position: absolute; inset: 0;
  width: 100%; height: 100%; border: 0;
}
/* در کارت‌های لیست، کوتاه‌تر تا کارت خیلی بلند نشود */
.public-page .aparat-frame-card { aspect-ratio: 16 / 10; margin: 9px 0 10px; }
.public-page .aparat-note {
  display: flex; align-items: center; gap: 6px;
  font-size: 12px; color: #9aa2c4; margin: 0 0 9px;
}
.public-page .aparat-note i { color: #ff5252; }
/* نشان منبع (آپارات) */
.public-page .live-src-badge {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: 11px; font-weight: 700; padding: 3px 9px; border-radius: 999px;
  background: rgba(93, 102, 162, .22); border: 1px solid rgba(140, 150, 210, .4); color: #c3caf0;
}
.public-page .live-card-foot {
  display: flex; flex-wrap: wrap; gap: 7px; margin-top: 10px;
}
@media (max-width: 700px) {
  .public-page .aparat-frame { border-radius: 10px; }
}


/* هشدار آپارات — وقتی پخش قابل جاسازی نیست */
.public-page .aparat-warn {
  display: flex; gap: 11px; align-items: flex-start;
  padding: 13px 14px; margin: 10px 0 12px; border-radius: 12px;
  background: linear-gradient(160deg, rgba(232, 161, 58, .16), rgba(20, 22, 35, .9));
  border: 1px solid rgba(240, 178, 74, .42);
}
.public-page .aparat-warn > i { color: #f0b24a; font-size: 18px; margin-top: 2px; }
.public-page .aparat-warn b { display: block; color: #f5c064; font-size: 13.5px; margin-bottom: 5px; }
.public-page .aparat-warn p { margin: 0 0 6px; font-size: 12.5px; line-height: 1.7; color: #c9cfe4; }
.public-page .aparat-warn .aparat-howto {
  color: #9aa2c4; font-size: 12px; padding-top: 6px;
  border-top: 1px dashed rgba(255, 255, 255, .13);
}


/* دکمهٔ فیلتر زمین در صفحهٔ برنامهٔ مبارزات */
.public-page .ld-filter {
  font-size: 12.5px; font-weight: 700; padding: 6px 13px; border-radius: 999px;
  background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.14);
  color: #cfd4ea; cursor: pointer; transition: all .15s ease;
}
.public-page .ld-filter:hover { background: rgba(255,255,255,.1); color: #fff; }
.public-page .ld-filter-on {
  background: rgba(93,102,162,.3); border-color: rgba(140,150,210,.6); color: #fff;
}
/* یادداشت زیر جدول */
.public-page .ld-note {
  display: flex; align-items: center; gap: 7px; margin-top: 11px;
  font-size: 12px; color: #9aa2c4;
}
.public-page .ld-note i { color: #8c96d2; }
/* حالت بدون بخش درون‌صفحه — فاصلهٔ پایانی داشبورد */
.public-page .live-dash .ld-foot { margin-top: 30px; }


/* ══════════════════════════════════════════════════════════════════════════
   برنامهٔ مبارزات — آینهٔ SET Online dtm_timetable.php
   پالت دقیق مرجع: bg #141623 · accent #8cc63f · accent2 #b8f15a
                   session #FFFF66 · match M #33CCFF · match F #FF6666 · empty #fff
   ══════════════════════════════════════════════════════════════════════════ */
.public-page .tt {
  --tt-bg: #141623;
  --tt-panel: #1b1e30;
  --tt-line: rgba(255,255,255,.1);
  --tt-text: #eef1ff;
  --tt-muted: #9ba3c7;
  --tt-accent: #8cc63f;
  --tt-accent2: #b8f15a;
  max-width: 1500px;
  margin: 0 auto;
}

/* ── نوار بالا (الگوی .site-top) ── */
.public-page .tt-top {
  background: rgba(15,17,29,.94);
  border: 1px solid var(--tt-line);
  border-radius: 14px;
  box-shadow: 0 10px 30px rgba(0,0,0,.35);
  margin-bottom: 14px;
}
.public-page .tt-top-inner { padding: 14px 18px; }
.public-page .tt-brand-line {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
}
.public-page .tt-brand-wrap { display: flex; align-items: center; gap: 11px; }
.public-page .tt-brand-icon {
  width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center;
  background: linear-gradient(135deg, var(--tt-accent2), var(--tt-accent));
  color: #10170a; font-size: 15px;
}
.public-page .tt-brand { font-size: 20px; font-weight: 700; color: #fff; letter-spacing: .3px; }
.public-page .tt-status-pill {
  border-radius: 999px; padding: 8px 15px; font-weight: 700; font-size: 12px;
  text-transform: uppercase; letter-spacing: .4px; display: inline-flex; align-items: center; gap: 7px;
}
.public-page .tt-pill-live {
  background: linear-gradient(135deg, var(--tt-accent), #5f9415); color: #071004;
  box-shadow: 0 6px 18px rgba(140,198,63,.25);
}
.public-page .tt-pill-ended { background: linear-gradient(135deg,#f0b24a,#ffd479); color: #2a1c02; }
.public-page .tt-pill-soon  { background: rgba(255,255,255,.1); color: #cfd4ea; border: 1px solid var(--tt-line); }

/* ── نوار رویداد (الگوی .event-strip / .event-title) ── */
.public-page .tt-strip { border-bottom: 1px solid var(--tt-line); margin-bottom: 14px; }
.public-page .tt-strip-inner { padding: 4px 0 14px; }
.public-page .tt-event-title {
  background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04));
  border: 1px solid var(--tt-line); border-left: 5px solid var(--tt-accent);
  border-radius: 16px; padding: 16px 20px;
  box-shadow: 0 18px 40px rgba(0,0,0,.22);
}
.public-page .tt-event-title h1 { margin: 0; }
.public-page .tt-header-title {
  color: #fff; font-size: 21px; line-height: 1.25; font-weight: 700;
  text-decoration: none; display: block;
}
.public-page .tt-header-title:hover { opacity: .82; }
.public-page .tt-event-title div { margin-top: 6px; color: var(--tt-muted); font-size: 12px; }

.public-page .tt-page { padding: 0; }

/* ── تب‌های روز (الگوی .tabs-panel / .day-tabs) ── */
.public-page .tt-tabs-panel {
  background: rgba(255,255,255,.06); border: 1px solid var(--tt-line);
  border-radius: 18px; overflow: hidden; margin-bottom: 14px;
  box-shadow: 0 18px 40px rgba(0,0,0,.24);
}
.public-page .tt-tabs-head {
  background: rgba(255,255,255,.07); color: #fff; padding: 11px 14px;
  font-weight: 700; border-bottom: 1px solid var(--tt-line); font-size: 13px;
}
.public-page .tt-day-tabs {
  display: flex; flex-wrap: wrap; gap: 8px; padding: 12px; background: rgba(0,0,0,.14);
}
.public-page .tt-day-tabs a {
  display: inline-block; min-width: 122px; text-align: center; text-decoration: none;
  color: var(--tt-text); background: rgba(255,255,255,.07);
  border: 1px solid var(--tt-line); border-radius: 999px;
  padding: 9px 14px; font-weight: 700; font-size: 13px;
  box-shadow: 0 8px 20px rgba(0,0,0,.16); transition: .18s ease;
}
.public-page .tt-day-tabs a span {
  display: block; font-size: 11px; font-weight: normal; color: var(--tt-muted); margin-top: 3px;
}
.public-page .tt-day-tabs a:hover {
  transform: translateY(-1px); background: rgba(255,255,255,.12);
  border-color: rgba(184,241,90,.45); color: #fff;
}
.public-page .tt-day-tabs a.active {
  background: linear-gradient(135deg, var(--tt-accent2), var(--tt-accent));
  border-color: transparent; color: #10170a;
  box-shadow: 0 10px 28px rgba(140,198,63,.32);
}
.public-page .tt-day-tabs a.active span { color: #23340f; }

/* ── نوار ابزار (الگوی .toolbar) ── */
.public-page .tt-toolbar {
  display: flex; align-items: center; justify-content: space-between;
  gap: 12px; margin-bottom: 12px; flex-wrap: wrap;
}
.public-page .tt-day-heading {
  background: rgba(255,255,255,.08); color: #fff; border: 1px solid var(--tt-line);
  border-radius: 14px; padding: 11px 14px; font-size: 13.5px; font-weight: 700;
  box-shadow: 0 10px 26px rgba(0,0,0,.2);
}
.public-page .tt-print-button {
  display: inline-flex; align-items: center; gap: 7px; text-decoration: none;
  background: rgba(255,255,255,.08); border: 1px solid var(--tt-line);
  border-radius: 999px; color: #fff; font-weight: 700; font-size: 13px;
  padding: 10px 15px; transition: .18s ease;
}
.public-page .tt-print-button:hover { background: rgba(255,255,255,.14); transform: translateY(-1px); }

/* ── جدول (الگوی .schedule-wrap / table.schedule) ── */
.public-page .tt-schedule-wrap {
  overflow: auto; max-height: 74vh;
  background: rgba(255,255,255,.06); border: 1px solid var(--tt-line);
  border-radius: 18px; box-shadow: 0 24px 60px rgba(0,0,0,.32);
}
.public-page table.tt-schedule {
  border-collapse: separate; border-spacing: 0; width: 100%;
  min-width: 820px; table-layout: fixed;
}
.public-page .tt-schedule th,
.public-page .tt-schedule td {
  border-right: 1px solid rgba(20,22,35,.16);
  border-bottom: 1px solid rgba(20,22,35,.16);
  vertical-align: top;
}
.public-page .tt-schedule th:last-child,
.public-page .tt-schedule td:last-child { border-right: 0; }
.public-page .tt-schedule thead th {
  position: sticky; top: 0; z-index: 3;
  background: linear-gradient(180deg, #2d334f, #1d2136);
  color: #fff; text-align: center; font-size: 13px; font-weight: 700;
  padding: 10px 8px; border-bottom: 1px solid rgba(255,255,255,.14);
}
.public-page .tt-schedule thead th small { font-weight: 400; opacity: .75; font-size: 10.5px; }
.public-page .tt-schedule thead th.tt-time-head { z-index: 4; }
.public-page .tt-time-head,
.public-page .tt-time-cell { width: 62px; }
.public-page .tt-time-cell {
  padding: 7px 5px; font-size: 11px; background: #eef1f8; color: #141623;
  font-weight: 700; text-align: center; white-space: nowrap;
}
.public-page .tt-match-cell {
  padding: 9px 10px; line-height: 1.35; color: #111; overflow: hidden;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.45);
  transition: .15s ease; cursor: default;
}
.public-page .tt-match-cell:hover {
  filter: brightness(1.04); transform: scale(1.005);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.55), 0 8px 20px rgba(0,0,0,.18);
}
.public-page .tt-empty-cell { background: rgba(255,255,255,.95); }

/* محتوای سلول */
.public-page .tt-session-label { font-size: 14px; font-weight: 700; text-align: center; color: #111; padding-top: 2px; }
.public-page .tt-match-title { font-size: 12.5px; font-weight: 700; color: #111; margin: 4px 0 5px; }
.public-page .tt-fighters { color: #111; font-size: 11.5px; }
.public-page .tt-fighters > span { display: block; margin: 1px 0; }
.public-page .tt-fighters small { color: rgba(0,0,0,.6); font-size: 10.5px; }
.public-page .tt-fighters strong {
  display: inline-block; background: rgba(255,255,255,.65);
  border: 1px solid rgba(0,0,0,.12); padding: 0 5px; border-radius: 999px;
  font-size: 10.5px; margin: 2px 0;
}
.public-page .tt-fighters .tt-win { font-weight: 700; text-decoration: underline; }
.public-page .tt-badges { margin-bottom: 5px; font-size: 10px; }
.public-page .tt-badge {
  display: inline-block; background: rgba(255,255,255,.72);
  border: 1px solid rgba(0,0,0,.14); border-radius: 999px;
  padding: 2px 6px; margin: 0 3px 3px 0; color: #222; font-size: 10px; font-weight: 700;
}
.public-page .tt-badge-dark { background: #141623; color: #fff; border-color: #141623; }
.public-page .tt-badge-light { background: rgba(255,255,255,.9); }
.public-page .tt-cell-info {
  margin-top: 5px; color: #222; font-size: 10px; font-weight: 700; opacity: .78;
}
.public-page .tt-cell-status {
  margin-top: 3px; display: inline-block; font-size: 10px; font-weight: 700;
  background: rgba(20,22,35,.85); color: #fff; border-radius: 999px; padding: 1px 7px;
}

/* ── راهنمای رنگ‌ها (الگوی .legend) ── */
.public-page .tt-legend { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.public-page .tt-legend span {
  display: inline-block; border: 1px solid var(--tt-line);
  background: rgba(255,255,255,.07); color: var(--tt-text);
  padding: 7px 10px; border-radius: 999px; font-size: 12px;
}
.public-page .tt-legend b {
  display: inline-block; width: 12px; height: 12px;
  border: 1px solid rgba(255,255,255,.35); margin-right: 6px;
  vertical-align: -2px; border-radius: 3px;
}

/* ── بدون داده (الگوی .no-data) ── */
.public-page .tt-no-data {
  background: rgba(255,255,255,.07); border: 1px solid var(--tt-line);
  border-radius: 16px; padding: 28px; text-align: center; color: var(--tt-muted);
}
.public-page .tt-no-data i { font-size: 26px; color: #8c96d2; display: block; margin-bottom: 10px; }
.public-page .tt-no-data p { margin: 0 0 14px; font-size: 13.5px; }

/* ── موبایل (الگوی @media max-width:700px مرجع) ── */
@media (max-width: 700px) {
  .public-page .tt-brand-line { display: block; }
  .public-page .tt-status-pill { margin-top: 10px; }
  .public-page .tt-header-title { font-size: 17px; }
  .public-page .tt-day-tabs a { min-width: calc(50% - 8px); }
  .public-page .tt-top-inner { padding: 11px 13px; }
  .public-page .tt-event-title { padding: 12px 14px; }
  .public-page .tt-toolbar { display: block; }
  .public-page .tt-print-button { margin-top: 8px; }
  .public-page .tt-schedule-wrap { max-height: 66vh; }
  .public-page .tt-match-cell { padding: 6px 7px; }
  .public-page .tt-match-title { font-size: 11.5px; }
  .public-page .tt-fighters { font-size: 10.5px; }
}

/* ── چاپ (الگوی @media print مرجع) ── */
@media print {
  .public-page .tt-top, .public-page .tt-strip,
  .public-page .tt-tabs-panel, .public-page .tt-print-button,
  .public-page .ld-foot, .public-page .tt-legend { display: none !important; }
  .public-page .tt { max-width: none; }
  .public-page .tt-schedule-wrap {
    box-shadow: none; border: 0; overflow: visible; max-height: none;
    background: #fff;
  }
  .public-page table.tt-schedule { min-width: 0; font-size: 9px; }
  .public-page .tt-schedule thead th { position: static; }
  .public-page .tt-match-cell { padding: 3px; }
  .public-page .tt-time-head, .public-page .tt-time-cell { width: 45px; }
}


/* ══════════════════════════════════════════════════════════════════════════
   مبارزات زنده — آینهٔ SET Online dtm_timetable_live.php
   پالت مرجع: bg #141623 · panel-3 #2d334f→#1d2136 · accent #8cc63f · accent2 #b8f15a
   ══════════════════════════════════════════════════════════════════════════ */
.public-page .lv {
  --lv-line: rgba(255,255,255,.1);
  --lv-muted: #9ba3c7;
  --lv-accent: #8cc63f;
  --lv-accent2: #b8f15a;
  max-width: 1400px;
  margin: 0 auto;
}

/* ── نوار بالا (الگوی .brand-line مرجع: فضای بین دو سر) ── */
.public-page .lv-header {
  background: #0f111d; border: 1px solid var(--lv-line); border-radius: 14px;
  padding: 16px 18px; margin-bottom: 16px;
}
.public-page .lv-brand-line {
  display: flex; align-items: center; justify-content: space-between; gap: 14px;
}
.public-page .lv-brand-wrap { display: flex; align-items: center; gap: 12px; }
.public-page .lv-brand-icon {
  height: 36px; width: 36px; border-radius: 10px; display: grid; place-items: center;
  background: linear-gradient(135deg, var(--lv-accent2), var(--lv-accent));
  color: #10170a; font-size: 16px;
  box-shadow: 0 6px 18px rgba(140,198,63,.3);
}
.public-page .lv-brand { font-size: 20px; font-weight: 700; color: #fff; }
.public-page .lv-status-pill {
  border-radius: 999px; padding: 7px 14px; font-weight: 700; font-size: 11px;
  letter-spacing: .6px; text-transform: uppercase;
  display: inline-flex; align-items: center; gap: 6px;
}
.public-page .lv-pill-live {
  background: linear-gradient(135deg, var(--lv-accent2), var(--lv-accent));
  color: #0b1405; box-shadow: 0 6px 18px rgba(140,198,63,.35);
}
.public-page .lv-pill-ended { background: linear-gradient(135deg,#f0b24a,#ffd479); color: #2a1c02; }
.public-page .lv-pill-soon  { background: rgba(255,255,255,.1); color: #cfd4ea; border: 1px solid var(--lv-line); }

/* ── نوار رویداد (الگوی .event-title مرجع: نوار سبز چپ) ── */
.public-page .lv-strip { border-bottom: 1px solid var(--lv-line); margin-bottom: 16px; }
.public-page .lv-strip-inner { padding: 0 0 16px; }
.public-page .lv-event-title {
  background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04));
  border: 1px solid var(--lv-line); border-left: 5px solid var(--lv-accent);
  border-radius: 16px; padding: 16px 20px;
  box-shadow: 0 18px 40px rgba(0,0,0,.22);
}
.public-page .lv-event-title h1 { margin: 0; }
.public-page .lv-header-title {
  color: #fff; font-size: clamp(16px,3vw,24px); font-weight: 700;
  text-decoration: none; display: block; line-height: 1.25;
}
.public-page .lv-header-title:hover { opacity: .82; }
.public-page .lv-event-title div { margin-top: 6px; color: var(--lv-muted); font-size: 12px; }

.public-page .lv-page { padding: 0; }

/* ── پخش زنده ── */
.public-page .lv-stream {
  border: 1px solid var(--lv-line); border-radius: 16px; overflow: hidden;
  margin-bottom: 16px; background: #000;
  box-shadow: 0 20px 50px rgba(0,0,0,.3);
}
.public-page .lv-stream iframe { width: 100%; aspect-ratio: 16/9; border: 0; display: block; }

/* ── تب زمین‌ها (الگوی .tatami-tabs مرجع) ── */
.public-page .lv-tatami-tabs {
  display: flex; gap: 8px; padding: 12px 14px;
  background: rgba(0,0,0,.25); border: 1px solid var(--lv-line);
  border-radius: 14px; margin-bottom: 16px; overflow-x: auto;
}
.public-page .lv-tatami-tabs a {
  text-decoration: none; padding: 10px 16px; border-radius: 999px;
  background: rgba(255,255,255,.08); color: #eef1ff;
  font-weight: 700; font-size: 13px; white-space: nowrap; flex: 0 0 auto;
  border: 1px solid var(--lv-line); transition: .2s;
}
.public-page .lv-tatami-tabs a:hover { background: rgba(255,255,255,.15); }
.public-page .lv-tatami-tabs a.active {
  background: linear-gradient(135deg, var(--lv-accent2), var(--lv-accent));
  color: #10170a; border-color: transparent;
  box-shadow: 0 6px 18px rgba(140,198,63,.3);
}

/* ── کارت زمین (الگوی .tatami-card مرجع) ── */
.public-page .lv-tatami-card {
  background: rgba(255,255,255,.06); border: 1px solid var(--lv-line);
  border-radius: 18px; margin-bottom: 18px; overflow: hidden;
  box-shadow: 0 20px 50px rgba(0,0,0,.25);
}
.public-page .lv-tatami-title {
  padding: 14px 16px; background: linear-gradient(180deg, #2d334f, #1d2136);
  font-size: 18px; font-weight: 700; color: #fff;
}

/* ── مبارزهٔ جاری (الگوی .current مرجع) ── */
.public-page .lv-current {
  padding: 16px; background: rgba(140,198,63,.15);
  border-bottom: 1px solid var(--lv-line); border-left: 4px solid var(--lv-accent);
}
.public-page .lv-current-label {
  color: var(--lv-accent); font-size: 11px; font-weight: 700;
  text-transform: uppercase; margin-bottom: 6px; letter-spacing: .5px;
}
.public-page .lv-current-match { font-size: 16px; font-weight: 700; color: #fff; }
.public-page .lv-time {
  display: inline-block; background: rgba(255,255,255,.12);
  padding: 4px 9px; border-radius: 999px; margin: 0 8px 6px 0; font-weight: 700;
}
.public-page .lv-current .lv-fight-box { margin-top: 8px; }
.public-page .lv-current-score {
  margin-top: 7px; font-size: 15px; color: #fff;
}
.public-page .lv-current-score b {
  display: inline-block; min-width: 30px; text-align: center;
  background: rgba(20,22,35,.6); border: 1px solid var(--lv-line);
  border-radius: 8px; padding: 2px 6px;
}

/* ── جعبهٔ مبارزه (الگوی .fight-box مرجع) ── */
.public-page .lv-fight-box { display: flex; flex-direction: column; gap: 7px; }
.public-page .lv-fight-meta { display: flex; flex-wrap: wrap; gap: 5px; align-items: center; }
.public-page .lv-fight-badge {
  display: inline-flex; align-items: center; gap: 5px;
  border-radius: 999px; padding: 3px 8px; font-size: 10px; font-weight: 700; line-height: 1.2;
}
.public-page .lv-badge-category {
  background: rgba(255,255,255,.12); color: #eef1ff; border: 1px solid rgba(255,255,255,.14);
}
.public-page .lv-badge-number {
  background: linear-gradient(135deg, var(--lv-accent2), var(--lv-accent)); color: #10170a;
}
.public-page .lv-badge-live {
  background: rgba(255,80,80,.18); color: #ff9b9b; border: 1px solid rgba(255,110,110,.4);
}

/* ── ردیف مبارزها (الگوی .fighters-row مرجع: گرید ۳ ستونه) ── */
.public-page .lv-fighters-row {
  display: grid; grid-template-columns: 1fr auto 1fr;
  align-items: center; gap: 8px;
}
.public-page .lv-fighter {
  background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.12);
  border-radius: 10px; padding: 8px 10px; color: #fff; font-weight: 700; font-size: 12.5px;
}
.public-page .lv-fighter.lv-winner {
  background: rgba(140,198,63,.2); border-color: rgba(184,241,90,.5); color: #eaffd4;
}
.public-page .lv-single-fighter {
  color: #fff; font-weight: 700; background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12); border-radius: 10px; padding: 8px 10px; font-size: 12.5px;
}
.public-page .lv-vs-badge {
  background: #141623; color: var(--lv-accent2);
  border: 1px solid rgba(184,241,90,.35); border-radius: 999px;
  padding: 4px 8px; font-size: 10px; font-weight: 700;
  box-shadow: 0 0 14px rgba(184,241,90,.18);
}

/* ── جدول مبارزات زمان‌بندی‌شده (الگوی table.schedule مرجع) ── */
.public-page .lv-schedule { width: 100%; border-collapse: collapse; }
.public-page .lv-schedule th {
  background: rgba(255,255,255,.08); color: #fff; text-align: right;
  padding: 10px; font-size: 12px; font-weight: 700;
}
.public-page .lv-schedule td {
  border-top: 1px solid rgba(255,255,255,.08); padding: 10px;
  vertical-align: top; color: #dfe4f7; font-size: 12.5px;
}
.public-page .lv-schedule tr:hover td { background: rgba(255,255,255,.05); }
.public-page .lv-schedule td:first-child { width: 78px; font-weight: 700; letter-spacing: .3px; }
.public-page .lv-schedule td:nth-child(2) { width: 78px; }
.public-page .lv-schedule .lv-delay { width: 66px; font-weight: 700; text-align: center; }
.public-page .lv-schedule .lv-fight-box { gap: 6px; }

.public-page .lv-no-data {
  padding: 18px 16px; color: var(--lv-muted); font-size: 13px;
}

/* ── نمای کلی زمین‌ها ── */
.public-page .lv-area-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 10px; margin-bottom: 18px;
}
.public-page .lv-area-chip {
  display: flex; flex-direction: column; gap: 3px; text-decoration: none;
  background: rgba(255,255,255,.06); border: 1px solid var(--lv-line);
  border-radius: 13px; padding: 12px 14px; color: #eef1ff; transition: .16s ease;
}
.public-page .lv-area-chip:hover { background: rgba(255,255,255,.1); transform: translateY(-1px); }
.public-page .lv-area-chip i { color: var(--lv-accent); font-size: 12px; }
.public-page .lv-area-chip b { font-size: 13.5px; font-weight: 700; }
.public-page .lv-area-chip span { font-size: 11px; color: var(--lv-muted); }
.public-page .lv-area-chip.lv-chip-on {
  background: rgba(140,198,63,.16); border-color: rgba(184,241,90,.45);
}

/* ── موبایل (الگوی @media 800px و 600px مرجع) ── */
@media (max-width: 800px) {
  .public-page .lv-header, .public-page .lv-strip-inner { padding: 12px; }
  .public-page .lv-brand-line { flex-direction: column; align-items: flex-start; gap: 10px; }
  .public-page .lv-status-pill { align-self: flex-start; }
  .public-page .lv-tatami-tabs { flex-wrap: nowrap; padding-bottom: 10px; }
  .public-page .lv-fighters-row { grid-template-columns: 1fr auto 1fr; gap: 6px; }
  .public-page .lv-vs-badge { font-size: 9px; padding: 3px 6px; }
  .public-page .lv-current-match { font-size: 14px; }
  .public-page .lv-fighter, .public-page .lv-single-fighter { padding: 7px 8px; }
  .public-page .lv-schedule td:first-child,
  .public-page .lv-schedule td:nth-child(2) { width: 60px; font-size: 11px; padding: 6px 4px; font-weight: 700; }
}
@media (max-width: 600px) {
  .public-page .lv-fight-box { gap: 4px; }
  .public-page .lv-fighter, .public-page .lv-single-fighter { padding: 5px 6px; font-size: 11px; }
  .public-page .lv-fighters-row { grid-template-columns: 1fr; gap: 4px; }
  .public-page .lv-vs-badge { display: none; }
  .public-page .lv-fight-meta { gap: 4px; }
  .public-page .lv-fight-badge { font-size: 9px; padding: 2px 6px; }
  .public-page .lv-schedule thead { display: none; }
  .public-page .lv-schedule td { display: block; border-top: 1px solid rgba(255,255,255,.08); }
  .public-page .lv-schedule td::before {
    content: attr(data-label) ": "; color: var(--lv-muted); font-weight: 700; font-size: 10.5px;
  }
  .public-page .lv-schedule tr { display: block; padding: 8px 0; }
}


/* ══════════════════════════════════════════════════════════════════════════
   ۱) Live Matches — آینهٔ pss_feed.php
   ساختار .match مرجع: .header (.category/.phase/.match-meta-right)
                       + .main (.left-info | .fighter A | .center | .fighter B)
   ══════════════════════════════════════════════════════════════════════════ */
.public-page .fd { max-width: 1200px; margin: 0 auto; }
.public-page .fd-head { text-align: center; margin-bottom: 22px; }
.public-page .fd-eyebrow {
  color: #38bdf8; font-size: 12px; font-weight: 700; text-transform: uppercase;
  letter-spacing: .12em; display: inline-flex; align-items: center; gap: 7px;
}
.public-page .fd-title { margin: 8px 0 6px; font-size: clamp(22px,3.4vw,34px); line-height: 1.15; }
.public-page .fd-title a { color: #fff; text-decoration: none; }
.public-page .fd-title a:hover { opacity: .82; }
.public-page .fd-sub { color: #94a3b8; margin: 0 0 12px; font-size: 13.5px; }
.public-page .fd-statebar { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.public-page .fd-chip {
  display: inline-flex; align-items: center; gap: 6px;
  background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.12);
  border-radius: 999px; padding: 6px 12px; font-size: 12px; font-weight: 700; color: #cfd4ea;
}
.public-page .fd-chip-live { background: rgba(239,68,68,.16); border-color: rgba(248,113,113,.4); color: #ff9b9b; }

/* تب‌های FOP */
.public-page .fd-fop-tabs { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-bottom: 16px; }
.public-page .fd-fop-tabs a {
  text-decoration: none; padding: 8px 14px; border-radius: 999px;
  background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.12);
  color: #cfd4ea; font-weight: 700; font-size: 12.5px; transition: .18s;
}
.public-page .fd-fop-tabs a:hover { background: rgba(255,255,255,.13); color: #fff; }
.public-page .fd-fop-tabs a.active {
  background: linear-gradient(135deg,#b8f15a,#8cc63f); color: #10170a;
  border-color: transparent; box-shadow: 0 6px 16px rgba(140,198,63,.3);
}
.public-page .fd-fopbadge {
  background: rgba(56,189,248,.2); color: #38bdf8; border-radius: 999px;
  padding: 2px 7px; font-size: 10px; font-weight: 700;
}

/* لیست کارت‌ها */
.public-page .fd-list { display: flex; flex-direction: column; gap: 12px; }
.public-page .fd-match {
  position: relative; overflow: hidden; background: #1b1e2e;
  border: 1px solid rgba(255,255,255,.07); border-radius: 16px; padding: 14px 16px;
  transition: .18s ease;
}
.public-page .fd-match:hover { border-color: rgba(56,189,248,.3); box-shadow: 0 12px 30px rgba(0,0,0,.3); }
.public-page .fd-live { border-color: rgba(239,68,68,.45); }
.public-page .fd-live::before {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(239,68,68,.1), transparent 50%); pointer-events: none;
}

/* سرصفحهٔ کارت (الگوی .header مرجع: category چپ، meta راست) */
.public-page .fd-header {
  position: relative; margin-bottom: 10px; padding-left: 130px;
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
}
.public-page .fd-category {
  font-weight: 700; color: #fff; font-size: 13.5px;
  display: inline-flex; align-items: center; gap: 6px;
}
.public-page .cat-bracket { display: inline-flex; align-items: center; }
.public-page .bracket-icon {
  width: 14px; height: 14px; fill: #38bdf8; stroke: #38bdf8; stroke-width: 1.5;
  transform: rotate(-90deg);
}
.public-page .fd-phase { color: #94a3b8; font-size: 12px; font-weight: 700; }
.public-page .fd-meta-right {
  margin-left: auto; display: inline-flex; gap: 7px; align-items: center;
}
.public-page .fd-match-number {
  background: rgba(255,255,255,.1); color: #eef1ff; border-radius: 999px;
  padding: 3px 9px; font-size: 11px; font-weight: 700;
}

/* بدنهٔ کارت (الگوی .main مرجع: left-info | fighter A | center | fighter B) */
.public-page .fd-main {
  display: grid; grid-template-columns: 78px 1fr minmax(120px, auto) 1fr;
  align-items: center; gap: 10px;
}
.public-page .fd-left-info { display: flex; flex-direction: column; gap: 5px; }
.public-page .fd-time { font-weight: 700; font-size: 13.5px; color: #fff; }
.public-page .fd-status {
  font-size: 10px; font-weight: 700; border-radius: 999px; padding: 3px 8px;
  background: rgba(255,255,255,.1); color: #cfd4ea; text-align: center;
}
.public-page .fd-status.live-status {
  background: rgba(239,68,68,.2); color: #ff9b9b; animation: fdblink 1.4s infinite;
}
.public-page .fd-status.finished-status { background: rgba(140,198,63,.18); color: #b8f15a; }
.public-page .fd-status.pending-status { background: rgba(255,255,255,.09); color: #9ba3c7; }
@keyframes fdblink { 50% { opacity: .55; } }

/* ورزشکار (الگوی .fighter مرجع) */
.public-page .fd-fighter { display: flex; align-items: center; gap: 9px; }
.public-page .fd-fighter.fd-right { flex-direction: row-reverse; text-align: left; }
.public-page .fd-fighter.fd-winner {
  background: rgba(140,198,63,.14); border-radius: 10px; padding: 4px 8px;
  box-shadow: inset 0 0 0 1px rgba(184,241,90,.35);
}
.public-page .fd-flag-block {
  display: flex; flex-direction: column; align-items: center; gap: 2px; flex: 0 0 auto;
}
.public-page .fd-flag-code {
  background: #20243a; border: 1px solid rgba(255,255,255,.12); border-radius: 6px;
  padding: 3px 6px; font-size: 10px; font-weight: 700; color: #9ba3c7;
}
.public-page .fd-fighter-info { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.public-page .fd-name { color: #fff; font-weight: 700; font-size: 12.5px; }
.public-page .fd-org { color: #94a3b8; font-size: 11px; }
.public-page .fd-perf { color: #38bdf8; font-size: 10.5px; font-weight: 700; }
.public-page .fd-penalty { color: #f87171; font-size: 10.5px; font-weight: 700; }

/* مرکز (الگوی .center مرجع: clock / score / round / decision) */
.public-page .fd-center {
  display: flex; flex-direction: column; align-items: center; gap: 3px;
  background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.1);
  border-radius: 12px; padding: 8px 12px;
}
.public-page .fd-clock { color: #9ba3c7; font-size: 11.5px; font-weight: 700; }
.public-page .fd-score { display: flex; align-items: center; gap: 6px; font-size: 19px; }
.public-page .fd-score b { color: #fff; font-weight: 700; min-width: 24px; text-align: center; }
.public-page .fd-score i { color: #64748b; font-style: normal; font-size: 13px; }
.public-page .fd-round { color: #38bdf8; font-size: 10.5px; font-weight: 700; }
.public-page .fd-decision { color: #b8f15a; font-size: 10.5px; font-weight: 700; text-align: center; }

.public-page .fd-loader { text-align: center; color: #64748b; padding: 14px; font-size: 12.5px; }
.public-page .fd-no-data {
  text-align: center; padding: 40px 20px; background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.1); border-radius: 16px; color: #9ba3c7;
}
.public-page .fd-no-data i { font-size: 30px; color: #475569; display: block; margin-bottom: 12px; }
.public-page .fd-no-data p { margin: 0 0 14px; }

/* ══════════════════════════════════════════════════════════════════════════
   ۲) Public Scoreboard — آینهٔ activitymonitor.html (تختهٔ سالن)
   ══════════════════════════════════════════════════════════════════════════ */
.public-page .sb-page {
  max-width: 1300px; margin: 0 auto; background: #0b0d16;
  border: 1px solid rgba(255,255,255,.08); border-radius: 18px; padding: 20px;
}
.public-page .sb-head { text-align: center; margin-bottom: 20px; }
.public-page .sb-eyebrow {
  color: #38bdf8; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .12em;
}
.public-page .sb-title { margin: 7px 0 8px; font-size: clamp(20px,3vw,30px); color: #fff; font-weight: 700; }
.public-page .sb-pill {
  display: inline-flex; align-items: center; gap: 7px; border-radius: 999px;
  padding: 6px 14px; font-size: 11.5px; font-weight: 700; text-transform: uppercase;
}
.public-page .sb-pill-live { background: linear-gradient(135deg,#b8f15a,#8cc63f); color: #0b1405; }

.public-page .sb-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(360px,1fr)); gap: 16px; }
.public-page .sb-board {
  background: #12141f; border: 1px solid rgba(255,255,255,.09);
  border-radius: 14px; padding: 16px;
}
.public-page .sb-board-live { border-color: rgba(239,68,68,.5); box-shadow: 0 0 0 1px rgba(239,68,68,.2); }
.public-page .sb-board-head {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 10px; padding-bottom: 8px; border-bottom: 1px solid rgba(255,255,255,.09);
}
.public-page .sb-area { color: #38bdf8; font-weight: 700; font-size: 14px; display: inline-flex; gap: 7px; align-items: center; }
.public-page .sb-time { color: #64748b; font-weight: 700; font-size: 12.5px; }
.public-page .sb-cat { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; margin-bottom: 12px; }
.public-page .sb-num {
  background: #38bdf833; color: #38bdf8; border-radius: 999px;
  padding: 3px 9px; font-size: 11px; font-weight: 700;
}
.public-page .sb-catname { color: #e5e7eb; font-weight: 700; font-size: 13px; }
.public-page .sb-phase { color: #64748b; font-size: 11.5px; font-weight: 700; }

.public-page .sb-fight {
  display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 12px;
}
.public-page .sb-side { display: flex; flex-direction: column; gap: 3px; }
.public-page .sb-side-b { text-align: left; }
.public-page .sb-side.sb-win .sb-name { color: #b8f15a; }
.public-page .sb-name { color: #fff; font-weight: 700; font-size: 14px; }
.public-page .sb-club { color: #64748b; font-size: 11px; }
.public-page .sb-score {
  display: flex; align-items: center; gap: 8px;
  background: #000; border: 2px solid rgba(255,255,255,.14); border-radius: 12px;
  padding: 8px 14px;
}
.public-page .sb-score b { color: #fff; font-size: 30px; font-weight: 700; min-width: 40px; text-align: center; font-variant-numeric: tabular-nums; }
.public-page .sb-score i { color: #475569; font-style: normal; font-size: 20px; font-weight: 700; }
.public-page .sb-status {
  margin-top: 12px; text-align: center; color: #64748b;
  font-size: 10.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em;
}
.public-page .sb-idle { color: #475569; font-size: 12.5px; text-align: center; padding: 18px 0; }

.public-page .sb-no-data { text-align: center; padding: 60px 20px; color: #64748b; }
.public-page .sb-no-data i { font-size: 40px; color: #334155; display: block; margin-bottom: 16px; }
.public-page .sb-no-data h2 { color: #94a3b8; font-size: 18px; margin: 0 0 9px; }
.public-page .sb-no-data p { margin: 0; font-size: 13px; }
.public-page .sb-foot { display: flex; gap: 9px; justify-content: center; margin-top: 20px; flex-wrap: wrap; }

/* ══════════════════════════════════════════════════════════════════════════
   ۳) RTDS by FOP — آینهٔ matchcallertatami.html (نمایشگر سالن، زمینهٔ مشکی)
   ══════════════════════════════════════════════════════════════════════════ */
.public-page .rtds { max-width: 1150px; margin: 0 auto; }
.public-page .rtds-head { text-align: center; margin-bottom: 20px; }
.public-page .rtds-eyebrow {
  color: #38bdf8; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .12em;
}
.public-page .rtds-title { margin: 7px 0 0; font-size: clamp(20px,3vw,28px); color: #fff; font-weight: 700; }

.public-page .rtds-field {
  background: #000; color: #fff; border: 2px solid rgba(255,255,255,.28);
  border-radius: 10px; padding: 8px 14px 14px; margin-bottom: 16px;
}
.public-page .rtds-field legend {
  color: #fff; font-weight: 700; font-size: 14px; padding: 0 8px;
}
.public-page .rtds-clockrow {
  display: flex; align-items: center; justify-content: center; gap: 11px; margin-bottom: 10px;
}
.public-page .rtds-clockicon { color: #facc15; font-size: 24px; }
.public-page .rtds-clock {
  font-size: 30px; font-weight: 700; color: #fff; font-variant-numeric: tabular-nums;
  letter-spacing: 1px;
}
.public-page .rtds-live {
  background: rgba(239,68,68,.25); color: #ff9b9b; border-radius: 999px;
  padding: 4px 11px; font-size: 11px; font-weight: 700;
  display: inline-flex; align-items: center; gap: 6px;
}
.public-page .rtds-table { width: 100%; border-collapse: collapse; font-size: 12px; }
.public-page .rtds-table td {
  border: 0; padding: 8px 7px; vertical-align: middle; font-weight: 700;
}
.public-page .rtds-td-time { background: #333333; text-align: center; width: 62px; }
.public-page .rtds-td-num { background: #333333; text-align: center; width: 62px; }
.public-page .rtds-td-cat { background: #333333; text-align: right; }
.public-page .rtds-td-phase { background: #333333; text-align: center; width: 70px; }
/* مرجع: ورزشکار الف زمینهٔ #9e0000 (قرمز) — ورزشکار ب #2947f9 (آبی) */
.public-page .rtds-td-a {
  background: #9e0000; color: #fff; border: 5px solid #9e0000; text-align: right;
}
.public-page .rtds-td-b {
  background: #2947f9; color: #fff; border: 5px solid #2947f9; text-align: right;
}
.public-page .rtds-td-score {
  background: #333333; text-align: center; width: 46px; color: #fff;
}
.public-page .rtds-idle { color: #64748b; font-size: 12.5px; text-align: center; padding: 14px 0; }
.public-page .rtds-no-data { text-align: center; padding: 50px 20px; color: #64748b; }
.public-page .rtds-no-data i { font-size: 36px; color: #334155; display: block; margin-bottom: 14px; }
.public-page .rtds-no-data h2 { color: #94a3b8; font-size: 17px; margin: 0 0 8px; }

/* ── موبایل ── */
@media (max-width: 820px) {
  .public-page .fd-header { padding-left: 0; }
  .public-page .fd-main { grid-template-columns: 1fr; gap: 12px; }
  .public-page .fd-fighter.fd-right { flex-direction: row; text-align: right; }
  .public-page .fd-left-info { flex-direction: row; align-items: center; gap: 9px; }
  .public-page .fd-center { order: -1; }
  .public-page .sb-grid { grid-template-columns: 1fr; }
  .public-page .sb-fight { grid-template-columns: 1fr; gap: 9px; }
  .public-page .sb-side-b { text-align: right; }
  .public-page .sb-score { justify-content: center; }
  .public-page .rtds-field { padding: 8px 9px 12px; overflow-x: auto; }
  .public-page .rtds-table { min-width: 560px; }
  .public-page .rtds-clock { font-size: 24px; }
}

/* ── چاپ ── */
@media print {
  .public-page .fd-fop-tabs, .public-page .ld-foot, .public-page .sb-foot { display: none !important; }
  .public-page .fd-match, .public-page .sb-board, .public-page .rtds-field {
    break-inside: avoid; box-shadow: none; background: #fff; color: #000;
  }
  .public-page .rtds-td-a, .public-page .rtds-td-b { border-width: 3px; }
}


/* ══════════════════════════════════════════════════════════════════════════════
   صفحهٔ اطلاعات مسابقه — آینهٔ SET Online veranstaltung_info_main.php
   اندازه‌ها عیناً از modern.css مرجع استخراج شده‌اند
   ══════════════════════════════════════════════════════════════════════════════ */
.public-page .ei {
  --ei-brand: #5d66a2;
  --ei-line: rgba(255, 255, 255, .12);
  --ei-muted: #9ba3c7;
  max-width: 1400px;
  margin: 0 auto;
}

/* ── ۱) سرصفحه (.carousel/.carousel-caption/.carousel-textbg مرجع) ── */
.public-page .ei-hero {
  position: relative; overflow: hidden; border-radius: 16px;
  margin-bottom: 16px; min-height: 220px;
  display: flex; align-items: flex-end;
  background: linear-gradient(135deg, rgba(93,102,162,.35), rgba(20,22,35,.9));
  border: 1px solid var(--ei-line);
  box-shadow: 0 18px 44px rgba(0,0,0,.3);
}
.public-page .ei-hero-bg {
  position: absolute; inset: 0; background-size: cover; background-position: center;
  opacity: .38; z-index: 0;
}
.public-page .ei-hero::after {
  content: ""; position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(to bottom, rgba(0,0,0,.15) 0%, rgba(0,0,0,.88) 100%);
}
.public-page .ei-hero-inner {
  position: relative; z-index: 2; width: 100%; padding: 26px 24px;
  display: flex; flex-wrap: wrap; align-items: flex-end;
  justify-content: space-between; gap: 14px;
}
/* مرجع: .newsheader_eventhead font-size:clamp(1.5rem,3vw,2.5rem) */
.public-page .ei-hero-title {
  margin: 0; color: #fff; font-size: clamp(1.5rem, 3vw, 2.5rem);
  font-weight: 700; line-height: 1.15; flex: 1 1 320px;
  text-shadow: 0 2px 12px rgba(0,0,0,.8);
}
.public-page .ei-hero-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
/* مرجع: .btn.btn-danger */
.public-page .ei-btn-details {
  display: inline-block; text-decoration: none; border-radius: 10px;
  padding: 9px 18px; font-size: 13px; font-weight: 700;
  background: linear-gradient(180deg, #e5484d, #c1373c); color: #fff;
  border: 1px solid rgba(255,255,255,.22);
  box-shadow: 0 6px 18px rgba(229,72,77,.32); transition: .16s ease;
}
.public-page .ei-btn-details:hover { transform: translateY(-1px); filter: brightness(1.08); }
.public-page .ei-pill {
  display: inline-flex; align-items: center; gap: 6px; border-radius: 999px;
  padding: 7px 14px; font-size: 11.5px; font-weight: 700;
}
.public-page .ei-pill-live { background: linear-gradient(135deg,#b8f15a,#8cc63f); color: #0b1405; }
.public-page .ei-pill-ended { background: linear-gradient(135deg,#f0b24a,#ffd479); color: #2a1c02; }
.public-page .ei-pill-open { background: rgba(93,102,162,.85); color: #fff; }

/* ── ۲) نوار اطلاعات (.header_icons مرجع) ── */
.public-page .ei-icons {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1rem; margin-bottom: 18px;
}
.public-page .ei-icon-item {
  display: flex; align-items: center; gap: 10px;
  background: rgba(255,255,255,.06); border: 1px solid var(--ei-line);
  border-radius: 12px; padding: 11px 15px;
  color: #eef1ff; font-weight: 700;
  font-size: clamp(12.5px, 1.4vw, 15px);
}
.public-page .ei-icon-item i { color: #8c96d2; font-size: 15px; flex: 0 0 auto; }
.public-page .ei-icon-item a { color: #eef1ff; text-decoration: none; }
.public-page .ei-icon-item a:hover { color: #fff; text-decoration: underline; }

.public-page .ei-body { padding: 0; }

/* ── ۳) کارت‌های منو (.card2 مرجع) ── */
.public-page .ei-cards {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 1rem; margin: 0 0 22px;
}
/* مرجع: padding:22px · radius:10px · min-height:100px · border rgba(93,102,162,.5) */
.public-page .ei-card {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 10px; text-decoration: none; text-align: center;
  padding: 22px; min-height: 100px; border-radius: 10px; margin: 4px;
  background: rgba(27,30,48,.92); border: 1px solid rgba(93,102,162,.5);
  color: #eef1ff; transition: .18s ease; position: relative; overflow: hidden;
}
/* مرجع: .card2:hover → border روشن‌تر + گرادیان برند */
.public-page .ei-card:hover {
  border-color: rgba(255,255,255,.4);
  background: linear-gradient(to bottom, transparent 50%, rgba(93,102,162,.5) 100%);
  transform: translateY(-2px);
}
.public-page .ei-card-live { border-color: rgba(229,72,77,.5); }
.public-page .ei-card-live:hover { background: linear-gradient(to bottom, transparent 50%, rgba(229,72,77,.45) 100%); }
/* مرجع: .service-icon width:60px · height:30px · line-height:30px · font-size:30px · color:#fff */
.public-page .ei-card-icon {
  width: 60px; height: 30px; line-height: 30px;
  font-size: 30px; color: #fff; text-align: center; margin: 4px;
}
.public-page .ei-card-live .ei-card-icon { color: #ff9b9b; }
/* مرجع: .card2 > a font-size:10px */
.public-page .ei-card span {
  font-size: 11px; font-weight: 700; line-height: 1.3;
}

/* ── ۴) جعبه‌های اطلاعات (.eventinfoboxes/.eventinfobox مرجع) ── */
.public-page .ei-boxes {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 1rem; margin: 1.5rem 0;
}
.public-page .ei-box {
  position: relative; margin-bottom: 1.5rem;
  background: rgba(255,255,255,.05); border: 1px solid var(--ei-line);
  border-radius: 14px; padding: 16px 18px; min-height: 96px;
  transition: .16s ease;
}
.public-page .ei-box:hover { border-color: rgba(140,150,210,.45); background: rgba(255,255,255,.075); }
/* مرجع: .eventinfobox>i font-size:35px · width:60px · padding:1rem · bg برند · radius:10px */
.public-page .ei-box-icon {
  /* مرجع عیناً: font-size:35px · width:60px · padding:1rem · radius:10px · bg برند */
  position: absolute; top: 14px; left: 16px;
  font-size: 30px; width: 60px; height: 60px; line-height: 60px; text-align: center;
  border-radius: 10px; background: var(--ei-brand); color: #fff;
  padding: 0; margin: 0;
}
.public-page .ei-box > a .ei-box-icon,
.public-page .ei-box > a > .ei-box-icon { cursor: pointer; }
.public-page .ei-box > a:hover .ei-box-icon { filter: brightness(1.15); }
/* مرجع: .eventinfobox-body margin-left:80px */
.public-page .ei-box-body { margin-left: 80px; }
/* مرجع: h5 font-weight:bold · text-transform:uppercase */
.public-page .ei-box-body h5 {
  margin: 2px 0 0; font-size: 11.5px; font-weight: 700; letter-spacing: .04em;
  text-transform: uppercase; color: #9aa2c4;
}
/* مرجع: .eventinfobox-detail margin-left:80px · uppercase */
.public-page .ei-box-detail {
  margin-left: 80px; margin-top: 5px; font-size: 13px; font-weight: 700;
  color: #eef1ff; line-height: 1.4;
}
.public-page .ei-box-detail a { color: #eef1ff; text-decoration: none; }
.public-page .ei-box-detail a:hover { color: #fff; text-decoration: underline; }
.public-page .ei-box-detail b { color: #fff; font-weight: 700; }

/* ── ۵) کادر Entries (الگوی .card مرجع) ── */
.public-page .ei-entries {
  background: rgba(255,255,255,.055); border: 1px solid var(--ei-line);
  border-radius: 16px; padding: 18px 20px; margin: 1.5rem 0;
  color: #d8ddf0; font-size: 13px; line-height: 1.65;
}
.public-page .ei-entries p { margin: 0 0 10px; }
.public-page .ei-entries p:last-child { margin-bottom: 0; }
.public-page .ei-entries b { color: #fff; font-weight: 700; }

/* ── ۶) هتل و پرواز (.general_inner_bgcolor2 مرجع) ── */
.public-page .ei-travel {
  background: rgba(93,102,162,.1); border: 1px solid var(--ei-line);
  border-radius: 16px; margin: 1.5rem 0; overflow: hidden;
}
/* مرجع: table.moduletable th color:#38bdf8 */
.public-page .ei-travel-head {
  margin: 0; padding: 13px 18px; font-size: 14.5px; font-weight: 700;
  color: #38bdf8; background: rgba(0,0,0,.22);
  border-bottom: 1px solid var(--ei-line);
}
.public-page .ei-travel-body {
  padding: 20px 18px; text-align: center;
}
.public-page .ei-travel-icon { color: #8c96d2; display: block; margin-bottom: 12px; }
.public-page .ei-travel-body h5 {
  margin: 0 0 16px; font-size: 13.5px; font-weight: 700; color: #d8ddf0; line-height: 1.5;
}
.public-page .ei-travel-actions {
  display: flex; gap: 10px; justify-content: center; flex-wrap: wrap;
}

/* ── موبایل ── */
@media (max-width: 720px) {
  .public-page .ei-hero-inner { padding: 18px 16px; }
  .public-page .ei-hero-title { font-size: 1.35rem; }
  .public-page .ei-cards { grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: .6rem; }
  .public-page .ei-card { padding: 14px 8px; min-height: 88px; margin: 2px; }
  .public-page .ei-card-icon { font-size: 26px; height: 26px; line-height: 26px; width: 44px; }
  .public-page .ei-card span { font-size: 10.5px; }
  .public-page .ei-boxes { grid-template-columns: 1fr; }
  .public-page .ei-box { padding: 14px; min-height: 84px; }
  .public-page .ei-box-icon { width: 50px; height: 50px; line-height: 50px; font-size: 19px; }
  .public-page .ei-box-body, .public-page .ei-box-detail { margin-left: 64px; }
  .public-page .ei-box-detail { font-size: 12px; }
}
@media (max-width: 420px) {
  .public-page .ei-cards { grid-template-columns: repeat(2, 1fr); }
  .public-page .ei-box-detail { font-size: 11.5px; }
}

/* ── چاپ ── */
@media print {
  .public-page .ei-hero { min-height: 0; }
  .public-page .ei-hero-bg, .public-page .ei-hero::after { display: none; }
  .public-page .ei-hero-title { color: #000; }
  .public-page .ei-btn-details, .public-page .ei-pill, .public-page .ld-foot { display: none !important; }
  .public-page .ei-card, .public-page .ei-box { background: #fff; color: #000; border-color: #ccc; }
  .public-page .ei-box-detail, .public-page .ei-card span { color: #000; }
  .public-page .ei-box-body h5 { color: #444; }
}


/* ══════════════════════════════════════════════════════════════════════════════
   نوار تب‌های اطلاعات مسابقه — آینهٔ .nav.nav-tabs.nav-tabs-centered مرجع
   مرجع (bootstrap): nav-tabs با حاشیهٔ پایین، تب فعال با پس‌زمینهٔ روشن
   ══════════════════════════════════════════════════════════════════════════════ */
.public-page .ei-tabs {
  display: flex; flex-wrap: wrap; align-items: stretch; gap: 4px;
  justify-content: center;          /* وسط‌چین */
  list-style: none; margin: 0 0 18px; padding: 0 0 0;
  border-bottom: 2px solid rgba(255,255,255,.13);
}
.public-page .ei-tab {
  display: inline-flex; align-items: center; gap: 7px;
  text-decoration: none; cursor: pointer;
  padding: 10px 15px; border-radius: 10px 10px 0 0;
  color: #b9c0dd; font-size: 13px; font-weight: 700;
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.1); border-bottom: 0;
  margin-bottom: -2px; transition: .16s ease; white-space: nowrap;
}
.public-page .ei-tab i { font-size: 13.5px; color: #8c96d2; }
.public-page .ei-tab:hover { background: rgba(255,255,255,.1); color: #fff; }
.public-page .ei-tab:hover i { color: #38bdf8; }
.public-page .ei-tab.active {
  background: linear-gradient(180deg, rgba(93,102,162,.5), rgba(93,102,162,.18));
  color: #fff; border-color: rgba(140,150,210,.6);
  box-shadow: 0 -3px 12px rgba(93,102,162,.3);
}
.public-page .ei-tab.active i { color: #b8f15a; }

/* ── زیرمنوی Entries (dropdown مرجع) ── */
.public-page .ei-tab-drop { position: relative; }
.public-page .ei-tab-drop.active > .ei-tab {
  background: linear-gradient(180deg, rgba(93,102,162,.5), rgba(93,102,162,.18));
  color: #fff; border-color: rgba(140,150,210,.6);
}
.public-page .ei-tab-drop.active > .ei-tab i { color: #b8f15a; }
.public-page .ei-drop-menu {
  display: none; position: absolute; top: 100%; right: 0; z-index: 30;
  min-width: 262px; padding: 7px;
  background: #1b1e30; border: 1px solid rgba(255,255,255,.14);
  border-radius: 12px; box-shadow: 0 18px 44px rgba(0,0,0,.5);
}
.public-page .ei-tab-drop:hover .ei-drop-menu { display: block; }
.public-page .ei-tab-drop:hover { z-index: 40; }
.public-page .ei-drop-menu a {
  display: flex; align-items: center; gap: 9px;
  text-decoration: none; color: #d8ddf0; font-size: 12.5px; font-weight: 700;
  padding: 9px 11px; border-radius: 8px; transition: .13s;
}
.public-page .ei-drop-menu a:hover { background: rgba(93,102,162,.35); color: #fff; }
.public-page .ei-drop-menu a i { color: #8c96d2; font-size: 12.5px; }
.public-page .ei-drop-div { height: 1px; background: rgba(255,255,255,.1); margin: 5px 3px; }

/* ── بدنهٔ تب ── */
.public-page .ei-tabbody { min-height: 200px; }
.public-page .ei-panel {
  background: rgba(255,255,255,.045); border: 1px solid var(--ei-line);
  border-radius: 16px; padding: 18px; margin-bottom: 1.5rem;
}
.public-page .ei-panel-title {
  margin: 0 0 15px; font-size: 16px; font-weight: 700; color: #fff;
  display: flex; align-items: center; gap: 9px;
  padding-bottom: 11px; border-bottom: 1px solid var(--ei-line);
}
.public-page .ei-panel-title i { color: #38bdf8; font-size: 15px; }

/* ── جدول تب‌ها (الگوی table.moduletable مرجع) ── */
.public-page .ei-table-wrap { overflow-x: auto; }
.public-page .ei-table { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.public-page .ei-table th {
  background: rgba(255,255,255,.08); color: #38bdf8;
  text-align: right; padding: 10px 9px; font-size: 11.5px; font-weight: 700;
  white-space: nowrap;
}
.public-page .ei-table td {
  border-top: 1px solid rgba(255,255,255,.08); padding: 9px;
  color: #d8ddf0; vertical-align: middle;
}
.public-page .ei-table tr:hover td { background: rgba(255,255,255,.045); }
.public-page .ei-table td b { color: #fff; }
.public-page .ei-win { color: #b8f15a !important; font-weight: 700; }
.public-page .ei-scorecell { font-weight: 700; color: #fff; font-variant-numeric: tabular-nums; }
.public-page .ei-medal { color: #facc15; }
.public-page .ei-rank { font-weight: 700; color: #38bdf8; }
.public-page .ei-g { color: #ffd479; font-weight: 700; }
.public-page .ei-s { color: #cfd4ea; font-weight: 700; }
.public-page .ei-b { color: #d09a6a; font-weight: 700; }
.public-page .ei-row-wait td { background: rgba(250,204,21,.05); }

/* ── برچسب‌ها ── */
.public-page .ei-tag {
  display: inline-block; border-radius: 999px; padding: 3px 9px;
  font-size: 10.5px; font-weight: 700;
}
.public-page .ei-tag-ok { background: rgba(140,198,63,.18); color: #b8f15a; }
.public-page .ei-tag-wait { background: rgba(250,204,21,.16); color: #fde68a; }

/* ── کادر محاسبهٔ ورودی (الگوی .dctabheader مرجع) ── */
.public-page .ei-fee-note {
  background: rgba(93,102,162,.14); border: 1px solid rgba(93,102,162,.4);
  border-radius: 12px; padding: 13px 16px; margin-bottom: 15px;
}
.public-page .ei-fee-note h5 {
  margin: 0 0 6px; font-size: 12px; font-weight: 700; color: #38bdf8;
  text-transform: uppercase; letter-spacing: .04em;
}
.public-page .ei-fee-note p { margin: 0; font-size: 12px; color: #c5cbe6; line-height: 1.6; }

/* ── هشدار تب (لیست انتظار) ── */
.public-page .ei-alert {
  display: flex; gap: 12px; align-items: flex-start;
  border-radius: 12px; padding: 13px 16px; margin-bottom: 15px;
}
.public-page .ei-alert > i { font-size: 18px; flex: 0 0 auto; margin-top: 2px; }
.public-page .ei-alert b { display: block; color: #fff; font-size: 13px; margin-bottom: 4px; }
.public-page .ei-alert p { margin: 0; font-size: 12px; line-height: 1.6; }
.public-page .ei-alert-warn {
  background: rgba(250,204,21,.11); border: 1px solid rgba(250,204,21,.34); color: #fde68a;
}

/* ── نوار آمار ── */
.public-page .ei-statbar {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 10px; margin-bottom: 15px;
}
.public-page .ei-stat {
  background: rgba(255,255,255,.055); border: 1px solid var(--ei-line);
  border-radius: 12px; padding: 12px; text-align: center;
}
.public-page .ei-stat b { display: block; font-size: 21px; font-weight: 700; color: #fff; }
.public-page .ei-stat span { display: block; font-size: 11px; color: #9aa2c4; font-weight: 700; margin-top: 2px; }

.public-page .ei-empty {
  text-align: center; padding: 34px 18px; color: #9aa2c4; font-size: 13px;
  background: rgba(255,255,255,.03); border: 1px dashed rgba(255,255,255,.14);
  border-radius: 12px;
}
.public-page .ei-empty i { display: block; font-size: 26px; color: #475569; margin-bottom: 11px; }
.public-page .ei-note {
  display: flex; align-items: center; gap: 7px; margin: 11px 0 0;
  font-size: 11.5px; color: #9aa2c4;
}
.public-page .ei-note i { color: #8c96d2; }
.public-page .ei-hero-sm { min-height: 130px; }
.public-page .ei-hero-sm .ei-hero-title { font-size: clamp(1.15rem, 2.2vw, 1.7rem); }
.public-page .ei-hero-title a { color: #fff; text-decoration: none; }

/* ── موبایل ── */
@media (max-width: 820px) {
  /* safe center: اگر تب‌ها جا نشدند، خودکار از ابتدا چیده می‌شوند
     (وگرنه آیتم‌های اول با overflow-x:auto قابل‌اسکرول نمی‌شدند) */
  .public-page .ei-tabs {
    flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px;
    justify-content: safe center;
  }
  .public-page .ei-tab { padding: 9px 12px; font-size: 12px; flex: 0 0 auto; }
  .public-page .ei-drop-menu { min-width: 232px; }
  .public-page .ei-panel { padding: 13px; }
  .public-page .ei-stat b { font-size: 18px; }
}
@media (max-width: 520px) {
  .public-page .ei-tab span, .public-page .ei-tab { font-size: 11.5px; }
  .public-page .ei-table { font-size: 11.5px; }
  .public-page .ei-table th, .public-page .ei-table td { padding: 7px 6px; }
}


/* ── اخبار رویداد (الگوی tr.alert.alert-info مرجع) ── */
.public-page .ei-news {
  background: rgba(56,189,248,.09); border: 1px solid rgba(56,189,248,.28);
  border-radius: 16px; padding: 16px 18px; margin: 1.5rem 0;
}
.public-page .ei-news-head {
  margin: 0 0 13px; font-size: 14.5px; font-weight: 700; color: #38bdf8;
  display: flex; align-items: center; gap: 8px;
  padding-bottom: 10px; border-bottom: 1px solid rgba(56,189,248,.22);
}
.public-page .ei-news-head i { font-size: 14px; }
.public-page .ei-news-item {
  display: flex; gap: 12px; align-items: flex-start; padding: 9px 0;
  border-bottom: 1px solid rgba(255,255,255,.07);
}
.public-page .ei-news-item:last-child { border-bottom: 0; padding-bottom: 0; }
.public-page .ei-news-icon {
  flex: 0 0 auto; width: 32px; height: 32px; line-height: 32px; text-align: center;
  border-radius: 50%; background: rgba(56,189,248,.18); color: #38bdf8; font-size: 14px;
}
.public-page .ei-news-date { font-size: 11px; color: #9aa2c4; font-weight: 700; margin-bottom: 2px; }
.public-page .ei-news-text { font-size: 12.5px; color: #d8ddf0; line-height: 1.55; }


/* ══════════════════════════════════════════════════════════════════════════════
   همسانی دقیق با مرجع SET Online  —  بر پایهٔ اندازه‌گیری واقعی CDP
   مرجع: veranstaltung_info_main.php?vernr=2924 @1400px و @390px
   این بلوک در «پایان» فایل است تا همهٔ قواعد قبلی .ei-* را بازنویسی کند.
   ══════════════════════════════════════════════════════════════════════════════ */

/* ── متغیرهای رنگ عیناً از :root مرجع ── */
.public-page .ei {
  --bg: #141623;
  --panel: rgba(255, 255, 255, .06);
  --border: rgba(255, 255, 255, .10);
  --text: rgba(255, 255, 255, .92);
  --muted: rgba(255, 255, 255, .72);
  --brand: #5d66a2;
  --radius: 10px;
  --ei-brand: #5d66a2;
  --ei-line: rgba(255, 255, 255, .10);
  background: none;            /* رنگ صفحه از body می‌آید = #141623 */
  color: #fff;
}

/* ── ۱) سرصفحه: بدون کادر (مرجع .carousel → بدون border) ── */
.public-page .ei-hero {
  border: 0; border-radius: 10px;
  box-shadow: none;
  background: linear-gradient(to bottom, rgba(0, 0, 0, .25), rgba(0, 0, 0, .85));
  min-height: 200px;
  margin-bottom: 10px;
}
.public-page .ei-hero-inner { padding: 18px 16px; }
/* مرجع .newsheader_eventhead: font 30px · center · padding 10px · radius 10px */
.public-page .ei-hero-title {
  font-size: 30px; font-weight: 700; line-height: 1.43;
  text-align: center; width: 100%; flex: 1 1 100%;
  text-shadow: 0 2px 10px rgba(0, 0, 0, .9);
}
.public-page .ei-hero-actions { justify-content: center; width: 100%; }

/* ── ۲) نوار بالای اطلاعات — 🔴 حذف کامل کادر (مرجع .header_date) ── */
/* مرجع .header_icons: grid 1col · gap 12px · center · margin-bottom 10px */
.public-page .ei-icons {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  justify-content: center;
  align-items: start;
  gap: 12px;
  margin-bottom: 10px;
}
/* مرجع .header_date: بدون کادر · بدون پس‌زمینه · بدون padding */
.public-page .ei-icon-item {
  display: block;
  background: none;
  border: 0;
  border-radius: 0;
  padding: 0;
  margin: 0;
  text-align: center;
  color: #fff;
  font-weight: 500;
  /* مرجع clamp(1.25rem, 2.5vw, 2rem) با rem=12px → 15px..24px */
  font-size: clamp(15px, 2.5vw, 24px);   /* مرجع clamp(1.25rem, 2.5vw, 2rem) */
  line-height: 1.42857143;               /* مرجع 34.2857px @24px */
  white-space: nowrap;
  border: 0 none;
  box-shadow: none;
}
.public-page .ei-icon-item i {
  font-size: inherit;
  line-height: 1;        /* مرجع .header_date>i : line-height 24px روی 24px → 1 */
  color: #fff;
  background: none;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
  display: inline-block;
  vertical-align: middle;
}
.public-page .ei-icon-item a { color: #fff; text-decoration: none; }
.public-page .ei-icon-item a:hover { text-decoration: underline; }

/* ── ۳) شبکهٔ جعبه‌های اطلاعات (مرجع .eventinfoboxes) ── */
.public-page .ei-boxes {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  justify-content: left;
  place-items: start;
  gap: 12px;
  margin: 18px 0;
}
/* 🔴 مرجع: بدون کادر · بدون پس‌زمینه · بدون padding · margin-bottom 18px */
.public-page .ei-box {
  position: relative;
  display: block;
  margin: 0 0 18px;
  padding: 0;
  background: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  min-height: 66px;      /* اندازهٔ واقعی مرجع .eventinfobox */
  min-width: 0;
}
.public-page .ei-box:hover { background: none; border: 0; }
/* مرجع .eventinfobox>i : 60×59 · padding 12px · radius 10px · bg برند · 35px/1 */
.public-page .ei-box-icon {
  position: absolute;
  top: 0;
  inset-inline-start: 0;      /* RTL → راست (آینهٔ مرجع) */
  inset-inline-end: auto;
  left: auto; right: auto;
  box-sizing: border-box;
  width: 60px;
  height: 59px;          /* مرجع: 12+35+12 = 59px دقیقاً */
  min-height: 59px;
  padding: 12px;
  border: 0 none;
  border-radius: 10px;
  background: #5d66a2;
  color: #fff;
  font-size: 35px;
  line-height: 1;        /* مرجع: line-height 35px روی font-size 35px */
  text-align: center;
  margin: 0;
  display: block;
}
.public-page .ei-box > a:hover .ei-box-icon { filter: brightness(1.12); }
/* مرجع .eventinfobox-body : margin-left 80px */
.public-page .ei-box-body { margin-inline-start: 80px; margin-left: 0; }
/* مرجع .eventinfobox-body>h5 : 18px/700 · uppercase · margin 2px 0 10px */
.public-page .ei-box-body h5 {
  display: block;
  margin: 2px 0 10px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: 0;
  text-transform: uppercase;
  color: #fff;
  text-align: start;
}
/* مرجع .eventinfobox-detail : margin-left 80px · 13px/400 · uppercase */
.public-page .ei-box-detail {
  display: block;
  margin-inline-start: 80px;
  margin-left: 0;
  margin-top: 0;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.42857143;   /* مرجع: 18.5714px = 13 × 1.42857143 */
  text-transform: uppercase;
  color: #fff;
  text-align: start;
}
.public-page .ei-box-detail a { color: #fff; text-decoration: none; }
.public-page .ei-box-detail a:hover { text-decoration: underline; }
.public-page .ei-box-detail b { color: #fff; font-weight: 700; }

/* ── ۴) کارت‌های منو (مرجع .card2) ── */
.public-page .ei-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 1rem;
  margin: 0 0 10px;
}
/* مرجع .card2 : padding 22px · min-height 100px · radius 10px · margin 4px
                 bg rgba(255,255,255,.06) · border 1px solid rgba(93,102,162,.5) */
.public-page .ei-card {
  background: rgba(255, 255, 255, .06);
  border: 1px solid rgba(93, 102, 162, .5);
  border-radius: 10px;
  padding: 22px;
  margin: 4px;
  min-height: 100px;
  box-shadow: none;
}
.public-page .ei-card:hover {
  border-color: rgba(255, 255, 255, .6);
  background: linear-gradient(to bottom, transparent 50%, rgba(93, 102, 162, .5) 100%);
}
/* مرجع .card2>.service-icon : 60×30 · lh 30 · 30px · radius 10% · margin 4px */
.public-page .ei-card-icon {
  width: 60px;
  height: 30px;
  line-height: 30px;
  font-size: 30px;
  border-radius: 10%;
  margin: 4px;
  color: #fff;
}
/* مرجع .card2>a : font-size 10px */
.public-page .ei-card span {
  font-size: 10px;
  font-weight: 700;
  line-height: normal;
  white-space: nowrap;
  text-transform: uppercase;
}

/* ── ۵) بدنهٔ تب و جدول‌ها (مرجع .general_inner / table.moduletable) ── */
/* 🔴 مرجع .general_inner : padding 5px · margin 5px · radius 10px · بدون کادر */
.public-page .ei-panel,
.public-page .ei-entries,
.public-page .ei-news,
.public-page .ei-fee-note,
.public-page .ei-alert,
.public-page .ei-stat,
.public-page .ei-empty {
  background: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.public-page .ei-panel { padding: 5px; margin: 5px 5px 10px; }
.public-page .ei-panel-title {
  font-size: 18px; font-weight: 700; text-transform: uppercase;
  color: #fff; border-bottom: 0; padding-bottom: 6px; margin: 0 0 10px;
}
.public-page .ei-panel-title i { color: #fff; font-size: 18px; }
.public-page .ei-entries {
  padding: 5px; margin: 18px 5px;
  color: #fff; font-size: 13px; line-height: 1.43;
}
.public-page .ei-fee-note { padding: 0; margin: 0 0 10px; }
.public-page .ei-fee-note h5 {
  font-size: 13px; font-weight: 700; color: #fff;
  text-transform: uppercase; margin: 0 0 4px;
}
.public-page .ei-fee-note p { font-size: 13px; color: #fff; line-height: 1.43; }
.public-page .ei-alert {
  padding: 5px 0; margin: 0 0 10px; color: #fff; font-size: 13px;
}
.public-page .ei-alert > i { color: #fff; font-size: 24px; }
.public-page .ei-alert b { color: #fff; font-size: 13px; text-transform: uppercase; }
.public-page .ei-alert-warn { background: none; border: 0; }
.public-page .ei-stat {
  padding: 5px; text-align: center;
}
.public-page .ei-stat b { color: #fff; font-size: 24px; }
.public-page .ei-stat span { color: rgba(255, 255, 255, .72); font-size: 13px; }
.public-page .ei-empty { color: rgba(255, 255, 255, .72); font-size: 13px; padding: 18px 5px; border: 0; }
.public-page .ei-empty i { color: rgba(255, 255, 255, .4); font-size: 35px; }
.public-page .ei-note { color: rgba(255, 255, 255, .72); font-size: 13px; }

/* مرجع table.moduletable : بدون کادر بیرونی · radius 10px */
.public-page .ei-table {
  width: 100%;
  border-collapse: collapse;
  border: 0;
  border-radius: 10px;
  font-size: 13px;
}
/* مرجع th : font 13px · uppercase · padding 4px · height 21px · پس‌زمینهٔ نیمه‌شفاف */
.public-page .ei-table th {
  background: rgba(255, 255, 255, .06);
  color: #38bdf8;
  font-size: 13px;
  font-weight: 400;
  text-transform: uppercase;
  text-align: start;
  padding: 4px;
  height: 21px;
  white-space: nowrap;
  border: 0;
}
/* مرجع td : font 13px · padding 3px */
.public-page .ei-table td {
  font-size: 13px;
  font-weight: 400;
  padding: 3px;
  border: 0;
  color: #fff;
  text-align: start;
}
.public-page .ei-table tr:hover td { background: rgba(255, 255, 255, .04); }
.public-page .ei-table td b { color: #fff; }

/* ── ۶) هتل/پرواز — مرجع .general_inner_bgcolor2 کادر دارد (استثنا) ── */
.public-page .ei-travel {
  background: rgba(255, 255, 255, .06);
  border: 1px solid rgba(255, 255, 255, .3);
  border-radius: 10px;
  margin: 5px;
  padding: 0;
}
.public-page .ei-travel-head {
  font-size: 13px; font-weight: 400; text-transform: uppercase;
  color: #38bdf8; background: none; padding: 4px; border-bottom: 0;
}
.public-page .ei-travel-body { padding: 5px; }
.public-page .ei-travel-body h5 {
  font-size: 13px; font-weight: 700; color: #fff;
  text-transform: uppercase; line-height: 1.43;
}
.public-page .ei-travel-icon { font-size: 60px; color: #fff; }

/* ── ۷) نوار تب‌ها — وسط‌چین (مرجع .nav-tabs-centered) ── */
.public-page .ei-tabs {
  justify-content: center;
  border-bottom: 2px solid rgba(255, 255, 255, .10);
}
.public-page .ei-tab {
  background: rgba(255, 255, 255, .06);
  border: 1px solid rgba(255, 255, 255, .10);
  border-bottom: 0;
  border-radius: 10px 10px 0 0;
  color: rgba(255, 255, 255, .92);
  font-size: 13px;
  font-weight: 400;
  text-transform: uppercase;
  padding: 10px 14px;
}
.public-page .ei-tab i { color: #fff; font-size: 13px; }

/* ── ۸) موبایل — مرجع: آیکون و marginها تغییر نمی‌کنند ── */
@media (max-width: 820px) {
  .public-page .ei-hero { min-height: 130px; }
  .public-page .ei-hero-title { font-size: 18px; }
  .public-page .ei-hero-inner { padding: 12px; }
  .public-page .ei-cards { grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: .6rem; }
  .public-page .ei-card { padding: 12px 6px; min-height: 88px; margin: 2px; }
  .public-page .ei-card span { white-space: normal; }
  .public-page .ei-tabs { flex-wrap: nowrap; overflow-x: auto; justify-content: safe center; padding-bottom: 4px; }
  .public-page .ei-tab { padding: 8px 10px; font-size: 12px; flex: 0 0 auto; }
  /* ⚠️ مرجع در موبایل آیکون را کوچک نمی‌کند → همان 60×59 می‌ماند */
  .public-page .ei-box-icon { width: 60px; min-height: 59px; font-size: 35px; padding: 12px; }
  .public-page .ei-box-body { margin-inline-start: 80px; margin-left: 0; }
  .public-page .ei-box-detail { margin-inline-start: 80px; margin-left: 0; font-size: 13px; }
  .public-page .ei-boxes { grid-template-columns: 1fr; gap: 12px; margin: 12px 0; }
}
@media (max-width: 420px) {
  .public-page .ei-icon-item { font-size: 15px; }
  .public-page .ei-box-body h5 { font-size: 15px; }
  .public-page .ei-box-detail { font-size: 12px; }
  .public-page .ei-cards { grid-template-columns: repeat(2, 1fr); }
}

/* ── چاپ ── */
@media print {
  .public-page .ei-icon-item, .public-page .ei-box, .public-page .ei-box-detail { color: #000 !important; }
  .public-page .ei-box-body h5 { color: #333 !important; }
}


/* ══════════════════════════════════════════════════════════════════════════════
   اصلاح اندازه‌ها — «یه مقدار بزرگه»
   ── مبنا: مرجع root font-size = 12px (ما 16px بود) → همهٔ remها ۱.۳۳× بزرگ‌تر
   ── مبنا: وزن مرجع 500 برای عنوان و برچسب‌ها (ما 700 بود)
   ── این بلوک در پایان فایل است تا همهٔ قواعد قبلی را بازنویسی کند.
   ══════════════════════════════════════════════════════════════════════════════ */

/* ۱) مبنای اندازهٔ محلی = ۱۲px مثل مرجع → همهٔ rem/em داخل صفحه کوچک می‌شوند */
.public-page {
  font-size: 12px;      /* مرجع: html{font-size:12px} */
  line-height: 1.42857143;
}

/* ۲) نوار اطلاعات (📅 تاریخ · 📍 مکان · ✉️ تماس) — کمی کوچک‌تر */
.public-page .ei-icon-item {
  font-size: 21px;            /* مرجع ۲۴px → کاهش ملایم ۱۲٪ */
  font-weight: 500;
  line-height: 1.45;
}
@media (max-width: 1100px) { .public-page .ei-icon-item { font-size: 19px; } }
@media (max-width: 820px)  { .public-page .ei-icon-item { font-size: 17px; } }
@media (max-width: 480px)  { .public-page .ei-icon-item { font-size: 15px; white-space: normal; } }

/* ۳) عنوان رویداد — وزن ۵۰۰ مثل مرجع + اندازهٔ ملایم‌تر */
.public-page .ei-hero-title {
  font-size: 26px;            /* مرجع 30px → کاهش ملایم ۱۳٪ */
  font-weight: 500;           /* مرجع 500 (ما 700 بود) */
  line-height: 1.35;
  letter-spacing: -0.2px;
}
.public-page .ei-hero-sm .ei-hero-title { font-size: 22px; }
@media (max-width: 820px) {
  .public-page .ei-hero-title { font-size: 18px; }
  .public-page .ei-hero-sm .ei-hero-title { font-size: 16px; }
}
@media (max-width: 480px) {
  .public-page .ei-hero-title { font-size: 16px; }
}

/* ۴) عنوان جعبه‌ها (h5) — ۱۸px → ۱۵px */
.public-page .ei-box-body h5 {
  font-size: 16px;            /* مرجع 18px → کاهش ملایم ۱۱٪ */
  font-weight: 700;
  margin: 0 0 8px;
  line-height: 1.25;
}
/* ۵) مقدار جعبه‌ها — ۱۳px → ۱۲px */
.public-page .ei-box-detail {
  font-size: 12.5px;          /* مرجع 13px → کاهش ملایم */
  font-weight: 400;
  line-height: 1.5;
}

/* ۶) آیکون جعبه — کمی جمع‌وجورتر (۶۰×۵۹ → ۵۴×۵۴) و فاصلهٔ متن ۷۲px */
.public-page .ei-box-icon {
  width: 56px;
  height: 56px;
  min-height: 56px;
  padding: 10px;
  border-radius: 9px;
  font-size: 32px;
}
.public-page .ei-box-body,
.public-page .ei-box-detail { margin-inline-start: 74px; margin-left: 0; }
.public-page .ei-box { min-height: 62px; margin: 0 0 16px; }

/* ۷) کارت‌های منو — برچسب ۵۰۰ (مرجع) و آیکون کمی کوچک‌تر */
.public-page .ei-card { padding: 18px; min-height: 92px; }
.public-page .ei-card-icon { font-size: 28px; height: 28px; line-height: 28px; width: 54px; }
.public-page .ei-card span {
  font-size: 10px;
  font-weight: 500;           /* مرجع 500 */
  letter-spacing: 0;
}

/* ۸) نوار تب‌ها — ۱۳px → ۱۲px */
.public-page .ei-tab { font-size: 12.5px; padding: 9px 14px; }
.public-page .ei-tab i { font-size: 12.5px; }
.public-page .ei-drop-menu a { font-size: 11.5px; }

/* ۹) جدول‌ها — ۱۳px → ۱۲px */
.public-page .ei-table th { font-size: 12px; padding: 6px 5px; }
.public-page .ei-table td { font-size: 12.5px; padding: 6px 5px; }
.public-page .ei-panel-title { font-size: 16px; }
.public-page .ei-panel-title i { font-size: 16px; }
.public-page .ei-fee-note h5 { font-size: 12px; }
.public-page .ei-fee-note p { font-size: 12px; }

/* ۱۰) کادرها و آمار و پیام‌ها */
.public-page .ei-entries { font-size: 12px; line-height: 1.6; }
.public-page .ei-alert b { font-size: 12px; }
.public-page .ei-alert p { font-size: 11.5px; }
.public-page .ei-alert > i { font-size: 20px; }
.public-page .ei-stat b { font-size: 20px; }
.public-page .ei-stat span { font-size: 11px; }
.public-page .ei-empty { font-size: 12px; }
.public-page .ei-empty i { font-size: 28px; }
.public-page .ei-note { font-size: 11px; }
.public-page .ei-travel-head { font-size: 12px; }
.public-page .ei-travel-body h5 { font-size: 12px; }
.public-page .ei-travel-icon { font-size: 44px; }
.public-page .ei-news-head { font-size: 13px; }
.public-page .ei-news-text { font-size: 12px; }
.public-page .ei-news-date { font-size: 10.5px; }
.public-page .ei-btn-details { font-size: 12px; padding: 8px 15px; }
.public-page .ei-pill { font-size: 11px; padding: 6px 12px; }

/* ۱۱) دکمه‌های پایین صفحه */
.public-page .ei .btn, .public-page .ld-foot .btn { font-size: 12px; padding: 8px 14px; }

/* ۱۲) موبایل — کمی جمع‌وجورتر */
@media (max-width: 520px) {
  .public-page .ei-box-icon { width: 50px; height: 50px; min-height: 50px; padding: 9px; font-size: 28px; }
  .public-page .ei-box-body, .public-page .ei-box-detail { margin-inline-start: 62px; margin-left: 0; }
  .public-page .ei-box-detail { font-size: 12px; }
  .public-page .ei-box-body h5 { font-size: 14px; }
  .public-page .ei-card { padding: 13px 7px; min-height: 82px; }
  .public-page .ei-card-icon { font-size: 24px; height: 24px; line-height: 24px; width: 46px; }
  .public-page .ei-table th { font-size: 11.5px; }
  .public-page .ei-table td { font-size: 11.5px; }
}

/* ── عنوان رویداد: نهایی (مرجع 30px — کاهش ملایم) ── */
.public-page .ei .ei-hero-title,
.public-page .ei-hero .ei-hero-title {
  font-size: 26px !important;
  font-weight: 500;
  line-height: 1.35;
}
.public-page .ei .ei-hero-sm .ei-hero-title { font-size: 22px !important; }
@media (max-width: 820px) {
  .public-page .ei .ei-hero-title,
  .public-page .ei-hero .ei-hero-title { font-size: 19px !important; }
  .public-page .ei .ei-hero-sm .ei-hero-title { font-size: 17px !important; }
}
@media (max-width: 480px) {
  .public-page .ei .ei-hero-title { font-size: 17px !important; }
}


/* ══════════════════════════════════════════════════════════════════════════════
   برنامهٔ مبارزات روزانه — آینهٔ SET Online session_matchlist.php
   همهٔ اندازه‌ها از CSS مرجع استخراج شده‌اند (اندازه‌گیری واقعی CDP)
   ══════════════════════════════════════════════════════════════════════════════ */
.public-page .ml { color: #e5e7eb; max-width: 100%; }

/* ── سربرگ برند — آینهٔ نوار SPORTDATA مرجع ── */
.public-page .ml .ml-brand {
  display: flex; align-items: center; justify-content: space-between;
  gap: 12px; padding: 10px 0 16px; margin-bottom: 4px;
  border-bottom: 1px solid rgba(255, 255, 255, .07);
}
.public-page .ml .ml-brand-left { display: flex; align-items: center; gap: 10px; }
.public-page .ml .ml-brand-logo { height: 38px; width: auto; border-radius: 8px; object-fit: contain; }
.public-page .ml .ml-brand-right { text-align: end; }
.public-page .ml .ml-brand-name {
  font-size: 19px; font-weight: 700; letter-spacing: .04em; color: #fff; line-height: 1.1;
}
.public-page .ml .ml-brand-sub {
  font-size: 10.5px; color: #94a3b8; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase; margin-top: 1px;
}

/* ── سرصفحه — مرجع .page-header/.eyebrow/h1/.subtitle ── */
.public-page .ml .page-header { text-align: center; margin: 18px 0 22px; }
.public-page .ml .eyebrow {
  color: #38bdf8; font-size: 13px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .12em;
}
.public-page .ml h1 { margin: 8px 0 6px; font-size: 30px; }
.public-page .ml .header-title {
  font-size: clamp(17px, 3vw, 26px); font-weight: 700; color: #fff;
  text-decoration: none; display: block; padding: 8px 12px; line-height: 1.2;
}
.public-page .ml .header-title:hover { opacity: .8; }
.public-page .ml .subtitle { color: #94a3b8; margin: 0; font-size: 13px; }

/* ── تب روزها — مرجع .day-tabs/.day-tab (شمارش داخل تب) ── */
.public-page .ml .day-tabs {
  display: flex; gap: 10px; margin-bottom: 20px;
  flex-wrap: wrap; justify-content: center; align-items: center;
}
.public-page .ml .day-tab {
  padding: 8px 14px; border-radius: 999px; background: #20243a;
  color: #e5e7eb; text-decoration: none; font-size: 13px; font-weight: 700;
  cursor: pointer; transition: .2s; display: inline-flex; align-items: center; gap: 6px;
  border: 1px solid rgba(255, 255, 255, .08);
}
.public-page .ml .day-tab:hover { background: #262b45; }
.public-page .ml .day-tab.active {
  background: #38bdf8; color: #000; font-weight: 700; transform: scale(1.05);
}
.public-page .ml .day-tab-n { opacity: .75; font-weight: 700; font-size: 12px; }
.public-page .ml .day-tab.active .day-tab-n { opacity: .8; }

/* ── فهرست کارت‌ها — مرجع .matches max-width 950px ── */
.public-page .ml .matches { max-width: 950px; margin: 0 auto; }

/* مرجع .match: bg #1b1e2e · radius 18px · padding 20px · margin-bottom 20px */
.public-page .ml .match {
  background: #1b1e2e; border-radius: 18px; padding: 20px; margin-bottom: 20px;
  border: 1px solid transparent;
}
.public-page .ml .match.live {
  border: 1px solid rgba(239, 68, 68, .6);
  animation: mlLivePulse 2s infinite;
}
@keyframes mlLivePulse {
  0%   { box-shadow: 0 0 0 0 rgba(239, 68, 68, .5); }
  70%  { box-shadow: 0 0 0 12px rgba(239, 68, 68, 0); }
  100% { box-shadow: 0 0 0 0 rgba(239, 68, 68, 0); }
}

/* ── سرکارت — مرجع .header (padding-right 110px) ── */
.public-page .ml .header {
  position: relative; margin-bottom: 10px; padding-inline-end: 110px;
}
.public-page .ml .category { font-weight: 700; font-size: 15px; }
.public-page .ml .category-link {
  color: #38bdf8; text-decoration: none; font-weight: 700;
  display: inline-flex; align-items: center;
}
.public-page .ml .category-link:hover { text-decoration: underline; }
.public-page .ml .cat-bracket { display: inline-flex; align-items: center; }
.public-page .ml .bracket-icon {
  width: 14px; height: 14px; margin-inline-end: 6px;
  fill: #38bdf8; stroke: #38bdf8; stroke-width: 1.5; transform: rotate(-90deg);
}
.public-page .ml .phase { font-size: 12px; color: #38bdf8; margin-top: 2px; }
/* بلوک راست سرکارت — مرجع .match-meta-right */
.public-page .ml .match-meta-right {
  position: absolute; inset-inline-end: 0; top: 0;
  display: flex; align-items: center; gap: 6px;
}
/* مرجع .match-number: #94a3b822 · padding 4px 8px · radius 999px */
.public-page .ml .match-number {
  background: #94a3b822; padding: 4px 8px; border-radius: 999px;
  font-size: 16px; font-weight: 700; white-space: nowrap;
}
/* مرجع .fop-badge */
.public-page .ml .fop-badge {
  padding: 4px 8px; border-radius: 999px; font-size: 11px; font-weight: 700;
  background: #38bdf833; color: #38bdf8; white-space: nowrap;
}

/* ── بدنهٔ کارت — مرجع .main: grid 120 | 1fr | 120 | 1fr ── */
.public-page .ml .main {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr) 120px minmax(0, 1fr);
  gap: 16px; align-items: stretch;
}

/* ستون ۱ — مرجع .left-info */
.public-page .ml .left-info { font-size: 12px; }
.public-page .ml .time { font-weight: 700; font-size: 16px; }
.public-page .ml .status {
  margin-top: 6px; padding: 4px 8px; border-radius: 999px;
  background: #38bdf833; display: inline-block; font-size: 12px; font-weight: 700;
}
.public-page .ml .status.live-status {
  background: #ef444433; color: #f87171; animation: mlBlink 1.2s infinite;
}
@keyframes mlBlink { 50% { opacity: .5; } }
.public-page .ml .status.finished-status {
  background: rgba(34, 197, 94, .25); border: 1px solid rgba(34, 197, 94, .4);
  color: #4ade80; font-weight: 700;
}

/* ورزشکار — مرجع .fighter: bg #20243a · r12 · p12 · flex gap10 · h100% */
.public-page .ml .fighter {
  padding: 12px; border-radius: 12px; background: #20243a;
  display: flex; align-items: center; gap: 10px;
  height: 100%; box-sizing: border-box; min-width: 0;
}
.public-page .ml .fighter.right { justify-content: flex-end; text-align: right; }
.public-page .ml .fighter.winner { background: #22c55e22; border: 1px solid #22c55e66; }
.public-page .ml .fighter-info { min-width: 0; }
.public-page .ml .name { font-weight: 700; font-size: 14px; word-break: break-word; }
.public-page .ml .organization { font-size: 10px; margin-top: 3px; opacity: .7; font-weight: 700; }
.public-page .ml .performance { margin-top: 4px; font-size: 12px; color: #a78bfa; font-weight: 700; }

/* بلوک پرچم — مرجع .flag-block: min-width 40px · column · center */
.public-page .ml .flag-block {
  display: flex; flex-direction: column; align-items: center;
  min-width: 40px; flex: 0 0 auto;
}
/* مرجع .flag: 28×20 · radius 4px */
.public-page .ml .flag {
  width: 28px; height: 20px; border-radius: 4px; object-fit: cover;
  border: 1px solid rgba(255, 255, 255, .12);
}
/* مرجع .flag-code: 10px · margin-top 3px · opacity .7 · bold */
.public-page .ml .flag-code { font-size: 10px; margin-top: 3px; opacity: .7; font-weight: 700; }
/* ورزشکار B: پرچم سمت چپ محتوا — مرجع .fighter.right img.flag { order: -1 } */
.public-page .ml .fighter.right .flag-block { order: -1; }

/* ستون میانی — مرجع .center: min-width 120px · column · center */
.public-page .ml .center {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  text-align: center; height: 100%; min-width: 120px;
}
.public-page .ml .clock { color: #fbbf24; font-weight: 700; font-size: 16px; }
.public-page .ml .score { font-size: 32px; font-weight: 700; line-height: 1; margin-top: 4px; }
.public-page .ml .center .round { font-size: 12px; margin-top: 4px; color: #94a3b8; font-weight: 700; }
.public-page .ml .decision { font-size: 12px; opacity: .7; margin-top: 5px; }
.public-page .ml .refs {
  margin-top: 6px; font-size: 10.5px; color: #94a3b8;
  display: flex; align-items: center; gap: 4px; justify-content: center; flex-wrap: wrap;
}
.public-page .ml .refs i { color: #64748b; }

/* ── خالی ── */
.public-page .ml .ml-empty {
  text-align: center; padding: 44px 20px; color: #94a3b8;
  background: #1b1e2e; border-radius: 18px; border: 1px dashed rgba(255, 255, 255, .12);
}
.public-page .ml .ml-empty i { font-size: 34px; color: #475569; display: block; margin-bottom: 14px; }
.public-page .ml .ml-empty p { margin: 0 0 6px; font-size: 14px; }
.public-page .ml .ml-empty-hint { font-size: 12px !important; opacity: .72; }
.public-page .ml .ml-foot { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; margin-top: 24px; }

/* ── موبایل ≤800px — عیناً مرجع ── */
@media (max-width: 800px) {
  .public-page .ml .main { grid-template-columns: 1fr; gap: 12px; }
  .public-page .ml .left-info {
    display: flex; justify-content: space-between; align-items: center;
    gap: 8px; flex-wrap: wrap;
  }
  .public-page .ml .center { order: -1; padding: 12px 0; }
  .public-page .ml .score { font-size: 38px; }
  .public-page .ml .fighter { justify-content: flex-start; text-align: left; }
  .public-page .ml .fighter.right { justify-content: flex-end; text-align: right; }
}
/* ── موبایل ≤520px — عیناً مرجع ── */
@media (max-width: 520px) {
  .public-page .ml h1 { font-size: 22px; }
  .public-page .ml .match { padding: 14px; border-radius: 14px; }
  .public-page .ml .day-tabs {
    justify-content: safe center; overflow-x: auto; flex-wrap: nowrap; padding-bottom: 8px;
  }
  .public-page .ml .day-tab { white-space: nowrap; flex: 0 0 auto; }
  .public-page .ml .header { padding-inline-end: 0; }
  .public-page .ml .match-meta-right { position: static; display: inline-flex; margin-top: 6px; }
  .public-page .ml .category { font-size: 14px; }
  .public-page .ml .name { font-size: 13px; }
  .public-page .ml .score { font-size: 34px; }
  .public-page .ml .ml-brand-name { font-size: 16px; }
  .public-page .ml .ml-brand-logo { height: 30px; }
}

/* ── چاپ ── */
@media print {
  .public-page .ml .match { break-inside: avoid; background: #fff; color: #000; }
  .public-page .ml .fighter { background: #f3f4f6; }
  .public-page .ml .name, .public-page .ml .header-title, .public-page .ml .ml-brand-name { color: #000; }
  .public-page .ml .ml-foot, .public-page .ml .day-tabs, .public-page .ml .ml-brand { display: none; }
}


/* ══════════════════════════════════════════════════════════════════════════════
   مانیتور فعالیت — آینهٔ SET Online …_activitymonitor.html
   رنگ‌ها و اندازه‌ها عیناً از CSS مرجع استخراج شده‌اند
   ══════════════════════════════════════════════════════════════════════════════ */
.public-page .am {
  background: #000;                 /* مرجع: body background #000000 */
  color: #fff;
  font-family: Helvetica, Arial, sans-serif;
  padding: 10px;
  border-radius: 12px;
}

/* ── سرصفحهٔ فشرده ── */
.public-page .am .am-head {
  display: flex; align-items: flex-end; justify-content: space-between;
  gap: 14px; flex-wrap: wrap; margin-bottom: 12px;
  padding-bottom: 10px; border-bottom: 1px solid rgba(255, 255, 255, .14);
}
.public-page .am .am-eyebrow {
  color: #38bdf8; font-size: 12px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .12em;
}
.public-page .am .am-title { margin: 3px 0 0; font-size: 20px; font-weight: 700; }
.public-page .am .am-title a { color: #fff; text-decoration: none; }
.public-page .am .am-head-r { display: flex; gap: 8px; }
.public-page .am .am-stat {
  background: #333; border-radius: 8px; padding: 6px 12px; text-align: center;
  border: 1px solid rgba(255, 255, 255, .12);
}
.public-page .am .am-stat b { display: block; font-size: 20px; font-weight: 700; line-height: 1.1; }
.public-page .am .am-stat span { display: block; font-size: 10.5px; opacity: .75; }
.public-page .am .am-stat-on { background: rgba(34, 197, 94, .22); border-color: rgba(34, 197, 94, .45); }
.public-page .am .am-stat-on b { color: #4ade80; }

/* ── شبکهٔ زمین‌ها — مرجع: table > tr > td > fieldset ── */
.public-page .am .am-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));   /* مرجع: td width=50% */
  gap: 6px;
}

/* ── قاب هر زمین — مرجع fieldset ── */
.public-page .am .am-field {
  position: relative;
  border: 2px solid rgba(255, 255, 255, .55);   /* مرجع: border 2px solid */
  border-radius: 3px;
  margin: 2px;
  padding: .35em .75em .625em;                  /* مرجع: padding دقیق */
  min-height: 120px;
}
.public-page .am .am-field-live { border-color: #ef4444; }
/* ── نام زمین — مرجع legend ── */
.public-page .am .am-legend {
  position: absolute; top: -10px; inset-inline-start: 10px;
  background: #000; padding: 0 6px;
  font-size: 14px; font-weight: 700; color: #fff;
}
.public-page .am .am-field-live .am-legend { color: #f87171; }

/* ── جدول داخل قاب — مرجع: width 495 · cellpadding 6 · font 20px ── */
.public-page .am .am-table {
  width: 100%; border-collapse: separate; border-spacing: 2px;
  font-size: 16px; margin-top: 4px;
}
.public-page .am .am-table td { padding: 6px; vertical-align: middle; }

/* ردیف ۱ — عنوان — مرجع bgcolor #333333 */
.public-page .am .am-row-title td {
  background: #333;
  font-weight: 700; font-size: 13.5px; text-align: left;
}
/* سلول امتیاز — مرجع: width 50px · align center */
.public-page .am .am-score-cell {
  width: 50px; text-align: center; border-radius: 2px;
}
.public-page .am .am-red  { background: #9e0000; }   /* مرجع: اکا */
.public-page .am .am-blue { background: #2947f9; }   /* مرجع: آ او */
/* امتیاز — مرجع: color #ffffff · font-size 30px · bold */
.public-page .am .am-score { color: #fff; font-size: 30px; font-weight: 700; line-height: 1; }
/* سلول نام — align left */
.public-page .am .am-name-cell { text-align: left; border-radius: 2px; }
.public-page .am .am-name { display: block; color: #fff; font-size: 15px; font-weight: 700; line-height: 1.2; }
.public-page .am .am-meta { display: block; color: rgba(255, 255, 255, .8); font-size: 11.5px; margin-top: 1px; }
/* پرچم + کشور — مرجع: img 40×20 border 1 */
.public-page .am .am-country {
  display: flex; align-items: center; gap: 6px; margin-top: 3px;
  color: #fff; font-size: 12px; font-weight: 700;
}
.public-page .am .am-flag {
  width: 40px; height: 20px; border: 1px solid rgba(255, 255, 255, .5);
  object-fit: cover; flex: 0 0 auto;
}
/* برندهٔ مبارزه */
.public-page .am .am-winner { position: relative; }
.public-page .am .am-winner::after {
  content: "\f00c"; font-family: "Font Awesome 6 Free"; font-weight: 700; position: absolute; inset-inline-end: 8px; top: 50%;
  transform: translateY(-50%); color: #4ade80; font-weight: 700; font-size: 15px;
}

/* ردیف ۴ — ساعت + وضعیت — مرجع bgcolor #333333 */
.public-page .am .am-row-clock td { background: #333; }
.public-page .am .am-clock-cell { text-align: center; }
.public-page .am .am-clock-cell b { font-size: 24px; font-weight: 700; }
.public-page .am .am-status-cell { text-align: left; }
.public-page .am .am-status {
  display: inline-block; padding: 3px 10px; border-radius: 999px;
  font-size: 12px; font-weight: 700; background: rgba(56, 189, 248, .25); color: #7dd3fc;
}
.public-page .am .am-st-live { background: rgba(239, 68, 68, .28); color: #f87171; animation: amBlink 1.2s infinite; }
@keyframes amBlink { 50% { opacity: .5; } }
.public-page .am .am-st-done { background: rgba(34, 197, 94, .25); color: #4ade80; }

/* ── زمین بی‌فعالیت ── */
.public-page .am .am-idle {
  display: flex; align-items: center; justify-content: center;
  min-height: 96px; color: rgba(255, 255, 255, .45);
}
.public-page .am .am-idle-txt { font-size: 14px; font-weight: 700; }

/* ── خالی ── */
.public-page .am .am-empty { text-align: center; padding: 40px 16px; color: rgba(255, 255, 255, .6); }
.public-page .am .am-empty p { margin: 0 0 6px; font-size: 14px; }
.public-page .am .am-empty-hint { font-size: 12px !important; opacity: .75; }
.public-page .am .am-foot {
  display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; margin-top: 16px;
  padding-top: 12px; border-top: 1px solid rgba(255, 255, 255, .12);
}

/* ── موبایل — مرجع: ۱۲ قاب زیر هم ── */
@media (max-width: 820px) {
  .public-page .am .am-grid { grid-template-columns: 1fr; }
  .public-page .am .am-table { font-size: 14px; }
  .public-page .am .am-score { font-size: 26px; }
  .public-page .am .am-name { font-size: 13.5px; }
  .public-page .am .am-clock-cell b { font-size: 20px; }
  .public-page .am .am-flag { width: 34px; height: 17px; }
}
@media (max-width: 480px) {
  .public-page .am { padding: 6px; }
  .public-page .am .am-score { font-size: 22px; }
  .public-page .am .am-name { font-size: 12.5px; }
  .public-page .am .am-table td { padding: 4px; }
  .public-page .am .am-country { font-size: 11px; }
}

/* ── نمایشگر سالن (تلویزیون) — تختهٔ بزرگ ── */
@media (min-width: 1400px) {
  /* مرجع exact: 30px — در نمایشگر بزرگ هم همین می‌ماند */
  .public-page .am .am-table { font-size: 19px; }
  .public-page .am .am-score { font-size: 30px; }
  .public-page .am .am-name { font-size: 17px; }
}

/* ── چاپ ── */
@media print {
  .public-page .am { background: #fff; color: #000; }
  .public-page .am .am-field { border-color: #000; }
  .public-page .am .am-legend { background: #fff; color: #000; }
  .public-page .am .am-foot { display: none; }
}


/* ══════════════════════════════════════════════════════════════════════════════
   نمایشگر بلادرنگ فراخوان — آینهٔ SET Online …_matchcallertatami.html
   رنگ‌ها و اندازه‌ها عیناً از CSS مرجع
   ══════════════════════════════════════════════════════════════════════════════ */
.public-page .mc {
  background: #000;                 /* مرجع: body background #000000 */
  color: #fff;
  font-family: Helvetica, Arial, sans-serif;
  padding: 10px;
  border-radius: 12px;
}

/* ── سرصفحه ── */
.public-page .mc .mc-head {
  display: flex; align-items: flex-end; justify-content: space-between;
  gap: 14px; flex-wrap: wrap; margin-bottom: 12px;
  padding-bottom: 10px; border-bottom: 1px solid rgba(255, 255, 255, .14);
}
.public-page .mc .mc-eyebrow {
  color: #38bdf8; font-size: 12px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .12em;
}
.public-page .mc .mc-title { margin: 3px 0 0; font-size: 20px; font-weight: 700; }
.public-page .mc .mc-title a { color: #fff; text-decoration: none; }
.public-page .mc .mc-stats { display: flex; gap: 8px; }
.public-page .mc .mc-stat {
  background: #333; border-radius: 8px; padding: 6px 12px; text-align: center;
  border: 1px solid rgba(255, 255, 255, .12);
}
.public-page .mc .mc-stat b { display: block; font-size: 20px; font-weight: 700; line-height: 1.1; }
.public-page .mc .mc-stat span { display: block; font-size: 10.5px; opacity: .75; }
.public-page .mc .mc-stat-on { background: rgba(239, 68, 68, .22); border-color: rgba(239, 68, 68, .45); }
.public-page .mc .mc-stat-on b { color: #f87171; }

/* ── شبکهٔ قاب‌ها — مرجع: هر ردیف ۲ قاب ── */
.public-page .mc .mc-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
}

/* ── قاب هر زمین — مرجع fieldset ── */
.public-page .mc .mc-field {
  position: relative;
  border: 2px solid rgba(255, 255, 255, .55);
  border-radius: 3px;
  margin: 2px;
  padding: .35em .75em .625em;
  overflow-x: auto;
}
.public-page .mc .mc-field-run { border-color: #ef4444; }
/* نام زمین — مرجع legend */
.public-page .mc .mc-legend {
  position: absolute; top: -10px; inset-inline-start: 10px;
  background: #000; padding: 0 6px;
  font-size: 14px; font-weight: 700; color: #fff;
}
.public-page .mc .mc-field-run .mc-legend { color: #f87171; }

/* ── جدول — مرجع: cellpadding 2 · cellspacing 2 · font 20px ── */
.public-page .mc .mc-table {
  width: 100%; border-collapse: separate; border-spacing: 2px;
  font-size: 13px; margin-top: 6px; min-width: 620px;
}
.public-page .mc .mc-table td { padding: 2px; vertical-align: middle; }

/* ── ردیف سرساعت — مرجع: colspan 7 · align center ── */
.public-page .mc .mc-row-clock td {
  background: #333; text-align: center; padding: 4px 6px;
}
.public-page .mc .mc-clock-dot {
  display: inline-block; width: 10px; height: 10px; border-radius: 50%;
  background: #ef4444; margin-inline-end: 7px;
  animation: mcBlink 1.1s infinite;
}
@keyframes mcBlink { 50% { opacity: .25; } }
/* مرجع: <span style="font-size: 30px"> */
.public-page .mc .mc-clock-num { font-size: 26px; font-weight: 700; letter-spacing: .02em; }
.public-page .mc .mc-clock-bar {
  display: inline-block; width: 120px; height: 14px; margin-inline-start: 14px;
  background: repeating-linear-gradient(90deg,
    rgba(255, 255, 255, .5) 0 6px, transparent 6px 11px);
  vertical-align: middle; border-radius: 2px;
}

/* ── ردیف مبارزه — مرجع: شماره/دسته/مرحله #333333 · 12px ── */
.public-page .mc .mc-td { background: #333; }
.public-page .mc .mc-num,
.public-page .mc .mc-phase { text-align: center; font-size: 12px; font-weight: 700; white-space: nowrap; }
.public-page .mc .mc-cat { text-align: left; font-size: 12px; font-weight: 700; }
.public-page .mc .mc-score {
  text-align: center; font-size: 12px; font-weight: 700;
  min-width: 30px; color: #fff;
}
/* ورزشکار A — مرجع: bgcolor #9e0000 · border 5px solid #9e0000 */
.public-page .mc .mc-fight {
  text-align: left; font-size: 12px; font-weight: 700; color: #fff;
  display: flex; align-items: center; gap: 6px;
}
.public-page .mc .mc-a { background: #9e0000; border: 5px solid #9e0000; }
/* ورزشکار B — مرجع: bgcolor #2947f9 · border 5px solid #2947f9 */
.public-page .mc .mc-b { background: #2947f9; border: 5px solid #2947f9; }
/* پرچم — مرجع: 40×20 · border 1 */
.public-page .mc .mc-flag {
  width: 40px; height: 20px; border: 1px solid rgba(255, 255, 255, .5);
  object-fit: cover; flex: 0 0 auto;
}
.public-page .mc .mc-fname { white-space: nowrap; }
/* ردیف فعال */
.public-page .mc .mc-row-live .mc-td { box-shadow: inset 0 0 0 1px rgba(239, 68, 68, .8); }

/* ── بدون مبارزه ── */
.public-page .mc .mc-idle {
  padding: 22px 10px; text-align: center;
  color: rgba(255, 255, 255, .45); font-size: 13px;
}
.public-page .mc .mc-empty { text-align: center; padding: 40px 16px; color: rgba(255, 255, 255, .6); }
.public-page .mc .mc-empty p { margin: 0 0 6px; font-size: 14px; }
.public-page .mc .mc-empty-hint { font-size: 12px !important; opacity: .75; }
.public-page .mc .mc-foot {
  display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; margin-top: 16px;
  padding-top: 12px; border-top: 1px solid rgba(255, 255, 255, .12);
}

/* ── موبایل ── */
@media (max-width: 900px) {
  .public-page .mc .mc-grid { grid-template-columns: 1fr; }
  .public-page .mc .mc-table { min-width: 560px; font-size: 12px; }
  .public-page .mc .mc-clock-num { font-size: 22px; }
  .public-page .mc .mc-flag { width: 34px; height: 17px; }
}
@media (max-width: 480px) {
  .public-page .mc { padding: 6px; }
  .public-page .mc .mc-table { min-width: 500px; font-size: 11px; }
  .public-page .mc .mc-num, .public-page .mc .mc-cat,
  .public-page .mc .mc-phase, .public-page .mc .mc-score { font-size: 10.5px; }
  .public-page .mc .mc-flag { width: 28px; height: 14px; }
}

/* ── نمایشگر سالن (تلویزیون) ── */
@media (min-width: 1500px) {
  .public-page .mc .mc-clock-num { font-size: 30px; }   /* مرجع: 30px */
  .public-page .mc .mc-table { font-size: 15px; }
  .public-page .mc .mc-num, .public-page .mc .mc-cat,
  .public-page .mc .mc-phase, .public-page .mc .mc-score,
  .public-page .mc .mc-fight { font-size: 14px; }
}

/* ── چاپ ── */
@media print {
  .public-page .mc { background: #fff; color: #000; }
  .public-page .mc .mc-field { border-color: #000; break-inside: avoid; }
  .public-page .mc .mc-legend { background: #fff; color: #000; }
  .public-page .mc .mc-foot { display: none; }
}


/* ── رنگ مدال‌ها (آیکون اصلی FA) ── */
.public-page .tx-gold, .tx-gold   { color: #ffc93c; }
.public-page .tx-silver, .tx-silver { color: #c7ccd6; }
.public-page .tx-bronze, .tx-bronze { color: #cd7f32; }
.ld-icon.tx-gold { color: #ffc93c; }
/* ── دایرهٔ زنده — جایگزین ایموجی 🔴 ── */
.public-page .ld-icon .fa-circle { color: #ef4444; font-size: 22px; }


/* ══════════════════════════════════════════════════════════════════════════
   آیکون‌های اصلی SET Online — دانلودشده از مرجع (کیفیت اصلی، بدون تغییر)
   منبع: sportdata.org/setglimg/
   ══════════════════════════════════════════════════════════════════════════ */

/* ── لودینگ اصلی مرجع (۳۲×۳۲ · ۳۱ فریم GIF) ── */
.sd-loading {
  display: inline-block; width: 32px; height: 32px;
  background: url("/static/vendor/sportdata/ajax_loading.gif") center/contain no-repeat;
  vertical-align: middle;
}
.sd-loading-box {
  display: flex; align-items: center; justify-content: center;
  gap: 10px; padding: 22px 14px; color: var(--muted, #9aa3c0); font-size: 13px;
}
/* ── ساعت زندهٔ مرجع (۳۰×۳۰ · ۱۲ فریم GIF) ── */
.sd-clock {
  display: inline-block; width: 30px; height: 30px;
  background: url("/static/vendor/sportdata/clock_running.gif") center/contain no-repeat;
  vertical-align: middle; flex: 0 0 auto;
}
/* ── فلش‌های زیرمنوی مرجع ── */
.sd-arrow-r {
  display: inline-block; width: 5px; height: 10px;
  background: url("/static/vendor/sportdata/menu_arrow_bg.png") center/contain no-repeat;
}
.sd-arrow-d {
  display: inline-block; width: 10px; height: 5px;
  background: url("/static/vendor/sportdata/menu_arrow_bg_down.png") center/contain no-repeat;
}
.sd-arrow-d.invert { filter: invert(100%); }
/* ── آیکون اطلاع/بستن/تیک مرجع ── */
.sd-info {
  display: inline-block; width: 30px; height: 30px;
  background: url("/static/vendor/sportdata/Icon_Info.png") center/contain no-repeat;
}
.sd-close {
  display: inline-block; width: 20px; height: 20px; cursor: pointer;
  background: url("/static/vendor/sportdata/error.png") center/contain no-repeat;
}
.sd-check {
  display: inline-block; width: 16px; height: 16px;
  background: url("/static/vendor/sportdata/check.png") center/contain no-repeat;
}
/* ── لوگوی برند مرجع ── */
.sd-logo { height: 29px; width: auto; }
/* ── لوگوی WAKO Ranking ── */
.sd-wako-logo { height: 90px; width: auto; max-width: 100%; }

/* اندازه‌های کوچک‌تر روی موبایل */
@media (max-width: 640px) {
  .sd-clock { width: 24px; height: 24px; }
  .sd-loading { width: 26px; height: 26px; }
  .sd-wako-logo { height: 66px; }
}
/* ══════════════════════════════════════════════════════════════════════════
   📱 تب تساوی‌ها — نسخهٔ موبایل (بازنویسی تمیز)

   ⚠️ مهم: `.public-page` روی خود <body> است — پس سلکتور باید
      `.public-page X` باشد، نه `body .public-page X`
      (وگرنه هیچوقت match نمی‌شود و CSS بی‌اثر می‌ماند)

   ساختار: [کد دسته] [عنوان] [فلش]  ← یک خط، وسط‌چین
           کلیک → جزئیات باز شود
   ══════════════════════════════════════════════════════════════════════════ */

/* ── پایه (دسکتاپ) ── */
.public-page #dr-table .dr-code {
  font-family: ui-monospace, Menlo, Consolas, monospace;
  font-size: 11px;
  color: #8ea0ff;
  background: rgba(255, 255, 255, .06);
  border: 1px solid rgba(255, 255, 255, .09);
  border-radius: 5px;
  padding: 2px 7px;
  direction: ltr;
  unicode-bidi: embed;
  white-space: nowrap;
  display: inline-block;
}
.public-page #dr-table .dr-title { font-weight: 700; color: #fff; }
.public-page #dr-table .dr-code-min,
.public-page #dr-table .dr-title-min,
.public-page #dr-table .dr-caret { display: none !important; }
.public-page #dr-table .dr-det-full { display: none !important; }

/* ── موبایل ── */
@media (max-width: 640px) {
  .public-page .ei-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    max-width: 100%;
  }
  .public-page #dr-search { max-width: 100% !important; width: 100% !important; }

  /* جدول و بدنه → بلوک */
  .public-page #dr-table { display: block !important; width: 100% !important; min-width: 0 !important; }
  .public-page #dr-table thead { display: none !important; }
  .public-page #dr-table tbody { display: block !important; }

  /* ── ردیف = کارت. flex + wrap (جزئیات هر کدام یک خط) ── */
  .public-page #dr-table tbody tr.dr-row {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 7px !important;
    padding: 11px 10px !important;
    margin-bottom: 8px !important;
    background: rgba(255, 255, 255, .035) !important;
    border: 1px solid rgba(255, 255, 255, .09) !important;
    border-radius: 11px !important;
    cursor: pointer;
    width: auto !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    transition: background .15s, border-color .15s;
  }
  .public-page #dr-table tbody tr.dr-row:hover { background: rgba(255, 255, 255, .06) !important; }
  .public-page #dr-table tbody tr.dr-row.open {
    border-color: rgba(245, 197, 66, .42) !important;
    background: rgba(245, 197, 66, .045) !important;
  }

  /* ✅ td با display:contents → فرزندانش آیتم flex می‌شوند
     (عرض ذاتی سلول جدول دیگر تحمیل نمی‌شود) */
  .public-page #dr-table tbody tr.dr-row > td.dr-code-cell,
  .public-page #dr-table tbody tr.dr-row > td.dr-title-cell {
    display: contents !important;
  }

  /* کامل نمایش داده می‌شود (شامل رده سنی) — کوتاه مخفی */
  .public-page #dr-table .dr-code-full { display: inline-block !important; }
  .public-page #dr-table .dr-title-full { display: inline !important; }
  .public-page #dr-table .dr-code-min,
  .public-page #dr-table .dr-title-min { display: none !important; }

  .public-page #dr-table .dr-code-full {
    font-size: 8px !important;
    letter-spacing: -.15px;
    padding: 2px 4px !important;
    padding: 2px 5px !important;
    margin: 0 !important;
    white-space: nowrap !important;
    flex: 0 0 auto !important;
  }
  .public-page #dr-table .dr-title-full {
    font-size: 10px !important;
    letter-spacing: -.2px;
    font-weight: 700;
    margin: 0 !important;
    white-space: nowrap !important;
    flex: 0 0 auto !important;
  }
  .public-page #dr-table .dr-caret {
    display: inline-block !important;
    font-size: .58rem;
    color: #8891b4;
    margin: 0 !important;
    flex: 0 0 auto !important;
    transition: transform .2s;
  }
  .public-page #dr-table tbody tr.dr-row.open .dr-caret {
    transform: rotate(180deg);
    color: var(--gold, #f5c542);
  }

  /* ── جزئیات: بسته پیش‌فرض، باز = هر کدام یک خط کامل وسط‌چین ── */
  .public-page #dr-table tbody tr.dr-row > td.dr-det { display: none !important; }

  .public-page #dr-table tbody tr.dr-row.open > td.dr-det {
    display: flex !important;
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    align-items: center;
    justify-content: center !important;
    gap: 8px;
    text-align: center !important;
    padding: 7px 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-top: 1px dashed rgba(255, 255, 255, .1) !important;
    font-size: 11.5px;
    box-sizing: border-box !important;
  }
  .public-page #dr-table tbody tr.dr-row.open > td.dr-det::before {
    content: attr(data-label);
    color: #8891b4;
    font-size: 10.5px;
    font-weight: 700;
    white-space: nowrap;
    flex: 0 0 auto;
  }
  /* ردیف کد/دستهٔ کامل */
  .public-page #dr-table tbody tr.dr-row.open > td.dr-det.dr-det-full {
    display: flex !important;
    flex-direction: column;
    gap: 3px;
    font-size: 10.5px;
    color: #8ea0ff;
    margin-top: 8px !important;
  }
  .public-page #dr-table tbody tr.dr-row.open > td.dr-det.dr-det-full::before {
    color: #8891b4;
  }
  /* دکمه */
  .public-page #dr-table tbody tr.dr-row.open > td.dr-det.dr-btn-cell {
    border-top: 0 !important;
    padding: 4px 0 0 !important;
    margin-top: 0 !important;
  }
  .public-page #dr-table tbody tr.dr-row.open > td.dr-det.dr-btn-cell::before { content: none; }
  .public-page #dr-table tbody tr.dr-row.open > td.dr-det.dr-btn-cell a.btn {
    width: auto !important;
    min-width: 62%;
    justify-content: center;
    padding: 10px 14px !important;
    font-size: 12px !important;
  }
  .public-page #dr-table tbody tr.dr-row.open > td.dr-det .ei-tag {
    font-size: 10px !important;
    padding: 3px 9px !important;
  }
}

@media (max-width: 400px) {
  .public-page #dr-table tbody tr.dr-row { padding: 10px 8px !important; }
  .public-page #dr-table .dr-title-min { font-size: 10.5px !important; }
  .public-page #dr-table .dr-code-min { font-size: 8px !important; padding: 2px 4px !important; }
}
@media (max-width: 350px) {
  .public-page #dr-table .dr-title-min { font-size: 10px !important; }
  .public-page #dr-table .dr-code-min { font-size: 7.5px !important; }
}

/* ══════════════════════════════════════════════════════════════════════════
   🎴 کارت مسابقه موبایل — آینهٔ carousel مرجع
   🔬 اندازه‌گیری مرجع (۳۹۰px):
     کارت:        390×253 · margin-bottom 10px
     تصویر:       390×98 (carousel-img-fullscreen)
     گرادیان:     linear-gradient(0deg, rgba(16,20,53,.8), rgba(16,20,...))
     متن:         312×110 · padding 10px · x=39 y=118
     پس‌زمینه متن: linear-gradient(0deg, #888 0%, #ffff02...)  ← زرد-خاکستری
     نشانگر:      234×20 · y=213 (۱۲×۱۲ دایره)
     تب‌ها:       135×54 · bg rgb(93,102,162) · padding 15px 10px · fs 14px
                  دو ردیف (wrap) در موبایل
   ══════════════════════════════════════════════════════════════════════════ */
@media (max-width: 900px) {
  /* ── کارت رویداد: کاروسل ── */
  .public-page .ei .ei-hero,
  .public-page .ei-hero-sm {
    position: relative;
    display: block !important;
    width: calc(100% + 16px) !important;
    margin-inline-start: -8px !important;
    margin-inline-end: -8px !important;
    margin-bottom: 10px !important;
    height: 253px !important;
    min-height: 253px !important;
    border-radius: 0 !important;
    overflow: hidden;
    background: #10142c;
  }
  /* تصویر پس‌زمینه */
  .public-page .ei .ei-hero-bg,
  .public-page .ei-hero-bg {
    position: absolute;
    inset: 0;
    height: 253px !important;
    background-size: cover !important;
    background-position: center !important;
    filter: none !important;
    opacity: 1 !important;
  }
  /* گرادیان روی تصویر (مرجع) */
  .public-page .ei .ei-hero::after,
  .public-page .ei-hero-sm::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg,
      rgba(16, 20, 53, .85) 0%,
      rgba(16, 20, 53, .45) 45%,
      rgba(16, 20, 53, .10) 100%);
    pointer-events: none;
    z-index: 1;
  }
  /* متن روی کارت */
  .public-page .ei .ei-hero-inner,
  .public-page .ei-hero-sm .ei-hero-inner {
    position: absolute !important;
    inset-inline: 16px !important;
    bottom: 16px !important;
    top: auto !important;
    padding: 10px !important;
    z-index: 2;
    display: flex !important;
    flex-direction: column;
    gap: 8px;
    background: linear-gradient(0deg,
      rgba(136, 136, 136, .35) 0%, rgba(255, 255, 2, .08) 100%);
    border-radius: 6px;
  }
  /* عنوان: ۱۴px سفید */
  .public-page .ei .ei-hero-title,
  .public-page .ei-hero-sm .ei-hero-title {
    font-size: 14px !important;
    font-weight: 700;
    color: #fff !important;
    margin: 0 !important;
    line-height: 1.5;
    text-shadow: 0 1px 3px rgba(0, 0, 0, .75);
  }
  .public-page .ei .ei-hero-title a,
  .public-page .ei-hero-sm .ei-hero-title a { color: #fff !important; text-decoration: none; }

  /* ── تب‌ها: رنگ بنفش مرجع (rgb(93,102,162)) + دو ردیف ── */
  .public-page .ei-tabs {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 4px !important;
    padding: 0 !important;
    margin: 0 0 10px !important;
    border: 0 !important;
    background: transparent !important;
  }
  .public-page .ei-tab {
    flex: 0 1 auto !important;
    min-height: 52px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 15px 10px !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    color: #fff !important;
    background: rgba(255, 255, 255, .06) !important;
    border: 1px solid rgba(255, 255, 255, .12) !important;
    border-radius: 4px 4px 0 0 !important;
    text-decoration: none;
    text-align: center;
    line-height: 1.35;
  }
  /* تب فعال: بنفش مرجع */
  .public-page .ei-tab.active,
  .public-page .ei-tab:hover {
    background: rgb(93, 102, 162) !important;
    border-color: rgb(93, 102, 162) !important;
    color: #fff !important;
  }
  .public-page .ei-tab i { font-size: 13px; opacity: .9; }
  /* زیرمنو: تمام عرض */
  .public-page .ei-tab-drop { flex: 0 1 auto; }
  .public-page .ei-tab-drop .ei-tab-dropbtn {
    min-height: 52px;
    border-radius: 4px 4px 0 0 !important;
    background: rgba(255, 255, 255, .06) !important;
  }
}

/* ══ 🎴 کارت مسابقه v2 — گرادیان روی تصویر (رفع ::after) ══ */
@media (max-width: 900px) {
  /* گرادیان روی خود کارت (نه ::after) — با background-blend */
  .public-page .ei .ei-hero,
  .public-page .ei-hero-sm {
    background-image:
      linear-gradient(0deg,
        rgba(16, 20, 53, .88) 0%,
        rgba(16, 20, 53, .55) 42%,
        rgba(16, 20, 53, .18) 100%) !important;
    background-color: #10142c !important;
    background-size: cover !important;
    background-position: center !important;
  }
  /* تصویر پس‌زمینه: زیر گرادیان با opacity */
  .public-page .ei .ei-hero-bg,
  .public-page .ei-hero-bg {
    position: absolute !important;
    inset: 0 !important;
    height: 253px !important;
    background-size: cover !important;
    background-position: center !important;
    z-index: 0 !important;
  }
  /* عنوان کارت: ۱۴px مطابق مرجع */
  .public-page .ei .ei-hero-title,
  .public-page .ei-hero-sm .ei-hero-title {
    font-size: 14px !important;
  }
  /* متن کارت: بدون پس‌زمینهٔ اضافه */
  .public-page .ei .ei-hero-inner,
  .public-page .ei-hero-sm .ei-hero-inner {
    background: transparent !important;
    inset-inline: 10px !important;
    bottom: 12px !important;
  }
  /* حذف ::after که کار نمی‌کرد */
  .public-page .ei .ei-hero::after,
  .public-page .ei-hero-sm::after { content: none !important; display: none !important; }
}

/* ══ 🎴 کارت مسابقه v3 — عنوان ۱۴px (نهایی) ══ */
@media (max-width: 900px) {
  .public-page .ei .ei-hero .ei-hero-title,
  .public-page .ei-hero-sm .ei-hero-inner .ei-hero-title,
  .public-page header.ei-hero h1.ei-hero-title,
  .public-page header.ei-hero-sm h1.ei-hero-title,
  .public-page .ei .ei-hero-title,
  .public-page .ei-hero-title {
    font-size: 14px !important;
    line-height: 1.5 !important;
  }
  .public-page .ei .ei-hero-title a,
  .public-page .ei-hero-sm .ei-hero-title a {
    font-size: 14px !important;
  }
  /* دکمه‌ها/نشان‌های روی کارت: کوچک‌تر */
  .public-page .ei .ei-hero .ei-pill,
  .public-page .ei-hero-sm .ei-pill {
    font-size: 11px !important;
    padding: 3px 9px !important;
  }
  .public-page .ei .ei-hero .ei-btn-details,
  .public-page .ei-hero-sm .ei-btn-details {
    font-size: 11.5px !important;
    padding: 6px 12px !important;
  }
}


/* ══════════════════════════════════════════════════════════════════════════
   📱 تب‌های کارت مسابقه — آکاردئونی (بدون z-index، بدون شناوری)
   🖐️ خواستهٔ کاربر: «تب ها رو ۳ تای کن وسط چین باشه»
                    «آبشارش میره زیر صفحه» → رفع با آکاردئون درجریان
   ✅ راه‌حل قطعی: منوی کشویی **در جریان صفحه** باز شود (نه absolute)
      → هیچ تداخل z-index / هیچ بیرون‌زدگی از صفحه
   ══════════════════════════════════════════════════════════════════════════ */
@media (max-width: 900px) {
  /* ── نوار تب: وسط‌چین ۳ تایی ── */
  .public-page .ei-tabs {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 5px !important;
    padding: 0 !important;
    margin: 0 0 10px !important;
    border: 0 !important;
  }
  .public-page .ei-tabs > .ei-tab,
  .public-page .ei-tabs > .ei-tab-drop {
    flex: 0 1 calc(33.333% - 5px) !important;
    max-width: calc(33.333% - 5px) !important;
    min-width: 0 !important;
    box-sizing: border-box;
  }
  .public-page .ei-tabs > .ei-tab,
  .public-page .ei-tabs > .ei-tab-drop .ei-tab-dropbtn {
    width: 100% !important;
    min-height: 52px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 12px 8px !important;
    font-size: 13px !important;
    text-align: center;
    border-radius: 6px !important;
    margin: 0 !important;
  }
  .public-page .ei-tabs > .ei-tab.active,
  .public-page .ei-tabs > .ei-tab-drop.active .ei-tab-dropbtn {
    background: rgb(93, 102, 162) !important;
    border-color: rgb(93, 102, 162) !important;
    color: #fff !important;
  }

  /* ── ✅ منو: آکاردئون درجریان (نه شناور) ── */
  /* تب ثبت‌نام وقتی باز است، تمام عرض ردیف را می‌گیرد */
  .public-page .ei-tab-drop.is-open {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
  .public-page .ei-tab-drop .ei-drop-menu {
    display: none;
  }
  .public-page .ei-tab-drop.is-open .ei-drop-menu {
    display: block !important;
    position: static !important;   /* ✅ در جریان صفحه */
    width: 100% !important;
    max-width: 100% !important;
    max-height: none !important;
    overflow: visible !important;
    margin: 6px 0 4px !important;
    padding: 8px !important;
    border-radius: 10px !important;
    background: rgba(0, 0, 0, .35) !important;
    border: 1px solid rgba(255, 255, 255, .14) !important;
    box-shadow: none !important;
    z-index: auto !important;
  }
  /* در لمسی hover کار نمی‌کند */
  .public-page .ei-tab-drop:hover .ei-drop-menu { display: none; }
  .public-page .ei-tab-drop.is-open:hover .ei-drop-menu { display: block !important; }

  /* آیتم‌ها: یک‌ردیف کامل، قابل لمس */
  .public-page .ei-drop-menu a {
    display: flex !important;
    align-items: center;
    gap: 10px;
    padding: 13px 12px !important;
    font-size: 13px !important;
    border-radius: 8px !important;
    color: #d8ddf0 !important;
    text-decoration: none !important;
    border-bottom: 1px solid rgba(255, 255, 255, .06);
  }
  .public-page .ei-drop-menu a:last-child { border-bottom: 0; }
  .public-page .ei-drop-menu a:hover,
  .public-page .ei-drop-menu a:active {
    background: rgba(93, 102, 162, .45) !important;
    color: #fff !important;
  }
  .public-page .ei-drop-menu a i { width: 16px; text-align: center; color: #8c96d2; }
  .public-page .ei-drop-div { height: 1px; background: rgba(255,255,255,.1); margin: 5px 3px; }
}


/* ══════════════════════════════════════════════════════════════════════════
   🥋 بخش رشته‌های ورزشی — نوار متحرک (آینهٔ set.sportdata.org)
   🔬 مرجع: کارت ۹۰×۱۲۴ · آیکون ۶۸×۶۸ (radius 12) · متن ۱۸px→12rem
              رنگ #0b2851 · fw300 · ff Kanit, Arial · hover scale(1.15)
   ══════════════════════════════════════════════════════════════════════════ */
.disc-section {
  padding: 46px 0 34px;
  overflow: hidden;
  position: relative;
}
.disc-section__head {
  max-width: 1240px; margin: 0 auto 22px; padding: 0 20px;
  display: flex; align-items: center; justify-content: space-between; gap: 14px;
}
.disc-section__title {
  margin: 0; font-size: 20px; font-weight: 700; color: #e8ecff;
  display: flex; align-items: center; gap: 9px;
}
.disc-section__title .fa-solid { color: #8ea0ff; }
.disc-section__count {
  font-size: 12.5px; font-weight: 700; color: #8b95b8;
  background: rgba(255,255,255,.06); border-radius: 999px; padding: 4px 12px;
}
.disc-section__hint { font-size: 12px; color: #7c86a8; }

/* ── نوار (ticker) ── */
.disc-row {
  position: relative; overflow: hidden;
  padding: 4px 0;
  -webkit--webkit-mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
}
.disc-row + .disc-row { margin-top: 6px; }
.disc-track {
  display: flex; align-items: flex-start; gap: 5px;
  width: max-content;
  animation: discScroll 64s linear infinite;
  will-change: transform;
}
.disc-row--rev .disc-track { animation-direction: reverse; }
.disc-row:hover .disc-track { animation-play-state: paused; }
@keyframes discScroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* ── کارت ── */
.disc-card {
  width: 90px; height: 124px; flex: 0 0 90px;
  display: flex; flex-direction: column; align-items: center; justify-content: flex-end;
  padding: 0 0 8px; border-radius: 12px; cursor: pointer;
  text-decoration: none; transition: transform .2s;
}
.disc-card:hover { transform: scale(1.15); }
.disc-card__icon {
  width: 68px; height: 68px; border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.10);
  overflow: hidden; margin-bottom: 8px;
}
.disc-card__icon img { width: 52px; height: 52px; object-fit: contain; display: block; }
.disc-card__icon .disc-ph {
  font-size: 19px; font-weight: 700; color: #8ea0ff; letter-spacing: .5px;
}
.disc-card__text {
  font-size: 13px; font-weight: 300; line-height: 1.35;
  color: #c7cfe6; text-align: center;
  max-width: 88px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.disc-empty {
  padding: 26px; text-align: center; color: #7c86a8; font-size: 13px;
}

@media (max-width: 900px) {
  .disc-section { padding: 32px 0 24px; }
  .disc-section__head { margin-bottom: 16px; padding: 0 14px; }
  .disc-section__title { font-size: 16px; }
  .disc-track { animation-duration: 44s; }
  .disc-card { width: 74px; height: 100px; flex: 0 0 74px; padding-bottom: 4px; }
  .disc-card__icon { width: 53px; height: 53px; margin-bottom: 6px; }
  .disc-card__icon img { width: 40px; height: 40px; }
  .disc-card__text { font-size: 11px; max-width: 72px; }
}


/* ══════════════════════════════════════════════════════════════════════════════
   ✨ فلش دکمه‌ها — مشترک **همهٔ صفحات** سایت (مثل set.sportdata.org)
   🖐️ «وقتی روی دکمه‌ها میرم دو تا فلش از چپ و راست به متن نشونه میرن
       دکمه رو تو عرض یه خورده بزرگ کن که جهت‌ها نیفت رو متن
       این قابلیت رو برای تمام دکمه صفحه ی سایت فعال کن»
   🔬 این فایل در همهٔ قالب‌ها لود می‌شود (landing.css فقط در فرود)
   🚫 استثناها: هدر · کارت‌های /tournaments (مقدس) · تب‌ها · دکمه‌های آیکونی
   ══════════════════════════════════════════════════════════════════════════════ */
body.public-page .btn { position: relative !important; overflow: visible !important; }

/* ── ① عرض بزرگ‌تر (فلش روی متن نیفتد) ── */
body.public-page .btn:not(.btn-sm):not(.btn-live-card):not(.btn-reg-card):not(.btn-res-card):not(.rank-tab):not(.lgn-tab):not(.lgn-eye):not(.nav-dd-toggle):not(.nav-lang-btn):not(.nav-login-btn):not(.item-second-section__btn) {
  padding-inline: 46px !important;
  min-width: 132px !important;
  text-align: center !important;
}
body.public-page .btn.btn-sm:not(.nav-login-btn):not(.nav-lang-btn):not(.rank-tab):not(.lgn-tab):not(.btn-live-card):not(.btn-reg-card):not(.btn-res-card) {
  padding-inline: 32px !important;
  min-width: 100px !important;
  text-align: center !important;
}

/* ── ② فلش‌ها (پیش‌فرض فعال) ── */
body.public-page .btn::before,
body.public-page .btn::after {
  position: absolute !important; top: 50% !important; display: block !important;
  font-family: "Font Awesome 6 Free" !important; font-weight: 700 !important;
  font-size: 14px !important; line-height: 1 !important;
  opacity: 0 !important; pointer-events: none !important; z-index: 2 !important;
  color: currentColor !important;
  transition: transform .32s cubic-bezier(.22,.61,.36,1), opacity .32s ease !important;
}
body.public-page .btn::before { content: "\f101" !important; left: 15px !important; transform: translate(-13px, -50%) !important; }
body.public-page .btn::after  { content: "\f100" !important; right: 15px !important; transform: translate(13px, -50%) !important; }
body.public-page .btn.btn-sm::before { left: 11px !important; font-size: 11.5px !important; }
body.public-page .btn.btn-sm::after  { right: 11px !important; font-size: 11.5px !important; }
body.public-page .btn:hover::before, body.public-page .btn:focus-visible::before,
body.public-page .btn:hover::after,  body.public-page .btn:focus-visible::after {
  opacity: .9 !important; transform: translate(0, -50%) !important;
}

/* ── ③ استثناها (بدون فلش) ── */
body.public-page #site-header .btn::before, body.public-page #site-header .btn::after,
body.public-page .nav-login-btn::before, body.public-page .nav-login-btn::after,
body.public-page .nav-lang-btn::before, body.public-page .nav-lang-btn::after,
body.public-page .nav-dd-toggle::before, body.public-page .nav-dd-toggle::after,
body.public-page .btn-live-card::before, body.public-page .btn-live-card::after,
body.public-page .btn-reg-card::before, body.public-page .btn-reg-card::after,
body.public-page .btn-res-card::before, body.public-page .btn-res-card::after,
body.public-page .item-second-section__btn::before, body.public-page .item-second-section__btn::after,
body.public-page .rank-tab::before, body.public-page .rank-tab::after,
body.public-page .lgn-tab::before, body.public-page .lgn-tab::after,
body.public-page .lgn-eye::before, body.public-page .lgn-eye::after,
body.public-page .btn:empty::before, body.public-page .btn:empty::after,
body.public-page .filter-chip::before, body.public-page .filter-chip::after,
body.public-page .tf-chip::before, body.public-page .tf-chip::after,
body.public-page .tab::before, body.public-page .tab::after,
body.public-page [class*="-tab"].btn::before, body.public-page [class*="-tab"].btn::after {
  content: none !important; display: none !important;
}
/* 📱 موبایل — فلش غیرفعال (فضا کم) */
@media (max-width: 900px) {
  body.public-page .btn::before, body.public-page .btn::after { content: none !important; display: none !important; }
  body.public-page .btn:not(.btn-sm) { padding-inline: 34px !important; min-width: 0 !important; }
}


/* ══════════════════════════════════════════════════════════════════════════════
   🔴 دکمهٔ «ورود به سامانه» (.btn--secondary) — hover: پس‌زمینهٔ قرمز + متن و فلش سفید
   🖐️ «وقتی میرم روش پس زمینه قرمز میشه و چون متن هم قرمز متن مشخص نیست
       باید وقتی با موس رفتم روش پس زمینه قرمز بشه و متن و جهت‌ها سفید بشن»
   ✅ فلش‌ها با `color: currentColor` کار می‌کنند ⇒ خودکار سفید می‌شوند
   ══════════════════════════════════════════════════════════════════════════════ */
/* 🔬 spec رقیب: قاعده‌های `.btn--secondary` با `!important` و class بیشتر
   ⇒ با تکرار کلاس + عنصر (a/button) + چند لایه، قطعی می‌کنیم */
html body.public-page a.btn--secondary.btn--secondary:hover,
html body.public-page a.btn--secondary.btn--secondary:focus-visible,
html body.public-page button.btn--secondary.btn--secondary:hover,
html body.public-page button.btn--secondary.btn--secondary:focus-visible,
html body.public-page .btn.btn--secondary.btn--secondary:hover,
html body.public-page .btn.btn--secondary.btn--secondary:focus-visible,
html body.public-page .btn--secondary:hover,
html body.public-page .btn--secondary:focus-visible {
  background: rgb(223, 31, 38) !important;
  background-color: rgb(223, 31, 38) !important;
  border-color: rgb(223, 31, 38) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  text-decoration: none !important;
}
/* هر فرزند/span داخل دکمه هم سفید */
html body.public-page .btn--secondary.btn--secondary:hover *,
html body.public-page .btn--secondary.btn--secondary:focus-visible *,
html body.public-page .btn--secondary.btn--secondary:hover span,
html body.public-page .btn--secondary.btn--secondary:hover i,
html body.public-page .btn--secondary.btn--secondary:hover svg {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  fill: #fff !important;
}
body.public-page .btn--secondary:hover::before,
body.public-page .btn--secondary:hover::after,
body.public-page .btn--secondary:focus-visible::before,
body.public-page .btn--secondary:focus-visible::after {
  color: #fff !important;          /* جهت‌ها سفید */
  opacity: .95 !important;
}
body.public-page .btn--secondary:hover * ,
body.public-page .btn--secondary:focus-visible * { color: #fff !important; }
/* 🌙 تم تیره — همان رفتار */
body.public-page.dark-page .btn--secondary:hover,
body.public-page.dark-page .btn--secondary:focus-visible {
  background: rgb(223, 31, 38) !important; color: #fff !important;
}
/* دکمهٔ «ورود مدیران» (btn--secondary btn-sm) هم همان */
body.public-page .btn--secondary.btn-sm:hover,
body.public-page .btn--secondary.btn-sm:focus-visible {
  background: rgb(223, 31, 38) !important; color: #fff !important; border-color: rgb(223, 31, 38) !important;
}


/* ══════════════════════════════════════════════════════════════════════════════
   🎨 هدر — همرنگ پس‌زمینهٔ صفحه (حذف گرادیان روشن‌تر)
   🖐️ «تو صفحه /login هدر سایت با پس زمینه یکی نیست»
   🔬 اندازه‌گیری: هدر bgImg=linear-gradient(rgba(27,32,56,.86)…) ⇒ روشن‌تر از
      body rgb(20,22,35) ⇒ دو نوار رنگی متفاوت دیده می‌شد
   ══════════════════════════════════════════════════════════════════════════════ */
body.public-page #site-header {
  background-image: none !important;
  background-color: #141623 !important;          /* = rgb(20,22,35) پس‌زمینهٔ صفحه */
}
body.public-page #site-header .header-inner,
body.public-page #site-header nav.main-nav { background-image: none !important; }
/* تم روشن (اگر dark-page نبود و تم روشن فعال شد) */
body.public-page.light-page #site-header { background-color: #f4f6fb !important; }


/* ══ ردیف «جمع» پایین جدول دسته‌ها (تب جدول) ══ */
.public-page #dr-table tfoot tr.dr-total > td {
  background: rgba(255,255,255,.07) !important;
  border-top: 2px solid rgba(255,255,255,.22) !important;
  font-weight: 700 !important;
  color: #eaf0ff !important;
  position: sticky;
  bottom: 0;
  z-index: 2;
}
.public-page #dr-table tfoot tr.dr-total code { font-weight: 700; }
@media (max-width: 760px) {
  .public-page #dr-table tfoot tr.dr-total > td { display: table-cell !important; font-size: 11.5px; }
  .public-page #dr-table tfoot tr.dr-total > td[data-label]::before {
    content: attr(data-label) ": "; color: var(--muted,#8891b4); font-weight: 400;
  }
}
