/* Oficerskie Darowizny — formularz na froncie (styl spójny z oficerskie.online). */

.don-wrap{--don-accent:#da5d8d;--don-accent-dk:#c94d7c;--don-accent-active:#4c2d4d;
  --don-line:#e2e2e2;--don-ink:#2b2b2b;
  max-width:720px;margin:0 auto;padding:.5rem 1rem;color:var(--don-ink);
  font-family:inherit;line-height:1.5}

/* Bez wydzielonego białego boxa — formularz wtapia się w stronę. */
.don-form{background:transparent;border:none;border-radius:0;padding:0;box-shadow:none}
.don-form--err{padding:1.5rem;text-align:center;color:#b23}

.don-title{margin:0 0 .25rem;font-size:1.45rem;line-height:1.2}
.don-lead{margin:0 0 1rem;color:#5a5a5a}

.don-sekcja{border:none;margin:0 0 1rem;padding:0}
.don-sekcja>legend{font-weight:600;font-size:.92rem;margin-bottom:.5rem;padding:0}

/* --------------------------------------------------------------------
   Motyw Church Fund dokleja do KAŻDEGO <button> dwa pseudoelementy:
   ::before z kolorem tła i ::after z kolorem najechania — oba ustawione
   absolutnie, z z-index:-1. Przykrywają background-color, przez co
   zaznaczenie kwoty było niewidoczne: wartość się zapisywała, a przycisk
   wyglądał tak samo. Wyłączamy je i malujemy tło sami.
   -------------------------------------------------------------------- */
.don-wrap .don-amount::before,
.don-wrap .don-amount::after,
.don-wrap .don-btn::before,
.don-wrap .don-btn::after{content:none !important;display:none !important}

/* Kwoty — białe cyfry na kolorowym kafelku; zaznaczenie = ciemniejsze tło.
   Zaokrąglenie, obramowanie i cień POWTARZAMY w każdym stanie: motyw ma własne
   reguły button:hover/:focus, przez które kafelki zmieniały kształt po najechaniu. */
.don-wrap .don-amounts{display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));
  gap:.5rem;margin-bottom:.2rem}
.don-wrap .don-amount{display:flex;align-items:center;justify-content:center;
  min-height:50px;padding:.7rem .5rem;
  border:1.5px solid transparent;border-radius:10px;background:var(--don-accent);
  font-size:1.05rem;font-weight:700;line-height:1.1;color:#fff;
  text-transform:none;letter-spacing:normal;
  cursor:pointer;transition:background .12s;box-shadow:none}
