/**
 * Godha Estate - Enquiry Form
 * Scoped styles — every selector is prefixed with .gef- to avoid
 * clashing with Elementor Forms, other plugins, or theme styles.
 */

.gef-widget { width: 100%; }
.gef-form-wrap {
	background-color: #FFFFFF;
	border-radius: 16px;
	padding: 36px;
	box-sizing: border-box;
}

/* Header */
.gef-header { text-align: center; margin-bottom: 24px; }
.gef-heading { font-family: 'Playfair Display', Georgia, serif; font-weight: 700; font-size: 30px; color: #122A4E; margin: 0 0 8px; line-height: 1.2; }
.gef-desc { font-family: 'Inter', sans-serif; font-size: 14px; line-height: 1.6; color: #6B7280; margin: 0; }

/* Fields */
.gef-form { display: flex; flex-wrap: wrap; gap: 16px; }
.gef-field { width: 100%; box-sizing: border-box; }
.gef-field--half { width: calc(50% - 8px); }

.gef-field label { display: block; font-family: 'Inter', sans-serif; font-size: 12px; font-weight: 600; color: #4A5568; margin-bottom: 6px; }
.gef-required { color: #D14343; margin-left: 2px; }

.gef-input-wrap { position: relative; display: flex; align-items: center; }
.gef-input-icon { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); color: #8A93A3; font-size: 15px; pointer-events: none; z-index: 1; display: flex; align-items: center; justify-content: center; }
.gef-input-icon i, .gef-input-icon svg { width: 15px; height: 15px; font-size: 15px; fill: currentColor; }
.gef-field-textarea .gef-input-icon { top: 20px; transform: none; }

.gef-field input[type="text"],
.gef-field input[type="email"],
.gef-field input[type="tel"],
.gef-field input[type="number"],
.gef-field input[type="date"],
.gef-field select,
.gef-field textarea {
	width: 100%; box-sizing: border-box;
	font-family: 'Inter', sans-serif; font-size: 14px; color: #122A4E;
	background-color: #FFFFFF; border: 1px solid #E7E9EE; border-radius: 10px;
	padding: 14px 16px 14px 44px;
	transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
	appearance: none; -webkit-appearance: none;
}
.gef-field textarea { min-height: 90px; resize: vertical; }
.gef-field input::placeholder, .gef-field textarea::placeholder { color: #A6AEBB; }
.gef-field input:focus, .gef-field select:focus, .gef-field textarea:focus {
	outline: none; border-color: #C99A44; box-shadow: 0 0 0 3px rgba(201,154,68,0.15);
}
.gef-field select { padding-right: 40px; cursor: pointer; }
.gef-select-caret { position: absolute; right: 16px; top: 50%; transform: translateY(-50%); color: #8A93A3; font-size: 13px; pointer-events: none; display: flex; align-items: center; justify-content: center; }
.gef-select-caret i, .gef-select-caret svg { width: 13px; height: 13px; font-size: 13px; fill: currentColor; }

.gef-options { display: flex; flex-wrap: wrap; gap: 10px 20px; padding: 4px 2px; }
.gef-option-item { display: flex; align-items: center; gap: 8px; font-size: 14px; color: #4A5568; }
.gef-option-item input { width: 16px; height: 16px; accent-color: #C99A44; }

.gef-help-text { display: block; font-size: 12px; color: #8A93A3; margin-top: 6px; }
.gef-field-error { display: none; font-size: 12px; color: #D14343; margin-top: 6px; }
.gef-field.has-error input, .gef-field.has-error select, .gef-field.has-error textarea { border-color: #D14343; }
.gef-field.has-error .gef-field-error { display: block; }

.gef-honeypot { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

/* Submit button */
.gef-submit-wrap { width: 100%; margin-top: 4px; }
.gef-submit {
	width: 100%; display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	font-family: 'Inter', sans-serif; font-weight: 700; font-size: 15px;
	background-color: #C99A44; color: #122A4E; border: 2px solid #C99A44; border-radius: 10px;
	padding: 16px 28px; cursor: pointer;
	transition: background-color .25s ease, color .25s ease;
}
.gef-submit i, .gef-submit svg { width: 14px; height: 14px; font-size: 14px; flex-shrink: 0; fill: currentColor; }
.gef-submit:hover { background-color: #B98A34; }
.gef-submit:disabled { opacity: .7; cursor: not-allowed; }
.gef-spinner { display: none; width: 16px; height: 16px; border-radius: 50%; border: 2px solid rgba(18,42,78,0.3); border-top-color: #122A4E; animation: gef-spin .7s linear infinite; }
.gef-submit.is-loading .gef-spinner { display: inline-block; }
.gef-submit.is-loading .gef-submit-label { opacity: .7; }
@keyframes gef-spin { to { transform: rotate(360deg); } }

/* Success / Error states */
.gef-status { display: none; text-align: center; padding: 20px 0; }
.gef-status.is-visible { display: block; }
.gef-status-icon { font-size: 40px; margin-bottom: 14px; }
.gef-status--success .gef-status-icon { color: #3E8E5A; }
.gef-status--error .gef-status-icon { color: #D14343; }
.gef-status-text { font-family: 'Inter', sans-serif; font-size: 15px; color: #122A4E; line-height: 1.6; max-width: 380px; margin: 0 auto; }
.gef-form.is-hidden, .gef-header.is-hidden { display: none; }

@media (max-width: 767px) {
	.gef-form-wrap { padding: 24px 18px; border-radius: 12px; }
	.gef-heading { font-size: 24px; }
	.gef-field--half { width: 100%; }
}
