/* BWS stoisko targowe. Tokeny jak w LP newslettera. */
:root{--ink:#000;--panel:#141414;--accent:#fcae27;--head:#fff;--text:#adadad;--line:rgba(255,255,255,.18);--r:13px}
*{box-sizing:border-box}
html,body{margin:0;background:var(--ink);color:var(--text);font:400 16px/1.5 Poppins,system-ui,sans-serif;-webkit-text-size-adjust:100%}
a{color:var(--accent)}

.ff-form{max-width:460px;margin:0 auto;padding:max(16px,env(safe-area-inset-top)) 20px 28px}
.ff-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}
.ff-lockup{display:flex;align-items:center;gap:12px}
.ff-lockup span{color:var(--text);font-size:18px}
.ff-fof{height:32px;width:auto;filter:invert(1)} /* logo targów jest czarne, strona czarna */
.ff-lang{color:var(--text);text-decoration:none;font-size:13px;font-weight:600;border:1px solid var(--line);border-radius:99px;padding:6px 12px;min-height:32px}
.ff-kicker{margin:0 0 6px;color:var(--accent);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.ff-h1{margin:0 0 20px;color:var(--head);font-size:clamp(26px,7.4vw,34px);line-height:1.12;font-weight:700}

.ff-f{display:block;margin-bottom:12px}
.ff-f span{display:block;font-size:13px;font-weight:600;color:var(--head);margin-bottom:5px}
.ff-f em{font-style:normal;font-weight:400;color:var(--text)}
.ff-f input{width:100%;height:54px;padding:0 16px;border:1px solid var(--line);border-radius:var(--r);background:var(--panel);color:var(--head);font:inherit;font-size:17px}
.ff-f input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(252,174,39,.25)}
.ff-f input[aria-invalid=true]{border-color:#ff6b5a}

.ff-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ff-row input{font-size:16px}

/* Newsletter: wyróżniony, ale NIE zaznaczony z góry (Planet49). */
.ff-nl{position:relative;display:flex;gap:14px;align-items:flex-start;margin:6px 0 16px;padding:16px;border:2px solid var(--accent);border-radius:var(--r);background:rgba(252,174,39,.08);cursor:pointer}
.ff-nl input{position:absolute;opacity:0;width:1px;height:1px}
.ff-nl__box{flex:none;width:28px;height:28px;margin-top:2px;border:2px solid var(--accent);border-radius:8px;background:#000}
.ff-nl input:checked+.ff-nl__box{background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12.5l5.5 5.5L20 7'/%3E%3C/svg%3E") center/20px no-repeat}
.ff-nl input:focus-visible+.ff-nl__box{box-shadow:0 0 0 3px rgba(252,174,39,.4)}
.ff-nl input:checked~.ff-nl__t em{color:var(--accent)}
.ff-nl__t{font-size:14px;line-height:1.45}
.ff-nl__t b{display:block;color:var(--head);font-size:17px;margin-bottom:2px}
.ff-nl__t em{display:block;margin-top:6px;font-style:normal;font-weight:600;color:var(--head)}

.ff-btn{width:100%;height:58px;border:1px solid var(--accent);border-radius:var(--r);background:var(--accent);color:#000;font:inherit;font-size:18px;font-weight:700;cursor:pointer;transition:background .15s,color .15s}
.ff-btn:not(:disabled):hover{background:transparent;color:var(--accent)}
.ff-btn:disabled{opacity:.6}
.ff-err{margin:0 0 12px;padding:10px 14px;border-radius:var(--r);background:rgba(255,107,90,.12);color:#ffb3a8;font-size:14px}
.ff-note{margin:14px 0 0;font-size:13px;text-align:center}
.ff-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* Po zapisie: prosto, bez „vouchera”. Kawa to zaproszenie, nie nagroda. */
.ff-done{display:none;min-height:100vh;min-height:100dvh;padding:40px 24px;background:var(--accent);color:#000;text-align:center;flex-direction:column;justify-content:center;align-items:center}
.is-done .ff-form{display:none}
.is-done .ff-done{display:flex}
.ff-done__h{margin:0;font-size:clamp(34px,10vw,48px);line-height:1.05;font-weight:700}
.ff-dl{display:inline-block;margin-top:22px;padding:14px 22px;border-radius:var(--r);background:#000;color:var(--accent);font-weight:700;text-decoration:none}
.ff-dl[hidden]{display:none}
.ff-more{width:100%;max-width:340px;margin-top:26px;text-align:left}
.ff-more[hidden],.ff-more__ok[hidden]{display:none}
.ff-more__h{margin:0 0 8px;font-size:14px;font-weight:700}
.ff-more__h em{font-style:normal;font-weight:400}
.ff-more input{width:100%;height:48px;padding:0 14px;border:0;border-radius:var(--r);background:#fff;color:#000;font:inherit;font-size:16px}
.ff-more button{width:100%;height:48px;margin-top:10px;border:2px solid #000;border-radius:var(--r);background:transparent;color:#000;font:inherit;font-weight:700;cursor:pointer}
.ff-more__ok{margin:26px 0 0;font-weight:700}
.ff-done__coffee{margin:14px auto 0;max-width:320px;font-size:18px;font-weight:600}
.ff-robin{display:flex;gap:14px;align-items:center;max-width:340px;margin-top:40px;padding:14px;border-radius:var(--r);background:rgba(0,0,0,.08);text-align:left;font-size:14px}
.ff-robin img{width:64px;height:64px;border-radius:50%;object-fit:cover;object-position:50% 20%;flex:none}
.ff-robin p{margin:0}
