/**
 * Сквозная адаптивность sirius.ru.
 * Подключать ПОСЛЕ index/styles_09/footer — перекрывает сетки без media.
 *
 * 1280 — узкий десктоп / планшет landscape (бургер уже в header-mobile.css)
 * 1100 — планшет: 2 колонки карточек, направления в столбик
 *  900 — узкий планшет / iPad portrait: одна колонка блоков
 *  768 — телефон / iPad 768
 *  480 — маленький телефон
 */

html {
  overflow-x: clip;
}

body.body {
  overflow-x: clip;
  max-width: 100%;
}

img,
video,
iframe,
svg {
  max-width: 100%;
}

.wrapper,
.aside-main__wrap,
.main,
.section,
.container-wrapper {
  min-width: 0;
  max-width: 100%;
}

.main {
  flex-basis: 100%;
  width: 100%;
}

.container {
  width: 100%;
  max-width: 1440px;
  min-width: 0;
  box-sizing: border-box;
}

/*
 * Деталки статьи и события не используют .container-wrapper (27–36px на главной).
 * В макете 1440 поля ~36px; сейчас остаётся padding: 0 10px у окна.
 */
.section-detail > .container,
.edu-detail > .container,
.affiche-detail .container,
.news-page__container {
  padding-left: 36px;
  padding-right: 36px;
  box-sizing: border-box;
}

.affiche-detail .event__wrapper,
.affiche-detail .event-schedule .calendar__wrapper,
.affiche-detail .activities__wrapper {
  padding-left: 0;
  padding-right: 0;
}

.affiche-event-hero .nav__wrapper,
.article-hero .nav__wrapper {
  padding-left: 36px;
  padding-right: 36px;
}

/* Сайдбар выключен — не оставляем под него поле футера */
.footer {
  padding-left: 0;
}

.header .container {
  max-width: 1440px;
}

/* Не даём карточкам афиши вылезать за экран */
.affiche-page .activities__card,
.activities__card {
  max-width: 100%;
  box-sizing: border-box;
}

.banner-block .banner-block-holder a img {
  width: 100%;
  height: auto;
}

.projects__card img {
  height: auto;
}

/* ——— 1280: узкое окно / планшет landscape ——— */
@media (max-width: 1280px) {
  .container-wrapper {
    padding: 0 20px;
  }

  .header .header-holder {
    gap: 16px;
  }

  .header .header-holder .menu nav ul {
    gap: 8px;
  }

  .header .header-holder .menu nav ul li {
    padding: 12px 4px;
    font-size: 15px;
  }

  .nav,
  .edu-hero,
  .article-hero.nav,
  .article-hero .nav__wrapper,
  .affiche-event-hero.nav,
  .affiche-event-hero .nav__wrapper,
  .affiche-page .affiche-hero.nav,
  .affiche-page .affiche-hero .nav__slider,
  .affiche-page .affiche-hero .nav__slider-wrap,
  .affiche-page .affiche-hero .nav__slide,
  .affiche-page .affiche-hero .nav__wrapper {
    min-height: 480px;
  }

  .nav__ttl {
    font-size: clamp(42px, 8vw, 74px);
    line-height: 1.1;
  }

  .main-events-block {
    padding-top: 48px;
  }

  .main-events-block .main-events-block-holder > .heading {
    margin-bottom: 32px;
  }

  .main-events-block .main-events-block-holder .heading h2,
  .main-events-block .main-events-block-holder .heading .h2 {
    font-size: clamp(32px, 5vw, 48px);
    line-height: 1.15;
  }

  .main-events-block .event-item .event-item-holder > .heading {
    gap: 16px;
    margin-bottom: 20px;
    flex-wrap: wrap;
  }

  .main-events-block .event-item .event-item-holder .heading h3,
  .main-events-block .event-item .event-item-holder .heading .h3 {
    font-size: clamp(24px, 3vw, 32px);
    line-height: 1.25;
  }

  .main-events-block .event-item .event-item-holder .event-details .event-details-holder {
    min-height: 0;
    flex-wrap: wrap;
  }

  .main-events-block .event-item .event-item-holder .event-details .event-details-holder .image,
  .main-events-block .event-item .event-item-holder .event-details .event-details-holder .details {
    width: 100%;
  }

  .main-events-block .event-item .event-item-holder .event-details .event-details-holder .image {
    min-height: 220px;
  }

  .main-events-block .event-item .event-item-holder .event-details .event-details-holder .image .image-holder a img {
    position: relative;
    width: 100%;
    height: auto;
    object-fit: cover;
    max-height: 320px;
  }

  .projects-list-block {
    padding-top: 40px;
  }

  .projects-list-block .projects-list-block-holder {
    padding: 24px 20px 40px;
  }

  .projects-list-block .projects-list-block-holder > .heading {
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 24px;
  }

  .projects-list-block .projects-list-block-holder .heading .text {
    flex-wrap: wrap;
  }

  .projects-list-block .projects-list-block-holder .heading .text h2,
  .projects-list-block .projects-list-block-holder .heading .text .h2 {
    font-size: clamp(28px, 4vw, 40px);
    line-height: 1.15;
  }

  .banner-block {
    padding-top: 40px;
  }

  .partners-section {
    margin-top: 48px;
  }

  .partners-section > .container > .container-wrapper {
    overflow-x: hidden;
  }

  .partners-block .partners-block-holder .heading {
    padding-left: 0;
    flex-wrap: wrap;
    gap: 16px;
  }

  .partners .partners-list,
  .partners .partners-list.swiper {
    overflow: hidden !important;
  }

  .partners .partners-list .partners-list-holder.swiper-wrapper {
    max-width: none;
  }

  .partners .partners-list .partners-list-holder .partner-item,
  .partners .partners-list .partners-list-holder .partner-item.swiper-slide {
    width: min(320px, 100%);
  }

  .edu-hero__inner,
  .edu-directions {
    padding-left: 24px;
    padding-right: 24px;
  }

  .edu-direction {
    gap: 24px;
  }

  .edu-direction__media {
    flex: 0 0 280px;
    max-width: 38%;
    height: 160px;
  }

  .sirius-news__inner {
    padding: 32px 24px 72px;
  }

  .section-detail > .container,
  .edu-detail > .container,
  .affiche-detail .container,
  .news-page__container {
    padding-left: 24px;
    padding-right: 24px;
  }

  .affiche-event-hero .nav__wrapper,
  .article-hero .nav__wrapper {
    padding-left: 24px;
    padding-right: 24px;
  }
}

