/* =========================================================
   Ride Together — registračné formuláre (Wolt / Bolt Food / Bistro)
   Nadväzuje na rt.css (premenné --ink, --mint, --coral, ...)
   ========================================================= */

.reg-wrap{max-width:820px;margin:0 auto;padding:0 24px}

/* ---------- hlavička formulára ---------- */
.reg-hero{background:var(--grad);border-radius:0 0 40px 40px;padding:54px 0 44px;position:relative;overflow:hidden}
.reg-hero:before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;background:#ff8a3d;filter:blur(80px);opacity:.18;top:-170px;right:-120px}
.reg-hero .reg-wrap{position:relative;text-align:center}
.reg-badge{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);padding:7px 16px;border-radius:999px;font-size:13px;font-weight:800;margin-bottom:18px;box-shadow:0 8px 20px -10px rgba(50,32,20,.22)}
.reg-hero h1{font-size:clamp(28px,4.6vw,42px);line-height:1.12;letter-spacing:-1px;font-weight:800;margin-bottom:14px}
.reg-hero .lead{font-size:17px;color:#7a655a;max-width:52em;margin:0 auto}

/* ---------- prepínač jazykov ---------- */
.reg-lang{display:inline-flex;background:#fff;border:1px solid var(--line);border-radius:999px;padding:3px;margin-bottom:20px;gap:2px}
.reg-lang button{border:none;background:transparent;color:var(--ink2);font-family:inherit;font-weight:800;font-size:12.5px;letter-spacing:.3px;padding:7px 14px;border-radius:999px;cursor:pointer;transition:.18s}
.reg-lang button:hover{color:var(--mint-d)}
.reg-lang button.active{background:var(--mint);color:#fff;box-shadow:0 6px 14px -6px rgba(255,138,61,.7)}

/* ---------- progress ---------- */
.reg-steps{display:flex;align-items:center;justify-content:center;gap:0;margin:34px auto 30px;max-width:560px}
.reg-steps .s{display:flex;flex-direction:column;align-items:center;gap:7px;flex:0 0 auto;position:relative;z-index:2}
.reg-steps .s .dot{width:38px;height:38px;border-radius:50%;background:#fff;border:2px solid var(--line);color:var(--muted);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;transition:.25s}
.reg-steps .s .t{font-size:12.5px;font-weight:700;color:var(--muted);white-space:nowrap;transition:.25s}
.reg-steps .s.active .dot{background:var(--mint);border-color:var(--mint);color:#fff;box-shadow:0 8px 18px -8px rgba(255,138,61,.8)}
.reg-steps .s.active .t{color:var(--ink)}
.reg-steps .s.done .dot{background:var(--mint-d);border-color:var(--mint-d);color:#fff}
.reg-steps .s.done .t{color:var(--ink2)}
.reg-steps .bar{flex:1 1 auto;height:3px;background:var(--line);margin:0 -2px;position:relative;top:-11px;border-radius:2px;overflow:hidden}
.reg-steps .bar i{display:block;height:100%;width:0;background:var(--mint);transition:width .35s ease}
.reg-steps .bar.filled i{width:100%}
@media(max-width:620px){.reg-steps .s .t{display:none}.reg-steps{max-width:280px;margin-top:26px}}

/* ---------- karta formulára ---------- */
.reg-form{background:#fff;border:1px solid var(--line);border-radius:24px;padding:34px;box-shadow:0 24px 50px -26px rgba(50,32,20,.28);margin-bottom:60px}
@media(max-width:600px){.reg-form{padding:22px 18px;border-radius:18px}}

.reg-page{display:none;animation:regIn .3s ease}
.reg-page.active{display:block}
@keyframes regIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

.reg-page h2{font-size:20px;font-weight:800;letter-spacing:-.3px;margin-bottom:4px}
.reg-page .ph-sub{font-size:14.5px;color:var(--muted);margin-bottom:24px}

.reg-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:18px;align-items:start}
.reg-row>.reg-field{margin-bottom:0}
@media(max-width:600px){.reg-row{grid-template-columns:1fr;gap:0;margin-bottom:0}.reg-row>.reg-field{margin-bottom:18px}}

.reg-field{margin-bottom:18px}
.reg-field label{display:block;font-size:13.5px;font-weight:700;margin-bottom:7px;color:var(--ink2)}
.reg-field label .req{color:var(--coral)}
.reg-field .hint{display:block;font-size:12.5px;font-weight:500;color:var(--muted);margin-top:3px;line-height:1.45}
.reg-field input[type=text],
.reg-field input[type=tel],
.reg-field input[type=email],
.reg-field input[type=date],
.reg-field input[type=number],
.reg-field select,
.reg-field textarea{width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:12px;font-size:15px;font-family:inherit;background:#fffaf4;color:var(--ink);transition:.18s}
.reg-field textarea{min-height:96px;resize:vertical}
.reg-field input:focus,.reg-field select:focus,.reg-field textarea:focus{outline:none;border-color:var(--mint);box-shadow:0 0 0 4px rgba(255,138,61,.22);background:#fff}
.reg-field.invalid input,.reg-field.invalid select,.reg-field.invalid textarea,.reg-field.invalid .up-box{border-color:var(--coral);background:#fff6f7}
.reg-field .err{display:none;font-size:12.5px;font-weight:700;color:var(--coral);margin-top:6px}
.reg-field.invalid .err{display:block}

/* telefón s predvoľbou */
.reg-phone{display:flex;gap:8px}
.reg-phone select{flex:0 0 118px;width:118px}
.reg-phone input{flex:1 1 auto}

/* ---------- rádiové dlaždice ---------- */
.reg-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.reg-tiles label{display:flex;align-items:center;gap:10px;background:#fffaf4;border:1px solid var(--line);border-radius:13px;padding:13px 15px;font-size:14.5px;font-weight:600;color:var(--ink);cursor:pointer;margin:0;transition:.18s}
.reg-tiles label:hover{border-color:var(--mint);background:#fff6ec}
.reg-tiles input{accent-color:var(--mint);width:17px;height:17px;flex:0 0 auto;margin:0}
.reg-tiles input:checked+span{font-weight:800;color:var(--mint-d)}
.reg-tiles label:has(input:checked){border-color:var(--mint);background:#fff2e4;box-shadow:0 8px 18px -14px rgba(255,138,61,.9)}

/* ---------- upload ---------- */
.reg-uploads{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:600px){.reg-uploads{grid-template-columns:1fr}}
.up-box{position:relative;border:2px dashed var(--line);border-radius:15px;background:#fffaf4;padding:18px 16px;text-align:center;cursor:pointer;transition:.2s}
.up-box:hover{border-color:var(--mint);background:#fff6ec}
.up-box.has-file{border-style:solid;border-color:var(--mint);background:#fff2e4}
.up-box input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.up-box .ic{font-size:24px;display:block;margin-bottom:6px}
.up-box .nm{font-size:13.5px;font-weight:700;color:var(--ink2);line-height:1.4;word-break:break-word}
.up-box .sz{font-size:12px;color:var(--muted);margin-top:3px}
.up-box.has-file .nm{color:var(--mint-d)}

/* ---------- súhlasy ---------- */
.reg-consent{display:flex;gap:11px;align-items:flex-start;font-size:13.5px;color:var(--ink2);font-weight:500;line-height:1.5;background:#fffaf4;border:1px solid var(--line);border-radius:13px;padding:14px 16px;margin-bottom:12px;cursor:pointer;transition:.18s}
.reg-consent:hover{border-color:var(--mint)}
.reg-consent input{width:18px;height:18px;flex:0 0 auto;margin-top:1px;accent-color:var(--mint)}
.reg-consent a{color:var(--mint-d);font-weight:700}
.reg-consent.invalid{border-color:var(--coral);background:#fff6f7}

/* ---------- upozornenie ---------- */
.reg-note{background:#fff6ec;border-left:5px solid var(--mint);padding:14px 18px;border-radius:0 12px 12px 0;margin:0 0 24px;font-size:14.5px;color:#4a3f38;line-height:1.6}
.reg-note.warn{background:#fff3f4;border-left-color:var(--coral)}
.reg-note strong{color:var(--ink)}

/* ---------- navigácia ---------- */
.reg-nav{display:flex;gap:12px;align-items:center;margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}
.reg-nav .spacer{flex:1 1 auto}
.btn-next,.btn-submit{background:var(--coral);color:#fff;border:none;padding:15px 30px;border-radius:14px;font-size:15.5px;font-weight:800;font-family:inherit;cursor:pointer;transition:.2s;box-shadow:0 14px 30px -12px rgba(255,93,115,.7)}
.btn-next:hover,.btn-submit:hover{background:#ff4560;transform:translateY(-2px)}
.btn-submit{width:100%;padding:17px}
.btn-back{background:transparent;color:var(--ink2);border:1px solid var(--line);padding:15px 24px;border-radius:14px;font-size:15px;font-weight:700;font-family:inherit;cursor:pointer;transition:.2s}
.btn-back:hover{border-color:var(--mint);color:var(--mint-d)}
.btn-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}

.reg-formnote{font-size:12.5px;color:var(--muted);margin-top:14px;text-align:center;line-height:1.55}

/* ---------- kontakt pod formulárom ---------- */
.reg-help{text-align:center;padding:0 24px 70px}
.reg-help p{color:var(--muted);font-size:15px;margin-bottom:14px}
.reg-help .row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
