/* ==========================================================================
   МОБИЛЬНАЯ ВЕРСИЯ САЙТА "НОВЫЙ APEX"
   Все стили только для мобильных устройств (max-width: 768px)
   Десктопная версия не затрагивается

   Единая система размеров шрифтов:
   - Заголовки секций: 1.5rem / 1.25rem
   - Основной текст: 1rem / 0.9rem
   - Мелкий текст: 0.85rem / 0.8rem
   - Заголовки карточек: 1.25rem / 1.1rem
   - Описания карточек: 0.95rem / 0.9rem
   - Кнопки: 0.9rem / 0.8rem
   ========================================================================== */

/* ===== МОБИЛЬНЫЕ СТИЛИ (до 768px) ===== */
@media screen and (max-width: 768px) {
  /* --- Базовые --- */
  html {
    font-size: 15px;
  }

  body {
    overflow-x: hidden;
    -webkit-text-size-adjust: 100%;
  }

  .container {
    padding-left: 16px;
    padding-right: 16px;
  }

  .section {
    padding: 48px 0;
  }

  .section-title {
    font-size: 1.5rem;
    margin-bottom: 1.5rem;
  }

  /* --- Hero --- */
  .hero {
    min-height: 60vh;
    padding: 40px 0;
  }

  .hero__shape--blue {
    width: 80vw;
    height: 80vw;
    top: -20%;
    left: -30%;
  }

  .hero__shape--orange {
    width: 80vw;
    height: 80vw;
    bottom: -20%;
    right: -30%;
  }

  .logo__icon {
    width: 80px;
  }

  .logo__title {
    font-size: 2.5rem;
  }

  .hero__subtitle {
    font-size: 1rem;
    padding: 0 16px;
  }

  /* --- Intro --- */
  .intro {
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .intro__container {
    padding: 24px 16px;
  }

  .intro__text {
    font-size: 1rem;
    line-height: 1.5;
  }

  .intro__buttons {
    width: 100%;
  }

  .btn--partner {
    width: 100%;
    max-width: 100%;
    padding: 16px 20px;
    font-size: 0.9rem;
  }

  .btn--partner svg {
    width: 24px;
    height: 24px;
  }

  /* --- Этапы участия --- */
  .stages {
    padding: 48px 0;
  }

  .stages__container {
    padding-left: 16px;
    padding-right: 16px;
  }

  .timeline__list {
    position: relative;
    padding-left: 24px;
  }

  .timeline__list::before {
    content: '';
    position: absolute;
    left: 11px;
    top: 20px;
    bottom: 20px;
    width: 2px;
    background: var(--color-accent-cyan);
    opacity: 0.5;
  }

  .timeline__item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
    text-align: left;
    padding: 12px 0;
    position: relative;
  }

  .timeline__item:last-child {
    padding-bottom: 0;
  }

  .timeline__dot {
    order: 0;
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    position: relative;
    z-index: 1;
  }

  .timeline__title {
    min-height: auto;
    padding: 0;
    display: block;
    order: 1;
    flex: 1;
    font-size: 1rem;
    text-align: left;
    line-height: 1.3;
  }

  .timeline__date {
    padding: 0;
    display: block;
    order: 2;
    font-size: 0.85rem;
    white-space: nowrap;
    text-align: right;
    opacity: 0.7;
    margin-top: 0;
  }

  .timeline__dot img {
    width: 24px;
    height: 24px;
  }

  /* --- Преимущества --- */
  .section--benefits {
    padding: 48px 16px;
  }

  .benefits__content {
    max-width: 100%;
  }

  .benefits__subtitle {
    font-size: 1rem;
    margin-bottom: 1.25rem;
  }

  .benefits__lead {
    font-size: 1rem;
    margin-bottom: 0.75rem;
  }

  .benefits__text .list__item {
    font-size: 1rem;
    padding-left: 1.25rem;
  }

  .benefits__text .list--dot .list__item::before {
    width: 5px;
    height: 5px;
    top: 0.45rem;
  }

  /* --- Номинации --- */
  .nominations {
    padding-top: 48px;
    padding-bottom: 48px;
  }

  .nominations__container {
    padding-left: 16px;
    padding-right: 16px;
  }

  .nominations__grid {
    gap: 12px;
  }

  .nomination-card {
    padding: 20px 16px;
    height: auto;
    min-height: 180px;
    gap: 12px;
  }

  .nomination-card__icon {
    width: 32px;
    height: 32px;
  }

  .nomination-card__icon img {
    width: 32px;
    height: 32px;
  }

  .nomination-card__title {
    font-size: 1.25rem;
  }

  .nomination-card__desc {
    font-size: 0.95rem;
  }

  .nominations__grand {
    margin-top: 12px;
  }

  .nomination-card--grand {
    width: 100%;
    padding: 20px 16px;
    height: auto;
    min-height: 180px;
  }

  /* --- Условия участия --- */
  .conditions {
    padding: 48px 0;
  }

  .conditions__container {
    padding-left: 16px;
    padding-right: 16px;
    max-width: 100%;
  }

  .conditions__list {
    margin-bottom: 2rem;
  }

  .conditions__list .list__item {
    font-size: 1rem;
    padding-left: 1.25rem;
    line-height: 1.5;
  }

  .conditions__list .list--dot .list__item::before {
    width: 5px;
    height: 5px;
    top: 0.45rem;
  }

  .conditions__actions {
    flex-direction: column;
    gap: 12px;
  }

  .btn--conditions {
    width: 100%;
    max-width: 100%;
    flex: none !important;
    padding: 12px 16px !important;
    font-size: 0.9rem;
    min-height: 48px;
    height: auto;
    line-height: 1.3;
    gap: 8px !important;
  }

  /* --- Партнёры --- */
  .partners {
    padding: 48px 0;
  }

  .partners__container {
    padding-left: 16px;
    padding-right: 16px;
  }

  .partners__actions {
    width: 100%;
  }

  .btn--orange.btn--icon {
    width: 100%;
    max-width: 100%;
    padding: 16px 20px;
    font-size: 0.9rem;
  }

  .btn--orange.btn--icon svg {
    width: 24px;
    height: 24px;
  }

  /* --- Программный комитет --- */
  .committee {
    padding-top: 48px;
    padding-bottom: 48px;
  }

  .committee__container {
    padding-left: 16px;
    padding-right: 16px;
    max-width: 100%;
  }

  .committee__title {
    margin-bottom: 2rem;
  }

  .team-grid {
    gap: 2rem 1.5rem;
  }

  .committee-member__avatar {
    width: 120px;
    height: 120px;
    margin-bottom: 1rem;
  }

  .committee-member__name {
    font-size: 1rem;
    margin-bottom: 0.5rem;
  }

  .committee-member__role {
    font-size: 0.85rem;
  }

  /* --- Экспертная комиссия --- */
  .experts {
    padding-top: 48px;
    padding-bottom: 48px;
  }

  .experts__container {
    padding-left: 16px;
    padding-right: 16px;
    max-width: 100%;
  }

  .team-member__avatar {
    width: 80px;
    height: 80px;
  }

  .team-member__name {
    font-size: 0.85rem;
    margin-bottom: 0.5rem;
  }

  /* --- Футер --- */
  .footer {
    min-height: auto;
    padding: 40px 0;
  }

  .footer .container {
    padding-left: 16px;
    padding-right: 16px;
  }

  .footer h2 {
    font-size: 1.5rem !important;
    margin-bottom: 1rem !important;
  }

  .footer .container > div:last-of-type {
    font-size: 0.9rem !important;
  }
}