/* ——— 1100: планшет, бургер уже включён ——— */
@media (max-width: 1100px) {
  .projects-list .project-item {
    width: 50%;
  }

  .edu-direction {
    flex-direction: column;
    gap: 16px;
  }

  .edu-direction__media {
    flex: none;
    max-width: none;
    width: 100%;
    height: 200px;
  }

  .sirius-news-featured {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .sirius-news-featured__side {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: none;
    min-height: 0;
  }
}

/* ——— 900: узкий планшет / iPad portrait ——— */
@media (max-width: 900px) {
  .container-wrapper {
    padding: 0 16px;
  }

  .main-events-block .main-events-block-holder .main-events-list {
    width: 100%;
    margin-left: 0;
    padding-right: 0;
    row-gap: 40px;
  }

  .main-events-block .main-events-block-holder .main-events-list .event-item {
    width: 100%;
    padding: 0;
  }

  .projects-list {
    width: 100%;
    margin-left: 0;
  }

  .projects-list .project-item {
    width: 100%;
  }

  .sirius-news-grid {
    grid-template-columns: 1fr;
    column-gap: 0;
  }

  .sirius-news-featured__side {
    grid-template-columns: 1fr;
  }

  .affiche-page .activities__card,
  .affiche-page .activities__cards .activities__card {
    flex-basis: 100%;
    flex-grow: 1;
    margin: 0;
    min-height: 240px;
  }

  .affiche-page .activities__cards {
    margin-right: 0;
    gap: 16px;
  }

  .affiche-page .swiper-wrapper {
    max-width: 100%;
  }
}

/* ——— 1024: прячем остатки сайдбара, деталки ——— */
@media (max-width: 1024px) {
  .edu-detail,
  .section-detail {
    padding: 24px 0 56px;
  }

  .section-detail .lyceum__ttl,
  .section-detail .title-2 {
    font-size: clamp(28px, 6vw, 40px);
    line-height: 1.15;
  }

  .section-detail .popular-themes-new-item {
    width: 50%;
  }

  .header-popup__wr {
    margin-top: 64px;
    max-height: calc(100dvh - 80px);
  }

  .affiche-page .container,
  .affiche-detail .container,
  .news > .container {
    padding-left: 16px;
    padding-right: 16px;
  }
}

/* ——— 768: телефон и iPad 768 ——— */
@media (max-width: 768px) {
  .container,
  .container.container {
    max-width: 100%;
  }

  .container-wrapper {
    padding: 0 12px;
  }

  .nav,
  .edu-hero,
  .article-hero.nav,
  .article-hero .nav__wrapper,
  .affiche-event-hero.nav,
  .affiche-event-hero .nav__wrapper,
  .affiche-page .affiche-hero.nav,
  .affiche-page .affiche-hero .nav__slider,
  .affiche-page .affiche-hero .nav__slider-wrap,
  .affiche-page .affiche-hero .nav__slide,
  .affiche-page .affiche-hero .nav__wrapper {
    min-height: 360px;
  }

  .nav__mid {
    min-height: 280px;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }

  .nav__ttl {
    font-size: 42px;
    line-height: 1.05;
  }

  .nav__txt {
    max-width: 100%;
    font-size: 18px;
    line-height: 1.35;
    padding-top: 0;
  }

  .projects-list .project-item .projects__card {
    display: flex;
    min-height: 0;
    padding: 20px;
    width: 100%;
  }

  .projects-list-block .projects-list-block-holder .heading .text {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }

  .projects-list-block .projects-list-block-holder .heading .action {
    width: 100%;
  }

  .projects-list-block .projects-list-block-holder .heading .action .btn {
    width: 100%;
    justify-content: space-between;
  }

  .edu-hero__inner {
    padding: 0 16px 32px;
  }

  .edu-directions {
    padding: 24px 16px 48px;
  }

  .edu-hero__title {
    font-size: clamp(32px, 10vw, 48px);
  }

  .sirius-news__inner {
    padding: 20px 12px 48px;
  }

  .sirius-news__title {
    font-size: 32px;
    margin-bottom: 20px;
  }

  .sirius-news-grid__link {
    flex-wrap: nowrap;
  }

  .sirius-news-filters__list {
    padding-bottom: 16px;
  }

  .sirius-news-pager {
    gap: 8px;
    flex-wrap: wrap;
  }

  .sirius-news-pager__nav {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 14px;
    padding: 0 10px;
  }

  .news-page__container {
    padding: 32px 16px 64px;
  }

  .section-detail > .container,
  .edu-detail > .container,
  .affiche-detail .container {
    padding-left: 16px;
    padding-right: 16px;
  }

  .affiche-event-hero .nav__wrapper,
  .article-hero .nav__wrapper {
    padding-left: 16px;
    padding-right: 16px;
  }

  .header-popup__wr {
    margin-top: 0;
    max-height: none;
    border-radius: 0;
  }

  .footer {
    padding: 24px 0 34px;
  }

  .section {
    overflow-x: clip;
  }

  .content-text-block img,
  .section-detail img,
  .news-page__content img {
    height: auto;
  }

  .section-detail .popular-themes-new-item,
  .section-detail .popular-themes-new-item.two-size {
    width: 100%;
  }

  .section-detail .content-page-mod,
  .section-detail .content-text-block {
    max-width: 100%;
    overflow-x: clip;
  }

  table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
  }
}

