/* =====================================================================
   Арена · сезонна пътека и календар за постоянство.
   Всичко е под .am-season — не пипаме чужди класове.
   Тъмна тема: фон #171411, текст #f2e9d8, приглушен #a89a83, злато #c9a227.
   ===================================================================== */

.am-season {
  --ams-bg: #171411;
  --ams-bg2: #1d1915;
  --ams-ink: #f2e9d8;
  --ams-muted: #a89a83;
  --ams-gold: #c9a227;
  --ams-gold2: #e0bc55;
  --ams-line: rgba(242, 233, 216, .12);
  --ams-ok: #6f9c6a;
  margin: 26px 0 8px;
  color: var(--ams-ink);
  font-family: -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.5;
}

.am-season *,
.am-season *::before,
.am-season *::after { box-sizing: border-box; }

.am-season .am-season-card {
  background: linear-gradient(180deg, var(--ams-bg2), var(--ams-bg));
  border: 1px solid var(--ams-line);
  border-radius: 14px;
  padding: 16px 16px 14px;
  margin: 0 0 14px;
  box-shadow: 0 18px 40px -34px rgba(0, 0, 0, .9);
}

.am-season .am-season-eyebrow {
  margin: 0 0 4px;
  color: var(--ams-muted);
  font-size: 11px;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.am-season .am-season-title {
  margin: 0 0 12px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 22px;
  font-weight: 600;
  line-height: 1.2;
  color: var(--ams-ink);
}

.am-season .am-season-sub {
  margin: 0 0 10px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 17px;
  font-weight: 600;
  color: var(--ams-ink);
}

.am-season .am-season-note {
  margin: 10px 0 0;
  color: var(--ams-muted);
  font-size: 12.5px;
  line-height: 1.5;
}

.am-season .am-season-small { font-size: 11.5px; opacity: .85; }

/* ---------- числата горе ---------- */
.am-season .am-season-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 12px;
}

.am-season .am-season-stat {
  flex: 1 1 86px;
  min-width: 0;
  padding: 8px 10px;
  border: 1px solid var(--ams-line);
  border-radius: 10px;
  background: rgba(242, 233, 216, .03);
}

.am-season .am-season-stat b {
  display: block;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 20px;
  font-weight: 600;
  color: var(--ams-gold2);
  font-variant-numeric: tabular-nums;
}

.am-season .am-season-stat b i {
  font-style: normal;
  font-size: 12px;
  color: var(--ams-muted);
  margin-left: 2px;
}

