/* =========================================
   Events List — /events programm + event-card
   Figma: programm (1558:18346), event-card (1558:16816)
   ========================================= */

/* ─── Layout каталога ───────────────────────────────────────────────────── */

.catalog-main.events-index-main,
.events-index-main {
    display: flex;
    flex-direction: column;
    gap: var(--space-6);
    width: 100%;
    margin-inline: auto;
    box-sizing: border-box;
}

.events-index-tabs-wrap {
    width: 100%;
}

/*
 * /events — chrome pill filter: center в title_bar на desktop;
 * <992 — вторая строка под title_bar (layout-utilities `--has-center` + title-group grid).
 * Не перебивать 1fr / auto / 1fr: title pill остаётся по центру.
 */
@media (max-width: 991.98px) {
    .gc-three-col-subheader--events-index-filters.gc-three-col-subheader--has-center {
        height: auto;
    }

    .gc-three-col-subheader--events-index-filters.gc-three-col-subheader--has-center .gc-three-col-subheader__primary {
        padding-bottom: var(--space-2);
        row-gap: var(--space-2);
    }

    .gc-three-col-subheader--events-index-filters .gc-three-col-subheader__center .gc-tabs {
        width: 100%;
        max-width: 100%;
    }
}

@media (min-width: 992px) {
    .gc-three-col-subheader--events-index-filters .gc-three-col-subheader__center .gc-tabs.gc-tabs-full {
        width: fit-content;
        max-width: 100%;
    }

    .gc-three-col-subheader--events-index-filters .gc-three-col-subheader__center .gc-tabs-full .gc-tab-item {
        flex: none;
    }
}

.events-index-feed {
    display: flex;
    flex-direction: column;
    gap: 0;
}

/* Ритм блоков ленты (месяцы / сообщества) — margin-top, не gap (не дублирует шаг месяцев) */
.events-index-feed > * + * {
    margin-top: var(--space-6);
}

/* Первый месяц/день после «Ближайших»: тот же шаг, что у остальных пиллов */
.events-index-feed > * + .events-index-months,
.events-index-feed > * + .catalog-media-feed__stream {
    margin-top: var(--catalog-feed-marker-gap, var(--space-4));
}

.catalog-media-feed.events-index-feed > * + * {
    margin-top: var(--space-8);
}

.catalog-media-feed.events-index-feed > * + .catalog-media-feed__stream {
    margin-top: var(--catalog-feed-marker-gap, var(--space-4));
}

/* День / месяц каталога: sticky под page subheader */
.events-index-feed {
    --catalog-feed-sticky-top: var(--layout-three-col-subheader-height);
    /* Равный шаг: карточки↑↔пилл и пилл↔карточки↓ / между секциями */
    --catalog-feed-marker-gap: var(--space-4);
}

@media (max-width: 991.98px) {
    .events-index-feed {
        --catalog-feed-sticky-top: calc(
            env(safe-area-inset-top, 0px) + var(--gc-mobile-nav-header-row-min-height)
        );
    }
}

.catalog-feed-day-section {
    display: flex;
    flex-direction: column;
    gap: var(--catalog-feed-marker-gap);
    min-width: 0;
    width: 100%;
}

/* Sticky пилл: glass; вертикаль через gap/margin секции */
.events-index-feed .gc-channel-feed-day-marker {
    position: sticky;
    top: var(--catalog-feed-sticky-top);
    z-index: 2;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0;
    background: transparent;
    transition-property: opacity;
    transition-duration: var(--transition-fast);
    transition-timing-function: cubic-bezier(0.2, 0, 0, 1);
}

.events-index-empty {
    margin-top: var(--space-4);
}

.events-index-empty.gc-empty-state-fullpage {
    margin-top: 0;
}

/* Desktop: gap даёт .catalog-main под three-col-subheader — не дублировать */
@media (min-width: 992px) {
    .gc-three-col-subheader + .page-container-flush .events-index-empty {
        margin-top: 0;
    }
}

/* ─── Секция (Сообщества / месяц) ───────────────────────────────────────── */

.gc-events-index-community-shell {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-3);
    box-sizing: border-box;
}

/* Figma 1587:22865 — illustration + title, gap space/3 */
.gc-events-index-community-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-3);
    width: 100%;
    max-width: 546px;
    margin-inline: auto;
}

.gc-events-index-community-header .gc-section-header-trigger--static {
    justify-content: center;
    text-align: center;
}

.gc-events-index-community-header .gc-section-header-trigger--static .gc-panel-title {
    font-size: var(--font-size-20);
    font-weight: var(--font-weight-semibold);
    line-height: calc(24 / 20);
}

.gc-events-index-community-illustration {
    display: block;
    width: min(100%, 546px);
    height: auto;
    max-height: 95px;
    object-fit: contain;
    --svg-theme-adaptive-filter: none;
    opacity: 1;
}

.gc-events-index-programm,
.gc-events-index-section {
    display: flex;
    flex-direction: column;
    gap: var(--gc-list-section-header-gap);
    min-width: 0;
    width: 100%;
}

.events-index-months {
    display: flex;
    flex-direction: column;
    gap: 0;
}

/* Шаг между днями/месяцами = --catalog-feed-marker-gap */
.events-index-months > .gc-month-section + .gc-month-section,
.events-index-months > .catalog-feed-day-section + .catalog-feed-day-section {
    margin-top: var(--catalog-feed-marker-gap, var(--space-4));
}

.events-index-months:empty {
    display: none;
}

.gc-events-index-section-head {
    margin: 0;
    width: 100%;
}

/* Month chip (Figma 1609:4197): title + caret · fit-content · фон только hover — v1 */
.gc-events-index-programm:not(.gc-events-index-section--v2) .gc-section-header-trigger--meta-end {
    display: inline-flex;
    width: auto;
    max-width: 100%;
    align-self: flex-start;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-1-5);
    padding: var(--space-1) var(--space-2);
    border-radius: var(--radius-8);
}

.gc-events-index-programm:not(.gc-events-index-section--v2) .gc-section-header-trigger--meta-end .gc-section-header-trigger__label {
    flex: 0 1 auto;
    min-width: 0;
}

.gc-events-index-programm:not(.gc-events-index-section--v2) .gc-section-header-trigger--meta-end .gc-panel-title {
    font-size: var(--type-body-size);
    font-weight: 500;
    line-height: var(--type-body-line-height);
    color: var(--text-primary);
}

.gc-events-index-programm:not(.gc-events-index-section--v2) .gc-section-header-trigger__actions {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    flex-shrink: 0;
}

.gc-events-index-programm:not(.gc-events-index-section--v2) .gc-section-header-trigger--meta-end .gc-section-header-trigger__meta {
    font-size: var(--type-ui-caption-size);
    font-weight: 400;
    line-height: var(--type-ui-caption-line-height);
    color: var(--text-secondary);
}

/* ─── Section rhythm v2 (карточки v2 / v2.1) ─────────────────────────────── */

.events-index-feed > .gc-events-index-section--v2.gc-events-index-section--soon + .events-index-months {
    margin-top: var(--catalog-feed-marker-gap, var(--space-4));
}

.events-index-feed-priority {
    display: flex;
    flex-direction: column;
    gap: var(--gc-events-index-v2-month-gap, var(--space-8));
}

.events-index-feed-priority + .events-index-months {
    margin-top: var(--catalog-feed-marker-gap, var(--space-4));
}

/* Дата-навигация ленты: горизонтальный ряд вертикальных плиток */
.events-index-date-nav {
    position: sticky;
    top: 0;
    z-index: 2;
    margin: 0 0 var(--space-4);
    background: var(--gc-app-content-bg, var(--surface-page));
}

.events-index-date-nav__slider {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    min-width: 0;
}

.events-index-date-nav__slider > nav {
    flex: 1 1 auto;
    min-width: 0;
}

.events-index-date-nav__arrow {
    flex-shrink: 0;
}

.events-index-date-nav__track {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: var(--space-2);
    overflow-x: auto;
    scrollbar-width: none;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    cursor: grab;
    user-select: none;
    touch-action: pan-x;
}

.events-index-date-nav__track::-webkit-scrollbar {
    display: none;
}

.events-index-date-nav__track.is-dragging {
    cursor: grabbing;
    scroll-snap-type: none;
}

.events-index-date-nav__week {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: var(--space-2);
    flex: 0 0 auto;
    scroll-snap-align: start;
}

.events-index-date-tile {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-1);
    flex: 0 0 auto;
    width: auto;
    min-width: var(--gc-list-media-size);
    padding: var(--space-1);
    text-decoration: none;
    color: var(--text-secondary);
    background: transparent;
    border-radius: var(--radius-12);
    scroll-snap-align: none;
}

.events-index-date-tile:hover {
    background: var(--surface-interaction-row-hover);
    color: var(--text-primary);
}

.events-index-date-tile.is-active {
    background: var(--surface-selected);
    color: var(--text-primary);
}

.events-index-date-tile.is-disabled {
    opacity: 0.4;
    pointer-events: none;
    cursor: default;
    color: var(--text-secondary);
}

.events-index-date-tile.is-disabled:hover {
    background: transparent;
    color: var(--text-secondary);
}

.events-index-date-tile:focus-visible {
    outline: var(--gc-focus-outline);
    outline-offset: var(--gc-focus-outline-offset);
}

.events-index-date-tile__title {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-align: center;
    line-height: 1.2;
    font-size: var(--font-size-12);
    font-weight: var(--font-weight-semibold);
    color: var(--text-primary);
}

.events-index-date-nav__home {
    display: block;
    width: fit-content;
    max-width: 100%;
    margin: 0 0 var(--space-2);
    text-decoration: none;
    color: inherit;
}

a.events-index-date-nav__home .gc-panel-title {
    color: var(--text-secondary);
}

a.events-index-date-nav__home:hover .gc-panel-title {
    color: var(--text-primary);
}

.events-index-date-nav__home .gc-section-header-trigger {
    padding-inline: 0;
}

.events-index-feed--dates > .events-index-date-nav + .events-index-sentinel {
    margin-top: var(--space-4);
}

.events-index-feed--dates > .gc-events-index-cards {
    margin-top: 0;
}

.events-index-feed--dates > .gc-events-index-cards + .events-index-days {
    margin-top: var(--space-6);
}

.events-index-days > .events-index-day + .events-index-day {
    margin-top: var(--gc-events-index-v2-month-gap, var(--space-8));
}

.catalog-media-feed__stream {
    display: flex;
    flex-direction: column;
    gap: 0;
    min-width: 0;
}

.catalog-media-feed__stream > .catalog-feed-day-section + .catalog-feed-day-section {
    margin-top: var(--catalog-feed-marker-gap, var(--space-4));
}

/*
 * Hover ленты (/feed): только кликабельные карточки.
 * Чуть ярче кромка, без тени и без свечения.
 */
.catalog-media-feed {
    --catalog-feed-card-hover-edge: light-dark(
        color-mix(in srgb, var(--fill-emphasis) 18%, var(--border-default)),
        color-mix(in srgb, var(--fill-emphasis-inverse) 22%, var(--border-subtle))
    );
}

.catalog-media-feed .gc-event-index-card--interactive :is(
    .gc-event-index-card-v2-1__card,
    .gc-event-index-card-v2-1__surface
) {
    transition: border-color var(--transition-fast) var(--ease-in-out);
}

@media (hover: hover) and (pointer: fine) {
    .catalog-media-feed .gc-event-index-card--interactive:hover:not(:has(.gc-event-index-card-v2-1__linked-chips:hover)) .gc-card-glow-shell--event-index > :is(
        .gc-event-index-card-v2-1__card,
        .gc-event-index-card-v2-1__card--photo,
        .gc-event-index-card-v2-1__surface,
        .gc-event-index-card-v2-1__surface--photo,
        .gc-event-index-card-v2-1__surface--placeholder
    ) {
        border-color: var(--catalog-feed-card-hover-edge);
    }
}

.events-index-day-shelf {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    min-width: 0;
}

.events-index-day-shelf + .events-index-day-shelf {
    margin-top: var(--space-6);
}

.events-index-day-shelf .gc-section-header-trigger .gc-panel-title {
    font-size: var(--font-size-15);
    font-weight: var(--font-weight-medium);
}

/* Canvas-заголовки: gc-section-header-trigger из styles.css (H4, без pill) */
.gc-events-index-section--v2 {
    --gc-events-index-v2-month-gap: var(--space-8);
}

.gc-events-index-section--v2.gc-events-index-programm {
    gap: var(--space-3);
}

.gc-events-index-section--v2 .gc-section-header-trigger {
    align-self: flex-start;
}

.gc-events-index-section--v2 .gc-section-header-trigger--static {
    padding: 0;
    border-radius: 0;
}

