/*
 * Craftis Form widget — frontend styles. Layout/structure only; colors,
 * borders, typography, and button appearance are all driven by Elementor
 * Style-tab controls (class-form.php) via inline {{WRAPPER}} selectors —
 * this file supplies the defaults those controls override and everything
 * Elementor controls don't cover (grid layout, honeypot, message states).
 */

.craftis-form__fields {
	display: flex;
	flex-wrap: wrap;
	row-gap: 20px;
	column-gap: 20px;
}

.craftis-form__field {
	display: flex;
	flex-direction: column;
	gap: 6px;
	width: 100%;
}

.craftis-form__field--w75 { width: calc(75% - 10px); }
.craftis-form__field--w66 { width: calc(66.666% - 13.33px); }
.craftis-form__field--w50 { width: calc(50% - 10px); }
.craftis-form__field--w33 { width: calc(33.333% - 13.33px); }
.craftis-form__field--w25 { width: calc(25% - 15px); }

@media (max-width: 600px) {
	.craftis-form__field--w75,
	.craftis-form__field--w66,
	.craftis-form__field--w50,
	.craftis-form__field--w33,
	.craftis-form__field--w25 {
		width: 100%;
	}
}

.craftis-form__label {
	font-family: var(--font-body, 'Jost'), sans-serif;
	font-size: 0.875rem;
	color: var(--color-text, #1F1E1B);
}

.craftis-form__required {
	color: var(--color-brand-red, #C8202F);
}

.craftis-form__control {
	width: 100%;
	box-sizing: border-box;
	font-family: var(--font-body, 'Jost'), sans-serif;
	font-size: 0.9375rem;
	background-color: #FFFFFF;
	color: var(--color-text, #1F1E1B);
	border: 1px solid var(--color-line, #E2DFDA);
	padding: 14px 16px;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.craftis-form__control:focus {
	outline: none;
	border-color: var(--color-primary, #1F1E1B);
}

textarea.craftis-form__control {
	resize: vertical;
	min-height: 120px;
}

select.craftis-form__control {
	cursor: pointer;
}

.craftis-form__options {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.craftis-form__option {
	display: flex;
	align-items: center;
	gap: 8px;
	font-family: var(--font-body, 'Jost'), sans-serif;
	font-size: 0.9375rem;
	color: var(--color-text, #1F1E1B);
	cursor: pointer;
}

.craftis-form__option input {
	width: 16px;
	height: 16px;
	cursor: pointer;
}

.craftis-form__option--single {
	font-size: 0.875rem;
}

.craftis-form__submit-row {
	display: flex;
	margin-top: 8px;
}

.craftis-form__submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid transparent;
	font-family: var(--font-body, 'Jost'), sans-serif;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	cursor: pointer;
	transition: opacity 0.2s ease;
}

.craftis-form.is-submitting .craftis-form__submit {
	opacity: 0.6;
	pointer-events: none;
}

/* Honeypot: off-screen, not display:none — some bots skip fields whose
 * computed style is display:none/visibility:hidden, fewer skip a field
 * merely positioned off the visible canvas. */
.craftis-form__honeypot {
	position: absolute;
	left: -9999px;
	top: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.craftis-form__message {
	margin-top: 16px;
	padding: 12px 16px;
	font-family: var(--font-body, 'Jost'), sans-serif;
	font-size: 0.875rem;
}

.craftis-form__message.is-success {
	background-color: rgba(143, 160, 137, 0.15);
	color: #4a5a45;
}

.craftis-form__message.is-error {
	background-color: rgba(200, 32, 47, 0.1);
	color: var(--color-brand-red, #C8202F);
}

.craftis-form__notice {
	padding: 24px;
	background-color: var(--color-bg-warm, #F1F0ED);
	color: var(--color-text-muted, #6E6E6C);
	text-align: center;
}
