/* Contact form — ChaltaFarm-style (Elementor / CF7 / WPForms) */
:root {
	--aryarama-accent: #03427e;
	--aryarama-accent-dark: #0d2137;
	--aryarama-accent-soft: rgba(3, 66, 126, 0.12);
	--aryarama-surface: #ffffff;
	--aryarama-border: rgba(15, 23, 42, 0.12);
	--aryarama-text: #111827;
}

/* Contact page: breathing room from section edges */
body[class*="contact"] .elementor-widget-form .elementor-widget-container,
body[class*="contact"] .elementor-shortcode,
.page-contact-us .elementor-widget-form .elementor-widget-container,
.page-contact-us .elementor-shortcode {
	max-width: 980px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 24px;
	padding-right: 24px;
	box-sizing: border-box;
}

/* Form card (Elementor native form widget) */
.elementor-widget-form .elementor-form {
	width: 100% !important;
	max-width: 980px !important;
	margin: 0 auto;
	padding: 28px 32px;
	border: 1px solid rgba(15, 23, 42, 0.06);
	border-radius: 18px;
	background: var(--aryarama-surface);
	box-shadow: 0 18px 50px rgba(15, 23, 42, 0.06);
	box-sizing: border-box;
}

/* =========================================================
   Contact Form 7 — ChaltaFarm 2-column field layout
   ========================================================= */
.wpcf7 {
	max-width: 980px;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}

body[class*="contact"] .wpcf7,
.page-contact-us .wpcf7,
.elementor .wpcf7 {
	padding-left: 24px;
	padding-right: 24px;
}

.wpcf7 form.wpcf7-form {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 18px 22px !important;
	align-items: start !important;
	padding: 28px 32px;
	border: 1px solid rgba(15, 23, 42, 0.06);
	border-radius: 18px;
	background: var(--aryarama-surface);
	box-shadow: 0 18px 50px rgba(15, 23, 42, 0.06);
	box-sizing: border-box;
}

.wpcf7 form.wpcf7-form .hidden-fields-container {
	display: none;
}

/* Each CF7 field row */
.wpcf7 form.wpcf7-form > p,
.wpcf7 form.wpcf7-form > .wpcf7-form-row {
	display: block;
	margin: 0 !important;
	grid-column: span 1;
	min-width: 0;
}

/* Full-width rows */
.wpcf7 form.wpcf7-form > p:has(textarea),
.wpcf7 form.wpcf7-form > p:has(input[type="submit"]),
.wpcf7 form.wpcf7-form > p:has(button),
.wpcf7 form.wpcf7-form > p:has(.wpcf7-acceptance),
.wpcf7 form.wpcf7-form > .wpcf7-form-row:has(textarea),
.wpcf7 form.wpcf7-form > .wpcf7-form-row:has(input[type="submit"]),
.wpcf7 form.wpcf7-form > .wpcf7-form-row:has(button),
.wpcf7 form.wpcf7-form > .wpcf7-response-output,
.wpcf7 form.wpcf7-form .wpcf7-response-output {
	grid-column: 1 / -1 !important;
}

/* CF7 field wrappers */
.wpcf7 form.wpcf7-form .wpcf7-form-control-wrap {
	display: block;
	width: 100%;
}

.wpcf7 form.wpcf7-form label {
	display: block;
	margin: 0 0 6px;
	color: var(--aryarama-text);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.3;
}

/* Placeholder-only fields: hide empty label line */
.wpcf7 form.wpcf7-form p:has(input[placeholder]) > label:empty,
.wpcf7 form.wpcf7-form p:has(textarea[placeholder]) > label:empty {
	display: none;
	margin: 0;
}

/* Submit alignment (left, like ChaltaFarm) */
.wpcf7 form.wpcf7-form p:has(input[type="submit"]),
.wpcf7 form.wpcf7-form p:has(button) {
	display: flex !important;
	justify-content: flex-start;
	align-items: center;
	gap: 10px;
	margin-top: 4px !important;
}

.wpcf7 form.wpcf7-form .wpcf7-not-valid-tip {
	margin-top: 6px;
	font-size: 12px;
}

