/* ===== БЛОК КОНТАКТЫ ===== */
.contacts {
    background-color: #f4f6fa;
    padding: 80px 0;
    font-family: 'Roboto', Arial, sans-serif;
}

.contacts__container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.contacts__grid {
    display: flex;
    gap: 60px;
    align-items: start;
    justify-content: space-between;
}

/* Левая колонка */
.contacts__info {
    display: flex;
    flex-direction: column;
    gap: 30px;
    width: 50%;
}

.contacts__title {
    font-size: 38px;
    font-family: 'Arial', Arial, sans-serif;
    line-height: 1.4;
    font-weight: 700;
    color: #000000;
    margin: 0 0 30px 0;
}

.contacts__phone {
    font-size: 26px;
    font-family: 'Roboto', Arial, sans-serif;
    line-height: 1.85;
    font-weight: 500;
    color: #000000;
    opacity: 0.8;
    margin: 0;
}

.contacts__phone a {
    color: #000000;
    text-decoration: none;
}

.contacts__email {
    font-size: 26px;
    font-family: 'Roboto', Arial, sans-serif;
    line-height: 1.85;
    font-weight: 500;
    color: #000000;
    opacity: 0.8;
    margin: 0;
}

.contacts__email a {
    color: #000000;
    text-decoration: none;
}

.contacts__schedule {
    font-size: 16px;
    font-family: 'Roboto', Arial, sans-serif;
    line-height: 1.4;
    font-weight: 400;
    color: #000000;
    opacity: 0.8;
    margin: 0;
}

.contacts__requisites-link {
    font-size: 16px;
    font-family: 'Roboto', Arial, sans-serif;
    line-height: 1.4;
    font-weight: 400;
    color: #000000;
    opacity: 0.8;
    margin: 0;
}

.contacts__requisites-link a {
    color: #000000;
    text-decoration: underline;
}

.contacts__address {
    font-size: 17px;
    font-family: 'Roboto', Arial, sans-serif;
    line-height: 1.4;
    font-weight: 400;
    color: #000000;
    opacity: 0.8;
    margin: 0;
    max-width: 411px;
}

/* Правая колонка - форма */
.contacts__form {
    width: 480px;
    
}

.contacts__form--desktop {
    display: flex;
    width: 50%;
    justify-content: right;
}

.contacts__form--mobile {
    display: none;
}

/* Элементы формы */
.contacts__form-group {
    margin-bottom: 20px;
}

.contacts__form-label {
    display: block;
    font-size: 15px;
    font-weight: 400;
    color: #454343;
    margin-bottom: 5px;
    font-family: 'Roboto', Arial, sans-serif;
}

.contacts__form-input {
    -webkit-appearance: none;
    border:none;
    border-bottom: 1px solid #6b6767;
    border-radius: 0;
    box-sizing: border-box;
    font-size: 16px;
    height: 50px;
    line-height: 1.33;
    margin: 0;
    outline: none;
    padding: 0 20px;
    width: 100%;
    background-color: #fff;
    color: #000000;
    font-family: 'Roboto', Arial, sans-serif;
}

.contacts__form-input:focus {
    border-color: #7ba6db;
}

.contacts__form-input::placeholder {
    color: #000000;
    opacity: 0.5;
}

/* Телефон с кодом */
.contacts__phone-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    height: 50px;
    border-bottom: 1px solid #6b6767;
    background-color: #fff;
    overflow: hidden;
    box-sizing: border-box;
}

.contacts__phone-select {
    display: flex;
    align-items: center;
    height: 100%;
    padding: 0 8px 0 12px;
    background-color: transparent;
    
    cursor: pointer;
    position: relative;
    flex-shrink: 0;
}

.contacts__phone-flag {
    width: 20px;
    height: 15px;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 480"><g fill-rule="evenodd" stroke-width="1pt"><path fill="%23fff" d="M0 0h640v480H0z"/><path fill="%230052b4" d="M0 160h640v320H0z"/><path fill="%23d62718" d="M0 320h640v160H0z"/></g></svg>');
    background-size: cover;
    margin-right: 5px;
}

.contacts__phone-code {
    font-size: 16px;
    color: #000000;
    margin-right: 4px;
}

.contacts__phone-triangle {
    width: 0;
    height: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 5px solid #000;
    margin-left: 2px;
}

.contacts__phone-input {
    flex: 1;
    height: 100%;
    padding: 0 14px;
    font-size: 16px;
    color: #000000;
    background-color: transparent;
    border: none;
    outline: none;
    font-family: 'Roboto', Arial, sans-serif;
}

.contacts__phone-input::placeholder {
    color: #000000;
    opacity: 0.5;
}

/* Кнопка отправки */
.contacts__form-submit {
    -webkit-appearance: none;
    background-image: none;
    background: #7ba6db;
    border: 0;
    box-sizing: border-box;
    cursor: pointer;
    font-size: 16px;
    font-weight: 600;
    height: 60px;
    margin: 10px 0 0 0;
    outline: none;
    padding: 0 60px;
    text-align: center;
    white-space: nowrap;
    color: #fff;
    width: 100%;
    font-family: 'Roboto', Arial, sans-serif;
    transition: background-color 0.2s ease;
}

.contacts__form-submit:hover {
    background-color: #6a93c2;
}

/* Текст согласия */
.contacts__form-agreement {
    font-size: 13px;
    font-family: 'Roboto', Arial, sans-serif;
    line-height: 1.7;
    font-weight: 400;
    color: #000000;
    opacity: 0.85;
    margin-top: 20px;
}

.contacts__form-agreement a {
    color: #000000;
    font-weight: 700;
    text-decoration: none;
}

.contacts__form-agreement a:hover {
    text-decoration: underline;
}

/* Ошибки */
.contacts__form-error {
    color: #f95d51;
    display: none;
    font-size: 13px;
    margin-top: 5px;
}

.contacts__form.contacts__form--desktop{
    
}

/* Адаптивность */
@media screen and (max-width: 960px) {
    .contacts {
        padding: 60px 0;
    }
    
    .contacts__grid {
       
        gap: 50px;
    }
    
    .contacts__title {
        font-size: 32px;
    }
    
    .contacts__phone,
    .contacts__email {
        font-size: 24px;
    }
    
    .contacts__form {
        max-width: 100%;
    }
}

@media screen and (max-width: 640px) {
    .contacts {
        padding: 50px 0;
    }
    .contacts__grid {
        flex-direction: column;
        
    }
    .contacts__title {
        font-size: 29px;
    }
    .contacts__form--desktop{
        width:100%
    }
    .contacts__info{
        width:100%;
    }
    .contacts__phone,
    .contacts__email {
        font-size: 23px;
        line-height: 1.55;
    }
    
    .contacts__schedule,
    .contacts__requisites-link {
        font-size: 14px;
    }
    
    .contacts__address {
        font-size: 17px;
        line-height: 1.6;
    }
    
    .contacts__form-submit {
        padding: 0 30px;
        white-space: normal;
    }
}

@media screen and (max-width: 480px) {
    .contacts {
        padding: 40px 0;
    }
    
    .contacts__title {
        font-size: 29px;
        line-height: 1.35;
    }
    
    .contacts__form-agreement {
        font-size: 13px;
        line-height: 1.6;
        opacity: 0.8;
    }
    
    /* На мобильных меняем формы */
    .contacts__form--desktop {
        
    }
    
    .contacts__form--mobile {
        display: block;
    }
}