/* ============================================================
   Form Page — shared layout for Maintenance Request,
   Notice to End Residential Tenancy, Rental Application
   ============================================================ */

/* ---- Section wrapper ---- */
.form-page-section {
	background-color: var(--color-gray-mid);
	padding: var(--section-py) var(--container-pad);
}

/* ---- Card ---- */
.form-page-section__card {
	background: var(--color-white);
	border-radius: var(--radius-lg);
	max-width: 960px;
	margin: 0 auto;
	padding: var(--card-pad);
}

@media (min-width: 992px) {
	.form-page-section__card {
		padding: var(--space-9);
	}
}

/* Rental Application — no outer white box */
.page-rental-application .form-page-section__card {
	background: transparent;
	border-radius: 0;
	padding: 0;
}

/* Rental Application — white box per section */
/* Must replicate GF's grid so gfield--width-half/third still work */
.page-rental-application .gfield_html:has(.rental-section-box) {
	background: var(--color-white);
	border-radius: var(--radius-lg);
	padding: var(--card-pad);
	margin-bottom: var(--space-6);
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	column-gap: 16px;
	align-items: start;
}

@media (min-width: 992px) {
	.page-rental-application .gfield_html:has(.rental-section-box) {
		padding: var(--space-9);
	}
}

.page-rental-application .rental-section-box {
	display: none;
}

/* ============================================================
   Gravity Forms overrides
   ============================================================ */

/* Remove default GF wrapper margin */
.form-page-section__card .gform_wrapper {
	margin: 0 !important;
}

/* Remove default GF section divider */
.gform_wrapper.gravity-theme .gsection {
	border-bottom: none !important;
}

/* Section A–G title size */
.gform_wrapper h2.gsection_title {
	font-size: var(--size-heading); /* 44px via --size-heading: 2.75rem */
}

/* Hide "* indicates required fields" */
.form-page-section__card .gform_required_legend {
	display: none;
}

/* Field spacing */
.form-page-section__card .gfield {
	padding-top: var(--space-3);
	padding-bottom: var(--space-3);
}

.form-page-section__card .gfield--type-html {
	padding-top: var(--space-6);
}

.form-page-section__card .gfield--type-html h3 {
	font-size: var(--size-md-lg);
}

/* Labels */
.form-page-section__card .gfield_label {
	font-size: var(--size-xs) !important;
	font-weight: var(--weight-regular);
	color: var(--color-text-muted);
}

/* Inputs, textareas, selects */
.form-page-section__card input[type="text"],
.form-page-section__card input[type="email"],
.form-page-section__card input[type="tel"],
.form-page-section__card input[type="number"],
.form-page-section__card input[type="date"],
.form-page-section__card select,
.form-page-section__card textarea {
	padding: var(--space-4) var(--space-4) !important;
	min-height: 52px;
	border: 1px solid var(--color-border, #d1d5db);
	border-radius: var(--radius-md);
	font-family: var(--font-body);
	font-size: var(--size-base);
	color: var(--color-text);
	width: 100%;
	box-sizing: border-box;
}

.form-page-section__card input[type="text"]:focus,
.form-page-section__card input[type="email"]:focus,
.form-page-section__card input[type="tel"]:focus,
.form-page-section__card input[type="number"]:focus,
.form-page-section__card input[type="date"]:focus,
.form-page-section__card select:focus,
.form-page-section__card textarea:focus {
	outline: 2px solid var(--color-primary);
	outline-offset: 2px;
	border-color: var(--color-primary);
}

/* Submit button */
.form-page-section__card .gform_button {
	background: var(--color-primary-dark);
	color: var(--color-text-light);
	font-family: var(--font-body);
	font-size: var(--size-base);
	font-weight: var(--weight-medium);
	padding: var(--space-2) var(--space-7);
	min-height: 56px;
	border: none;
	border-radius: var(--radius-lg);
	cursor: pointer;
	transition: background var(--transition-fast);
	white-space: nowrap;
}

.form-page-section__card .gform_button:hover,
.form-page-section__card .gform_button:focus-visible {
	background: var(--color-primary);
}

/* Validation error highlight */
.form-page-section__card .gfield_error input,
.form-page-section__card .gfield_error textarea,
.form-page-section__card .gfield_error select {
	border-color: var(--color-primary);
}

/* Required asterisk */
.form-page-section__card .gfield_required {
	color: var(--color-primary);
}

/* Checkbox / radio labels */
.form-page-section__card .gfield_checkbox label,
.form-page-section__card .gfield_radio label {
	font-size: var(--size-sm);
	color: var(--color-text);
}

/* Checkbox accent color */
.form-page-section__card .gfield_checkbox input[type="checkbox"],
.form-page-section__card .gfield_radio input[type="radio"] {
	accent-color: var(--color-primary);
}

/* File upload */
.form-page-section__card .ginput_container_fileupload input[type="file"] {
	font-size: var(--size-sm);
}
