/* Формы регистрации / обратной связи — оформление (внутри .course_register, тёмная карточка). */

.amtec_reg_form { display: flex; flex-direction: column; gap: 26px; }

/* --- Переключатель физ/юр (сегментированный) --- */
.amtec_entity_switch {
	display: inline-flex;
	gap: 4px;
	padding: 4px;
	background: rgba(255, 255, 255, .12);
	border-radius: 12px;
	align-self: flex-start;
	max-width: 100%;
	flex-wrap: wrap;
}
.amtec_seg { position: relative; cursor: pointer; }
.amtec_seg input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.amtec_seg span {
	display: block; padding: 9px 20px; border-radius: 9px;
	font-size: 14px; line-height: 1; white-space: nowrap;
	transition: background .15s, color .15s;
}
.amtec_seg input:checked ~ span { background: var(--w, #fff); color: var(--tm, #0b1b44); font-weight: 600; }

/* --- Группы --- */
.amtec_group {
	background: rgba(255, 255, 255, .05);
	border: 1px solid rgba(255, 255, 255, .1);
	border-radius: 14px;
	padding: 22px 24px;
}
.amtec_group_title {
	font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
	opacity: .7; margin: 0 0 18px; padding-bottom: 12px;
	border-bottom: 1px solid rgba(255, 255, 255, .14);
}

/* --- Сетка полей --- */
.amtec_grid { display: grid; gap: 16px 16px; grid-template-columns: repeat(3, 1fr); }
.amtec_grid--2 { grid-template-columns: repeat(2, 1fr); }
.amtec_field { display: flex; flex-direction: column; gap: 7px; min-width: 0; }
.amtec_field--full { grid-column: 1 / -1; }

.amtec_lbl { font-size: 13px; font-weight: 600; opacity: .92; }
.amtec_req { color: var(--bg-r, #FF005E); }

/* --- Поля ввода (белые, повыше базовых) --- */
.amtec_reg_form .input { margin: 0; }
.amtec_reg_form .input input,
.amtec_reg_form .input select,
.amtec_reg_form .input textarea {
	height: 48px; border-radius: 10px; font-size: 15px;
	border: 1.5px solid transparent; background: var(--w, #fff); color: var(--tm, #0b1b44);
	transition: box-shadow .15s, border-color .15s;
}
.amtec_reg_form .input textarea { height: auto; min-height: 96px; padding: 12px 16px; line-height: 1.45; }
.amtec_reg_form .input input::placeholder { color: #9aa4bb; }
.amtec_reg_form .input input:focus,
.amtec_reg_form .input select:focus,
.amtec_reg_form .input textarea:focus { outline: none; border-color: var(--bg-r, #FF005E); }

/* --- Промокод --- */
.amtec_promo { display: flex; gap: 10px; align-items: stretch; }
.amtec_promo input[name="promocode"] { flex: 1 1 auto; }
.amtec_promo_apply {
	flex: 0 0 auto; padding: 0 22px; height: 48px;
	border: 1.5px solid rgba(255, 255, 255, .5); background: transparent; color: var(--w, #fff);
	border-radius: 10px; cursor: pointer; font-size: 14px; transition: background .15s, border-color .15s;
}
.amtec_promo_apply:hover { background: rgba(255, 255, 255, .12); border-color: var(--w, #fff); }
.amtec_promo_msg { font-size: 13px; margin-top: 7px; }
.amtec_promo_msg.ok { color: #7ee2a4; }
.amtec_promo_msg.error { color: #ff9ec0; }

/* --- Итоговая сумма --- */
.amtec_summary { margin-top: 18px; font-size: 17px; }
.amtec_summary b { font-size: 22px; color: var(--w, #fff); }

/* --- Нижняя панель: согласия + кнопка --- */
.amtec_submit_bar {
	display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: center;
}
.amtec_submit_bar .form_agrees { display: flex; flex-direction: column; gap: 8px; }
.amtec_submit_bar .btn { justify-self: end; }

/* --- Ошибки валидации --- */
.amtec_field.has-error .input input,
.amtec_field.has-error .input select,
.amtec_field.has-error .input textarea { border-color: var(--bg-r, #FF005E); box-shadow: 0 0 0 3px rgba(255, 0, 94, .18); }
.checkbox.has-error i { border-color: var(--bg-r, #FF005E); box-shadow: 0 0 0 3px rgba(255, 0, 94, .18); }
.amtec-error { color: #ff9ec0; font-size: 12.5px; line-height: 1.3; margin-top: 5px; }

/* --- Результат отправки --- */
.amtec_form_result { padding: 16px 20px; border-radius: 12px; font-size: 15px; line-height: 1.5; }
.amtec_form_result.ok { background: rgba(126, 226, 164, .15); color: #b6f0cd; border: 1px solid rgba(126, 226, 164, .4); }
.amtec_form_result.error { background: rgba(255, 0, 94, .14); color: #ffb9d3; border: 1px solid rgba(255, 0, 94, .4); }

.amtec_reg_form button.loading { opacity: .6; pointer-events: none; }
.amtec_reg_form .amtec_only_legal { display: none; }

/* --- Адаптив --- */
@media (max-width: 900px) {
	.amtec_grid, .amtec_grid--2 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
	.amtec_group { padding: 18px 16px; }
	.amtec_grid, .amtec_grid--2 { grid-template-columns: 1fr; }
	.amtec_submit_bar { grid-template-columns: 1fr; }
	.amtec_submit_bar .btn { justify-self: stretch; text-align: center; }
	.amtec_entity_switch { width: 100%; }
	.amtec_seg { flex: 1 1 auto; }
	.amtec_seg span { text-align: center; }
}
