.rooah-form-wrapper {
--rooah-primary: #2271b1;
--rooah-primary-hover: #1d5d8d;
--rooah-text: #1f2937;
--rooah-text-muted: #6b7280;
--rooah-border: #d1d5db;
--rooah-border-focus: #2271b1;
--rooah-bg: #fff;
--rooah-error: #b91c1c;
--rooah-error-bg: #fef2f2;
--rooah-success: #166534;
--rooah-success-bg: #dcfce7;
--rooah-radius: 6px;
--rooah-input-height: 40px;
--rooah-font-size: 15px;
--rooah-spacing: 14px; --rooah-form-padding: 1.25rem;
max-width: 100%;
padding: var(--rooah-form-padding);
box-sizing: border-box;
} .rooah-form-wrapper :where(button, input, select, textarea) {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
font-family: inherit;
font-size: var(--rooah-font-size);
line-height: normal;
letter-spacing: normal;
text-transform: none;
color: var(--rooah-text);
background: none;
border: 0;
border-radius: 0;
box-shadow: none;
margin: 0;
padding: 0;
width: auto;
max-width: 100%;
min-width: 0;
display: inline-block;
box-sizing: border-box;
font-weight: normal;
opacity: 1;
transition: none;
}
.rooah-form-wrapper :where(select) { background-image: none; } .rooah-form-wrapper :where(input[type="checkbox"], input[type="radio"]) {
-webkit-appearance: auto;
-moz-appearance: auto;
appearance: auto;
width: auto;
}
.rooah-form { display: flex; flex-wrap: wrap; gap: var(--rooah-spacing); margin: 0 0 24px; }
.rooah-form:last-child { margin-bottom: 0; } .rooah-field { width: var(--rooah-field-width, 100%); display: flex; flex-direction: column; position: relative; float: none; clear: both; }
@media (max-width: 600px) { .rooah-field { width: var(--rooah-field-mobile-width, 100%); } }
.rooah-field-label { display: block; font-weight: 600; font-size: 14px; color: var(--rooah-text); margin-bottom: 6px; }
.rooah-required { color: var(--rooah-error); margin-left: 2px; } .rooah-form-wrapper .rooah-field-input { width: 100%; min-height: var(--rooah-input-height); padding: 8px 12px; font-size: var(--rooah-font-size); color: var(--rooah-text); background: var(--rooah-bg); border: 1px solid var(--rooah-border); border-radius: var(--rooah-radius); box-sizing: border-box; transition: border-color 0.15s, box-shadow 0.15s; }
.rooah-form-wrapper .rooah-field-input:focus { border-color: var(--rooah-border-focus); outline: none; box-shadow: 0 0 0 3px rgba(34, 113, 177, 0.15); }
.rooah-form-wrapper .rooah-field-textarea { min-height: 100px; resize: vertical; }
.rooah-form-wrapper .rooah-field-select, .rooah-form-wrapper .rooah-field-multiselect { background-image: linear-gradient(45deg, transparent 50%, var(--rooah-text-muted) 50%), linear-gradient(135deg, var(--rooah-text-muted) 50%, transparent 50%); background-position: calc(100% - 18px) 50%, calc(100% - 12px) 50%; background-size: 6px 6px; background-repeat: no-repeat; -webkit-appearance: none; appearance: none; padding-right: 32px; }
.rooah-form-wrapper .rooah-field-multiselect { background-image: none; -webkit-appearance: listbox; appearance: listbox; padding-right: 12px; }
.rooah-field-help { font-size: 13px; color: var(--rooah-text-muted); margin: 4px 0 0; } .rooah-field-radio-group, .rooah-field-checkbox-group { display: flex; flex-direction: column; gap: 8px; }
.rooah-radio-label, .rooah-checkbox-label { display: flex; align-items: center; gap: 8px; font-size: 14px; color: var(--rooah-text); cursor: pointer; }
.rooah-radio-label input, .rooah-checkbox-label input { margin: 0; }
.rooah-consent-label { display: flex; align-items: flex-start; gap: 10px; font-size: 14px; color: var(--rooah-text); cursor: pointer; padding: 4px 0; }
.rooah-consent-label input { margin: 4px 0 0; flex-shrink: 0; }
.rooah-consent-text a { color: var(--rooah-primary); text-decoration: underline; } .rooah-field-section { width: 100%; padding-top: 8px; }
.rooah-section-title { font-size: 16px; font-weight: 700; margin: 0 0 4px; color: var(--rooah-text); border-bottom: 1px solid var(--rooah-border); padding-bottom: 6px; }
.rooah-section-description { font-size: 13px; color: var(--rooah-text-muted); margin: 8px 0 0; } .rooah-field-errors { font-size: 13px; color: var(--rooah-error); margin-top: 4px; }
.rooah-field-error .rooah-field-input { border-color: var(--rooah-error); background: var(--rooah-error-bg); }
.rooah-form-error { width: 100%; padding: 12px 14px; background: var(--rooah-error-bg); border: 1px solid var(--rooah-error); border-radius: var(--rooah-radius); color: var(--rooah-error); font-size: 14px; } .rooah-form-success { padding: 16px; background: var(--rooah-success-bg); border: 1px solid var(--rooah-success); border-radius: var(--rooah-radius); color: var(--rooah-success); font-size: 15px; } .rooah-form-submit { width: 100%; }
.rooah-form-wrapper .rooah-submit-button { background: var(--rooah-primary); color: #fff; padding: 10px 24px; font-size: var(--rooah-font-size); font-weight: 600; border: 0; border-radius: var(--rooah-radius); cursor: pointer; transition: background 0.15s, opacity 0.15s; min-height: var(--rooah-input-height); text-decoration: none; }
.rooah-form-wrapper .rooah-submit-button:hover:not(:disabled),
.rooah-form-wrapper .rooah-submit-button:focus:not(:disabled) { background: var(--rooah-primary-hover); color: #fff; text-decoration: none; }
.rooah-form-wrapper .rooah-submit-button:disabled { opacity: 0.7; cursor: not-allowed; }
.rooah-submit-button.is-loading .rooah-submit-spinner { display: inline-block; } .rooah-theme-minimal { --rooah-radius: 0; --rooah-border: #1f2937; }
.rooah-theme-minimal .rooah-submit-button { background: #1f2937; }
.rooah-theme-minimal .rooah-submit-button:hover:not(:disabled) { background: #111827; } .rooah-theme-rounded { --rooah-radius: 24px; --rooah-input-height: 44px; }
.rooah-theme-rounded .rooah-submit-button { padding-left: 28px; padding-right: 28px; } .rooah-form-captcha { margin: 14px 0; }
.rooah-form-captcha--recaptcha-v2 .g-recaptcha { display: inline-block; }  .rooah-form-submit--full { flex-basis: 100%; }
.rooah-form-wrapper .rooah-submit-button--full { width: 100%; display: block; } .rooah-field-name-row {
display: flex;
flex-wrap: wrap;
gap: var(--rooah-spacing);
}
.rooah-field-name-row .rooah-field-name-part {
flex: 1 1 0;
min-width: 0;
}
.rooah-field-name-row .rooah-field-name-part-label {
display: block;
font-size: 12px;
color: var(--rooah-text-muted);
margin: 4px 0 0;
} @media (max-width: 380px) {
.rooah-field-name-row { flex-direction: column; }
} .rooah-field-address {
display: grid;
grid-template-columns: 1fr;
gap: var(--rooah-spacing);
}
.rooah-field-address-part {
display: block;
min-width: 0;
}
.rooah-field-address-part-label {
display: block;
font-size: 12px;
color: var(--rooah-text-muted);
margin: 4px 0 0;
} @media (min-width: 600px) {
.rooah-field-address {
grid-template-columns: repeat(3, 1fr);
} .rooah-field-address-row-full {
grid-column: 1 / -1;
} .rooah-field-address-row-third {
grid-column: span 1;
}
} .rooah-field-file-wrap {
display: flex;
flex-direction: column;
gap: 4px;
}
.rooah-field-file-hint {
color: var(--rooah-text-muted);
font-size: 12px;
}
.rooah-field-file-existing {
margin: 4px 0 0;
font-size: 13px;
color: var(--rooah-text-muted);
}
.rooah-field-file-existing a {
color: var(--rooah-primary, #2563eb);
}