/* ST Portal – formularz zgłoszeń czytelników */
.st-form{background:#fff;border:1px solid #D8E6F3;border-radius:10px;padding:26px 28px;max-width:760px}
.st-form p{margin:0 0 16px}
.st-form label{display:block;font-weight:600;margin-bottom:6px;color:#10233F}
.st-form input[type=text],.st-form input[type=email],.st-form textarea{width:100%;border:1px solid #D8E6F3;border-radius:6px;padding:.65em .9em;font:inherit;background:#F6FAFE;box-sizing:border-box}
.st-form input:focus,.st-form textarea:focus{outline:3px solid #3DC1F0;outline-offset:1px;border-color:#1FA5DE}
.st-form textarea{resize:vertical;min-height:180px}
.st-form input[type=file]{font-size:.92em}
.st-req{color:#1FA5DE;font-weight:700}
.st-form__row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:640px){.st-form__row{grid-template-columns:1fr}}
.st-form__kind{border:0;padding:0;margin:0 0 20px;display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:640px){.st-form__kind{grid-template-columns:1fr}}
.st-form__kind legend{font-weight:700;margin-bottom:10px;font-size:1.05em;color:#0E2A52}
.st-form__kind label{display:flex;gap:10px;align-items:flex-start;border:1px solid #D8E6F3;border-radius:8px;padding:12px 14px;cursor:pointer;font-weight:400;margin:0;background:#F6FAFE}
.st-form__kind label:has(input:checked){border-color:#1FA5DE;background:#fff;box-shadow:0 0 0 1px #1FA5DE inset}
.st-form__kind input{margin-top:4px}
.st-form__kind small{display:block;color:#5A6E8C}
.st-form__consent label{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:.92em;color:#5A6E8C}
.st-form__consent input{margin-top:4px;flex:none}
.st-form__note{font-size:.85em;color:#5A6E8C}
.st-form__btn{background:#19447E;color:#fff;border:0;border-radius:6px;padding:.75em 1.8em;font-weight:700;font-size:1em;cursor:pointer}
.st-form__btn:hover{background:#1FA5DE}
.st-form__hp{position:absolute!important;left:-9999px!important;height:1px;overflow:hidden}
.st-form__ok,.st-form__err{max-width:760px;border-radius:8px;padding:14px 18px;margin:0 0 18px;font-weight:600}
.st-form__ok{background:#CBE8F9;color:#0E2A52;border:1px solid #1FA5DE}
.st-form__err{background:#fdecec;color:#8a1f1f;border:1px solid #d9534f}
.st-form__hint{display:block;margin-top:4px;color:#5A6E8C;font-size:.82em}

/* --- Spójne kontrolki formularza (wszystkie typy pól) --- */
.st-form input[type=text],
.st-form input[type=email],
.st-form input[type=url],
.st-form input[type=date],
.st-form input[type=time],
.st-form input[type=number],
.st-form select,
.st-form textarea{
	width:100%;max-width:100%;box-sizing:border-box;
	background:#F6FAFE;border:1px solid #D8E6F3;border-radius:8px;
	padding:.6em .9em;font:inherit;color:#10233F;
	transition:border-color .15s ease,box-shadow .15s ease;
}
.st-form input:focus,
.st-form select:focus,
.st-form textarea:focus{
	outline:none;border-color:#1FA5DE;box-shadow:0 0 0 3px rgba(61,193,240,.35);
}
/* Select: własna strzałka zamiast systemowej */
.st-form select{
	appearance:none;-webkit-appearance:none;-moz-appearance:none;
	padding-right:2.6em;cursor:pointer;
	background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2319447E' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat:no-repeat;background-position:right .9em center;
}
.st-form select::-ms-expand{display:none}
/* Pola daty i godziny: ikonka kalendarza w kolorze marki (WebKit) */
.st-form input[type=date]::-webkit-calendar-picker-indicator,
.st-form input[type=time]::-webkit-calendar-picker-indicator{
	cursor:pointer;opacity:.65;
}
/* Pole pliku: brandowany przycisk zamiast systemowego „Przeglądaj” */
.st-form input[type=file]{
	width:100%;box-sizing:border-box;font:inherit;color:#5A6E8C;
	background:#F6FAFE;border:1px dashed #D8E6F3;border-radius:8px;padding:.5em;
	cursor:pointer;
}
.st-form input[type=file]:hover{border-color:#1FA5DE}
.st-form input[type=file]::file-selector-button{
	background:#19447E;color:#fff;border:0;border-radius:6px;
	padding:.5em 1.2em;margin-right:1em;font:inherit;font-weight:600;cursor:pointer;
	transition:background .15s ease;
}
.st-form input[type=file]::file-selector-button:hover{background:#0E2A52}
.st-form input[type=file]::-webkit-file-upload-button{
	background:#19447E;color:#fff;border:0;border-radius:6px;
	padding:.5em 1.2em;margin-right:1em;font:inherit;font-weight:600;cursor:pointer;
}
/* Rząd pól obok siebie: wyrównanie wysokości */
.st-form__row{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:end}
@media(max-width:640px){.st-form__row{grid-template-columns:1fr}}
.st-form__row p{margin:0}
