/* Gravity Forms in de huisstijl — spiegelt .kv-field / .kv-btn uit oxygen.css.
   Alles onder .kv-gform (wrapper uit inc/gravityforms.php), zodat andere GF-formulieren
   ongemoeid blijven. Specificiteit gaat over die van gravity-theme heen. */
.kv-gform .gform_wrapper.gravity-theme { margin: 0; font-family: var(--font-body, inherit); color: var(--ink, #1a2230); }
.kv-gform .gform_wrapper.gravity-theme .gform_fields { grid-row-gap: 18px; grid-column-gap: 18px; }

/* labels */
.kv-gform .gform_wrapper.gravity-theme .gfield_label { font-weight: 600; font-size: .95rem; margin-bottom: 6px; padding: 0; }
.kv-gform .gform_wrapper.gravity-theme .gfield_required { color: var(--ink-3, #6b7280); font-weight: 400; font-style: normal; font-size: .86rem; }
.kv-gform .gform_wrapper.gravity-theme .gfield_description { padding-top: 6px; font-size: .86rem; color: var(--ink-3, #6b7280); }

/* velden */
.kv-gform .gform_wrapper.gravity-theme input[type=text],
.kv-gform .gform_wrapper.gravity-theme input[type=email],
.kv-gform .gform_wrapper.gravity-theme input[type=tel],
.kv-gform .gform_wrapper.gravity-theme select,
.kv-gform .gform_wrapper.gravity-theme textarea {
	width: 100%; min-height: 50px; padding: 12px 14px; border: 1.5px solid var(--line-2, #d6d0c2); border-radius: 10px;
	background: #fff; font: inherit; font-size: 1rem; line-height: 1.4; color: var(--ink, #1a2230);
	transition: border-color .2s, box-shadow .2s;
}
.kv-gform .gform_wrapper.gravity-theme textarea { min-height: 150px; resize: vertical; }
.kv-gform .gform_wrapper.gravity-theme textarea.large { height: 180px; }
.kv-gform .gform_wrapper.gravity-theme ::placeholder { color: var(--ink-3, #6b7280); opacity: .8; }
.kv-gform .gform_wrapper.gravity-theme input:focus,
.kv-gform .gform_wrapper.gravity-theme select:focus,
.kv-gform .gform_wrapper.gravity-theme textarea:focus { outline: none; border-color: var(--blue, #0480ac); box-shadow: 0 0 0 4px rgba(4,128,172,.15); }

/* foto-upload: zelfde zandkleurige, gestippelde zone als het eigen formulier */
.kv-gform .gform_wrapper.gravity-theme .gform_drop_area { padding: 26px 18px; border: 1.5px dashed var(--line-2, #d6d0c2); border-radius: 10px; background: var(--sand, #f2ede1); }
.kv-gform .gform_wrapper.gravity-theme .gform_drop_instructions { display: block; margin-bottom: 10px; color: var(--ink-2, #3b4453); }
.kv-gform .gform_wrapper.gravity-theme .gform_button_select_files {
	min-height: 42px; padding: 9px 16px; border-radius: 999px; border: 1.5px solid var(--line-2, #d6d0c2);
	background: #fff; color: var(--navy, #0c3864); font: inherit; font-weight: 700; font-size: .95rem; cursor: pointer;
}
.kv-gform .gform_wrapper.gravity-theme .gform_button_select_files:hover { border-color: var(--navy, #0c3864); }
.kv-gform .gform_wrapper.gravity-theme .gform_fileupload_rules { display: block; padding-top: 6px; font-size: .86rem; color: var(--ink-3, #6b7280); }
.kv-gform .gform_wrapper.gravity-theme .ginput_preview { margin-top: 8px; font-size: .95rem; }

/* privacyregel */
.kv-gform .gform_wrapper.gravity-theme .gfield--type-html .kv-form__note { margin: 0; font-size: .86rem; color: var(--ink-3, #6b7280); }

/* knop = .kv-btn (navy bij contact, groen bij ophalen); GF 3.x maakt er een <button class="gform_button">, 2.7 een <input type=submit> */
.kv-gform .gform_wrapper.gravity-theme .gform_footer { margin: 8px 0 0; padding: 0; }
.kv-gform .gform_wrapper.gravity-theme .gform_footer .gform_button {
	display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 12px 26px;
	border-radius: 999px; border: 1.5px solid transparent; background: var(--navy, #0c3864); color: #fff;
	font-family: var(--font-body, inherit); font-weight: 700; font-size: 1rem; line-height: 1; cursor: pointer;
	box-shadow: var(--shadow-1, none); transition: transform .2s, background .2s;
}
.kv-gform .gform_wrapper.gravity-theme .gform_footer .gform_button:hover { background: var(--navy-deep, #082846); transform: translateY(-1px); }
.kv-gform--ophaal .gform_wrapper.gravity-theme .gform_footer .gform_button { background: var(--green-dark, #12702f); }
.kv-gform--ophaal .gform_wrapper.gravity-theme .gform_footer .gform_button:hover { background: #0f5d27; }
.kv-gform .gform_wrapper.gravity-theme .gform_ajax_spinner { margin-left: 12px; }

/* fouten en bevestiging */
.kv-gform .gform_wrapper.gravity-theme .gform_validation_errors {
	margin: 0 0 18px; padding: 14px 16px; border: 1.5px solid #c0392b; border-radius: 10px; background: #fdf1ef; box-shadow: none;
}
.kv-gform .gform_wrapper.gravity-theme .gform_validation_errors > h2 { font-size: .95rem; font-weight: 600; color: #a5281b; margin: 0; }
.kv-gform .gform_wrapper.gravity-theme .gform_validation_errors > h2 .gform-icon { display: none; }
.kv-gform .gform_wrapper.gravity-theme .gfield_error input,
.kv-gform .gform_wrapper.gravity-theme .gfield_error select,
.kv-gform .gform_wrapper.gravity-theme .gfield_error textarea { border-color: #c0392b; }
.kv-gform .gform_wrapper.gravity-theme .gfield_error .gfield_label { color: inherit; }
.kv-gform .gform_wrapper.gravity-theme .validation_message { margin-top: 6px; padding: 0; border: 0; background: none; font-size: .86rem; color: #a5281b; }
.kv-gform .gform_confirmation_message {
	padding: 18px 20px; border-radius: 10px; background: var(--green-soft, #e8f3dc); color: var(--green-dark, #12702f); font-weight: 600;
}

@media (max-width: 640px) {
	.kv-gform .gform_wrapper.gravity-theme .gform_footer .gform_button { width: 100%; }
}
