﻿/* Application layout. Identity card artwork and selection styles stay in identity-cards.css. */
.registration-page { min-height:100dvh; padding:12px 20px 24px; background:#f4f3ee; color:#36392f; font-family:system-ui,-apple-system,'Segoe UI',sans-serif; }
.registration-brand { max-width:600px; margin:0 auto 24px; font:700 24px Georgia,serif; letter-spacing:-1px; }
.registration-brand span { float:right; padding-top:8px; color:#8b8c81; font:11px system-ui,sans-serif; letter-spacing:1px; }
.registration-sheet { max-width:600px; margin:auto; padding:16px 42px 26px; background:#fffefa; border:1px solid #e5e4db; border-radius:22px; box-shadow:0 12px 44px #393a2510; }
.registration-heading { margin-bottom:30px; }
.registration-eyebrow { display:block; color:#858d70; font:600 10px system-ui,sans-serif; letter-spacing:2.7px; margin-bottom:12px; }
.registration-heading h1 { margin:0; font-size:27px; line-height:1.45; letter-spacing:-.8px; font-weight:600; }
.registration-heading p { margin:9px 0 0; font-size:13px; line-height:1.8; color:#838579; }
.registration-identities .identity-picker { font-family:var(--font-hand); }
.registration-identities { max-width:420px; margin:0 auto 30px; }
.registration-definitions { font-size:12px; line-height:1.9; color:#7c8072; }
.registration-definitions summary,.registration-privacy summary { cursor:pointer; padding:8px 0; text-underline-offset:4px; }
.registration-definitions[open] summary,.registration-privacy[open] summary { color:#4c5d3c; }
.registration-definitions p { margin:10px 0; }
.registration-section { padding:26px 0 12px; border-top:1px solid #e7e8df; }
.registration-section-heading { display:flex; gap:12px; align-items:flex-start; margin-bottom:20px; }
.registration-section-heading > span { padding-top:3px; color:#919b7b; font:italic 18px Georgia,serif; }
.registration-section-heading h2 { font-size:17px; font-weight:600; margin:0; line-height:1.5; }
.registration-section-heading p { font-size:12px; color:#929489; margin:5px 0 0; line-height:1.6; }
.registration-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.registration-field { display:block; min-width:0; margin:0 0 18px; font-size:12px; font-weight:500; color:#62685a; }
.registration-field > input,.registration-field > textarea,.registration-field > select,.registration-field > .select-menu { margin-top:8px; }
.registration-field > input,.registration-field > textarea,.registration-field > select,.registration-field .select-trigger { width:100%; box-sizing:border-box; min-height:47px; padding:12px 14px; border:1px solid #dedfd5; border-radius:10px; background:#f8f9f4; box-shadow:none; font:400 14px/1.55 system-ui,-apple-system,'Segoe UI',sans-serif; color:#343d2e; transition:border-color .18s,box-shadow .18s,background .18s; }
.registration-field > textarea { resize:vertical; min-height:108px; }
.registration-field input::placeholder,.registration-field textarea::placeholder { color:#a0a597; font-weight:400; opacity:1; }
.registration-field > input:hover,.registration-field > textarea:hover,.registration-field .select-trigger:hover { border-color:#bdc6ae; }
.registration-field > input:focus,.registration-field > textarea:focus,.registration-field > select:focus,.registration-field .select-trigger:focus-visible { outline:none; background:#fffefa; border-color:#84966c; box-shadow:0 0 0 3px #84966c19; }
.registration-field > small { display:block; margin-top:6px; font-size:10px; font-weight:400; color:#939888; }
.registration-submit { border-top:1px solid #e7e8df; padding-top:22px; }
.registration-review-note { padding:15px 17px; background:#f1f3e9; border-radius:10px; font-size:12px; color:#566148; }
.registration-review-note b { font-weight:600; }
.registration-review-note p { margin:6px 0 0; font-size:11px; color:#838b77; line-height:1.75; }
.registration-privacy { font-size:11px; color:#838978; line-height:1.8; margin-top:12px; }
.registration-consent { display:flex; align-items:flex-start; gap:10px; min-height:44px; margin:14px 0 0; padding:8px; border-radius:10px; color:#717867; font-size:11px; line-height:20px; cursor:pointer; }
/* The global form skin resets native input appearance.  Give this consent
   control its own complete checked state so it remains both visible and easy
   to tap on touch screens. */
.registration-consent input[type=checkbox] { appearance:none; -webkit-appearance:none; box-sizing:border-box; width:22px; height:22px; padding:0; flex:0 0 22px; margin:0; border:1px solid #bdc8af; border-radius:50%; background:#fffefa; box-shadow:inset 0 1px 1px #fff; cursor:pointer; }
.registration-consent input[type=checkbox]:checked { border-color:#586e45; background-color:#586e45; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m3.2 8.3 2.9 2.8 6.5-6.2' fill='none' stroke='white' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-position:center; background-repeat:no-repeat; background-size:15px; }
.registration-consent input[type=checkbox]:focus-visible { outline:2px solid #586e45; outline-offset:2px; }
.registration-consent:hover { background:#f4f7ef; }
.registration-submit .err { margin:6px 0; min-height:14px; }
.registration-submit-button { display:flex; justify-content:space-between; align-items:center; padding:14px 20px; border-radius:11px; background:#44553b; color:#fffefa; font-size:14px; font-weight:500; box-shadow:none; }
.registration-submit-button:hover { background:#37472f; }
.registration-submit-button span { font-size:21px; font-weight:400; }
.registration-submit-hint { font-size:10px; color:#a0a592; text-align:center; line-height:1.8; margin:11px 0 22px; }
.registration-footer { border-top:1px solid #edeee7; padding-top:20px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; }
.registration-footer .linkbtn { color:#778069; font-size:11px; }
.registration-signoff { text-align:center; font-size:10px; color:#9b9f91; letter-spacing:1px; margin:22px 0 0; }
@media(max-width:520px) { .registration-page { padding:10px 14px 24px; } .registration-brand { margin-bottom:16px; padding:0 5px; } .registration-brand span { font-size:9px; letter-spacing:0; } .registration-sheet { padding:10px 20px 20px; border-radius:18px; } .registration-heading h1 { font-size:23px; } .registration-heading { margin-bottom:24px; } .registration-fields { gap:12px; } .registration-field > input,.registration-field > textarea,.registration-field > select,.registration-field .select-trigger { font-size:16px; padding:11px; } .registration-field input::placeholder,.registration-field textarea::placeholder { font-size:12px; } }
@media(prefers-reduced-motion:reduce) { .registration-field > input,.registration-field > textarea,.registration-field .select-trigger { transition:none; } }

.intake-page { border-radius:18px; min-height:0; padding-bottom:28px; }
.intake-back { display:block; margin:8px 0 26px; color:#788368; font-size:12px; }
.intake-page .registration-heading { margin-top:12px; }

body[data-page-view="intake"] #content { padding:0; margin:0; max-width:none; }
.intake-page .registration-submit-button { background:#44553b!important; color:#fffefa!important; }
