/**
 * @file cards.css — карточки мероприятий (режим просмотра «Карточка», шаблон node--event--card.html.twig) и сетка .ee-cards.
 * Одна и та же карточка в расписании, каталоге направления и блоках. Телефон — одна колонка (карточка в строку: обложка слева), 768 px — две, от 1024 — три, от 1280 — четыре.
 * Цвета и скругления — токены theme.css; кнопки — css/buttons.css.
 */
.ee-cards > .view-content, .ee-cards .view-content { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; }
@media (min-width: 48rem) { .ee-cards > .view-content, .ee-cards .view-content { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; } }
@media (min-width: 64rem) { .ee-cards > .view-content, .ee-cards .view-content { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 80rem) { .ee-cards > .view-content, .ee-cards .view-content { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.ee-cards .view-content > .views-row { display: contents; }
.ee-cards .view-content > div { display: flex; min-width: 0; }   /* обёртка строки (безымянный div): карточки в одном ряду одной высоты */
.ee-cards .view-content > div > .ee-card { flex: 1 1 auto; width: 100%; }

.ee-card { position: relative; display: flex; flex-direction: row; min-width: 0; background: var(--ee-card-bg); border: 1px solid var(--ee-card-border); border-radius: var(--ee-radius-card); box-shadow: var(--ee-card-shadow); overflow: hidden; transition: box-shadow .2s; }
.ee-card:hover { box-shadow: var(--shadow-lg); }
.ee-card[hidden] { display: none; }
.ee-card__cover { position: relative; display: block; flex: 0 0 7.5rem; min-height: 9rem; background: var(--muted); overflow: hidden; }
.ee-card__cover img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.ee-card__body { display: flex; flex: 1; flex-direction: column; gap: .4rem; min-width: 0; padding: .9rem 1rem 1rem; }
.ee-card__badges { display: flex; flex-wrap: wrap; gap: .35rem; padding-right: 2.5rem; }
.ee-card__title { margin: 0; font-size: 1.0625rem; font-weight: 700; line-height: 1.3; }
.ee-card__title a { color: var(--foreground); text-decoration: none; overflow-wrap: anywhere; }
.ee-card__title a:hover { color: var(--ee-btn-accent, var(--primary)); text-decoration: underline; }
.ee-card__when { margin: 0; font-weight: 700; color: var(--ee-btn-accent, var(--primary)); }
.ee-card__hosts { margin: 0; font-size: .875rem; line-height: 1.4; color: var(--muted-foreground); }
.ee-card__dates, .ee-card__meta { margin: 0; font-size: .9375rem; line-height: 1.4; color: var(--muted-foreground); }
.ee-card__meta { display: flex; flex-wrap: wrap; gap: .1rem .75rem; }
.ee-card__price { font-weight: 700; color: var(--foreground); }
.ee-card__next { font-size: .9375rem; }
.ee-card__next-label { display: block; margin-bottom: .15rem; font-weight: 600; }
.ee-card__next ul, .ee-card__all ul { margin: 0; padding: 0; list-style: none; }
.ee-card__next li, .ee-card__all li { margin: 0; padding: .1rem 0; color: var(--muted-foreground); }
.ee-card__all { font-size: .9375rem; }
.ee-card__all > summary { cursor: pointer; list-style: none; }
.ee-card__all > summary::-webkit-details-marker { display: none; }
.ee-card__all[open] > summary { margin-bottom: .35rem; }
.ee-card__actions { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: auto; padding-top: .6rem; }
.ee-card .ee-fav--card { top: .4rem; right: .4rem; }
@media (min-width: 48rem) {
  .ee-card { flex-direction: column; }
  .ee-card__cover { flex: none; min-height: 0; aspect-ratio: 4 / 3; }
  .ee-card__badges { padding-right: 0; }
}
.ee-card .ee-badge--dir { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* расписание: заголовки разделов, фильтры, пустые разделы */
.ee-sched__title { margin: 2rem 0 1rem; font-size: var(--ee-h2, 1.75rem); }
.ee-sched-filters { display: flex; flex-wrap: wrap; gap: .75rem 1.25rem; align-items: flex-end; margin-bottom: 1rem; }
.ee-sched-filters { min-height: 4.9rem; }   /* место под фильтры резервируется до работы скрипта: список не прыгает (CLS) */
@media (max-width: 40rem) { .ee-sched-filters { min-height: 10.6rem; } }
.ee-sched-filters.is-empty { min-height: 0; }
.ee-filter { display: flex; flex: 1 1 14rem; max-width: 22rem; flex-direction: column; gap: .25rem; min-width: min(100%, 14rem); }
.ee-filter__label { font-size: .875rem; font-weight: 700; }
.ee-filter__select { min-height: 2.75rem; }
.ee-sched-status { margin: 0; color: var(--muted-foreground); font-size: .9375rem; }
.ee-sched-empty { margin: 0 0 1rem; padding: 1rem; border: 1px dashed var(--border); border-radius: var(--ee-radius-card); color: var(--muted-foreground); }
