/* ══════════════════════════════════════════════
   events.css — Афиша Сортавала
   ══════════════════════════════════════════════ */

/* ─── Grid ─────────────────────────────────── */
.sorta_event_grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

@media (max-width: 900px) {
  .sorta_event_grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
  .sorta_event_grid { grid-template-columns: 1fr; }
}

/* ─── Card ──────────────────────────────────── */
.sorta_event_card {
  background: #fff;
  border-radius: var(--r-xl, 16px);
  box-shadow: 0 2px 12px rgba(0,0,0,.07);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  transition: transform .18s ease, box-shadow .18s ease;
}

.sorta_event_card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 28px rgba(0,0,0,.13);
}

/* ─── Image wrapper ─────────────────────────── */
.sorta_event_card_img {
  position: relative;
  overflow: hidden;
  background: var(--c-surface2, #f1f5f9);
  flex-shrink: 0;
}

.sorta_event_card_img img {
  width: 100%;
  height: auto;
  display: block;
}

.sorta_event_card_img_placeholder {
  height: 180px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 56px;
  background: linear-gradient(135deg, var(--c-surface2, #f1f5f9), var(--c-surface, #fff));
}

/* ─── Date badge overlay ────────────────────── */
.sorta_event_card_date {
  position: absolute;
  top: 10px;
  left: 10px;
  background: #fff;
  border-radius: 10px;
  padding: 6px 10px;
  text-align: center;
  line-height: 1.1;
  box-shadow: 0 2px 8px rgba(0,0,0,.15);
  min-width: 38px;
}

.sorta_event_card_date_day {
  font-size: 20px;
  font-weight: 900;
  color: var(--c-accent, #2563eb);
  display: block;
}

.sorta_event_card_date_mon {
  font-size: 9px;
  font-weight: 700;
  color: var(--c-muted, #64748b);
  text-transform: uppercase;
  letter-spacing: .06em;
  display: block;
}

/* ─── Card body ─────────────────────────────── */
.sorta_event_card_body {
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1;
}

/* ─── Category badge ────────────────────────── */
.sorta_event_cat_badge {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--c-accent, #2563eb);
  background: rgba(37,99,235,.08);
  padding: 3px 8px;
  border-radius: 20px;
  align-self: flex-start;
}

/* ─── Title ─────────────────────────────────── */
.sorta_event_card_title {
  font-size: 15px;
  font-weight: 800;
  line-height: 1.35;
  color: var(--c-text, #1e293b);
  margin: 0;
}

/* ─── Meta rows ─────────────────────────────── */
.sorta_event_card_meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-top: 4px;
}

.sorta_event_card_meta_row {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--c-muted, #64748b);
}

.sorta_event_card_meta_row svg {
  flex-shrink: 0;
  color: var(--c-accent, #2563eb);
}

.sorta_event_price_row {
  font-size: 13px;
  font-weight: 700;
  color: var(--c-accent, #2563eb);
  margin-top: 4px;
}

/* ─── Past events ───────────────────────────── */
.sorta_event_past {
  opacity: .65;
  filter: grayscale(.3);
}

/* ─── Filter tabs ───────────────────────────── */
.sorta_events_filter_row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-bottom: 24px;
}

.sorta_events_past_btn {
  margin-left: auto;
  font-size: 12px;
  font-weight: 700;
  padding: 6px 14px;
  border-radius: 20px;
  border: 1.5px solid var(--c-surface2, #e2e8f0);
  background: transparent;
  color: var(--c-muted, #64748b);
  cursor: pointer;
  text-decoration: none;
  transition: background .15s, color .15s, border-color .15s;
}

.sorta_events_past_btn:hover,
.sorta_events_past_btn.active {
  background: var(--c-muted, #64748b);
  color: #fff;
  border-color: var(--c-muted, #64748b);
}

/* ─── Detail page ───────────────────────────── */
/* Обложка в сайдбаре */
.sorta_event_sidebar_cover {
  border-radius: var(--r-xl, 16px);
  overflow: hidden;
  margin-bottom: 12px;
  background: var(--c-surface2);
}
.sorta_event_sidebar_cover img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}

.sorta_event_detail_date_row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  margin: 12px 0 20px;
  font-size: 14px;
  color: var(--c-muted, #64748b);
}

.sorta_event_detail_date_row strong {
  color: var(--c-text, #1e293b);
  font-weight: 700;
}

/* ─── Sidebar date card ─────────────────────── */
.sorta_event_sidebar_card {
  background: #fff;
  border-radius: var(--r-xl, 16px);
  box-shadow: 0 2px 12px rgba(0,0,0,.07);
  padding: 18px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 14px;
}

.sorta_event_sidebar_row {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-size: 13px;
  color: var(--c-text, #1e293b);
}

.sorta_event_sidebar_row svg {
  flex-shrink: 0;
  margin-top: 2px;
  color: var(--c-accent, #2563eb);
}

.sorta_event_sidebar_label {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--c-muted, #64748b);
  margin-bottom: 2px;
}

/* ─── Empty state ───────────────────────────── */
.sorta_events_empty {
  text-align: center;
  padding: 60px 20px;
  color: var(--c-muted, #64748b);
  font-size: 15px;
}

.sorta_events_empty_icon {
  font-size: 48px;
  display: block;
  margin-bottom: 12px;
}

/* ─── Comments ──────────────────────────────── */
.sorta_event_comment{background:var(--c-surface2);border-radius:var(--r-lg);padding:14px 16px}
.sorta_event_comment_head{display:flex;align-items:center;gap:10px;margin-bottom:8px;flex-wrap:wrap}
.sorta_event_comment_author{font-size:14px;font-weight:800;color:var(--c-text)}
.sorta_event_comment_date{font-size:11px;color:var(--c-muted)}
.sorta_event_comment_text{font-size:14px;line-height:1.6;color:var(--c-text2);margin-top:10px}
.sorta_event_comment_reply{margin-top:12px;padding:10px 14px;background:var(--c-accent-bg);border-left:3px solid var(--c-accent);border-radius:0 var(--r) var(--r) 0;font-size:13px;line-height:1.6;color:var(--c-text2)}
.sorta_event_comment_reply_label{font-size:11px;font-weight:700;color:var(--c-accent);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;display:flex;align-items:center;gap:4px}

/* ─── Возрастной рейтинг ─────────────────────── */
.sorta_age_badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;border-radius:6px;font-size:12px;font-weight:800;letter-spacing:.03em;line-height:1.4;flex-shrink:0}
.sorta_age_badge_general{background:#e8f5e9;color:#2e7d32;border:1.5px solid #a5d6a7}
.sorta_age_badge_16{background:#fff3e0;color:#e65100;border:1.5px solid #ffcc80}
.sorta_age_badge_18{background:#fce4ec;color:#c62828;border:1.5px solid #ef9a9a}
/* На карточке списка — позиционируется в углу картинки */
.sorta_age_badge_card{position:absolute;top:8px;right:8px;z-index:2;font-size:11px;padding:2px 7px;backdrop-filter:blur(4px)}
