/* Events – naegler.hamburg. Restrained, modern, inherits site typography. */

.ev-upcoming { margin: 2.5rem 0; }
.ev-upcoming__title { font-size: 1.25rem; margin: 0 0 1rem; }
.ev-upcoming__list { list-style: none; margin: 0; padding: 0; display: grid; gap: .25rem; }

.ev-item {
    display: grid;
    grid-template-columns: minmax(8.5rem, auto) 1fr;
    gap: .25rem 1.25rem;
    align-items: baseline;
    padding: .85rem 0;
    border-top: 1px solid color-mix(in srgb, currentColor 12%, transparent);
}
.ev-item:last-child { border-bottom: 1px solid color-mix(in srgb, currentColor 12%, transparent); }
.ev-item__date { font-variant-numeric: tabular-nums; opacity: .75; font-size: .95rem; }
.ev-item__name { font-size: 1.05rem; margin: 0; font-weight: 600; }
.ev-item__name a { text-decoration: none; }
.ev-item__name a:hover { text-decoration: underline; }
.ev-item__meta { margin: .25rem 0 0; display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; font-size: .9rem; opacity: .85; }

.ev-badge {
    display: inline-block;
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .02em;
    text-transform: uppercase;
    padding: .12em .55em;
    border-radius: 999px;
    background: color-mix(in srgb, currentColor 10%, transparent);
}
.ev-badge--status { background: #e8452c; color: #fff; }

.ev-dates__sep { margin: 0 .15em; opacity: .6; }

/* Archive – full-width rows grouped by month */
.ev-archive__section { margin: 0 0 3rem; }
.ev-archive__heading { font-size: 1.4rem; margin: 0 0 1.5rem; }
.ev-archive__section--past { opacity: .92; }

.ev-month { margin: 0 0 2rem; }
.ev-month__label {
    font-size: .8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .06em;
    opacity: .55;
    margin: 0 0 .25rem;
}
.ev-table { list-style: none; margin: 0; padding: 0; }

.ev-row { border-top: 1px solid color-mix(in srgb, currentColor 12%, transparent); }
.ev-row:last-child { border-bottom: 1px solid color-mix(in srgb, currentColor 12%, transparent); }
.ev-row__link {
    display: grid;
    grid-template-columns: minmax(10rem, max-content) 1fr minmax(9rem, auto) 1.5rem;
    gap: .5rem 1.5rem;
    align-items: baseline;
    padding: 1rem .5rem;
    color: inherit;
    text-decoration: none;
    transition: background .12s ease;
}
.ev-row__link:hover { background: color-mix(in srgb, currentColor 5%, transparent); }
.ev-row__date { font-variant-numeric: tabular-nums; opacity: .75; font-size: .95rem; }
.ev-row__main { display: flex; flex-wrap: wrap; gap: .5rem .75rem; align-items: baseline; }
.ev-row__name { font-weight: 600; font-size: 1.05rem; }
.ev-row__meta { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.ev-row__place { font-size: .9rem; opacity: .8; text-align: right; }
.ev-row__chevron { opacity: .4; justify-self: end; }
.ev-row__link:hover .ev-row__chevron { opacity: .9; }
.ev-row--cancelled .ev-row__name { text-decoration: line-through; }

@media (max-width: 40rem) {
    .ev-row__link { grid-template-columns: 1fr; gap: .25rem; }
    .ev-row__place { text-align: left; }
    .ev-row__chevron { display: none; }
}

.ev-empty { opacity: .7; font-style: italic; }

/* Detail */
.ev-detail { max-width: 46rem; }
.ev-detail__eyebrow { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; font-size: .95rem; opacity: .8; margin: 0 0 .5rem; }
.ev-detail__title { font-size: clamp(1.8rem, 4vw, 2.6rem); line-height: 1.1; margin: 0 0 .5rem; }
.ev-detail__status { display: inline-block; background: #e8452c; color: #fff; font-weight: 600; padding: .2em .7em; border-radius: 999px; margin: 0 0 1rem; }
.ev-detail__lead { font-size: 1.15rem; opacity: .9; }
.ev-detail__cta { margin: 1.25rem 0; }
.ev-button { display: inline-block; background: #e8452c; color: #fff; text-decoration: none; padding: .6em 1.2em; border-radius: .5rem; font-weight: 600; }
.ev-button:hover { background: color-mix(in srgb, #e8452c 85%, #000); }
.ev-detail__media { margin: 1.5rem 0; }
.ev-detail__media img { width: 100%; height: auto; border-radius: .75rem; }
.ev-detail__text { margin: 1.5rem 0; }

.ev-detail__facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); gap: 1.5rem; margin: 2rem 0; padding: 1.5rem; border-radius: .75rem; background: color-mix(in srgb, currentColor 4%, transparent); }
.ev-fact__title { font-size: .8rem; text-transform: uppercase; letter-spacing: .04em; opacity: .6; margin: 0 0 .5rem; }
.ev-fact__body { margin: 0; line-height: 1.5; }
.ev-fact__link { margin: .5rem 0 0; font-size: .9rem; }

.ev-orglist, .ev-people, .ev-talks, .ev-coverage { list-style: none; margin: 0; padding: 0; }
.ev-orglist__item { display: flex; align-items: center; gap: .5rem; margin: .35rem 0; }
.ev-orglist__logo { border-radius: .25rem; }

.ev-tags { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.ev-tag { font-size: .82rem; padding: .2em .7em; border-radius: 999px; background: color-mix(in srgb, currentColor 10%, transparent); }

.ev-detail__block { margin: 2.5rem 0; }
.ev-detail__blocktitle { font-size: 1.3rem; margin: 0 0 1rem; }

.ev-people__item { display: flex; gap: .85rem; align-items: flex-start; margin: 0 0 1rem; }
.ev-people__avatar { border-radius: 50%; flex: 0 0 auto; }
.ev-people__name { margin: 0; font-weight: 600; }
.ev-people__bio { margin: .2rem 0 0; font-size: .9rem; opacity: .85; }

.ev-talks__item { margin: 0 0 1.25rem; padding: 0 0 1.25rem; border-bottom: 1px solid color-mix(in srgb, currentColor 10%, transparent); }
.ev-talks__title { font-size: 1.05rem; margin: 0; }
.ev-talks__subtitle { margin: .2rem 0 0; opacity: .8; }
.ev-talks__abstract { margin: .5rem 0 0; font-size: .92rem; }
.ev-talks__download { margin: .5rem 0 0; font-size: .9rem; }

.ev-videos { display: grid; grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr)); gap: 1.25rem; }
.ev-videos__frame { position: relative; padding-top: 56.25%; border-radius: .5rem; overflow: hidden; }
.ev-videos__frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.ev-videos__caption { margin: .5rem 0 0; font-size: .9rem; }

.ev-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr)); gap: .75rem; }
.ev-gallery__item { margin: 0; }
.ev-gallery__item img { width: 100%; height: auto; border-radius: .5rem; display: block; }
.ev-gallery__credit { font-size: .75rem; opacity: .6; margin: .25rem 0 0; }

.ev-coverage__item { margin: .4rem 0; }
.ev-coverage__date { opacity: .6; font-size: .85rem; }
