/* FieldKit Forms — frontend with layout support */
.fkf-form {
	max-width: 640px;
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 16px;
}

.fkf-form .fkf-field {
	grid-column: span 6; /* Default: full width */
}

.fkf-form .fkf-field.fkf-layout-full {
	grid-column: span 6;
}

.fkf-form .fkf-field.fkf-layout-half {
	grid-column: span 3; /* 2 per row on desktop */
}

.fkf-form .fkf-field.fkf-layout-third {
	grid-column: span 2; /* 3 per row on desktop */
}

.fkf-form .fkf-submit-row {
	grid-column: span 6; /* Button row always full width */
}

/* Form fields */
.fkf-form .fkf-label { display: block; font-weight: 600; margin-bottom: 6px; }
.fkf-form .fkf-req { color: #c0392b; }
.fkf-form input[type="text"],
.fkf-form input[type="email"],
.fkf-form input[type="tel"],
.fkf-form input[type="number"],
.fkf-form input[type="date"],
.fkf-form select,
.fkf-form textarea {
	width: 100%; padding: 10px 12px; border: 1px solid #c9cdd2;
	border-radius: 6px; font: inherit; background: #fff; box-sizing: border-box;
}
.fkf-form select[multiple] {
	min-height: 120px;
}
.fkf-form input:focus, .fkf-form select:focus, .fkf-form textarea:focus {
	outline: 2px solid #2271b1; outline-offset: 1px; border-color: #2271b1;
}
.fkf-form .fkf-choices { display: flex; flex-direction: column; gap: 6px; }
.fkf-form .fkf-choice { font-weight: 400; display: flex; align-items: center; gap: 8px; }
.fkf-form .fkf-submit {
	padding: 11px 26px; border: none; border-radius: 6px; cursor: pointer;
	background: #2271b1; color: #fff; font: inherit; font-weight: 600;
}
.fkf-form .fkf-submit:hover { background: #195a8c; }
.fkf-form .fkf-submit:disabled { opacity: .6; cursor: wait; }
.fkf-form .fkf-error { color: #c0392b; font-size: .875em; display: block; margin-top: 4px; }
.fkf-form .fkf-message { padding: 12px 14px; border-radius: 6px; margin-top: 16px; grid-column: span 3; }
.fkf-form .fkf-message.is-success { background: #e9f6ec; color: #1d6b32; border: 1px solid #bfe3c8; }
.fkf-form .fkf-message.is-error { background: #fbeaea; color: #9b2c2c; border: 1px solid #f0c4c4; }
.fkf-form .fkf-hp { position: absolute !important; left: -9999px !important; height: 1px; width: 1px; overflow: hidden; }

/* Responsive: tablets and down */
@media (max-width: 768px) {
	.fkf-form {
		grid-template-columns: repeat(2, 1fr);
		gap: 14px;
	}
	
	.fkf-form .fkf-field.fkf-layout-full,
	.fkf-form .fkf-submit-row,
	.fkf-form .fkf-message {
		grid-column: span 2;
	}
	
	.fkf-form .fkf-field.fkf-layout-half {
		grid-column: span 1; /* Full width on tablets */
	}
	
	.fkf-form .fkf-field.fkf-layout-third {
		grid-column: span 1; /* 2 per row on tablets */
	}
}

/* Responsive: phones */
@media (max-width: 480px) {
	.fkf-form {
		grid-template-columns: 1fr;
		gap: 12px;
	}
	
	.fkf-form .fkf-field,
	.fkf-form .fkf-field.fkf-layout-full,
	.fkf-form .fkf-field.fkf-layout-half,
	.fkf-form .fkf-field.fkf-layout-third,
	.fkf-form .fkf-submit-row,
	.fkf-form .fkf-message {
		grid-column: span 1;
	}
}
