@import url('https://fonts.googleapis.com/css2?family=Vazirmatn:wght@300;400;500;600;700;800&display=swap');

/* ══ Variables ════════════════════════════════ */
.ava-app {
  --blue:   #0EA5E9;
  --gold:   #F59E0B;
  --txt:    #1E293B;
  --txt2:   #64748B;
  --muted:  #94A3B8;
  --border: #E2E8F0;
  --white:  #FFFFFF;
  --bg:     #F8FAFC;
  font-family:'Vazirmatn',Tahoma,sans-serif;
  direction:rtl;
  box-sizing:border-box;
}
*, .ava-app * { box-sizing:border-box; }

/* ══ Picker ═══════════════════════════════════ */
.ava-picker {
  display:flex; flex-direction:column;
  align-items:center; gap:32px;
  padding:60px 20px; min-height:320px;
  justify-content:center;
}
.ava-picker__label { font-size:22px; font-weight:700; color:var(--txt); }
.ava-picker__options { display:flex; gap:12px; }
.ava-picker__btn {
  display:flex; flex-direction:column; align-items:center; gap:10px;
  padding:28px 40px; border:2px solid var(--border);
  background:var(--white); cursor:pointer; min-width:160px;
  transition:border-color .15s;
  font-family:'Vazirmatn',Tahoma,sans-serif;
}
.ava-picker__btn--movie:hover  { border-color:var(--blue); }
.ava-picker__btn--series:hover { border-color:var(--gold); }
.ava-picker__icon { font-size:32px; line-height:1; }
.ava-picker__text { font-size:15px; font-weight:700; color:var(--txt); }

/* ══ Schedule ═════════════════════════════════ */
.ava-schedule { display:none; }
.ava-schedule.ava-schedule--visible { display:block; }

.ava-schedule-header {
  display:flex; align-items:center; gap:12px;
  margin-bottom:24px; padding-bottom:16px;
  border-bottom:2px solid var(--border);
}
.ava-logo-wrap {
  display:inline-flex; align-items:center;
  height:32px; width:auto; max-width:130px;
  overflow:hidden; flex-shrink:0;
  margin-left:auto;
}
.ava-logo-wrap img.ava-header-logo {
  height:32px !important; max-height:32px !important;
  width:auto !important; max-width:130px !important;
  object-fit:contain !important;
  display:block !important;
  margin:0 !important; padding:0 !important;
}
.ava-switch-btn {
  display:inline-flex; align-items:center; gap:7px;
  font-size:13px; font-weight:600; color:var(--txt2);
  background:none; border:1.5px solid var(--border);
  padding:6px 14px; cursor:pointer;
  font-family:'Vazirmatn',Tahoma,sans-serif;
  transition:border-color .15s, color .15s;
}
.ava-switch-btn:hover { border-color:var(--txt2); color:var(--txt); }
.ava-schedule-type-label { font-size:16px; font-weight:800; color:var(--txt); }

/* ══ تب‌ها ════════════════════════════════════ */
.ava-week-tabs {
  display:flex; gap:0;
  border:1.5px solid var(--border);
  margin-bottom:28px;
  overflow-x:auto; scrollbar-width:none;
  width:100%;
}
.ava-week-tabs::-webkit-scrollbar { display:none; }
.ava-tab {
  flex-shrink:0; display:flex; flex-direction:column;
  align-items:center; gap:3px;
  padding:10px 18px; min-width:130px;
  border:none; border-left:1px solid var(--border);
  background:var(--white); cursor:pointer;
  transition:background .15s;
}
.ava-tab:first-child { border-left:none; }
.ava-tab:hover { background:var(--bg); }
.ava-tab--active { background:var(--txt); }
.ava-tab__day  { font-size:13px; font-weight:700; color:var(--txt2); white-space:nowrap; }
.ava-tab--active .ava-tab__day  { color:#fff; }
.ava-tab__date { font-size:11px; color:var(--muted); white-space:nowrap; }
.ava-tab--active .ava-tab__date { color:rgba(255,255,255,.75); }

/* ══ Grid ═════════════════════════════════════ */
.ava-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:12px; width:100%;
}