.wpcf7 form.wpcf7-form .wpcf7-spinner {
	margin-left: 10px;
}

/* Override Elementor flex → 2-column grid */
.elementor-widget-form .elementor-form .elementor-form-fields-wrapper {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 18px 22px !important;
	align-items: start !important;
}

.elementor-widget-form .elementor-form .elementor-field-group {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	flex: none !important;
	grid-column: span 1 !important;
}

.elementor-widget-form .elementor-form .elementor-field-group.elementor-column {
	width: 100% !important;
}

/* Full-width rows (Elementor form widget) */
.elementor-widget-form .elementor-form .elementor-field-group.elementor-field-type-textarea,
.elementor-widget-form .elementor-form .elementor-field-group.elementor-field-type-submit,
.elementor-widget-form .elementor-form .elementor-field-group.elementor-field-type-acceptance,
.elementor-widget-form .elementor-form .elementor-field-group.elementor-field-type-checkbox,
.elementor-widget-form .elementor-form .elementor-field-group.elementor-field-type-radio {
	grid-column: 1 / -1 !important;
}

.elementor-widget-form .elementor-form .elementor-col-100 {
	grid-column: span 1 !important;
}

.elementor-widget-form .elementor-form .elementor-field-group.elementor-col-100.elementor-field-type-textarea,
.elementor-widget-form .elementor-form .elementor-field-group.elementor-col-100.elementor-field-type-submit,
.elementor-widget-form .elementor-form .elementor-field-group.elementor-col-100.elementor-field-type-acceptance,
.elementor-widget-form .elementor-form .elementor-field-group.elementor-col-100.elementor-field-type-checkbox,
.elementor-widget-form .elementor-form .elementor-field-group.elementor-col-100.elementor-field-type-radio {
	grid-column: 1 / -1 !important;
}

/* Labels */
.elementor-widget-form .elementor-form .elementor-field-label {
	margin-bottom: 6px;
	color: var(--aryarama-text);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.3;
}

.elementor-widget-form .elementor-form .elementor-mark-required {
	color: var(--aryarama-accent);
}

/* Inputs — ChaltaFarm light rounded fields */
.elementor-widget-form .elementor-form .elementor-field,
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 input[type="number"],
.wpcf7 select,
.wpcf7 textarea,
.wpforms-container input[type="text"],
.wpforms-container input[type="email"],
.wpforms-container input[type="tel"],
.wpforms-container input[type="url"],
.wpforms-container select,
.wpforms-container textarea {
	width: 100% !important;
	min-height: 52px;
	padding: 14px 18px !important;
	border: 1px solid var(--aryarama-border) !important;
	border-radius: 12px !important;
	background: #f9fafb !important;
	color: var(--aryarama-text) !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	line-height: 1.3;
	box-shadow: none !important;
	transition: border-color 0.15s ease, background-color 0.15s ease;
	box-sizing: border-box !important;
}

.elementor-widget-form .elementor-form .elementor-field::placeholder,
.wpcf7 input::placeholder,
.wpcf7 textarea::placeholder {
	color: rgba(17, 24, 39, 0.45);
	font-weight: 500;
}

.elementor-widget-form .elementor-form .elementor-field:focus,
.wpcf7 input:focus,
.wpcf7 select:focus,
.wpcf7 textarea:focus {
	outline: none !important;
	border-color: var(--aryarama-accent) !important;
	background: #ffffff !important;
	box-shadow: 0 0 0 3px var(--aryarama-accent-soft) !important;
}

/* Textarea */
.elementor-widget-form .elementor-form textarea.elementor-field,
.wpcf7 textarea,
.wpforms-container textarea {
	min-height: 200px !important;
	resize: vertical;
}

/* Submit — ChaltaFarm dark navy button */
.elementor-widget-form .elementor-form .elementor-field-group.elementor-field-type-submit {
	display: flex !important;
	justify-content: flex-start !important;
	margin-top: 4px !important;
}