.gc-events-index-section--v2 .gc-section-header-trigger .gc-panel-title {
    font-weight: var(--font-weight-semibold);
}

/* desktop: чипы сдвинуты — на mobile сброс в @media ниже */
@media (min-width: 992px) {
    .gc-events-index-section-head {
        padding-left: 0;
        padding-right: 0;
    }
}

.events-index-sentinel {
    height: 1px;
}

/* ─── Programm stack (Figma 1558:18346) ───────────────────────────────── */

.gc-events-index-programm-stack,
.gc-events-index-cards {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    min-width: 0;
}

/* ─── Event card (Figma event-card) ───────────────────────────────────── */
/*
 * Figma event-card (1558:16816):
 * - row 164px · date-pillar 129px (1559:18474) · gap date↔main space/2
 * Figma event-card date pillar (1566:21030):
 * - inset space/3 (12) · desktop column weekday↑ day↓ gap 2px · mobile row day+weekday gap space/1
 * - typography: day Body/Medium 15/22 · weekday/time UI/Caption tertiary rest · secondary on card hover
 * - time UI/Caption/Regular 13/18 secondary (cover: on-scrim 80%)
 * - cover mobile: content pt space/16 px space/3 pb 28 · no-cover mobile date pt/px space/3
 */

.gc-event-index-card {
    --gc-event-index-card-row-min-height: var(--gc-event-index-card-row-height);
    --gc-event-index-card-surface: var(--gc-event-card-surface);
    --gc-event-index-card-avatar-ring: var(--border-mask);
    --gc-event-index-card-muted-color: var(--text-tertiary);
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: var(--space-2);
    min-width: 0;
    width: 100%;
    height: var(--gc-event-index-card-row-min-height);
    min-height: var(--gc-event-index-card-row-min-height);
    max-height: var(--gc-event-index-card-row-min-height);
    box-sizing: border-box;
    overflow: clip;
}

.gc-event-index-card--interactive {
    cursor: pointer;
}

.gc-event-index-card__date {
    flex: 0 0 var(--gc-event-index-card-date-width);
    width: var(--gc-event-index-card-date-width);
    max-width: var(--gc-event-index-card-date-width);
    min-width: var(--gc-event-index-card-date-width);
    align-self: stretch;
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
    padding: var(--space-3);
    border-radius: var(--radius-16);
    box-sizing: border-box;
    background: var(--gc-event-index-card-surface);
    border: none;
    color: var(--text-primary);
}

.gc-event-index-card__date--cover {
    position: relative;
    overflow: hidden;
    padding: 0;
    background: transparent;
    border: none;
}

.gc-event-index-card__date--cover .gc-event-index-card__date-content {
    padding: var(--space-3);
}

/* Figma 1603:5177 / 1566:21031 — scrim 60% на всю обложку */
.gc-event-index-card__date--cover .gc-briefing-img-overlay {
    background-color: color-mix(in srgb, var(--fill-emphasis) 60%, transparent);
}

.gc-event-index-card__date-media {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
}

.gc-event-index-card__date-media-cover {
    position: absolute;
    inset: 0;
    border-radius: var(--radius-16);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.gc-event-index-card__date-content {
    position: relative;
    z-index: 1;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    min-height: 100%;
    height: 100%;
    box-sizing: border-box;
}

.gc-event-index-card__date--cover .gc-event-index-card__date-day {
    color: var(--text-on-scrim);
}

.gc-event-index-card__date--cover .gc-event-index-card__date-weekday {
    color: var(--text-on-scrim-muted);
}

/* Cover pillar: time on scrim 80%; без обложки — Text/Secondary */
.gc-event-index-card__date--cover .gc-event-index-card__date-times {
    color: var(--text-on-scrim);
    opacity: 0.8;
}

.gc-event-index-card__main {
    position: relative;
    flex: 1 1 0%;
    min-width: 0;
    height: var(--gc-event-index-card-row-min-height);
    min-height: var(--gc-event-index-card-row-min-height);
    max-height: var(--gc-event-index-card-row-min-height);
    display: flex;
    flex-direction: column;
    align-items: stretch;
    overflow: hidden;
}

.gc-event-index-card__date-top {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-product-2);
    min-width: 0;
}

/* Desktop pillar (1566:21030): day Body/Medium · weekday UI/Caption/Regular · time UI/Caption/Regular */
.gc-event-index-card__date-day {
    margin: 0;
    font-size: var(--type-body-size);
    font-weight: 500;
    line-height: var(--type-body-line-height);
    color: var(--text-primary);
    white-space: nowrap;
}

.gc-event-index-card__date-weekday {
    margin: 0;
    font-size: var(--type-ui-caption-size);
    font-weight: 400;
    line-height: var(--type-ui-caption-line-height);
    white-space: nowrap;
}

/* Desktop pillar (1566:21030): time UI/Caption/Regular */
.gc-event-index-card__date-times {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    min-width: 0;
    font-size: var(--type-ui-caption-size);
    font-weight: 400;
    line-height: var(--type-ui-caption-line-height);
}

.gc-event-index-card__date-time {
    margin: 0;
    font: inherit;
    color: inherit;
    white-space: nowrap;
}

.gc-event-index-card__date-time-range {
    display: none;
    margin: 0;
    font: inherit;
    color: inherit;
    white-space: nowrap;
}

.gc-event-index-card__body {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    flex: 1 1 0;
    min-height: 0;
    width: 100%;
    padding: var(--space-3);
    border-radius: var(--radius-16);
    background: var(--gc-event-index-card-surface);
    overflow: hidden;
    min-width: 0;
    box-sizing: border-box;
}

/* Единый hover: одна поверхность (date / body / mobile article) — pill без своего фона */
.gc-event-index-card__date:not(.gc-event-index-card__date--cover),
.gc-event-index-card__body,
.gc-event-index-card:not(:has(.gc-event-index-card__date--cover)) {
    transition: background-color var(--transition-fast) var(--ease-in-out);
}

@media (hover: hover) and (pointer: fine) {
    @media (min-width: 1280px) and (hover: hover) and (pointer: fine) {
    .gc-event-index-card--interactive:hover {
        --gc-event-index-card-surface: var(--surface-interaction-row-hover);
        --gc-event-index-card-avatar-ring: var(--surface-page);
        --gc-event-index-card-muted-color: var(--text-secondary);
    }
    }
}

.gc-event-index-card--interactive:focus-within {
    --gc-event-index-card-surface: var(--surface-interaction-row-hover);
    --gc-event-index-card-avatar-ring: var(--surface-page);
    --gc-event-index-card-muted-color: var(--text-secondary);
}

.gc-event-index-card--interactive:focus:not(:focus-visible) {
    outline: none;
}

.gc-event-index-card--interactive:focus-visible {
    outline: var(--gc-focus-outline);
    outline-offset: var(--gc-focus-outline-offset);
}

@media (max-width: 991.98px), (hover: none), (pointer: coarse) {
    .gc-event-index-card--interactive:focus-within {
        --gc-event-index-card-surface: var(--gc-event-card-surface);
    }

    .gc-event-index-card--interactive:active {
        --gc-event-index-card-surface: var(--surface-interaction-row-hover);
        --gc-event-index-card-avatar-ring: var(--surface-page);
        --gc-event-index-card-muted-color: var(--text-secondary);
    }

    @media (min-width: 1280px) and (hover: hover) and (pointer: fine) {

    .catalog-main a.gc-event-card.gc-event-card-surface.gc-card:hover:not(.gc-card-activity-event):not(:active) {
        background: var(--gc-event-card-surface);
    }
    }

    .catalog-main a.gc-event-card.gc-event-card-surface.gc-card:active:not(.gc-card-activity-event) {
        background: var(--surface-interaction-row-hover);
    }
}

/* Caption/meta в карточке: Text/Tertiary rest · Text/Secondary на hover (cover — scrim ниже) */
.gc-event-index-card__date-weekday,
.gc-event-index-card__date-times,
.gc-event-index-card__author-fallback,
.gc-event-index-card__author-name,
.gc-event-index-card__participants-chip,
.gc-event-index-card__avatars-count,
.gc-event-index-card__footer-meta {
    color: var(--gc-event-index-card-muted-color);
    transition: color var(--transition-fast) var(--ease-in-out);
}

@media (hover: hover) and (pointer: fine) {
    @media (min-width: 1280px) and (hover: hover) and (pointer: fine) {
    .gc-event-index-card--interactive:hover .gc-event-index-card__date--cover .gc-briefing-img-overlay {
        background-color: color-mix(in srgb, var(--fill-emphasis) 65%, transparent);
    }
    }
}

.gc-event-index-card--interactive:focus-within .gc-event-index-card__date--cover .gc-briefing-img-overlay {
    background-color: color-mix(in srgb, var(--fill-emphasis) 65%, transparent);
}

.gc-event-index-card__head {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: var(--space-1);
    width: 100%;
    min-width: 0;
    flex: 0 0 auto;
    overflow: hidden;
    padding: 0;
    box-sizing: border-box;
}

.gc-event-index-card__author {
    display: flex;
    align-items: flex-start;
    gap: var(--space-2);
    flex: 1 1 auto;
    min-width: 0;
}

.gc-event-index-card__author-copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: var(--space-product-2);
    min-width: 0;
    flex: 1 1 auto;
}

@media (min-width: 768px) {
    /* Desktop: дата сверху, день снизу */
    .gc-event-index-card__date-top {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--space-product-2);
    }

    .gc-event-index-card__body {
        padding: 0;
        flex: 1 1 0;
        min-height: 0;
        gap: 0;
    }

    .gc-event-index-card__head {
        padding: var(--space-3);
        flex: 0 0 auto;
        overflow: visible;
    }

    .gc-event-index-card__footer {
        margin-top: auto;
        flex: 0 0 auto;
    }

    .gc-event-index-card__footer--row {
        align-items: flex-end;
    }
}

.gc-event-index-card__author-avatar {
    flex-shrink: 0;
    width: var(--gc-event-index-card-author-avatar-size);
    height: var(--gc-event-index-card-author-avatar-size);
    border-radius: var(--radius-full);
    overflow: hidden;
}

.gc-event-index-card__author-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.gc-event-index-card__author-fallback {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background: var(--surface-control);
    border: 1px solid var(--border-subtle);
    font-size: var(--font-size-12);
    font-weight: 600;
    line-height: 1;
}

