/* TC Contact Form Styles */

/* Form Base Styles */
.tc-form {
    width: 100%;
    margin: 0 auto;
}

.tc-form__fields-wrapper {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-bottom: 1rem;
}

@media screen and (min-width: 768px) {
    .tc-form__fields-wrapper {
        flex-direction: row;
        align-items: flex-start;
    }
}

.tc-form__column {
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 1.5rem;
}

@media screen and (min-width: 768px) {
    .tc-form__column--left {
        flex: 0 0 48%;
    }
    
    .tc-form__column--right {
        flex: 0 0 48%;
    }
}

.tc-form__field {
    margin-bottom: 0;
}

.tc-form__label {
    display: block;
    font-weight: 600;
    margin-bottom: 0.5rem;
    color: #1F3A5F;
}

.tc-form__input,
.tc-form__textarea {
    width: 100%;
    padding: 0.875rem 1.25rem;
    border: 2px solid #ddd;
    border-radius: 50px;
    font-size: 1rem;
    font-family: 'Roboto', sans-serif;
    transition: border-color 0.3s ease;
    box-sizing: border-box;
}

.tc-form__input:focus,
.tc-form__textarea:focus {
    outline: none;
    border-color: #4CAF88;
    box-shadow: 0 0 0 3px rgba(76, 175, 136, 0.1);
}

.tc-form__textarea {
    resize: vertical;
    min-height: 120px;
    border-radius: 20px;
}

.tc-form__submit {
    width: 100%;
    margin-top: 1rem;
}

.tc-form__message {
    margin-top: 1rem;
    padding: 1rem;
    border-radius: 8px;
    font-weight: 500;
}

.tc-form__message--success {
    background-color: rgba(76, 175, 136, 0.1);
    color: #4CAF88;
    border: 2px solid #4CAF88;
}

.tc-form__message--error {
    background-color: rgba(242, 96, 61, 0.1);
    color: #f2603d;
    border: 2px solid #f2603d;
}

.required {
    color: #f2603d;
}

