/* Страница «Заявка на участие» — форма слева, карточка «Что дальше» справа */

/* Атрибут hidden должен побеждать display:grid у .field и прочих блоков формы */
.form [hidden], .apply [hidden] { display: none !important; }

.apply { display: grid; grid-template-columns: 1fr 440px; gap: 32px; align-items: start; }
.apply__aside { position: sticky; top: 104px; }
.apply__steps { display: grid; gap: 12px; }
.apply__steps > li { align-items: baseline; }
.apply__steps .num { font-size: 26px; flex: none; }

/* «Есть вопросы?» — контактные лица */
.apply__contacts { display: grid; gap: 10px; padding-top: 24px; margin-top: 28px; border-top: 1.5px dotted currentColor; }
.apply__contacts .text-14 { margin-top: -4px; }
.apply__person { display: grid; gap: 4px; padding-top: 8px; }
.apply__person strong { font-family: var(--font-display); font-weight: 500; font-size: 26px; line-height: 1.1; text-transform: uppercase; }
.apply__person .cl { font-size: 18px; font-weight: 600; line-height: 1.3; overflow-wrap: anywhere; }
.apply__person a.cl:hover { color: var(--znak-orange); }

.apply__form { padding: 40px; }
/* Нота «приём завершён» над формой (current_tier() === 0) */
.apply__closed { padding: 24px 32px; margin-bottom: 24px; }
.apply__closed .cl { text-decoration: underline; text-underline-offset: 3px; }
.apply__closed a:hover { color: var(--znak-blue-900); }
.form .field { align-content: start; }
.form__row--single { grid-template-columns: 1fr; }
.field__hint { font-size: 13px; color: var(--znak-blue-050); opacity: .85; }
.field--check label { cursor: pointer; }
/* «Количество работ»: выпадающий список + поле с числом */
.works-pick { display: grid; grid-template-columns: 1fr 120px; gap: 8px; }
.works-pick input[type="number"] { -moz-appearance: textfield; }
.works-pick input::-webkit-outer-spin-button, .works-pick input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.form__submit { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; margin-top: 8px; }
.form__submit .text-14 { max-width: 420px; }
.form__status:not([data-type]) { display: none; }
.btn-row { display: flex; flex-wrap: wrap; gap: 12px; }

/* Ссылка на требования к материалам под шагами «Что дальше» */
.apply__more { margin-top: 20px; }
.apply__more a { text-decoration: underline; text-underline-offset: 3px; }
.apply__more a:hover { color: var(--znak-orange); }

@media (max-width: 1023px) {
  .apply { grid-template-columns: 1fr; }
  .apply__aside { position: static; }
  .apply__form { padding: 32px; }
}

@media (max-width: 767px) {
  .apply__form { padding: 24px 20px; border-radius: var(--r-xl); }
  .apply__closed { padding: 20px; }
  .apply__person strong { font-size: 22px; }
  .apply__person .cl { font-size: 17px; }
  .works-pick { grid-template-columns: 1fr 100px; }
  .form__submit .btn, .btn-row .btn { width: 100%; }
  .field input, .field select, .field textarea { font-size: 16px; padding: 13px 16px; }
}
