.kcsr { max-width: 44rem; }
.kcsr-form { display: grid; gap: 1.25rem; }
.kcsr-row { display: grid; gap: 1.25rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 600px) { .kcsr-row { grid-template-columns: 1fr; } }

.kcsr-field { display: flex; flex-direction: column; gap: 0.35rem; margin: 0; padding: 0; border: 0; min-width: 0; }
.kcsr-field > label, .kcsr-field > legend { font-weight: 600; padding: 0; }
.kcsr-opt { font-weight: 400; color: var(--wp--preset--color--slate, #4A5B73); }
.kcsr-help { color: var(--wp--preset--color--slate, #4A5B73); }

.kcsr input[type="text"], .kcsr input[type="email"], .kcsr select, .kcsr textarea {
	width: 100%; box-sizing: border-box; font: inherit; color: inherit;
	padding: 0.7rem 0.8rem; background: var(--wp--preset--color--paper, #fff);
	border: 1px solid var(--wp--preset--color--line, #CBD5E1); border-radius: 6px;
}
.kcsr textarea { resize: vertical; }
.kcsr input:focus-visible, .kcsr select:focus-visible, .kcsr textarea:focus-visible,
.kcsr .kcsr-submit:focus-visible {
	outline: 3px solid var(--wp--preset--color--cobalt, #2446D6); outline-offset: 2px;
}

.kcsr-needs { gap: 0.5rem; }
.kcsr-check { display: flex; align-items: flex-start; gap: 0.6rem; font-weight: 400; cursor: pointer; }
.kcsr-check input { margin-top: 0.3rem; flex: none; }

.kcsr .has-error input, .kcsr .has-error select, .kcsr .has-error textarea { border-color: #B42318; }
.kcsr-error { color: #B42318; font-weight: 600; }

.kcsr-notice { padding: 1rem 1.25rem; border-radius: 6px; margin-bottom: 1.25rem; border: 1px solid; }
.kcsr-notice ul { margin: 0.4rem 0 0; padding-left: 1.2rem; }
.kcsr-notice--ok { background: #E8F5EE; border-color: var(--wp--preset--color--signal, #17874B); color: #0E5A32; }
.kcsr-notice--error { background: #FDECEA; border-color: #B42318; color: #7A1810; }

.kcsr-submit {
	justify-self: start; cursor: pointer; border: 0; border-radius: 6px; font: inherit; font-weight: 600;
	padding: 0.8rem 1.4rem; color: var(--wp--preset--color--paper, #fff);
	background: var(--wp--preset--color--cobalt, #2446D6);
}
.kcsr-submit:hover { background: var(--wp--preset--color--ink, #11203A); }

/* Honeypot: off-screen, not display:none, so simple bots still fill it. */
.kcsr-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
