/* Formularze: duże pola, wyraźne etykiety, czytelne błędy */
.form-label { font-weight: 700; margin-bottom: .35rem; }
.form-label .req { color: var(--brick-dark); margin-left: .15rem; }
.form-text { color: var(--ink-2); font-size: .92rem; }
.form-control, .form-select { min-height: 48px; border: 1.5px solid oklch(0.78 0.03 65); border-radius: 10px; background-color: var(--card); color: var(--ink); font-size: 1.02rem; }
textarea.form-control { min-height: 140px; line-height: 1.55; }
.form-control:hover, .form-select:hover { border-color: var(--ink-3); }
.form-control:focus, .form-select:focus { border-color: var(--ink); box-shadow: 0 0 0 4px var(--focus); background-color: var(--card); }
.form-control.is-invalid, .form-select.is-invalid { border-color: var(--brick); background-image: none; padding-right: .75rem; }
.invalid-feedback { color: var(--brick-dark); font-weight: 700; font-size: .92rem; }
.invalid-feedback::before { content: "\F33A"; font-family: "bootstrap-icons"; margin-right: .35rem; }
.form-check { padding-left: 2rem; min-height: 1.8rem; }
.form-check-input { width: 1.35rem; height: 1.35rem; margin-left: -2rem; margin-top: .15rem; border: 2px solid var(--ink-3); }
.form-check-input:checked { background-color: var(--brick); border-color: var(--brick); }
.form-check-label { cursor: pointer; }
.check-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: .5rem 1rem; }
.check-tile { position: relative; }
.check-tile input { position: absolute; opacity: 0; }
.check-tile label { display: flex; gap: .6rem; align-items: center; padding: .7rem .9rem; border: 1.5px solid var(--line); border-radius: 10px; background: var(--card); cursor: pointer; font-weight: 700; transition: border-color .2s var(--ease), background-color .2s var(--ease); }
.check-tile label i { font-size: 1.2rem; color: var(--ink-3); }
.check-tile input:checked + label { border-color: var(--moss); background: var(--moss-tint); color: oklch(0.3 0.08 150); }
.check-tile input:checked + label i { color: var(--moss); }
.check-tile input:focus-visible + label { outline: 3px solid var(--ink); box-shadow: 0 0 0 6px var(--focus); }
fieldset legend { font-family: var(--font-head); font-weight: 600; font-size: 1.15rem; margin-bottom: .8rem; }
.form-section { padding-block: 1.6rem; border-top: 1px solid var(--line); }
.form-section:first-of-type { border-top: 0; padding-top: 0; }
.pw-wrap { position: relative; }
.pw-wrap .pw-toggle { position: absolute; right: .35rem; top: 50%; transform: translateY(-50%); min-height: 38px; }
.char-count { font-size: .85rem; color: var(--ink-3); text-align: right; }
.file-drop { border: 2px dashed oklch(0.78 0.03 65); border-radius: var(--radius); padding: 1.2rem; background: var(--card); }
.honey { position: absolute; left: -9999px; }
