/**
 * PIKK form fields — Gravity Forms + native inputs.
 * Spec: Field DOC (52px height, 8px radius, Space Grotesk 15/Medium).
 */

.pikk-field,
.gform_wrapper .gfield input[type="text"],
.gform_wrapper .gfield input[type="email"],
.gform_wrapper .gfield input[type="tel"],
.gform_wrapper .gfield input[type="url"],
.gform_wrapper .gfield input[type="number"],
.gform_wrapper .gfield input[type="password"],
.gform_wrapper .gfield input[type="date"],
.gform_wrapper .gfield select,
.gform_wrapper .gfield textarea,
.wp-block-search__input {
	display: block;
	width: 100%;
	min-height: 52px;
	padding: 14px 16px;
	border: 1.5px solid var(--wp--preset--color--border, #e0dbcf);
	border-radius: var(--wp--custom--radius--control, 8px);
	background: var(--wp--preset--color--surface, #fff);
	color: var(--wp--preset--color--ink, #0d2b1d);
	font-family: var(--wp--preset--font-family--sans, "Space Grotesk", system-ui, sans-serif);
	font-size: 15px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: -0.1px;
	appearance: none;
	transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}

.pikk-field::placeholder,
.gform_wrapper .gfield input::placeholder,
.gform_wrapper .gfield textarea::placeholder {
	color: var(--wp--preset--color--muted, #8a968e);
	font-weight: 400;
}

.pikk-field:hover,
.gform_wrapper .gfield input:hover,
.gform_wrapper .gfield select:hover,
.gform_wrapper .gfield textarea:hover {
	border-color: var(--wp--custom--color--tile-pressed, #e0dbcf);
}

.pikk-field:focus,
.gform_wrapper .gfield input:focus,
.gform_wrapper .gfield select:focus,
.gform_wrapper .gfield textarea:focus,
.wp-block-search__input:focus {
	outline: none;
	border-color: var(--wp--preset--color--accent, #02b666);
	box-shadow: 0 0 0 3px rgba(2, 182, 102, 0.2);
}

.pikk-field:disabled,
.gform_wrapper .gfield input:disabled,
.gform_wrapper .gfield select:disabled,
.gform_wrapper .gfield textarea:disabled {
	background: var(--wp--preset--color--canvas, #f4f1e8);
	color: var(--wp--preset--color--muted, #8a968e);
	cursor: not-allowed;
}

.pikk-field--error,
.gform_wrapper .gfield_error input,
.gform_wrapper .gfield_error select,
.gform_wrapper .gfield_error textarea {
	border-color: var(--wp--preset--color--alert, #a63a2e);
}

.pikk-field--error:focus,
.gform_wrapper .gfield_error input:focus,
.gform_wrapper .gfield_error select:focus,
.gform_wrapper .gfield_error textarea:focus {
	box-shadow: 0 0 0 3px rgba(166, 58, 46, 0.18);
}

.gform_wrapper .gfield textarea,
.pikk-field--textarea {
	min-height: 140px;
	resize: vertical;
}

/* Select with caret */
.pikk-field-select,
.gform_wrapper .gfield select {
	padding-right: 44px;
	background-image: url("../img/icons/caret-down.svg");
	background-repeat: no-repeat;
	background-position: right 14px center;
	background-size: 18px 18px;
	cursor: pointer;
}

.pikk-label,
.gform_wrapper .gfield_label {
	display: block;
	margin-bottom: 8px;
	font-family: var(--wp--preset--font-family--sans, "Space Grotesk", system-ui, sans-serif);
	font-size: 14.5px;
	font-weight: 500;
	line-height: 1.4;
	color: var(--wp--preset--color--ink, #0d2b1d);
}

.pikk-hint,
.gform_wrapper .gfield_description,
.gform_wrapper .gfield .instruction,
.gform_wrapper .gform_fileupload_rules {
	margin-top: 6px;
	font-size: 13.5px;
	line-height: 1.45;
	color: var(--wp--preset--color--ink, #0d2b1d);
}

.gform_wrapper .validation_message,
.pikk-error {
	margin-top: 6px;
	font-size: 13.5px;
	font-weight: 500;
	color: var(--wp--preset--color--alert, #a63a2e);
}

.gform_wrapper .gfield {
	margin-bottom: 20px;
}

.gform_wrapper .gform_footer,
.gform_wrapper .gform_page_footer {
	margin-top: 8px;
	padding: 0;
	border: 0;
}

.gform_wrapper .gform_button,
.gform_wrapper .gform_next_button,
.gform_wrapper .gform_previous_button,
.gform_wrapper input[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 48px;
	padding: 12px 20px;
	border: 1.5px solid var(--wp--preset--color--accent, #02b666);
	border-radius: var(--wp--custom--radius--md, 12px);
	background: var(--wp--preset--color--accent, #02b666);
	color: #fff;
	font-family: var(--wp--preset--font-family--sans, "Space Grotesk", system-ui, sans-serif);
	font-size: 15px;
	font-weight: 500;
	line-height: 1.3;
	cursor: pointer;
	transition: background-color 0.15s ease, border-color 0.15s ease;
}

.gform_wrapper .gform_button:hover,
.gform_wrapper .gform_next_button:hover,
.gform_wrapper input[type="submit"]:hover {
	background: var(--wp--preset--color--accent-hover, #029954);
	border-color: var(--wp--preset--color--accent-hover, #029954);
}

.gform_wrapper .gform_previous_button {
	background: var(--wp--preset--color--canvas, #f4f1e8);
	border-color: var(--wp--preset--color--canvas, #f4f1e8);
	color: var(--wp--preset--color--ink, #0d2b1d);
}

.gform_wrapper .gform_previous_button:hover {
	background: var(--wp--custom--color--tile-hover, #ebe6d8);
	border-color: var(--wp--custom--color--tile-hover, #ebe6d8);
}

/* Checkbox / radio */
.gform_wrapper .gfield_checkbox label,
.gform_wrapper .gfield_radio label,
.pikk-check {
	display: inline-flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 15px;
	line-height: 1.45;
	color: var(--wp--preset--color--body, #4a5a50);
	cursor: pointer;
}

.gform_wrapper .gfield_checkbox input[type="checkbox"],
.gform_wrapper .gfield_radio input[type="radio"] {
	width: 18px;
	height: 18px;
	margin-top: 2px;
	accent-color: var(--wp--preset--color--accent, #02b666);
}
