/* ── Форми JetFormBuilder: оформлення під тему ───────────────────────────────
 * Розмітка належить плагіну (класи jet-form-builder__*), тому стилі тут —
 * один компонент для всіх форм сайту.
 */
.jet-form-builder { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4) var(--space-5); align-items: start; width: 100%; max-width: 100%; min-width: 0; }

.jet-form-builder .jet-form-builder-row { display: grid !important; flex-direction: column; gap: var(--space-2); width: 100%; min-width: 0; margin: 0; }
.jet-form-builder .jet-form-builder__label,
.jet-form-builder .jet-form-builder__field-wrap { width: 100%; max-width: 100%; flex: none; }
.jet-form-builder__field-wrap { display: grid; gap: var(--space-2); min-width: 0; }

.jet-form-builder__label-text { font-size: var(--fs-sm); font-weight: var(--fw-medium); color: var(--color-heading); }
.jet-form-builder__required { color: var(--color-error); }

.jet-form-builder__field {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    min-height: 48px;
    padding: var(--space-3) var(--space-4);
    font-family: inherit;
    font-size: var(--fs-sm);
    color: var(--color-heading);
    background: var(--color-bg);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    transition: border-color var(--transition);
}
.jet-form-builder__field:hover,
.jet-form-builder__field:focus { border-color: var(--color-primary); outline: 0; }
textarea.jet-form-builder__field { min-height: 160px; resize: vertical; }

.jet-form-builder__action-button,
.jet-form-builder__submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 220px;
    min-height: 48px;
    padding: var(--space-3) var(--space-6);
    font-size: var(--fs-sm);
    font-weight: var(--fw-medium);
    letter-spacing: var(--ls-caps);
    text-transform: uppercase;
    color: var(--color-on-primary);
    background: var(--color-primary);
    border: 1px solid var(--color-primary);
    border-radius: var(--radius-sm);
    cursor: pointer;
    transition: background-color var(--transition);
}
.jet-form-builder__action-button:hover,
.jet-form-builder__submit:hover { background: var(--color-primary-hover); border-color: var(--color-primary-hover); }

.jet-form-builder-message,
.jet-form-builder__field-error { font-size: var(--fs-sm); }
.jet-form-builder-message--success { padding: var(--space-4) var(--space-5); color: var(--color-success); background: #eef6f0; border: 1px solid #cfe5d5; border-radius: var(--radius); }
.jet-form-builder-message--error,
.jet-form-builder-message--validation-failed { padding: var(--space-4) var(--space-5); color: var(--color-error); background: #fbeeed; border: 1px solid #f0cbc8; border-radius: var(--radius); }
.jet-form-builder__field-error { color: var(--color-error); }

/* Широкі рядки — на обидві колонки; кнопка по центру */
.jet-form-builder .field-type-textarea-field,
.jet-form-builder .field-type-submit-field,
.jet-form-builder .jet-form-builder-messages-wrap { grid-column: 1 / -1; }
.jet-form-builder .field-type-submit-field,
.jet-form-builder .field-type-submit-field .jet-form-builder__field-wrap { justify-items: center; text-align: center; margin-top: var(--space-3); }

/* Підписи — у плейсхолдери (їх виставляє js/pages/contacts.js); без JS лишаються підписи */
.jet-form-builder.has-placeholders .jet-form-builder__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.jet-form-builder__field::placeholder { color: var(--color-muted); opacity: 1; }
.jet-form-builder .jet-form-builder__submit-wrap { justify-content: center; }

/* ── Адаптив ────────────────────────────────────────────────────────────── */
@media (max-width: 599px) {
    .jet-form-builder { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 767px) {
    .jet-form-builder__action-button,
    .jet-form-builder__submit { width: 100%; min-width: 0; }
}
