.registration-page{max-width:1180px;margin:0 auto;padding:44px 24px 64px;color:#14234a;overflow-wrap:anywhere}
.registration-page h1{font-size:clamp(28px,4vw,44px);line-height:1.18;margin:18px 0}
.registration-page h2{font-size:24px;line-height:1.25;margin-top:0}
.registration-back{display:inline-block;margin-bottom:24px}
.registration-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:28px;margin-top:28px;align-items:start}
.registration-summary,.registration-details{min-width:0;padding:28px;background:#fff;border:1px solid #e0dfd9;border-radius:18px}
.registration-summary{background:#f7f6f1}
.registration-calendar{list-style:none!important;padding:0!important;margin:20px 0!important}
.registration-calendar li{display:flex;flex-wrap:wrap;gap:6px 14px;padding:10px 0;border-bottom:1px solid #e0dfd9;line-height:1.5}
.registration-calendar li strong{min-width:96px}.registration-calendar li span{min-width:0;font-size:14px}
.registration-price{font-size:30px;font-weight:800}.registration-price small{display:block;font-size:13px;font-weight:400}
.registration-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.registration-form label{display:block;font-size:14px;font-weight:600;min-width:0}
.registration-form input:not([type=checkbox]):not([type=hidden]){box-sizing:border-box;display:block;width:100%;min-width:0;margin-top:7px;padding:13px;border:1px solid #aeb4c0;border-radius:8px;font:inherit;font-size:16px;background:white;color:#14234a}
.registration-form input:focus-visible{outline:3px solid #157a75;outline-offset:2px}
.registration-form [aria-invalid=true]{border:2px solid #a32020!important}
.registration-form label small{display:block;margin-top:6px;color:#a32020}
.registration-form .registration-consent{display:flex;align-items:flex-start;gap:10px;font-weight:400;margin:24px 0;line-height:1.5}
.registration-consent input{flex:0 0 18px;width:18px;height:18px;margin:3px 0 0}
.registration-caption{font-size:13px;line-height:1.5;color:#526079}
.registration-notice,.registration-errors{padding:18px;margin:20px 0;border:1px solid #d7b85c;border-radius:10px;background:#fff8df;line-height:1.55}
.registration-errors{border-color:#bc6767;background:#fff4f3}.registration-errors a{color:#8e1f1f}
.session-availability{display:inline-block!important;width:fit-content;margin:12px 0;padding:7px 12px;border-radius:100px;font-weight:800;font-size:12px;letter-spacing:.04em}
.session-full{color:#8a291f;background:#fbece8}.session-open{color:#0b5953;background:#e5f3ef}
.session-panel .session-select{display:block;text-align:center;padding:14px 16px;border-radius:9px;background:#e8ae27;color:#14234a;font-weight:700;text-decoration:none;margin-top:16px}
.session-panel .session-select:focus-visible{outline:3px solid #157a75;outline-offset:3px}
#sessions{scroll-margin-top:140px}
@media(max-width:700px){.registration-page{padding:28px 16px 44px}.registration-layout{grid-template-columns:minmax(0,1fr);gap:20px}.registration-summary,.registration-details{padding:20px}.registration-fields{grid-template-columns:minmax(0,1fr)}.registration-page .button{box-sizing:border-box;width:100%;white-space:normal;text-align:center}#sessions{scroll-margin-top:110px}}
