/* Окна регистрации и входа на главной (no_aut.php, landing_head_page в function.php).
   Копия блока «Окно регистрации» из css/style.css: главная не грузит style.css
   целиком (72 КБ стилей программы замедляли первый показ). Меняете стили окна -
   меняйте в обоих файлах. */
/* ===== Окно регистрации (function.php::registr_user1, самостоятельная
   регистрация) в стиле СЕМТАК: пергамент, чернила, сургуч; компактная
   сетка полей, чтобы окно помещалось по высоте ===== */
.reg-modal .modal-dialog { max-width: 760px; }
.reg-card { background: var(--as-surface, #FFFDF9); border: 1px solid var(--as-border, #E2D9C9); border-radius: 16px; overflow: hidden; color: var(--as-text, #1C2733); }
.reg-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 14px 22px 10px; border-bottom: 1px solid var(--as-border, #E2D9C9); background: var(--as-bg, #F3EDE2); }
.reg-title { font-family: 'Playfair Display', Georgia, serif; font-weight: 700; font-size: 1.6rem; line-height: 1.15; margin: 0; white-space: nowrap; color: var(--as-text, #1C2733); }
.reg-sub { font-size: .85rem; color: var(--as-muted, #6B6257); margin-top: 4px; min-height: 1.3em; }
.reg-body { padding: 12px 22px 4px; }
.reg-kind-choice { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 10px; }
.reg-kind-btn { display: flex; gap: 10px; align-items: flex-start; text-align: left; border: 1.5px solid var(--as-border, #E2D9C9); border-radius: 10px; background: var(--as-surface, #FFFDF9); padding: 8px 11px; cursor: pointer; color: inherit; min-height: 66px; transition: border-color .15s, box-shadow .15s; }
.reg-kind-btn i { font-size: 1.1rem; color: var(--as-muted, #6B6257); margin-top: 2px; width: 20px; text-align: center; }
.reg-kind-btn span { display: flex; flex-direction: column; gap: 2px; }
.reg-kind-btn b { font-size: .88rem; line-height: 1.25; }
.reg-kind-btn small { font-size: .74rem; color: var(--as-muted, #6B6257); line-height: 1.3; }
.reg-kind-btn.active { border-color: #B5402F; box-shadow: 0 0 0 3px rgba(181, 64, 47, .12); }
.reg-kind-btn.active i { color: #B5402F; }
.reg-grid { display: grid; gap: 6px 12px; margin-bottom: 6px; }
.reg-grid-2 { grid-template-columns: 1fr 1fr; }
.reg-grid-3 { grid-template-columns: 1fr 1fr 1fr; }
.reg-span-2 { grid-column: span 2; }
.reg-span-3 { grid-column: span 3; }
.reg-field { min-width: 0; }
.reg-label { display: block; font-size: .78rem; font-weight: 600; color: var(--as-muted, #6B6257); margin-bottom: 3px; }
.reg-card .form-control { font-size: .95rem; padding: .38rem .7rem; border-radius: 8px; border-color: var(--as-border, #E2D9C9); background: var(--as-surface, #FFFDF9); }
.reg-card .form-control:focus { border-color: #B5402F; box-shadow: 0 0 0 3px rgba(181, 64, 47, .12); }
.reg-hint { font-size: .74rem; color: var(--as-muted, #6B6257); margin-top: 3px; }
.reg-captcha-row { margin: 4px 0 8px; }
.reg-captcha-row img { height: 40px; border-radius: 8px; border: 1px solid var(--as-border, #E2D9C9); cursor: pointer; background: #fff; }
.reg-captcha-row .form-control { max-width: 170px; text-transform: uppercase; letter-spacing: .2em; }
.reg-agree { display: flex; align-items: flex-start; gap: 8px; font-size: .88rem; margin: 6px 0 8px; cursor: pointer; }
.reg-agree .form-check-input { margin-top: 2px; flex-shrink: 0; }
.reg-agree a { color: #B5402F; }
.reg-foot { padding: 10px 22px 12px; border-top: 1px solid var(--as-border, #E2D9C9); display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
/* цвета через переменные кнопки Bootstrap: его .btn грузится позже и
   сбрасывал фон в прозрачный - белый текст было не видно */
.reg-card .reg-submit { --bs-btn-bg: #B5402F; --bs-btn-border-color: #B5402F; --bs-btn-color: #fff; --bs-btn-hover-bg: #9c3526; --bs-btn-hover-border-color: #9c3526; --bs-btn-hover-color: #fff;
	--bs-btn-active-bg: #86301f; --bs-btn-active-border-color: #86301f; --bs-btn-active-color: #fff; --bs-btn-disabled-bg: #B5402F; --bs-btn-disabled-border-color: #B5402F; --bs-btn-disabled-color: #fff; --bs-btn-disabled-opacity: .5;
	background-color: var(--bs-btn-bg); color: var(--bs-btn-color); font-weight: 600; padding: .55rem 1.4rem; border-radius: 10px; min-width: 200px; }
.reg-login { font-size: .88rem; color: var(--as-muted, #6B6257); margin-left: auto; }
.reg-login .btn-link { color: #B5402F; font-size: .88rem; }
.reg-card .alert { font-size: .85rem; padding: .45rem .7rem; margin-bottom: 8px; }
@media (max-width: 640px) {
	.reg-kind-choice, .reg-grid-2 { grid-template-columns: 1fr; }
	.reg-grid-3 { grid-template-columns: 1fr 1fr; }
	.reg-span-2, .reg-span-3 { grid-column: 1 / -1; }
	.reg-grid-3 .reg-field:last-child:nth-child(3) { grid-column: 1 / -1; }
	.reg-title { font-size: 1.35rem; }
	.reg-head, .reg-body, .reg-foot { padding-left: 16px; padding-right: 16px; }
	.reg-kind-btn { min-height: 0; }
	.reg-submit { width: 100%; }
	.reg-login { margin-left: 0; }
}
[data-theme="dark"] .reg-card .reg-submit { --bs-btn-bg: #CF5A47; --bs-btn-border-color: #CF5A47; --bs-btn-disabled-bg: #CF5A47; --bs-btn-disabled-border-color: #CF5A47; }

/* Глаз в поле пароля окон входа и регистрации (js/script.js) */
.reg-pass-wrap { position: relative; }
.reg-pass-wrap .form-control { padding-right: 2.3rem; }
.reg-pass-wrap input::-ms-reveal, .reg-pass-wrap input::-ms-clear { display: none; }
.reg-pass-eye { position: absolute; top: 0; right: 0; bottom: 0; width: 2.2rem; border: 0; background: none; color: var(--as-muted, #6B6257); cursor: pointer; display: flex; align-items: center; justify-content: center; }
.reg-pass-eye:hover { color: #B5402F; }

/* Восстановление пароля (no_aut.php, окна «Забыли пароль?» и «Новый пароль») */
.reg-forgot { text-align: right; margin: -2px 0 6px; font-size: .88rem; }
.reg-forgot a, .reg-card .reg-login a { color: #B5402F; }
.reg-note { background: #EEF3EA; border: 1px solid #CFDDC5; color: #2F4A25; border-radius: 8px; padding: 10px 12px; font-size: .9rem; }
.reg-note.is-error { background: #F8E9E5; border-color: #E7C3BA; color: #8A2E20; }
.reg-hint { color: var(--as-muted, #6B6257); font-size: .84rem; }

/* вход и регистрация через Яндекс ID / VK ID / Mail.ru / Google (api/oauth_common.php) */
.oauth-btns { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 8px; margin-bottom: 4px; }
.oauth-btn { display: flex; align-items: center; justify-content: center; gap: 8px; border: 1px solid var(--as-border, #E2D9C9); border-radius: 10px; padding: 9px 10px; font-weight: 600; font-size: .92rem; color: var(--as-text, #1C2733); background: var(--as-surface, #fff); text-decoration: none; transition: border-color .15s, background .15s; }
.oauth-btn:hover { border-color: var(--as-primary, #B5402F); background: rgba(181, 64, 47, .04); color: var(--as-text, #1C2733); }
.reg-oauth-label { font-size: .82rem; font-weight: 600; color: var(--as-muted, #6B6358); margin-bottom: 6px; }
.reg-oauth-or { display: flex; align-items: center; gap: 10px; color: var(--as-muted, #8A8175); font-size: .8rem; margin: 12px 0; }
.reg-oauth-or::before, .reg-oauth-or::after { content: ''; flex: 1; height: 1px; background: var(--as-border, #E2D9C9); }
.reg-oauth-done { background: #E9F6EE; border: 1px solid #B9E0C7; color: #1F6B3E; border-radius: 10px; padding: 9px 12px; font-size: .9rem; margin-bottom: 12px; }
[data-theme="dark"] .oauth-btn { background: transparent; color: #E8E2D6; }
[data-theme="dark"] .reg-oauth-done { background: #1E3326; border-color: #2F5A3D; color: #A9DDBC; }
/* вид «Заказчик» - на всю ширину под двумя основными */
.reg-kind-btn.reg-kind-wide { grid-column: 1 / -1; min-height: 0; }

/* Акция «Основатель» в окне регистрации (api/tariff_common.php tariffFounderPromoHtml(true)) */
.reg-founder { display: flex; gap: 12px; align-items: center; margin: 0 0 12px; padding: 10px 14px; border-radius: 12px; background: linear-gradient(110deg, #1C2733, #2E3D4D); color: #fff; }
.reg-founder-num { flex: 0 0 auto; min-width: 58px; text-align: center; font-size: 2.2rem; font-weight: 800; line-height: 1; color: #E2B04A; font-variant-numeric: tabular-nums; }
.reg-founder b { display: block; font-size: .95rem; }
.reg-founder span { display: block; font-size: .8rem; color: rgba(255, 255, 255, .8); margin-top: 2px; }

/* Форма регистрации: поля на первом экране, ошибка у кнопки (проверка 2026-11-04: на телефоне первый экран - ни одного поля) */
.reg-err { width: 100%; margin-bottom: 8px; padding: 7px 10px; border-radius: 8px; background: var(--as-danger-bg, #FBE4E3); color: var(--as-danger, #C1272D); font-size: .88rem; font-weight: 600; }
#registracia .form-control.reg-invalid, #registracia .form-select.reg-invalid { border-color: var(--as-danger, #C1272D); box-shadow: 0 0 0 3px rgba(193, 39, 45, .14); }
.reg-agree.reg-invalid { outline: 2px solid var(--as-danger, #C1272D); outline-offset: 3px; border-radius: 6px; }
.reg-foot { flex-wrap: wrap; }
.reg-ref-toggle { display: block; border: 0; background: none; padding: 0; margin: 0 0 10px; color: var(--as-link, #2F6DF6); font-size: .85rem; text-decoration: underline; cursor: pointer; }
@media (max-width: 640px) {
	.reg-kind-choice { grid-template-columns: 1fr 1fr; gap: 6px; }
	.reg-kind-btn { padding: 7px 8px; gap: 6px; }
	.reg-kind-btn small { display: none; }
	.reg-kind-btn b { font-size: .78rem; }
	.reg-kind-btn i { font-size: .95rem; width: 16px; }
	.reg-founder { padding: 7px 10px; gap: 8px; margin-bottom: 10px; }
	.reg-founder-num { min-width: 34px; font-size: 1.4rem; }
	.reg-founder b { font-size: .8rem; }
	.reg-founder span { display: none; }
	#registracia .reg-hint { display: none; }
	.reg-head { padding-top: 12px; padding-bottom: 8px; }
}

/* Галочка «Я человек» (api/human_check.php) */
.reg-human { display: flex; align-items: center; gap: 12px; width: 100%; max-width: 300px; margin: 6px 0 12px; padding: 12px 14px; border: 1.5px solid var(--as-border, #E2D9C9); border-radius: 10px; background: var(--as-surface, #FFFDF9); cursor: pointer; user-select: none; }
.reg-human input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.reg-human-box { flex: 0 0 auto; width: 26px; height: 26px; border: 2px solid var(--as-muted, #6B6257); border-radius: 6px; background: #fff; display: flex; align-items: center; justify-content: center; transition: background .15s, border-color .15s; }
.reg-human input:focus-visible + .reg-human-box { outline: 3px solid var(--as-link, #2F6DF6); outline-offset: 2px; }
.reg-human-text { font-size: 1rem; font-weight: 600; color: var(--as-text, #1C2733); }
.reg-human.reg-human-wait .reg-human-box { border-color: var(--as-muted, #6B6257); border-top-color: transparent; border-radius: 50%; animation: reg-human-spin .7s linear infinite; }
@keyframes reg-human-spin { to { transform: rotate(360deg); } }
.reg-human.reg-human-ok .reg-human-box { background: #2E7D32; border-color: #2E7D32; }
.reg-human.reg-human-ok .reg-human-box::after { content: ''; width: 7px; height: 13px; margin-top: -3px; border: solid #fff; border-width: 0 3px 3px 0; transform: rotate(45deg); }
.reg-human.reg-invalid { border-color: var(--as-danger, #C1272D); box-shadow: 0 0 0 3px rgba(193, 39, 45, .14); }
