/* kz_form: estilos base mínimos (el tema puede sobreescribirlos o quitar el handle 'kz-forms'). */
.kz-form { --kz-form-gap: 12px; --kz-form-border: #000; --kz-form-accent: #ff0615; --kz-form-error: #c00; --kz-form-ok: #0a7a2f; --kz-form-radius: 0; font-family: inherit; }
.kz-form__form { position: relative; }
.kz-form__fields { display: flex; flex-wrap: wrap; gap: var(--kz-form-gap); }
.kz-form__group { flex: 1 1 100%; min-width: 0; position: relative; }
@media (min-width: 600px) {
	.kz-form__group--w25 { flex-basis: calc(25% - var(--kz-form-gap)); }
	.kz-form__group--w33 { flex-basis: calc(33.333% - var(--kz-form-gap)); }
	.kz-form__group--w50 { flex-basis: calc(50% - var(--kz-form-gap)); }
	.kz-form__group--w66 { flex-basis: calc(66.666% - var(--kz-form-gap)); }
	.kz-form__group--w70 { flex-basis: calc(70% - var(--kz-form-gap)); }
	.kz-form__group--w75 { flex-basis: calc(75% - var(--kz-form-gap)); }
}
.kz-form__label { display: block; margin-bottom: 4px; font-size: .875rem; }
.kz-form__input { width: 100%; box-sizing: border-box; padding: 12px 14px; border: 1px solid var(--kz-form-border); border-radius: var(--kz-form-radius); background: #fff; color: inherit; font: inherit; }
.kz-form__input:focus-visible, .kz-form__button:focus-visible { outline: 2px solid var(--kz-form-accent); outline-offset: 2px; }
.kz-form__group--required .kz-form__input:invalid:not(:placeholder-shown):not(:focus) { border-color: var(--kz-form-error); }
.kz-form--mark-required .kz-form__group--required .kz-form__label::after { content: " *"; color: var(--kz-form-error); }
.kz-form__check, .kz-form__radio { display: flex; gap: 8px; align-items: flex-start; font-size: .8125rem; line-height: 1.4; }
.kz-form__radios { display: flex; gap: 16px; flex-wrap: wrap; }
.kz-form__html { font-size: .875rem; line-height: 1.5; }
.kz-form__error { display: block; margin-top: 4px; color: var(--kz-form-error); font-size: .8125rem; }
.kz-form__submit { margin-top: var(--kz-form-gap); }
.kz-form__button { padding: 12px 24px; border: 1px solid var(--kz-form-border); border-radius: var(--kz-form-radius); background: var(--kz-form-border); color: #fff; font: inherit; text-transform: uppercase; letter-spacing: .04em; cursor: pointer; }
.kz-form__button[disabled] { opacity: .6; cursor: progress; }
.kz-form__status { margin-top: var(--kz-form-gap); font-size: .9375rem; }
.kz-form__status.is-success { color: var(--kz-form-ok); }
.kz-form__status.is-error { color: var(--kz-form-error); }
.kz-form__hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
