
.modal {
  border: 1px solid red!important;
  max-width: 100%!important;
    }
    
  
  .form {
    background: white;
    padding: 20px;
    border-radius: 5px;
    box-shadow: 0 0 10px rgba(0,0,0,0.3);
    max-width: 500px;
    width: 100%;
    margin: 20px auto; /* чтобы центрировать на странице */
    }

    .modal h2 {
        font-family: Euclid Circular B;
        font-size: 20px;
        font-weight: 600;
    }

    .modal p {
        margin-top: 15px;
        font-family: Euclid Circular B;
        font-size: 16px;
        margin-bottom: 20px;
        font-weight: 300;
        line-height: 1.5;
    }

    /* Стили формы */
    .b-conf__form {
        width: 100%;
    }

    .grid {
        display: grid;
        gap: 16px;
    }

    .modal__input-wrapper {
        width: 100%;
    }

    .modal__input {
        width: 100%;
        padding: 12px 16px;
        border: 1px solid #DADADA;
        border-radius: 8px;
        font-size: 16px;
        height: 40px;
        transition: border-color 0.3s;
        font-size: 14px;
        font-weight: 300;
    }

    .modal__input:focus {
        outline: none;
        border-color: #F35639;
    }

    .modal__input.error {
        border-color: #e74c3c;
    }

    textarea.modal__input {
        resize: vertical;
        min-height: 80px;
    }

    .error_name,
    .error_email,
    .error_phone,
    .error_message {
        color: #e74c3c;
        font-size: 14px;
        margin-top: 4px;
        display: none;
    }

    label {
        display: flex;
        align-items: flex-start;
        cursor: pointer;
    }

    label input[type="checkbox"] {
        margin-top: 3px;
        margin-right: 8px;
    }

    .small {
        font-size: 14px;
        line-height: 1.4;
    }

    .small a {
        /*color: #007bff;*/
        text-decoration: underline;
    }

    .btn-primary {
        background-color: #007bff;
        color: white;
        border: none;
        border-radius: 4px;
        padding: 12px 24px;
        font-size: 16px;
        cursor: pointer;
        transition: background-color 0.3s;
        width: 100%;
    }

    .btn-primary:hover {
        background-color: #0056b3;
    }

    .btn-primary:disabled {
        background-color: #cccccc;
        cursor: not-allowed;
    }

    /* Мобильная версия */
    @media (max-width: 767px) {
    .modal {

        border-bottom-left-radius: 24px!important;
        border-bottom-right-radius: 24px!important;
        overscroll-behavior: contain;
    }
        .modal h2 {
            font-size: 20px;
            width:90%
        }

        .grid {
            grid-template-columns: 1fr 1fr;
        }

        .full-width-mobile {
            grid-column: span 2 !important;
        }
        
        .modal__wrapper {
            top: 24px;
        }
    }

    /* Десктопная версия */
    @media (min-width: 768px) {
        .grid {
            grid-template-columns: 1fr 1fr 1fr;
        }

        .full-width-desktop {
            grid-column: span 3;
        }
        
        .two-thirds-desktop {
            grid-column: span 2;
        }
    }