/* Kraina Odkrywców – formularz zgłoszeń */
.ko-zgl { --ko-accent: #2e7d32; --ko-err: #b42318; --ko-line: #d0d5dd; max-width: 820px; margin: 0 auto 2em; font-size: 16px; }
.ko-zgl * { box-sizing: border-box; }
.ko-zgl-intro { margin: 0 0 1.2em; }
.ko-zgl-section { border: 1px solid var(--ko-line); border-radius: 10px; padding: 1.1em 1.2em 1.2em; margin: 0 0 1.4em; background: #fff; }
.ko-zgl-section legend { font-weight: 700; font-size: 1.1em; padding: 0 .4em; color: var(--ko-accent); }
.ko-zgl-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .9em 1.2em; }
.ko-zgl-field { display: flex; flex-direction: column; gap: .3em; min-width: 0; }
.ko-zgl-field.ko-wide { grid-column: 1 / -1; }
.ko-zgl-field > label, .ko-zgl-label { font-weight: 600; font-size: .95em; line-height: 1.35; }
.ko-zgl input[type=text], .ko-zgl input[type=email], .ko-zgl input[type=tel], .ko-zgl input[type=date], .ko-zgl textarea {
	width: 100%; padding: .6em .7em; border: 1px solid var(--ko-line); border-radius: 6px; font: inherit; background: #fff; color: #1d2939; }
.ko-zgl input:focus, .ko-zgl textarea:focus { outline: 2px solid var(--ko-accent); outline-offset: 1px; border-color: var(--ko-accent); }
.ko-zgl input[readonly] { background: #f2f4f7; }
.ko-zgl-radios { display: flex; gap: 1.4em; }
.ko-zgl-radios label, .ko-zgl-check { display: inline-flex; align-items: center; gap: .45em; font-weight: 400; cursor: pointer; }
.ko-zgl-same { font-size: .9em; }
.ko-zgl-hint { color: #667085; font-size: .85em; margin: 0 0 .6em; }
.ko-req { color: var(--ko-err); }
.ko-has-error input, .ko-has-error textarea { border-color: var(--ko-err); }
.ko-zgl-error { color: var(--ko-err); font-size: .88em; }
.ko-zgl-errors { border: 1px solid var(--ko-err); background: #fef3f2; color: var(--ko-err); border-radius: 8px; padding: .8em 1em; margin: 0 0 1.2em; }
.ko-zgl-errors p { margin: .3em 0 0; }
.ko-zgl-klauzula { max-height: 220px; overflow-y: auto; font-size: .82em; line-height: 1.5; border: 1px solid var(--ko-line); border-radius: 6px; padding: .6em .9em; margin: 0 0 .9em; background: #f9fafb; }
.ko-zgl-klauzula p { margin: 0 0 .6em; }
.ko-zgl-submit { background: var(--ko-accent); color: #fff; border: 0; border-radius: 8px; padding: .8em 1.8em; font-size: 1.05em; font-weight: 700; cursor: pointer; }
.ko-zgl-submit:hover { filter: brightness(1.08); }
.ko-zgl-submit[disabled] { opacity: .7; cursor: wait; }
.ko-zgl-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.ko-zgl-ok { border: 1px solid var(--ko-accent); background: #ecfdf3; border-radius: 10px; padding: 1.2em 1.4em; }
.ko-zgl-ok h3 { margin-top: 0; color: var(--ko-accent); }
/* Warsztaty */
.ko-ws-title { margin: 0 0 .3em; color: var(--ko-accent); }
.ko-ws-meta { margin: 0 0 .8em; }
.ko-ws-facts { margin: .6em 0 0 1.1em; padding: 0; }
.ko-ws-sum { font-size: 1.05em; margin: 1em 0 .6em; }
.ko-ws-closed { border: 1px dashed var(--ko-line); border-radius: 8px; padding: .9em 1em; background: #f9fafb; }
.ko-ws-test { background: #fff7e6; border: 1px solid #f5c26b; border-radius: 6px; padding: .5em .8em; font-size: .9em; }
.ko-zgl select { width: 100%; padding: .6em .7em; border: 1px solid var(--ko-line); border-radius: 6px; font: inherit; background: #fff; }
.ko-ws-rodo { margin-top: .8em; }
@media (max-width: 640px) {
	.ko-zgl-grid { grid-template-columns: 1fr; }
	.ko-zgl-section { padding: .9em .9em 1em; }
}

.ko-zgl-parent-toggle { font-weight: 600; margin: .2em 0 .9em; }
.ko-zgl-grid[hidden] { display: none; }
