.fluentform .ff-el-form-control,
.fct-checkout input:not([type=checkbox]):not([type=radio]),
.fct-checkout select {
	border: 1px solid var(--wp--preset--color--border-tertiary);
	border-radius: var(--wp--custom--radius--md);
	background: var(--wp--preset--color--white);
	box-shadow: var(--wp--preset--shadow--xs);
	padding: 0.625em 0.875em;
	font: inherit;
	font-size: var(--wp--preset--font-size--text-md);
	color: var(--wp--preset--color--text-primary);
}
.fluentform .ff-el-form-control::placeholder { color: var(--wp--preset--color--text-quaternary); }
.fluentform .ff-el-input--label label {
	font-size: var(--wp--preset--font-size--text-sm);
	font-weight: 500;
	color: var(--wp--preset--color--text-secondary);
}
.fluentform .ff-btn-submit {
	background: var(--wp--preset--color--brand-600) !important;
	color: var(--wp--preset--color--white) !important;
	font-family: inherit;
	font-size: var(--wp--preset--font-size--text-md);
	line-height: 1.5;
	border: 1px solid var(--wp--preset--color--brand-600);
	border-radius: var(--wp--custom--radius--md);
	box-shadow: var(--wp--preset--shadow--xs-skeuomorphic);
	font-weight: 600;
	padding: 9px 16px !important;
}
.fluentform .ff-btn-submit:hover { background: var(--wp--preset--color--brand-700) !important; }
.fluentform .error, .fluentform .text-danger { color: #D92D20; font-size: var(--wp--preset--font-size--text-sm); }

/* Footer newsletter: email + Subscribe inline on desktop, stacked on mobile (as in Bricks) */
.subfort-newsletter .frm-fluent-form fieldset { display: flex; gap: 1rem; align-items: flex-start; }
.subfort-newsletter .frm-fluent-form .ff-el-group { margin-bottom: 0; }
.subfort-newsletter .frm-fluent-form .ff-el-group:not(.ff_submit_btn_wrapper) { width: 232px; }
.subfort-newsletter .frm-fluent-form .ff-el-form-control { height: 44px; }
@media (min-width: 600px) { .subfort-newsletter { width: 360px; } }
.subfort-newsletter .frm-fluent-form .ff-el-input--label { display: none; }
@media (max-width: 599px) {
	.subfort-newsletter { width: 100%; }
	.subfort-newsletter .frm-fluent-form fieldset { flex-direction: column; align-items: stretch; }
	.subfort-newsletter .frm-fluent-form .ff-el-group:not(.ff_submit_btn_wrapper) { width: auto; }
	.subfort-newsletter .ff-btn-submit { width: 100%; }
}

/* Contact form (Bricks layout: names side by side, labels with brand asterisk, full-width button) */
.subfort-contact-form .frm-fluent-form fieldset { display: grid; grid-template-columns: 1fr 1fr; column-gap: 1.5rem; row-gap: 1.5rem; }
.subfort-contact-form .frm-fluent-form fieldset > * { grid-column: 1 / -1; margin-bottom: 0 !important; }
.subfort-contact-form .frm-fluent-form fieldset > .subfort-half { grid-column: auto; }
.subfort-contact-form .ff-el-input--label { margin-bottom: 6px; }
.subfort-contact-form .ff-el-is-required.asterisk-right label::after { color: var(--wp--preset--color--brand-600) !important; margin-left: 2px !important; }
.subfort-contact-form .ff-el-tc { display: flex; gap: 12px; align-items: center; }
.subfort-contact-form .ff-el-tc input[type=checkbox] { width: 20px; height: 20px; margin: 0; border-radius: 6px; accent-color: var(--wp--preset--color--brand-600); }
.subfort-contact-form .ff-el-form-control { height: 44px; }
.subfort-contact-form textarea.ff-el-form-control { height: 134px; }
.subfort-contact-form .ff-el-tc { color: var(--wp--preset--color--text-tertiary); }
.subfort-contact-form .ff-el-tc a { color: inherit; text-decoration: underline; }
.subfort-contact-form .ff_submit_btn_wrapper { margin-top: 0.5rem; }
.subfort-contact-form .ff-btn-submit { width: 100%; }
@media (max-width: 599px) { .subfort-contact-form .frm-fluent-form fieldset { grid-template-columns: 1fr; } }
