* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: 'Inter', sans-serif; background-color: #f4f7fc; color: #1f2a3e; line-height: 1.4; }
.wrap { max-width: 1160px; margin: 0 auto; padding: 0 20px; }
.btn { display: inline-flex; align-items: center; justify-content: center; border-radius: 30px; font-weight: 600; font-size: 14px; padding: 8px 20px; transition: all 0.2s ease; cursor: pointer; border: none; text-decoration: none; gap: 6px; }
.btn-light { background: #fff; border: 1px solid #cddfe7; color: #2c6e9e; }
.btn-light:hover { background: #eef3f8; border-color: #b6cfdf; }
.btn-primary { background: #2d7a4b; color: white; box-shadow: 0 2px 4px rgba(0,0,0,0.05); }
.btn-primary:hover { background: #23683e; }
.btn-success { background: #2a8e4a; color: white; width: 100%; }
.btn-success:hover { background: #1f6e3a; }
.btn-big { padding: 10px 24px; font-size: 16px; }
.w100pct { width: 100%; }
.head { background: white; box-shadow: 0 1px 4px rgba(0,0,0,0.05); padding: 12px 0; position: sticky; top: 0; z-index: 10; }
.flex { display: flex; }
.ai-center { align-items: center; }
.jc-between { justify-content: space-between; }
.logo { display: flex; align-items: center; gap: 8px; font-weight: 800; font-size: 26px; color: #1f2a3e; }
.logo-heart { font-size: 32px; color: #e94e77; }
.logo-accent { color: #2d7a4b; }
.head_menu { display: flex; list-style: none; gap: 28px; margin: 0 20px; }
.head_menu a { text-decoration: none; color: #2c3e50; font-weight: 500; font-size: 15px; display: flex; align-items: center; gap: 8px; }
.bt_top_form ul { display: flex; gap: 12px; list-style: none; }
.bbox { background: white; border-radius: 20px; padding: 24px 28px; margin-bottom: 20px; box-shadow: 0 2px 8px rgba(0,0,0,0.02); border: 1px solid #e6edf2; }
.inp_grd { width: 100%; padding: 12px 16px; border: 1px solid #cbdae3; border-radius: 40px; font-size: 15px; background: #fff; transition: 0.2s; }
.inp_grd:focus { outline: none; border-color: #2d7a4b; box-shadow: 0 0 0 2px rgba(45,122,75,0.1); }
.ta_center { text-align: center; }
.fbold { font-weight: 700; }
.mb10 { margin-bottom: 10px; }
.mb16 { margin-bottom: 16px; }
.mb20 { margin-bottom: 20px; }
.mt10 { margin-top: 10px; }
.mt20 { margin-top: 20px; }
.form-row { margin-bottom: 18px; }
label { display: block; font-weight: 500; font-size: 14px; margin-bottom: 6px; color: #2c3e50; }
.gender-row { display: flex; gap: 20px; align-items: center; margin-top: 5px; }
.gender-row label { display: inline-flex; align-items: center; gap: 6px; font-weight: normal; cursor: pointer; }
select.inp_grd { appearance: none; background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="%23333" stroke-width="2"><polyline points="6 9 12 15 18 9"></polyline></svg>'); background-repeat: no-repeat; background-position: right 16px center; background-size: 14px; }
.age-group { display: flex; gap: 12px; }
.age-group .inp_grd { width: 100px; }
.reg-hint { font-size: 12px; color: #7f8c8d; margin-top: 5px; }
.btn-reg { background: #f7b32b; color: #2c3e2f; font-weight: 700; padding: 12px; font-size: 18px; border-radius: 40px; width: 100%; border: none; cursor: pointer; transition: 0.2s; }
.btn-reg:hover { background: #e5a021; }
.footer_b { background: #1e2a36; color: #cfdfed; padding: 30px 0 40px; margin-top: 40px; }
.footer_link_rules { display: flex; gap: 20px; list-style: none; margin: 10px 0; }
.footer_link_rules a { color: #bfd7e8; text-decoration: none; font-size: 13px; }
.footer_nav { display: flex; flex-wrap: wrap; gap: 40px; margin: 20px 0; }
@media (max-width: 900px) { .head_menu { gap: 14px; margin: 10px 0; } .bbox { padding: 18px; } }
.inline-icon { margin-right: 8px; }
.main-grid { display: flex; gap: 30px; margin: 30px 0; }
.col-center { max-width: 600px; margin: 0 auto; }
.social-reg-row { display: flex; justify-content: center; gap: 12px; margin-top: 20px; }
.social-reg-row .block { background: #f0f4f8; width: 44px; height: 44px; border-radius: 44px; display: flex; align-items: center; justify-content: center; font-size: 24px; color: #3b5c7a; transition: 0.2s; text-decoration: none; }
.social-reg-row .block:hover { background: #e2eaf1; }
hr { margin: 20px 0; border-color: #e2ebf2; }
.errors-block {
    background-color: #fee2e2;
    border-left: 4px solid #e53e3e;
    border-radius: 12px;
    padding: 12px 16px;
    margin-bottom: 20px;
    color: #c53030;
    font-size: 14px;
}

.errors-block ul {
    margin: 0;
    padding-left: 20px;
    list-style-type: disc;
}

.errors-block li {
    margin: 5px 0;
    line-height: 1.4;
}

.errors-block .error-title {
    font-weight: 600;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.errors-block .error-title i {
    font-size: 18px;
}
.toast-message {
    position: fixed;
    bottom: 20px;
    right: 20px;
    background: #333;
    color: #fff;
    padding: 12px 20px;
    border-radius: 8px;
    z-index: 9999;
    font-size: 14px;
    display: flex;
    align-items: center;
    gap: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.2);
    animation: fadeInUp 0.3s ease;
}
.toast-success { background: #2d7a4b; }
.toast-error { background: #c62828; }
@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}
