/* Цвета — как у сайта: текст #545454, ссылки и акцент #5e74b7, подписи rgba(33,37,41,.75) (.text-muted).
   Внутренние конференции: /events/ (карточки) и /events/{адрес}/ (две колонки) — Areas/Events/Views.
   Строгий вид без ярких плашек; цвета — палитра сайта. Вариант B макета, 02.10.2026. */
.conf-page { background: #f4f5f9; }
.conf-intro { max-width: 760px; margin: 0; color: #545454; line-height: 1.6; }
.conf-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 2rem;
  margin: 1rem 0 1.75rem;
}
.conf-head h1 { margin-bottom: .75rem; }
.conf-tabs { flex-shrink: 0; } /* кнопки — btn-primary / btn-outline-primary сайта */
.conf-section-title { margin: 2.5rem 0 1.1rem; font-size: 1.5rem; font-weight: 500; color: #545454; }
.conf-empty { padding: 1.25rem 1.5rem; background: #fff; border: 1px solid #e3e7f1; color: rgba(33, 37, 41, .75); }

.conf-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem;
}
.conf-card { display: flex; flex-direction: column; background: #fff; border: 1px solid #e3e7f1; }
.conf-card__media { position: relative; display: block; height: 230px; background: #eef1f7; }
.conf-card__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.conf-card__date {
  position: absolute;
  top: 14px;
  left: 14px;
  padding: .45rem .75rem;
  background: #fff;
  color: #5e74b7;
  text-align: center;
  line-height: 1.1;
}
.conf-card__day { display: block; font-size: 1.6rem; font-weight: 600; }
.conf-card__month { display: block; font-size: .8rem; }
.conf-card__body { display: flex; flex-direction: column; gap: .6rem; flex-grow: 1; padding: 1.25rem 1.35rem 1.35rem; }
.conf-card__type { font-size: .78rem; letter-spacing: .05em; text-transform: uppercase; color: rgba(33, 37, 41, .75); }
.conf-card__title { font-size: 1.15rem; font-weight: 600; line-height: 1.35; color: #545454; text-decoration: none; }
.conf-card__title:hover { color: #5065a8; text-decoration: underline; }
.conf-card__meta { font-size: .93rem; line-height: 1.5; color: #545454; }
.conf-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  margin-top: auto;
  padding-top: .75rem;
  border-top: 1px solid #eef1f7;
}
.conf-card__more { padding: .4rem 0; font-size: .93rem; font-weight: 600; color: #5e74b7; text-decoration: none; text-align: right; }
.conf-card__more:hover { color: #5065a8; text-decoration: underline; }
.conf-card--past .conf-card__media img { filter: grayscale(.45); }
.conf-card--past .conf-card__date,
.conf-card--past .conf-card__title { color: rgba(33, 37, 41, .75); }

.conf-status {
  display: inline-block;
  padding: .12rem .5rem;
  border: 1px solid currentColor;
  font-size: .76rem;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  white-space: nowrap;
}
.conf-status--upcoming { color: #5e74b7; }
.conf-status--now { color: #22786d; }
.conf-status--past { color: rgba(33, 37, 41, .75); }

/* Страница конференции */
.conf-title { max-width: 920px; margin: .35rem 0 1.5rem; }
.conf-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  grid-template-areas: "banner aside" "main aside";
  grid-template-rows: auto 1fr;
  column-gap: 2.5rem;
}
.conf-layout__banner { grid-area: banner; margin-bottom: 1.5rem; }
.conf-layout__aside { grid-area: aside; }
.conf-layout__main { grid-area: main; min-width: 0; }
.conf-banner { display: block; width: 100%; height: 400px; object-fit: cover; object-position: center 25%; }
.conf-aside { position: sticky; top: 90px; background: #fff; border: 1px solid #e3e7f1; }
.conf-aside__head { padding: 1.35rem 1.5rem; border-bottom: 1px solid #eef1f7; }
.conf-aside__date { margin-top: .85rem; font-size: 1.85rem; font-weight: 600; line-height: 1.2; color: #5e74b7; }
.conf-aside__when { margin-top: .25rem; color: #545454; }
.conf-aside__row { padding: 1rem 1.5rem; border-bottom: 1px solid #eef1f7; }
.conf-aside__label { font-size: .82rem; color: rgba(33, 37, 41, .75); }
.conf-aside__value { margin-top: .2rem; font-weight: 500; line-height: 1.45; color: #545454; }
.conf-aside__action { padding: 1.25rem 1.5rem; }
.conf-aside__note { margin-top: .6rem; font-size: .88rem; color: rgba(33, 37, 41, .75); text-align: center; }
/* Форма записи в карточке фактов (scripts/conference-signup.js) */
.conf-signup .form-label { margin-bottom: .2rem; font-size: .85rem; color: rgba(33, 37, 41, .75); }
.conf-signup__hint { margin-top: .3rem; font-size: .85rem; color: rgba(33, 37, 41, .75); }
.conf-signup__resend { font-size: .85rem; }
.conf-signup__consent { font-size: .82rem; line-height: 1.4; color: rgba(33, 37, 41, .75); }
.conf-signup__error { margin-bottom: .75rem; padding: .55rem .75rem; background: #fdf0f1; color: #a3283a; font-size: .9rem; }
.conf-signup__done-title { font-size: 1.1rem; font-weight: 600; color: #5e74b7; }
.conf-signup__done-name { margin-top: .2rem; font-weight: 500; color: #545454; }
.conf-signup__closed { padding: .75rem .9rem; background: #f5f6f8; color: #545454; font-weight: 500; text-align: center; }
.conf-lead { margin: 0 0 1rem; font-size: 1.06rem; line-height: 1.65; color: #545454; }
.conf-about { color: #545454; }
.conf-block-title { margin: 2.1rem 0 1rem; font-size: 1.6rem; font-weight: 500; color: #545454; }

/* Программа: таблица «время | доклад» из админки → лента времени */
.conf-program table { width: 100%; border-collapse: collapse; }
.conf-program table tr { background-color: transparent !important; } /* у сайта таблицы полосатые (table tr:nth-of-type(odd)) */
.conf-program td { vertical-align: top; color: #545454; background: transparent; }
.conf-program td:first-child { width: 72px; padding: 0 1rem 0 0; font-weight: 600; color: #5e74b7; white-space: nowrap; }
.conf-program td:last-child { padding: 0 0 1.15rem 1.1rem; border-left: 2px solid #5065a8; line-height: 1.45; }
.conf-program tr:last-child td:last-child { padding-bottom: .25rem; }

.conf-speakers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.1rem; }
.conf-speaker { display: block; color: inherit; text-decoration: none; }
.conf-speaker__photo { display: block; width: 100%; height: 260px; object-fit: cover; object-position: center top; background: #eef1f7; }
.conf-speaker__name { margin-top: .6rem; font-weight: 600; line-height: 1.35; color: #5e74b7; }
a.conf-speaker:hover .conf-speaker__name { text-decoration: underline; }
.conf-speaker__desc { margin-top: .2rem; font-size: .88rem; line-height: 1.45; color: #545454; }

@media (max-width: 991.98px) {
  .conf-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .conf-layout { grid-template-columns: minmax(0, 1fr); grid-template-areas: "banner" "aside" "main"; grid-template-rows: auto; }
  .conf-aside { position: static; margin-bottom: 1.5rem; }
}
@media (max-width: 767.98px) {
  .conf-head { flex-direction: column; align-items: stretch; gap: 1.25rem; }
  .conf-tabs { display: flex; }
  .conf-tabs .btn { flex: 1; }
  .conf-grid { grid-template-columns: minmax(0, 1fr); gap: 1.1rem; }
  .conf-card__media { height: 210px; }
  .conf-banner { height: 240px; }
  .conf-speakers { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem; }
  .conf-speaker__photo { height: 220px; }
  .conf-program td:first-child { width: 56px; padding-right: .6rem; }
  .conf-program td:last-child { padding-left: .85rem; }
}
