/* Desktop-геометрия главной страницы по Figma; загружается последней. */
@media (min-width: 1200px) {
  .news-bar {
    height: 72px;
  }

  .festivals__container {
    padding-top: 94px;
  }

  .festivals__grid {
    display: flex;
    gap: 28px;
    margin-top: 62px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .festivals__grid::-webkit-scrollbar {
    display: none;
  }

  .festivals__grid .pf-card,
  .festivals__grid .cat-card {
    flex: 0 0 calc((100% - 56px) / 3);
    scroll-snap-align: start;
  }

  .festivals__nav {
    margin-top: 43px;
  }

  .festivals__arrow,
  .reviews__arrow,
  .season__arrow,
  .final__arrow {
    width: 45px;
    height: 45px;
  }

  .stats {
    height: 558px;
    margin-top: 43px;
    padding-block: 85px;
  }

  .stats__grid,
  .stat-card {
    height: 274px;
  }

  .stats__cta {
    margin-top: 54px;
  }

  .stats__btn.btn {
    width: 352px;
    height: 60px;
    font-size: 20px;
  }

  .reviews {
    padding-block: 134px 78px;
  }

  .reviews__head {
    height: 66px;
    margin-bottom: 64px;
  }

  .reviews__grid {
    height: 319px;
    padding-bottom: 0;
  }

  .reviews__grid .review-card {
    flex: 0 0 459px;
    height: 319px;
    min-height: 319px;
  }

  .reviews__nav {
    margin-top: 45px;
  }

  .reviews .advantages {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-template-rows: 146px 297px 23px 245px;
    gap: 0;
    width: 100%;
    height: 711px;
    margin-top: 56px;
    align-items: start;
    justify-items: start;
  }

  .reviews .advantage {
    max-width: none;
    margin: 0;
  }

  .reviews .advantage--1 {
    grid-column: 6 / span 4;
    grid-row: 1;
    width: 479px;
    height: 308px;
    transform: translateX(32px);
  }

  .reviews .advantage--2 {
    grid-column: 1 / span 4;
    grid-row: 2;
    width: 447px;
    height: 297px;
    transform: translateX(-1px);
  }

  .reviews .advantage--3 {
    grid-column: 4 / span 4;
    grid-row: 4;
    width: 428px;
    height: 222px;
    transform: translateX(-28px);
  }

  .reviews .advantage--4 {
    grid-column: 9 / span 4;
    grid-row: 3;
    width: 402px;
    height: 268px;
    transform: translateX(31px);
  }

  .reviews .advantage--1 .advantage__icon {
    width: 68px;
    height: 68px;
  }

  .reviews .advantage--2 .advantage__icon {
    width: 83px;
    height: 83px;
  }

  .reviews .advantage--3 .advantage__icon {
    width: 70px;
    height: 54px;
  }

  .reviews .advantage--4 .advantage__icon {
    width: 68px;
    height: 68px;
  }

  .reviews .advantage__text {
    font-size: 18px;
    line-height: 22px;
  }

  .season__container {
    padding-block: 90px 0;
  }

  .season__tabs {
    height: 42px;
    margin-top: 59px;
  }

  .season-tab {
    height: 42px;
  }

  .season__grid {
    margin-top: 68px;
  }

  .season__nav {
    margin-top: 55px;
  }

  .season .jury {
    margin-top: 47px;
  }

  .season__slider:has(> .season__nav[hidden]) + .jury {
    margin-top: 147px;
  }

  .season .jury__grid {
    margin-top: 58px;
  }

  .season .jury-card--flip {
    height: 448px;
  }

  .season .jury__cta {
    margin-top: 115px;
  }

  .season .jury__btn.btn {
    width: 352px;
    height: 60px;
    font-size: 20px;
  }

  .final__container {
    padding-block: 93px 71px;
  }

  .final__subtitle {
    margin-top: 9px;
  }

  .final__track .final-card {
    margin-top: 20px;
  }

  .final__nav {
    margin-top: 29px;
  }

  .final__cta {
    margin-top: 41px;
  }

  .final__btn.btn {
    width: 352px;
    height: 60px;
    font-size: 20px;
  }

  .footer {
    display: flex;
    min-height: 550px;
    flex-direction: column;
  }

  .footer__copy {
    margin-top: auto;
    padding-bottom: 34px;
  }
}

@media (max-width: 767px) {
  .footer__grid {
    padding-bottom: 20px;
  }
}

@media (min-width: 768px) and (max-width: 1199px) {
  .festivals__grid {
    display: flex;
    gap: 24px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .festivals__grid::-webkit-scrollbar {
    display: none;
  }

  .festivals__grid .pf-card,
  .festivals__grid .cat-card {
    flex: 0 0 calc((100% - 24px) / 2);
    scroll-snap-align: start;
  }
}
