body.registration-page { margin:0; background:#fffaf2; color:#2e2a26; font-family:Nunito,system-ui,sans-serif; }
.registration-header { min-height:76px; padding:0 clamp(20px,4vw,72px); display:flex; align-items:center; gap:26px; border-bottom:1px solid #eadfce; background:#fffaf2; }
.registration-header a { color:#31495a; text-decoration:none; font-weight:800; }
.registration-header a:last-child { margin-left:auto; }
.registration-wordmark { font-family:DynaPuff,Nunito,sans-serif; font-size:27px; color:#226b91!important; }
.registration-layout { max-width:1280px; margin:auto; padding:clamp(26px,4vw,58px) clamp(20px,4vw,56px); display:grid; grid-template-columns:minmax(250px,380px) minmax(0,1fr); gap:clamp(24px,4vw,55px); align-items:start; }
.registration-aside h2 { font-size:31px; line-height:1.15; margin:4px 0 14px; font-weight:800; }
.registration-aside p, .registration-intro, .registration-hint { color:#5d6570; line-height:1.55; }
.registration-eyebrow { color:#397a55!important; font-size:13px; font-weight:800; letter-spacing:.08em; }
.registration-aside ol { list-style:none; padding:0; margin:28px 0; display:grid; gap:19px; }
.registration-aside li { display:grid; gap:3px; }
.registration-aside li span { color:#5d6570; font-size:14px; }
.registration-conditions { background:#e5f5df; padding:20px; border-radius:20px; }
.registration-conditions p { margin:7px 0 0; color:#315f42; font-size:14px; }
.registration-card { background:#fff; border:1px solid #eee2d2; border-radius:24px; padding:clamp(20px,3vw,38px); box-shadow:0 10px 35px #203b4e0a; }
.registration-card h1 { font-size:clamp(27px,3vw,36px); line-height:1.2; margin:0 0 12px; font-weight:800; }
.registration-card fieldset { border:0; border-top:1px solid #eee6dd; padding:24px 0; margin:0; min-width:0; }
.registration-card legend { font-size:19px; font-weight:800; padding:0 10px 0 0; }
.registration-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.registration-grid label { display:grid; gap:6px; font-size:13px; font-weight:800; color:#46525b; }
.registration-grid input, .registration-grid select { width:100%; box-sizing:border-box; min-height:48px; padding:10px 13px; border:1px solid #d9dce0; border-radius:12px; background:#fff; color:#262b30; font:inherit; font-size:15px; font-weight:500; }
.registration-grid input:focus-visible, .registration-grid select:focus-visible, .registration-card button:focus-visible, .registration-header a:focus-visible { outline:3px solid #86bee0; outline-offset:2px; }
.registration-check { display:flex; gap:10px; align-items:flex-start; margin:15px 0 8px; font-size:14px; line-height:1.5; }
.registration-check input { margin-top:3px; width:18px; height:18px; flex:none; accent-color:#24749c; }
.registration-check a, .registration-success a { color:#226b91; font-weight:800; text-decoration:underline; }
.registration-hint { font-size:13px; margin:8px 0 15px; }
.registration-card button { border:0; border-radius:14px; background:#2478a0; color:#fff; padding:15px 24px; min-height:50px; font:inherit; font-weight:800; cursor:pointer; }
.registration-card button:hover { background:#185f84; }
.registration-error { color:#b4322b; font-size:12px; font-weight:800; }
.registration-error-box { background:#fff0ee; color:#9a2923; padding:14px; border-radius:12px; font-weight:800; }
.registration-success { background:#e9f7e6; padding:24px; border-radius:18px; }
.registration-success h2 { margin:0 0 10px; font-size:22px; }
.registration-trap { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.registration-footer { max-width:1280px; margin:30px auto 0; padding:22px clamp(20px,4vw,56px) 28px; border-top:1px solid #eee2d2; display:flex; gap:20px; justify-content:space-between; color:#66717d; font-size:13px; }
.registration-footer nav { display:flex; gap:16px; }
.registration-footer a { color:inherit; }
.registration-stepper { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin:20px 0 25px; }
.registration-stepper span { background:#f4eee6; border-radius:12px; color:#63707b; padding:11px 8px; font-size:12px; text-align:center; font-weight:800; }
.registration-stepper .active { background:#e7f3fa; color:#226b91; box-shadow:inset 0 0 0 2px #9bd0e9; }
.registration-js [data-step][hidden], [data-claim-fields][hidden], [data-new-place-fields][hidden], [data-ticket-fields][hidden], .registration-actions button[hidden] { display:none!important; }
.registration-mode { display:flex; gap:12px; margin:8px 0 18px; flex-wrap:wrap; }
.registration-mode label { background:#f6f3ed; padding:12px 15px; border-radius:12px; font-size:14px; font-weight:700; }
.registration-mode input { accent-color:#2478a0; }
.registration-subheading { font-size:16px; margin:23px 0 10px; }
.registration-hours { display:flex; flex-wrap:wrap; gap:12px; align-items:center; padding:11px 0; border-bottom:1px solid #eee6dd; }
.registration-hours strong { min-width:75px; }
.registration-hours label { font-size:13px; font-weight:700; }
.registration-hours input { min-height:42px; border:1px solid #d9dce0; border-radius:10px; padding:8px; }
.registration-facilities { display:flex; flex-wrap:wrap; gap:9px; margin:10px 0 20px; }
.registration-facilities label { padding:9px 12px; border-radius:18px; background:#f4eee6; font-size:13px; font-weight:700; }
.registration-facilities input { margin-right:6px; accent-color:#2478a0; }
.registration-wide-label { display:grid; gap:7px; margin:20px 0; font-size:13px; font-weight:800; }
.registration-wide-label input, .registration-wide-label textarea { border:1px solid #d9dce0; border-radius:12px; padding:12px; font:inherit; font-size:15px; font-weight:500; }
.registration-ticket { border:1px solid #eee6dd; padding:13px; border-radius:13px; margin:10px 0; align-items:end; }
.registration-ticket button { background:#f7e6e4; color:#9a2923; font-size:13px; padding:10px; }
.registration-actions { display:flex; gap:10px; justify-content:flex-end; margin-top:18px; }
.registration-actions [data-prev-step] { background:#eaf2f5; color:#226b91; }
@media(max-width:850px) { .registration-layout { grid-template-columns:1fr; } .registration-aside ol { display:none; } .registration-aside h2 { font-size:26px; } }
@media(max-width:550px) { .registration-grid { grid-template-columns:1fr; } .registration-header { min-height:65px; gap:15px; } .registration-header a { font-size:12px; } .registration-wordmark { font-size:23px!important; } .registration-footer { flex-direction:column; } }
