/* Archiv cen (/ceny/…): doplňuje style.css */

.archive { padding-top: 20px; padding-bottom: 40px; }
.crumbs { display: flex; flex-wrap: wrap; gap: 4px 8px; list-style: none; font-size: 0.8rem; color: var(--text-dimmer); margin-bottom: 18px; }
.crumbs li + li::before { content: "/"; margin-right: 8px; color: var(--border); }
.crumbs a { color: var(--text-dim); text-decoration: none; font-weight: 600; }
.crumbs a:hover { color: var(--accent); }

.archive-head { margin-bottom: 24px; }
.archive-head h1 { font-size: 1.8rem; font-weight: 800; letter-spacing: -0.02em; line-height: 1.2; }
.archive-sub { color: var(--text-dim); margin-top: 6px; font-size: 0.95rem; }
.archive-sub a, .card-sub a, .archive-note a, .price-table a { color: var(--accent); text-decoration: none; font-weight: 700; }
.archive-h2 { font-size: 1.15rem; font-weight: 800; margin-bottom: 12px; }
.archive-note { font-size: 0.82rem; color: var(--text-dimmer); margin-top: 8px; }
.card-value.violet { color: var(--violet-text); }
.price-table-wrap.tall { max-height: none; }
.price-table .wd { color: var(--text-dimmer); font-size: 0.8rem; margin-left: 6px; }
h2.chart-title { font-size: 1rem; }

/* Kalendář měsíce */
.calendar { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; }
.cal-head { text-align: center; font-size: 0.75rem; font-weight: 700; color: var(--text-dim); text-transform: uppercase; letter-spacing: 0.06em; padding: 4px 0; }
.cal-cell, .month-cell {
  position: relative; display: flex; flex-direction: column; gap: 2px;
  min-height: 78px; padding: 8px; border-radius: 10px; border: 1px solid var(--border);
  background: var(--bg3); color: var(--text); text-decoration: none; font-variant-numeric: tabular-nums;
}
a.cal-cell:hover, a.month-cell:hover { border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent); }
a.cal-cell:focus-visible, a.month-cell:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.cal-cell.empty { background: none; border: none; }
.cal-cell.nodata { color: var(--text-dimmer); }
.cal-day { font-size: 0.8rem; font-weight: 700; color: var(--text-dim); }
.cal-avg { font-size: 1.15rem; font-weight: 800; line-height: 1.1; }
.cal-range { font-size: 0.72rem; color: var(--text-dimmer); font-weight: 600; }
.cal-neg { position: absolute; top: 9px; right: 9px; width: 8px; height: 8px; border-radius: 50%; background: var(--violet); }
.cal-neg.static { position: static; display: inline-block; width: 10px; height: 10px; }
.c-cheap { background: var(--green-light); border-color: var(--green-mid); }
.c-cheap .cal-avg { color: var(--green-text); }
.c-avg { background: #fffbeb; border-color: #fde68a; }
.c-avg .cal-avg { color: var(--yellow-text); }
.c-exp { background: #fef2f2; border-color: #fecaca; }
.c-exp .cal-avg { color: var(--red-text); }
.c-neg { background: #f5f3ff; border-color: #ddd6fe; }
.c-neg .cal-avg { color: var(--violet-text); }

.month-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 10px; }
.month-name { font-weight: 800; text-transform: capitalize; }

.pager { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: 8px 0 24px; flex-wrap: wrap; }
.pager a { color: var(--accent); text-decoration: none; font-weight: 700; font-size: 0.9rem; }
.pager-up { text-align: center; flex: 1; text-transform: capitalize; }
.pager-prev, .pager-next { min-width: 120px; }
.pager-next { text-align: right; }

@media (max-width: 640px) {
  .archive-head h1 { font-size: 1.35rem; }
  .archive .price-cards { grid-template-columns: 1fr 1fr; gap: 10px; }
  .archive .price-card { padding: 14px; }
  .archive .card-value { font-size: 1.6rem; }
  .calendar { gap: 3px; }
  .cal-cell { min-height: 54px; padding: 5px 4px; }
  .cal-avg { font-size: 0.85rem; }
  .cal-range { display: none; }
  .cal-neg { top: 6px; right: 5px; width: 6px; height: 6px; }
  .pager-prev, .pager-next { min-width: 0; }
}