.am-season .am-season-stat span {
  display: block;
  color: var(--ams-muted);
  font-size: 11px;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.am-season .am-season-bar {
  height: 8px;
  border-radius: 99px;
  background: rgba(242, 233, 216, .09);
  overflow: hidden;
}

.am-season .am-season-bar i {
  display: block;
  height: 100%;
  border-radius: 99px;
  background: linear-gradient(90deg, #8a6f16, var(--ams-gold2));
  transition: width .35s ease;
}

.am-season .am-season-next {
  margin: 8px 0 0;
  font-size: 13px;
  color: var(--ams-muted);
}

.am-season .am-season-next b { color: var(--ams-ink); }

/* ---------- пътеката ---------- */
.am-season .am-season-ladder {
  list-style: none;
  /* 40 реда по 970px изглеждат пусти — стесняваме пътеката и я центрираме */
  max-width: 760px;
  margin: 0 auto 10px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.am-season .am-season-step {
  display: grid;
  grid-template-columns: 38px minmax(58px, 80px) 1fr auto;
  align-items: center;
  gap: 10px;
  min-width: 0;
  padding: 7px 12px;
  border: 1px solid var(--ams-line);
  /* лявата ивица е „пътеката“: заключено → отворено → взето */
  border-left: 3px solid rgba(242, 233, 216, .10);
  border-radius: 10px;
  background: rgba(242, 233, 216, .02);
}

.am-season .am-season-num {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 15px;
  font-variant-numeric: tabular-nums;
  color: var(--ams-muted);
  text-align: center;
}

.am-season .am-season-need {
  font-size: 12px;
  color: var(--ams-muted);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.am-season .am-season-reward {
  min-width: 0;
  font-size: 13px;
  color: var(--ams-ink);
  text-align: center;
  overflow-wrap: anywhere;
}

.am-season .am-season-short { display: none; }
.am-season .am-season-dash { color: var(--ams-muted); font-style: normal; }

/* „колко SP остават до следващата награда“ — на всеки ред */
.am-season .am-season-step .am-season-left {
  display: block;
  margin-top: 2px;
  color: var(--ams-muted);
  font-size: 11px;
  line-height: 1.35;
  font-variant-numeric: tabular-nums;
}

.am-season .am-season-left b { color: var(--ams-gold2); font-weight: 600; }
.am-season .am-season-left-t { font-style: normal; opacity: .8; }
.am-season .am-season-left.is-now { color: var(--ams-ok); }
.am-season .am-season-left.is-done { color: var(--ams-ok); opacity: .8; }
.am-season-step.is-locked .am-season-left b { color: #d9c68b; }

.am-season .am-season-act {
  display: flex;
  justify-content: flex-end;
  min-width: 0;
}

.am-season .am-season-step.is-open { border-left-color: rgba(201, 162, 39, .45); }
.am-season .am-season-step.is-open .am-season-num { color: var(--ams-ink); }
.am-season .am-season-step.is-open .am-season-reward { color: var(--ams-muted); }

.am-season .am-season-step.is-ready {
  border-color: rgba(201, 162, 39, .55);
  border-left-color: var(--ams-gold2);
  background: rgba(201, 162, 39, .10);
  box-shadow: 0 0 0 1px rgba(201, 162, 39, .10) inset;
}

.am-season .am-season-step.is-ready .am-season-num { color: var(--ams-gold2); }

.am-season .am-season-step.is-claimed {
  border-color: rgba(111, 156, 106, .35);
  border-left-color: rgba(111, 156, 106, .7);
  background: rgba(111, 156, 106, .07);
}

.am-season .am-season-step.is-claimed .am-season-num { color: var(--ams-ok); }
.am-season .am-season-step.is-claimed .am-season-reward { color: var(--ams-muted); }

.am-season .am-season-step.is-locked { opacity: .62; }

.am-season .am-season-lock {
  color: var(--ams-muted);
  font-size: 11.5px;
  white-space: nowrap;
}

.am-season .am-season-taken {
  color: var(--ams-ok);
  font-size: 12px;
  white-space: nowrap;
}

/* ---------- бутони ---------- */
.am-season .am-season-btn {
  min-height: 40px;
  padding: 8px 14px;
  border: 1px solid rgba(242, 233, 216, .22);
  border-radius: 9px;
  background: rgba(242, 233, 216, .06);
  color: var(--ams-ink);
  font: inherit;
  font-size: 13px;
  cursor: pointer;
  transition: background .15s ease, border-color .15s ease;
}

.am-season .am-season-btn:hover { background: rgba(242, 233, 216, .12); }
.am-season .am-season-btn:focus-visible { outline: 2px solid var(--ams-gold2); outline-offset: 2px; }
.am-season .am-season-btn[disabled] { opacity: .55; cursor: default; }

.am-season .am-season-btn-gold {
  border-color: rgba(201, 162, 39, .6);
  background: linear-gradient(180deg, rgba(201, 162, 39, .30), rgba(201, 162, 39, .16));
  color: #fbf3dd;
  font-weight: 600;
}

.am-season .am-season-btn-gold:hover { background: linear-gradient(180deg, rgba(201, 162, 39, .44), rgba(201, 162, 39, .24)); }

.am-season .am-season-take { padding: 6px 12px; font-size: 12.5px; }

/* ---------- VIP бележка ---------- */
.am-season .am-season-vip {
  margin: 0 0 14px;
  padding: 9px 12px;
  border: 1px dashed rgba(201, 162, 39, .35);
  border-radius: 10px;
  color: var(--ams-muted);
  font-size: 12.5px;
}

/* ---------- календар ---------- */
.am-season .am-season-days {
  list-style: none;
  margin: 0 0 12px;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 6px;
}

.am-season .am-season-cell {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1px;
  line-height: 1.1;
  min-height: 40px;
  border: 1px solid var(--ams-line);
  border-radius: 8px;
  background: rgba(242, 233, 216, .02);
  color: var(--ams-muted);
  font-size: 12px;
  font-variant-numeric: tabular-nums;
}

.am-season .am-season-cell.is-on {
  border-color: rgba(201, 162, 39, .45);
  background: rgba(201, 162, 39, .16);
  color: var(--ams-ink);
  font-weight: 600;
}

.am-season .am-season-cell.is-today { box-shadow: 0 0 0 1px var(--ams-gold2) inset; }

.am-season .am-season-pin {
  font-size: 11px;
  font-style: normal;
  letter-spacing: .02em;
  color: var(--ams-gold2);
  opacity: .9;
}

.am-season .am-season-cell.is-on .am-season-pin { color: #fdf6e3; }
.am-season .am-season-cell.is-got .am-season-pin { color: var(--ams-ok); }

.am-season .am-season-cal-foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.am-season .am-season-hint { color: var(--ams-muted); font-size: 12.5px; }

/* ---------- седмичен медал (3 изиграни дни) ---------- */
.am-season .am-season-week .am-season-sub { margin-bottom: 0; }

.am-season .am-season-weekdays {
  list-style: none;
  margin: 10px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 5px;
}

.am-season .am-season-wday {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  border: 1px solid var(--ams-line);
  border-radius: 8px;
  background: rgba(242, 233, 216, .02);
  color: var(--ams-muted);
  font-size: 11.5px;
  font-variant-numeric: tabular-nums;
}

.am-season .am-season-wday.is-on {
  border-color: rgba(201, 162, 39, .5);
  background: rgba(201, 162, 39, .18);
  color: var(--ams-ink);
  font-weight: 600;
}

.am-season .am-season-wday.is-today { box-shadow: 0 0 0 1px var(--ams-gold2) inset; }
.am-season .am-season-wday.is-future { opacity: .4; }

/* следващата награда, когато вече е отворена */
.am-season .am-season-next.is-ready { color: var(--ams-gold2); }

/* наградите не дават предимство — едно изречение, винаги на екрана */
.am-season .am-season-fair {
  margin: 0 0 18px;
  padding-left: 10px;
  border-left: 2px solid rgba(201, 162, 39, .35);
  color: var(--ams-muted);
  font-size: 11.5px;
  line-height: 1.5;
}

/* ---------- медали ---------- */
.am-season .am-season-medalrow {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.am-season .am-season-medal {
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  padding: 6px 10px;
  border: 1px solid rgba(201, 162, 39, .4);
  border-radius: 99px;
  background: rgba(201, 162, 39, .10);
  font-size: 12.5px;
}

.am-season .am-season-medal i { color: var(--ams-gold2); font-style: normal; }

.am-season .am-season-medal.is-week {
  border-color: rgba(122, 160, 198, .45);
  background: rgba(122, 160, 198, .10);
}

.am-season .am-season-medal.is-week i { color: #9dc0e0; }
.am-season .am-season-medal em { color: var(--ams-muted); font-size: 11px; font-style: normal; }

/* ---------- бележка след вземане ---------- */
.am-season .am-season-flash {
  margin: 0 0 10px;
  padding: 10px 12px;
  border-radius: 10px;
  font-size: 13px;
  border: 1px solid var(--ams-line);
  background: rgba(242, 233, 216, .05);
  color: var(--ams-ink);
}

.am-season .am-season-flash.is-ok {
  border-color: rgba(111, 156, 106, .45);
  background: rgba(111, 156, 106, .12);
}

.am-season .am-season-flash.is-err {
  border-color: rgba(196, 92, 78, .45);
  background: rgba(196, 92, 78, .12);
}

.am-season.is-busy { opacity: .85; }
.am-season .am-season-skeleton { opacity: .8; }

/* ---------- телефон: 5 стъпала на ред, без хоризонтален скрол ---------- */
@media (max-width: 620px) {
  .am-season { font-size: 14px; margin-top: 20px; }

  .am-season .am-season-card { padding: 14px 12px 12px; border-radius: 12px; }
  .am-season .am-season-title { font-size: 19px; }

  .am-season .am-season-stats { gap: 6px; }
  .am-season .am-season-stat { flex: 1 1 30%; padding: 7px 8px; }
  .am-season .am-season-stat b { font-size: 17px; }

  .am-season .am-season-ladder {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 5px;
    max-width: none;
  }

  .am-season .am-season-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    padding: 6px 3px;
    text-align: center;
    border-radius: 8px;
  }

  .am-season .am-season-num { font-size: 14px; line-height: 1.1; }
  .am-season .am-season-need { font-size: 11px; line-height: 1.2; }
  .am-season .am-season-reward { font-size: 11px; line-height: 1.2; text-align: center; }

  /* на телефон „още N SP“ остава, но без дългата опашка */
  .am-season .am-season-step .am-season-left { font-size: 10px; margin-top: 1px; line-height: 1.25; }
  .am-season .am-season-left-t { display: none; }

  .am-season .am-season-weekdays { gap: 4px; margin-top: 8px; }
  .am-season .am-season-wday { min-height: 30px; font-size: 10.5px; }
  .am-season .am-season-fair { font-size: 11px; }

  .am-season .am-season-full { display: none; }
  .am-season .am-season-short { display: inline; }

  .am-season .am-season-act { width: 100%; justify-content: center; margin-top: 2px; }
  .am-season .am-season-take {
    width: 100%;
    min-height: 40px;
    padding: 4px 2px;
    font-size: 11.5px;
  }
  /* на телефон „още N SP“ не се побира — числото горе казва същото */
  .am-season .am-season-lock { display: none; }
  .am-season .am-season-taken { font-size: 11px; white-space: normal; }

  .am-season .am-season-days { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 4px; }
  .am-season .am-season-cell { min-height: 38px; font-size: 11px; }

  .am-season .am-season-medalrow { gap: 6px; }
  .am-season .am-season-medal { font-size: 11.5px; padding: 5px 8px; }
}

@media (max-width: 390px) {
  .am-season .am-season-step { padding: 5px 2px; }
  .am-season .am-season-need { display: none; }
}

/* На /season.html пътеката е в една колона под 760px (виж season.html).
   Там редът не е 60px карта, а цял ред — подреждаме го наляво и на една линия,
   иначе 40 реда стават по 50px празно място. */
@media (max-width: 760px) {
  #seasonSlot .am-season-step {
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    padding: 7px 10px;
    text-align: left;
  }
  #seasonSlot .am-season-num { text-align: left; font-size: 13px; }
  #seasonSlot .am-season-reward { text-align: left; font-size: 12px; }
  #seasonSlot .am-season-step .am-season-left { font-size: 10.5px; }
  #seasonSlot .am-season-act { width: auto; justify-content: flex-end; margin-top: 0; }
  #seasonSlot .am-season-take { width: auto; min-height: 34px; padding: 5px 10px; }
}

@media (prefers-reduced-motion: reduce) {
  .am-season .am-season-bar i { transition: none; }
}

/* календарът в профила — по-малък и под името */
.prof-calendar:empty { display: none; }
.am-season-in-profile {
  border-top: 1px solid rgba(201, 162, 39, .18);
  padding: 14px 0 4px;
  margin: 6px 0 14px;
}
.am-season-in-profile .prof-cal-t {
  margin: 0;
  font: 11px/1.4 system-ui, sans-serif;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #c9a227;
}
.am-season-in-profile .prof-cal-s {
  margin: 4px 0 10px;
  font-size: 12.5px;
  color: #a89a83;
}
.am-season-in-profile .am-season-cal { gap: 5px !important; }
.am-season-in-profile .am-season-cell {
  min-height: 30px !important;
  font-size: 11px !important;
  border-radius: 6px !important;
  padding: 3px 4px !important;
}
.am-season-in-profile .am-season-btn { font-size: 11.5px !important; padding: 6px 10px !important; }
.am-season-in-profile .am-season-note,
.am-season-in-profile .am-season-callegend { font-size: 11px !important; }
@media (max-width: 560px) {
  .am-season-in-profile .am-season-cell { min-height: 26px !important; font-size: 11px !important; }
}

/* в профила: собствено заглавие, вътрешното се скрива */
.am-season-in-profile .am-season-eyebrow,
.am-season-in-profile .am-season-sub { display: none !important; }
.am-season-in-profile .am-season-card { background: transparent !important; border: 0 !important; padding: 0 !important; }
.prof-cal-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: 0 0 10px; font-size: 12.5px; color: #a89a83; }
.prof-cal-row b { color: #f2e9d8; font-size: 13.5px; }
.prof-cal-row .am-season-btn { margin-left: auto; }
.am-season-in-profile .am-season-days { gap: 5px !important; }
.am-season-in-profile .am-season-days li { min-height: 30px !important; font-size: 11px !important; }

/* календарът в профила: 6 колони, за да е компактен */
.am-season-in-profile .am-season-days {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 5px !important;
  list-style: none;
  margin: 0 !important;
  padding: 0 !important;
}
.am-season-in-profile .am-season-days li {
  min-height: 30px !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 1px;
  border-radius: 6px !important;
  font-size: 11px !important;
  padding: 2px 3px !important;
}
@media (max-width: 520px) {
  .am-season-in-profile .am-season-days { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
  .am-season-in-profile .am-season-days li { min-height: 26px !important; font-size: 11px !important; }
}

/* клетките в профила да изглеждат като в Арената */
.am-season-in-profile .am-season-days li {
  background: #141110 !important;
  border: 1px solid rgba(201, 162, 39, .16) !important;
  color: #cfc3ad !important;
}
.am-season-in-profile .am-season-days li.is-done,
.am-season-in-profile .am-season-days li.is-marked {
  border-color: rgba(201, 162, 39, .42) !important;
  color: #f2e9d8 !important;
}
.am-season-in-profile .am-season-days li.is-today {
  border-color: #c9a227 !important;
  box-shadow: 0 0 0 1px rgba(201, 162, 39, .35) inset;
  color: #fff !important;
}
.am-season-in-profile .am-season-pin { color: #c9a227 !important; font-size: 11px !important; }