/* ——— 480: index-media зажимает .container в 370px и прячет .projects__card ——— */
@media (max-width: 480px) {
  .container,
  .container.container {
    max-width: 100%;
    padding-left: 12px;
    padding-right: 12px;
  }

  .header .header-holder {
    padding-left: 12px;
    gap: 8px;
  }

  .header .header-holder .logo .logo-holder .logo svg {
    width: 92px;
    height: auto;
  }

  .main-events-block .event-item .event-item-holder .event-details .event-details-holder .image {
    min-height: 180px;
  }

  .projects-list .project-item .projects__card,
  .projects-list .projects__card {
    display: flex;
  }

  .sirius-news-grid__media {
    flex-basis: 96px;
    width: 96px;
    max-width: 96px;
    min-height: 72px;
  }

  .sirius-news-grid__ttl {
    font-size: 15px;
    line-height: 20px;
  }
}

/* ——— ≤640: длинные слова в заголовках hero статей/событий не выталкивают страницу за экран ———
   Базово ≤1024px зафиксировано 48px — на телефоне «Информационные» и т.п. не помещаются,
   H1 переполняется и даёт странице горизонтальный скролл. Размер привязываем к vw,
   страхуемся переносом слишком длинных слов (hyphens по lang="ru|en"). */
@media (max-width: 640px) {
  .article-hero .nav__ttl,
  .affiche-event-hero .nav__ttl {
    font-size: clamp(28px, 9vw, 44px);
    line-height: 1.12;
    overflow-wrap: break-word;
    hyphens: auto;
  }
}