/* Figma event-card / header (1591:24986): author UI/Caption/Regular */
.gc-event-index-card__author-name {
    margin: 0;
    min-width: 0;
    font-size: var(--type-ui-caption-size);
    font-weight: 400;
    line-height: var(--type-ui-caption-line-height);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.gc-event-index-card__title {
    margin: 0;
    min-width: 0;
    width: 100%;
    font-size: var(--type-body-size);
    font-weight: 500;
    line-height: var(--type-body-line-height);
    color: var(--text-primary);
    white-space: normal;
    overflow-wrap: anywhere;
}

.gc-event-index-card__footer {
    flex-shrink: 0;
    flex: 0 0 auto;
    margin-top: auto;
    padding: var(--space-3);
    min-width: 0;
    box-sizing: border-box;
}

.gc-event-index-card__footer:not(.gc-event-index-card__footer--row) {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.gc-event-index-card__footer--row {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: var(--space-2);
    min-width: 0;
    width: 100%;
    box-sizing: border-box;
}

.gc-event-index-card__footer--split,
.gc-event-index-card__footer--participants-only {
    justify-content: space-between;
}

/* Нет левой зоны (participants) — actions прижимаются влево, не вправо */
.gc-event-index-card__footer--actions-only {
    justify-content: flex-start;
}

.gc-event-index-card__footer--row:has(.gc-event-index-card__footer-meta):not(:has(.gc-badge)) {
    justify-content: flex-start;
}

.gc-event-index-card__footer--row:has(.gc-event-index-card__footer-meta):has(.gc-badge) {
    justify-content: space-between;
}

.gc-event-index-card__participants {
    flex: 0 1 auto;
    min-width: 0;
    overflow: hidden;
}

.gc-event-index-card__participants:has(.gc-event-index-card__avatars) {
    overflow: visible;
}

/* Каунтеры и «Нет участников» — UI/Caption, без chip-обёртки */
.gc-event-index-card__participants-chip,
.gc-event-index-card__avatars-count {
    display: inline;
    padding: 0;
    margin: 0;
    height: auto;
    border: none;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    font-size: var(--type-ui-caption-size);
    line-height: var(--type-ui-caption-line-height);
    white-space: nowrap;
}

.gc-event-index-card__participants-chip {
    font-weight: 500;
}

.gc-event-index-card__avatars-count {
    font-weight: 400;
}

.gc-event-index-card__footer-actions {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    flex: 0 0 auto;
    flex-shrink: 0;
    min-width: 0;
}

.gc-event-index-card__footer--split .gc-event-index-card__footer-actions {
    margin-left: auto;
}

/* Figma 1567:22979 / 1567:23036 — footer только с «Нет участников» */
.gc-event-index-card__footer:has(.gc-event-index-card__participants-chip--empty) {
    align-items: flex-end;
}

.gc-event-index-card__price {
    font-size: var(--type-ui-caption-size);
    font-weight: 500;
    line-height: var(--type-ui-caption-line-height);
    color: var(--text-primary);
    white-space: nowrap;
}

.gc-event-index-card__footer-meta {
    margin: 0;
    flex: 1 1 auto;
    min-width: 0;
    font-size: var(--type-ui-caption-size);
    font-weight: 400;
    line-height: var(--type-ui-caption-line-height);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.gc-event-index-card__avatars {
    align-items: center;
    /* avatars.css: stack padding-left — лишний inset в footer карточки */
    padding: var(--space-1);
    margin: calc(var(--space-1) * -1);
}

/* Mask-кольцо на аватарах стека; текст счётчика — без кольца и без overlap */
.gc-event-index-card__avatars > :is(.gc-img-slot, img, .gc-list-avatar-fallback) {
    box-sizing: border-box;
    border: none;
    box-shadow: 0 0 0 3px var(--gc-event-index-card-avatar-ring);
    transition: box-shadow var(--transition-fast) var(--ease-in-out);
}

.gc-event-index-card__avatars > .gc-list-avatar-fallback[class*="gc-avatar-tint-"] {
    border: none;
    box-shadow: 0 0 0 3px var(--gc-event-index-card-avatar-ring);
}

.gc-event-index-card__avatars .gc-list-avatar-fallback {
    font-size: var(--font-size-11);
    font-weight: 500;
    line-height: 1;
}

.gc-event-index-card__avatars > .gc-event-index-card__avatars-count {
    margin-left: var(--space-2);
    box-shadow: none;
}

.gc-event-index-card__status-btn--static {
    pointer-events: none;
    cursor: default;
}

@media (max-width: 1279px) {
    .gc-events-index-section-head {
        padding-left: 0;
        padding-right: 0;
    }

    /* Figma programm (1558:18346): space/6 — main; feed rhythm в .events-index-feed > * + * */
    .catalog-main.events-index-main:not(.profile-show-main),
    .events-index-main:not(.profile-show-main) {
        gap: var(--space-6);
    }

    .gc-event-index-card {
        width: 100%;
        max-width: 100%;
    }
}

/* Figma «Адаптив» — mobile (1609:3886, 1609:4202, 1604:5563) */
@media (max-width: 767px) {
    .gc-event-index-card:not(.gc-event-index-card--v2) {
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        height: auto;
        min-height: 0;
        max-height: none;
        overflow: clip;
    }

    /* Без обложки: единая карточка — фон через --gc-event-index-card-surface */
    .gc-event-index-card:not(.gc-event-index-card--v2):not(:has(.gc-event-index-card__date--cover)) {
        background: var(--gc-event-index-card-surface);
        border-radius: var(--radius-16);
    }

    .gc-event-index-card:not(.gc-event-index-card--v2):not(:has(.gc-event-index-card__date--cover)) .gc-event-index-card__date {
        flex: 0 0 auto;
        width: 100%;
        max-width: none;
        min-width: 0;
        align-self: auto;
        margin-bottom: 0;
        padding: var(--gc-event-index-card-mobile-date-padding);
        border-radius: 0;
        background: transparent;
        border: none;
    }

    /* С обложкой: cover-band сверху + overlap body (1604:5563) */
    .gc-event-index-card:not(.gc-event-index-card--v2):has(.gc-event-index-card__date--cover) .gc-event-index-card__date {
        flex: 0 0 auto;
        width: 100%;
        max-width: none;
        min-width: 0;
        align-self: auto;
        margin-bottom: calc(-1 * var(--space-4));
        padding: 0;
        border-radius: var(--radius-16) var(--radius-16) 0 0;
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
    }

    .gc-event-index-card__date--cover .gc-event-index-card__date-content {
        padding:
            var(--gc-event-index-card-mobile-cover-padding-top)
            var(--space-3)
            var(--gc-event-index-card-mobile-date-overlap)
            var(--space-3);
    }

    .gc-event-index-card__date-media-cover {
        border-radius: var(--radius-16) var(--radius-16) 0 0;
    }

    .gc-event-index-card__date-content {
        flex-direction: row;
        align-items: flex-end;
        justify-content: space-between;
        min-height: 0;
        height: auto;
        flex: 0 0 auto;
    }

    .gc-event-index-card__date-top {
        flex-direction: row;
        align-items: baseline;
        gap: var(--space-1);
    }

    .gc-event-index-card__date-day {
        font-size: var(--type-body-size);
        font-weight: 500;
        line-height: var(--type-body-line-height);
    }

    .gc-event-index-card__date-weekday {
        font-size: var(--type-ui-caption-size);
        font-weight: 400;
        line-height: var(--type-ui-caption-line-height);
    }

    .gc-event-index-card__date-times {
        align-items: flex-end;
        text-align: right;
    }

    .gc-event-index-card__date--cover .gc-event-index-card__date-weekday {
        color: var(--text-on-scrim-muted);
    }

    .gc-event-index-card__date--cover .gc-event-index-card__date-times {
        color: var(--text-on-scrim);
        opacity: 0.8;
    }

    .gc-event-index-card__date-times--range .gc-event-index-card__date-time {
        display: none;
    }

    .gc-event-index-card__date-time-range {
        display: block;
    }

    .gc-event-index-card__main {
        width: 100%;
        height: auto;
        min-height: 0;
        max-height: none;
        overflow: visible;
    }

    .gc-event-index-card__body {
        flex: 0 0 auto;
        min-height: auto;
        gap: 0;
        padding: 0;
        border-radius: var(--radius-16);
        background: transparent;
    }

    .gc-event-index-card:has(.gc-event-index-card__date--cover) .gc-event-index-card__main {
        position: relative;
        z-index: 1;
    }

    .gc-event-index-card:has(.gc-event-index-card__date--cover) .gc-event-index-card__body {
        background: var(--gc-event-index-card-surface);
    }

    .gc-event-index-card__head {
        display: flex;
        flex-direction: column;
        gap: 0;
        padding: var(--gc-event-index-card-mobile-head-padding-no-cover);
        flex: 0 0 auto;
        min-height: auto;
        overflow: visible;
    }

    .gc-event-index-card:has(.gc-event-index-card__date--cover) .gc-event-index-card__head {
        padding: var(--gc-event-index-card-mobile-head-padding-cover);
    }

    .gc-event-index-card__footer {
        margin-top: 0;
        padding: var(--gc-event-index-card-mobile-footer-padding);
    }

    /* Figma 1567:23036 — footer только с «Нет участников»: равномерный inset space/3 */
    .gc-event-index-card__footer--participants-only {
        padding: var(--space-3);
    }

    .gc-event-index-card__footer--row {
        align-items: flex-end;
    }

    /* Chip «N участников» на адаптиве — скрываем; «Нет участников» и avatar stack оставляем */
    .gc-event-index-card__participants-chip--count {
        display: none;
    }

    .gc-event-index-card__participants:has(.gc-event-index-card__participants-chip--count):not(:has(.gc-event-index-card__avatars)) {
        display: none;
    }

    /* Figma 1568:23469 — цена слева, кнопка справа, блок на всю ширину footer */
    .gc-event-index-card__footer--with-price {
        justify-content: flex-start;
        gap: var(--space-2-5);
    }

    .gc-event-index-card__footer--with-price .gc-event-index-card__footer-actions {
        flex: 1 1 auto;
        width: 100%;
        min-width: 0;
        justify-content: flex-start;
    }

    .gc-event-index-card__footer--with-price:has(.gc-event-index-card__avatars) .gc-event-index-card__footer-actions {
        width: auto;
    }

    .gc-event-index-card__footer--with-price .gc-event-index-card__price {
        flex: 1 1 auto;
        min-width: 0;
    }

    .gc-event-index-card__footer--with-price .gc-event-index-card__footer-actions .gc-btn {
        flex-shrink: 0;
        margin-left: auto;
    }

    .gc-event-index-card__footer--split.gc-event-index-card__footer--with-price .gc-event-index-card__footer-actions {
        margin-left: 0;
    }

    .gc-event-index-card__footer--actions-only:not(.gc-event-index-card__footer--with-price) {
        justify-content: flex-start;
        gap: var(--space-2-5);
    }

    .gc-event-index-card__footer--actions-only:not(.gc-event-index-card__footer--with-price) .gc-event-index-card__footer-actions {
        flex: 0 0 auto;
        width: auto;
    }

    .gc-event-index-card__author-name {
        overflow: hidden;
        text-overflow: ellipsis;
    }
}

/* ===================================
   Epic strip (sidebar / mobile) — shared
   =================================== */

.gc-event-card-cell {
    isolation: isolate;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    min-width: 0;
    height: 100%;
}

.gc-event-card-cell .gc-event-card-surface {
    flex: 1 1 auto;
    min-height: 0;
    border-radius: var(--radius-16);
    overflow: hidden;
}

.catalog-main .gc-event-card.gc-event-card-surface {
    background: var(--gc-event-card-surface);
    border-color: transparent;
}

.catalog-main a.gc-event-card.gc-event-card-surface.gc-card-interactive {
    transition: background-color var(--transition-fast) var(--ease-in-out);
}

@media (hover: hover) and (pointer: fine) {
    @media (min-width: 1280px) and (hover: hover) and (pointer: fine) {
    .catalog-main a.gc-event-card.gc-event-card-surface.gc-card:hover:not(.gc-card-activity-event) {
        background: var(--surface-interaction-row-hover);
        border-color: transparent;
    }
    }
}

.catalog-main a.gc-event-card.gc-event-card-surface.gc-card:focus-visible:not(.gc-card-activity-event) {
    background: var(--surface-interaction-row-hover);
    border-color: transparent;
    outline: var(--gc-focus-outline);
    outline-offset: var(--gc-focus-outline-offset);
}

.gc-event-card-cell--epic .gc-event-card-epic-row {
    position: relative;
    z-index: 0;
    padding: 0;
}

.gc-event-card-cell--epic .gc-event-card-surface {
    position: relative;
    z-index: 1;
    margin-top: calc(-1 * (var(--space-4) + var(--space-1)));
}

.gc-event-card-epic-row {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    padding: 0 var(--space-4);
}

.gc-event-card-epic-pill {
    --_epic-tint: color-mix(in srgb, var(--text-primary) 22%, var(--accent-violet));
    --_epic-bg: color-mix(in srgb, var(--_epic-tint) 28%, var(--surface-panel));
    --_epic-bg-hover: color-mix(in srgb, var(--_epic-tint) 40%, var(--surface-panel));
    --_epic-bg-active: color-mix(in srgb, var(--_epic-tint) 50%, var(--surface-panel));
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: var(--space-1);
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    padding: var(--space-2) var(--space-3) var(--space-6);
    border-top-left-radius: var(--radius-16);
    border-top-right-radius: var(--radius-16);
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    background: var(--_epic-bg);
    color: var(--text-primary);
    text-decoration: none;
    font-size: var(--font-size-14);
    font-weight: 500;
    line-height: var(--line-height-list-description);
    transition: background-color var(--transition-fast) var(--ease-in-out);
}

@media (min-width: 1280px) and (hover: hover) and (pointer: fine) {

.gc-event-card-epic-pill:hover {
    background: var(--_epic-bg-hover);
    color: var(--text-primary);
}
}

.gc-event-card-epic-pill:focus-visible {
    outline: var(--gc-focus-outline);
    outline-offset: 2px;
}

.gc-event-card-epic-pill:active {
    background: var(--_epic-bg-active);
}

[data-theme="light"] .gc-event-card-epic-pill {
    --_epic-bg: color-mix(in srgb, var(--accent-violet) 20%, var(--surface-panel));
    --_epic-bg-hover: color-mix(in srgb, var(--accent-violet) 28%, var(--surface-panel));
    --_epic-bg-active: color-mix(in srgb, var(--accent-violet) 34%, var(--surface-panel));
}

@media (prefers-color-scheme: light) {
    :root:not([data-theme]) .gc-event-card-epic-pill {
        --_epic-bg: color-mix(in srgb, var(--accent-violet) 20%, var(--surface-panel));
        --_epic-bg-hover: color-mix(in srgb, var(--accent-violet) 28%, var(--surface-panel));
        --_epic-bg-active: color-mix(in srgb, var(--accent-violet) 34%, var(--surface-panel));
    }
}

.gc-event-card-epic-lead {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: var(--space-1);
    flex-shrink: 0;
}

.gc-event-card-epic-icon {
    font-size: var(--font-size-20);
    line-height: 1;
    flex-shrink: 0;
}

.gc-event-card-epic-label {
    flex-shrink: 0;
}

.gc-event-card-epic-name {
    min-width: 0;
}

.gc-event-card-epic-caret {
    flex-shrink: 0;
    font-size: var(--font-size-base);
    line-height: 1;
    opacity: 0.9;
}

/* ─── Dev showcase: /dev/event-index-cards ─────────────────────────────── */

.event-index-card-showcase {
    display: flex;
    flex-direction: column;
    gap: var(--space-8);
    padding-block: var(--space-6);
    max-width: var(--layout-event-main-max-width);
}

.event-index-card-showcase__hero .gc-panel-content {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

.event-index-card-showcase__title {
    margin: 0;
    font-size: var(--font-size-24);
    font-weight: 600;
    line-height: calc(32 / 24);
    color: var(--text-primary);
}

.event-index-card-showcase__lead,
.event-index-card-showcase__meta {
    margin: 0;
    font-size: var(--font-size-14);
    line-height: calc(20 / 14);
    color: var(--text-secondary);
}

.event-index-card-showcase__lead a {
    color: var(--accent-link);
}

.event-index-card-showcase__section {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
}

.event-index-card-showcase__section-head {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
}

.event-index-card-showcase__section-title {
    margin: 0;
    font-size: var(--font-size-18);
    font-weight: 600;
    line-height: calc(26 / 18);
    color: var(--text-primary);
}

.event-index-card-showcase__section-desc,
.event-index-card-showcase__section-figma {
    margin: 0;
    font-size: var(--font-size-14);
    line-height: calc(20 / 14);
    color: var(--text-secondary);
}

.event-index-card-showcase__stack {
    width: 100%;
    max-width: 611px;
}

.event-index-card-showcase__stack--adaptive {
    max-width: 375px;
    padding: var(--space-3);
    border-radius: var(--radius-16);
    background: var(--surface-primary);
    box-sizing: border-box;
}

.event-index-card-showcase__card-label {
    margin: var(--space-2) 0 0;
    font-size: var(--font-size-12);
    font-weight: 500;
    line-height: calc(16 / 12);
    color: var(--text-secondary);
}

.event-index-card-showcase__card-label:first-child {
    margin-top: 0;
}

.event-index-card-showcase .gc-event-index-card--interactive {
    cursor: default;
}

/* ─── Event card v2 / v2.1 — shared tokens + interactive hover ───────────── */
/*
 * Placeholder: лёгкий mix surface (как v1 --gc-event-index-card-surface).
 * Photo overlay — Figma 1724:4974: fill-emphasis 20% → 80%.
 */

.gc-event-index-card--v2,
.gc-event-index-card--v2-1 {
    --gc-event-index-card-v2-surface: var(--gc-event-card-surface);
    --gc-event-index-card-v2-ring: var(--surface-canvas);
    --gc-event-index-card-v2-overlay-top: rgb(from var(--fill-emphasis) r g b / 0.2);
    --gc-event-index-card-v2-overlay-bottom: rgb(from var(--fill-emphasis) r g b / 0.8);
}

/* Figma event-card-v2.1 (1724:5161) — centralized typography v2 / v2.1 */
:is(.gc-event-index-card-v2__date-day, .gc-event-index-card-v2-1__date-day) {
    font-size: var(--gc-event-card-date-day-size);
    font-weight: var(--gc-event-card-date-day-weight);
    line-height: var(--gc-event-card-date-day-line-height);
}

/* v2.1: время сверху (главное), день недели снизу (вторичный) */
.gc-event-index-card-v2-1__date-schedule {
    font-size: var(--gc-event-card-secondary-size);
    font-weight: var(--gc-event-card-secondary-weight);
    line-height: var(--gc-event-card-secondary-line-height);
}

.gc-event-index-card-v2-1__date-day,
.gc-event-index-card-v2-1__date-meta,
.gc-event-index-card-v2-1__meta {
    font-size: var(--gc-event-card-secondary-size);
    font-weight: var(--gc-event-card-secondary-weight);
    line-height: var(--gc-event-card-secondary-line-height);
}

:is(.gc-event-index-card-v2__date-meta) {
    font-size: var(--gc-event-card-secondary-size);
    font-weight: var(--gc-event-card-secondary-weight);
    line-height: var(--gc-event-card-secondary-line-height);
}

:is(
    .gc-event-index-card-v2__date-weekday,
    .gc-event-index-card-v2__date-schedule,
    .gc-event-index-card-v2-1__date-weekday
) {
    font: inherit;
    color: inherit;
}

:is(.gc-event-index-card-v2__price, .gc-event-index-card-v2-1__price) {
    font-size: var(--gc-event-card-price-size);
    font-weight: var(--gc-event-card-price-weight);
    line-height: var(--gc-event-card-price-line-height);
}

:is(
    .gc-event-index-card-v2__head:has(.gc-event-index-card-v2__media-cover) .gc-event-index-card-v2__price,
    .gc-event-index-card-v2-1__surface--photo .gc-event-index-card-v2-1__price,
    .gc-event-index-card-v2-1__card--photo .gc-event-index-card-v2-1__price,
    .gc-event-index-card--v2-1-grid .gc-event-index-card-v2-1__price
) {
    font-size: var(--gc-event-card-price-emphasis-size);
    line-height: var(--gc-event-card-price-emphasis-line-height);
    opacity: 1;
}

:is(.gc-event-index-card-v2__context, .gc-event-index-card-v2-1__context) {
    font-size: var(--gc-event-card-context-size);
    line-height: var(--gc-event-card-context-line-height);
}

:is(.gc-event-index-card-v2__title, .gc-event-index-card-v2-1__title) {
    font-size: var(--gc-event-card-title-size);
    font-weight: var(--gc-event-card-title-weight);
    line-height: var(--gc-event-card-title-line-height);
}

@media (hover: hover) and (pointer: fine) {
    @media (min-width: 1280px) and (hover: hover) and (pointer: fine) {
    .gc-event-index-card--interactive:is(.gc-event-index-card--v2, .gc-event-index-card--v2-1):hover:not(:has(.gc-event-index-card-v2-1__linked-chips:hover)) {
        --gc-event-index-card-v2-surface: var(--surface-interaction-row-hover);
        --gc-event-index-card-v2-ring: var(--surface-page);
        --gc-event-index-card-v2-overlay-top: rgb(from var(--fill-emphasis) r g b / 0.28);
        --gc-event-index-card-v2-overlay-bottom: rgb(from var(--fill-emphasis) r g b / 0.88);
    }
    }

    @media (min-width: 1280px) and (hover: hover) and (pointer: fine) {

    .gc-event-index-card--interactive:is(.gc-event-index-card--v2-1):not(:has(.gc-card-glow-shell--event-index)):hover:not(:has(.gc-event-index-card-v2-1__linked-chips:hover)) .gc-event-index-card-v2-1__surface {
        border-color: var(--border-default);
    }
    }

    @media (min-width: 1280px) and (hover: hover) and (pointer: fine) {

    .gc-event-index-card--interactive:is(.gc-event-index-card--v2, .gc-event-index-card--v2-1):hover:not(:has(.gc-event-index-card-v2-1__linked-chips:hover)) :is(
        .gc-event-index-card-v2__media-cover,
        .gc-event-index-card-v2-1__media-cover
    ) {
        filter: brightness(0.88);
        transform: scale(1.03);
    }
    }

    /* Полоса + surface: без scale (стык), затемнение обложки и подсветка тега — как у weapon-card-link */
    @media (min-width: 1280px) and (hover: hover) and (pointer: fine) {
    .gc-event-index-card--v2-1-has-status-bar.gc-event-index-card--interactive:hover:not(:has(.gc-event-index-card-v2-1__linked-chips:hover)) :is(
        .gc-event-index-card-v2__media-cover,
        .gc-event-index-card-v2-1__media-cover
    ) {
        filter: brightness(0.88);
        transform: none;
    }
    }

    @media (min-width: 1280px) and (hover: hover) and (pointer: fine) {

    .gc-event-index-card--interactive:is(.gc-event-index-card--v2, .gc-event-index-card--v2-1):hover:not(:has(.gc-event-index-card-v2-1__linked-chips:hover)) .gc-event-index-card-v2__media-placeholder-surface {
        filter: brightness(0.97);
    }
    }
}


.gc-event-index-card--interactive:is(.gc-event-index-card--v2, .gc-event-index-card--v2-1):not(:has(.gc-card-glow-shell--event-index)):focus-within {
    --gc-event-index-card-v2-surface: var(--surface-interaction-row-hover);
    --gc-event-index-card-v2-ring: var(--surface-page);
    --gc-event-index-card-v2-overlay-top: rgb(from var(--fill-emphasis) r g b / 0.28);
    --gc-event-index-card-v2-overlay-bottom: rgb(from var(--fill-emphasis) r g b / 0.88);
}

.gc-event-index-card--interactive:is(.gc-event-index-card--v2, .gc-event-index-card--v2-1):focus-within :is(
    .gc-event-index-card-v2__media-cover,
    .gc-event-index-card-v2-1__media-cover
) {
    filter: brightness(0.88);
    transform: scale(1.03);
}

.gc-event-index-card--v2-1-has-status-bar.gc-event-index-card--interactive:focus-within :is(
    .gc-event-index-card-v2__media-cover,
    .gc-event-index-card-v2-1__media-cover
) {
    filter: brightness(0.88);
    transform: none;
}

.gc-event-index-card--interactive:is(.gc-event-index-card--v2, .gc-event-index-card--v2-1):focus-within .gc-event-index-card-v2__media-placeholder-surface {
    filter: brightness(0.97);
}

.gc-event-index-card-v2-1__surface--placeholder,
.gc-event-index-card-v2__media-placeholder-surface {
    transition:
        background-color var(--transition-fast) var(--ease-in-out),
        filter var(--transition-fast) var(--ease-in-out);
}

/* ─── Event card v2 (legacy split layout) ───────────────────────────────── */

.gc-events-index-cards--v2 {
    gap: var(--space-6);
}

.gc-event-index-card--v2 {
    --gc-event-index-card-v2-aspect: auto;
    --gc-event-index-card-v2-scrim-mid: color-mix(in srgb, var(--fill-emphasis) 40%, var(--fill-emphasis-inverse));
    --gc-event-index-card-v2-scrim-top: var(--gc-event-index-card-v2-overlay-top);
    --gc-event-index-card-v2-scrim-bottom: var(--gc-event-index-card-v2-overlay-bottom);
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-3);
    height: auto;
    min-height: 0;
    max-height: none;
    overflow: visible;
    cursor: pointer;
}

@media (hover: hover) and (pointer: fine) {
    @media (min-width: 1280px) and (hover: hover) and (pointer: fine) {
    .gc-event-index-card--v2:hover .gc-event-index-card-v2__media--author-blur {
        --gc-event-index-card-v2-scrim-top: color-mix(in srgb, var(--gc-event-index-card-v2-scrim-mid) 75%, transparent);
        --gc-event-index-card-v2-scrim-bottom: color-mix(in srgb, var(--fill-emphasis) 75%, transparent);
    }
    }
}

.gc-event-index-card--v2:focus-within .gc-event-index-card-v2__media--author-blur {
    --gc-event-index-card-v2-scrim-top: color-mix(in srgb, var(--gc-event-index-card-v2-scrim-mid) 75%, transparent);
    --gc-event-index-card-v2-scrim-bottom: color-mix(in srgb, var(--fill-emphasis) 75%, transparent);
}

/* Figma 1717:28460 — стопка полосы и surface; overlap — cards.css (.gc-card-strip-overlap) */
.gc-event-index-card-v2__head-stack,
.gc-event-index-card-v2-1__card-shell:has(> .weapon-card-strip-row),
.gc-card-glow-shell--event-index:has(> .weapon-card-strip-row) {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-width: 0;
    position: relative;
    isolation: isolate;
}

.gc-event-index-card-v2__head {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    width: 100%;
    min-width: 0;
    height: auto;
    min-height: 0;
    aspect-ratio: var(--gc-event-index-card-cover-aspect);
    border-radius: var(--radius-16);
    overflow: hidden;
    box-sizing: border-box;
}

@media (min-width: 992px) {
    .gc-event-index-card-v2__head--tinted {
        height: auto;
        min-height: 0;
        aspect-ratio: var(--gc-event-index-card-cover-aspect);
    }
}

.gc-event-index-card-v2__media {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
    background: var(--gc-event-card-surface);
}

/* Figma 1712:24491 — author blur legacy: gray 60% → black 60% */
.gc-event-index-card-v2__media--author-blur {
    --gc-event-index-card-v2-scrim-top: color-mix(in srgb, var(--gc-event-index-card-v2-scrim-mid) 60%, transparent);
    --gc-event-index-card-v2-scrim-bottom: color-mix(in srgb, var(--fill-emphasis) 60%, transparent);
}

.gc-event-index-card-v2__media-cover {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    transition:
        filter var(--transition-fast) var(--ease-in-out),
        transform var(--transition-fast) var(--ease-in-out);
}

.gc-event-index-card-v2__media-placeholder-surface {
    position: absolute;
    inset: 0;
}

.gc-event-index-card-v2__head--tinted :is(
    .gc-event-index-card-v2__head-caption,
    .gc-event-index-card-v2__date-day,
    .gc-event-index-card-v2__date-meta,
    .gc-event-index-card-v2__price
) {
    color: var(--text-on-tint-tinted);
}

.gc-event-index-card-v2__media-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(
        to bottom,
        var(--gc-event-index-card-v2-scrim-top) 0%,
        var(--gc-event-index-card-v2-scrim-bottom) 100%
    );
    transition: background var(--transition-fast) var(--ease-in-out);
}

/* Figma 1712:24491 — author blur: backdrop-blur 44px on overlay */
.gc-event-index-card-v2__media--author-blur .gc-event-index-card-v2__media-overlay {
    backdrop-filter: blur(2.75rem);
    -webkit-backdrop-filter: blur(2.75rem);
}

.gc-event-index-card-v2__head-caption {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--space-2);
    width: 100%;
    min-width: 0;
    padding: var(--space-4);
    box-sizing: border-box;
    color: var(--text-on-solid);
}

.gc-event-index-card-v2__date-block {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-product-2);
    min-width: 0;
}