/* ══ Card ═════════════════════════════════════ */
.ava-card {
  background:var(--white); border:1px solid var(--border);
  display:flex; flex-direction:column; width:100%;
}

/* ══ Poster ═══════════════════════════════════ */
.ava-poster-wrap {
  position:relative; width:100%; aspect-ratio:16/9;
  overflow:hidden; background:var(--bg); flex-shrink:0;
}
.ava-poster-wrap img {
  width:100%; height:100%; object-fit:cover; display:block;
  transition:transform .4s ease;
}
.ava-card:hover .ava-poster-wrap img { transform:scale(1.04); }
.ava-poster-ph {
  width:100%; height:100%;
  display:flex; align-items:center; justify-content:center; color:#CBD5E1;
}
.ava-imdb-badge {
  position:absolute; bottom:8px; left:8px;
  background:rgba(0,0,0,.65); padding:2px 7px;
  font-size:13px; font-weight:700; color:#FBBF24;
}
.ava-rate-badge {
  position:absolute; top:8px; right:8px;
  background:rgba(0,0,0,.55); padding:2px 7px;
  font-size:10px; font-weight:600; color:#F8FAFC;
}
.ava-ep-badge {
  position:absolute; bottom:8px; right:8px;
  background:var(--gold); padding:2px 7px;
  font-size:12px; font-weight:700; color:#fff;
}
.ava-card-accent { height:2px; flex-shrink:0; }
.ava-movie-mode  .ava-card-accent { background:var(--blue); }
.ava-series-mode .ava-card-accent { background:var(--gold); }

