:root {
      --asclin-heading: #091321;
      --asclin-heading-soft: #3a434f;
      --asclin-navy: #11172d;
      --asclin-dark: #091321;
      --asclin-footer: #0a1320;
      --asclin-blue: #2f76a8;
      --asclin-orange: #e07c26;
      --asclin-page-bg: #f6f8fb;
      --asclin-card-bg: #f5f8fc;
      --asclin-badge-blue: #e6f1fa;
      --asclin-badge-grey: #eef3f7;
      --asclin-badge-grey-text: #526175;
      --asclin-placeholder: #d9d9d9;
      --asclin-hero-circle: #16222f;
      --asclin-hero-dot: #8296ab;
      --asclin-hero-line: #33465c;
      --asclin-border: #e3eaf2;
      /* Фон секций — на весь экран, контент — не шире 1248px по центру */
      --asclin-gutter: max(96px, calc((100% - 1248px) / 2));
    }

    body {
      margin: 0;
      background: var(--asclin-page-bg);
    }

    /* Стили усилены против CSS темы сайта: селекторы со scope .asclin-event
       и !important на цветах, которые темы чаще всего перебивают. */

    .asclin-event,
    .asclin-event * {
      box-sizing: border-box;
      font-family: "Montserrat", Arial, sans-serif;
    }

    .asclin-event {
      width: 100%;
      background: #ffffff;
      color: var(--asclin-navy);
    }

    /* ===================== ШАПКА + ПЕРВЫЙ ЭКРАН МЕРОПРИЯТИЯ ===================== */

    .asclin-event .hero {
      position: relative;
      background: var(--asclin-dark);
      color: #ffffff;
      padding: 28px var(--asclin-gutter) 72px;
      overflow: hidden;
    }

    .asclin-event .hero__decor {
      position: absolute;
      inset: 0;
      pointer-events: none;
    }

    .asclin-event .hero__circle {
      position: absolute;
      border-radius: 50%;
      background: var(--asclin-hero-circle);
    }

    .asclin-event .hero__circle--left {
      width: 520px;
      height: 520px;
      left: -100px;
      top: 190px;
    }

    .asclin-event .hero__circle--right {
      width: 600px;
      height: 600px;
      right: -80px;
      top: 60px;
    }

    .asclin-event .hero__dot {
      position: absolute;
      width: 14px;
      height: 14px;
      border-radius: 50%;
      background: var(--asclin-hero-dot);
      opacity: .85;
    }

    .asclin-event .hero__line {
      position: absolute;
      height: 1px;
      background: var(--asclin-hero-line);
    }

    .asclin-event .hero__content {
      position: relative;
      max-width: 1248px;
      margin: 56px auto 0;
      z-index: 1;
    }

    /* Хлебные крошки страницы мероприятия — в верхнем регистре, через точку */
    .asclin-event .hero__breadcrumbs {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 10px;
      margin: 0;
      color: #93b9d3;
      font-size: 12px;
      line-height: 1.3;
      font-weight: 700;
      letter-spacing: .12em;
      text-transform: uppercase;
    }

    .asclin-event .hero__breadcrumbs a {
      color: #93b9d3 !important;
      text-decoration: none;
    }

    .asclin-event .hero__breadcrumbs a:hover {
      color: #ffffff !important;
      text-decoration: underline;
    }

    /* Бейджи формата участия */
    .asclin-event .hero__badges {
      display: flex;
      flex-wrap: wrap;
      gap: 13px;
      margin: 24px 0 0;
    }

    .asclin-event .hero__badge {
      display: inline-flex;
      align-items: center;
      padding: 8px 20px;
      border-radius: 999px;
      color: #ffffff !important;
      font-size: 12px;
      line-height: 1.15;
      font-weight: 600;
      white-space: nowrap;
    }

    .asclin-event .hero__badge--accent {
      background: var(--asclin-blue) !important;
    }

    .asclin-event .hero__badge--ghost {
      border: 1px solid rgba(255, 255, 255, .55);
      background: transparent;
    }

    .asclin-event .hero__title {
      margin: 34px 0 0;
      color: #ffffff !important;
      font-size: clamp(30px, 4vw, 48px);
      line-height: 1.15;
      font-weight: 700;
      text-transform: none;
    }

    /* Мета-строка: даты, регистрация, место */
    .asclin-event .hero__meta {
      display: flex;
      flex-wrap: wrap;
      gap: 14px 44px;
      margin: 30px 0 0;
      color: #dfe6ee;
      font-size: 16px;
      line-height: 1.35;
      font-weight: 400;
    }

    .asclin-event .hero__meta-row {
      display: inline-flex;
      align-items: center;
      gap: 12px;
    }

    .asclin-event .hero__meta-row svg {
      flex-shrink: 0;
      color: #93b9d3;
    }

    .asclin-event .hero__actions {
      display: flex;
      flex-wrap: wrap;
      gap: 16px;
      margin: 42px 0 0;
    }

    .asclin-event a.hero__btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 52px;
      padding: 14px 34px;
      border-radius: 999px;
      font-size: 16px;
      line-height: 1.1;
      font-weight: 600;
      text-decoration: none;
      white-space: nowrap;
      transition: opacity .2s ease;
    }

    .asclin-event a.hero__btn:hover {
      opacity: .85;
    }

    .asclin-event a.hero__btn--primary {
      background: #ffffff !important;
      color: var(--asclin-heading) !important;
    }

    .asclin-event a.hero__btn--ghost {
      border: 1px solid rgba(255, 255, 255, .8);
      background: transparent;
      color: #ffffff !important;
    }

    /* ===================== КЛЮЧЕВЫЕ ФАКТЫ ===================== */

    .asclin-event .facts {
      background: var(--asclin-card-bg);
      padding: 46px var(--asclin-gutter);
    }

    .asclin-event .facts__grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 28px;
      max-width: 1248px;
      margin: 0 auto;
    }

    .asclin-event .facts__card {
      background: #ffffff;
      border-radius: 8px;
      padding: 28px;
    }

    .asclin-event .facts__label {
      margin: 0;
      color: var(--asclin-badge-grey-text) !important;
      font-size: 12px;
      line-height: 1.2;
      font-weight: 700;
      letter-spacing: .1em;
      text-transform: uppercase;
    }

    .asclin-event .facts__value {
      margin: 14px 0 0;
      color: var(--asclin-heading) !important;
      font-size: 18px;
      line-height: 1.35;
      font-weight: 700;
    }

    /* ===================== О МЕРОПРИЯТИИ ===================== */

    .asclin-event .about {
      background: #ffffff;
      padding: 56px var(--asclin-gutter) 64px;
    }

    .asclin-event .section-title {
      margin: 0;
      color: var(--asclin-heading) !important;
      font-size: 34px;
      line-height: 1.15;
      font-weight: 700;
      text-transform: none;
    }

    .asclin-event .section-header {
      display: flex;
      flex-wrap: wrap;
      align-items: baseline;
      justify-content: space-between;
      gap: 12px 24px;
      margin: 0 0 30px;
    }

    .asclin-event .section-note {
      color: var(--asclin-badge-grey-text);
      font-size: 15px;
      line-height: 1.35;
      font-weight: 500;
    }

    .asclin-event .about__text {
      margin: 26px 0 0;
      max-width: 900px;
      color: var(--asclin-heading-soft);
      font-size: 15px;
      line-height: 1.6;
      font-weight: 400;
    }

    .asclin-event .about__subtitle {
      margin: 44px 0 0;
      color: var(--asclin-heading) !important;
      font-size: 20px;
      line-height: 1.25;
      font-weight: 700;
    }

    /* Чипы программных направлений */
    .asclin-event .about__tags {
      display: flex;
      flex-wrap: wrap;
      gap: 13px;
      margin: 22px 0 0;
    }

    .asclin-event .about__tag {
      display: inline-flex;
      align-items: center;
      border: 1px solid var(--asclin-border);
      border-radius: 999px;
      background: #ffffff;
      padding: 10px 22px;
      color: var(--asclin-badge-grey-text) !important;
      font-size: 14px;
      line-height: 1.2;
      font-weight: 600;
      white-space: nowrap;
    }

    /* Плашка о заявке на НМО */
    .asclin-event .about__nmo {
      margin: 34px 0 0;
      padding: 20px 28px;
      background: var(--asclin-badge-blue);
      border-radius: 8px;
    }

    .asclin-event .about__nmo-title {
      margin: 0;
      color: var(--asclin-navy) !important;
      font-size: 15px;
      line-height: 1.45;
      font-weight: 600;
    }

    .asclin-event .about__nmo-note {
      margin: 6px 0 0;
      color: var(--asclin-badge-grey-text);
      font-size: 13px;
      line-height: 1.45;
      font-weight: 400;
    }

    /* ===================== ПРОГРАММА ===================== */

    .asclin-event .program {
      background: var(--asclin-card-bg);
      padding: 62px var(--asclin-gutter) 68px;
    }

    .asclin-event .program__day {
      background: #ffffff;
      border-radius: 8px;
      padding: 30px 32px 34px;
    }

    .asclin-event .program__day + .program__day,
    .asclin-event .program__halls + .program__day {
      margin-top: 30px;
    }

    .asclin-event .program__day-title {
      margin: 0;
      color: var(--asclin-heading) !important;
      font-size: 20px;
      line-height: 1.3;
      font-weight: 700;
    }

    .asclin-event .program__day-meta {
      margin: 10px 0 0;
      color: var(--asclin-badge-grey-text);
      font-size: 13px;
      line-height: 1.5;
      font-weight: 400;
    }

    /* Промежуточный заголовок дня (между карточками) */
    .asclin-event .program__day-header {
      display: flex;
      flex-wrap: wrap;
      align-items: baseline;
      justify-content: space-between;
      gap: 10px 24px;
      margin: 50px 0 22px;
    }

    .asclin-event .program__day-header .program__day-title {
      margin: 0;
    }

    .asclin-event .program__day-note {
      color: var(--asclin-badge-grey-text);
      font-size: 14px;
      font-weight: 400;
      white-space: nowrap;
    }

    /* Список слотов программы: единый список с разделителями */
    .asclin-event .program__slots {
      list-style: none;
      margin: 18px 0 0;
      padding: 0;
    }

    .asclin-event .program__slot {
      display: flex;
      align-items: baseline;
      gap: 22px;
      padding: 15px 18px;
      margin: 0 -18px;
      border-radius: 6px;
      border-top: 1px solid var(--asclin-border);
      transition: background .15s ease;
    }

    .asclin-event .program__slot:first-child {
      border-top: 0;
    }

    .asclin-event .program__slot:hover {
      background: #eef5fc;
    }

    .asclin-event .program__time {
      flex: 0 0 96px;
      color: var(--asclin-orange) !important;
      font-size: 15px;
      line-height: 1.4;
      font-weight: 700;
      white-space: nowrap;
    }

    .asclin-event .program__what {
      min-width: 0;
    }

    .asclin-event .program__topic {
      margin: 0;
      color: var(--asclin-navy) !important;
      font-size: 15px;
      line-height: 1.4;
      font-weight: 700;
    }

    .asclin-event .program__speaker {
      margin: 4px 0 0;
      color: var(--asclin-badge-grey-text);
      font-size: 13px;
      line-height: 1.45;
      font-weight: 400;
    }

    /* Два параллельных зала */
    .asclin-event .program__halls {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      align-items: start;
      gap: 28px;
    }

    .asclin-event .program__hall {
      background: #ffffff;
      border-radius: 8px;
      padding: 30px 32px 34px;
    }

    .asclin-event .program__hall-title {
      margin: 0;
      color: var(--asclin-heading) !important;
      font-size: 18px;
      line-height: 1.3;
      font-weight: 700;
    }

    .asclin-event .program__day--single {
      margin-top: 30px;
    }

    .asclin-event .program__download {
      display: flex;
      justify-content: center;
      margin: 44px 0 0;
    }

    .asclin-event a.program__pdf {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 48px;
      padding: 13px 30px;
      border-radius: 8px;
      background: var(--asclin-navy) !important;
      color: #ffffff !important;
      font-size: 15px;
      line-height: 1.1;
      font-weight: 600;
      text-decoration: none;
      white-space: nowrap;
      transition: opacity .2s ease;
    }

    .asclin-event a.program__pdf:hover {
      opacity: .85;
    }

    /* Сессия программы (секция, симпозиум): заголовок с временем, модераторами и поддержкой, внутри — доклады */
    .asclin-event .program__session {
      margin-top: 12px;
    }

    .asclin-event .program__hall-title + .program__session,
    .asclin-event .program__day-title + .program__session,
    .asclin-event .program__day-meta + .program__session {
      margin-top: 20px;
    }

    .asclin-event .program__slots + .program__session,
    .asclin-event .program__session + .program__slots {
      margin-top: 8px;
    }

    .asclin-event .program__session-head {
      display: flex;
      align-items: baseline;
      gap: 22px;
      margin: 0 -18px;
      border-radius: 6px;
      background: var(--asclin-badge-blue);
      padding: 14px 18px;
    }

    .asclin-event .program__session-time {
      flex: 0 0 96px;
      color: var(--asclin-blue) !important;
      font-size: 15px;
      line-height: 1.4;
      font-weight: 700;
      white-space: nowrap;
    }

    .asclin-event .program__session-body {
      min-width: 0;
    }

    .asclin-event .program__session-title {
      margin: 0;
      color: var(--asclin-heading) !important;
      font-size: 16px;
      line-height: 1.35;
      font-weight: 700;
    }

    .asclin-event .program__session-meta {
      margin: 4px 0 0;
      color: var(--asclin-badge-grey-text);
      font-size: 13px;
      line-height: 1.45;
      font-weight: 400;
    }

    .asclin-event .program__session .program__slots {
      margin-top: 6px;
    }

    /* Тип пункта программы: «Лекция», «Мастер-класс» и т. п. (для обычного доклада не выводится) */
    .asclin-event .program__type {
      display: inline-block;
      margin: 0 0 6px;
      border-radius: 4px;
      background: var(--asclin-badge-grey);
      padding: 3px 8px;
      color: var(--asclin-badge-grey-text);
      font-size: 11px;
      line-height: 1.2;
      font-weight: 700;
      letter-spacing: .04em;
      text-transform: uppercase;
    }

    .asclin-event .program__slot--break .program__time,
    .asclin-event .program__slot--break .program__topic {
      color: var(--asclin-badge-grey-text) !important;
      font-weight: 500;
    }

    .asclin-event .program__speaker + .program__speaker {
      margin-top: 2px;
    }

    .asclin-event .program__sponsor {
      margin: 6px 0 0;
      color: var(--asclin-badge-grey-text);
      font-size: 12px;
      line-height: 1.4;
      font-style: italic;
    }

    .asclin-event .program__note {
      margin: 6px 0 0;
      color: var(--asclin-heading-soft);
      font-size: 13px;
      line-height: 1.5;
    }

    /* ===================== СПИКЕРЫ И МОДЕРАТОРЫ ===================== */

    .asclin-event .speakers {
      background: #ffffff;
      padding: 62px var(--asclin-gutter) 68px;
    }

    .asclin-event .speakers__grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 28px 28px;
    }

    .asclin-event .speaker-card {
      background: var(--asclin-card-bg);
      border-radius: 8px;
      overflow: hidden;
    }

    /* Плейсхолдер фото — силуэт человечка */
    .asclin-event .speaker-card__photo {
      position: relative;
      height: 190px;
      background: var(--asclin-placeholder);
      overflow: hidden;
    }

    .asclin-event .speaker-card__photo svg {
      position: absolute;
      left: 50%;
      bottom: -12px;
      transform: translateX(-50%);
      color: #c2ccd6;
    }

    .asclin-event .speaker-card__body {
      padding: 20px 20px 26px;
    }

    .asclin-event .speaker-card__name {
      margin: 0;
      color: var(--asclin-navy) !important;
      font-size: 15px;
      line-height: 1.3;
      font-weight: 700;
    }

    .asclin-event .speaker-card__role {
      margin: 10px 0 0;
      color: var(--asclin-badge-grey-text);
      font-size: 13px;
      line-height: 1.5;
      font-weight: 400;
    }

    /* ===================== РЕГИСТРАЦИЯ ===================== */

    .asclin-event .registration {
      background: var(--asclin-dark);
      color: #ffffff;
      padding: 64px var(--asclin-gutter) 72px;
    }

    .asclin-event .registration__inner {
      display: grid;
      grid-template-columns: minmax(0, 460px) minmax(0, 1fr);
      gap: 40px 96px;
      max-width: 1248px;
      margin: 0 auto;
    }

    .asclin-event .registration__title {
      margin: 0;
      color: #ffffff !important;
      font-size: 34px;
      line-height: 1.15;
      font-weight: 700;
      text-transform: none;
    }

    .asclin-event .registration__text {
      margin: 24px 0 0;
      color: #d7dee6;
      font-size: 15px;
      line-height: 1.6;
      font-weight: 400;
    }

    .asclin-event .registration__contacts-label {
      margin: 36px 0 0;
      color: #8b96a4 !important;
      font-size: 13px;
      line-height: 1.2;
      font-weight: 600;
      letter-spacing: .1em;
      text-transform: uppercase;
    }

    .asclin-event .registration__contact {
      margin: 14px 0 0;
      color: #ffffff;
      font-size: 15px;
      line-height: 1.5;
      font-weight: 400;
    }

    .asclin-event .registration__contact a {
      color: #ffffff !important;
      text-decoration: none;
    }

    .asclin-event .registration__contact a:hover {
      text-decoration: underline;
    }

    .asclin-event .reg-form {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 15px 16px;
      align-content: start;
    }

    .asclin-event .reg-form input {
      width: 100%;
      min-height: 48px;
      padding: 13px 16px;
      border: 1px solid #3a4657;
      border-radius: 4px;
      background: transparent;
      color: #ffffff;
      font-size: 14px;
      font-weight: 400;
      outline: none;
    }

    .asclin-event .reg-form input::placeholder {
      color: #8b96a4;
    }

    .asclin-event .reg-form input:focus {
      border-color: var(--asclin-blue);
    }

    .asclin-event .reg-form__wide {
      grid-column: 1 / -1;
    }

    .asclin-event .reg-form__submit {
      grid-column: 1 / -1;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 16px 26px;
      margin-top: 10px;
    }

    .asclin-event .reg-form__btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 52px;
      padding: 14px 40px;
      border: 0;
      border-radius: 999px;
      background: #ffffff !important;
      color: var(--asclin-heading) !important;
      font-size: 16px;
      line-height: 1.1;
      font-weight: 600;
      cursor: pointer;
      white-space: nowrap;
      transition: opacity .2s ease;
    }

    .asclin-event .reg-form__btn:hover {
      opacity: .85;
    }

    .asclin-event .reg-form__note {
      margin: 0;
      color: #8b96a4;
      font-size: 13px;
      line-height: 1.45;
      font-weight: 400;
    }

    /* ===================== ДОКУМЕНТЫ ===================== */

    .asclin-event .documents {
      background: #ffffff;
      padding: 60px var(--asclin-gutter) 64px;
    }

    .asclin-event .documents .section-title {
      margin-bottom: 30px;
    }

    .asclin-event .doc-row {
      display: flex;
      align-items: center;
      gap: 20px;
      background: var(--asclin-card-bg);
      border-radius: 8px;
      padding: 14px 22px;
    }

    .asclin-event .doc-row + .doc-row {
      margin-top: 16px;
    }

    .asclin-event .doc-row__icon {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      width: 36px;
      height: 36px;
      border-radius: 6px;
      background: var(--asclin-badge-blue);
      color: var(--asclin-blue) !important;
      font-size: 10px;
      font-weight: 700;
      letter-spacing: .02em;
    }

    .asclin-event .doc-row__body {
      min-width: 0;
      flex: 1;
    }

    .asclin-event .doc-row__name {
      margin: 0;
      color: var(--asclin-navy) !important;
      font-size: 16px;
      line-height: 1.3;
      font-weight: 600;
    }

    .asclin-event .doc-row__meta {
      margin: 5px 0 0;
      color: var(--asclin-badge-grey-text);
      font-size: 13px;
      line-height: 1.2;
      font-weight: 400;
    }

    .asclin-event a.doc-row__btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      min-height: 42px;
      padding: 11px 34px;
      border-radius: 8px;
      background: var(--asclin-navy) !important;
      color: #ffffff !important;
      font-size: 14px;
      line-height: 1.1;
      font-weight: 600;
      text-decoration: none;
      white-space: nowrap;
      transition: opacity .2s ease;
    }

    .asclin-event a.doc-row__btn:hover {
      opacity: .85;
    }

    /* ===================== ФОТО И ВИДЕО ===================== */

    .asclin-event .media {
      background: var(--asclin-card-bg);
      padding: 60px var(--asclin-gutter) 68px;
    }

    .asclin-event .media__grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 28px;
    }

    .asclin-event .media__item {
      position: relative;
      height: 140px;
      border-radius: 4px;
      background: var(--asclin-placeholder);
      overflow: hidden;
    }

    .asclin-event .media__play {
      position: absolute;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -50%);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 40px;
      height: 40px;
      border-radius: 50%;
      background: rgba(255, 255, 255, .85);
      color: var(--asclin-navy);
    }

    /* ===================== ОСТАЛИСЬ ВОПРОСЫ ===================== */

    .asclin-event .cta {
      position: relative;
      background: var(--asclin-dark);
      color: #ffffff;
      padding: 52px var(--asclin-gutter);
      overflow: hidden;
    }

    .asclin-event .cta__circle {
      position: absolute;
      right: -70px;
      top: -140px;
      width: 400px;
      height: 400px;
      border-radius: 50%;
      background: var(--asclin-hero-circle);
      pointer-events: none;
    }

    .asclin-event .cta__inner {
      position: relative;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: space-between;
      gap: 24px 40px;
      max-width: 1248px;
      margin: 0 auto;
    }

    .asclin-event .cta__title {
      margin: 0;
      color: #ffffff !important;
      font-size: 26px;
      line-height: 1.2;
      font-weight: 700;
      text-transform: none;
    }

    .asclin-event .cta__text {
      margin: 14px 0 0;
      color: #dfe6ee;
      font-size: 16px;
      line-height: 1.4;
      font-weight: 400;
    }

    .asclin-event .cta__text a {
      color: #dfe6ee !important;
      text-decoration: none;
    }

    .asclin-event .cta__text a:hover {
      text-decoration: underline;
    }

    .asclin-event a.cta__btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 52px;
      padding: 14px 38px;
      border: 1px solid rgba(255, 255, 255, .8);
      border-radius: 999px;
      background: transparent;
      color: #ffffff !important;
      font-size: 16px;
      line-height: 1.1;
      font-weight: 600;
      text-decoration: none;
      white-space: nowrap;
      transition: opacity .2s ease;
    }

    .asclin-event a.cta__btn:hover {
      opacity: .85;
    }

    /* ===================== АДАПТИВ ===================== */

    @media (max-width: 1200px) {
      :root {
        --asclin-gutter: 40px;
      }

      .asclin-event .facts__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .asclin-event .speakers__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .asclin-event .program__halls {
        grid-template-columns: minmax(0, 1fr);
      }

      .asclin-event .registration__inner {
        grid-template-columns: minmax(0, 1fr);
      }

      .asclin-event .media__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
    }

    @media (max-width: 640px) {
      :root {
        --asclin-gutter: 20px;
      }

      .asclin-event .hero__content {
        margin-top: 40px;
      }

      .asclin-event .hero__meta {
        flex-direction: column;
        gap: 12px;
      }

      .asclin-event .hero__actions,
      .asclin-event .hero__actions a.hero__btn {
        width: 100%;
      }

      .asclin-event .section-title {
        font-size: 28px;
      }

      .asclin-event .registration__title {
        font-size: 28px;
      }

      .asclin-event .facts__grid,
      .asclin-event .speakers__grid,
      .asclin-event .media__grid {
        grid-template-columns: minmax(0, 1fr);
      }

      .asclin-event .program__day,
      .asclin-event .program__hall {
        padding: 24px 20px 28px;
      }

      .asclin-event .program__slot {
        flex-direction: column;
        gap: 6px;
        margin: 0;
        padding: 14px 0;
      }

      .asclin-event .program__session-head {
        flex-direction: column;
        gap: 6px;
        margin: 0;
        padding: 14px 16px;
      }

      .asclin-event .program__time,
      .asclin-event .program__session-time {
        flex-basis: auto;
      }

      .asclin-event .reg-form {
        grid-template-columns: minmax(0, 1fr);
      }

      .asclin-event .doc-row {
        flex-wrap: wrap;
      }

      .asclin-event a.doc-row__btn {
        width: 100%;
      }
    }

    /* D4: длинная подпись «Регистрация на конференцию» на узких экранах переносится, а не выходит за край */
    @media (max-width: 480px) {
      .asclin-event a.hero__btn,
      .asclin-event .reg-form__btn {
        max-width: 100%;
        white-space: normal;
        text-align: center;
      }
    }