.gc-event-index-card-v2__date-day {
    margin: 0;
    color: var(--text-on-solid);
    white-space: nowrap;
}

.gc-event-index-card-v2__date-meta {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-1);
    min-width: 0;
    color: var(--text-on-solid);
    opacity: 0.8;
}

.gc-event-index-card-v2__date-weekday,
.gc-event-index-card-v2__date-schedule {
    white-space: nowrap;
}

.gc-event-index-card-v2__price {
    margin: 0;
    flex-shrink: 0;
    color: var(--text-on-solid);
    opacity: 0.8;
    white-space: nowrap;
    text-align: right;
}

.gc-event-index-card-v2__body {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-3);
    min-width: 0;
    width: 100%;
    box-sizing: border-box;
}

.gc-event-index-card-v2__copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-1);
    flex: 1 1 auto;
    min-width: 0;
}

.gc-event-index-card-v2__context {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-1);
    min-width: 0;
    max-width: 100%;
    font-weight: 400;
}

.gc-event-index-card-v2__context-group {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    min-width: 0;
    max-width: 100%;
}

.gc-event-index-card-v2__context-icon {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: var(--radius-full);
}

.gc-event-index-card-v2__context-icon .gc-list-avatar-fallback {
    font-size: var(--font-size-11);
    font-weight: 600;
    line-height: 1;
}

