/* ============================================================
   LiveScore — Dark Theme
   ثيم غامق احترافي بلون أخضر مميّز
   ============================================================ */

:root{
  --bg:        #0c1014;
  --bg-soft:   #141a21;
  --card:      #161d26;
  --card-2:    #1b2531;
  --line:      #233040;
  --text:      #e8edf2;
  --text-dim:  #93a1b0;
  --text-mute: #647281;
  --accent:    #2ee06a;     /* أخضر الملعب */
  --accent-dk: #1faf52;
  --live:      #ff4d4d;
  --radius:    14px;
  --radius-sm: 10px;
  --shadow:    0 6px 24px rgba(0,0,0,.35);
  --fz-ar: 'Cairo', system-ui, sans-serif;
  --fz-en: 'Inter', system-ui, sans-serif;
}

*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; }
body{
  background:var(--bg);
  color:var(--text);
  font-family:var(--fz-ar);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  min-height:100vh;
  display:flex; flex-direction:column;
}
body.ltr{ font-family:var(--fz-en); }
a{ color:inherit; text-decoration:none; }
img{ max-width:100%; display:block; }

.container{ width:100%; max-width:1080px; margin-inline:auto; padding-inline:16px; }

/* ---------- Header ---------- */
.site-header{
  position:sticky; top:0; z-index:50;
  background:rgba(12,16,20,.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.header-inner{ display:flex; align-items:center; gap:18px; height:62px; }
.brand{ display:flex; align-items:center; gap:9px; font-weight:800; font-size:1.2rem; }
.brand-dot{
  width:12px; height:12px; border-radius:50%;
  background:var(--accent); box-shadow:0 0 0 4px rgba(46,224,106,.18);
}
.main-nav{ display:flex; gap:18px; margin-inline-start:auto; }
.main-nav a{ color:var(--text-dim); font-weight:600; font-size:.95rem; }
.main-nav a:hover{ color:var(--text); }
.header-actions{ display:flex; align-items:center; gap:12px; }
.lang-switch{
  border:1px solid var(--line); padding:6px 12px; border-radius:20px;
  font-size:.85rem; font-weight:700; color:var(--text-dim);
}
.lang-switch:hover{ border-color:var(--accent); color:var(--accent); }
.live-badge{
  display:inline-flex; align-items:center; gap:7px;
  background:rgba(255,77,77,.12); color:#ff8080;
  padding:5px 11px; border-radius:20px; font-size:.82rem; font-weight:700;
}
.pulse{ width:8px; height:8px; border-radius:50%; background:var(--live);
  animation:pulse 1.4s infinite; }
@keyframes pulse{ 0%{box-shadow:0 0 0 0 rgba(255,77,77,.6)} 70%{box-shadow:0 0 0 8px rgba(255,77,77,0)} 100%{box-shadow:0 0 0 0 rgba(255,77,77,0)} }

/* ---------- Layout ---------- */
.main-wrap{ flex:1; padding-block:22px 40px; }
.page-title{ font-size:1.5rem; font-weight:800; margin-bottom:4px; }
.page-sub{ color:var(--text-dim); margin-bottom:18px; }

/* ---------- Calendar / تقويم الأيام ---------- */
.day-strip{
  display:flex; gap:8px; overflow-x:auto; padding-bottom:6px; margin-bottom:18px;
  scrollbar-width:thin;
}
.day-chip{
  flex:0 0 auto; text-align:center; min-width:72px;
  background:var(--card); border:1px solid var(--line); border-radius:var(--radius-sm);
  padding:9px 12px; color:var(--text-dim); transition:.15s;
}
.day-chip:hover{ border-color:var(--accent); color:var(--text); }
.day-chip.active{ background:var(--accent); border-color:var(--accent); color:#06210f; }
.day-chip .dow{ font-size:.72rem; font-weight:700; opacity:.85; }
.day-chip .dnum{ font-size:1.15rem; font-weight:800; line-height:1.1; }
.day-chip .mon{ font-size:.68rem; }

/* ---------- League group ---------- */
.league-block{
  background:var(--card); border:1px solid var(--line); border-radius:var(--radius);
  margin-bottom:16px; overflow:hidden;
}
.league-head{
  display:flex; align-items:center; gap:10px;
  padding:12px 16px; background:var(--card-2); border-bottom:1px solid var(--line);
}
.league-head img{ width:22px; height:22px; object-fit:contain; border-radius:4px; }
.league-head .lname{ font-weight:700; font-size:.98rem; }
.league-head .lcountry{ color:var(--text-mute); font-size:.8rem; margin-inline-start:auto; }

/* ---------- Match row ---------- */
.match-row{
  display:grid; grid-template-columns:54px 1fr auto;
  align-items:center; gap:12px;
  padding:11px 16px; border-bottom:1px solid var(--line);
  transition:background .12s;
}
.match-row:last-child{ border-bottom:none; }
.match-row:hover{ background:var(--card-2); }
.m-status{ text-align:center; font-size:.8rem; font-weight:700; color:var(--text-dim); }
.m-status.live{ color:var(--live); }
.m-status.finished{ color:var(--text-mute); }
.m-status.live::before{ content:''; display:inline-block; width:6px; height:6px; border-radius:50%;
  background:var(--live); margin-inline-end:5px; animation:pulse 1.4s infinite; }
.m-teams{ display:flex; flex-direction:column; gap:6px; min-width:0; }
.m-team{ display:flex; align-items:center; gap:9px; min-width:0; }
.m-team img{ width:20px; height:20px; object-fit:contain; }
.m-team .tn{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.95rem; }
.m-score{ display:flex; flex-direction:column; gap:6px; align-items:center;
  font-weight:800; font-variant-numeric:tabular-nums; }
.m-score span{ min-width:20px; text-align:center; }
.m-score.dim span{ color:var(--text-mute); }
.winner{ color:var(--accent); }

/* ---------- Empty ---------- */
.empty{
  text-align:center; padding:54px 20px; color:var(--text-mute);
  background:var(--card); border:1px dashed var(--line); border-radius:var(--radius);
}
.empty .ico{ font-size:2.4rem; margin-bottom:8px; }

/* ---------- Match detail page ---------- */
.match-hero{
  background:linear-gradient(180deg,var(--card-2),var(--card));
  border:1px solid var(--line); border-radius:var(--radius);
  padding:26px 20px; text-align:center; margin-bottom:18px;
}
.mh-league{ color:var(--text-dim); font-size:.9rem; margin-bottom:18px; }
.mh-grid{ display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:14px; }
.mh-team{ display:flex; flex-direction:column; align-items:center; gap:10px; }
.mh-team img{ width:62px; height:62px; object-fit:contain; }
.mh-team .nm{ font-weight:700; }
.mh-center{ text-align:center; }
.mh-score{ font-size:2.6rem; font-weight:800; font-variant-numeric:tabular-nums; }
.mh-vs{ font-size:1.6rem; color:var(--text-mute); font-weight:700; }
.mh-state{ margin-top:6px; font-size:.85rem; font-weight:700; }
.mh-state.live{ color:var(--live); }
.info-list{
  background:var(--card); border:1px solid var(--line); border-radius:var(--radius);
  padding:6px 0; margin-bottom:18px;
}
.info-list .row{ display:flex; justify-content:space-between; padding:12px 18px;
  border-bottom:1px solid var(--line); }
.info-list .row:last-child{ border-bottom:none; }
.info-list .k{ color:var(--text-dim); }
.info-list .v{ font-weight:600; }

/* ---------- League / Team page ---------- */
.entity-hero{
  display:flex; align-items:center; gap:16px;
  background:var(--card); border:1px solid var(--line); border-radius:var(--radius);
  padding:20px; margin-bottom:20px;
}
.entity-hero img{ width:64px; height:64px; object-fit:contain; }
.entity-hero h1{ font-size:1.4rem; }
.entity-hero .meta{ color:var(--text-dim); font-size:.9rem; }
.section-title{ font-size:1.1rem; font-weight:700; margin:22px 0 12px; }

/* ---------- Ads ---------- */
.ad-slot{ margin:18px auto; text-align:center; max-width:1080px; padding-inline:16px; }
.ad-slot:empty{ display:none; }

/* ---------- Footer ---------- */
.site-footer{ border-top:1px solid var(--line); background:var(--bg-soft); margin-top:auto; }
.footer-inner{ display:flex; flex-wrap:wrap; gap:18px; justify-content:space-between;
  align-items:center; padding-block:24px; }
.footer-brand{ display:flex; align-items:center; gap:9px; flex-wrap:wrap; }
.footer-brand p{ flex-basis:100%; color:var(--text-mute); font-size:.85rem; margin-top:2px; }
.footer-meta{ color:var(--text-mute); font-size:.85rem; }

/* ---------- Responsive ---------- */
@media (max-width:560px){
  .main-nav{ display:none; }
  .mh-team img{ width:48px; height:48px; }
  .mh-score{ font-size:2rem; }
  .match-row{ grid-template-columns:48px 1fr auto; gap:8px; padding:11px 12px; }
  .league-head{ padding:10px 12px; }
}