/* Заголовок дня программы крупнее (правки 03.10): 20 → 24px, на всех ширинах */
.asclin-event .program__day-title { font-size: 24px !important; line-height: 1.25; }

/* Дни программы с одним залом оформлены как дни с несколькими залами (правки 03.10): заголовок и подпись — на фоне секции,
   без белой подложки; белая карточка — только у самой программы дня */
.asclin-event .program__day { margin-top: 50px; padding: 0 !important; background: transparent !important; border-radius: 0 !important; box-shadow: none !important; }
.asclin-event .program__day > .program__day-meta { margin-bottom: 22px; }
.asclin-event .program__day > .program__session { margin-top: 0 !important; padding: 30px 32px 0; background: #ffffff; border-radius: 8px 8px 0 0; }
.asclin-event .program__day > .program__slots { margin-top: 0 !important; padding: 8px 32px 34px; background: #ffffff; border-radius: 0 0 8px 8px; }
.asclin-event .program__day > .program__day-meta + .program__slots,
.asclin-event .program__day > .program__day-title + .program__slots { padding-top: 30px; border-radius: 8px; }
@media (max-width: 640px) {
  .asclin-event .program__day > .program__session { padding: 22px 18px 0; }
  .asclin-event .program__day > .program__slots { padding: 8px 18px 24px; }
}

/* «Остались вопросы о мероприятии?» — светлый блок (правки 03.10) */
.asclin-event .cta { background: #f5f8fc !important; color: #11172d !important; }
.asclin-event .cta__circle { background: #e8eff7 !important; }
.asclin-event .cta__title { color: #11172d !important; }
.asclin-event .cta__text { color: #526175 !important; }
.asclin-event .cta__text a { color: #2f76a8 !important; }
.asclin-event section.cta a.cta__btn { border-color: #11172d !important; color: #11172d !important; -webkit-text-fill-color: #11172d; background: transparent !important; }
.asclin-event section.cta a.cta__btn:hover { background: #11172d !important; color: #ffffff !important; -webkit-text-fill-color: #ffffff; }