.gc-event-index-card-v2__context-muted {
    color: var(--text-secondary);
    white-space: nowrap;
}

.gc-event-index-card-v2__context-strong {
    color: var(--text-primary);
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
    text-decoration: none;
}

@media (min-width: 1280px) and (hover: hover) and (pointer: fine) {

a.gc-event-index-card-v2__context-strong:hover {
    color: var(--accent-link);
}
}


a.gc-event-index-card-v2__context-strong:focus-visible {
    color: var(--accent-link);
}

a.gc-event-index-card-v2__context-strong:focus-visible {
    outline: var(--gc-focus-outline);
    outline-offset: var(--gc-focus-outline-offset);
}

.gc-event-index-card-v2__title {
    margin: 0;
    width: 100%;
    min-width: 0;
    color: var(--text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.gc-event-index-card-v2__participants {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: var(--space-2);
    flex-shrink: 0;
}

/* v2: переиспользуем gc-avatar-stack + gc-event-index-card__avatars из v1 */
.gc-event-index-card--v2 .gc-event-index-card__avatars {
    padding: var(--space-1);
    margin: calc(var(--space-1) * -1);
}

.gc-event-index-card--v2 .gc-event-index-card__avatars > :is(.gc-img-slot, img, .gc-list-avatar-fallback) {
    box-shadow: 0 0 0 3px var(--gc-event-index-card-v2-ring);
    border: none;
}

.gc-event-index-card--v2 .gc-event-index-card__avatars > .gc-list-avatar-fallback[class*="gc-avatar-tint-"] {
    box-shadow: 0 0 0 3px var(--gc-event-index-card-v2-ring);
}

.gc-event-index-card--v2 .gc-event-index-card__avatars.gc-avatar-stack-static > :is(.gc-img-slot, img, .gc-list-avatar-fallback) {
    margin-left: calc(-1 * var(--space-1));
}

.gc-event-index-card--v2 .gc-event-index-card__avatars.gc-avatar-stack-static > :is(.gc-img-slot, img, .gc-list-avatar-fallback):first-child {
    margin-left: 0;
}

.gc-event-index-card--v2 .gc-event-index-card__avatars.gc-avatar-stack-static > .gc-event-index-card-v2__avatars-more {
    margin-left: calc(-1 * var(--space-1));
    pointer-events: none;
}

.gc-event-index-card-v2__avatars-more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: var(--space-8);
    height: var(--space-8);
    margin-left: calc(-1 * var(--space-1));
    border-radius: var(--radius-full);
    box-sizing: border-box;
    box-shadow: 0 0 0 3px var(--gc-event-index-card-v2-ring);
    background: var(--surface-control);
    font-size: var(--type-ui-caption-size);
    font-weight: 400;
    line-height: var(--type-ui-caption-line-height);
    color: var(--text-secondary);
    transition: box-shadow var(--transition-fast) var(--ease-in-out);
}

.gc-event-index-card-v2__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-2);
    margin-top: var(--space-1);
}

.gc-event-index-card-v2__actions--compact {
    margin-top: 0;
}

@media (prefers-reduced-motion: reduce) {
    .gc-event-index-card-v2__media-cover,
    .gc-event-index-card-v2__media-overlay,
    .gc-event-index-card-v2-1__media-cover,
    .gc-event-index-card-v2-1__media-overlay,
    .gc-event-index-card-v2-1__surface--placeholder,
    .gc-event-index-card-v2__media-placeholder-surface {
        transition: none;
    }

    @media (min-width: 1280px) and (hover: hover) and (pointer: fine) {

    .gc-event-index-card--interactive:is(.gc-event-index-card--v2, .gc-event-index-card--v2-1):hover :is(
        .gc-event-index-card-v2__media-cover,
        .gc-event-index-card-v2-1__media-cover
    ) {
        filter: none;
        transform: none;
    }
    }


    .gc-event-index-card--interactive:is(.gc-event-index-card--v2, .gc-event-index-card--v2-1):focus-within :is(
        .gc-event-index-card-v2__media-cover,
        .gc-event-index-card-v2-1__media-cover
    ) {
        filter: none;
        transform: none;
    }

    @media (min-width: 1280px) and (hover: hover) and (pointer: fine) {

    .gc-event-index-card--interactive:is(.gc-event-index-card--v2, .gc-event-index-card--v2-1):hover .gc-event-index-card-v2__media-placeholder-surface {
        filter: none;
    }
    }


    .gc-event-index-card--interactive:is(.gc-event-index-card--v2, .gc-event-index-card--v2-1):focus-within .gc-event-index-card-v2__media-placeholder-surface {
        filter: none;
    }

    .gc-event-index-card-v2__media--author-blur .gc-event-index-card-v2__media-overlay {
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }
}

/* ─── Event card v2.1 (Figma event-card-v2.1 — 1724:5161) ── */
/*
 * Surface / media: ≥992 кроп 5:2, <992 слот 16:9. Файл обложки — 16:9.
 * Обложка заполняет слот (object-fit / background-size: cover).
 * Переключение: EVENTS_INDEX_CARD=v2.1 (default) | v2 | v1
 */

.gc-events-index-cards--v2-1 {
    gap: var(--space-6);
}

.gc-event-index-card--v2-1 {
    gap: 0;
    height: auto;
    min-height: 0;
    max-height: none;
    overflow: visible;
}

.gc-event-index-card-v2-1__unit {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-2);
    width: 100%;
    min-width: 0;
}

/*
 * Press scale — только fine pointer: primary-link лежит внутри __unit, и scale на touch
 * сжимает hit-area под пальцем (tap пропадает). На адаптиве — surface :active ниже.
 */
@media (hover: hover) and (pointer: fine) {
    .gc-event-index-card--interactive:is(.gc-event-index-card--v2-1) .gc-event-index-card-v2-1__unit {
        transition-property: transform;
        transition-duration: var(--transition-fast);
        transition-timing-function: cubic-bezier(0.2, 0, 0, 1);
    }

    .gc-event-index-card--interactive:is(.gc-event-index-card--v2-1):has(.gc-event-index-card-v2-1__primary-link:active) .gc-event-index-card-v2-1__unit {
        transform: scale(0.96);
    }
}

html.gc-touch-scrolling .gc-event-index-card--interactive:is(.gc-event-index-card--v2-1):has(.gc-event-index-card-v2-1__primary-link:active) .gc-event-index-card-v2-1__unit {
    transform: none;
}

@media (prefers-reduced-motion: reduce) {
    .gc-event-index-card--interactive:is(.gc-event-index-card--v2-1) .gc-event-index-card-v2-1__unit {
        transition: none;
    }

    .gc-event-index-card--interactive:is(.gc-event-index-card--v2-1):has(.gc-event-index-card-v2-1__primary-link:active) .gc-event-index-card-v2-1__unit {
        transform: none;
    }
}

.gc-event-index-card-v2-1__linked-chips {
    width: 100%;
    min-width: 0;
}

.gc-event-index-card-v2-1__linked-chips .gc-chip-group {
    width: 100%;
}

/* Figma 1755:10628 — grid-карточка «Сообщества приглашают» */
.gc-event-index-card--v2-1-grid .gc-event-index-card-v2-1__context-rail {
    width: 100%;
    min-width: 0;
    color: var(--text-primary);
}

.gc-event-index-card--v2-1-grid .gc-event-index-card-v2-1__context-rail .gc-event-index-card-v2-1__context-muted {
    color: var(--text-primary);
    opacity: 0.6;
}

.gc-event-index-card--v2-1-grid .gc-event-index-card-v2-1__context-rail .gc-event-index-card-v2-1__context-strong {
    color: var(--text-primary);
}

.gc-event-index-card-v2-1__card-shell {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-width: 0;
}

/* Стек: стабильный слот шапки + footer. Overlay-surface (__surface) — legacy Blade.
 * Обложка — атрибут слота (cover + object-fit), высота слота не зависит от наличия фото. */
.gc-event-index-card-v2-1__card {
    background: var(--gc-event-card-surface);
    color: var(--text-primary);
    border: 1px solid var(--border-subtle);
}

.gc-event-index-card-v2-1__card > .gc-card-footer {
    flex: 0 0 auto;
    flex-direction: row;
    align-items: center;
    gap: var(--space-3);
}

/* Один overlay chrome: верх / низ через space-between */
.gc-event-index-card-v2-1__card > .gc-event-index-card-v2-1__media > .gc-event-index-card-v2-1__chrome {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: var(--space-2);
    padding: var(--space-4);
    box-sizing: border-box;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
}

.gc-event-index-card-v2-1__card--photo > .gc-event-index-card-v2-1__media > .gc-event-index-card-v2-1__chrome {
    color: var(--text-on-scrim);
}

.gc-event-index-card-v2-1__card--photo > .gc-event-index-card-v2-1__media > .gc-event-index-card-v2-1__chrome .gc-event-index-card-v2-1__title {
    color: var(--text-on-scrim);
}

/* Native card link sits below independently clickable byline controls. */
.gc-event-index-card-v2-1__primary-link {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: auto;
    border-radius: inherit;
}

.gc-event-index-card-v2-1__primary-link:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: -4px;
}

.gc-event-index-card-v2-1__chrome a,
.gc-event-index-card-v2-1__chrome button,
.gc-event-index-card-v2-1__chrome [data-gc-no-nav] {
    pointer-events: auto;
}

.gc-event-index-card-v2-1__brand {
    flex-shrink: 0;
    display: flex;
    color: inherit;
    text-decoration: none;
}

.gc-event-index-card-v2-1__brand.gc-skeleton {
    border-radius: var(--radius-full);
}

.gc-event-index-card-v2-1__card > .gc-event-index-card-v2-1__media {
    position: relative;
    inset: auto;
    z-index: 0;
    height: auto;
    min-height: 0;
    aspect-ratio: var(--gc-event-index-card-cover-aspect);
    pointer-events: none;
    background: inherit;
}

