/* One contact form presentation for the homepage, contacts and modal. */
.luvit-contact-form { border-radius: 8px; padding: 24px; background: #fff; color: var(--luvit-color-text, #222b29); }
.luvit-contact-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; padding: 0; margin: 0; border: 0; min-width: 0; }
.luvit-contact-fields[hidden], .luvit-contact-fallback[hidden], .luvit-field-error[hidden] { display: none; }
.luvit-contact-field { min-width: 0; }
.luvit-contact-field:first-child, .luvit-contact-field--wide, .luvit-contact-hint, .luvit-contact-fields > .luvit-consent, .luvit-contact-fields > button, .luvit-contact-fields > .luvit-form-status { grid-column: 1 / -1; }
.luvit-contact-field label { display: block; font-size: 13px; font-weight: 600; line-height: 1.4; margin-bottom: 7px; }
.luvit-contact-field input, .luvit-contact-field textarea { display: block; width: 100%; border-radius: 4px; min-height: 46px; background: #fbfcfb; }
.luvit-contact-field textarea { min-height: 96px; }
.luvit-contact-field input:focus-visible, .luvit-contact-field textarea:focus-visible, .luvit-contact-fields input[type="checkbox"]:focus-visible { outline: 2px solid #287d91; outline-offset: 2px; }
.luvit-contact-field [aria-invalid="true"] { border-color: #b42335; background: #fff9f9; }
.luvit-contact-hint { margin: -7px 0 0; font-size: 12px; color: var(--luvit-color-text-muted, #586560); }
.luvit-field-error { display: block; margin-top: 5px; color: #a92335; font-size: 12px; line-height: 1.5; overflow-wrap: anywhere; }
.luvit-contact-fields > .luvit-field-error { margin-top: -10px; }
.luvit-contact-fields .luvit-consent { margin: 0; font-size: 12px; line-height: 1.6; }
.luvit-contact-fields > button { border-radius: 6px; min-height: 48px; gap: 12px; justify-content: space-between; white-space: normal; letter-spacing: 0; }
.luvit-contact-fields > button svg { width: 18px; height: 18px; flex: 0 0 18px; }
.luvit-contact-fields > button:disabled { opacity: .65; cursor: wait; }
.luvit-contact-fields .luvit-form-status { min-height: 0; font-size: 13px; white-space: pre-line; overflow-wrap: anywhere; }
.luvit-contact-fields .luvit-form-status:empty { display: none; }
.luvit-form-status[data-state="error"] { color: #a92335; }
.luvit-form-status[data-state="success"] { color: #27664c; }
.luvit-contact-links { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.luvit-contact-links a { display: inline-flex; gap: 12px; align-items: center; max-width: 100%; min-height: 32px; font-size: 15px; }
.luvit-contact-links a span { min-width: 0; overflow-wrap: anywhere; }
.luvit-contact-links svg { width: 18px; height: 18px; flex: 0 0 18px; color: var(--luvit-color-accent, #e63946); }
.luvit-contact-links a:hover { text-decoration: underline; text-underline-offset: 4px; }
.luvit-contact-links a:focus-visible { outline: 2px solid #287d91; outline-offset: 4px; }
.luvit-contact-fallback:empty { display: none; }
.luvit-modal-panel .luvit-contact-form { padding: 0; border: 0; }
@media (max-width: 599px) {
    .luvit-contact-form { padding: 20px; }
    .luvit-contact-fields { grid-template-columns: minmax(0, 1fr); }
}