/* ══ Card Body ════════════════════════════════ */
.ava-card-body {
  padding:14px 16px 12px; flex:1;
  display:flex; flex-direction:column; gap:8px;
}
.ava-title-fa { font-size:17px; font-weight:800; color:var(--txt); line-height:1.3; margin:0; }
.ava-title-en { font-size:11px; color:var(--muted); direction:ltr; display:block; font-weight:300; margin-top:3px; }
.ava-meta-line { font-size:12px; color:var(--muted); margin:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ava-overview {
  font-size:12px; color:var(--txt2); margin:0; line-height:1.7;
  border-top:1px solid var(--border); padding-top:8px;
  display:-webkit-box; -webkit-line-clamp:2;
  -webkit-box-orient:vertical; overflow:hidden;
}

/* ══ Times Block ══════════════════════════════ */
.ava-times-block {
  display:grid; grid-template-columns:1fr 1fr;
  margin-top:auto; border-top:1px solid var(--border);
  width:100%;
}
.ava-time-city {
  display:flex; flex-direction:column;
  padding:12px 16px; gap:3px; background:var(--bg);
}
.ava-time-city:first-child { border-left:1px solid var(--border); }
.ava-city-label { font-size:13px; font-weight:700; color:var(--txt2); }
.ava-movie-mode  .ava-time-city:first-child .ava-city-label { color:var(--blue); }
.ava-series-mode .ava-time-city:first-child .ava-city-label { color:var(--blue); }
.ava-movie-mode  .ava-time-city:last-child  .ava-city-label { color:var(--gold); }
.ava-series-mode .ava-time-city:last-child  .ava-city-label { color:var(--gold); }
.ava-main-time {
  font-size:26px; font-weight:800;
  direction:ltr; line-height:1; letter-spacing:-.5px; color:var(--txt);
}
.ava-duration-line {
  font-size:11px; color:var(--muted); margin-top:2px;
}
.ava-repeat-wrap {
  margin-top:6px; padding-top:6px;
  border-top:1px solid var(--border);
}
.ava-repeat-label {
  font-size:9px; font-weight:700; color:var(--muted);
  letter-spacing:.8px; direction:rtl;
  display:block; margin-bottom:3px; opacity:.6;
}
.ava-repeat-row {
  font-size:12px; color:var(--txt2);
  direction:ltr; font-weight:600; display:block;
}

/* ══ Section titles ═══════════════════════════ */
.ava-section--spaced { margin-top:40px; }
.ava-section-title {
  display:flex; align-items:center; gap:12px;
  font-size:19px; font-weight:800; color:var(--txt);
  margin:0 0 20px; letter-spacing:-.3px;
}
.ava-section-title::after { content:''; flex:1; height:1px; background:var(--border); }
.ava-section-dot { width:5px; height:5px; flex-shrink:0; }
.ava-section-title--movie  .ava-section-dot { background:var(--blue); }
.ava-section-title--series .ava-section-dot { background:var(--gold); }

/* ══ Empty ════════════════════════════════════ */
.ava-empty { text-align:center; padding:60px 20px; color:var(--muted); border:1px dashed var(--border); grid-column:1/-1; }
.ava-empty__icon { font-size:36px; margin-bottom:10px; }
.ava-empty p { font-size:14px; margin:0; }

/* ══ Loading ══════════════════════════════════ */
.ava-content { transition:opacity .15s; }
.ava-content.ava-loading { opacity:.3; pointer-events:none; }

/* ══ Toggle روز/شب — کشویی ═══════════════════ */
.ava-theme-toggle-wrap {
  position:fixed; bottom:28px; left:28px;
  display:flex; align-items:center; gap:10px;
  z-index:9999;
  background:#1E293B;
  border:1.5px solid #334155;
  padding:8px 14px;
  box-shadow:0 4px 20px rgba(0,0,0,.3);
  cursor:pointer;
  user-select:none;
}
.ava-theme-toggle-wrap:hover { background:#334155; }

/* آیکون */
.ava-toggle-icon { display:flex; align-items:center; }
.ava-toggle-icon svg { width:17px; height:17px; stroke:#F1F5F9; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }

/* سوئیچ کشویی */
.ava-toggle-switch {
  position:relative; width:36px; height:20px;
  background:#334155; border:1px solid #475569;
  transition:background .25s;
}
.ava-toggle-switch::after {
  content:''; position:absolute;
  top:3px; right:3px;
  width:12px; height:12px;
  background:#94A3B8;
  transition:right .25s, background .25s;
}
/* حالت شب (فعال) */
body.ava-dark .ava-theme-toggle-wrap { background:#F1F5F9; border-color:#CBD5E1; }
body.ava-dark .ava-theme-toggle-wrap:hover { background:#E2E8F0; }
body.ava-dark .ava-toggle-icon svg { stroke:#1E293B; }
body.ava-dark .ava-toggle-switch { background:#0EA5E9; border-color:#0284C7; }
body.ava-dark .ava-toggle-switch::after { right:calc(100% - 15px); background:#fff; }

/* لیبل */
.ava-toggle-label { font-size:12px; font-weight:600; color:#94A3B8; font-family:'Vazirmatn',Tahoma,sans-serif; white-space:nowrap; }
body.ava-dark .ava-toggle-label { color:#475569; }

/* ══ Dark mode ════════════════════════════════ */
body.ava-dark { background:#0F1117 !important; }
body.ava-dark .ava-app {
  --txt:    #F1F5F9; --txt2:   #94A3B8;
  --muted:  #475569; --border: #1E2433;
  --white:  #131313; --bg:     #0F1117;
}
body.ava-dark .ava-card        { border-color:#1E2433; }
body.ava-dark .ava-week-tabs   { border-color:#1E2433; }
body.ava-dark .ava-tab         { border-color:#1E2433; background:#131313; }
body.ava-dark .ava-tab:hover   { background:#1a1f2e; }
body.ava-dark .ava-tab--active { background:#F1F5F9; }
body.ava-dark .ava-tab--active .ava-tab__day  { color:#0F1117; }
body.ava-dark .ava-tab--active .ava-tab__date { color:rgba(15,17,23,.7); }
body.ava-dark .ava-picker__btn { background:#131313; border-color:#1E2433; }
body.ava-dark .ava-picker__btn:hover { border-color:#94A3B8; }
body.ava-dark .ava-time-city   { background:#0F1117; }
body.ava-dark .ava-repeat-wrap { border-color:#1E2433; }
body.ava-dark .ava-overview    { border-color:#1E2433; background:#0F1117; }
body.ava-dark .ava-switch-btn  { border-color:#1E2433; color:#94A3B8; }
body.ava-dark .ava-switch-btn:hover { border-color:#94A3B8; color:#F1F5F9; }
body.ava-dark .ava-schedule-header { border-color:#1E2433; }
body.ava-dark .ava-poster-wrap { background:#1a1f2e; }
body.ava-dark .ava-section-title::after { background:#1E2433; }

/* ══ Responsive ═══════════════════════════════ */
@media(max-width:782px){
  /* جلوگیری از overflow در Astra */
  .ava-app {
    width:100%;
    max-width:100%;
    overflow:hidden;
  }
  .ava-schedule {
    width:100%;
    max-width:100%;
    overflow:visible;
  }
  .ava-week-tabs {
    width:100%;
    max-width:100%;
    margin-bottom:20px;
    overflow-x:auto;
  }
  .ava-tab {
    min-width:90px;
    padding:8px 10px;
    flex-shrink:0;
  }
  .ava-tab__day  { font-size:11px; }
  .ava-tab__date { font-size:9px; }
  .ava-grid {
    grid-template-columns:1fr;
    gap:10px;
    width:100%;
    max-width:100%;
  }
  .ava-card {
    width:100%;
    max-width:100%;
    min-width:0;
  }
  .ava-times-block {
    width:100%;
    max-width:100%;
  }
  .ava-time-city {
    min-width:0;
    padding:10px 12px;
  }
  .ava-card-body {
    padding:12px 12px 10px;
  }
  .ava-picker { padding:40px 0; }
  .ava-picker__options { flex-direction:column; width:100%; }
  .ava-picker__btn { width:100%; flex-direction:row; padding:18px 20px; min-width:auto; }
  .ava-main-time { font-size:20px; }
  .ava-title-fa  { font-size:15px; }
  .ava-meta-line { font-size:11px; }
  .ava-theme-toggle-wrap { bottom:16px; left:16px; padding:7px 12px; }
}

/* ══ Footer ═══════════════════════════════════ */
.ava-footer {
  margin-top:48px !important;
  background:#EFF9F1 !important;
  padding:20px 32px !important;
  text-align:center !important;
  border-radius:0 !important;
  display:block !important;
}
.ava-footer__copy {
  font-size:13px !important; font-weight:500 !important;
  color:#4B7A5A !important;
  margin:0 !important; direction:ltr !important;
  display:block !important;
}
body.ava-dark .ava-footer { background:#0d1f14 !important; }
body.ava-dark .ava-footer__copy { color:#6aab7e !important; }
/* ══ Modern Button Base ══════════════════════ */
.ava-switch-btn,
.ava-picker__btn {
  border-radius:10px !important;
}
.ava-switch-btn {
  padding:7px 14px !important;
  border-radius:10px !important;
  border:1.5px solid var(--border) !important;
  background:transparent !important;
  color:var(--txt2) !important;
  font-size:12px !important; font-weight:600 !important;
  font-family:'Vazirmatn',Tahoma,sans-serif !important;
  display:inline-flex !important; align-items:center !important; gap:7px !important;
  cursor:pointer !important; transition:all .2s !important;
  flex-shrink:0 !important;
}
.ava-switch-btn:hover {
  border-color:var(--txt2) !important;
  color:var(--txt) !important;
  background:var(--bg) !important;
}
body.ava-dark .ava-switch-btn { border-color:#2d3748 !important; color:#94A3B8 !important; }
body.ava-dark .ava-switch-btn:hover { border-color:#94A3B8 !important; color:#F1F5F9 !important; background:#1a1f2e !important; }

/* ══ Picker modern ═══════════════════════════ */
.ava-picker {
  padding:64px 20px !important;
  gap:36px !important;
}
.ava-picker__label {
  font-size:24px !important;
  font-weight:800 !important;
  letter-spacing:-.5px !important;
}
.ava-picker__options { gap:16px !important; }
.ava-picker__btn {
  border-radius:16px !important;
  border:1.5px solid var(--border) !important;
  padding:32px 48px !important;
  gap:14px !important;
  transition:all .2s !important;
  box-shadow:0 1px 4px rgba(0,0,0,.04) !important;
}
.ava-picker__btn:hover {
  box-shadow:0 6px 24px rgba(0,0,0,.08) !important;
  transform:translateY(-2px) !important;
}
.ava-picker__btn--movie:hover  { border-color:var(--blue) !important; }
.ava-picker__btn--series:hover { border-color:var(--gold) !important; }
.ava-picker__icon { font-size:36px !important; }
.ava-picker__text { font-size:16px !important; }

/* ══ Schedule header modern ══════════════════ */
.ava-schedule-header {
  margin-bottom:20px !important;
  padding-bottom:16px !important;
  border-bottom:1px solid var(--border) !important;
  gap:10px !important;
}

/* ══ Tabs modern ════════════════════════════ */
.ava-week-tabs {
  border:1px solid var(--border) !important;
  border-radius:12px !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  -webkit-overflow-scrolling:touch !important;
  scroll-snap-type:x mandatory !important;
  margin-bottom:24px !important;
}
.ava-tab {
  border-left:1px solid var(--border) !important;
  transition:all .15s !important;
  border-radius:0 !important;
  scroll-snap-align:start !important;
  flex-shrink:0 !important;
}
.ava-tab:hover { background:var(--bg) !important; }
.ava-tab--active {
  background:var(--txt) !important;
  border-left-color:var(--txt) !important;
}
body.ava-dark .ava-week-tabs { border-color:#1E2433 !important; border-radius:12px !important; }
body.ava-dark .ava-tab { border-color:#1E2433 !important; }

/* ══ Card modern ═════════════════════════════ */
.ava-card {
  border-radius:14px !important;
  border:1px solid var(--border) !important;
  overflow:hidden !important;
  box-shadow:0 1px 4px rgba(0,0,0,.04) !important;
  transition:box-shadow .2s, transform .2s !important;
}
.ava-card:hover {
  box-shadow:0 8px 28px rgba(0,0,0,.1) !important;
  transform:translateY(-2px) !important;
}
body.ava-dark .ava-card {
  border-color:#1E2433 !important;
  box-shadow:0 1px 4px rgba(0,0,0,.2) !important;
}
body.ava-dark .ava-card:hover {
  box-shadow:0 8px 28px rgba(0,0,0,.35) !important;
}

/* ══ Poster rounded top ══════════════════════ */
.ava-poster-wrap {
  border-radius:0 !important;
}

/* ══ Badges modern ═══════════════════════════ */
.ava-imdb-badge, .ava-rate-badge, .ava-ep-badge {
  border-radius:6px !important;
}

/* ══ Times block modern ══════════════════════ */
.ava-time-city {
  border-radius:0 !important;
}
.ava-times-block {
  border-top:1px solid var(--border) !important;
}

/* ══ Theme toggle modern ═════════════════════ */
.ava-theme-toggle-wrap {
  border-radius:12px !important;
  box-shadow:0 4px 20px rgba(0,0,0,.2) !important;
}

/* ══ Empty modern ════════════════════════════ */
.ava-empty {
  border-radius:14px !important;
  border:1.5px dashed var(--border) !important;
}

/* ══ Card accent ═════════════════════════════ */
.ava-card-accent { height:3px !important; }