.gc-event-index-card-v2-1__card--photo > .gc-event-index-card-v2-1__media {
    background: var(--fill-emphasis);
}

.gc-event-index-card-v2-1__card > .gc-event-index-card-v2-1__media > .gc-event-index-card-v2-1__media-overlay {
    z-index: 1;
}

/* Visit-скелет / Fill-кость — под chrome (2), не поверх byline и facepile */
.gc-event-index-card-v2-1__card > .gc-event-index-card-v2-1__media > .gc-img-bone {
    z-index: 0;
}

/* Legacy absolute top — только если top не внутри chrome (Blade / старые скелеты) */
.gc-event-index-card-v2-1__card > .gc-event-index-card-v2-1__media > .gc-event-index-card-v2-1__top {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 2;
    padding: var(--space-4);
}

.gc-event-index-card-v2-1__card--photo > .gc-event-index-card-v2-1__media > .gc-event-index-card-v2-1__top {
    color: var(--text-on-solid);
}

/* Legacy absolute bottom — Blade classic без __chrome */
.gc-event-index-card-v2-1__card > .gc-event-index-card-v2-1__media > .gc-event-index-card-v2-1__bottom {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
    padding: var(--space-4);
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    gap: var(--space-2);
}

.gc-event-index-card-v2-1__card--photo > .gc-event-index-card-v2-1__media > .gc-event-index-card-v2-1__bottom {
    color: var(--text-on-scrim);
}

.gc-event-index-card-v2-1__card--photo > .gc-event-index-card-v2-1__media > .gc-event-index-card-v2-1__bottom .gc-event-index-card-v2-1__title {
    color: var(--text-on-scrim);
}

.gc-event-index-card-v2-1__chrome > .gc-event-index-card-v2-1__top,
.gc-event-index-card-v2-1__chrome > .gc-event-index-card-v2-1__bottom {
    position: relative;
    inset: auto;
    padding: 0;
    z-index: 0;
}

.gc-event-index-card--v2-1-grid .gc-event-index-card-v2-1__card > .gc-event-index-card-v2-1__media {
    height: auto;
    min-height: 0;
    aspect-ratio: var(--gc-event-index-card-cover-aspect);
}

.gc-event-index-card-v2-1__card .gc-event-index-card-v2-1__title {
    color: var(--text-primary);
    line-height: var(--line-height-list-description);
    min-height: 0;
}

.gc-event-index-card-v2-1__card .gc-event-index-card-v2-1__context {
    line-height: var(--line-height-list-description);
}

.gc-event-index-card-v2-1__card .gc-event-index-card-v2-1__context-strong {
    color: var(--text-secondary);
    font-weight: 400;
    line-height: inherit;
}

.gc-event-index-card-v2-1__card--placeholder .gc-event-index-card-v2-1__date-day,
.gc-event-index-card-v2-1__card--placeholder .gc-event-index-card-v2-1__date-schedule,
.gc-event-index-card-v2-1__card--placeholder .gc-event-index-card-v2-1__price {
    color: var(--text-primary);
}

.gc-event-index-card-v2-1__card .gc-event-index-card-v2-1__context-muted {
    color: var(--text-secondary);
}

.gc-event-index-card-v2-1__surface {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 100%;
    min-width: 0;
    height: auto;
    min-height: 0;
    aspect-ratio: var(--gc-event-index-card-cover-aspect);
    padding: var(--space-4);
    border-radius: var(--radius-16);
    overflow: hidden;
    box-sizing: border-box;
    background: var(--gc-event-index-card-v2-surface);
    border: 1px solid var(--border-subtle);
}

/*
 * Canvas contract: карточки на page — --gc-event-card-surface (Surface/Secondary)
 * + Border/Subtle (как weapon-card-media / Figma list-frame).
 */
.gc-event-index-card:not(.gc-event-index-card--v2):not(.gc-event-index-card--v2-1) :is(
    .gc-event-index-card__date:not(.gc-event-index-card__date--cover),
    .gc-event-index-card__body
) {
    border: none;
}

.gc-event-index-card--v2 .gc-event-index-card-v2__head {
    border: none;
}

/* Photo cover — fill-emphasis; рамка как у плейсхолдера (list-frame) */
.gc-event-index-card-v2-1__surface--photo {
    background: var(--fill-emphasis);
    color: var(--text-on-solid);
    border-color: var(--border-subtle);
}

/* Лента профиля / оружия — embed в feed group (Figma 1829:8265) — см. profile-widgets.css */

.gc-event-index-card-v2-1__surface--placeholder {
    color: var(--text-primary);
}

.gc-event-index-card-v2-1__media {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
    pointer-events: none;
    background: var(--fill-emphasis);
}

.gc-event-index-card-v2-1__media-cover {
    isolation: isolate;
    position: absolute;
    inset: 0;
    background-color: var(--fill-emphasis);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    transition-property: filter, transform;
    transition-duration: var(--transition-fast);
    transition-timing-function: cubic-bezier(0.2, 0, 0, 1);
}

.gc-event-index-card-v2-1__media-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to bottom,
        var(--gc-event-index-card-v2-overlay-top) 0%,
        var(--gc-event-index-card-v2-overlay-bottom) 100%
    );
    transition: background var(--transition-fast) var(--ease-in-out);
}

.gc-event-index-card-v2-1__top,
.gc-event-index-card-v2-1__bottom {
    position: relative;
    z-index: 1;
    display: flex;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.gc-event-index-card-v2-1__top {
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: var(--space-2);
}

.gc-event-index-card-v2-1__top-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-2);
    min-width: 0;
    width: 100%;
}

.gc-event-index-card-v2-1__top-row > .gc-event-index-card-v2-1__format-badge {
    flex-shrink: 0;
    align-self: flex-start;
}

.gc-event-index-card--v2-1 .gc-event-index-card-v2-1__format-badge.gc-badge-discipline {
    --gc-badge-min-height: 22px;
    --gc-badge-pad-y: 3px;
}

.gc-event-index-card-v2-1__top-spacer {
    flex: 1 1 auto;
    min-width: 0;
}

/* Byline = аватар + имя (GcPost.Header) */
.gc-event-index-card-v2-1__byline {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    min-width: 0;
    flex: 0 1 auto;
    color: inherit;
    text-decoration: none;
}

.gc-event-index-card-v2-1__byline-avatar {
    flex-shrink: 0;
    transition-property: filter;
    transition-duration: var(--transition-fast);
    transition-timing-function: cubic-bezier(0.2, 0, 0, 1);
}

@media (hover: hover) and (pointer: fine) {
    a.gc-event-index-card-v2-1__byline:is(:hover, :focus-visible) .gc-event-index-card-v2-1__byline-avatar {
        filter: brightness(0.85);
    }
}

a.gc-event-index-card-v2-1__byline:is(:hover, :focus-visible) .gc-event-index-card-v2-1__byline-name {
    color: var(--accent-link);
    text-decoration: none;
}

a.gc-event-index-card-v2-1__byline:focus-visible {
    outline: var(--gc-focus-outline);
    outline-offset: var(--gc-focus-outline-offset);
}

.gc-event-index-card-v2-1__byline-name {
    margin: 0;
    font-size: var(--font-size-14);
    font-weight: 500;
    line-height: 1.3;
    color: inherit;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.gc-event-index-card-v2-1__card--photo .gc-event-index-card-v2-1__byline-name {
    color: var(--text-on-scrim);
}

.gc-event-index-card-v2-1__bottom {
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-end;
    gap: var(--space-3);
    min-width: 0;
}

/* Цена + название — одна группа (меньше gap, чем до даты) */
.gc-event-index-card-v2-1__bottom > .gc-event-index-card-v2-1__headline {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-1);
    min-width: 0;
    width: 100%;
}

.gc-event-index-card-v2-1__chrome > .gc-event-index-card-v2-1__top,
.gc-event-index-card-v2-1__chrome > .gc-event-index-card-v2-1__bottom {
    z-index: 2;
}

.gc-event-index-card-v2-1__headline > .gc-event-index-card-v2-1__price {
    margin: 0;
    text-align: left;
}


.gc-event-index-card-v2-1__headline > .gc-event-index-card-v2-1__title {
    width: 100%;
    min-width: 0;
    font-size: var(--font-size-18);
    line-height: var(--type-heading-h3-line-height);
}

.gc-event-index-card-v2-1__top-row > .gc-event-index-card-v2-1__format-badge {
    flex-shrink: 0;
    align-self: flex-start;
}

/* Дата слева, facepile справа на одной линии */
.gc-event-index-card-v2-1__meta-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-2);
    min-width: 0;
    width: 100%;
}

.gc-event-index-card-v2-1__meta-row > .gc-event-index-card-v2-1__date-block {
    flex: 0 1 auto;
    min-width: 0;
}

.gc-event-index-card-v2-1__meta-row > .gc-event-index-card-v2-1__participants-rail {
    flex-shrink: 0;
    margin-inline-start: auto;
}

/* Чипы в chrome: одна строка, лишнее обрезаем (+N в JSX) */
.gc-event-index-card-v2-1__chrome .gc-event-index-card-v2-1__weapon-chips {
    flex-wrap: nowrap;
    width: auto;
    max-width: 100%;
    overflow: hidden;
}

.gc-event-index-card-v2-1__weapon-chip--more {
    flex-shrink: 0;
}

@media (max-width: 991.98px) {
    .gc-event-index-card {
        --gc-event-index-card-cover-aspect: 16 / 9;
        --gc-event-index-card-grid-aspect: 16 / 9;
    }

    .gc-event-index-card-v2-1__headline > .gc-event-index-card-v2-1__title {
        font-size: var(--font-size-15);
        line-height: var(--type-body-line-height);
    }

    .gc-event-index-card-v2-1__card > .gc-event-index-card-v2-1__media > .gc-event-index-card-v2-1__chrome {
        padding: var(--space-3);
        gap: var(--space-1-5);
    }

    .gc-event-index-card-v2-1__chrome .gc-event-index-card-v2-1__bottom {
        gap: var(--space-2-5);
    }

    .gc-event-index-card--v2-1-grid .gc-event-index-card-v2-1__meta-row > .gc-event-index-card-v2-1__participants-rail {
        display: none;
    }
}

.gc-event-index-card--v2-1-grid .gc-event-index-card-v2-1__byline-name {
    font-size: var(--font-size-13);
}

.gc-event-index-card--v2-1-grid .gc-event-index-card-v2-1__bottom > .gc-event-index-card-v2-1__date-block .gc-event-index-card-v2-1__date-text {
    display: none;
}

.gc-event-index-card--v2-1-grid .gc-event-index-card-v2-1__chrome .gc-event-index-card-v2-1__weapon-chips {
    max-width: 100%;
}

.gc-event-index-card-v2-1__date-block {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: var(--space-2);
    min-width: 0;
}

.gc-event-index-card-v2-1__date-media {
    flex-shrink: 0;
}

/* Дата карточки: крупнее base; border/shadow — канон lists.css. */
.gc-event-index-card-v2-1__date-block .gc-event-index-card-v2-1__date-media.gc-list-media-date,
.gc-event-index-card-v2-1__date-block .gc-event-index-card-v2-1__date-media.gc-list-media-date-range {
    --gc-list-media-size: calc(var(--gc-list-media-size-base) + var(--space-2));
    width: var(--gc-list-media-size);
    min-width: var(--gc-list-media-size);
    height: var(--gc-list-media-size);
}

.gc-event-index-card-v2-1__date-block .gc-event-index-card-v2-1__date-media.gc-list-media-date-range {
    width: auto;
}

/* На обложке сохраняем контрастную стеклянную подложку без блика.
   Кость даты (.gc-skeleton) — обычный shimmer kit, не тёмное стекло. */
.gc-event-index-card-v2-1__surface--photo .gc-event-index-card-v2-1__date-block .gc-event-index-card-v2-1__date-media:not(.gc-skeleton),
.gc-event-index-card-v2-1__card--photo .gc-event-index-card-v2-1__date-block .gc-event-index-card-v2-1__date-media:not(.gc-skeleton) {
    background: color-mix(in srgb, var(--fill-emphasis) 52%, transparent);
    color: var(--text-on-scrim);
    border-color: color-mix(in srgb, var(--fill-emphasis-inverse) 28%, transparent);
}

.gc-event-index-card-v2-1__surface--photo .gc-event-index-card-v2-1__date-media .gc-list-media-date__month,
.gc-event-index-card-v2-1__surface--photo .gc-event-index-card-v2-1__date-media .gc-list-media-date-range__sep,
.gc-event-index-card-v2-1__card--photo .gc-event-index-card-v2-1__date-media .gc-list-media-date__month,
.gc-event-index-card-v2-1__card--photo .gc-event-index-card-v2-1__date-media .gc-list-media-date-range__sep {
    color: var(--text-on-scrim-muted);
}

