/* Jungle Park — Vouchery: pola personalizacji vouchera.
   Styl jak formularze na stronach parku (Kontakt): ciemne pola #0B2532, ramka #4FA9B0, fokus #72FFF3.
   Pola zależne pokazywane bez JS (:has). */
.jpv-form{--jpv-line:#4FA9B0;--jpv-cyan:#72FFF3;margin:0 0 18px;display:grid;gap:20px;color:#fff;font-family:Nunito,Arial,sans-serif}
.jpv-form .jpv-step{margin:0;padding:24px 24px 22px;border:1px solid #2C9393;border-radius:28px;background:#081f2b;color:#fff;min-width:0}
.jpv-form .jpv-step > legend{float:left;width:100%;margin:0 0 16px;padding:0;font:400 26px/1.05 "Luckiest Guy",Nunito,sans-serif;letter-spacing:.5px;text-transform:uppercase;color:#fff}
.jpv-form .jpv-step > legend + *{clear:both}
.jpv-form .jpv-row2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.jpv-form .jpv-row-kod{grid-template-columns:150px 1fr}
.jpv-form .jpv-field{margin:0 0 14px;display:flex;flex-direction:column;gap:6px}
.jpv-form[data-jpv] .jpv-field label,.jpv-form .jpv-choice-label{font:800 15px/1.3 Nunito,Arial,sans-serif;color:#fff;padding:0;margin:0}
.jpv-form .jpv-field abbr{color:#FFDB2E;text-decoration:none;border:0}
.jpv-form .jpv-opt{font-weight:600;color:#BFE9E5}
.jpv-form[data-jpv] .jpv-field :is(input,textarea):not([type=radio]){
  width:100%;box-sizing:border-box;min-height:52px;padding:12px 16px;margin:0;
  font:600 16px/1.4 Nunito,Arial,sans-serif;color:#fff;background:#0B2532;
  border:2px solid var(--jpv-line);border-radius:14px;box-shadow:none;color-scheme:dark;
  transition:border-color .15s ease,box-shadow .15s ease}
.jpv-form[data-jpv] .jpv-field textarea{min-height:96px;resize:vertical}
.jpv-form[data-jpv] .jpv-field :is(input,textarea)::placeholder{color:#8FB8BC;opacity:1}
.jpv-form[data-jpv] .jpv-field :is(input,textarea):focus{outline:3px solid rgba(114,255,243,.55);outline-offset:2px;border-color:var(--jpv-cyan);box-shadow:0 0 16px rgba(114,255,243,.30)}
/* kafle wyboru dostawy */
.jpv-form .jpv-tiles{margin:0 0 16px;padding:0;border:0;min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.jpv-form .jpv-tile{position:relative;display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"dot tyt cena" "dot sub sub";gap:2px 12px;align-items:center;
  padding:14px 16px;border:2px solid var(--jpv-line);border-radius:16px;background:#0B2532;cursor:pointer;
  transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}
.jpv-form .jpv-tile input{grid-area:dot;width:22px;height:22px;margin:0;accent-color:var(--jpv-cyan);cursor:pointer}
.jpv-form .jpv-tile-opakowanie .jpv-tile-cena,.jpv-form .jpv-tile-skarpetki .jpv-tile-cena{background:#FFDB2E}
.jpv-form .jpv-tile-tyt{grid-area:tyt;font:900 16px/1.25 Nunito,Arial,sans-serif;color:#fff}
.jpv-form .jpv-tile-sub{grid-area:sub;font:600 14px/1.35 Nunito,Arial,sans-serif;color:#BFE9E5}
.jpv-form .jpv-tile-cena{grid-area:cena;padding:4px 10px;border-radius:999px;font:900 14px/1.2 Nunito,Arial,sans-serif;white-space:nowrap;
  color:#031B23;background:#72FFF3}
.jpv-form .jpv-tile-poczta .jpv-tile-cena{background:#FFDB2E}
.jpv-form .jpv-tile:hover{border-color:var(--jpv-cyan)}
.jpv-form .jpv-tile:has(input:checked){border-color:var(--jpv-cyan);background:#123A47;box-shadow:0 0 0 1px var(--jpv-cyan) inset,0 0 16px rgba(114,255,243,.25)}
.jpv-form .jpv-tile:has(input:focus-visible){outline:3px solid #fff;outline-offset:2px}
/* termin: pigułki */
.jpv-form .jpv-choice{margin:0 0 14px;padding:0;border:0;min-width:0;display:flex;flex-wrap:wrap;gap:10px}
.jpv-form .jpv-choice > legend{float:left;width:100%;margin:0 0 8px;padding:0}
.jpv-form .jpv-choice > legend + *{clear:left}
.jpv-form .jpv-choice label{display:inline-flex;gap:10px;align-items:center;min-height:48px;padding:10px 18px;box-sizing:border-box;
  border:2px solid var(--jpv-line);border-radius:999px;background:#0B2532;font:800 15px/1.2 Nunito,Arial,sans-serif;color:#fff;cursor:pointer}
.jpv-form .jpv-choice input{width:20px;height:20px;margin:0;accent-color:var(--jpv-cyan)}
.jpv-form .jpv-choice label:has(input:checked){border-color:var(--jpv-cyan);background:#123A47;box-shadow:0 0 14px rgba(114,255,243,.25)}
.jpv-form .jpv-note-warn{border-color:rgba(255,219,46,.55);background:rgba(255,219,46,.08)}
.jpv-form .jpv-note-warn strong{color:#FFE36B}
.jpv-form .jpv-note{margin:2px 0 14px;padding:12px 14px;border-radius:14px;background:rgba(0,0,0,.24);border:1px solid rgba(255,255,255,.12);font:600 15px/1.45 Nunito,Arial,sans-serif;color:#E4F4F2}
/* pola zależne od wyboru (bez JS) */
.jpv-form :is(.jpv-if-obdarowany,.jpv-if-poczta,.jpv-if-odbior,.jpv-if-termin,.jpv-if-data,.jpv-if-mail,.jpv-if-odb){display:none}
.jpv-form:has(input[name=jpv_dostawa][value=obdarowany]:checked) .jpv-if-obdarowany,
.jpv-form:has(input[name=jpv_dostawa][value=poczta]:checked) .jpv-if-poczta,
.jpv-form:has(input[name=jpv_dostawa][value=odbior]:checked) .jpv-if-odbior,
.jpv-form:has(input[name=jpv_dostawa][value=kupujacy]:checked) .jpv-if-termin,
.jpv-form:has(input[name=jpv_dostawa][value=obdarowany]:checked) .jpv-if-termin,
.jpv-form:has(input[name=jpv_dostawa][value=odbior]:checked) .jpv-if-termin{display:block}
.jpv-form:has(input[name=jpv_dostawa][value=kupujacy]:checked) .jpv-if-mail,
.jpv-form:has(input[name=jpv_dostawa][value=obdarowany]:checked) .jpv-if-mail,
.jpv-form:has(input[name=jpv_dostawa][value=odbior]:checked) .jpv-if-odb{display:inline}
.jpv-form:has(input[name=jpv_termin][value=data]:checked) .jpv-field.jpv-if-data{display:flex}
.jpv-form:has(input[name=jpv_termin][value=data]:checked) .jpv-note.jpv-if-data{display:block}
/* dodatki: opakowanie tylko przy dostawie fizycznej; informacje zależne */
.jpv-form .jpv-tiles-addons{margin-bottom:12px}
.jpv-form :is(.jpv-if-mailonly,.jpv-if-socks){display:none}
.jpv-form .jpv-if-poczta-inline{display:none}
.jpv-form:has(input[name=jpv_dostawa]:is([value=kupujacy],[value=obdarowany]):checked) .jpv-tile-opakowanie{display:none}
.jpv-form:has(input[name=jpv_dostawa]:is([value=kupujacy],[value=obdarowany]):checked) .jpv-if-mailonly{display:block}
.jpv-form:has(#jpv_skarpetki:checked) .jpv-if-socks{display:block}
.jpv-form:has(input[name=jpv_dostawa][value=poczta]:checked) .jpv-if-poczta-inline{display:inline}
/* przeglądarki bez :has — pokaż wszystko (serwer i tak sprawdza dane) */
@supports not selector(:has(*)){.jpv-form :is(.jpv-if-obdarowany,.jpv-if-poczta,.jpv-if-odbior,.jpv-if-termin){display:block}.jpv-form :is(.jpv-if-mail,.jpv-if-odb){display:inline}.jpv-form .jpv-field.jpv-if-data{display:flex}.jpv-form .jpv-note.jpv-if-data{display:block}}
.jpv-form .screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
@media (max-width:767px){
  .jpv-form .jpv-step{padding:20px 16px}
  .jpv-form .jpv-row2,.jpv-form .jpv-row-kod{grid-template-columns:1fr}
  .jpv-form .jpv-tiles{grid-template-columns:1fr}
  .jpv-form .jpv-step > legend{font-size:23px}
}
@media (prefers-reduced-motion:reduce){.jpv-form *{transition:none!important}}
.jpv-thanks{padding:14px 18px;border:1px solid #72FFF3;border-radius:16px;background:#071C28;color:#fff;font-weight:700}
