.contact-section {
    padding: 1rem 0 0;
}

.contact-shell {
    max-width: 920px;
    margin: 0 auto;
}

.contact-info-grid {
    margin-bottom: 2rem;
}

.contact-info-card {
    background: #fff;
    border: 1px solid #e6e9ef;
    border-radius: 16px;
    box-shadow: 0 8px 24px rgba(17, 24, 39, 0.06);
    padding: 1.4rem 1.5rem;
    height: 100%;
}

.contact-info-card .text-block {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: .5rem;
    height: 100%;
}

.contact-info-card h3 {
    display: flex;
    align-items: center;
    gap: .55rem;
    margin-bottom: 0;
    color: #111827;
}

.contact-info-card p,
.contact-info-card a {
    margin: 0;
    color: #4b5563;
    word-break: break-word;
}

.contact-form-wrap {
    max-width: 100%;
    margin: 0;
}

.contact-form-card {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    box-shadow: 0 12px 34px rgba(17, 24, 39, 0.08);
    padding: clamp(1.35rem, 2.2vw, 2.35rem);
}

.contact-form {
    width: 100%;
}

.contact-form .row {
    --bs-gutter-x: 1.25rem;
    --bs-gutter-y: 1rem;
}

.contact-form__label {
    font-weight: 600;
    color: #1f2937;
    display: inline-block;
    margin-bottom: .5rem;
}

.contact-form__input,
.contact-form__textarea {
    border: 1px solid #d1d5db;
    border-radius: 10px;
    background: #fff;
    padding: .75rem .9rem;
}

.contact-form__textarea {
    min-height: 180px;
    resize: vertical;
}

.contact-form__input:focus,
.contact-form__textarea:focus {
    border-color: #ea7a12;
    box-shadow: 0 0 0 .2rem rgba(234, 122, 18, .15);
}

.contact-form__actions {
    margin-top: .35rem;
}

.contact-form__submit {
    min-width: 220px;
    justify-content: center;
}

.contact-form__submit[disabled] {
    opacity: .7;
    cursor: not-allowed;
}

.contact-form__feedback {
    margin-top: .3rem;
    padding: .75rem 1rem;
    border-radius: 10px;
    font-weight: 500;
}

.contact-form__feedback--success {
    background: #ecfdf3;
    color: #166534;
    border: 1px solid #bbf7d0;
}

.contact-form__feedback--error {
    background: #fef2f2;
    color: #991b1b;
    border: 1px solid #fecaca;
}

@media (max-width: 991.98px) {
    .contact-info-grid {
        margin-bottom: 1.5rem;
    }

    .contact-form-card {
        padding: 1.25rem;
    }
}

@media (max-width: 767.98px) {
    .contact-section {
        padding-top: .5rem;
    }

    .contact-info-card {
        padding: 1.1rem 1rem;
    }

    .contact-form__actions {
        margin-top: .6rem;
    }

    .contact-form__submit {
        width: 100%;
        min-width: 0;
    }
}