.gc-event-index-card-v2-1__date-text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1px;
    min-width: 0;
}

.gc-event-index-card-v2-1__date-day {
    margin: 0;
    color: inherit;
    opacity: 0.8;
    white-space: nowrap;
}

.gc-event-index-card-v2-1__card--placeholder .gc-event-index-card-v2-1__date-day--weekday {
    font-size: var(--font-size-13);
    color: var(--text-secondary);
    opacity: 1;
}

.gc-event-index-card-v2-1__date-schedule {
    margin: 0;
    color: inherit;
    white-space: nowrap;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Grid 244px: расписание переносится рядом с плиткой, не наезжает на цену справа */
.gc-event-index-card--v2-1-grid .gc-event-index-card-v2-1__date-schedule {
    white-space: normal;
}

.gc-event-index-card-v2-1__date-meta {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-1);
    min-width: 0;
    color: inherit;
    opacity: 0.8;
}

.gc-event-index-card-v2-1__price {
    margin: 0;
    flex-shrink: 0;
    color: inherit;
    opacity: 0.8;
    white-space: nowrap;
    text-align: right;
}

.gc-event-index-card-v2-1__copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    flex: 1 1 auto;
    min-width: 0;
}

.gc-event-index-card-v2-1__card .gc-event-index-card-v2-1__copy {
    flex: 1 1 auto;
    min-width: 0;
}

.gc-event-index-card-v2-1__context {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-1);
    min-width: 0;
    max-width: 100%;
    font-weight: 400;
}

.gc-event-index-card-v2-1__context-group {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    flex: 1 1 0;
    min-width: 0;
    max-width: 100%;
}

/* Контекст остаётся одной строкой на карточках с обложкой и без неё. */
.gc-event-index-card-v2-1__context {
    width: 100%;
    flex-wrap: nowrap;
}

.gc-event-index-card-v2-1__context-muted {
    flex-shrink: 0;
}

.gc-event-index-card-v2-1__context-badge,
.gc-event-index-card-v2-1__format-badge {
    flex-shrink: 0;
    align-self: center;
}

/* Kind-mark на обложке: не перекрашивать стеклом weapon-chip */
.gc-event-index-card-v2-1__card--photo .gc-event-index-card-v2-1__format-badge.gc-badge-discipline,
.gc-event-index-card-v2-1__surface--photo .gc-event-index-card-v2-1__format-badge.gc-badge-discipline {
    background: var(--tint-amber);
    color: var(--text-on-solid-inverse);
}

html[data-theme='light'] .gc-event-index-card-v2-1__card--photo .gc-event-index-card-v2-1__format-badge.gc-badge-discipline,
html[data-theme='light'] .gc-event-index-card-v2-1__surface--photo .gc-event-index-card-v2-1__format-badge.gc-badge-discipline {
    color: var(--text-on-solid);
}

.gc-event-index-card-v2-1__card--photo .gc-event-index-card-v2-1__format-badge.gc-badge-discipline--epic,
.gc-event-index-card-v2-1__surface--photo .gc-event-index-card-v2-1__format-badge.gc-badge-discipline--epic {
    background: var(--tint-violet);
    color: var(--text-on-solid);
}

.gc-event-index-card-v2-1__card--photo .gc-event-index-card-v2-1__format-badge.gc-badge-discipline--challenge,
.gc-event-index-card-v2-1__surface--photo .gc-event-index-card-v2-1__format-badge.gc-badge-discipline--challenge {
    background: var(--tint-earth-terra);
    color: var(--text-on-solid);
}

.gc-event-index-card-v2-1__context-icon {
    position: relative;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: calc(var(--space-4) + var(--space-1));
    height: calc(var(--space-4) + var(--space-1));
    overflow: hidden;
    border-radius: var(--radius-full);
    background: var(--surface-control);
}

.gc-event-index-card-v2-1__context-icon img,
.gc-event-index-card-v2-1__context-icon .gc-list-avatar-fallback {
    width: 100%;
    height: 100%;
    font-size: var(--font-size-11);
    font-weight: 600;
    line-height: 1;
}

.gc-event-index-card-v2-1__surface--photo .gc-event-index-card-v2-1__context-muted {
    color: inherit;
    opacity: 0.6;
}

.gc-event-index-card-v2-1__surface--placeholder .gc-event-index-card-v2-1__context-muted {
    color: var(--text-secondary);
}

.gc-event-index-card-v2-1__context-strong {
    min-width: 0;
    color: inherit;
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
    text-decoration: none;
}

a.gc-event-index-card-v2-1__byline:is(:hover, :focus-visible) .gc-event-index-card-v2-1__byline-name {
    color: var(--accent-link);
    text-decoration: none;
}

a.gc-event-index-card-v2-1__byline:focus-visible {
    outline: var(--gc-focus-outline);
    outline-offset: var(--gc-focus-outline-offset);
}

a.gc-event-index-card-v2-1__context-group--interactive {
    text-decoration: none;
    color: inherit;
    cursor: pointer;
    transition: color var(--transition-fast);
}

@media (min-width: 1280px) and (hover: hover) and (pointer: fine) {

a.gc-event-index-card-v2-1__context-group--interactive:hover .gc-event-index-card-v2-1__context-strong {
    color: var(--accent-link);
}
}


a.gc-event-index-card-v2-1__context-group--interactive:focus-visible .gc-event-index-card-v2-1__context-strong {
    color: var(--accent-link);
}

a.gc-event-index-card-v2-1__context-strong {
    text-decoration: none;
}

@media (min-width: 1280px) and (hover: hover) and (pointer: fine) {

a.gc-event-index-card-v2-1__context-strong:hover {
    color: var(--accent-link);
}
}


a.gc-event-index-card-v2-1__context-strong:focus-visible {
    color: var(--accent-link);
}

a.gc-event-index-card-v2-1__context-group--interactive:focus-visible,
a.gc-event-index-card-v2-1__context-strong:focus-visible {
    outline: var(--gc-focus-outline);
    outline-offset: var(--gc-focus-outline-offset);
}

@media (min-width: 1280px) and (hover: hover) and (pointer: fine) {

.gc-event-index-card-v2-1__surface--placeholder a.gc-event-index-card-v2-1__context-group--interactive:hover .gc-event-index-card-v2-1__context-strong,

.gc-event-index-card-v2-1__surface--placeholder a.gc-event-index-card-v2-1__context-strong:hover {
    color: var(--accent-link);
}
}


.gc-event-index-card-v2-1__surface--placeholder a.gc-event-index-card-v2-1__context-group--interactive:focus-visible .gc-event-index-card-v2-1__context-strong,

.gc-event-index-card-v2-1__surface--placeholder a.gc-event-index-card-v2-1__context-strong:focus-visible {
    color: var(--accent-link);
}

.gc-event-index-card-v2-1__surface--placeholder .gc-event-index-card-v2-1__context-strong {
    color: var(--text-primary);
}

.gc-event-index-card-v2-1__title {
    margin: 0;
    width: 100%;
    min-width: 0;
    min-height: var(--gc-event-card-title-line-height);
    color: inherit;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.gc-event-index-card-v2-1__participants-rail {
    flex-shrink: 0;
    margin-inline-start: auto;
}

/* Facepile в футере: кольцо = фон карточки, на ховере следует за карточкой */
.gc-event-index-card--v2-1 {
    --gc-event-index-card-v2-1-avatar-ring: var(--gc-event-card-surface);
}

.gc-event-index-card--v2-1 .gc-event-index-card-v2-1__card--photo {
    --gc-event-index-card-v2-1-avatar-ring: var(--fill-emphasis);
}

.gc-event-index-card--v2-1 .gc-event-index-card__avatars {
    padding: var(--space-1);
    margin: calc(var(--space-1) * -1);
}

.gc-event-index-card--v2-1 .gc-event-index-card__avatars > :is(.gc-img-slot, img, .gc-list-avatar-fallback) {
    box-shadow: 0 0 0 3px var(--gc-event-index-card-v2-1-avatar-ring);
    border: none;
}

.gc-event-index-card--v2-1 .gc-event-index-card__avatars > .gc-list-avatar-fallback[class*="gc-avatar-tint-"] {
    box-shadow: 0 0 0 3px var(--gc-event-index-card-v2-1-avatar-ring);
}

.gc-event-index-card--v2-1 .gc-event-index-card__avatars.gc-avatar-stack-static > :is(.gc-img-slot, img, .gc-list-avatar-fallback) {
    margin-left: calc(-1 * var(--space-1));
}

.gc-event-index-card--v2-1 .gc-event-index-card__avatars.gc-avatar-stack-static > :is(.gc-img-slot, img, .gc-list-avatar-fallback):first-child {
    margin-left: 0;
}

.gc-event-index-card--v2-1 .gc-event-index-card__avatars.gc-avatar-stack-static > .gc-event-index-card-v2-1__avatars-more {
    margin-left: calc(-1 * var(--space-1));
    pointer-events: none;
}

.gc-event-index-card-v2-1__avatars-more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: var(--space-8);
    height: var(--space-8);
    border-radius: var(--radius-full);
    box-sizing: border-box;
    box-shadow: 0 0 0 3px var(--gc-event-index-card-v2-1-avatar-ring);
    background: var(--tint-tinted-neutral);
    font-size: var(--type-ui-caption-size);
    font-weight: 400;
    line-height: var(--type-ui-caption-line-height);
    color: var(--text-secondary);
}

/* ─── Epic catalog: card + linked events (Figma 1766:10840) ─────────────── */

.gc-epic-index-card-unit {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-2);
    width: 100%;
    min-width: 0;
    position: relative;
}

.gc-epic-index-card-unit > .gc-event-index-card {
    width: 100%;
}

.gc-epic-index-card-unit > .gc-list-actions {
    position: absolute;
    top: var(--space-2);
    right: var(--space-2);
    z-index: 2;
}

.gc-epic-index-events {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-width: 0;
    border-radius: var(--radius-16);
    overflow: hidden;
}

a.gc-epic-index-event-row.gc-interactive-row {
    display: block;
    padding: var(--space-4);
    border-radius: 0;
    gap: 0;
    background: var(--gc-event-card-surface);
    box-sizing: border-box;
    transition: background var(--transition-fast);
}

@media (min-width: 1280px) and (hover: hover) and (pointer: fine) {

a.gc-epic-index-event-row.gc-interactive-row:hover {
    background: var(--gc-interactive-hover-bg);
    color: var(--text-primary);
    text-decoration: none;
}
}


a.gc-epic-index-event-row.gc-interactive-row:focus-visible {
    background: var(--gc-interactive-hover-bg);
    color: var(--text-primary);
    text-decoration: none;
}

.gc-epic-index-event-row:not(:last-child) {
    border-bottom: 1px solid var(--border-subtle);
}

.gc-epic-index-event-row__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-2);
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.gc-epic-index-event-row__date-block {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-product-2);
    min-width: 0;
}

.gc-epic-index-event-row__date-day {
    margin: 0;
    font-size: var(--gc-event-card-date-day-size);
    font-weight: var(--gc-event-card-date-day-weight);
    line-height: var(--gc-event-card-date-day-line-height);
    color: var(--text-primary);
    white-space: nowrap;
}

.gc-epic-index-event-row__date-meta {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-1);
    min-width: 0;
    font-size: var(--gc-event-card-secondary-size);
    font-weight: var(--gc-event-card-secondary-weight);
    line-height: var(--gc-event-card-secondary-line-height);
    color: var(--text-primary);
    opacity: 0.8;
}

.gc-epic-index-event-row__date-weekday,
.gc-epic-index-event-row__date-schedule {
    white-space: nowrap;
}

.gc-epic-index-event-row__price {
    margin: 0;
    flex-shrink: 0;
    font-size: var(--type-ui-caption-size);
    font-weight: 500;
    line-height: var(--type-ui-caption-line-height);
    color: var(--text-primary);
    opacity: 0.8;
    white-space: nowrap;
    text-align: right;
}

@media (max-width: 991.98px) {
    @media (min-width: 1280px) and (hover: hover) and (pointer: fine) {
    a.gc-epic-index-event-row.gc-interactive-row:hover {
        background: var(--gc-event-card-surface);
    }
    }

    a.gc-epic-index-event-row.gc-interactive-row:focus-visible {
        background: var(--gc-event-card-surface);
    }
}

/* ─── Community section: carousel + event-card-v2.1-grid (Figma 1750:9991) ─ */

.gc-events-index-community-track {
    display: flex;
    gap: var(--space-4);
    overflow-x: auto;
    overflow-y: visible;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-block: var(--space-1);
    align-items: flex-start;
}

.gc-events-index-community-track::-webkit-scrollbar {
    display: none;
}

