/* ========== Premier Request Care Form — Full Styling ========== */

/* Field labels (Name, Email, Phone Number etc.) */
.elementor-field-group .elementor-field-label {
    font-size: 14.5px !important;
    font-weight: 700 !important;
    color: #0e2a52 !important;
    margin-bottom: 8px !important;
}

/* Text, Email, Tel, Textarea, Select inputs — consistent size/padding */
.elementor-field-textual,
.elementor-field-type-textarea textarea,
.elementor-field-type-select select,
.elementor-field-type-date input,
.elementor-field-type-time input {
    background: #fbfbfa !important;
    border: 1.5px solid #e4e7eb !important;
    border-radius: 6px !important;
    padding: 13px 15px !important;
    font-size: 14.5px !important;
    font-family: 'Segoe UI', Arial, sans-serif !important;
    color: #233246 !important;
    min-height: 48px !important;
    width: 100% !important;
    box-shadow: none !important;
    transition: border-color .2s ease;
}

/* Textarea specific height */
.elementor-field-type-textarea textarea {
    min-height: 120px !important;
    padding-top: 13px !important;
}

/* Focus state — green border like the rest of the site */
.elementor-field-textual:focus,
.elementor-field-type-textarea textarea:focus,
.elementor-field-type-select select:focus {
    border-color: #4c8c3a !important;
    outline: none !important;
}

/* Placeholder color */
.elementor-field-textual::placeholder,
.elementor-field-type-textarea textarea::placeholder {
    color: #8a97a8 !important;
    opacity: 1 !important;
}

/* Required asterisk color */
.elementor-mark-required .elementor-field-label:after {
    color: #4c8c3a !important;
}

/* Radio buttons (Time: Morning/Afternoon etc.) — same card style as checkboxes */
.elementor-field-type-radio .elementor-field-subgroup {
    display: flex !important;
    flex-wrap: wrap;
    gap: 12px;
}
.elementor-field-type-radio .elementor-field-option {
    display: flex !important;
    align-items: center;
    gap: 8px;
    background: #f7f7f4;
    border: 1px solid #e4e7eb;
    border-radius: 30px;
    padding: 9px 18px;
    margin: 0 !important;
    cursor: pointer;
    transition: border-color .2s ease;
}
.elementor-field-type-radio .elementor-field-option:hover {
    border-color: #4c8c3a;
}
.elementor-field-type-radio .elementor-field-option label {
    font-size: 13.5px;
    color: #233246;
    margin: 0;
    cursor: pointer;
}
.elementor-field-type-radio .elementor-field-option input[type="radio"] {
    width: 16px;
    height: 16px;
    accent-color: #4c8c3a;
    margin: 0;
}

/* Submit button */
.elementor-field-type-submit .elementor-button {
    background: #4c8c3a !important;
    color: #fff !important;
    border: none !important;
    border-radius: 6px !important;
    padding: 16px 36px !important;
    font-size: 15.5px !important;
    font-weight: 700 !important;
    min-height: 52px !important;
    width: auto !important;
    transition: background .2s ease;
}
.elementor-field-type-submit .elementor-button:hover {
    background: #3c7030 !important;
}

/* Success / error messages */
.elementor-message.elementor-message-success {
    background: #eaf5e6 !important;
    border: 1px solid #4c8c3a !important;
    color: #3c7030 !important;
    border-radius: 6px !important;
    padding: 14px 18px !important;
}
.elementor-message.elementor-message-danger {
    background: #fdecec !important;
    border: 1px solid #d9534f !important;
    color: #a83a35 !important;
    border-radius: 6px !important;
    padding: 14px 18px !important;
}

/* Type of Care Needed - card style checkboxes */
.elementor-field-type-checkbox .elementor-field-subgroup {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 14px 20px;
}
.elementor-field-type-checkbox .elementor-field-option {
    display: flex !important;
    align-items: center;
    gap: 10px;
    background: #f7f7f4;
    border: 1px solid #e4e7eb;
    border-radius: 6px;
    padding: 14px 16px;
    margin: 0 !important;
    cursor: pointer;
    transition: border-color .2s ease;
}
.elementor-field-type-checkbox .elementor-field-option:hover {
    border-color: #4c8c3a;
}
.elementor-field-type-checkbox .elementor-field-option label {
    font-size: 14.5px;
    font-weight: 600;
    color: #0e2a52;
    margin: 0;
    cursor: pointer;
}
.elementor-field-type-checkbox .elementor-field-option input[type="checkbox"] {
    width: 17px;
    height: 17px;
    accent-color: #4c8c3a;
    margin: 0;
    flex-shrink: 0;
}

/* ========== Responsive ========== */

/* Tablet */
@media (max-width: 1024px) {
    .elementor-field-type-checkbox .elementor-field-subgroup {
        grid-template-columns: 1fr 1fr;
    }
}

/* Mobile */
@media (max-width: 767px) {
    .elementor-field-type-checkbox .elementor-field-subgroup {
        grid-template-columns: 1fr;
    }
    .elementor-field-type-radio .elementor-field-subgroup {
        flex-direction: column;
        align-items: stretch;
    }
    .elementor-field-type-radio .elementor-field-option {
        border-radius: 6px;
    }
    .elementor-field-textual,
    .elementor-field-type-textarea textarea,
    .elementor-field-type-select select {
        font-size: 16px !important; /* prevents iOS zoom-in on focus */
    }
    .elementor-field-type-submit .elementor-button {
        width: 100% !important;
    }
}

/* header link color */
a {
    background-color: transparent;
    color: #002D62;
    text-decoration: none;
}