/* Регистрация */
.reg { padding: 72px 0 96px; background: var(--soft); }
.reg-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 56px; align-items: start; }
.reg-intro h1 { font-size: clamp(34px, 4.6vw, 54px); line-height: 1.05; margin: 10px 0 18px; }
.reg-points { list-style: none; padding: 0; margin: 28px 0 0; display: grid; gap: 12px; color: var(--muted); font-weight: 600; }
.reg-points li { position: relative; padding-left: 28px; }
.reg-points li::before { content: "✓"; position: absolute; left: 0; color: var(--orange); font-weight: 900; }

.reg-form { background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow-card); padding: 34px; display: grid; gap: 20px; }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.field { display: grid; gap: 8px; border: 0; padding: 0; margin: 0; min-width: 0; }
.field label, .field legend { font-weight: 700; font-size: 14px; color: var(--ink); padding: 0; }
.opt { font-weight: 500; color: var(--muted); font-size: 12px; margin-left: 6px; }
.field input[type="text"], .field input[type="email"], .field input[type="tel"], .field select, .field textarea {
    width: 100%; font: inherit; font-size: 15px; color: var(--ink); background: var(--white);
    border: 1px solid var(--line); border-radius: 14px; padding: 13px 16px; min-height: 48px;
}
.field textarea { resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { outline: 2px solid var(--orange); outline-offset: 1px; border-color: var(--orange); }
.field .is-invalid { border-color: #d8390a; background: #fff8f5; }

.type-choice { grid-template-columns: 1fr 1fr; gap: 14px; }
.type-choice legend { grid-column: 1 / -1; margin-bottom: 4px; }
.choice { display: flex; gap: 12px; align-items: flex-start; border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 16px; cursor: pointer; transition: border-color .2s ease, background .2s ease; }
.choice:has(input:checked) { border-color: var(--orange); background: var(--orange-soft); }
.choice input { margin-top: 4px; accent-color: var(--orange); }
.choice strong { display: block; font-size: 15px; }
.choice small { display: block; margin-top: 4px; color: var(--muted); font-size: 13px; line-height: 1.4; }

.branch { display: grid; gap: 20px; padding-top: 4px; }
.branch[hidden] { display: none; }
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.consent { display: flex; gap: 12px; align-items: flex-start; font-size: 13px; color: var(--muted); line-height: 1.5; }
.consent input { margin-top: 3px; accent-color: var(--orange); }
.form-error { margin: 0; color: #d8390a; font-weight: 700; font-size: 14px; }
.reg-form .btn { justify-self: start; }
.reg-form .btn[disabled] { opacity: .6; cursor: wait; transform: none; }

.reg-modal { border: 0; border-radius: var(--radius); padding: 0; max-width: 460px; width: calc(100% - 32px); box-shadow: var(--shadow); }
.reg-modal::backdrop { background: rgba(11, 11, 15, .55); }
.modal-box { padding: 40px 34px; text-align: center; display: grid; gap: 14px; justify-items: center; }
.modal-box h2 { margin: 0; font-size: 26px; line-height: 1.2; }
.modal-box p { margin: 0 0 6px; color: var(--muted); }
.modal-check { width: 56px; height: 56px; border-radius: 50%; background: var(--orange-soft); color: var(--orange); font-size: 28px; font-weight: 900; display: grid; place-items: center; }

@media (max-width: 900px) {
    .reg { padding: 40px 0 64px; }
    .reg-grid { grid-template-columns: 1fr; gap: 32px; }
    .reg-form { padding: 22px; }
    .field-row, .type-choice { grid-template-columns: 1fr; }
    .reg-form .btn { justify-self: stretch; }
}

/* Политика за поверителност */
.legal { padding: 64px 0 96px; background: var(--white); }
.legal-in { max-width: 820px; }
.legal h1 { font-size: clamp(32px, 4.4vw, 48px); line-height: 1.08; margin: 10px 0 16px; }
.legal h2 { font-size: 22px; margin: 36px 0 10px; }
.legal p, .legal li { color: var(--ink); line-height: 1.7; }
.legal ul { padding-left: 22px; display: grid; gap: 6px; }
.legal a:not(.btn) { color: var(--orange-dark); text-decoration: underline; }
.legal-back { margin-top: 36px; }
.consent a { color: var(--orange-dark); text-decoration: underline; }
