/* GEKVISION — book.css · formularz rezerwacji + akceptacja regulaminu (Kodzior T44, 2026-09-06)
   Styl 1:1 ze stroną: #050505, biel, złoto #C9A227, Outfit 200/300, IBM Plex Mono na etykietach, hairlines rgba(255,255,255,.14). */
:root{color-scheme:dark;--gold:#C9A227;--line:rgba(255,255,255,.14);--muted:rgba(255,255,255,.5);--ease:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}
body{margin:0;background:#050505;color:#fff;font-family:Outfit,system-ui,sans-serif;font-weight:300;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,label:focus-within{outline:1px solid var(--gold);outline-offset:4px}
header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px clamp(20px,5vw,64px);background:linear-gradient(to bottom,rgba(5,5,5,.94),rgba(5,5,5,.7));backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:14px;font-size:14px;letter-spacing:.42em;text-transform:uppercase}
.brand img{width:29px;height:31px}
nav.langs{display:flex;gap:14px;font:11px 'IBM Plex Mono',monospace;letter-spacing:.14em}
nav.langs a{color:rgba(255,255,255,.5);padding:6px 2px;min-height:24px;display:inline-flex;align-items:center}
nav.langs a[aria-current="true"]{color:#fff}
header>a.back{font:11px 'IBM Plex Mono',monospace;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.5);padding:6px 0}
main{max-width:760px;margin:0 auto;padding:clamp(48px,8vh,96px) clamp(20px,5vw,40px) 120px}
.eyebrow{font:11px 'IBM Plex Mono',monospace;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin:0 0 18px}
h1{font-weight:200;font-size:clamp(38px,6vw,72px);line-height:1.02;letter-spacing:-.035em;margin:0 0 22px}
.lead{font-size:clamp(16px,1.2vw,19px);color:rgba(255,255,255,.7);max-width:44ch;margin:0 0 54px}
fieldset{border:0;padding:0;margin:0 0 50px;min-width:0}
legend{display:block;width:100%;font:11px 'IBM Plex Mono',monospace;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.5);padding:0 0 14px;margin:0 0 18px;border-bottom:1px solid var(--line)}
.group{margin:0 0 26px}
.group h3{margin:0 0 10px;font-weight:300;font-size:15px;letter-spacing:.02em;color:rgba(255,255,255,.7)}
.types{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.type{position:relative;display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid var(--line);cursor:pointer;transition:border-color .35s var(--ease),background .35s var(--ease);min-height:72px}
.type:hover{border-color:rgba(255,255,255,.35)}
.type input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.type:has(input:checked){border-color:var(--gold);background:rgba(201,162,39,.06)}
.type .t{font-size:16px;line-height:1.3}
.type .p{font:11px 'IBM Plex Mono',monospace;letter-spacing:.12em;color:rgba(255,255,255,.5)}
.type:has(input:checked) .p{color:var(--gold)}
.note{margin:14px 0 0;padding:14px 16px;border-left:1px solid var(--gold);font-size:14.5px;line-height:1.6;color:rgba(255,255,255,.7)}
.field{display:flex;flex-direction:column;gap:6px;margin:0 0 22px}
.field>span{font:11px 'IBM Plex Mono',monospace;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.field input,.field textarea,.field select{width:100%;background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.25);padding:12px 0;font-size:17px;font-weight:300;color:#fff;border-radius:0;transition:border-color .3s}
.field input:focus,.field textarea:focus,.field select:focus{outline:0;border-bottom-color:var(--gold)}
.field textarea{min-height:120px;resize:vertical}
.field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,rgba(255,255,255,.6) 50%),linear-gradient(135deg,rgba(255,255,255,.6) 50%,transparent 50%);background-position:calc(100% - 14px) 55%,calc(100% - 8px) 55%;background-size:6px 6px;background-repeat:no-repeat;padding-right:32px}
.field select option{background:#0b0b0b}
.field input::placeholder,.field textarea::placeholder{color:rgba(255,255,255,.3)}
.field input[type=date]{color-scheme:dark}
.two{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}
@media(max-width:600px){.two{grid-template-columns:1fr}}
.seg{display:flex;gap:0;border:1px solid var(--line);width:fit-content;max-width:100%}
.seg label{position:relative;padding:12px 18px;cursor:pointer;font-size:15px;color:rgba(255,255,255,.6);transition:color .3s,background .3s}
.seg label+label{border-left:1px solid var(--line)}
.seg input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.seg label:has(input:checked){color:#fff;background:rgba(255,255,255,.06)}
.check{display:flex;gap:14px;align-items:flex-start;padding:14px 0;border-top:1px solid var(--line);cursor:pointer;font-size:15px;line-height:1.55;color:rgba(255,255,255,.8)}
.check:last-of-type{border-bottom:1px solid var(--line)}
.check input{appearance:none;flex:0 0 22px;width:22px;height:22px;margin:3px 0 0;border:1px solid rgba(255,255,255,.4);background:transparent;cursor:pointer;position:relative;transition:border-color .3s,background .3s}
.check input:checked{border-color:var(--gold);background:var(--gold)}
.check input:checked::after{content:"";position:absolute;left:7px;top:3px;width:5px;height:10px;border:solid #050505;border-width:0 2px 2px 0;transform:rotate(45deg)}
.check a{color:var(--gold);border-bottom:1px solid rgba(201,162,39,.5)}
.check small{display:block;color:rgba(255,255,255,.5);font-size:13.5px;margin-top:4px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.submit{display:inline-flex;align-items:center;gap:14px;margin-top:10px;padding:18px 26px;border:1px solid var(--gold);background:transparent;color:var(--gold);font-size:16px;letter-spacing:.02em;cursor:pointer;transition:background .3s,color .3s}
.submit:hover{background:var(--gold);color:#050505}
.submit[disabled]{opacity:.5;cursor:wait}
.msg{margin:18px 0 0;font-size:14.5px;line-height:1.55;color:var(--gold);min-height:1.5em}
.msg.err{color:#ff7b6b}
.done{padding:40px 0 0}
.done .big{font-weight:200;font-size:clamp(34px,5vw,60px);line-height:1.05;letter-spacing:-.03em;margin:0 0 18px}
.done p{color:rgba(255,255,255,.75);max-width:52ch}
.done .nr{font:12px 'IBM Plex Mono',monospace;letter-spacing:.22em;color:var(--gold);margin:0 0 14px}
.summary{margin:0 0 40px;border-top:1px solid rgba(255,255,255,.3)}
.summary table{width:100%;border-collapse:collapse}
.summary td{padding:10px 0;border-bottom:1px solid var(--line);vertical-align:top;font-size:15px}
.summary td:first-child{width:38%;font:11px 'IBM Plex Mono',monospace;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.5);padding-right:12px}
.docs{display:flex;flex-wrap:wrap;gap:14px 28px;margin:0 0 40px;font-size:15px}
.docs a{color:var(--gold);border-bottom:1px solid rgba(201,162,39,.5);padding-bottom:3px}
.legal{margin:26px 0 0;font-size:13px;line-height:1.6;color:rgba(255,255,255,.5)}
footer{padding:40px clamp(20px,5vw,64px);border-top:1px solid var(--line);display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font:10px 'IBM Plex Mono',monospace;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.5)}
footer a{color:inherit;padding:6px 0}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.pi{display:block;margin-top:3px;font-size:10px;letter-spacing:.1em;color:rgba(255,255,255,.38)}
