/* Formularz zapisu na newsletter
   --------------------------------------------------------------
   Motywy lubią dokładać marginesy i wysokości do pól i przycisków,
   więc własne elementy zerujemy twardo. Kolor przycisku bierzemy ze
   zmiennej --pn-accent, którą wtyczka ustawia na opakowaniu formularza.
   -------------------------------------------------------------- */
.pn-form{margin:16px 0;font-size:15px}
.pn-form *,.pn-form *::before,.pn-form *::after{box-sizing:border-box}
.pn-form .pn-form-inner{margin:0;padding:0;max-width:none}
.pn-form-title{font-weight:600;margin:0 0 6px;font-size:1.05em;line-height:1.3}
.pn-form-description{margin:0 0 10px;line-height:1.5}

.pn-form-fields{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start;margin:0;padding:0}
.pn-form-field{display:block;flex:1 1 200px;min-width:0;margin:0!important;padding:0}
.pn-form-field input{width:100%;margin:0!important;padding:10px 12px;border:1px solid #cfd4da;border-radius:4px;font-size:15px;line-height:1.4;height:auto;min-height:0;background:#fff;color:inherit}
.pn-form-field input:focus{outline:2px solid currentColor;outline-offset:1px}
.pn-form-button{flex:0 0 auto;margin:0!important;padding:10px 20px;width:auto;min-width:0;max-width:none;height:auto;min-height:0;border:0;border-radius:4px;background:var(--pn-accent,#1d4ed8);color:#fff;font-size:15px;font-weight:600;line-height:1.4;text-transform:none;cursor:pointer}
.pn-form-button:hover{filter:brightness(.94)}
.pn-form-button[disabled]{opacity:.6;cursor:default}

.pn-form-consent{display:flex;gap:8px;align-items:flex-start;margin:10px 0 0;font-size:13px;line-height:1.45;text-align:left}
.pn-form-consent input{flex:0 0 auto;margin:3px 0 0}
.pn-form-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.pn-form-message{margin-top:10px;font-size:14px;line-height:1.5}
.pn-form-message:empty{display:none}
.pn-form-message.is-ok{color:#1a7f37}
.pn-form-message.is-error{color:#b32d2e}
.pn-form .screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}

/* Układ pionowy – domyślny.
   W kolumnie baza elastyczna liczy się jako wysokość, więc pola muszą mieć
   flex:0 0 auto. Inaczej każde pole rozpycha się do wysokości bazy. */
.pn-form-stacked .pn-form-fields,
.pn-form-card .pn-form-fields,
.pn-form-center .pn-form-fields{flex-direction:column;flex-wrap:nowrap}
.pn-form-stacked .pn-form-field,
.pn-form-card .pn-form-field,
.pn-form-center .pn-form-field{flex:0 0 auto;width:100%}
.pn-form-stacked .pn-form-button,
.pn-form-card .pn-form-button,
.pn-form-center .pn-form-button{width:100%}

/* Układ „w jednej linii” – pole i przycisk obok siebie. */
.pn-form-inline .pn-form-fields{flex-direction:row;align-items:stretch}

/* Układ „karta” – ramka z tłem. */
.pn-form-card{padding:20px;border:1px solid rgba(0,0,0,.12);border-radius:10px;background:rgba(0,0,0,.02)}
.pn-form-card .pn-form-title{font-size:1.2em}

/* Układ „pasek” – szeroki pas, treść wyśrodkowana. */
.pn-form-bar{padding:24px 20px;border-radius:10px;background:rgba(0,0,0,.04)}
.pn-form-bar .pn-form-inner{max-width:620px;margin:0 auto;text-align:center}
.pn-form-bar .pn-form-fields{flex-direction:row;justify-content:center}
.pn-form-bar .pn-form-field{flex:1 1 240px;max-width:340px}
.pn-form-bar .pn-form-consent{justify-content:center}

/* Układ „minimalny” – bez ramek i tła. */
.pn-form-minimal .pn-form-fields{flex-direction:row;align-items:flex-end;gap:12px}
.pn-form-minimal .pn-form-field input{padding:8px 2px;border:0;border-bottom:1px solid currentColor;border-radius:0;background:transparent;color:inherit}
.pn-form-minimal .pn-form-field input::placeholder{color:inherit;opacity:.6}
.pn-form-minimal .pn-form-button{padding:8px 2px;border-radius:0;border-bottom:2px solid var(--pn-accent,currentColor);background:transparent;color:inherit}
.pn-form-minimal .pn-form-button:hover{filter:none;opacity:.75}

/* Układ „wyśrodkowany” – wąska kolumna na środku. */
.pn-form-center .pn-form-inner{max-width:460px;margin:0 auto;text-align:center}

/* Na wąskich ekranach układy poziome składają się w kolumnę. */
@media (max-width:600px){
	.pn-form-inline .pn-form-fields,
	.pn-form-bar .pn-form-fields,
	.pn-form-minimal .pn-form-fields{flex-direction:column;align-items:stretch}
	.pn-form-inline .pn-form-field,
	.pn-form-bar .pn-form-field,
	.pn-form-minimal .pn-form-field{flex:0 0 auto;width:100%;max-width:none}
	.pn-form-inline .pn-form-button,
	.pn-form-bar .pn-form-button,
	.pn-form-minimal .pn-form-button{width:100%}
}

/* Archiwum wysyłek – krótki kod [archiwum_newslettera] */
.pn-archive{list-style:none;margin:0;padding:0}
.pn-archive-item{padding:10px 0;border-bottom:1px solid rgba(0,0,0,.08)}
.pn-archive-item:last-child{border-bottom:0}
.pn-archive-link{font-weight:600;text-decoration:none}
.pn-archive-link:hover{text-decoration:underline}
.pn-archive-date{margin-left:8px;font-size:.85em;opacity:.65;white-space:nowrap}
.pn-archive-excerpt{margin-top:4px;font-size:.92em;opacity:.8}
.pn-archive-empty{opacity:.7}

/* Powiadomienie o dostępności – formularz na stronie wyprzedanego produktu */
.pn-waitlist{margin:18px 0;padding:16px;border:1px solid rgba(0,0,0,.12);border-radius:8px}
.pn-waitlist-title{margin:0 0 10px;font-weight:600}
.pn-waitlist-fields{display:flex;gap:8px;flex-wrap:wrap;margin:0}
.pn-waitlist-fields input[type=email]{flex:1 1 220px;min-width:0;padding:10px 12px;border:1px solid rgba(0,0,0,.2);border-radius:6px}
.pn-waitlist-fields button{border:0;border-radius:6px;padding:10px 18px;cursor:pointer}
.pn-waitlist-consent{display:flex;gap:8px;align-items:flex-start;margin-top:10px;font-size:13px;line-height:1.45}
.pn-waitlist-consent input{margin-top:3px}
.pn-waitlist-note{margin:10px 0 0;font-size:12px;opacity:.7}
.pn-waitlist-message{margin:10px 0 0;font-size:14px}
.pn-waitlist-message.is-ok{color:#2a7d2e}
.pn-waitlist-message.is-error{color:#b32d2e}
.pn-waitlist .screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
