/* =========================================================
   PAINMED v8 — страница «NeuroRussia 2026»
   Дополнения к painmed-v8.css + painmed-pv-v8.css
   ========================================================= */


/* Фон шапки: овальный стол президиума с микрофонами, hero-neurorussia-table.webp
   (1672×941, 47 КБ). Иллюстрация пришла уже в фирменном сине-зелёном,
   пересчёт цвета не требовался.

   Приём тот же, что на остальных страницах: слой во всю ширину окна
   (left/right выводят его за пределы .wrap, на html и body стоит
   overflow-x:clip), opacity:1, градиентного ::after нет.
   Двойной класс .hero.hero-neurorussia поднимает специфичность выше
   `.page-hero .hero-bg` из painmed-about-v8.css, который на этой
   странице тоже загружен.
   Замер поверх слоя в габаритах заголовка (1440 CSS-px): медиана 15.1:1 при норме AA 4.5:1; ниже порога 0.04% пикселей —
   кромка стола, на набор она не приходится. */
.hero.hero-neurorussia > .hero-bg{
  left:calc(50% - 50vw); right:calc(50% - 50vw);
  transform:none;
  background:url('../img/hero-neurorussia-table.webp') center bottom / cover no-repeat;
  opacity:1;
}
@media (max-width:1080px){
  /* В одну колонку hero вытягивается втрое, cover показал бы узкую полосу
     кадра — на телефоне иллюстрация идёт целиком по ширине. */
  .hero.hero-neurorussia > .hero-bg{
    background-size:100% auto;
    background-position:center bottom;
  }
}

/* ---------- табы дней ---------- */
.day-tabs{
  display:flex; flex-wrap:wrap; gap:10px; margin-bottom:8px;
}
.day-tab{
  font-family:var(--sans); font-size:14px; font-weight:700; letter-spacing:0.01em;
  padding:12px 22px; border-radius:var(--r-pill); cursor:pointer;
  background:var(--card); border:1px solid var(--line-2); color:var(--ink-soft);
  transition:border-color .2s, color .2s, background .2s, box-shadow .2s;
}
.day-tab:hover{ border-color:var(--wine); color:var(--wine); }
.day-tab.active{
  background:var(--wine); border-color:var(--wine); color:#fff;
  box-shadow:0 8px 22px rgba(109,18,28,0.22);
}
.day-tab .dow{ font-weight:500; opacity:0.75; margin-left:6px; }
.day-pane{ display:none; }
.day-pane.active{ display:block; }

/* ---------- зал ---------- */
.hall-head{
  display:flex; align-items:center; gap:14px;
  margin:34px 0 6px;
}
.hall-head .hname{
  font-family:var(--mono); font-size:12px; font-weight:600; letter-spacing:0.14em;
  text-transform:uppercase; color:var(--wine); white-space:nowrap;
}
.hall-head .hline{ flex:1; height:1px; background:var(--line-2); }

/* ---------- заседания ---------- */
.sess{
  display:grid; grid-template-columns:150px 1fr auto;
  gap:26px; align-items:start;
  padding:22px 20px; margin-inline:-20px;
  border-bottom:1px dashed var(--line-2);
  transition:background .25s, box-shadow .25s;
}
.sess:hover{ background:var(--card); box-shadow:var(--shadow); }
.sess .time{
  font-family:var(--mono); font-size:14px; font-weight:600;
  color:var(--accent-d); letter-spacing:0.02em; white-space:nowrap;
  font-variant-numeric:tabular-nums; padding-top:2px;
}
.sess h3{
  font-family:var(--display); font-weight:700; font-size:20px;
  letter-spacing:-0.02em; line-height:1.3; text-wrap:balance;
}
.sess .mod{
  font-size:12px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase;
  color:var(--muted); margin-top:6px;
}
.sess .mod b{ color:var(--wine); font-weight:700; }
.sess .chip{ white-space:nowrap; }
.talks{ list-style:none; margin-top:14px; border-top:1px dashed var(--line); }
.talks li{
  display:grid; grid-template-columns:1fr auto; gap:6px 22px; align-items:baseline;
  padding:10px 0; border-bottom:1px dashed var(--line);
}
.talks li:last-child{ border-bottom:none; padding-bottom:0; }
.talks .t-name{ font-size:14.5px; font-weight:600; color:var(--ink); line-height:1.5; max-width:640px; }
.talks .t-spk{ font-size:12.5px; color:var(--muted); line-height:1.5; text-align:right; white-space:nowrap; }
.talks .t-full{ grid-column:1 / -1; font-size:12.5px; color:var(--muted); line-height:1.55; margin-top:-4px; }

/* компактные строки: паузы, обед, открытие */
.sess.pause{ padding-block:14px; }
.sess.pause .p-title{ font-size:15px; font-weight:700; color:var(--ink-soft); }
.sess.pause .p-sub{ font-size:12.5px; color:var(--muted); margin-top:3px; }

/* ---------- все спикеры ---------- */
.speaker-roll{ display:flex; flex-wrap:wrap; gap:9px; margin-top:26px; max-width:1000px; }
.speaker-roll span{
  font-size:13px; font-weight:600;
  padding:8px 15px; border-radius:var(--r-pill);
  background:var(--card); border:1px solid var(--line-2); color:var(--ink-soft);
}
.speaker-roll span i{ font-style:normal; font-weight:500; color:var(--faint); margin-left:6px; font-size:11.5px; }
.roll-cap{
  font-family:var(--mono); font-size:11px; letter-spacing:0.12em; text-transform:uppercase;
  color:var(--muted); margin-top:34px;
}

/* ---------- адаптив ---------- */
@media (max-width:1080px){
  .sess{ grid-template-columns:110px 1fr; }
  .sess .chip{ grid-column:2; justify-self:start; margin-top:8px; }
}
@media (max-width:720px){
  .sess{ grid-template-columns:1fr; gap:8px; padding:18px 16px; margin-inline:-16px; }
  .talks li{ grid-template-columns:1fr; gap:3px; }
  .talks .t-spk{ text-align:left; white-space:normal; }
}
