/* ---------- афиша ---------- */
.ev-list{padding:52px 0 112px}

.evs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.ev{
  display:flex;flex-direction:column;gap:10px;padding:30px 30px 26px;
  border-radius:24px;border:var(--edge);
  background:linear-gradient(160deg,rgba(241,234,218,.045),rgba(241,234,218,.012));
  transition:border-color .5s var(--ease),transform .6s var(--ease);
}
.ev:hover{border-color:rgba(217,164,65,.34);transform:translateY(-3px)}
.ev-when{
  font-size:var(--fs-s);letter-spacing:.14em;text-transform:uppercase;font-weight:600;
  color:var(--brass);line-height:1.5;
}
.ev h2{font-size:clamp(22px,2.3vw,28px);line-height:1.2;margin:0;max-width:24ch}
.ev-where{font-size:var(--fs-m);color:var(--green-dim)}
.ev p{font-size:var(--fs-m);line-height:1.6;color:var(--green-dim);margin-top:2px}
.ev-foot{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:auto;padding-top:16px}
.ev-foot b{font-family:var(--display);font-size:22px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.ev-foot i{font-style:normal;font-size:var(--fs-s);color:var(--brass-soft)}
.ev .more{display:inline-flex;align-items:center;gap:8px;margin-left:auto;font-size:var(--fs-m);color:var(--green-dim)}
.ev .more i{font-style:normal;transition:transform .4s var(--ease)}
.ev:hover .more{color:var(--milk)}
.ev:hover .more i{transform:translateX(4px)}

/* ---------- карточка встречи ---------- */
.ev-page{padding:150px 0 40px}
.back{display:inline-block;font-size:var(--fs-m);color:var(--green-dim);margin-bottom:26px}
.back:hover{color:var(--milk)}
.ev-page h1{max-width:22ch;margin:14px 0 26px}
.ev-cover{border-radius:24px;overflow:hidden;margin-bottom:38px;border:var(--edge)}
.ev-cover img{width:100%;height:auto}

.ev-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.75fr);gap:56px;align-items:start}
.ev-body p{margin-bottom:18px;max-width:62ch}
.ev-body h2{font-size:clamp(24px,2.6vw,32px);margin:38px 0 16px}
.caps{list-style:none;display:flex;flex-wrap:wrap;gap:10px}
.caps li{
  font-size:var(--fs-m);padding:8px 16px;border-radius:999px;
  border:1px solid rgba(217,164,65,.28);color:var(--brass-soft);
}

.ev-side{
  position:sticky;top:100px;padding:28px;border-radius:24px;border:var(--edge);
  background:linear-gradient(160deg,rgba(241,234,218,.05),rgba(241,234,218,.014));
}
.facts{margin-bottom:22px}
.facts dt{
  font-size:var(--fs-s);letter-spacing:.14em;text-transform:uppercase;font-weight:600;
  color:var(--brass);margin-top:16px;line-height:1.5;
}
.facts dt:first-child{margin-top:0}
.facts dd{font-size:var(--fs-m);line-height:1.5;margin-top:4px}
.ev-side .btn{width:100%;justify-content:space-between}
.ev-side .btn[aria-disabled]{cursor:default;opacity:.55}
.ev-note{font-size:var(--fs-s);line-height:1.55;color:var(--green-dim);margin-top:14px}

.ev-more{padding:70px 0 112px}
.ev-more > .wrap > h2{margin-bottom:28px}

@media(max-width:900px){
  .evs{grid-template-columns:1fr}
  .ev{padding:24px}
  .ev-page{padding:130px 0 30px}
  .ev-grid{grid-template-columns:1fr;gap:34px}
  .ev-side{position:static}
  .ev-list{padding:38px 0 80px}
  .ev-more{padding:50px 0 80px}
}

/* на карточке дата идёт отдельной строкой — иначе липнет к ссылке «Все события» */
.ev-page .back{display:block}
.ev-page .ev-when{display:block}

/* Текст из админки приходит простыми строками — richText() разбирает его
   в заголовки и списки. Ниже типографика под это. */
.ev-body h3{
  font-family:var(--display);font-weight:500;font-size:clamp(21px,2vw,25px);
  letter-spacing:-.018em;line-height:1.25;margin:34px 0 14px;color:var(--milk);
}
.ev-body h3:first-child{margin-top:0}
.ev-body ul,.ev-body ol{list-style:none;counter-reset:n;margin:0 0 20px;max-width:62ch}
.ev-body li{
  position:relative;padding-left:30px;margin-bottom:12px;
  font-size:var(--fs-m);line-height:1.65;color:var(--green-dim);font-weight:300;
}
.ev-body ul li::before{
  content:'';position:absolute;left:8px;top:11px;width:6px;height:6px;border-radius:50%;
  background:var(--brass);opacity:.75;
}
.ev-body ol li{counter-increment:n}
.ev-body ol li::before{
  content:counter(n);position:absolute;left:0;top:0;
  font-family:var(--display);font-size:var(--fs-m);color:var(--brass);
  font-variant-numeric:tabular-nums;
}
.ev-body li b{color:var(--milk);font-weight:500;display:block;margin-bottom:2px}
.ev-body > p + h3{margin-top:38px}
