/* MukLib registration layout hotfix v4.9.3
   Keeps the footer at the real end of the document and vertically centers register labels. */

html:has(body.register-page) {
    min-height: 100%;
    background: var(--cream);
}

body.register-page {
    min-height: 100vh;
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
    overflow-x: hidden;
    overscroll-behavior-y: none;
}

body.register-page > .site-header {
    flex: 0 0 auto;
}

body.register-page > main {
    width: 100%;
    min-height: 0;
    flex: 1 0 auto;
    display: flex;
    flex-direction: column;
    overflow-x: clip;
}

body.register-page .auth-page {
    min-height: 0;
    flex: 1 0 auto;
}

body.register-page .auth-layout {
    margin-block: auto;
}

body.register-page .site-footer {
    flex: 0 0 auto;
    margin-top: auto;
}

/* Header registration button: true optical and mathematical vertical centering. */
body.register-page .signup-link {
    min-height: 46px;
    padding-block: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    text-align: center;
}

/* Main form submit button uses the same exact centering model. */
body.register-page .primary-action {
    min-height: 52px;
    padding-block: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1.25;
    text-align: center;
}

@media (max-width: 760px) {
    body.register-page .auth-page {
        padding-top: 22px;
        padding-bottom: 34px;
        align-items: flex-start;
    }

    body.register-page .auth-layout {
        margin-block: 0;
    }

    body.register-page .signup-link {
        min-height: 52px;
        height: 52px;
        padding-inline: 14px;
    }

    body.register-page .primary-action {
        min-height: 54px;
    }
}

@supports not (height: 100dvh) {
    body.register-page {
        min-height: 100vh;
    }
}

/* v5.0.3 — tighter typography rhythm and removal of empty vertical gaps */
body.register-page .auth-page{padding-block:28px 40px}
body.register-page .auth-layout{gap:24px}
body.register-page .auth-intro{padding:22px 26px}
body.register-page .auth-intro h1{margin:10px 0 7px;line-height:1.34}
body.register-page .auth-intro>p{margin:0;line-height:1.75}
body.register-page .auth-benefits{gap:7px;margin-top:14px}
body.register-page .auth-benefits span{padding:9px 12px;line-height:1.55}
body.register-page .auth-card{padding:24px}
body.register-page .auth-card-head h2{line-height:1.45}
body.register-page .auth-card-head p{margin:3px 0 14px;line-height:1.65}
body.register-page .auth-form-grid{gap:11px 12px}
body.register-page .field>span{margin-bottom:4px;line-height:1.45}
body.register-page .field input,
body.register-page .field select{min-height:46px;padding-block:9px;line-height:1.35}
body.register-page .course-selector{margin-top:15px;padding:17px}
body.register-page .course-selector-head h3{margin-bottom:2px;line-height:1.5}
body.register-page .course-selector-head p{line-height:1.65}
body.register-page .course-search{margin:12px 0 7px}
body.register-page .course-choice-groups{gap:12px;margin-top:11px}
body.register-page .course-choice-group{padding-top:10px}
body.register-page .course-choice-group h4{margin-bottom:7px}
body.register-page .primary-action{margin-top:14px}
body.register-page .auth-switch{margin-top:12px;line-height:1.6}

@media(max-width:760px){
  body.register-page .auth-page{padding-block:16px 28px}
  body.register-page .auth-layout{gap:13px}
  body.register-page .auth-intro{padding:8px 6px 12px}
  body.register-page .auth-intro h1{font-size:27px;margin:8px 0 6px}
  body.register-page .auth-benefits{margin-top:11px}
  body.register-page .auth-card{padding:18px 16px}
  body.register-page .auth-card-head p{margin-bottom:11px}
  body.register-page .auth-form-grid{gap:9px}
  body.register-page .course-selector{margin-top:12px;padding:13px}
  body.register-page .course-selector-actions{margin-top:9px}
  body.register-page .course-choice-groups{margin-top:9px;gap:10px}
}
