/* WinterVille Tech online registration (Oct 12 2026) */
.reg-wrap{background:var(--bg);padding-top:2rem}
.reg-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:1.5rem;align-items:start}
.reg-side{display:grid;gap:1rem}.reg-side .card h3{display:flex;gap:.5rem;align-items:center;margin-top:0}
.reg-card{background:#fff;border-radius:var(--r);box-shadow:var(--shadow);padding:1.6rem;border-top:6px solid var(--navy);min-width:0}
.reg-loading{color:var(--muted)}
.rprog{margin:0 0 .6rem}.rprog-bar{height:8px;background:#e3eaf5;border-radius:99px;overflow:hidden}.rprog-bar span{display:block;height:100%;width:11%;background:linear-gradient(90deg,var(--navy3),var(--accent));border-radius:99px;transition:width .3s}
#rstepl{margin:.5rem 0 0;font-family:var(--display);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;color:var(--slate)}
.rsteps{display:flex;flex-wrap:wrap;gap:.35rem;list-style:none;margin:.2rem 0 1.2rem;padding:0}
.rsteps li{display:flex;align-items:center;gap:.35rem;font-size:.78rem;font-weight:700;color:#7a879b;background:#f2f5fa;border-radius:99px;padding:.25rem .65rem .25rem .3rem}
.rsteps li span{display:inline-grid;place-items:center;width:1.35rem;height:1.35rem;border-radius:50%;background:#dbe3ef;color:#33507a;font-size:.72rem}
.rsteps li.on{background:var(--navy);color:#fff}.rsteps li.on span{background:var(--accent);color:var(--navy)}
.rsteps li.done{color:var(--navy)}.rsteps li.done span{background:var(--navy3);color:#fff}
.rstep h2{font-family:var(--display);font-weight:900;font-style:italic;text-transform:uppercase;color:var(--navy);font-size:clamp(1.35rem,3.4vw,1.8rem);margin:.2rem 0 .3rem;outline:none}
.rs-lead{color:var(--muted);margin:0 0 1.1rem}
.rgrid{display:grid;grid-template-columns:1fr 1fr;gap:.9rem 1rem}
.rf{display:flex;flex-direction:column;gap:.3rem;min-width:0}.rf-wide{grid-column:1/-1}
.rf label{font-weight:700;font-size:.92rem;color:var(--ink)}
.req{color:#c0392b}.opt{font-weight:500;color:#7a879b;font-size:.8rem;margin-left:.2rem}
.rf-hint{margin:0;color:var(--muted);font-size:.82rem;line-height:1.35}
.rf input,.rf select,.rf textarea,.stform input{width:100%;font:inherit;font-size:1rem;color:var(--ink);background:#fff;border:1.5px solid #c9d3e3;border-radius:12px;padding:.7rem .8rem;min-height:48px}
.rf textarea{min-height:0;resize:vertical}
.rf input:focus,.rf select:focus,.rf textarea:focus,.stform input:focus{outline:3px solid var(--accent);outline-offset:1px;border-color:var(--navy3)}
.rf [aria-invalid=true]{border-color:#c0392b;background:#fff7f6}
.rf-err{margin:0;color:#b42318;font-size:.85rem;font-weight:600}
.rset{border:1.5px solid #dfe4ee;border-radius:var(--r-sm);padding:1rem 1rem 1.1rem;margin:0 0 1rem}
.rset legend{font-family:var(--display);font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--navy);padding:0 .4rem;font-size:.9rem}
.rchecks{display:grid;gap:.55rem;margin:1rem 0 .3rem}
.rcb{display:flex;gap:.65rem;align-items:flex-start;font-size:.95rem;line-height:1.4;cursor:pointer}
.rcb input{width:22px;height:22px;flex:none;margin:.05rem 0 0;accent-color:var(--navy)}
.rconsent{background:#f4f7fc;border-left:4px solid var(--navy3);border-radius:10px;padding:.9rem 1rem;font-size:.92rem;color:#2b3a52}.rconsent p{margin:0}
.rdocs{display:grid;gap:.8rem}
.rdoc{display:grid;grid-template-columns:1fr auto;gap:.6rem 1rem;align-items:center;border:1.5px dashed #c3cfe2;border-radius:var(--r-sm);padding:.85rem 1rem;background:#fafcff}
.rdoc-t b{display:block;color:var(--navy)}.rdoc-t span{font-size:.85rem;color:var(--muted)}
.rdoc-s{grid-column:1/-1;display:flex;align-items:center;gap:.7rem}.rdoc-s:empty{display:none}
.rdoc-s img,.rdoc-pdf{width:56px;height:56px;object-fit:cover;border-radius:8px;flex:none;background:#e3eaf5}
.rdoc-pdf{display:grid;place-items:center;background:var(--navy);color:#fff;font-weight:800;font-size:.75rem;letter-spacing:.08em}
.rdoc-n{flex:1;min-width:0;font-size:.88rem;font-weight:600;word-break:break-all}.rdoc-n small{display:block;font-weight:500;color:var(--muted)}
.rdoc-x{border:0;background:none;color:#b42318;font-weight:700;cursor:pointer;padding:.5rem;font-size:.85rem}
.rdoc-pick{position:relative;overflow:hidden;cursor:pointer}.rdoc-pick input{position:absolute;inset:0;opacity:0;cursor:pointer;font-size:0}
.rdoc .rf-err{grid-column:1/-1}
.rbtn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:50px;border-radius:999px;padding:.8rem 1.5rem;font-family:var(--display);font-weight:800;text-transform:uppercase;letter-spacing:.04em;font-size:.9rem;border:2px solid var(--navy);background:var(--navy);color:#fff;cursor:pointer;text-decoration:none}
.rbtn:hover{background:var(--navy2);color:#fff}.rbtn[disabled]{opacity:.6;cursor:wait}
.rbtn-ghost{background:#fff;color:var(--navy)}.rbtn-ghost:hover{background:var(--bg);color:var(--navy)}
.rbtn-go{background:#0d7a43;border-color:#0d7a43}.rbtn-go:hover{background:#0a6236}
.rnav{display:flex;justify-content:space-between;gap:.8rem;margin-top:1.5rem;padding-top:1.1rem;border-top:1px solid var(--line)}
.rnav .rbtn{flex:1;max-width:240px}
.rmsg{background:#fff1f0;border:1px solid #f3c1bc;color:#8a1c12;border-radius:12px;padding:.8rem 1rem;margin:1rem 0 0;font-weight:600}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.rv{border:1px solid var(--line);border-radius:var(--r-sm);margin:0 0 .8rem;overflow:hidden}
.rv-h{display:flex;justify-content:space-between;align-items:center;background:#f4f7fc;padding:.55rem .9rem}
.rv-h h3{margin:0;font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:.85rem;letter-spacing:.05em;color:var(--navy)}
.rv-edit{border:0;background:none;color:var(--link);font-weight:700;cursor:pointer;padding:.35rem .5rem;font-size:.9rem}
.rv dl{margin:0;padding:.4rem .9rem .6rem}.rv dl div{display:grid;grid-template-columns:40% 1fr;gap:.6rem;padding:.3rem 0;border-bottom:1px solid #f0f3f8}.rv dl div:last-child{border:0}
.rv dt{color:var(--muted);font-size:.88rem}.rv dd{margin:0;font-weight:600;font-size:.92rem;word-break:break-word}.rv .muted{color:var(--muted);font-weight:500}
.rdone{text-align:center;padding:.5rem 0 1rem}
.rdone-ic{width:72px;height:72px;margin:0 auto .6rem;border-radius:50%;display:grid;place-items:center;background:#0d7a43;color:#fff;font-size:2.2rem;font-weight:900}
.rdone h2{font-family:var(--display);font-weight:900;font-style:italic;text-transform:uppercase;color:var(--navy);font-size:clamp(1.5rem,4vw,2.1rem);margin:.2rem 0;outline:none}
.rdone-no{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:clamp(1.6rem,7vw,2.3rem);font-weight:800;letter-spacing:.06em;color:var(--navy);background:#eef4ff;border:2px dashed var(--navy3);border-radius:14px;display:inline-block;padding:.35rem 1rem;margin:.2rem 0 .6rem}
.rdone-btns{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:center;margin:.8rem 0 0}
.rmail{margin:1.4rem 0 0;border:1px solid var(--line);border-radius:var(--r-sm);padding:0 1.1rem 1rem;font-size:.95rem;background:#fff}
.rmail header{background:#f4f7fc;margin:0 -1.1rem 1rem;padding:.8rem 1.1rem;border-bottom:1px solid var(--line);border-radius:var(--r-sm) var(--r-sm) 0 0}.rmail header p{margin:.1rem 0;font-size:.88rem;word-break:break-word}
.rmail-note{color:var(--muted);font-size:.82rem;border-top:1px solid var(--line);padding-top:.7rem}
.stform{display:grid;gap:1rem}
.stcard{margin-top:1.3rem;border:1px solid var(--line);border-radius:var(--r-sm);padding:1rem 1.1rem;text-align:center}
.st-no{font-family:ui-monospace,Menlo,Consolas,monospace;font-weight:700;color:var(--navy);margin:0}
.st-badge{display:inline-block;margin:.6rem 0 .2rem;padding:.35rem 1rem;border-radius:99px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:.85rem}
.st-new{background:#e6f0fb;color:#0b4a8b}.st-rev{background:#fff4dc;color:#7a5200}.st-ok{background:#e5f4ea;color:#1d6b35}.st-no{}.st-badge.st-no{background:#fbe9e9;color:#9b1c1c}
@media (max-width:900px){.reg-grid{grid-template-columns:1fr}.reg-side{order:2}}
@media (max-width:600px){.reg-card{padding:1.1rem;border-radius:16px}.rgrid{grid-template-columns:1fr}.rsteps{display:none}.rnav .rbtn{max-width:none}.rv dl div{grid-template-columns:1fr;gap:0}.reg-wrap{padding-top:1rem}.rdoc{grid-template-columns:1fr}.rdoc-pick{width:100%}}
@media print{.utility,.site-header,.site-footer,.reg-side,.rdone-btns,.page-banner{display:none!important}.reg-card{box-shadow:none;border:0}}
