/**
 * gravity-forms.css
 * =========================================================================
 * Gravity Forms renders its own markup and class names (.gform_wrapper,
 * .gfield, .ginput_container, .gform_button, etc.) — none of which match
 * this theme's design tokens out of the box. Without this file, the
 * Contact/Events/Accommodations/Newsletter forms would look like generic
 * default Gravity Forms output dropped into an otherwise fully custom-
 * designed site. Every rule below targets GF's real output classes
 * (verified against GF's standard/Orbital markup) and maps them onto the
 * same --pnc-* design tokens as the rest of the theme.
 *
 * Two contexts are styled differently: the larger enquiry forms
 * (Contact/Events/Accommodations, wrapped in .pnc-enquiry-form-wrap) get
 * the same multi-column field grid the old hand-rolled forms used; the
 * compact footer Newsletter form gets an inline single-row treatment.
 */

/* ---------- Shared base (both contexts) ---------- */
.pnc-enquiry-form-wrap .gform_wrapper,
.pnc-footer__newsletter .gform_wrapper {
	font-family: var(--pnc-font-body);
	margin-top: 0;
}
.pnc-enquiry-form-wrap h2 { margin-bottom: 4px; }

.gfield_label {
	font-size: 12.5px !important;
	font-weight: 700 !important;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--pnc-muted);
	margin-bottom: 7px !important;
}
.pnc-footer__newsletter .gfield_label { display: none; } /* placeholder carries the label in the compact footer form */

.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="tel"],
.gform_wrapper input[type="number"],
.gform_wrapper input[type="date"],
.gform_wrapper select,
.gform_wrapper textarea {
	width: 100% !important;
	border: 1px solid var(--pnc-border) !important;
	border-radius: var(--pnc-radius-sm) !important;
	padding: 14px !important;
	font-size: 15.5px !important;
	font-family: var(--pnc-font-body) !important;
	background: var(--pnc-cream) !important;
	color: var(--pnc-ink) !important;
	line-height: 1.4;
}
.gform_wrapper textarea { min-height: 110px; resize: vertical; }

.gform_wrapper .gform_footer,
.gform_wrapper .gform_page_footer {
	margin-top: 8px !important;
	padding: 0 !important;
}
.gform_wrapper .gform_button {
	display: inline-flex; align-items: center; justify-content: center;
	font-weight: 700; font-size: 15.5px; padding: 15px 26px;
	border-radius: var(--pnc-radius-pill); border: none;
	background: var(--pnc-accent); color: var(--pnc-green-900);
	cursor: pointer; transition: background .2s ease;
}
.gform_wrapper .gform_button:hover { background: var(--pnc-green-800); color: var(--pnc-cream); }

/* Validation + confirmation messaging */
.gform_wrapper .gfield_error input, .gform_wrapper .gfield_error select, .gform_wrapper .gfield_error textarea {
	border-color: var(--pnc-danger) !important;
}
.gform_wrapper .validation_message, .gform_wrapper .gfield_description.validation_message {
	color: var(--pnc-danger); font-size: 13px; margin-top: 6px;
}
.gform_confirmation_message { font-size: 15.5px; color: var(--pnc-green-700); font-weight: 600; }

/* ---------- Enquiry forms (Contact / Events / Accommodations): multi-column grid ---------- */
.pnc-enquiry-form-wrap .gform_fields {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 14px 20px;
	list-style: none; margin: 20px 0 0; padding: 0;
}
.pnc-enquiry-form-wrap .gfield { list-style: none; }
/* Textarea and the checkbox "Requirements" field read better spanning the full row width. */
.pnc-enquiry-form-wrap .gfield--type-textarea,
.pnc-enquiry-form-wrap .gfield_type_textarea,
.pnc-enquiry-form-wrap .gfield--type-checkbox,
.pnc-enquiry-form-wrap .gfield_type_checkbox {
	grid-column: 1 / -1;
}

/* Requirements checkboxes: GF's native list, lightly restyled to sit
   comfortably alongside the rest of the brand rather than reproducing the
   old JS-driven pill toggle exactly. */
.pnc-enquiry-form-wrap .gfield_checkbox { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.pnc-enquiry-form-wrap .gfield_checkbox li { list-style: none; }
.pnc-enquiry-form-wrap .gfield_checkbox label {
	display: inline-flex; align-items: center; gap: 8px;
	border: 1px solid var(--pnc-border); border-radius: var(--pnc-radius-pill);
	padding: 10px 15px; font-size: 13.5px; font-weight: 600; color: var(--pnc-muted);
	text-transform: none; letter-spacing: normal; cursor: pointer;
}
.pnc-enquiry-form-wrap .gfield_checkbox input[type="checkbox"] { accent-color: var(--pnc-accent); width: 15px; height: 15px; }

/* ---------- Newsletter form (footer): compact inline row ---------- */
.pnc-footer__newsletter .gform_wrapper form { display: flex; gap: 8px; margin-top: 14px; }
.pnc-footer__newsletter .gform_fields { list-style: none; margin: 0; padding: 0; flex: 1; }
.pnc-footer__newsletter .gfield { list-style: none; }
.pnc-footer__newsletter .gform_wrapper input[type="email"] {
	background: rgba(251,248,241,0.08) !important;
	border: 1px solid rgba(251,248,241,0.22) !important;
	color: var(--pnc-cream) !important;
	padding: 13px 14px !important;
}
.pnc-footer__newsletter .gform_wrapper input[type="email"]::placeholder { color: rgba(251,248,241,0.5); }
.pnc-footer__newsletter .gform_footer { margin-top: 0 !important; }
.pnc-footer__newsletter .gform_confirmation_message { color: var(--pnc-cream); font-size: 13.5px; margin-top: 10px; }

@media (max-width: 700px) {
	.pnc-footer__newsletter .gform_wrapper form { flex-direction: column; align-items: stretch; }
}
