/* Easy Paw — сторінка «Контакти» */

.page-contacts { padding: 40px 0 60px; }

.page-contacts__title {
    margin-bottom: var(--gap-xl);
    font-size: 28px;
    line-height: 1.25;
    font-weight: var(--fw-bold);
}

/* flex-grow: 1 на обох колонках — інакше зайва ширина йде в проміжок, а не в колонки */
.page-contacts__grid {
    display: flex;
    align-items: flex-start;
    gap: var(--gap-xl);
}

.contacts-info { flex: 1 1 500px; }

/* ── Ліва колонка: контакти ─────────────────────────────────────────────── */
.contacts-info__list {
    display: flex;
    flex-direction: column;
    gap: var(--gap-md);
    margin-bottom: var(--gap-lg);
    list-style: none;
}

.contacts-info__link {
    display: inline-flex;
    align-items: center;
    gap: var(--gap-sm);
    color: var(--color-text);
    transition: color var(--transition);
}

.contacts-info__link svg { flex: 0 0 auto; color: var(--color-primary); }

.contacts-info__link:hover { color: var(--color-primary); }

.contacts-info__socials {
    display: flex;
    align-items: center;
    gap: var(--gap-md);
    margin-bottom: var(--gap-xl);
    list-style: none;
}

.contacts-info__social {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: var(--radius-circle);
    background: var(--color-bg-alt);
    color: var(--color-primary);
    transition: background var(--transition), color var(--transition);
}

.contacts-info__social:hover {
    background: var(--color-primary);
    color: var(--color-white);
}

.contacts-info__hours {
    padding: var(--gap-lg);
    border-radius: var(--radius);
    background: var(--color-bg-alt);
}

.contacts-info__hours-title {
    margin-bottom: var(--gap-md);
    font-size: var(--fs-h4);
    line-height: 1.3;
    color: var(--color-primary);
}

.contacts-info__hours-text p { margin-bottom: var(--gap-sm); }
.contacts-info__hours-text p:last-child { margin-bottom: 0; }

/* ── Права колонка: форма ───────────────────────────────────────────────── */
.contacts-form { flex: 1 1 560px; }

.contacts-form__title {
    margin-bottom: var(--gap-sm);
    font-size: var(--fs-h4);
    line-height: 1.3;
}

.contacts-form__intro {
    margin-bottom: var(--gap-lg);
    color: var(--color-text-muted);
}

/* ── JetFormBuilder — приводимо до стилю теми ──────────────────────────── */
.contacts-form__widget .jet-form-builder-row { margin-bottom: var(--gap-lg); }

.contacts-form__widget .jet-form-builder__label,
.contacts-form__widget .jfb-label-el {
    display: block;
    margin-bottom: var(--gap-sm);
    font-weight: var(--fw-bold);
}

.contacts-form__widget .jet-form-builder__field,
.contacts-form__widget input[type="text"],
.contacts-form__widget input[type="email"],
.contacts-form__widget input[type="tel"],
.contacts-form__widget textarea {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    background: var(--color-bg);
    color: var(--color-text);
    font-family: inherit;
    font-size: var(--fs-body);
    line-height: 1.4;
    transition: border-color var(--transition);
}

.contacts-form__widget textarea {
    min-height: 140px;
    resize: vertical;
}

.contacts-form__widget input:focus,
.contacts-form__widget textarea:focus {
    outline: none;
    border-color: var(--color-primary);
}

.contacts-form__widget .jet-form-builder__field.jfb-error,
.contacts-form__widget input.jfb-error,
.contacts-form__widget textarea.jfb-error {
    border-color: var(--color-sale);
}

.contacts-form__widget .jfb-error-message {
    display: block;
    margin-top: var(--gap-xs);
    color: var(--color-sale);
    font-size: var(--fs-small);
}

.contacts-form__widget button[type="submit"],
.contacts-form__widget .jet-form-builder__submit {
    padding: 12px 32px;
    border: 0;
    border-radius: var(--radius);
    background: var(--color-primary);
    color: var(--color-white);
    font-family: inherit;
    font-size: var(--fs-body);
    font-weight: var(--fw-bold);
    text-transform: uppercase;
    letter-spacing: .5px;
    cursor: pointer;
    transition: background var(--transition);
}

.contacts-form__widget button[type="submit"]:hover,
.contacts-form__widget .jet-form-builder__submit:hover {
    background: var(--color-accent);
}

.contacts-form__widget .jet-form-builder-messages-wrap,
.contacts-form__widget .jet-form-builder-message {
    margin: 0;
    padding: 0;
    border: 0;
}

.contacts-form__widget .jet-form-builder-message--success { color: var(--color-primary); }
.contacts-form__widget .jet-form-builder-message--fail    { color: var(--color-sale); }

/* ── Tablet ─────────────────────────────────────────────────────────────── */
@media (max-width: 1023px) {
    .page-contacts { padding: 30px 0 50px; }

    .page-contacts__grid {
        flex-direction: column;
        gap: var(--gap-xl);
    }

    .contacts-info,
    .contacts-form { flex-basis: auto; width: 100%; }
}

/* ── Mobile ─────────────────────────────────────────────────────────────── */
@media (max-width: 767px) {
    .page-contacts { padding: 20px 0 40px; }

    .page-contacts__title { font-size: 24px; }

    .contacts-info__hours { padding: var(--gap-md); }
}
