/* Source Sans 3 (zmienny, 400-700), hostowany lokalnie. latin-ext zawiera polskie ogonki. */
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/SourceSans3-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/SourceSans3-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* Style bazowe szablonu MVP. Zmień zmienne w :root, żeby dopasować markę. */
:root{
  --primary:#13294B;--primary-dark:#0D1E38;--bg:#F4F6F9;--card:#FFFFFF;--line:#D5DCE6;
  --text:#1B2433;--text-2:#46526A;--field:#67748A;
  --accent:#F2A93B;--accent-hover:#E6952A;
  --err:#B42318;--err-bg:#FDECEA;
}
html{scroll-behavior:smooth}
*{box-sizing:border-box}
body{margin:0;background:var(--bg)}
.page{min-height:100vh;display:flex;flex-direction:column;font-family:'Source Sans 3',system-ui,-apple-system,'Segoe UI',sans-serif;font-size:18px;line-height:1.5;color:var(--text)}
main{display:block;flex:1 0 auto}
h1,h2,h3,p,ul,ol,figure{margin:0}
ul,ol{list-style:none;padding:0}
a{color:var(--primary)}a:hover{color:var(--primary-dark)}
a:focus-visible,button:focus-visible{outline:3px solid #1D4ED8;outline-offset:3px}

.wrap{max-width:1200px;margin:0 auto}
.narrow{max-width:640px;margin:0 auto}
.section{padding:48px 20px}
.h2{margin:0 0 24px;font-size:clamp(27px,2.6vw,36px);line-height:1.2;color:var(--primary)}

/* Nagłówek i stopka */
.site-header{background:#fff;border-bottom:1px solid var(--line)}
.bar{padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.brand{font-size:21px;font-weight:700;color:var(--primary);letter-spacing:-.01em;text-decoration:none}
.site-footer{background:var(--primary-dark);color:#D7E0EE;padding:28px 20px 36px}
.foot{display:flex;flex-wrap:wrap;gap:8px 32px;justify-content:space-between;align-items:center;font-size:17px}
.foot-links{display:flex;flex-wrap:wrap;gap:0 24px}
.lnk{display:inline-flex;align-items:center;min-height:44px;color:#fff}
.lnk-btn{background:none;border:0;padding:0;font:inherit;text-decoration:underline;cursor:pointer}
.lnk-btn[hidden]{display:none}
.site-footer a:focus-visible,.site-footer button:focus-visible{outline-color:#fff}

/* Przyciski i pola */
.btn{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:60px;padding:14px 24px;border:0;border-radius:12px;background:var(--accent);color:var(--primary);font-family:inherit;font-weight:700;font-size:20px;line-height:1.2;text-decoration:none;cursor:pointer}
.btn:hover{background:var(--accent-hover)}
.btn[disabled]{cursor:progress;background:#F6C37A}
.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px 20px;display:flex;flex-direction:column;gap:22px}
.field{display:flex;flex-direction:column;gap:8px}
.field>label{font-weight:700}
.hint{font-size:17px;color:var(--text-2)}
.err{color:var(--err);font-weight:600;font-size:17px}
.f{width:100%;height:56px;padding:0 16px;font-family:inherit;font-size:18px;color:var(--text);background:#fff;border:2px solid var(--field);border-radius:10px}
textarea.f{height:auto;min-height:112px;padding:14px 16px;line-height:1.45;resize:vertical}
.f:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px #F7C97F}
.f.bad{border-color:var(--err)}

/* Regulamin i polityka */
.doc h1{margin-bottom:8px}
.doc .meta{margin-bottom:24px;color:var(--text-2);font-size:17px}
.doc h2{margin:28px 0 8px;font-size:22px;line-height:1.3;color:var(--primary)}
.doc p,.doc li{margin:0 0 10px}
.doc ul,.doc ol{margin:0 0 10px;padding-left:24px;list-style:revert}
code{font-size:.9em;background:#E9EDF3;padding:1px 5px;border-radius:4px}

/* Panel */
.panel-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.panel-head .h2{margin:0}
.table-wrap{overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:12px}
table{border-collapse:collapse;width:100%;font-size:16px}
th,td{padding:10px 12px;text-align:left;vertical-align:top;border-bottom:1px solid #EEF1F5}
th{background:#F7F9FC;color:var(--primary);font-weight:700;white-space:nowrap}

/* Baner cookies */
.cookies{position:sticky;bottom:0;z-index:10;background:#fff;border-top:2px solid var(--primary);box-shadow:0 -6px 20px rgba(13,30,56,.12);padding:14px 20px 16px}
.cookies[hidden]{display:none}
.cookies-in{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px}
.cookies p{flex:1 1 420px;font-size:17px;line-height:1.45}
.cookies-btns{display:flex;gap:12px;flex:1 1 300px;max-width:440px}
.cbtn{flex:1 1 0;min-height:48px;padding:8px 20px;border:2px solid var(--primary);border-radius:10px;background:#fff;color:var(--primary);font-family:inherit;font-size:17px;font-weight:700;cursor:pointer}
.cbtn-fill{background:var(--primary);color:#fff}
.panel-head .cbtn{flex:none}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* ===== Landing wczesnego dostępu ===== */
.brand-tag{font-size:17px;font-weight:600;color:var(--text-2)}
.btn-link{max-width:420px}
.btn:focus-visible{outline:3px solid #1D4ED8;outline-offset:3px}
.f::placeholder{color:#6A7487;opacity:1}
.h2-tight{margin-bottom:10px}
.strong-link{font-weight:600}

/* Hero */
.hero{padding:32px 20px 48px}
.hero-in{display:flex;flex-wrap:wrap;gap:40px;align-items:center;justify-content:space-between}
.hero-copy{flex:1 1 480px;min-width:0;max-width:600px}
.hero-h{margin:0 0 16px;font-size:clamp(32px,4.2vw,54px);line-height:1.15;font-weight:700;color:var(--primary);letter-spacing:-.015em}
.hero-lead{margin:0 0 28px;font-size:clamp(19px,1.7vw,22px);line-height:1.5;color:#2D3748}
.hero-hint{margin:14px 0 0}
.offer{margin:14px 0 0;max-width:520px;padding:12px 16px;background:#FFF6E6;border:1px solid #F2C27A;border-radius:10px;font-size:17px;line-height:1.45;color:var(--text)}
.offer strong{color:var(--primary)}

/* Podgląd aplikacji */
.preview{flex:1 1 400px;min-width:0;max-width:520px}
.preview-card{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 10px 30px rgba(19,41,75,.08);overflow:hidden}
.preview-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid #E3E8EF}
.preview-title{font-weight:700;color:var(--primary);font-size:18px}
.preview-count{font-size:16px;color:var(--text-2)}
.row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid #EEF1F5}
.row:last-child{border-bottom:0}
.row-main{min-width:0}
.row-name{font-weight:600;font-size:17px;line-height:1.3;color:var(--text)}
.row-sub{font-size:16px;line-height:1.35;color:var(--text-2)}
.row-status{flex-shrink:0;text-align:right}
.row-when{font-size:15px;color:var(--text-2);margin-top:4px}
.pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:15px;font-weight:700}
.dot{width:10px;height:10px;border-radius:50%}
.pill-green{background:#E2F2E8;color:#1C5E37}.pill-green .dot{background:#2E8B57}
.pill-yellow{background:#FFF1C2;color:#6E5200}.pill-yellow .dot{background:#E0A800}
.pill-red{background:#FCE3E0;color:#9F1C1C}.pill-red .dot{background:#D33A2C}
.preview figcaption{margin-top:10px;font-size:16px;color:var(--text-2);text-align:center}

/* Sekcje treści */
.band{padding:48px 20px;background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px 40px}
.steps li{display:flex;gap:16px;align-items:flex-start}
.step-n{flex-shrink:0;width:44px;height:44px;border-radius:50%;background:var(--primary);color:#fff;font-weight:700;font-size:20px;display:flex;align-items:center;justify-content:center}
.steps h3{margin:6px 0 4px;font-size:20px;line-height:1.3;color:var(--primary)}
.steps p{color:#2D3748}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.tiles li{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 18px}
.tile-name{font-weight:700;font-size:18px;line-height:1.3;color:var(--primary)}
.tile-note{font-size:17px;color:var(--text-2)}
.dark-band{padding:48px 20px;background:var(--primary);color:#fff}
.dark-in{max-width:860px;margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center}
.dark-in h2{margin:0 0 10px;font-size:19px;font-weight:600;color:#C9D6EA}
.dark-in p{margin:0 0 28px;font-size:clamp(25px,2.5vw,32px);line-height:1.3;font-weight:700}
.dark-in .btn:focus-visible{outline-color:#fff}

/* Formularz */
.form-section{padding:56px 20px 64px}
.form-lead{margin:0 0 20px;color:#2D3748}
.deal{margin:0 0 24px;padding:20px;background:#fff;border:2px solid var(--accent);border-radius:16px}
.deal h3{margin:0 0 4px;font-size:21px;line-height:1.3;color:var(--primary)}
.deal>p{margin:0 0 14px;color:#2D3748}
.deal ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.deal li{padding:14px 16px;background:#FFF6E6;border-radius:12px}
.deal-name{font-weight:700;font-size:19px;line-height:1.3;color:var(--primary)}
.deal .deal-foot{margin:12px 0 0}
.alert{display:flex;gap:12px;align-items:flex-start;margin:0 0 20px;padding:14px 16px;background:var(--err-bg);border:2px solid var(--err);border-radius:12px;color:#7A1810;font-weight:600}
.alert svg{flex-shrink:0;margin-top:1px}
.opt{font-weight:400;color:var(--text-2)}
select.f{appearance:none;padding-right:48px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%2313294B' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}
.cb{flex-shrink:0;width:26px;height:26px;margin:1px 0 0;accent-color:var(--primary)}
.cb:focus-visible{outline:3px solid #1D4ED8;outline-offset:2px}
.check{display:flex;gap:14px;align-items:flex-start}
.check label{font-size:18px;line-height:1.45;color:var(--text);font-weight:400}
.talk{display:flex;flex-direction:column;gap:14px;padding:14px 16px;background:#FFF6E6;border:2px solid #F2C27A;border-radius:12px}
.talk:has(#f-talk:checked){border-color:var(--accent)}
.talk strong{color:var(--primary)}
.reward{margin:0 0 0 40px;padding:0;border:0;display:flex;flex-direction:column;gap:10px;min-width:0}
.reward legend{padding:0;margin:0 0 10px;font-weight:700;font-size:18px;color:var(--text)}
/* Bez JS: nagroda ukrywana CSS-em, gdy rozmowa nie jest zaznaczona. Przeglądarki bez :has pokazują ją zawsze. */
@supports selector(:has(*)){.talk:not(:has(#f-talk:checked)) .reward{display:none}}
.radio{display:flex;gap:12px;align-items:center;min-height:52px;padding:10px 14px;background:#fff;border:2px solid var(--line);border-radius:10px;cursor:pointer;font-size:18px}
.radio:has(input:checked){border-color:var(--primary)}
.cb-radio{width:24px;height:24px;margin:0}
.consent{padding:14px 16px;background:#F7F9FC;border:2px solid var(--line);border-radius:12px}
.consent.bad{border-color:var(--err)}
.center{text-align:center}
.pull-up{margin-top:-8px}
.hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}

/* Stan wysyłania: site.js blokuje przycisk po submit (form[data-busy]) */
.busy-only{display:none}
.btn[disabled] .busy-only{display:inline}
.btn[disabled] svg.busy-only{display:block}
.btn[disabled] .idle-only{display:none}
@keyframes spin{to{transform:rotate(360deg)}}
.spin{animation:spin .9s linear infinite}

/* Podziękowanie */
.thanks{padding:40px 20px 56px}
.thanks-in{max-width:720px;margin:0 auto}
.done{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px 22px}
.done-head{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.done-ico{flex-shrink:0;width:48px;height:48px;border-radius:50%;background:#E2F2E8;display:flex;align-items:center;justify-content:center}
.done h1{font-size:clamp(28px,3vw,40px);line-height:1.2;color:var(--primary)}
.done-lead{margin:0 0 6px;font-size:20px;font-weight:600;color:var(--text)}
.done-sub{color:var(--text-2);overflow-wrap:anywhere}
.done-offer{max-width:none;font-weight:600;color:var(--primary)}
.thanks-h2{margin:40px 0 8px;font-size:clamp(25px,2.4vw,30px);line-height:1.25;color:var(--primary)}
.thanks-p{margin:0 0 20px;color:#2D3748}
.thanks-foot{margin:24px 0 0}
.booking{display:block;width:100%;height:640px;border:1px solid var(--line);border-radius:16px;background:#fff}
.booking-empty{padding:20px;background:#fff;border:2px dashed #8592A6;border-radius:16px;color:var(--text-2)}

@media (prefers-reduced-motion:reduce){.spin{animation:none}}