/* ===== МАЛЕНЬКИЕ ЭКРАНЫ (до 480px) ===== */
@media screen and (max-width: 480px) {
  html {
    font-size: 14px;
  }

  .container {
    padding-left: 12px;
    padding-right: 12px;
  }

  .section {
    padding: 36px 0;
  }

  .section-title {
    font-size: 1.25rem;
    margin-bottom: 1.25rem;
  }

  .hero {
    min-height: 40vh;
    padding: 30px 0;
  }

  .logo__icon {
    width: 60px;
  }

  .logo__title {
    font-size: 2rem;
  }

  .hero__subtitle {
    font-size: 0.85rem;
  }

  .intro {
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .intro__text {
    font-size: 0.9rem;
  }

  .btn--partner {
    padding: 14px 16px;
    font-size: 0.8rem;
  }

  /* Этапы */
  .timeline__list {
    padding-left: 20px;
  }

  .timeline__list::before {
    left: 9px;
  }

  .timeline__dot {
    width: 20px;
    height: 20px;
  }

  .timeline__dot img {
    width: 20px;
    height: 20px;
  }

  .timeline__title {
    font-size: 0.9rem;
  }

  .timeline__date {
    font-size: 0.8rem;
  }

  /* Преимущества */
  .section--benefits {
    padding: 36px 12px;
  }

  .benefits__lead {
    font-size: 0.9rem;
  }

  .benefits__text .list__item {
    font-size: 0.9rem;
  }

  /* Номинации */
  .nominations {
    padding-top: 36px;
    padding-bottom: 36px;
  }

  .nomination-card {
    padding: 16px 12px;
    min-height: 160px;
  }

  .nomination-card__title {
    font-size: 1.1rem;
  }

  .nomination-card__desc {
    font-size: 0.9rem;
  }

  /* Условия */
  .conditions {
    padding: 36px 0;
  }

  .conditions__list .list__item {
    font-size: 0.9rem;
  }

  .btn--conditions {
    padding: 10px 16px !important;
    font-size: 0.8rem;
    min-height: 44px;
    gap: 8px !important;
  }

  /* Комитет */
  .committee {
    padding-top: 36px;
    padding-bottom: 36px;
  }

  .committee-member__avatar {
    width: 100px;
    height: 100px;
  }

  .committee-member__name {
    font-size: 0.9rem;
  }

  .committee-member__role {
    font-size: 0.8rem;
  }

  /* Эксперты */
  .team-member__avatar {
    width: 70px;
    height: 70px;
  }

  .team-member__name {
    font-size: 0.8rem;
  }

  /* Футер */
  .footer {
    padding: 30px 0;
  }

  .footer h2 {
    font-size: 1.25rem !important;
  }
}

/* ===== LANDSCAPE ОРИЕНТАЦИЯ ===== */
@media screen and (max-width: 896px) and (orientation: landscape) {
  .hero {
    min-height: auto;
    padding: 24px 0;
  }

  .team-grid {
    grid-template-columns: repeat(4, 1fr);
  }

  .committee-member__avatar {
    width: 80px;
    height: 80px;
  }

  .team-member__avatar {
    width: 60px;
    height: 60px;
  }
}
