/* Legalizatorium Spotkania — visual alignment with legalizatorium.pl v2.7.0.
   Presentation only: the registration API, form IDs and business logic are unchanged. */
:root {
  --bg:#f7f8fc; --text:#192542; --muted:#4d5a72; --blue:#304fcb;
  --blue-light:#eef2ff; --edge:#e0e5ef; --panel:#ffffff; --field:#fafbff;
  --width:1200px;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--bg); color:var(--text); font:16px/1.52 Inter,system-ui,-apple-system,'Segoe UI',sans-serif; min-height:100vh; overflow-x:hidden; }
button,input,textarea { font:inherit; }
a { color:inherit; text-decoration:none; }
:focus-visible { outline:3px solid #4867ec; outline-offset:3px; }
.wrap { max-width:var(--width); width:calc(100% - 64px); margin-inline:auto; }
.ambient { display:none; }
.top { min-height:74px; display:flex; justify-content:space-between; align-items:center; gap:18px; border-bottom:1px solid var(--edge); }
header.top { background:#fff; max-width:none; width:100%; padding-inline:max(32px,calc((100vw - var(--width))/2)); }
.brand { display:flex; align-items:center; gap:10px; font-size:19px; font-weight:800; letter-spacing:-.035em; line-height:1.14; }
.brand > span:last-child { font-size:0; }
.brand > span:last-child::first-line { font-size:0; }
.brand small { display:block; font-size:11px; letter-spacing:0; font-weight:500; color:#66728b; margin-top:4px; }
.brand > span:last-child::before { content:'Legalizatorium'; display:block; font-size:19px; font-weight:800; letter-spacing:-.035em; }
.brand-icon { width:37px; height:37px; border-radius:9px; display:grid; place-items:center; background:#365be9; color:#fff; font-size:22px; font-weight:850; letter-spacing:-.12em; position:relative; }
.brand-icon span { position:absolute; font-size:19px; right:4px; bottom:2px; }
.head-right { display:flex; gap:22px; align-items:center; }
.live { display:flex; align-items:center; gap:9px; font-size:12px; font-weight:700; color:#53617b; }
.live-dot { height:8px; width:8px; background:#32a77a; border-radius:50%; box-shadow:0 0 0 4px #32a77a15; }
.languages { display:flex; border:1px solid var(--edge); background:#fff; border-radius:999px; padding:3px; gap:2px; }
.lang { background:transparent; border:0; color:#53617b; padding:7px 12px; border-radius:999px; cursor:pointer; font-weight:750; font-size:11px; }
.lang.current { background:#192542; color:white; }
.main-grid { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(385px,.92fr); gap:clamp(32px,6%,78px); align-items:start; padding-top:58px; }
.hero { padding-top:23px; }
.eyebrow { color:var(--blue); font-size:12px; letter-spacing:.025em; font-weight:800; display:flex; align-items:center; gap:10px; }
.line { height:2px; width:22px; background:var(--blue); }
h1,h2 { font-family:Manrope,Inter,system-ui,sans-serif; }
h1 { font-size:clamp(43px,5vw,70px); letter-spacing:-.059em; line-height:1.10; margin:24px 0; font-weight:800; }
h1 em { font-style:normal; color:var(--blue); }
.lead { color:var(--muted); font-size:16px; line-height:1.75; max-width:545px; margin:0 0 32px; }
.facts { display:grid; grid-template-columns:1fr 1fr; gap:12px; border:0; padding:0; }
.fact { display:flex; gap:13px; align-items:center; background:#fff; border:1px solid var(--edge); padding:19px 16px; border-radius:16px; min-width:0; }
.fact-icon { flex:0 0 auto; color:var(--blue); background:#eef2ff; border:0; border-radius:11px; width:44px; height:44px; display:grid; place-items:center; font-size:23px; }
.fact small,.fact strong,.fact span:not(.fact-icon) { display:block; }
.fact small { font-size:10px; letter-spacing:.06em; color:#6a7590; font-weight:800; margin:0 0 5px; }
.fact strong { font-size:14px; font-weight:800; }
.fact span:not(.fact-icon) { color:#66738b; font-size:13px; margin-top:2px; }
.topics { margin-top:30px; }
.topics-heading,.host-label { font-size:13px; font-weight:800; color:var(--text); margin-bottom:13px; }
.chips { display:flex; flex-wrap:wrap; gap:8px; }
.chips span { border:1px solid #dce2ef; border-radius:999px; padding:10px 14px; color:#41506d; font-size:12px; font-weight:650; background:#fff; }
.hosts { margin-top:31px; }
.host-names { display:flex; gap:13px; flex-wrap:wrap; }
.person { display:flex; gap:9px; align-items:center; font-size:12px; font-weight:700; background:#fff; border:1px solid var(--edge); padding:8px 14px 8px 8px; border-radius:14px; }
.avatar { border-radius:10px; height:34px; width:34px; display:grid; place-items:center; font-size:11px; color:#304fcb; background:#eef2ff; border:0; font-weight:850; }
.signup { background:var(--panel); border:1px solid #dce3ef; border-radius:24px; overflow:hidden; box-shadow:0 22px 65px #1a315115; }
.form-top { background:linear-gradient(112deg,#142544 0%,#264c87 100%); padding:28px 32px 26px; color:#fff; border-bottom:0; }
.ticket { display:flex; align-items:center; justify-content:space-between; font-size:11px; letter-spacing:.08em; font-weight:800; color:#dce8ff; }
.ticket-star { font-size:24px; color:#b5cdff; }
.big-count { display:flex; align-items:baseline; gap:9px; letter-spacing:-.075em; margin-top:8px; }
.big-count strong { font-family:Manrope,Inter,system-ui,sans-serif; font-size:88px; line-height:1.1; color:#fff; font-weight:800; }
.big-count .slash { font-size:34px; color:#8fa9d6; }
.big-count #capacity { font-size:31px; color:#d1e0fa; font-weight:750; }
.count-description { font-size:14px; font-weight:700; color:#fff; margin:0 0 19px; }
.progress { height:7px; border-radius:99px; background:#5574a9; overflow:hidden; }
.progress>div { height:100%; background:#a7c4ff; width:0%; transition:width .4s ease; }
.availability { color:#d2e0f7; font-size:12px; line-height:1.6; margin:13px 0 0; }
.form-body { padding:27px 32px 30px; }
h2 { font-size:25px; letter-spacing:-.04em; margin:0 0 8px; }
.form-desc { font-size:13px; color:#5a6780; line-height:1.65; margin:0 0 21px; }
form label:not(.policy) { display:block; font-size:12px; font-weight:750; margin-bottom:7px; color:#253452; }
input:not([type=checkbox]),textarea { display:block; width:100%; background:var(--field); border:1px solid #d7dfec; color:var(--text); border-radius:11px; padding:13px 14px; outline:none; font-size:13px; margin-bottom:15px; transition:border-color .2s,box-shadow .2s; }
input:focus,textarea:focus { border-color:#6885ed; box-shadow:0 0 0 3px #4867ec14; }
input::placeholder,textarea::placeholder { color:#929db0; }
textarea { resize:vertical; min-height:77px; }
.muted { font-weight:500; color:#8993a5; }
.policy { display:flex; gap:10px; color:#5b6981; font-size:11px; line-height:1.55; cursor:pointer; margin:3px 0 19px; }
.policy input { accent-color:var(--blue); flex:0 0 auto; margin:2px 0 0; }
.policy a { color:var(--blue); text-decoration:underline; }
.submit { border:0; background:var(--blue); color:white; width:100%; display:flex; justify-content:space-between; align-items:center; padding:16px 19px; border-radius:11px; font-size:14px; font-weight:800; cursor:pointer; transition:background .2s,transform .2s; }
.submit:hover { background:#213cad; transform:translateY(-2px); }
.submit:disabled { opacity:.65; cursor:wait; transform:none; }
.submit span:last-child { font-size:19px; line-height:1; }
.underbutton { margin:14px 0 0; text-align:center; font-size:11px; color:#7d889b; }
.underbutton span:first-child { color:#268a65; }
.notice { border:1px solid #acc4ef; background:#eef3ff; color:#24417f; padding:14px; border-radius:10px; font-size:12px; line-height:1.7; margin:0 0 17px; }
.notice.error { background:#fff1f0; border-color:#eac1be; color:#a03b35; }
.closed { background:#f1f4fa; border:1px solid #d6deeb; border-radius:12px; padding:22px; color:#233451; font-size:13px; line-height:1.7; }
.closed p { margin-bottom:0; color:#5d6980; }
.trap { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.bottom-row { border-top:1px solid var(--edge); border-bottom:1px solid var(--edge); padding:27px 0; display:flex; justify-content:space-between; align-items:center; gap:20px; margin-top:61px; }
.next { display:flex; gap:13px; align-items:center; color:#5c6980; font-size:13px; line-height:1.65; }
.next-symbol { font-size:24px; color:var(--blue); }
.map-link { color:var(--blue); font-size:13px; font-weight:800; white-space:nowrap; }
.footer { display:flex; justify-content:space-between; gap:20px; color:#79859a; font-size:11px; padding:26px 0 39px; }
.footer span:last-child { text-align:right; }
@media(max-width:940px) { .main-grid { grid-template-columns:1fr; gap:37px; padding-top:37px; } .hero { padding-top:0; } .signup { max-width:620px; } .bottom-row { margin-top:42px; } }
@media(max-width:600px) { .wrap { width:calc(100% - 36px); } header.top { padding-inline:18px; min-height:70px; } .brand { gap:8px; } .brand > span:last-child::before { font-size:15px; } .brand small { font-size:9px; } .brand-icon { width:34px; height:34px; font-size:20px; } .brand-icon span { font-size:17px; } .live { display:none; } .head-right { gap:6px; } h1 { font-size:clamp(39px,9vw,54px); } .lead { font-size:14px; line-height:1.73; } .facts { grid-template-columns:1fr 1fr; gap:9px; } .fact { padding:13px 10px; gap:8px; } .fact strong { font-size:12px; overflow-wrap:anywhere; } .fact span:not(.fact-icon) { font-size:11px; } .fact-icon { width:31px; height:31px; font-size:18px; } .form-top,.form-body { padding-left:22px; padding-right:22px; } .bottom-row,.footer { align-items:flex-start; flex-direction:column; } .footer span:last-child { text-align:left; } .big-count strong { font-size:77px; } }
@media(prefers-reduced-motion:reduce) { *,*:before,*:after { scroll-behavior:auto!important; transition:none!important; } }
