/* Reduta - formularz zgłoszeniowy. Wszystko da się nadpisać zmiennymi --rdt-* albo zwykłym CSS (klasy .rdt-*). */
.rdt-wrap {
  --rdt-accent: #8a1c1c; --rdt-accent-text: #fff; --rdt-text: #1f2328; --rdt-muted: #5b6470; --rdt-bg: transparent;
  --rdt-input-bg: #fff; --rdt-border: #c3c9d1; --rdt-radius: 8px; --rdt-gap: 16px; --rdt-error: #b3261e; --rdt-ok-bg: #eaf6ee; --rdt-ok-text: #14532d;
  box-sizing: border-box; color: var(--rdt-text); background: var(--rdt-bg); font: inherit; line-height: 1.5;
}
.rdt-wrap *, .rdt-wrap *::before, .rdt-wrap *::after { box-sizing: border-box; }
.rdt-notice { padding: 14px 16px; border: 1px dashed var(--rdt-border); border-radius: var(--rdt-radius); }
.rdt-grid { display: flex; flex-wrap: wrap; gap: var(--rdt-gap); }
.rdt-field { flex: 1 1 100%; min-width: 0; }
.rdt-w-50 { flex: 1 1 calc(50% - var(--rdt-gap) / 2); }
.rdt-w-33 { flex: 1 1 calc(33.333% - var(--rdt-gap)); }
.rdt-w-100 { flex: 1 1 100%; }
@media (max-width: 600px) { .rdt-w-50, .rdt-w-33 { flex: 1 1 100%; } }
.rdt-label { display: block; margin: 0 0 6px; font-weight: 600; font-size: .95em; color: inherit; }
.rdt-req { color: var(--rdt-accent); }
.rdt-input {
  display: block; width: 100%; margin: 0; padding: 11px 13px; font: inherit; color: var(--rdt-text); background: var(--rdt-input-bg);
  border: 1px solid var(--rdt-border); border-radius: var(--rdt-radius); box-shadow: none; transition: border-color .15s, box-shadow .15s; appearance: none; -webkit-appearance: none;
}
select.rdt-input { background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%); background-position: calc(100% - 18px) 50%, calc(100% - 13px) 50%; background-size: 5px 5px; background-repeat: no-repeat; padding-right: 36px; }
textarea.rdt-input { min-height: 110px; resize: vertical; }
.rdt-input::placeholder { color: var(--rdt-muted); opacity: .8; }
.rdt-input:focus { outline: none; border-color: var(--rdt-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--rdt-accent) 22%, transparent); }
.rdt-invalid .rdt-input { border-color: var(--rdt-error); }
.rdt-error { min-height: 0; margin-top: 4px; font-size: .88em; color: var(--rdt-error); }
.rdt-error:empty { display: none; }
.rdt-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.rdt-consents { margin-top: var(--rdt-gap); display: grid; gap: 10px; }
.rdt-check { display: flex; align-items: flex-start; gap: 10px; cursor: pointer; font-size: .92em; color: inherit; }
.rdt-check input { flex: none; width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--rdt-accent); }
.rdt-link { color: var(--rdt-accent); text-decoration: underline; }
.rdt-actions { margin-top: calc(var(--rdt-gap) + 4px); }
.rdt-button {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 12px 26px; font: inherit; font-weight: 700; cursor: pointer; text-decoration: none;
  color: var(--rdt-accent-text); background: var(--rdt-accent); border: 1px solid var(--rdt-accent); border-radius: var(--rdt-radius); transition: filter .15s, transform .05s;
}
.rdt-button:hover { filter: brightness(1.1); }
.rdt-button:active { transform: translateY(1px); }
.rdt-button:focus-visible { outline: 3px solid color-mix(in srgb, var(--rdt-accent) 40%, transparent); outline-offset: 2px; }
.rdt-button[disabled] { opacity: .65; cursor: progress; }
.rdt-msg { margin-top: 12px; font-size: .95em; }
.rdt-msg:empty { display: none; }
.rdt-msg-error { color: var(--rdt-error); font-weight: 600; }
.rdt-success { padding: 22px 24px; background: var(--rdt-ok-bg); color: var(--rdt-ok-text); border-radius: var(--rdt-radius); outline: none; }
.rdt-success[hidden], .rdt-form[hidden] { display: none; }
.rdt-success-title { font-size: 1.25em; font-weight: 700; margin-bottom: 6px; }
.rdt-labels-inside .rdt-label { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
@media (prefers-reduced-motion: reduce) { .rdt-input, .rdt-button { transition: none; } }