.don-wrap .don-amount:hover,
.don-wrap .don-amount:focus,
.don-wrap .don-amount:active,
.don-wrap .don-amount.is-active{
  border-radius:10px;border-width:1.5px;border-style:solid;
  color:#fff;box-shadow:none;transform:none;text-decoration:none}
.don-wrap .don-amount:hover{background:var(--don-accent-dk)}
.don-wrap .don-amount.is-active{background:var(--don-accent-active)}

/* Ostatni kafelek: napis „Inna kwota”, a po kliknięciu pole do wpisania
   w tym samym miejscu — bez osobnego pola pod siatką. */
.don-wrap .don-amount--other{padding:0;overflow:hidden}
.don-other-label{padding:.7rem .4rem;font-size:.95rem;font-weight:700;
  white-space:nowrap;text-transform:none}
.don-amount--other input[type=number]{display:none}
.don-amount--other.is-editing .don-other-label{display:none}
.don-form .don-amount--other.is-editing input[type=number]{
  display:block;width:100%;min-height:50px;margin:0;padding:.7rem .4rem;
  border:none;border-radius:10px;background:transparent;box-shadow:none;
  font-size:1.05rem;font-weight:700;color:#fff;text-align:center;
  -moz-appearance:textfield;appearance:textfield}
.don-form .don-amount--other.is-editing input[type=number]:focus{
  outline:none;box-shadow:none;background:transparent;color:#fff;border:none}
.don-amount--other input[type=number]::-webkit-outer-spin-button,
.don-amount--other input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.don-amount--other input[type=number]::placeholder{color:rgba(255,255,255,.55)}

/* Metody — obok siebie na desktopie, ikona + etykieta */
.don-methods{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.55rem}
.don-method{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.4rem;
  padding:.85rem .6rem;border:1.5px solid var(--don-line);border-radius:12px;cursor:pointer;transition:.12s;background:#fff}
.don-method:hover{border-color:var(--don-accent)}
.don-method input{position:absolute;opacity:0;width:0;height:0}
.don-method:focus-within{border-color:var(--don-accent)}
.don-method:has(input:checked){border-color:var(--don-accent);background:#f2f7fc;box-shadow:inset 0 0 0 1px var(--don-accent)}
.don-method-icon{color:var(--don-accent);line-height:0}
.don-method-icon svg{width:26px;height:26px;display:block}
.don-method-body{display:flex;flex-direction:column;gap:.1rem}
.don-method-label{font-weight:600;font-size:.92rem}
.don-method-desc{font-size:.73rem;color:#777;line-height:1.2}

/* Pola */
.don-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.don-field{margin-bottom:.75rem}
.don-field label{display:block;font-size:.85rem;color:#444;margin-bottom:.25rem}
.don-hint{color:#999;font-weight:400}
.don-form input[type=text],.don-form input[type=email],.don-form input[type=tel],
.don-form input[type=number]{width:100%;padding:.65rem .8rem;border:1.5px solid var(--don-line);
  border-radius:10px;font-size:1rem;background:#fff;box-sizing:border-box}
.don-form input:focus{outline:none;border-color:var(--don-accent);box-shadow:0 0 0 3px rgba(43,108,176,.12)}

.don-check{display:flex;gap:.55rem;align-items:flex-start;font-size:.9rem;color:#444;margin:.4rem 0}
.don-check input{margin-top:.2rem}
.don-check--dane{margin:0 0 .9rem}

/* Adnotacja o zgodzie nad przyciskiem. Kliknięcie w DOWOLNE jej miejsce
   rozwija regulamin i klauzulę tutaj, bez skakania po stronie.
   Celowo BEZ wersalików: motyw zamienia etykiety formularzy na wielkie litery,
   stąd jawne text-transform (wcześniej zgoda krzyczała kapitalikami). */
.don-consent{margin:1.1rem 0 .9rem}
.don-wrap .don-consent-note{display:block;cursor:pointer;list-style:none;
  position:relative;padding:.1rem 0 .1rem 1.1rem;margin:0;
  font-size:.8rem;line-height:1.55;color:#777;font-weight:400;
  text-transform:none;letter-spacing:normal}
.don-consent-note::-webkit-details-marker{display:none}
.don-consent-note::before{content:"›";position:absolute;left:.25rem;top:0;
  display:inline-block;color:var(--don-accent);transition:transform .15s}
.don-consent[open]>.don-consent-note::before{transform:rotate(90deg)}
.don-consent-note:hover{color:#555}

/* Słowa, które w treści zgody były odnośnikiem — nadal wyróżnione, ale bez
   własnego kliknięcia: całość i tak rozwija sekcję. */
.don-consent-word{color:var(--don-accent);text-decoration:underline}

/* Rozwinięta treść — z ograniczoną wysokością, żeby przy długim regulaminie
   przycisk „Wpłacam” nie uciekł poza ekran. */
.don-consent-body{margin:.7rem 0 0;padding:.9rem 1rem;
  max-height:45vh;overflow-y:auto;
  background:#fafafa;border:1px solid var(--don-line);border-radius:10px}
.don-consent-link{margin:.9rem 0 0}
.don-consent-link a{color:var(--don-accent);text-decoration:underline}

/* Dane darczyńcy: domyślnie schowane (wpłata jest anonimowa), pokazują się
   po zaznaczeniu „Chcę podać swoje dane”. Część motywów nadpisuje display
   na blokach, więc [hidden] trzeba wzmocnić. */
#don-dane[hidden]{display:none}

/* Przycisk */
.don-btn{display:inline-block;width:100%;padding:.85rem 1.1rem;border:1.5px solid var(--don-accent);
  border-radius:10px;font-size:1.05rem;font-weight:700;cursor:pointer;transition:.12s}
.don-btn--primary{background:var(--don-accent);color:#fff}
/* Motyw ma regułę `button:hover` o specyficzności (0,1,1), która bije samo
   `.don-btn` (0,1,0) i podmienia promień na własny — stąd skaczące rogi.
   Poprzedzamy selektor `.don-wrap`, żeby wygrać kaskadę, i powtarzamy
   wszystko, co motyw próbuje zmienić w stanach interakcji. */
.don-wrap .don-btn:hover,
.don-wrap .don-btn:focus,
.don-wrap .don-btn:active{
  border-radius:10px;border-width:1.5px;border-style:solid;
  box-shadow:none;transform:none;text-decoration:none}
.don-wrap .don-btn--primary:hover{background:var(--don-accent-dk);border-color:var(--don-accent-dk)}
.don-btn[disabled]{opacity:.6;cursor:progress}
.don-secure{text-align:center;font-size:.8rem;color:#888;margin:.75rem 0 0}

/* Komunikaty */
.don-msg{padding:.7rem .9rem;border-radius:10px;margin-bottom:1rem;font-size:.9rem}
.don-msg--err{background:#fdecec;color:#b23;border:1px solid #f5c6c6}
.don-msg--ok{background:#eafaf0;color:#1c7a44;border:1px solid #bce6cd}

/* Ekran powrotu */
.don-return{text-align:center;padding:2rem 1.5rem}
.don-return .don-title{margin-bottom:.5rem}
.don-return--ok .don-title{color:#1c7a44}
.don-return--wait .don-title{color:var(--don-accent)}
.don-return--fail .don-title{color:#b23}

@media(max-width:480px){.don-grid{grid-template-columns:1fr}}

/* ==================================================================== */
/* ===================== CELE, PASEK, BLIK, REGULAMIN ================== */
/* ==================================================================== */

/* Cele — kafelki wyboru, ten sam język wizualny co metody płatności */
.don-goals{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.55rem}
.don-goal{position:relative;display:flex;padding:.85rem .9rem;border:1.5px solid var(--don-line);
  border-radius:12px;cursor:pointer;transition:.12s;background:#fff}
.don-goal:hover{border-color:var(--don-accent)}
.don-goal input{position:absolute;opacity:0;width:0;height:0}
.don-goal:focus-within{border-color:var(--don-accent)}
.don-goal:has(input:checked){border-color:var(--don-accent);background:#f2f7fc;
  box-shadow:inset 0 0 0 1px var(--don-accent)}
.don-goal-body{display:flex;flex-direction:column;gap:.2rem}
.don-goal-name{font-weight:600;font-size:.95rem}
.don-goal-desc{font-size:.78rem;color:#777;line-height:1.35}

/* Pasek zbiórki */
.don-progress{margin:0 0 1.1rem}
.don-progress-bar{background:#eef1f4;border-radius:999px;height:10px;overflow:hidden}
.don-progress-fill{background:var(--don-accent);height:100%;width:0;border-radius:999px;
  transition:width .5s ease}
.don-progress-text{margin:.4rem 0 0;font-size:.85rem;color:#5a5a5a}

/* Pole BLIK — skrypt bramki wstawia własny input do .don-blik-form */
.don-blik{margin-top:.85rem;padding:.9rem;background:#f7f9fb;border:1.5px solid var(--don-line);
  border-radius:12px}
.don-blik[hidden]{display:none}
.don-blik-form input{width:100%;padding:.65rem .8rem;border:1.5px solid var(--don-line);
  border-radius:10px;font-size:1.25rem;letter-spacing:.18em;text-align:center;
  font-variant-numeric:tabular-nums;background:#fff;box-sizing:border-box}
.don-blik-form input:focus{outline:none;border-color:var(--don-accent);
  box-shadow:0 0 0 3px rgba(43,108,176,.12)}
.don-blik-hint{margin:.5rem 0 0;font-size:.8rem;color:#777;line-height:1.4}
.don-blik-fallback{margin:.5rem 0 0;font-size:.8rem;color:#8a6d00;line-height:1.4}
.don-blik-fallback[hidden]{display:none}

/* Treść regulaminu i klauzuli — używana w rozwijanej adnotacji nad przyciskiem
   oraz w shortcode [oficerskie_regulamin_darowizn] na osobnej podstronie. */
.don-legal{font-size:.85rem;color:#555;line-height:1.6}
.don-legal h3{font-size:1rem;margin:1.1rem 0 .4rem;color:var(--don-ink)}
.don-legal h3:first-child{margin-top:0}
.don-legal p{margin:0 0 .7rem}

@media (max-width:560px){
  .don-goals{grid-template-columns:1fr}
  .don-grid{grid-template-columns:1fr}
}
