/* KIERIE Contact Form – styled to the KIERIE Creative Studio brand */
.kierie-cf {
	--kcf-olive: #5f6650;
	--kcf-olive-dark: #444938;
	--kcf-sand: #c6b39a;
	--kcf-sand-soft: rgba(199, 180, 151, 0.18);
	--kcf-rust: #b5663a;
	--kcf-ink: #1d2327;
	--kcf-text: #222222;
	--kcf-muted: #6b6d63;
	--kcf-field: #ffffff;
	--kcf-border: rgba(95, 102, 80, 0.28);
	background: var(--kcf-sand-soft);
	border-radius: 24px;
	padding: clamp(20px, 4vw, 40px);
	color: var(--kcf-text);
	font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	font-weight: 300;
	font-size: 15px;
	line-height: 1.5;
	box-sizing: border-box;
}
.kierie-cf *, .kierie-cf *::before, .kierie-cf *::after { box-sizing: border-box; }
.kierie-cf__form { margin: 0; }

/* Layout */
.kierie-cf__row--2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}
@media (max-width: 600px) {
	.kierie-cf__row--2 { grid-template-columns: 1fr; gap: 0; }
}
.kierie-cf__field { position: relative; margin-bottom: 16px; }

/* Inputs */
.kierie-cf input[type="text"],
.kierie-cf input[type="email"],
.kierie-cf input[type="tel"],
.kierie-cf select,
.kierie-cf textarea {
	display: block;
	width: 100%;
	margin: 0;
	padding: 13px 20px;
	background: var(--kcf-field);
	border: 1px solid var(--kcf-border);
	border-radius: 999px;
	color: var(--kcf-text);
	font: inherit;
	box-shadow: none;
	transition: border-color .2s, box-shadow .2s;
}
.kierie-cf textarea {
	min-height: 130px;
	border-radius: 20px;
	resize: vertical;
}
.kierie-cf input::placeholder,
.kierie-cf textarea::placeholder { color: var(--kcf-muted); opacity: 1; }

.kierie-cf input:focus,
.kierie-cf select:focus,
.kierie-cf textarea:focus {
	outline: none;
	border-color: var(--kcf-olive);
	box-shadow: 0 0 0 3px rgba(95, 102, 80, .18);
}

/* Fields with a leading icon */
.kierie-cf .kierie-cf__field--icon input { padding-left: 48px; }
.kierie-cf__icon {
	position: absolute;
	left: 20px;
	top: 50%;
	width: 15px;
	height: 15px;
	transform: translateY(-50%);
	fill: var(--kcf-olive);
	pointer-events: none;
}

/* Services dropdown */
.kierie-cf__label {
	display: block;
	margin: 8px 0 8px 4px;
	color: var(--kcf-olive);
	font-weight: 400;
}
.kierie-cf select {
	-webkit-appearance: none;
	appearance: none;
	padding-right: 48px;
	cursor: pointer;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235f6650' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 20px center;
	background-size: 18px;
}
.kierie-cf select:invalid,
.kierie-cf select.is-placeholder { color: var(--kcf-muted); }
.kierie-cf select option { color: var(--kcf-text); }

/* Newsletter checkbox */
.kierie-cf__group { margin: 24px 0 0; }
.kierie-cf__check {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0;
	cursor: pointer;
	color: var(--kcf-text);
}
.kierie-cf__check input {
	flex: 0 0 auto;
	width: 17px;
	height: 17px;
	margin: 3px 0 0;
	accent-color: var(--kcf-olive);
	cursor: pointer;
}

/* Button – KIERIE pill style */
.kierie-cf__submit {
	display: inline-block;
	margin-top: 26px;
	padding: 12px 34px;
	background: var(--kcf-olive);
	color: #ffffff;
	border: 1px solid var(--kcf-olive);
	border-radius: 999px;
	font: inherit;
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 2px;
	text-transform: uppercase;
	cursor: pointer;
	transition: background .2s, border-color .2s;
}
.kierie-cf__submit:hover,
.kierie-cf__submit:focus-visible {
	background: var(--kcf-rust);
	border-color: var(--kcf-rust);
}
.kierie-cf__submit:focus-visible { outline: 2px solid var(--kcf-olive-dark); outline-offset: 3px; }
.kierie-cf__submit[disabled] { opacity: .7; cursor: wait; }

/* Notices */
.kierie-cf__notice {
	padding: 14px 20px;
	margin-bottom: 20px;
	border-radius: 16px;
	background: #ffffff;
	border-left: 4px solid;
}
.kierie-cf__notice--success { border-color: var(--kcf-olive); color: var(--kcf-olive-dark); }
.kierie-cf__notice--error { border-color: var(--kcf-rust); color: #8a4523; }

.kierie-cf__field--invalid input { border-color: var(--kcf-rust); }

/* Accessibility helpers */
.kierie-cf__sr {
	position: absolute !important;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
.kierie-cf__hp {
	position: absolute !important;
	left: -9999px;
	width: 1px; height: 1px;
	overflow: hidden;
}