.gc-events-index-community-track > .gc-event-index-card--v2-1-grid {
    flex: 0 0 calc(85% - var(--space-2));
    min-width: calc(85% - var(--space-2));
    max-width: calc(85% - var(--space-2));
    scroll-snap-align: start;
    height: auto;
    max-height: none;
    align-self: flex-start;
}

.gc-events-index-community-track > .gc-event-index-card--v2-1-grid .gc-event-index-card-v2-1__surface {
    height: auto;
    aspect-ratio: var(--gc-event-index-card-grid-aspect);
}

@media (max-width: 1279.98px) {
    .gc-events-index-community-track {
        --gc-event-index-card-grid-aspect: var(--gc-event-index-card-grid-aspect-adaptive);
    }
}

@media (min-width: 768px) {
    .gc-events-index-community-track > .gc-event-index-card--v2-1-grid {
        flex: 0 0 calc(50% - var(--space-2));
        min-width: calc(50% - var(--space-2));
        max-width: calc(50% - var(--space-2));
    }
}

@media (min-width: 992px) {
    .gc-events-index-community-track > .gc-event-index-card--v2-1-grid {
        flex: 0 0 calc(33.333% - var(--space-3));
        min-width: calc(33.333% - var(--space-3));
        max-width: calc(33.333% - var(--space-3));
    }
}

@media (max-width: 767.98px) {
    .gc-events-index-community-carousel .carousel-nav {
        display: none;
    }
}

.gc-event-index-card-v2-1__copy:has(.gc-event-index-card-v2-1__weapon-chips:not(.gc-event-index-card-v2-1__weapon-chips--media):not(.gc-event-index-card-v2-1__weapon-chips--corner)) {
    gap: var(--space-2);
}

.gc-event-index-card-v2-1__weapon-chips {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: var(--space-1);
    width: 100%;
    min-width: 0;
}

/* Чипы на слоте обложки: слева снизу — формат, затем оружие */
.gc-event-index-card-v2-1__weapon-chips--media,
.gc-event-index-card-v2-1__weapon-chips--corner {
    position: absolute;
    left: var(--space-4);
    right: auto;
    bottom: var(--space-4);
    z-index: 2;
    justify-content: flex-start;
    align-content: flex-start;
    align-items: flex-start;
    width: auto;
    max-width: calc(100% - var(--space-8));
    pointer-events: none;
}

.gc-event-index-card-v2-1__surface:has(.gc-event-index-card-v2-1__weapon-chips--media) .gc-event-index-card-v2-1__copy,
.gc-event-index-card-v2-1__surface:has(.gc-event-index-card-v2-1__weapon-chips--corner) .gc-event-index-card-v2-1__copy {
    max-width: 100%;
    padding-inline-end: 0;
    box-sizing: border-box;
}

.gc-event-index-card-v2-1__weapon-chip,
.gc-briefing-index-card__chip {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    padding: var(--space-1) var(--space-3);
    border-radius: var(--radius-16);
    font-size: var(--type-ui-caption-size);
    font-weight: 400;
    line-height: var(--type-ui-caption-line-height);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.gc-event-index-card-v2-1__weapon-chip.gc-card-glow-shell--pill,
.gc-briefing-index-card__chip.gc-card-glow-shell--pill {
    --gc-card-glow-radius: var(--radius-16);
    font-weight: 500;
    color: var(--text-primary);
    background: var(--surface-subtle);
}

.gc-event-index-card-v2-1__surface--photo .gc-event-index-card-v2-1__weapon-chip.gc-card-glow-shell--pill,
.gc-event-index-card-v2-1__card--photo .gc-event-index-card-v2-1__weapon-chip.gc-card-glow-shell--pill,
.gc-briefing-index-card__media .gc-briefing-index-card__chip.gc-card-glow-shell--pill {
    color: var(--text-on-solid);
    background: color-mix(in srgb, var(--fill-emphasis) 52%, transparent);
    --gc-pill-mark-border: color-mix(in srgb, var(--fill-emphasis-inverse) 14%, transparent);
    --gc-pill-mark-inset: color-mix(in srgb, var(--fill-emphasis-inverse) 8%, transparent);
}

.gc-event-index-card-v2-1__surface--placeholder .gc-event-index-card-v2-1__weapon-chip:not(.gc-card-glow-shell--pill),
.gc-event-index-card-v2-1__card--placeholder .gc-event-index-card-v2-1__weapon-chip:not(.gc-card-glow-shell--pill) {
    color: var(--text-primary);
    background: var(--surface-secondary);
    border: 1px solid var(--border-subtle);
}

html[data-theme='light'] .gc-event-index-card-v2-1__surface--placeholder .gc-event-index-card-v2-1__weapon-chip.gc-card-glow-shell--pill,
html[data-theme='light'] .gc-event-index-card-v2-1__card--placeholder .gc-event-index-card-v2-1__weapon-chip.gc-card-glow-shell--pill {
    color: var(--text-primary);
    background: var(--surface-subtle);
}

/* Event-index catalog — CARD_GLOW.md § Catalog cards; токены в subscriptions.css.
 * Media full-bleed без footer: рамка на card, inset depth на ::after (без второй рамки). */
.gc-card-glow-shell--event-index {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-width: 0;
    border-radius: var(--gc-card-glow-radius);
    overflow: visible;
}

.gc-card-glow-shell--event-index:has(> .gc-event-index-card-v2-1__surface--photo) {
    box-shadow: none;
}

.gc-card-glow-shell--event-index > .weapon-card-strip-row {
    position: relative;
    z-index: 0;
    flex-shrink: 0;
}

.gc-card-glow-shell--event-index > .gc-event-index-card-v2-1__surface {
    position: relative;
    z-index: 1;
    flex: 1 1 auto;
    width: 100%;
    min-width: 0;
    border-color: var(--gc-card-glow-rest-border);
    box-shadow: none;
}

.gc-card-glow-shell--event-index > .gc-event-index-card-v2-1__card {
    position: relative;
    z-index: 1;
    flex: 1 1 auto;
    width: 100%;
    min-width: 0;
    /* Рамка на самой карточке; inset depth — ::after поверх media (без второй рамки) */
    border-color: var(--gc-card-glow-rest-border);
    box-shadow: none;
    overflow: hidden;
}

.gc-card-glow-shell--event-index > .gc-event-index-card-v2-1__card::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 3;
    pointer-events: none;
    border-radius: inherit;
    border: none;
    box-shadow: var(--gc-card-glow-rest-shadow);
    transition: box-shadow var(--gc-card-glow-transition-duration, 85ms) var(--gc-card-glow-transition-ease, var(--ease-in));
}

.gc-card-glow-shell--event-index > .gc-event-index-card-v2-1__surface--placeholder {
    box-shadow: var(--gc-card-glow-rest-shadow);
}

.gc-card-glow-shell--event-index > .gc-event-index-card-v2-1__surface--photo {
    /* fill-emphasis под обложкой: transparent border на чёрном фоне = чёрное кольцо */
    border: none;
    box-shadow: none;
}

.gc-card-glow-shell--event-index > .gc-event-index-card-v2-1__card--photo {
    /* Chromatic rim на фото (better-ui); structural border у glow остаётся на hover. */
    outline: 1px solid color-mix(in srgb, var(--fill-emphasis-inverse) 10%, transparent);
    outline-offset: -1px;
}

@media (hover: hover) and (pointer: fine) {
    @media (min-width: 1280px) and (hover: hover) and (pointer: fine) {
    .gc-event-index-card--interactive:hover:not(:has(.gc-event-index-card-v2-1__linked-chips:hover)) .gc-card-glow-shell--event-index > .gc-event-index-card-v2-1__surface--placeholder {
        background: var(--gc-card-glow-hover-bg);
        border-color: var(--gc-card-glow-hover-border);
        box-shadow: var(--gc-card-glow-hover-shadow);
    }

    /* Placeholder: подсветка плоскости; photo — только dim/scale cover + ::after rim */
    .gc-event-index-card--interactive:hover:not(:has(.gc-event-index-card-v2-1__linked-chips:hover)) .gc-card-glow-shell--event-index > .gc-event-index-card-v2-1__card:not(.gc-event-index-card-v2-1__card--photo) {
        --gc-event-index-card-v2-1-avatar-ring: var(--gc-card-glow-hover-bg);
        background: var(--gc-card-glow-hover-bg);
        border-color: var(--gc-card-glow-hover-border);
    }

    .gc-event-index-card--interactive:hover:not(:has(.gc-event-index-card-v2-1__linked-chips:hover)) .gc-card-glow-shell--event-index > .gc-event-index-card-v2-1__card--photo {
        border-color: var(--gc-card-glow-hover-border);
    }

    .gc-event-index-card--interactive:hover:not(:has(.gc-event-index-card-v2-1__linked-chips:hover)) .gc-card-glow-shell--event-index > .gc-event-index-card-v2-1__card::after {
        box-shadow: var(--gc-card-glow-hover-shadow);
    }
    }

    .gc-event-index-card--interactive:focus-within:not(:has(.gc-event-index-card-v2-1__linked-chips:focus-within)) .gc-card-glow-shell--event-index > .gc-event-index-card-v2-1__surface--placeholder {
        background: var(--gc-card-glow-hover-bg);
        border-color: var(--gc-card-glow-hover-border);
        box-shadow: var(--gc-card-glow-hover-shadow);
    }

    .gc-event-index-card--interactive:focus-within:not(:has(.gc-event-index-card-v2-1__linked-chips:focus-within)) .gc-card-glow-shell--event-index > .gc-event-index-card-v2-1__card:not(.gc-event-index-card-v2-1__card--photo) {
        --gc-event-index-card-v2-1-avatar-ring: var(--gc-card-glow-hover-bg);
        background: var(--gc-card-glow-hover-bg);
        border-color: var(--gc-card-glow-hover-border);
    }

    .gc-event-index-card--interactive:focus-within:not(:has(.gc-event-index-card-v2-1__linked-chips:focus-within)) .gc-card-glow-shell--event-index > .gc-event-index-card-v2-1__card--photo {
        border-color: var(--gc-card-glow-hover-border);
    }

    .gc-event-index-card--interactive:focus-within:not(:has(.gc-event-index-card-v2-1__linked-chips:focus-within)) .gc-card-glow-shell--event-index > .gc-event-index-card-v2-1__card::after {
        box-shadow: var(--gc-card-glow-hover-shadow);
    }

    @media (min-width: 1280px) and (hover: hover) and (pointer: fine) {

    .gc-event-index-card--interactive:hover:not(:has(.gc-event-index-card-v2-1__linked-chips:hover)) .gc-card-glow-shell--event-index > .gc-event-index-card-v2-1__surface--photo {
        border: none;
        box-shadow: none;
    }
    }


    .gc-event-index-card--interactive:focus-within:not(:has(.gc-event-index-card-v2-1__linked-chips:focus-within)) .gc-card-glow-shell--event-index > .gc-event-index-card-v2-1__surface--photo {
        border: none;
        box-shadow: none;
    }
}

.gc-event-index-card--v2-1-grid .gc-event-index-card-v2-1__apply-rail {
    width: 100%;
    flex-shrink: 0;
}

.gc-event-index-card--v2-1-grid .gc-event-index-card-v2-1__apply-btn {
    width: 100%;
    justify-content: center;
    min-height: var(--space-product-40);
}

.gc-event-index-card-v2-1__media--gallery {
    cursor: default;
}

.gc-event-index-card-v2-1__media-gallery-dots {
    position: absolute;
    inset-inline: 0;
    bottom: var(--space-2);
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-1);
    pointer-events: none;
}

/* v2 gallery head (2+ обложки: ивент + эпик) — v2 split + v2.1 grid */

.gc-event-index-card-v2__head--gallery-multi {
    cursor: default;
}

.gc-event-index-card-v2__media-gallery-stack {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.gc-event-index-card-v2__media-gallery-slide {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    opacity: 0;
    transition: opacity var(--transition-fast) var(--ease-in-out);
    pointer-events: none;
}

.gc-event-index-card-v2__media-gallery-slide.is-active {
    opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
    .gc-event-index-card-v2__media-gallery-slide {
        transition: none;
    }
}

.gc-event-index-card-v2__media-gallery-dots {
    position: absolute;
    inset-inline: 0;
    bottom: var(--space-2);
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-1);
    pointer-events: none;
}

.gc-event-index-card-v2__media-gallery-dot {
    width: var(--space-1-5);
    height: var(--space-1-5);
    border-radius: var(--radius-full);
    background: color-mix(in srgb, var(--text-on-scrim) 35%, transparent);
    transition: background-color var(--transition-fast) var(--ease-in-out);
}

.gc-event-index-card-v2__media-gallery-dot.is-active {
    background: var(--text-on-scrim);
}