.elementor-widget-form .elementor-form .elementor-button,
.wpcf7 input[type="submit"],
.wpcf7 button[type="submit"],
.wpforms-container button[type="submit"],
.wpforms-container input[type="submit"] {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 12px 28px !important;
	border: none !important;
	border-radius: 10px !important;
	background: var(--aryarama-accent-dark) !important;
	color: #ffffff !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	letter-spacing: 0.01em;
	box-shadow: none !important;
	cursor: pointer;
	transition: background-color 0.15s ease, transform 0.15s ease;
}

.elementor-widget-form .elementor-form .elementor-button:hover,
.elementor-widget-form .elementor-form .elementor-button:focus,
.wpcf7 input[type="submit"]:hover,
.wpcf7 input[type="submit"]:focus,
.wpcf7 button[type="submit"]:hover,
.wpcf7 button[type="submit"]:focus {
	background: #081a2c !important;
	color: #ffffff !important;
	transform: translateY(-1px);
	outline: none;
}

.wpcf7 .wpcf7-response-output {
	border-radius: 12px;
	padding: 12px 14px;
}

@media (max-width: 768px) {
	body[class*="contact"] .elementor-widget-form .elementor-widget-container,
	body[class*="contact"] .elementor-shortcode,
	.page-contact-us .elementor-shortcode {
		padding-left: 16px;
		padding-right: 16px;
	}

	body[class*="contact"] .wpcf7,
	.page-contact-us .wpcf7,
	.elementor .wpcf7 {
		padding-left: 16px;
		padding-right: 16px;
	}

	.wpcf7 form.wpcf7-form {
		grid-template-columns: 1fr !important;
		gap: 14px !important;
		padding: 20px 16px;
	}

	.elementor-widget-form .elementor-form {
		padding: 20px 16px;
	}

	.elementor-widget-form .elementor-form .elementor-form-fields-wrapper {
		grid-template-columns: 1fr !important;
		gap: 14px !important;
	}

	.elementor-widget-form .elementor-form textarea.elementor-field,
	.wpcf7 textarea {
		min-height: 160px !important;
	}
}

/* RTL — Contact Form 7 (loads with contact-form.css on all pages) */
body.rtl .wpcf7,
html[dir="rtl"] .wpcf7,
body.rtl .wpcf7 form.wpcf7-form,
html[dir="rtl"] .wpcf7 form.wpcf7-form,
.wpcf7 form.wpcf7-form[dir="rtl"] {
	direction: rtl !important;
	text-align: right;
}

body.rtl .wpcf7 form.wpcf7-form > p,
body.rtl .wpcf7 form.wpcf7-form > .wpcf7-form-row,
html[dir="rtl"] .wpcf7 form.wpcf7-form > p,
html[dir="rtl"] .wpcf7 form.wpcf7-form > .wpcf7-form-row {
	direction: rtl;
	text-align: right;
}

body.rtl .wpcf7 form.wpcf7-form label,
html[dir="rtl"] .wpcf7 form.wpcf7-form label {
	text-align: right;
}

body.rtl .wpcf7 input[type="text"],
body.rtl .wpcf7 input[type="email"],
body.rtl .wpcf7 input[type="tel"],
body.rtl .wpcf7 input[type="url"],
body.rtl .wpcf7 input[type="number"],
body.rtl .wpcf7 select,
body.rtl .wpcf7 textarea,
html[dir="rtl"] .wpcf7 input[type="text"],
html[dir="rtl"] .wpcf7 input[type="email"],
html[dir="rtl"] .wpcf7 input[type="tel"],
html[dir="rtl"] .wpcf7 input[type="url"],
html[dir="rtl"] .wpcf7 input[type="number"],
html[dir="rtl"] .wpcf7 select,
html[dir="rtl"] .wpcf7 textarea {
	direction: rtl;
	text-align: right;
}

body.rtl .wpcf7 form.wpcf7-form p:has(input[type="submit"]),
body.rtl .wpcf7 form.wpcf7-form p:has(button),
html[dir="rtl"] .wpcf7 form.wpcf7-form p:has(input[type="submit"]),
html[dir="rtl"] .wpcf7 form.wpcf7-form p:has(button) {
	justify-content: flex-start;
}

body.rtl .wpcf7 .wpcf7-spinner,
html[dir="rtl"] .wpcf7 .wpcf7-spinner {
	margin-left: 0;
	margin-right: 10px;
}
